OMPL Interface

OMPL Optimization Objective Tutorial

Several planners that are part of the OMPL planning library are capable of optimizing for a specified optimization objective. This tutorial describes that steps that are needed to configure these objectives. The optimal planners that are currently exposed to MoveIt! are:

  • geometric::RRTstar
  • geometric::PRMstar

And the following optimization objectives are available:

  • PathLengthOptimizationObjective (Default)
  • MechanicalWorkOptimizationObjective
  • MaximizeMinClearanceObjective
  • StateCostIntegralObjective
  • MinimaxObjective

The configuration of these optimization objectives can be done in the ompl_planning.yaml. A parameter with the name optimization_objective is added as a configuration parameter. The value of the parameter is set to be the name of the selected optimization objective. For example, to configure RRTstar to use the MaximizeMinClearanceObjective, the planner entry in the ompl_planning.yaml will look like:

RRTstarkConfigDefault:
    type: geometric::RRTstar
    optimization_objective: MaximizeMinClearanceObjective
    range: 0.0
    goal_bias: 0.05
    delay_collision_checking: 1

For more information on the OMPL optimal planners, the reader is referred to the OMPL - Optimal Planning documentation.

Open Source Feedback

See something that needs improvement? Please open a pull request on this GitHub page