Package Summary

Tags No category tags.
Version 2.1.1
License BSD
Build type AMENT_CMAKE

Repository Summary

Checkout URI
VCS Type git
VCS Version main
Last Updated 2021-04-13
CI status No Continuous Integration
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Demo ompl constrained planning capabilities

Additional Links

No additional links.


  • Boston Cleek


No additional authors.

MoveIt 2 Logo

MoveIt 2 Beta - OMPL Constrained Planning Demo


Before running the demo add the following lines to ompl_planning.yaml in the panda_config package bellow panda_arm:

enforce_constrained_state_space: true
projection_evaluator: joints(panda_joint1,panda_joint2)


This demo includes a launch configuration for running MoveGroup and a separate demo node.

  • Note: This demo shows how to construct a variety of constraints. See util.cpp for helper functions to automate constructing the constraint messages.

The MoveGroup setup can be started:

ros2 launch run_ompl_constrained_planning

This allows you to start planning and executing motions:

ros2 launch run_move_group


State space selection process

There are three options for state space selection.

  1. Set enforce_constrained_state_space = true AND there must be path constraints in the planning request. This overrides all other settings and selects a ConstrainedPlanningStateSpace factory. If there are no path constraints in the planning request, this option is ignored, the constrained state space is only usefull for paths constraints. At the moment only a single position constraint is supported.

  2. Set enforce_joint_model_state_space = true and option 1. is false, then this overrides the remaining settings and selects JointModelStateSpace factory. Some planning problems such as orientation path constraints are represented in PoseModelStateSpace and sampled via IK. However, consecutive IK solutions are not checked for proximity at the moment and sometimes happen to be flipped, leading to invalid trajectories. This workaround lets the user prevent this problem by forcing rejection sampling in JointModelStateSpace.

  3. When options 1. and 2. are both set to false, the factory is selected based on the priority each one returns. See PoseModelStateSpaceFactory::canRepresentProblem for details on the selection process. In short, it selects PoseModelStateSpace if there is an IK solver and a path constraint.


Changelog for package run_ompl_constrained_planning

2.1.1 (2021-04-12)

  • Update launch files to use ros2 control spawner (#405)
  • Use fake_components::GenericSystem from ros2_control (#361)
  • Fix EXPORT install in CMake (#372)
  • Contributors: Boston Cleek, Jafar Abdi, Tyler Weaver

2.1.0 (2020-11-24)

2.0.0 (2020-05-13)

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

No known dependants.

Launch files

No launch files found


No message files found.


No service files found


No plugins found.

Recent questions tagged run_ompl_constrained_planning at