5.3.0
· 5 min read
New Controllers and Behaviors
- We are releasing a "Joint Trajectory with Admittance" controller (JTAC) as a
ros2_controlcontroller plugin, and a corresponding behavior to interface with the controller, calledExecuteTrajectoryWithAdmittance. This behavior allows executing a trajectory in a compliant way if your robot has a force/torque sensor installed at the wrist. Check out our how-to guide Configure Admittance Control for more information.
User Interface Changes
- The failure or completion of a running Objective will no longer jump you back to the Objectives homepage
- Added a “restart” button for failed or completed Objectives
- The Objectives tab now correctly resumes the UI for your currently-running objective when re-entered from another page
visualization_msgs/Markersof typeARROWare now supportedvisualization_msgs/Markersof typeMESH_RESOURCEare now supported- Editing an Objective that is referenced by another Objective as a SubTree will now warn you about its usage in other Objectives
- The sidebar of the Objective Builder and Objectives tabs that lists all your Objectives now has a consistent look and feel between the two screens and has all the same functionality in both places
Behavior Changes
- Add
Velocity Force Controllerinteroperability:- Add
PublishVelocityForceCommandbehavior to send commands to the `Velocity Force Controller`` - Add
VelocityForceControllerplugin so it can be activated by theActivateControllersbehavior - Fix Velocity Force Controller control law direction
- Add
- Improve
Velocity Force Controllerstopping behavior to limit jerk:- Execute a stop trajectory on timeout
- Execute a stop trajectory on joint position limit prediction
- Admittance Control updates:
- Renamed
UpdateAdmittanceControllerto `SetAdmittanceParameters`` SetAdmittanceParametersnow generates parameters compatible with the MoveIt Pro Joint Trajectory Admittance Controller (JTAC) in addition to parameters compatible with theros2_controladmittance controller- Usage with the
ros2_controladmittance controller is deprecated and will be removed in a future version.
- Usage with the
- Renamed
- Simplified the behavior for displaying point clouds in the visualization pane. Point clouds are automatically transformed in to the world frame are no longer cropped via the ROS 2 parameter
<sensor_name>.max_range. The unused portpoint_cloud_uuidwas removed as well.- Migration: Remove the
sensor_name="..."andpoint_cloud_uuid="..."ports from existing objectives with SendPointCloudToUI behaviors. Themax_rangeparameter is no longer used by this behavior. To crop the point cloud, use one of ourCropPointsbehaviors. - Example:
- Previous:
<Action ID="SendPointCloudToUI" point_cloud="{point_cloud}" sensor_name="scene_scan_camera" pcd_topic="/pcd_pointcloud_captures" point_cloud_uuid=""/> - Updated:
<Action ID="SendPointCloudToUI" point_cloud="{point_cloud}" />
- Previous:
- Migration: Remove the
Other Enhancements
- Updated launcher and documentation tips for easier workspace builds try `moveit pro build --help``
ign_ros2_controlremoved as a core dependency.- Migration options:
- Clone the version of your choice to your user workspace, and build your workspace using `moveit_pro build user_workspace``
- Add the ROS 2 dependency to your configuration’s
package.xmland build your Docker overlay using `moveit_pro build user_image``
- Migration options:
Bug Fixes
- Fixed
moveit_protest to correctly runcolcon testin a MoveIt Pro Docker container. Usemoveit_pro test --helpfor additional usage tips - Clarified the joint limit exceeded error message to not imply that the joint was necessarily commanded to that position
visualization_msgs/Markerswill now properly have theirframe_idrespected instead of rendering only in world frame- Fixed an issue where the previews for joint jogging in Teleoperate could become desynchronized from the robot state
- Additional miscellaneous fixes and improvements
Previous:
<Action ID="SendPointCloudToUI" point_cloud="{point_cloud}" sensor_name="scene_scan_camera" pcd_topic="/pcd_pointcloud_captures" point_cloud_uuid=""/>
Updated:
<Action ID="SendPointCloudToUI" point_cloud="{point_cloud}" />
- Other Enhancements:
- Updated launcher and documentation tips for easier workspace builds try
moveit pro build --helpign_ros2_controlremoved as a core dependency.- Migration options:
- Clone the version of your choice to your user workspace, and build your workspace using
moveit_pro build user_workspace- Add the ROS 2 dependency to your configuration’s
package.xmland build your Docker overlay usingmoveit_pro build user_image
- Add the ROS 2 dependency to your configuration’s
- Clone the version of your choice to your user workspace, and build your workspace using
- Migration options:
- Updated launcher and documentation tips for easier workspace builds try
Migration Guide
Behavior changes
- The Behavior
UpdateAdmittanceControllerhas been renamed toSetAdmittanceParametersand updated to interface with a Joint Trajectory with Admittance controller (JTAC). It can be used in combination withExecuteTrajectoryWithAdmittanceto execute a trajectory with admittance control. Any Objectives using the oldUpdateAdmittanceControllerneed to be updated to the new name, e.g:
<!-- Old -->
<!-- <Action ID="UpdateAdmittanceController" config_file_name="admittance.yaml"/> -->
<!-- New -->
<Action ID="SetAdmittanceParameters" config_file_name="admittance.yaml"/>
- The
SendPointCloudToUIbehavior no longer depends upon the name of a sensor as registered with MoveIt, so thesensor_nameinput port was removed. Remove thesensor_nameport from any references to this behavior.
Deprecations
- Interfacing with a
ros2_controllayered admittance controller is now deprecated.SetAdmittanceParameterscan still be used to set parameters in those controllers, but the Joint Trajectory With Admittance controller in MoveIt Pro (JTAC) is now the recommended way to perform admittance control.
Removed dependencies
- MoveIt Pro does not depend on
gz_ros2_control, and therefore it is no longer installed in the base image for MoveIt Pro. If you want to include this package in your overlay image, we recommend one of the following two approaches:- Clone the version of your choice to your user workspace, and build your workspace using `moveit_pro build user_workspace``
- This approach allows full control over the version that is used and provides all the benefits of a source build
- The
moveit_studio_ur_wswas migrated to5.3in this way. You can see the changeshere. <https://github.com/PickNikRobotics/moveit_studio_ur_ws/pull/288/files>_
- Add the ROS 2 dependency to your configuration’s
package.xmland build your Docker overlay using `moveit_pro build user_image``- The upstream dependencies are installed via
rosdep, so your image will contain the latest version available throughrosdep.
- The upstream dependencies are installed via
- Clone the version of your choice to your user workspace, and build your workspace using `moveit_pro build user_workspace``