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.
MoveIt Pro can now collect teleoperation data using the Meta Quest. Check out the Hardware Guide.
Added general vector operations that work on vectors on the blackboard of any type, including GetElementOfVector
, GetSizeOfVector
, InsertInVector
, RemoveFromVector
, ReplaceInVector
, add ResetVector
Behaviors. Uses type BT::Any
.
It's now easier to access the popup forms for new Behaviors and Objectives, with a combined "+" button accessible from both sidebar modes.
InitializeMTCTask
now accepts a timeout
parameter to set an overall timeout for the MTC Task, in seconds.
This is useful for ensuring that the MTC Task does not run indefinitely and can be used to control the execution time of the task.AddTool
→ AddURDF
(deprecated AddTool
still available)AttachTool
→ AttachURDF
(deprecated AttachTool
still available)DetachTool
→ DetachURDF
(deprecated DetachTool
still available)RemoveToolFromScene
→ RemoveURDFFromScene
(deprecated RemoveToolFromScene
still available)AddURDF
behaviorToolChangingCapability
to URDFPlanningSceneCapability
moveit_studio_agent_msgs/srv/AddTool
→ moveit_studio_agent_msgs/srv/AddURDF
moveit_studio_agent_msgs/srv/AttachTool
→ moveit_studio_agent_msgs/srv/AttachURDF
moveit_studio_agent_msgs/srv/DetachOrRemoveTool
→ moveit_studio_agent_msgs/srv/DetachOrRemoveURDF
add_tool_to_scene
→ add_urdf_to_scene
attach_tool
→ attach_urdf
detach_tool
→ detach_urdf
remove_tool_from_scene
→ remove_urdf_from_scene
tool_name
→ urdf_name
tool_urdf
→ urdf_string
tool_pose
→ urdf_pose
objective_library_paths
from the config.yaml for saving new objectives, allowing flexible configuration of where objectives are stored.Enhanced Visualize Pose behavior to display text information in Marker messages for improved debugging and visualization.
MoveIt Pro now supports executing trajectories that make 180 degree turns, which is common in MTC solutions.
So you can now use ConvertMtcSolutionToJointTrajectory
and execute the resulting trajectories with ExecuteFollowJointTrajectory
, even if those contain 180 degree turns.
april_tag_sim
configuration.ValidateTrajectory
PlanCartesianPath
now properly include the start scene.A ton of exciting new UI features are included in this release!
The Interactive Marker (IMarker) teleoperation panel now supports multiple planning groups and end effectors, allowing users to select which planning group to teleoperate.
A long requested feature during development and testing cycles, you can now comment and uncomment individual Behaviors, including entire subtrees of functionality. This aids in easier and faster debugging and development.
By default MoveIt Pro hides ports beyond the top 5, in order to keep the Behavior Tree compact and more viewable. However there are use cases, such as when searching with Ctrl+F or creating documentation, where you might want to expand all ports on each Behavior. You can now use the checkbox to "Show All Ports" in the Behavior Tree editor menu!
Quaternions are not intuitive for humands, but roll pitch yaw is. We've added a popup UI dialog that allows you to enter orientation values instead of Quaternions.
When adding and editing sub-trees, the port descriptions and port types are now UI-visible for sub-tree remapped ports. This makes working with subtrees much more intuitive.
It's now possible to hide the URDF robot model and any visualized point clouds from the visualizer from the newly renamed "View" menu.
You can now edit comments directly in Behavior Tree editor, improving the readability and in-line documentation capabilities of MoveIt Pro.
GetContourFromPointCloudSlice
, which creates a planar contour that is offset around a point cloud slice. This can be used to generate tool paths for surface treatment operations.ReversePoseStampedVector
to reverse the direction of a vector of poses, such as a Cartesian path.CropPosesInBox
to filter a vector of poses, such as a Cartesian path, based on a bounding box.VisualizePath
to accept a name input to visualize multiple paths at once, and to optionally show the poses with orientation axes in addition to the path line.GetMasks2DAction
, ShapeCompletionAction
, and CalibratePoseAction
behaviors.MergePointClouds
Behavior now exposes an option to align the point clouds using ICP when merging them.
This can be used to incrementally register multiple point clouds to each other and minimize the alignment error.SolveIKQueries
Behavior has been updated to use our most recent IK pipeline, and now exposes a new port called check_collisions
to enable or disable collision checking during IK solving.GetImage
behavior to configure how long to wait for an image publisher to advertise.planning_group_name
configuration parameter to the JTAC config, with the name of the
planning group that the JTAC will control. This planning group name must be a valid group defined in the SRDF file.
The joints
config parameter is no longer required, since the JTAC will automatically determine the joints from the
planning group.GetGraspPoseFromPointCloud
to automatically infer grasp poses using machine learning from point clouds.LoadObjectiveParameters
is deprecated and is planned for removal in 9.0.SetAdmittanceParameters
and AppendOrientationConstraint
behaviors' interactive parameter editors in the UI.GetImage
by allowing halting.planning_group_name
parameter, which is the
name of the planning group that the JTAC will control. The joints
and base_frame
parameters are now deprecated.
If your ros2_control.yaml
file defines a Joint Trajectory Admittance Controller, please update it to include the
planning_group_name
parameter. The deprecated joints
and base_link
parameters will be removed in the next major
release.LoadObjectiveParameters
is deprecated and is planned for removal in 9.0.Introducing a more streamlined way to build Behavior Trees using a “+” button directly next to applicable Behaviors, like Sequences
. This button opens a searchable dialog for quickly adding behaviors inline, reducing the need to manually drag nodes in.
You can now easily navigate back to a parent Behavior Tree after drilling into a subtree. Users previously found it unintuitive to use the browser back button.
The new MPCPointCloudClearance
Behavior tracks a pose in real-time while avoiding a point cloud using model predictive control (MPC). An example Objective is now available in lab_sim
.
LoggerROS
class.MPCPointCloudClearance
Behavior tracks a pose while avoiding a point cloud using model predictive control.ForEachUntilSuccess
for iterating through vectors and until the subtree succeeds on an element.ActivateControllers
Behavior has been deprecated in favor of the SwitchController
Behavior, which provides more flexibility in managing controller activation / deactivation.
Please switch to using the SwitchController
Behavior in your applications.Joint Velocity Controller
allows for the control of robot joints using velocity setpoints. It takes as input desired joint velocities in a control_msgs/JointJog
message and computes the next joint positions and velocities to send to the robot, while respecting the robot's joint velocity and acceleration constraints. This controller can be used for collecting ML teleoperation training data, or in conjunction with higher-level closed-loop controllers such as visual servoing or learned policies.control_msgs/JointJog
message and computes the next joint positions and velocities to send to the robot, while respecting the robot's joint velocity and acceleration constraints.
This controller can be used for teleoperation or in conjunction with higher-level closed-loop controllers such as visual servoing or learned policies.PlanCartesianPath
and other Behaviors using Path IK (e.g. SetupMTCMoveAlongFrameAxis
) now support tip links that are not in the planning group, but are descendants of it.LogMessage
behavior don't show as expected in the UI.SetupMTCMoveAlongFrameAxis
would throw an exception under some conditions.ActivateControllers
Behavior has been deprecated in favor of the SwitchController
Behavior, which provides more flexibility in managing controller activation / deactivation.
Please switch to using the SwitchController
Behavior in your applications.controller_names
port) no longer need to be prefixed with a slash.
Existing pipelines will still work with the old format for backwards compatibility, but it is recommended to use the new format for consistency, e.g. controller_names="/joint_trajectory_controller"
should be changed to controller_names="joint_trajectory_controller"
.
This change will be enforced in the next breaking release (9.0).Feeling crunched on screen space, but have multiple monitors? There is now a "New Window" option in the settings menu that opens MoveIt Pro in a new tab. This is useful, for example, in having one screen for editing and monitoring large Behavior Trees, and a second screen for monitoring camera feeds and visualizations. Note: it is recommended that you don't have the same view pane type open on multiple windows, as there are currently some known limitations.
There is now a button to switch between full screen and windowed mode in the settings menu, allowing for more screen space and enhancing usage as a robot operator terminal.
GeneratePointToPointTrajectory
can now take a target_state
that contains a subset of the joints in the
planning group. The positions and velocities of all joints not included in the target_state
will be set to the
start_state
values.CallTriggerService
Behavior.waitForServerAvailableTimeout
configurable in ServiceClientBehaviorBase
through optional getWaitForServerAvailableTimeout function.moveit_pro_ml::DiffusionPolicy
to the moveit_pro_ml
package. This class exposes an interface for running a diffusion policy to generate trajectories.moveit_pro run
is called.CreateJointState
behavior where the created RobotJointState did not contain the names the user specified on the 'names' input port.moveit_core
and moveit_ros_planning
targets. No migration is required.planning_group_name
configuration parameter to the VFC config, with the name of the planning group that the VFC will control.
This planning group name must be a valid group defined in the SRDF file.
The joints
config parameter is no longer required, since the VFC will automatically determine the joints from the planning group.planning_group_name
parameter, which is the name of the planning group that the VFC will control.
The joints
and base_link
parameters are now deprecated.
If your ros2_control.yaml
file defines a Velocity Force Controller, please update it to include the planning_group_name
parameter.
The deprecated joints
and base_link
parameters will be removed in the next major release.This hotfix was released on July 30, 2025.
PlanCartesianPath
debug solution only if output port is set.