8.8.0
Major Features
Multi-tip Joint Trajectory Admittance Controller
Added support for multi-tip robots in the JTAC. This allows users to control robots with multiple end-effectors (tips) with different admittance properties for each tip / chain. This feature is only available when interfacing directly with the JTAC via ROS2 interfaces, and is not yet supported in MoveIt Pro Behaviors or Objectives.

Easier Robot Setup Command Line Interface (CLI) Tools
Create Robot Configuration Packages via CLI Command
The moveit_pro new config command allows you to quickly create robot configuration packages from a template.
This simplifies the process of setting up a new robot, automatically setting up the proper file structure and dependencies.

Create Active Collision Matrix via CLI Command
The moveit_pro update_acm command generates Allowed Collision Matrix (ACM) entries for SRDF files. This tool analyzes robot geometry and kinematics to identify link pairs that should have collision checking disabled. Can be run from inside the MoveIt Pro dev container or from the host, and works with both URDF and xacro files mounted in the user workspace.

Other Enhancements
Misc UI Changes
- Joint jog teleoperation speed scaling now applies consistently to both joint teleoperation modes: joint velocity (+/- buttons) and joint position (click and drag slider).
- Add notices to deprecated Behaviors indicating they will be removed in a future release.
- Behavior deprecation warnings are now in the description popup.
- Port text boxes now wrap to multi-line if necessary.
- Parent Objective is now listed first in the Blackboard.
- All toast message types are enabled by default, including INFO.
New Behaviors
- Added the
IsObjectAttachedToBehavior that returns success if the given collision object name is attached to the given link. - Added the
SetupMTCConnectWithProRRTBehavior that sets up a MoveIt Task Constructor (MTC) Connect stage to connect the end state of the previous stage with the start state of the next stage using a freespace trajectory with the ProRRT planner. This Behavior exposes ProRRT-specific planning parameters for fine-tuned control and is intended to replace the less transparentSetupMTCConnectWithTrajectoryBehavior. - Added the
RemovePointsInBoxBehavior to complementCropPointsInBox. - Added the
ResetMujocoKeyframeBehavior that calls a service via the MuJoCo simulation API to reset the MuJoCo simulation state to a named keyframe. The keyframe must be defined in the MuJoCo scene model. This Behavior is available in themoveit_studio::behaviors::MujocoBehaviorsLoaderplugin. - Added the
GetOrientedBoundingBoxFromPointCloudBehavior that finds the oriented bounding box (OBB) of a point cloud. This can be used for point cloud processing tasks, such as localizing slice planes to the point cloud forGetContourFromPointCloudSlice, or for creating a boundingCollisionObjectwithCreateSolidPrimitiveBoxandCreateCollisionObjectFromSolidPrimitive. - Added the
StringToIntBehavior, which converts a string to an int.
Behavior Changes
- Path Inverse Kinematics Behaviors (
PlanCartesianPathandSetupMTCPathIK) now expose amax_optimizer_iterationsparameter to control the maximum number of internal optimizer iterations performed at each path waypoint. A larger number of iterations can improve the accuracy of the solution and the nullspace response, at the cost of increased computation time. - Added a subtree port
require_user_approvalto the coreMove to PoseObjective. Approval is enabled by default; setrequire_user_approval="false"to bypass the approval step. - The
ServoTowardsPoseandTeleoperateTwistBehavior have been deprecated in favor ofPoseJog. - The
GetGraspAndTwistSubframesandGetMoveAlongArcSubframesBehaviors have been deprecated for being too specialized and because similar functionality can be achieved with more granular Pose-manipulation Behaviors. - The
InitializeMotionConstraintsandAppendOrientationConstraintBehaviors have been deprecated in favor of orientation constraint ports built into planning behaviors. - The
WriteCalibratedPoseToYamlBehavior has been deprecated in favor ofSaveToYamlconverter Behaviors. - The
GenerateObjectsInBoxBehavior has been deprecated as we wind down support for theGraspableObjecttype. Objects can be created directly in the simulated environment as needed. - The
AddSubframeToObjectBehavior has been deprecated as we wind down support for theGraspableObjecttype. Similar functionality can be achieved withPoseStamped-related Behaviors. - Added a subtree port
mesh_nameto theVisualizeMeshbehavior, so we can reuse the same mesh by giving different names.
Reference Application Changes
- Improved the dual arm Franka example robot config to include a table and new pick and place examples
- Renamed the single arm Franka example to
kitchen_sim
Documentation Improvements
- Added MoveIt Task Constructor (MTC) concept page to the Concepts section, providing comprehensive documentation on MTC's core concepts, planning stages, integration with MoveIt Pro, and best practices for complex manipulation tasks
- Added AI-powered chat support to documentation pages using InKeep, providing instant assistance and answers about MoveIt Pro directly within the docs interface
- Added Long Term Support (LTS) release process documentation to Deployment, Commissioning, and Fleet Management page, clarifying release cycles and support timelines for Ultimate customers.
- Added comprehensive how-to guide for vector manipulation in Behavior Trees, covering all vector Behaviors:
ResetVector,GetElementOfVector,GetSizeOfVector,InsertInVector,PushBackVector,RemoveFromVector, andReplaceInVector - Added how-to guide for Setting Up Third Party Simulators covering integration approaches for simulators like Isaac Sim and Gazebo
- Added how-to guide for Behavior Tree Editor Keyboard Shortcuts covering all available keyboard shortcuts for efficient Behavior Tree editing, including platform-specific commands for Windows/Linux vs macOS
- Added troubleshooting guide entry for oversaturated or blown out robot models in MuJoCo simulations, explaining how lights in Collada files can cause visual issues and linking to MuJoCo lighting documentation
- Updated tool changing and planning scene documentation to reference modern
AttachURDF/DetachURDFbehaviors instead of deprecated tool-specific behaviors
Other Improvements
- Made CLI install prompts consistently bold for better visibility and user experience.
- Blackboard variables containing large vectors (more than 20 elements) won't be serialized anymore to avoid performance issues in the Blackboard Publisher. These will show up as "too many elements to serialize" in the JSON output.
- Users no longer need to install CUDA packages in workspace Dockerfiles as a base image with CUDA is now automatically selected if an Nvidia GPU is detected.
Bug Fixes
- Fixes issue where
GenerateCuboidGraspPoseswas using Y parameter as X parameter. - Fixed an issue where
MergePointCloudscould miss points under certain conditions. - Fixes issue where setting
CYCLONEDDS_URIto a value that is not a path on the host computer would crash the application with an unhelpful error message. - Fixes disappearing tool when attached to the robot.
Migration Notes
-
The JTAC
sensor_frameandee_frameparameters have been deprecated in favor ofsensor_framesandee_frames, which accept a list of strings to support multi-tip robots. The old parameters will still work but will be removed in a future release. If you have a Joint Trajectory Admittance Controller configured in yourros2_control.yamlfile, please update it to use the new parameters. Here's an example of the new configuration, for a robot with a single tip:sensor_frames: ["sensor_frame"]
ee_frames: ["ee_frame"] -
The
~/zero_ftsservice name exposed by the JTAC to tare the force sensor has been updated to~/zero_fts/sensor_name, wheresensor_nameis the name of each sensor as specified in thesensor_framesparameter. This change allows for multiple force sensors to be used with the JTAC. If you have any scripts or Behaviors that call this service, please update them accordingly. -
The
SetupMTCConnectWithTrajectoryBehavior has been deprecated in favor of the newSetupMTCConnectWithProRRTBehavior, which provides more direct access to ProRRT-specific planning parameters. Please switch to using theSetupMTCConnectWithProRRTBehavior in your applications. The deprecated Behavior will still work but will be removed in a future release.