... 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>
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.
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>
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
* improve demo rviz config
- orbit view centered at workspace instead of 2d orbit
- REALTIME trajectory display
* FixedState: setter for ignore_collisions property
* Fix clearance_cost demo
- verify default state
- use model frame over virtual "world" which is not known in fresh PlanningScene
- ignore initial collisions with the IK seed
* improve documentation in Fallbacks demo
- Declare CollisionObject argument as constant:
Internally the argument is temporarily modified, but for a caller it is effectively const.
- Correctly restore the old operation mode
- Fixup check in unit test
This method was only doing half of the job, namely adding subsolutions
to the message fields. However, the start_scene was not yet written.
This was handled manually in some but not all callers.
To avoid this inconsistency, the new method toMsg() takes care of both
actions now, while the old fillMessage() method was renamed to appendTo().