8.10.0
Major Features
MoveIt Pro Core

A new sub-product is now available (additional costs apply) that exposes the core MoveIt Pro planners, solvers, and controllers with low-level C++ and Python APIs. It does not include Behavior Trees nor much of the rest of MoveIt Pro's capabilities. Learn more..

Behavior Tree Editor Sync with IDE
Now when you edit a Behavior Tree XML file in your IDE / text editor of choice, the changes are automatically refreshed in the MoveIt Pro UI.

URDF to MJCF Converter
The urdf_to_mjcf makes it easier to convert between different robot model types - ROS' URDF and MuJoCo's MJCF format.

Enhanced Segment Anything Model Support
The new Behavior GetMasks2DAutomask uses the SAM2 model to automatically segment images using a grid of points as prompts. You can see an example of how this is utilized in the factory_sim robot configuration package.

New Task Constructor Execution Behavior
A new Behavior ExecuteMTCSolution is available to execute a pre-computed MTC solution trajectory on a robot. This Behavior will replace the existing ExecuteMTCTask Behavior, as we advance towards a leaner execution pipeline.
ExecuteMTCSolution offers two controller interfaces: one for standard 'FollowJointTrajectory' controllers (e.g. ros2_control JTC), and another for the Joint Trajectory Admittance Controller (JTAC) included in MoveIt Pro.
This allows users to easily execute MTC solutions with or without admittance control, and simplifies integration with other vendor controllers different than the ros2_control JTC, but offering the same FollowJointTrajectory action interface.

Other Enhancements
Misc UI Changes
- Added new multi step modal for splitting workflows into distinct steps for the Custom Behavior Creation flow.
Reference Application Changes
- Franka Robotics dual arm model URDFs updated
Documentation Improvements
- Improvements to Configure ROS 2 DDS documentation updating our recommendation for "dual computer" configurations.
Other Improvements
- The TF2 utility
tf2-toolsis now automatically installed and available in the MoveIt Pro container. - Enables graph optimization for ONNX runtime, increasing ML inference performance
- Model predictive control functionality now has sphere residuals and associated Behavior for the residual.
- Updated NVIDIA driver version recommendations to >= 525 and < 580
- The Behavior Tree Assistant LLM models have been upgraded to Claude Opus 4.5, Gemini 3 Pro, and GPT-5.1 Codex.
- Various license check and security improvements.
Bug Fixes
- Fixed an issue where tight tolerances in ProRRT orientation constraints caused a misleading error message.
- Joint-space planning Behaviors (such as
PlanToJointGoal) will now properly report when goal states are outside of the given orientation tolerance. - Alert Sidebar logs each Objective run, even if there's no alerts
- Waypoint manager node no longer fails to start when the waypoints YAML file is empty
- Fixed a bug where the MTC Debugger in the UI will crash when opened.
- Fixed a bug in the
AddVirtualObjectToPlanningSceneBehavior where virtual objects were incorrectly set to allow collisions with all other objects by default.
8.9.1
Bug Fixes
- Fixed Behavior Tree not saving when only edges changed
- Only show expand/collapse button on control nodes that have children
- Added missing error message title for joint limits
- Fixed toast messages briefly appearing over the Alert History sidebar
8.9.0
Major Features
Alert Message History Sidebar
Added a toast message history list into a sidebar to view past errors, warnings, and info messages. Supports search and respects current log level settings.

Visualize TF Transform Frames
Added a Visualize TF Objective to visualize any transform frame known to ROS' tf2 in the UI.
This can be used in your Behavior Trees to help with debugging and visualization of coordinate frames.

It requires core visualization Objectives to be enabled in the robot configuration package config.yaml file, for instance:
objectives:
...
objective_library_paths:
...
visualization_objectives:
package_name: "moveit_pro_objectives"
relative_path: "objectives/visualization"
Expand/Collapse Sequence Nodes
Added a collapse/expand button for Sequence nodes, similar in functionality to Subtrees.

Enhanced Behavior Tree Node Coloring
Added a visual difference in Behavior Trees to distinguish between the currently editable Behavior Tree nodes and non-editable Subtree nodes.

Prevent Accidental Keepout Zone Clicking
Added a lock/unlock toggle next to the "Add Keepout Zone" button to disable unintentional user interaction with collision keepout zones.

Other Enhancements
Misc UI Changes
- Added dropdown with multiselect for
tip_linksinPlanCartesianPathand other Behaviors requiring tip_links as input. - Updated the color scheme of nodes in Behavior Trees, and added a unified two-layer theming system with a scalable color palette and semantic tokens.
Behavior Changes
-
The Joint Trajectory Admittance Controller (JTAC), and corresponding Behavior
ExecuteTrajectoryWithAdmittance, can now be used without defining the admittance parameters. In this case, the controller will execute the trajectory without admittance control, making it equivalent to a standard Joint Trajectory Controller. This makes it easier to use the JTAC in applications that do not require admittance control. -
The Path IK MTC Stage (e.g.
SetupMTCPathIK) now generates partial trajectories, for visualization purposes, when the full path is not feasible. This allows users to see how far along the path the IK solver was able to compute valid waypoints before encountering an issue such as joint limits or collisions. -
Fixed Tutorial 1 to use the updated name
ML Segment ImageObjective and image.
Other Improvements
- The pose_jog configuration file (pose_jog.yaml) is now required.
Bug Fixes
- Fixed a bug in the Joint Trajectory Admittance Controller (JTAC) where joint angles in trajectory messages were assumed to be in the same order as the controller's internal joint order. The controller now correctly respects the
joint_namesfield in theJointTrajectorymessage and reorders joint values accordingly. RecordJointTrajectoryimproved to better handle multithreaded service callbacks and creation to prevent race conditions.- Fixed issue causing an Objective tree to be saved multiple times when opened without applying modifications.
8.8.1
Other Improvements
- Added the
Convert CollisionObject To GraspableObjectObjective to the list of core MoveIt Pro Objectives.
Bug Fixes
- If we run
moveit_pro configureand thenmoveit_pro buildduring a first-time install, we notify the user that workspace has no packages and exit. - Removed unrelated Objectives instantiation errors when running an Objective.
- Fixes Behavior
GetGraspableObjectFromMasks3Dwhere it would fail to generate a graspable object from a valid point cloud by selecting pcl clustering method for unorganized point clouds. - Fixed a bug when the robot fault status changed the protective stop modal rendering would crash the UI
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.
8.7.1
Bug Fixes
- Fixed a python
ImportErrorfor the nameAnythat shows when installing MoveIt Pro.
8.7.0
Major Features
LLM Behavior Tree Builder
We’re excited to announce a new and easier way to build Behavior Trees in MoveIt Pro using Large Language Models. A built-in text prompt is now directly in the UI, that instantly generates complete Behavior Trees. This dramatically accelerates the creation of Objectives, reducing setup time and making it easier to prototype and deploy complex robotic workflows.

Time scaling for Joint Trajectory Admittance Controller
The Joint Trajectory Admittance Controller now supports time scaling, allowing users to adjust the speed of trajectory execution dynamically.
This feature can be used to slow down or speed up the execution of trajectories during execution, even pausing it completely if needed.
The time scaling is controlled using the joint_trajectory_admittance_controller node parameter named time_scale_percentage, which accepts values between 0.0 and 100.0, where 100.0 means full speed (no time scaling), and 0.0 means stop.
Values in between will slow down the trajectory execution proportionally.

Use Path Inverse Kinematics in MTC
Added a new Behavior SetupMTCPathIK that allows users to set up a MoveIt Task Constructor (MTC) Path IK stage, which computes a joint-space trajectory to follow a specified path in Cartesian space.
This stage can be used to perform Cartesian motions along a path defined by a vector of PoseStamped messages, and combine it with other MTC stages for more complex Behaviors.

Ability to resize the sidebar and the view panes
You can now manually adjust the width and height of the various panes and sidebars in MoveIt Pro, allowing you to better fit your camera feed dimenetions and other data sources on the screen.

Added recursive delete option for Behavior Tree nodes and their children
Annoyed at having to tediously delete every node in your Behavior Tree? Now when you delete a parent node, all its children are automatically deleted also (with the exception of Subtrees).

Added visual highlighting for ports with matching values in the Behavior Tree editor
Wanted to better see how your port variables and data flows through your Behavior Tree? Automatic port highlighting makes this easier to see visually!

Bin Picking Reference Application
Two new example pick and place Objectives have been added to the factory_sim robot configs, as easy to use reference applications. They are called Pick Brackets from Left Bin and Pick and Place Brackets from Left Bin. These Objectives demonstrate basic examples of picking automotive brackets from a bin, placing them precisely on a jig, waiting until a task is completed, and then picking and dropping them in another bin.

Other Enhancements
UI Changes
- Invalid Behavior Tree XML in Objectives will now show the reason they are invalid while being edited in the UI.
- Added
file_pathinformation to Edit Objective form - Added license information to About information modal
- 3D Visualization: Added "Gridlines" toggle to the View menu, allowing users to control gridlines visibility in the 3D visualization. This gives users full control over gridlines display regardless of Nav2 occupancy grid status.
New Behaviors
SetupMTCPathIK: Sets up a MoveIt Task Constructor (MTC) Path IK stage to compute a joint-space trajectory to follow a specified path in Cartesian space. This is the equivalent ofPlanCartesianPathfor MTC tasks.- Added a core Subtree called
Track Moving Framethat can be used in Objectives to track a moving frame in Cartesian space. This can be helpful for applications like data collection (e.g. tracking a remote controller pose) or visual servoing. See our Meta Quest Teleoperation Hardware Guide. ConvertTransformStampedToPoseStamped: Converts aTransformStampedmessage into aPoseStampedmessage. Handy for theGetLatestTransformBehavior.CreateSolidPrimitiveBox: Creates a box-shapedshape_msgs::msg::SolidPrimitivemessage.CreateCollisionObjectFromSolidPrimitive: Creates amoveit_msgs::msg::CollisionObjectfrom ashape_msgs::msg::SolidPrimitive, pose, and object ID.
Behavior Changes
- Added a service called
/verify_xmlthat allows verifying the content of a Behavior Tree XML file against your currently-loaded Behaviors and Objectives. - Moved the
BreakpointSubscriberBehavior from the "Control Flow" category to the "User Input" category to better reflect its purpose as a user interaction tool for controlling breakpoint flow during Objective execution. - Change segfault output of ML Behaviors to use a less noisy toast message and output exception to console.
Reference Application Changes
- Added a "Stack Blocks with ICP" example Objective to show how the
RegisterPointCloudsBehavior can be used and what transform steps are required. - Added example of planning Cartesian paths on curves
Documentation Improvements
- Added comprehensive Doxygen documentation for the PlanningSceneMonitor class, providing detailed technical reference for developers integrating with MoveIt Pro's planning scene monitoring capabilities.
- Added Hardware Guide for How to set up the Meta Quest for Teleop
- Added Hardware Guide for How to set up FANUC CRX hardware using new
moveit_pro_fanuc_configworkspace - Improved Hardware Guide for How to set up UR hardware using new
moveit_pro_ur_configworkspace - Expanded and refactored the Teleoperation Overview page to provide comprehensive coverage of all teleoperation methods, including UI-based teleop (Joint Jog, Pose Jog, Interactive Markers, Waypoints) and hardware-based teleop (game controllers, Haply haptic devices, Meta Quest VR).
- Added extensive detail to the "Creating a Custom Robot Configuration" How-To on customizing teleoperation for a robot.
- Expanded the Planning Scene concept page to add information about the ACM and joint groups.
- The Visual Servoing documentation has been modernized to use the
PoseJogBehavior instead of the deprecatedServoTowardsPose, featuring thespace_satellite_simconfiguration with a real-world satellite grappling example. - Adds reference to "Stack Blocks with ICP" example Objective to Perception & ML tutorial.
- Added section to Tutorial 3 documenting the LLM-powered Behavior Tree Builder feature, including setup instructions for API keys, usage examples, and best practices for testing and refining generated Objectives.
Other Improvements
- When editing an Objective, nodes that are part of a Subtree can now be copied and pasted.
- Old dangling docker images from running
moveit_pro devare now removed automatically, saving disk space.
Bug Fixes
- Addressed a performance issue where the blackboard pane in the UI would re-render even when the blackboard did not change.
- Fixed an issue where commands in the MoveIt Pro shell do not wrap correctly.
- Improved the performance of the Visualization pane when multiple collision objects and/or attached collision objects are present.
- Fixes an issue where newly created Objectives are always added to a directory called
objectives/as opposed to respecting therelative_pathfield in theobjective_library_pathssection of a config'sconfig.yamlfile. - When there is an error in the creation of a Behavior Tree, the previous tree will not be displayed.
Migration Guide
- The
ServoTowardsPoseBehavior has been marked as deprecated and will be fully removed in a future release. Users should migrate to thePoseJogBehavior, which provides safer Cartesian motion with collision avoidance and singularity handling. - The Behavior
SetupMTCMoveToNamedStatehas been deprecated and will be removed in a future release. Please useRetrieveWaypointandSetupMTCMoveToJointStateto achieve the same functionality.
8.6.2
Bug Fixes
- Fixed version mismatch in 8.6.1 falsely reporting as 8.6.0 in the UI and causing a warning to occur about updating unnecessarily.
8.6.1
Reference Application Changes
- Adds pick and place Objectives in factory_sim "Pick Brackets from Left Bin" and "Pick and Place Brackets from Left Bin" which demonstrate basic examples of picking automotive brackets from a bin, placing them precisely on a jig, waiting until a task is completed, and then picking and dropping them in another bin.