Skip to main content

8.8.0

· 7 min read

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.

Whole body admittance with multiple tips

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 transparent SetupMTCConnectWithTrajectory Behavior.
  • Added the RemovePointsInBox Behavior to complement CropPointsInBox.
  • 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 the moveit_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 for GetContourFromPointCloudSlice, or for creating a bounding CollisionObject with CreateSolidPrimitiveBox and CreateCollisionObjectFromSolidPrimitive.
  • Added the StringToInt Behavior, which converts a string to an int.

Behavior Changes

  • Path Inverse Kinematics Behaviors (PlanCartesianPath and SetupMTCPathIK) now expose a max_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 core Move to Pose Objective. Approval is enabled by default; set require_user_approval="false" to bypass the approval step.
  • The ServoTowardsPose and TeleoperateTwist Behavior have been deprecated in favor of PoseJog.
  • The GetGraspAndTwistSubframes and GetMoveAlongArcSubframes Behaviors have been deprecated for being too specialized and because similar functionality can be achieved with more granular Pose-manipulation Behaviors.
  • The InitializeMotionConstraints and AppendOrientationConstraint Behaviors have been deprecated in favor of orientation constraint ports built into planning behaviors.
  • The WriteCalibratedPoseToYaml Behavior has been deprecated in favor of SaveToYaml converter Behaviors.
  • The GenerateObjectsInBox Behavior has been deprecated as we wind down support for the GraspableObject type. Objects can be created directly in the simulated environment as needed.
  • The AddSubframeToObject Behavior has been deprecated as we wind down support for the GraspableObject type. Similar functionality can be achieved with PoseStamped-related Behaviors.
  • Added a subtree port mesh_name to the VisualizeMesh 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, and ReplaceInVector
  • 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 and ee_frame parameters have been deprecated in favor of sensor_frames and ee_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 your ros2_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, where sensor_name is the name of each sensor as specified in the sensor_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 new SetupMTCConnectWithProRRT Behavior, which provides more direct access to ProRRT-specific planning parameters. Please switch to using the SetupMTCConnectWithProRRT Behavior in your applications. The deprecated Behavior will still work but will be removed in a future release.