The preempt_request_ flag was only checked at the top-level task container before each compute iteration.
As a single sweep might take a while, we should check the flag before computing each stage.
Calling preempt() before plan() is able to reset the preempt_requested_ flag causes the preemption request to get lost. To avoid this issue, we allow a) manual resetting of the request and b) reset the request before leaving plan().
- Unify move_to.launch.py and test_task_model.launch.py
- Rename them to test.launch.py as they are independent of the executable
- Move Node creation to the fixture constructor
- Replace Task::setRobotModel(loadModel()) with Task::loadRobotModel()
... to illustrate that MoveRelative's min-max constraint fails with PipelinePlanners (e.g. Pilz) returning a partially invalid trajectory: MTC does not truncate the trajectory to its valid part and thus fails, even if the valid part fits the given min-max range. This logic is only supported for the CartesianPath planner for now.
Co-authored-by: Robert Haschke <rhaschke@techfak.uni-bielefeld.de>
* Refactor pipeline planner
Make code readable
Re-order plan functions
Make usable with parallel planning
Enable configuring multiple pipelines
Add callbacks
Cleanup and documentation
Add API to set parallel planning callbacks and deprecate functions
Pass pipeline map by reference
Small clang-tidy fix
Update core/src/solvers/pipeline_planner.cpp
Co-authored-by: Sebastian Castro <4603398+sea-bass@users.noreply.github.com>
Update core/src/solvers/pipeline_planner.cpp
Format
Refactor to avoid calling .at(0) twice
Use no default stopping criteria
Update fallbacks_move demo
* Cleanup + address deprecation warnings
* Enabling optionally using a property defined pipeline planner map
* Address review
* Disable humble CI for ros2 branch
* Add pipeline planner unittests + some checks
* Add short comment
When adding pending state pairs for a new incoming state to Connect,
we have to re-enable opposite states from ARMED state.
This changes the order of states in the interface.
If we do this while iterating over the states, we might add pairs multiple times,
because iteration continues with same state at an earlier position.
- Add Stage::introspection() accessor
- Introspection: debug-log solution registration
- RemoteSolutionModel: show internal solution id as tooltip in 1st column