... 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>
Looks like Rolling's MoveIt uses a more relaxed goal constraint threshold than Humble.
For this reason, all end states reached by Connect solutions of pick+place demo are rejected.
This commit relaxes the max_distance threshold of Connect accordingly.
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