8.1.0
In this release we focused on stability fixes and burning down a lot of "tech debt."
Major Features
Full Screen View Pane
A new button was added that fullscreens each view pane to allow zooming in.

Camera Calibration Procedure
New Behaviors, Objectives, and how-to guide were added to support camera pose calibration.

Model Predictive Control (MPC) Now Available
Your robots can now plan motions by simulating how they’d move in the real world—before actually moving.
This is thanks to a new predictive control feature powered by a high-fidelity physics engine.
The result? Smarter, safer, and more adaptive robot behavior in real time.
A new base MoveIt Pro Behavior class named MPCBehaviorBase was added to provide the necessary tools and Behaviors to implement MPC in your applications.
The added functionality is demonstrated in a new behavior called MPCPoseTracking, which can be used to track a moving pose with MPC.
Enhancements
UI Changes
- Attempting to save a planning scene to an existing filename now prompts the user to overwrite, instead of overwriting silently.
- The "Suggested Nodes" menu in the builder has been removed due to lack of use, to conserve screen space.
New Behaviors
- Add
GenerateVacuumGraspPosesBehavior which will replaceSetupMTCGenerateVacuumGraspsas an alternative that no longer depends on the deprecatedLoadObjectiveParametersBehavior. - Add
GenerateCuboidGraspPosesBehavior which will replaceSetupMTCGenerateCuboidGraspsas an alternative that no longer depends on the deprecatedLoadObjectiveParametersBehavior. - Add
AveragePoseStampedVectorBehavior to average a vector of PoseStamped. - Add
CalibrateCameraPoseto calibrate a camera optical pose using AprilTag poses of a calibration tool held by the robot end effector. - Add
SavePoseForUrdfto save a PoseStamped in xyz rpy URDF format to file. - Add
MPCPoseTrackingfor tracking a moving pose with MPC.
Deprecated Behaviors
LoadObjectiveParametershas been deprecated.SetupMTCGenerateVacuumGraspshas been deprecated in favor of the newGenerateVacuumGraspPosesBehavior.SetupMTCGenerateCuboidGraspshas been deprecated in favor of the newGenerateCuboidGraspPosesBehavior.SetupMTCApproachGraspandSetupMTCRetractFromGrasphave been deprecated in favor ofSetupMTCMoveAlongFrameAxis.
Behavior Changes
- The
WaitForUserTrajectoryApprovalBehavior now includes a port to specify a list of link names to draw their Cartesian path in the preview. This list defaults to end effector grasp_links in our example configs, but it supports any link. - The
SwitchControllerBehavior now has anautomatic_deactivationport (default:true) that will automatically deactivate any active controllers that are in conflict with the controllers being activated.
Documentation Improvements
-
New Tutorial: Developer Platform Usage
-
New Guide: Basic Troubleshooting
-
New Guide: Interacting with the Planning Scene
-
Errors logged during an objective executed through the DoObjectiveSequence action are collected and returned in the
error_messageof the result if the objective fails.
Bug Fixes
- Fixed an issue where the teleoperation sidebar would not automatically appear when using
RequestTeleoperationinside objectives other thanTeleoperate. - Fixed a bug where
VisualizeMeshcould cause the entire robot visualization to reset briefly. - Added a visual spinner when cloning a user workspace to indicate the launcher has not frozen.
- Added "Open Gripper" and "Close Gripper" stub objectives to the core MoveIt Pro objective library to fix Teleoperate not working out of the box for custom robots that do not have grippers.
- In an objective's xml description is incorrect and there does not exist a
BehaviorTreeelement with the same ID as what is set in themain_tree_to_executeroot attribute, it will appear in the builder view under the "Parsing Error" category. Previously, such objectives would not appear at all. - Fixed a bug where the
PoseJogmarker would not be removed when thePoseJogBehavior was stopped. - Fixed a bug causing the Reset Marker not to work the second time it is pressed.
- Fixed a bug where the
allowed_collision_linksin theAttachToolBehavior were not being set. - Fixed an issue where the
initial_teleop_modeport in theRequestTeleoperationsubtree was not being respected by the UI. - Fix a bug where the default
tool_poseport of theAddToolToSceneBehavior had a JSON string value instead of a blackboard value.