Skip to main content

7.0.0

· 6 min read

Major Features

  • Add trajectory stitching in the Joint Trajectory Admittance Controller. This enables the JTAC to stitch a new trajectory to a currently executing trajectory without stopping.
  • This version includes a built-in pose inverse kinematics solver (PoseIK) that is 10x faster than existing open-source solvers. Check out the corresponding how-to guide. The example configs have been updated to use this new IK solver.
  • Introduced a new sidebar that unifies the look and feel of the Build and Run tabs and allows leaving the sidebar open while the robot is executing a tree, for quicker multi-tasking while developing new objectives.

Other changes

  • Pro-RRT now supports robots with continuous joints, to move along the shortest direction to the target angles.
  • Pro-RRT now supports 2 DOF orientation constraints, e.g. keep the tool with a bound angle with respect to the horizontal.
  • Planning speed-up:
    • The default port values in PlanCartesianPath and ValidateTrajectory have been updated for faster planning out of the box.
    • MTC Cartesian planning Behaviors (e.g. SetupMTCMoveAlongFrameAxis) have been optimized for faster planning.
    • The RobotModel is now part of BehaviorContext so that it can be used right away from Behaviors without the cost of loading it.

New Behaviors

  • AddToolToScene and RemoveToolFromScene are new Behaviors that can be used to insert or remove a 'tool' into the Planning Scene. Please refer to the Tool Changing guide for more information.
  • The GeneratePointToPointTrajectory behavior can be used to generate a straight line JointTrajectory between two joint space waypoints defined by RobotJointState ROS messages. The waypoints may have non-zero velocities if desired.
  • The GetTrajectoryStateAtTime behavior can be used to get the joint state of a robot at a specified time in a JointTrajectory.

Behavior Changes

  • AttachTool now requires that the tool exists in the Planning Scene before it can be attached (via the new AddToolToScene Behavior).
  • AttachTool does not take the tool URDF and relative pose anymore, it just takes the parent link to attach to.
  • DetachTool will insert the detached tool back into the Planning Scene after it is detached, at the detachment pose.
  • CreateJointState now returns a moveit_studio_agent_msgs::msg::RobotJointState as output, to make it consistent and compatible with other Behaviors.
  • Removed redundant ForEachCollisionObject, ForEachGraspableObject, ForEachObjectSubframe, ForEachString, ForEachPoseStamped, ForEachMask2D, and ForEachMask3D Behaviors. Use base ForEach instead.
  • Re-retrieve input port values in PublishVelocityForceCommand while it is running so updates will be registered in the command.
  • Behaviors can now be marked as deprecated by adding a metadata key-value pair with key deprecated and a string with any detail you'd like to add. When deprecated behaviors are loaded during an objective run, a warning will be logged.

UI Changes

  • Changed Behavior Tree nodes to show 5 ports before the "Show more" button is shown, instead of 3.
  • Add ability to visualize TRIANGLE_LIST markers
  • Add ability to visualize mesh CollisionObjects as TRIANGLE_LIST markers
  • Add popovers and ability to copy text in port type labels.
  • Make the "Select Joint Groups" in new waypoint form secondary.
  • Unified terminology in UI to use "Duplicate" instead of "Clone"
  • Update notification toasts to use subject headers and add a "Clear All" button
  • Auto-focus the objective search input when opening the slide out objective panel
  • Add a "Planning Group" label in jog settings to clarify the purpose of the setting.
  • Reorder ports to show them in the sorted order "IN", "OUT", "INOUT" and alphabetically for ports with the same direction.
  • Adds visualization of the Global Costmap via Nav2 to the Visualization Pane of Pro, which dynamically updates via the global_costmap/costmap_updates topic.
  • Adds visualization of the Local Costmap via Nav2 to the Visualization Pane of Pro, which dynamically updates via the local_costmap/costmap_updates topic.
  • Subtree port remapping no longer allows the creation of input and output ports, as all subtree ports are actually in/out.

Documentation Improvements

  • The Tool Changing guide has been updated to reflect the changes in the tool-changing Behaviors.
  • The AprilTag guide has been updated to for the lab_sim world.
  • The workflow for Running MoveIt Pro without the CLI has been released.
  • Add the MoveIt Pro ML on Jetson Devices guide for enabling the GPU on Jetson devices while running MoveIt Pro.
  • Print MoveIt Pro header on first run or configure.
  • A guide has been added on how to setup a MoveIt Pro config to use Nav2.

Other Improvements

  • Deprecate the subtree_only flag for runnable flag for positive assertions and improved clarity.
  • Running moveit_pro down --rmi will delete Docker images that MoveIt Pro has built.

Bug Fixes

  • Fixed a bug where nodes with short node names but long port names could lay out incorrectly in the Behavior Tree Editor.
  • CreateJointState bugfix: avoid segfaulting if users don't pass in effort values.
  • Fixed a bug with MTCMoveAlongFrameAxis handling of min_distance and max_distance when they are equal.
  • Fixed an issue where certain prompts in the UI might not disappear correctly when a user cancels a running objective during execution.
  • Fixed a bug where terminals were not properly colorized inside moveit_pro shell.
  • Change SaveFromYaml and LoadFromYaml behaviors to save/load directly in the active configuration's source objectives folder instead of the temporary .config folder.
  • Fixed a bug where the Precondition Behavior's default value for the else port is different between the objective builder and the objective runner.
  • Uninstalling MoveIt Pro will now delete its Docker images again.
  • Fixed a bug where the application would crash if a robot configuration contained an empty objectives directory.
  • Fixed an issue where the UI detecting new ROS image topics could erroneously reset the layout in the run tab.
  • Fixed an issue where the "Run" tab could consume much more CPU than intended.

Migration Guide

  • Existing uses of CreateJointState may have to be adapted to the new type it returns: moveit_studio_agent_msgs::msg::RobotJointState.
  • Use ForEach in place of deprecated ForEach[Type] behaviors.
  • The docker-compose.yaml file found in the user workspace is now outddated and can be safely deleted. For configuring the workspace's base image further, please look at the Example Workspace's docker-compose.yaml.
  • Gazebo Configuration Guide is deprecated. We recommend you switch to the new simulation engine.