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.
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:
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.
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.
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.