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/PointStamped
geometry_msgs/Quaternion
geometry_msgs/Vector3
geometry_msgs/Transform
geometry_msgs/TransformStamped
UnorderedMap<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 AdjustPoseWithIMarker
cameras.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
Vector3
Transform
TransformStamped
Time
(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.