Skip to main content

6.3.2

· One min read

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> and vector<Any>.

6.3.1

· One min read

Bug fixes

  • moveit_pro configure now 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

6.3.0

· 2 min read

Major Features

Enables use of Velocity Force Controller (VFC) as a Velocity-only controller if no force-torque sensor is available.

Other changes

  • Bumps MoveIt2 dependency to later version with bugfixes.
  • Adds support for multiple keyframes in ros2_mujoco descriptions.
  • Passes robot_description_kinematics to RViz for IK debugging.

Behavior Changes

  • VFC publishes state and has timeouts for loading robot model.
  • VelocityForceSetpointGenerator exposes scaling factors through ports.
  • LoadObjectiveParameters will fail with an empty file.
  • kMaxEigenVectorCapacity upped from 16 to 32
  • Updated NavigateToPoseAction 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.

UI Changes

  • Description and subcategory metadata applied to subtree definitions is now respected in the behavior tree editor sidebar.
  • Offline version handling.

Documentation Improvements

  • Reorganized docs.picknik.ai documentation into clearer categories.
  • Updated setup instructions for increased clarity.
  • Removed out-of-date document.
  • Additional support for Parallels.
  • Running an Objective documentation accurately reflects v6 UI improvements.
  • Updated documentation regarding when to use the robot_driver_persist_launch_file and simulated_robot_driver_persist_launch_file
  • Updated documentation for tool changing.
  • Added documentation on optional JTAC parameters.
  • Added documentation to the tip_offset input port of the PlanCartesianPathBehavior

Bug Fixes

  • Request clicked point service no longer stops advertising.
  • Various typos and grammar updates.
  • Renaming a SubTree no longer breaks Objectives containing that SubTree.
  • Cloning and editing a SubTree no longer modifies the original SubTree, breaking some Objectives.
  • Fixes an issue in the simulator preventing use of multiple Force Torque sensors.
  • Bug fix for get clicked point unadvertising irregularly.

Migration Guide

No steps are necessary to migrate from 6.2 to 6.3.

6.2.0

· 4 min read

Major Features

Tool changing support

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.

New moveit_pro dev command

During 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.

note

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.

note

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.

Ubuntu 24.04 (Noble Numbat) support

MoveIt Pro is now supported on the latest Ubuntu LTS release, 24.04.

As of this release, our supported platforms are

  • Ubuntu 22.04
  • Ubuntu 24.04
  • Debian Bookworm
  • VMware for Windows with Ubuntu 22.04
  • Parallels for OSX with Ubuntu 22.04

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.

Other changes

Behavior Changes

  • LoadPointCloudFromFile allows specifying the file path either relative to a ROS package or as an absolute path.
  • Adds index output port to ForEach decorator node to enable getting unique IDs for each element.
    • This is useful if you use the ForLoop to create objects and you want to give it a unique name using its index.

UI Changes

  • Adds "Control Flow" category to all built-in Decorators and Controls behaviors.
  • Removes the top level of folderization of the Behaviors sidebar.
    • Behaviors without subcategory metadata (as explained in the Making a Hello World Behavior guide) will be placed in the Miscellaneous category.

Documentation Improvements

Bug Fixes

  • Fixes RCL guard condition failure.
  • Fixes port type in VisualizeMesh.
  • The UI now correctly displays that the contents of a subtree are uneditable without editing the subtree directly.
  • Prints correct config to screen after a launch time config change.
  • Fixes width of Edit Objective menu.
  • Fixes ports being ignored in the wrong place.
  • Fixes missing quaternion in SelectableMarker.
  • Reduced the incidence of erroneous "file conflict" warnings in the Behavior Tree Editor. We expect a complete fix in a later version soon.

Migration Guide

No steps are necessary to migrate from 6.1 to 6.2.

6.1.1

· One min read

UI Improvements

  • Added a placeholder screen to the status visualizer when MoveIt Pro has been started but no Behavior Tree has been instantiated.

Bug fixes

  • Fixed an issue where the end effector path preview may not populate correctly during trajectory preview.
  • Fixed a bug where the color and size of planning scene objects was not respected properly in the UI.
  • Fixed an issue where the UI would start in the two-pane layout even if you had cameras present.

6.1.0

· 4 min read

Major Features

Suggested Behaviors

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.

Attached Collision Object Visualization

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.

Message assembler and disassembler behaviors

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.

Other changes

New Behaviors

  • A Behavior that adds a Virtual Collision Object to the Planning Scene has been added to MoveIt Pro. A Virtual Collision Object is a Collision Object that does not exist in the actual world, but inside of the robots representation of the environment. This Behavior can be used to indicate areas where the robot should not plan into.
  • A Behavior that removes Collision Objects from the Planning Scene has been added to MoveIt Pro.

Behavior Changes

  • Updated the LoadPointcloudFromFile Behavior to make point cloud color an optional input.
  • Added a marker_name port to the VisualizePose Behavior.
  • Changed the SaveToYAML Transform port to now accept a TransformStamped message.
  • Added an optional 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.

UI Changes

  • Renamed “Objective Builder” and “Objectives” tabs to “Build” and “Run”, respectively
  • Added support for .obj files in visualized URDFs
  • Various text clarity and visual improvements

Documentation Improvements

  • Added guide on how to use the Velocity Force Controller.
  • Improved the guide on how to convert a URDF to a MJCF.
  • Added a guide for running MoveIt Pro without access to the internet.
  • Updated the MoveIt Pro Terms & Conditions.
  • Improved setup and upgrade documentation.

Other Improvements

  • The moveit_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).
  • Available configuration packages listed during initial setup are now alphabetized.
  • Removed configuration prompt for a ROS_DOMAIN_ID from the initial setup process.
    • Our MoveIt Pro generated DDS configuration files do not use DDS multicast, so specifying a ROS_DOMAIN_ID is unnecessary. Providing your own DDS configuration file that uses ROS_DOMAIN_ID or multicast is still supported.
  • Updated the underlying versions of Ubuntu, ROS 2, and MoveIt 2 in Pro.
  • Made the moveit_pro test verb more robust to incomplete Pro configurations.
  • The underlying MuJoCo physics engine has been updated to now allow specifying initial joint positions.

Bug Fixes

  • Fixed bug where cameras in the MuJoCo physics engine were not applying the desired resolution correctly.
  • Fixed an issue where the license prompt in initial setup logged additional unnecessary error text.
  • Fixed a bug where offline licensing could crash the user interface.
  • Fixed an issue where the initial layout of the behavior tree in the builder and status windows could be incorrect.
  • Fixed an issue where published Markers could cause video streaming in the UI to halt unexpectedly.
  • Fixed an issue where published Markers with no name would show up blank in the marker show/hide list in the UI.
  • Fixed a bug where only particular Docker containers within MoveIt Pro were allowed to use X11.
  • Fixed an issue where favorited “subtree-only” behavior trees would still show up in the Favorites bar on the Run tab.
  • Fixed a number of issues with the “waypoint_name” dropdown in behaviors that utilize waypoints.
  • Removed moveit_pro reset, which was erroneously still present in the CLI despite no longer being necessary.
  • Other minor fixes.

6.0.2

· One min read

Bug fixes

  • Improve licence check message when launching MoveIt Pro
  • Fix SaveTransformStampedToYaml behavior port

6.0.1

· One min read
  • Fixed an issue where behavior tree's live status could be ordered incorrectly.
  • Fixed a bug where the edit menu in the Objective Builder would erroneously close itself shortly after text was input
  • Fixed a bug where the behavior tree's live status view would not correctly fit itself around the running objective upon initialization
  • Miscellaneous documentation fixes

6.0.0

· 10 min read

Major Features

New Simulation Engine

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.

Improved Configuration Parser

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.

Pro RRTConnect

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).

Other New Features

Behavior Changes

  • Adds an optional constraints port to the SetupMTCMoveToPose Behavior for passing a moveit_msgs::msg::Constraints message to your selected planner.
  • The cost function for the 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.
  • Adds an optional ignore_environment_collisions port to the SetupMTCMoveAlongFrameAxis Behavior to ignore environment collisions during planning.
  • Adds an optional skip_collision_check port to the SetupMTCCurrentState Behavior to skip collision checking of the current robot state.
  • Updates the 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).
  • Adds optional 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.
  • Adds an optional timeout port to the GripperActionCommand Behavior in case the gripper is expected to take a long time to close.

New Behaviors

  • Adds a CropPointsInSphere Behavior.
  • Adds a PlanToJointGoal Behavior that plans between joint states using RRT. Short-cutting and time parameterization are applied to the path to create a trajectory message.
  • Adds a 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.
  • Adds a VisualizeMesh Behavior that can be used to visualize custom meshes within the Web UI.
  • Adds a VisualizePath Behavior that can be used to visualize a vector of PoseStamped as a polyline.
  • Add a 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.
  • Adds a 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.
  • Adds two Behaviors to run admittance control at a stationary reference point. The 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.

MoveIt Pro UI Changes

  • Increases the grid in the 3D visualization to 5 meters wide and includes useful measurement increments as sub-grids.
  • Removes running the 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.
  • Sorts favorited Objectives to the top of the Objectives list for easy access.
  • Renames the "Quick Objectives" list to "Favorites" to clarify how they are populated.
  • Adds a button to SubTree nodes to jump straight to the definition of that SubTree in the Objective Builder.
  • Adds an option to flag an Objective as being "SubTree Only" to hide it from the runnable Objectives list.
  • Improves some error messages in SubTree editing workflows.
  • Improves the search engine in the Behaviors list and Objectives list in the UI.
  • Adds an upgrade link to the UI when a new version of MoveIt Pro is available.
  • Errors when validating a user's license will now display in the user interface.

New Controllers

  • Adds a 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.

Controller Changes

  • The JTAC and VFC controllers now offer services to re-zero the force-torque sensor readings. This allows logic for re-zeroing the force-torque sensor to be moved out of the hardware interfaces.
  • Enables using the JTAC even if a force/torque sensor is not defined. In this case JTAC will behave similarly to the JTC. It will disable admittance-related features, e.g. stop on force threshold, etc.

Dependency Changes

  • Upgrades the included version of Ubuntu to April 27 and ROS Humble to May 23.
  • Adds the ros2_control CLI to the MoveIt Pro Docker image.
  • Updates the included version of MoveIt Task Constructor.

Documentation Improvements

  • Revamped the MoveIt Pro documentation! 🎉
  • Added additional documentation for common installation questions
  • Added documentation for creating MoveIt Pro MuJoCo configuration based on a MoveIt Pro site config
  • Improved port documentation in some common behaviors
  • Clarified some installation instructions

Other Improvements

  • Reorders the questions in moveit_pro configure to be more intuitive.
  • Improves the help text in the moveit_pro CLI.
  • The moveit_pro CLI will now warn you if you do not have the proper permissions to access the Docker daemon.
  • Reduces the amount of warnings logged by MoveIt on bring-up of MoveIt Pro.
  • Verbose logging now includes timestamps at the beginning and end of running an objective.
  • Improves some licensing-related error messages.
  • Improves the MuJoCo integration to parse command interfaces from position, velocity, and motor tags in MJCF files.
  • Improves the validation logic for MoveIt Pro configuration packages to provide more helpful error messages when the config.yaml is syntactically incorrect.

Bug Fixes

  • Fixes acceleration profile calculation in the VFC.
  • Fixes a bug where larger Objectives might not zoom correctly when the "Fit to View" button is pressed.
  • Fixes a bug where copying and pasting port text could cause unnecessary duplication of behaviors.
  • Fixes a bug where a missing /camera_info topic for an image stream could cause the UI to freeze.
  • Fixes a bug where the waypoint_name dropdown on certain behaviors would not properly respond to clicks.
  • Fixes a bug where output ports would show up as in-out ports in the behavior tree status viewer.
  • Fixes a bug where a deleted objective could re-appear in the UI in the same session as it was deleted.
  • Fixes a bug where refreshing the MoveIt Pro UI would restart the running Objective.
  • Fixes a teleoperation bug where saving a new joint state to an existing waypoint might not succeed.
  • Fixes a bug where adding a port to a SubTree in the Objective Builder would prevent adding more ports to that same SubTree.
  • Fixes a bug where some Supervised Autonomy prompts would remain on-screen after stopping the objective that invoked them.
  • Fixes a bug where exceptionally large or exceptionally small Objectives caused strange tree layout behavior in the UI.
  • Fixes a visual bug with Joint Jog in Firefox.
  • Fixes a bug where the preview for waypoints might not change after the waypoint joint state was updated.
  • Fixes a bug where jogging a joint in Joint Jog did not exit the textual input for joint angles.

Known Issues

  • When using the MoveIt Pro UI, the Behavior sidebar for specifying port values will automatically close if you begin typing a value and then stop typing for ~2 seconds.

5.3.2

· One min read

Bug fixes

  • Fixed an issue where MoveIt Pro CLI commands could cause unnecessary rebuilding of the user workspace