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 ConvertMTCSolutionToJointTrajectory, 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.