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.