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
IsObjectAttachedTo
Behavior that returns success if the given collision object name is attached to the given link. - Added the
SetupMTCConnectWithProRRT
Behavior 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 transparentSetupMTCConnectWithTrajectory
Behavior. - Added the
RemovePointsInBox
Behavior to complementCropPointsInBox
. - Added the
ResetMujocoKeyframe
Behavior 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::MujocoBehaviorsLoader
plugin. - Added the
GetOrientedBoundingBoxFromPointCloud
Behavior 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 boundingCollisionObject
withCreateSolidPrimitiveBox
andCreateCollisionObjectFromSolidPrimitive
. - Added the
StringToInt
Behavior, which converts a string to an int.
Behavior Changes
- Path Inverse Kinematics Behaviors (
PlanCartesianPath
andSetupMTCPathIK
) now expose amax_optimizer_iterations
parameter 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_approval
to the coreMove to Pose
Objective. Approval is enabled by default; setrequire_user_approval="false"
to bypass the approval step. - The
ServoTowardsPose
andTeleoperateTwist
Behavior have been deprecated in favor ofPoseJog
. - The
GetGraspAndTwistSubframes
andGetMoveAlongArcSubframes
Behaviors have been deprecated for being too specialized and because similar functionality can be achieved with more granular Pose-manipulation Behaviors. - The
InitializeMotionConstraints
andAppendOrientationConstraint
Behaviors have been deprecated in favor of orientation constraint ports built into planning behaviors. - The
WriteCalibratedPoseToYaml
Behavior has been deprecated in favor ofSaveToYaml
converter Behaviors. - The
GenerateObjectsInBox
Behavior has been deprecated as we wind down support for theGraspableObject
type. Objects can be created directly in the simulated environment as needed. - The
AddSubframeToObject
Behavior has been deprecated as we wind down support for theGraspableObject
type. Similar functionality can be achieved withPoseStamped
-related Behaviors. - Added a subtree port
mesh_name
to theVisualizeMesh
behavior, 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
/DetachURDF
behaviors 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.
Bug Fixes
- Fixes issue where
GenerateCuboidGraspPoses
was using Y parameter as X parameter. - Fixed an issue where
MergePointClouds
could miss points under certain conditions. - Fixes issue where setting
CYCLONEDDS_URI
to 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_frame
andee_frame
parameters have been deprecated in favor ofsensor_frames
andee_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.yaml
file, 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_fts
service name exposed by the JTAC to tare the force sensor has been updated to~/zero_fts/sensor_name
, wheresensor_name
is the name of each sensor as specified in thesensor_frames
parameter. 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
SetupMTCConnectWithTrajectory
Behavior has been deprecated in favor of the newSetupMTCConnectWithProRRT
Behavior, which provides more direct access to ProRRT-specific planning parameters. Please switch to using theSetupMTCConnectWithProRRT
Behavior in your applications. The deprecated Behavior will still work but will be removed in a future release.