Skip to main content
Version: 8

Planners and Solvers

In this high level concepts page we discuss the different planners, solvers, and controllers that are in MoveIt Pro. This page is intended to dive in deeper beyond the higher level overview of motion planning in Tutorial 4.

Controller API Documentation

Our API documentation describes specific controllers such as the Joint Trajectory Admittance Controller, Velocity Force Controller, or Joint Velocity Controller.

ProRRT

The ProRRT planner is a sampling-based planning algorithm based on the Rapidly-exploring Random Tree (RRT) Connect algorithm that is designed to efficiently find a path between a start and goal configuration in a configuration space. An example of this is below:

ProRRT Example

It is optimized for high-dimensional spaces and can handle complex constraints.

There is no concept of 'cost' in ProRRT, other than infinite cost on paths that collide.

Behaviors utilizing ProRRT include our MTC labeled Behaviors such as SetupMTCPlanToJointState, and other standalone planning Behaviors such as PlanToJointGoal.

Cartesian Planning

The Cartesian planner in MoveIt Pro utilizes a variety of solvers such as Path Inverse Kinematics and Velocity Inverse Kinematics to achieve Cartesian velocities and paths with desired end-effector positions in Cartesian space.

tip

To see more about our Inverse Kinematics algorithms, check out Computing Inverse Kinematics.

Behaviors utilizing Cartesian Planning include PlanCartesianPath.

Pose Inverse Kinematics

Our PoseIK implementation is used to determine specific Poses of a chain of links.

This is the Solver utilized in most teleoperation modes and the above mentioned ProRRT Planner.

tip

MoveIt Pro can be configured to incorporate custom planners by wrapping them into Custom Behaviors. E.g. to integrate cuMotion, you would pull the cuMotion libraries in your workspace and write your own custom "PlanWithCuMotion" Behavior.