Debug MTC Planning Pipelines
MoveIt Task Constructor (MTC) planning pipelines perform a large-scale search for feasible solutions across numerous candidates. Some candidates are expected to fail (e.g., due to unreachable targets), while others may succeed. MTC systematically explores all options to determine a sequence of feasible steps needed to complete the task.
When MTC fails to find a solution —or even when it succeeds— introspecting intermediate solutions and identifying points of failure is often essential. MoveIt Pro provides basic MTC debugging capabilities to visualize the planning pipeline at a high level. For more advanced debugging, RViz2 can be used. The following sections describe these options in more detail.
Visualize the details of an MTC Plan, within MoveIt Pro
MTC pipelines are planned with the PlanMTCTask
Behavior (see the Pick and Place tutorial using MTC for details).
Once that Behavior is executed, the details of the candidates that MTC evaluated are available for introspection.
To visualize them, click on the top-left icon of the PlanMTCTask
Behavior:
That will open a different UI view, allowing you to see the various stages that make up the pipeline, the number of successful and failed solutions at each stage, their costs, and even visualize some of the intermediate steps:
MoveIt Pro's MTC Debugger can be used for a high-level introspection of the pipeline. For deeper analysis and debugging we recommend to use the RViz2 MTC Plugin, described next.
More advanced debugging with RViz2 and the MTC plugin
For more advanced MTC debugging, the RViz2 MTC plugin is the best option. MoveIt Pro makes it easy to open an RViz2 session with the plugin already configured, just run:
moveit_pro rviz
That will open RViz2, with the MTC Debugger already enabled:
You will see something very similar to MoveIt Pro's MTC Debugger, but now you can get more details about the inputs and outputs of every stage. In addition, the RViz2 MTC plugin will keep a history of all the plans being solved, so you can easily go back in the history to introspect previous plans.