This stage can be used to add arbitrary user-defined properties w/o modifying the PlanningScene state or adding a trajectory.
Co-authored-by: Robert Haschke <rhaschke@techfak.uni-bielefeld.de>
The cost of a newly created Priority does not need to be finite.
An example occurs in the Pick+Place demo: the CurrentState solution
is filtered by an applicibility test, which may set the cost to infinity
while lifting the solution to the wrapper stage.
In this case, new InterfaceStates are created from the infinite cost solution.
Consequently, the state should be marked as PRUNED.
The scene_diff field usually describes PlanningScene changes of the end scene relative to the start scene.
For backwards planning, this direction is reversed: the start scene is derived from the end scene.
Thus, we need to generate a full planning scene message for the end scene if planning progressed backwards.
Fixes#405.
Joints are handled in trajectories.
Scene diffs should not modify joints during execution.
Fixes#353.
Alternative to #504. The previous solution, to always clear the joint states
during message generation, broke the visualization in rviz.
Need to generate full planning scene message if planning progressed backwards:
The scene_diff field describes PlanningScene changes of the end scene relative to the start scene,
while during planning it might be inversed.
Implements a generic pose randomizer
Co-authored-by: JafarAbdi <cafer.abdi@gmail.com>
Co-authored-by: Sebastian Jahr <sebastian.jahr@picknik.ai>
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.