Skip to main content

6.5.0

· 6 min read

Major Features

Interactive definition of keep-out zones

The MoveIt Pro UI now provides a convenient interface for defining "keep-out zones" for regions you want to temporarily prevent your robot from planning motion into.

Occupancy Grid visualization

When using Nav2, the MoveIt Pro UI will now automatically display the occupancy grid in the visualization pane.

Save and load Planning Scenes from the UI

The MoveIt Pro UI now provides the ability to save and load MoveIt PlanningScenes to/from files. In conjunction with the keep-out zone feature, this can allow you to rapidly prototype a work area without adding environmental collision geometry to your URDF.

Mujoco Interactive Viewer

Launching pro with the mujoco_viewer in a config set to true will now launch both the MoveIt Pro UI and Mujoco viewer in an interactive state. You can make changes to the Mujoco simulation that are reflected in MoveIt Pro and vice versa.

New default workspace and config: introducing lab_sim

The new default MoveIt Pro workspace is the moveit_pro_example_ws, found here. The default config is now lab_sim, featuring a UR arm on a rail in a pharmaceutical environment. This workspace still contains the moveit_pro_ur_configs from past MoveIt Pro versions.

Other changes

  • Non-core behaviors, including user defined Objectives, show up as "Uncategorized" by default instead of "Miscellaneous" if no category is given.
  • Update ROS Humble snapshot to 2024-11-04.
  • Update moveit2 submodule to commit 5049e4d.

New Behaviors

  • Adds a GetCentroidFromPointCloud behavior, that estimates the cloud centroid given an input point cloud using pcl::compute3DCentroid, outputting a pose with the same header.
  • Adds ConvertMTCSolutionToJoingTrajectory, SetupMTCPlaceFromPose, and SetupMTCPickFromPose to the core library from the previous example_behaviors config. The source code for these behaviors is still visible in that config.

Behavior Changes

  • Behaviors that inherit from ActionClientBehaviorBase must now set a positive timeout with the port goal_result_timeout. Setting 0 returns complete as soon as the action goal is accepted and setting a negative number blocks indefinitely until the action returns a result.

UI Changes

  • The subtree category in the Objectives sidebar now displays the number of objectives within it.
  • Core MoveIt Pro Behaviors now have better subcategorization in the Edit mode, making them easier to find.
  • Hovering over the abbreviated objective description will show the entire description.
  • Subtree port remapping definitions are now defined in the root node of the behavior tree being referenced instead of in the consuming SubTree node, making SubTree nodes' port edit menu behave similarly to all other port edit menus.
  • Adds visualization of the Occupancy Grid via Nav2 to the Visualization Pane of Pro, allowing users to now see Nav2 Occupancy Grid data without using rviz.
  • Visual enhancements when in tri or quad screens, including shrinking play controls.
  • Joint Groups are now only referred to as Planning Groups for consistency.

Documentation Improvements

Other Improvements

  • Questions during the setup process are now more clearly indicated with bolded text.
  • Robot config packages are more clearly listed when running moveit_pro configure.
  • Robot config packages now parse the package.xml to properly report config errors.
  • REST API errors are more clear for debugging purposes.
  • The default Cyclone DDS config was modified to better accommodate large messages on ROS topics such as point clouds. Behaviors such as GetPointCloud should execute much faster now.
  • Objective files are now formatted in a more readable manner when edited by the MoveIt Pro UI.
  • Velocity-Force Controller improvements:
    • Added support for 'control frames'.
    • Added a field in the command to specify motion to execute in the nullspace.
  • All CLI commands have received better prompts.
  • Installing MoveIt Pro now utilizes git-lfs to shrink the size of the moveit_pro_example_ws.

Bug Fixes

  • IMPORTANT: Fixed an issue where moveit_pro build fails when switching between workspaces. In order to fix this we had to revert a previous bug fix from 6.4 to use the docker-compose.yaml in the user workspace so for now this configuration will not be read by the moveit_pro CLI.
  • Fixed an issue where copy-pasted or duplicated behavior nodes in the behavior tree editor would erroneously retain read-only state if copied from within a subtree.
  • Un-built user workspaces will no longer erroneously throw a "missing environment variable" error on startup and will instead indicate hint that your workspace might not be built or sourced.
  • Fixed an issue where it was possible to connect two parents to one Behavior Tree node.
  • Fix CMake cyclical dependency issue that displays multiple "There is a cycle in the constraint graph" warnings during builds.
  • Fixed moveit_pro run showing all packages even if the user already selected a package.
  • Fixed an issue in cyclonedds that would cause Pro to crash during long-running objectives.
  • Fixed a bug where waypoints may fail to be edited on systems using FastDDS.
  • Fixed an issue where modifying a behavior tree could result in newlines being erroneously stripped from the file.
  • Fixes incorrect handling of the mass matrix in the Joint Trajectory With Admittance controller.
  • Fixes a bug causing loss of the Teleoperation modal when the Manual Control Tab fails to load.
  • Fixed keepout zone positioning in the UI not matching the ROS backend and inability to set negative integers for positions.
  • Fixed a middleware issue crashing MoveIt Pro after a day or longer of operation.
  • Fixed newlines being parsed out of xml files by MoveIt Pro UI changes to behaviors.
  • Fixed orbit controls being enabled during Teleop iMarker control, making it difficult to move the robot
  • Fixed inability to select text in the Behavior Search Bar.

6.4.0

· 2 min read

New Features

  • Added the export_logs CLI verb, creating a simple and efficient way to add log files to support requests.

UI Changes

  • Improved general UI performance when point clouds are present in the visualization pane.
  • The UI now remembers which panes you were looking at and displays them by default on next launch.
  • Waypoint and Objective Sidebars have been moved to the left side of the screen along with their toggle buttons. This greatly decreases cursor travel.
  • Joint Jog sliders are now disabled when collision checking is turned off.
  • The Joint Jog Slider Panel is now attached to the Visualization View.
  • Pose Jog Teleoperation buttons only exist within the primary view.

Documentation Improvements

  • Update MuJoCo config migration docs on retrieving the generated robot URDF
  • Added troubleshooting tips for docker-compose.yaml issues

Bug Fixes

  • Fixed numerous issues causing strange behavior and extraneous “File Conflict” warnings while editing behavior trees in the UI
  • Fixed an issue where the marker generated by AdjustPoseWithIMarker would not be removed from the UI upon cancellation of a running behavior tree
  • Fixed packages appearing in a random order when using commands like moveit_pro configure.
  • moveit_pro build now uses the user_ws docker-compose.yaml instead of always defaulting to the main docker-compose.yaml
  • Other minor fixes and improvements
  • Add dev service to installed docker-compose file so moveit_pro shell works when there is no docker-compose in the user workspace
  • When first node in a subtree is a comment node, and that subtree is expanded, the comment will no longer show in the UI blocking the visualization of the behaviors
  • The UI no longer flashes an incomplete rendering when initially switching to the Interactive Marker.
  • Moved Pose Jog buttons to a more stable position that are unaffected by other UI elements.
  • Updating objective name no longer throws error if subtree only checkbox is not toggled.
  • Added “Loading Objective” Prompt to top bar showing when a new objective is loading as opposed to showing the value left behind from the previously run objective.
  • “Approve Trajectory” message in Interactive Marker mode is correctly centered and positioned on screen.

6.4.1

· One min read

Bug Fixes

  • Fixed a bug where the subsampling of trajectories generated via motion planning was not guaranteed to include the last point in the trajectory, which could lead to non-zero ending velocities of the trajectory.

6.3.3

· One min read

Bug Fixes

  • Fixed a bug where the subsampling of trajectories generated via motion planning was not guaranteed to include the last point in the trajectory, which could lead to non-zero ending velocities of the trajectory.

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.