6.3.2
Bug Fixes
- Fixes a bug where vector types on the blackboard in a behavior tree that cross a subtree boundary could throw an error related to converting between
vector<T>
andvector<Any>
.
vector<T>
and vector<Any>
.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_file
tip_offset
input port of the PlanCartesianPath
BehaviorNo 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.