5.3.0
· 5 min read
New Controllers and Behaviors
- We are releasing a "Joint Trajectory with Admittance" controller (JTAC) as a
ros2_control
controller 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/Markers
of typeARROW
are now supportedvisualization_msgs/Markers
of typeMESH_RESOURCE
are 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 Controller
interoperability:- Add
PublishVelocityForceCommand
behavior to send commands to the `Velocity Force Controller`` - Add
VelocityForceController
plugin so it can be activated by theActivateControllers
behavior - Fix Velocity Force Controller control law direction
- Add
- Improve
Velocity Force Controller
stopping behavior to limit jerk:- Execute a stop trajectory on timeout
- Execute a stop trajectory on joint position limit prediction
- Admittance Control updates:
- Renamed
UpdateAdmittanceController
to `SetAdmittanceParameters`` SetAdmittanceParameters
now generates parameters compatible with the MoveIt Pro Joint Trajectory Admittance Controller (JTAC) in addition to parameters compatible with theros2_control
admittance controller- Usage with the
ros2_control
admittance 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_uuid
was removed as well.- Migration: Remove the
sensor_name="..."
andpoint_cloud_uuid="..."
ports from existing objectives with SendPointCloudToUI behaviors. Themax_range
parameter is no longer used by this behavior. To crop the point cloud, use one of ourCropPoints
behaviors. - 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_control
removed 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.xml
and build your Docker overlay using `moveit_pro build user_image``
- Migration options:
Bug Fixes
- Fixed
moveit_pro
test to correctly runcolcon test
in a MoveIt Pro Docker container. Usemoveit_pro test --help
for additional usage tips - Clarified the joint limit exceeded error message to not imply that the joint was necessarily commanded to that position
visualization_msgs/Markers
will now properly have theirframe_id
respected 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 --help
ign_ros2_control
removed 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.xml
and 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
UpdateAdmittanceController
has been renamed toSetAdmittanceParameters
and updated to interface with a Joint Trajectory with Admittance controller (JTAC). It can be used in combination withExecuteTrajectoryWithAdmittance
to execute a trajectory with admittance control. Any Objectives using the oldUpdateAdmittanceController
need 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
SendPointCloudToUI
behavior no longer depends upon the name of a sensor as registered with MoveIt, so thesensor_name
input port was removed. Remove thesensor_name
port from any references to this behavior.
Deprecations
- Interfacing with a
ros2_control
layered admittance controller is now deprecated.SetAdmittanceParameters
can 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_ws
was migrated to5.3
in 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.xml
and 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``