6.3.1
Bug fixes
moveit_pro configurenow lists packages in the workspace- In Offline Mode, "ROS invoked from outside a ROS context provider!" will no longer be thrown if an offline license is valid
moveit_pro configure now lists packages in the workspaceEnables use of Velocity Force Controller (VFC) as a Velocity-only controller if no force-torque sensor is available.
VelocityForceSetpointGenerator exposes scaling factors through ports.LoadObjectiveParameters will fail with an empty file.kMaxEigenVectorCapacity upped from 16 to 32NavigateToPoseAction and NavigateThroughPosesAction Behaviors with an input port flag to ignore the timestamp of the PoseStamped messages that are passed into those Behaviors. Setting this flag to true should stop Nav2 from printing an warning/error regarding extrapolation into the past.robot_driver_persist_launch_file and simulated_robot_driver_persist_launch_filetip_offset input port of the PlanCartesianPathBehaviorNo steps are necessary to migrate from 6.2 to 6.3.
The ability to plan around collisions and visualize your robot while exchanging tools has been a popular feature request by users. We are pleased to announce support for this use case as well as MoveIt Pro simulator support for modeling tool change devices!
Refer to the new Tool Changing guide to configure this feature in your application.
moveit_pro dev commandDuring the course of development, changes to your MoveIt Pro Docker image or user workspace may cause MoveIt Pro commands such as run to fail in such a way that the container cannot be started.
When the container fails to start properly, moveit_pro shell has no container to enter, which can make diagnosing the source of failure difficult.
The new moveit_pro dev command enables you to start and enter a new container without building your user workspace packages or starting any MoveIt Pro services.
In scenarios where run fails to start the container, use dev to diagnose the source of failure.
You need to define a dev service in your user workspace docker-compose file if not already defined for this service to work.
See the dev service definition in the default UR workspace docker-compose.yaml as an example of this.
When your MoveIt Pro commands are working correctly, you should still use shell command when you want to enter the container.
The dev command starts its own container which by default runs no MoveIt Pro services. If the dev container is present the shell command will open a shell session into it instead of the "agent_bridge" container enabling further troubleshooting or manually launching MoveIt Pro services as needed.
24.04 (Noble Numbat) supportMoveIt Pro is now supported on the latest Ubuntu LTS release, 24.04.
As of this release, our supported platforms are
Using Parallels for OSX and VMWare for Windows with Ubuntu 24.04 is possible but may require extra setup due to current limitations in Parallels/VMWare out of box support for 24.04.
LoadPointCloudFromFile allows specifying the file path either relative to a ROS package or as an absolute path.index output port to ForEach decorator node to enable getting unique IDs for each element.
No steps are necessary to migrate from 6.1 to 6.2.
When editing a behavior tree in the Build tab, the left-hand sidebar will suggest a handful of useful Behaviors that may be relevant to your current Objective.
The MoveIt Pro UI has been updated to support visualizing AttachedCollisionObjects in the Planning Scene. Additionally, the rendering of the Planning Scene has been made generally more robust to allow more complex modifications to the scene from any behavior or external application.
A new behavior plugin named moveit_studio::behaviors::ConverterBehaviorsLoader has been added. Adding the plugin to a site config allows for the creation of ROS messages on the blackboard using ports of the new behaviors. Additionally, the new behavior can unpack individual components of ROS messages to blackboard variables.
LoadPointcloudFromFile Behavior to make point cloud color an optional input.marker_name port to the VisualizePose Behavior.Transform port to now accept a TransformStamped message.link_padding port to the PlanToJointGoal behavior that is used by the Pro RRT planner. The padding applies only to robot links and will be used for self-collisions and for collisions with the environment..obj files in visualized URDFsmoveit_pro_controller_msgs package has been moved to the MoveIt Pro SDK to allow you to directly integrate with the Pro controllers from your configuration package (or any ROS application).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 conflicts