6.0.2
Bug fixes
- Improve licence check message when launching MoveIt Pro
- Fix SaveTransformStampedToYaml behavior port
MoveIt Pro 6.0 introduces a new simulation engine that includes much higher fidelity physics simulation for manipulation tasks and more performant rendering of camera and depth data.
This includes simulation of RGBD cameras, 2D and 3D LiDAR, force-torque sensors, and more!
The new simulation engine has low system requirements and does not require a dedicated GPU.
Check out the new arm_on_rail_sim configuration in the example workspace to try the new simulator for yourself.
This version of Pro includes an overhaul of the parser that is used to construct a robot configuration from your YAML configs, Xacro files, and others. It includes much better error messaging for incorrectly-specified configuration arguments and will inform you when Pro deprecates parameters.
We have introduced a new joint-space planner (custom RRTConnect implementation), that can be used within MTC Tasks.
This planner is deterministic, faster to compute, and more efficient compared to the default OMPL planner.
In its initial release, orientation constraints are not supported. It can be used by setting planner_interface="pro_rrt" in your joint-space MTC planning Behaviors (SetupMTCMoveToJointState, SetupMTCMoveToPose, SetupMTCConnectWithTrajectory and SetupMTCMoveToNamedState).
constraints port to the SetupMTCMoveToPose Behavior for passing a moveit_msgs::msg::Constraints message to your selected planner.SetupMTCMoveAlongFrameAxis Behavior now optimizes for longer Cartesian motions. This change enables MTC motion plans to move into contact. Previously, the planner favored short motions which made it difficult to move into contact.ignore_environment_collisions port to the SetupMTCMoveAlongFrameAxis Behavior to ignore environment collisions during planning.skip_collision_check port to the SetupMTCCurrentState Behavior to skip collision checking of the current robot state.tip_offset port in the PlanCartesianPath Behavior to take in a 6D offset, i.e. position and orientation, instead of just a 3D position offset. Orientation is taken as roll, pitch, yaw (rad).ik_cartesian_space_density and ik_joint_space_density ports to the PlanCartesianPath Behavior that can be used to control the density of the path IK solution before turning it into a trajectory with TOTG.timeout port to the GripperActionCommand Behavior in case the gripper is expected to take a long time to close.CropPointsInSphere Behavior.PlanToJointGoal Behavior that plans between joint states using RRT. Short-cutting and time parameterization are applied to the path to create a trajectory message.SetupMTCIgnoreCollisionsBetweenObjects Behavior to create an MTC Stage that modifies the planning scene's Allowed Collision Matrix to permit or forbid collision between a set of objects while planning subsequent Stages.VisualizeMesh Behavior that can be used to visualize custom meshes within the Web UI.VisualizePath Behavior that can be used to visualize a vector of PoseStamped as a polyline.VisualizePose Behavior. The Behavior publishes a Marker with three lines, one per axis, in red, green, blue at a location/orientation defined by a PoseStamped message.GenerateCoveragePath Behavior to create a path that covers an area. The area to cover is defined by the origin (bottom-right corner), width, height and stride distance.GetRobotJointState Behavior extracts a ROS joint state message from a planning scene object. The CreateStationaryTrajectory Behavior creates a stationary trajectory of a specified duration at the provided joint state.Clear Snapshot Objective on UI bring-up and instead warns you if you have a non-empty Octomap that is now desynchronized from the UI.IOController controller to set discrete enable/disabled commands, such as when operating a vacuum gripper. The controller claims all state command interfaces specified by a ROS 2 parameter. The controller creates enable/disable service servers for each claimed interface.moveit_pro configure to be more intuitive.moveit_pro CLI.config.yaml is syntactically incorrect./camera_info topic for an image stream could cause the UI to freeze.waypoint_name dropdown on certain behaviors would not properly respond to clicks.GenerateVacuumGraspPose could not be used in combination with some other MTC behaviors due to property conflictsros2_control controller plugin, and a corresponding behavior to interface with the controller, called ExecuteTrajectoryWithAdmittance. 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.visualization_msgs/Markers of type ARROW are now supportedvisualization_msgs/Markers of type MESH_RESOURCE are now supportedVelocity Force Controller interoperability:
PublishVelocityForceCommand behavior to send commands to the `Velocity Force Controller``VelocityForceController plugin so it can be activated by the ActivateControllers behaviorVelocity Force Controller stopping behavior to limit jerk:
UpdateAdmittanceController to `SetAdmittanceParameters``SetAdmittanceParameters now generates parameters compatible with the MoveIt Pro Joint Trajectory Admittance Controller (JTAC) in addition to parameters compatible with the ros2_control admittance controller
ros2_control admittance controller is deprecated and will be removed in a future version.<sensor_name>.max_range. The unused port point_cloud_uuid was removed as well.
sensor_name="..." and point_cloud_uuid="..." ports from existing objectives with SendPointCloudToUI behaviors. The max_range parameter is no longer used by this behavior. To crop the point cloud, use one of our CropPoints behaviors.<Action ID="SendPointCloudToUI" point_cloud="{point_cloud}" sensor_name="scene_scan_camera" pcd_topic="/pcd_pointcloud_captures" point_cloud_uuid=""/><Action ID="SendPointCloudToUI" point_cloud="{point_cloud}" />ign_ros2_control removed as a core dependency.
package.xml and build your Docker overlay using `moveit_pro build user_image``moveit_pro test to correctly run colcon test in a MoveIt Pro Docker container. Use moveit_pro test --help for additional usage tipsvisualization_msgs/Markers will now properly have their frame_id respected instead of rendering only in world framePrevious:
<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}" />
moveit pro build --help
ign_ros2_control removed as a core dependency.
moveit_pro build user_workspace
package.xml and build your Docker overlay using moveit_pro build user_image
MuJoCo simulation backend.
packages_select) using moveit_pro build user_workspace --colcon-args="--packages-select your_package"MTC Solutions containing Multi-DOF joint states e.g. mobile bases can now be previewed in the UIInteractive Marker teleoperation is now compatible with Multi-DOF joints e.g. mobile bases.Waypoints can now include Multi-DOF joints e.g. mobile bases.Interactive Marker teleoperation, you can now select which planning group you would like to drag.GetMasks2D has been updated to handle clicked points on the image.
GetMasks2D Behavior updated to use PointStamped as the clicked-point message type for better interoperability with other ML Behaviors.
Segment Anything Action Server now parses clicked points for better Segment Anything inference.YAML Behaviors for saving and loading new message types have been added. MoveIt Pro now supports saving and loading:
std_msgs/Header
geometry_msgs/PointStampedgeometry_msgs/Quaterniongeometry_msgs/Vector3geometry_msgs/Transformgeometry_msgs/TransformStampedUnorderedMap<String, Waypoint>CropPointsInSphere behavior that enables users to crop point clouds based on their radial distance from a designated frameMTC Behaviors requiring Cartesian motion will now use an improved internal solver.GetSyncedImageFromPointCloud now allows the topics being synchronized to have differing QoS settingsSetupMTCConnectWithTrajectory will add a connect MTC stage to the task to join the previous stage with the start state of the next stage using a freespace trajectory.stop_accelerations port to the MoveIt Pro Joint Trajectory Admittance Controller to allow specifying per-joint decelerations to use when halting trajectory execution, in the event of force threshold being met or other exit criteria.
Ubuntu 20.04, to support continuing improvements to the moveit_pro launcher.
cameras.yaml. To better support different hardware configurations, cameras.yaml is no longer required and you must launch your camera drivers yourself. We’ve included an easy migration script to convert your cameras.yaml to a cameras.launch.xml!
ExecuteTrajectoryWithAdmittance behavior to allow use of the MoveIt Pro Joint Trajectory Admittance Controller
RequestTextFromPrompts and AdjustPoseWithIMarkercameras.yaml from MoveIt Pro’s configuration parser and launcher (see Key Changes section)
~/.config/moveit_pro directories. This directory is now ephemeral, and all changes persist back to your site configuration’s source directory.moveit_pro setup_workspace now supports cloning SSH / git@ repositories{STUDIO_HOST_USER_WORKSPACE})AdjustPoseWithIMarker behavior, an Objective can now request that an operator adjust a pose within the 3D scene using an interactive marker. For example, verifying a candidate grasp pose in a user-in-the-loop pick-and-place.RequestTextFromPrompts behavior, an Objective can now request that an operator input textual content into a form. This enables, for example, including operator-driven prompting of an ML model within your Objective.AdjustPoseWithIMarker publishes a candidate pose and returns the adjusted pose from the UI
GetSyncedImages synchronizes two camera topics, most useful for synchronizing RGB data with depth data to generate a pose from a pixel coordinateRequestTextFromPrompts behavior to display textual forms in the UIGetPoseFromUser and GetIntFromUser behaviorsAddToVector<T> and ResetVector<T> which can be implemented to allow composing vectors during Objective runtimeActionClientBehaviorBase:
ActionClientBehaviorBase behavior template now exposes a getAbortedMessage function that returns a string. The string will be displayed in the MoveIt Studio error toast message if the action is aborted. The ExecuteFollowJointTrajectory and ExecuteTrajectoryWithAdmittance behaviors now provide useful hints if they are aborted.ExecuteTrajectoryWithAdmittance (see Key Changes section)SetupMTCUpdateGroupCollisionRule behavior's parameters are no longer read in from a YAML file using the LoadObjectiveParameters behavior. The behavior parameters are set as input ports.GetMeshNormalPose behavior to calculate the surface normals of a visual mesh in the robot modelPublishMarkers behavior to publish a MarkerArray to the UI/RViz.SolveIKQueries behavior to determine if the robot can reach a list of target poses.Octonion
Vector3TransformTransformStampedTime (builtin_interfaces)Waypoint (moveit_studio_agent_msgs)UnorderedMap<String, Waypoint>stop_accelerations port to the MoveIt Pro Joint Trajectory Admittance Controller to allow specifying per-joint decelerations to use when halting trajectory execution, in the event of force threshold being met or other exit criteria.
moveit_pro script and the included launchfilesMajor version increase.
tree_nodes_model.xml for Behavior plugins, significantly simplifying behavior management.