Release Notes

2.11.0

  • New Behaviors:
    • Point Cloud Manipulation Behaviors:
      • MergePointClouds - For merging multiple point clouds into a single cloud.
      • AddPointCloudToVector - Adds a point cloud to a vector of point clouds.
      • TransformPointCloud, TransformPointCloudFrame - For transforming point cloud frames.
    • Grasping and Planning Behaviors:
      • AddSubframeToObject, GetGraspAndTwistSubframes, GetMoveAlongArcSubframes - For interacting with object affordances in planning tasks.
      • TransformPoseWithPose - For applying transforms (as poses) to poses.
      • PublishStaticFrame - Publishes static transforms to tf2.
    • Utility and Testing Behaviors:
      • ReadTextFileAsString - Reads the contents of a text file as a string.
      • LoadSubframesFromYaml - Loads a set of frames from a persisted file.
      • LoadPoseStampedVectorFromYaml - Loads a set of PoseStamped objects from a yaml file into a vector.
      • GenerateObjectsInBox - For testing; can be used to generate random cuboids in a bounding volume.
      • ForEachPoseStamped - Iterates over a vector of poses.
  • Behavior Changes:
    • LoadPointCloudFromFile - New scaling factor added for resizing imported meshes if needed.
    • GetMasks2DAction - Option added for filtering masks by object classes.
  • Documentation changes:
  • UI Updates:
    • Additional color and skinning updates to the Behavior Tree panels.
    • Fixed synchronization issues when deleting Behavior Tree nodes.
    • Prevent users from updating subtrees in certain scenarios.

2.10.0

  • New and modified perception Behaviors:
    • RegisterPointClouds - Finds the pose of a target point cloud relative to another point cloud using the Iterative Closest Point (ICP) algorithm.
    • GetGraspableObjectsFromMasks3D - Outputs a GraspableObject for each point cloud fragment represented by a 3D mask.
    • LoadPointCloudFromFile - Now supports loading point clouds in either .pcd or .stl formats.
  • New MoveIt Task Constructor Behaviors and Functionality:
    • SetupMTCAttachObject and SetupMTCDetachObject - Can be used to attach or detach a GraspableObject from the planning scene to a robot frame.
    • SetupMTCUpdateObjectCollisionRule - Enables adjusting collision rules between GraspableObjects and other entities in the planning scene.
    • Add additional logging for error states when initializing MTC tasks.
    • Better error handling for misconfigured planning groups in MTC Behaviors.
  • Improvements to Cartesian Path Planning:
    • Additional information on Path IK failures will be logged to the MoveIt Studio console.
    • PlanCartesianPath and ValidateTrajectory - Will always return a complete or partial debug solution for use in trajectory previews.
    • Refer to the Cartesian Path Following tutorial for additional information.
  • Updates to Manual Control and teleoperation:
  • New user guides for connecting MoveIt Studio to hardware:
  • Removed some hardware drivers from core MoveIt Studio binary images.
  • Removed experiemental TAMP Behaviors previously added in 2.8.0.
    • Please contact us if you require access to Behaviors such as GetPlanUsingTAMP or CreateBehaviorTreeFromTaskPlan.
  • UI Updates:
    • Tweaked color schemes for W3C compliance for color-blindness.
    • Adjusted Joint Sliders in the Manual Control tab to support prismatic joints.
    • Port descriptions for Behaviors are now shown in the Objective Editor’s sidebar.
    • Added navigation between the Behavior Tree status window directly to the Objective Editor.
    • General improvements for nested subtrees.

2.9.1

  • Fix issues with collision checking in manual control.

2.9.0

  • Upgrade to newer versions of MoveIt Task Constructor and MoveIt2.
  • New motion planning Behaviors:
    • PlanCartesianPath, ValidateTrajectory and ExecuteFollowJointTrajectory - Behaviors to compute, validate, and execute Cartesian trajectories.
    • SaveJointTrajectoryFromYaml and LoadJointTrajectoryFromYaml - Saves/Loads joint trajectories from/to the blackboard in yaml format.
    • GetAffordancePoses - Returns a vector of affordance stamped poses relative to a graspable object’s reference frame.
  • Cartesian Path Following tutorial updated for new Behaviors.
  • New perception Behaviors:
    • GetMasks3DFromMasks2D - Given a point cloud of a scene and 2D masks from an image of the scene, output a point cloud mask for each image mask.
    • GetPointCloudFromMask3D - Returns a point cloud with the points selected by a 3D mask.
    • ForEachMask2D and ForEachMask3D - Iterates through a vector of image or point cloud masks.
  • UI Updates:
    • Ability to visualize SPHERE and LINE_LIST Rviz Marker primitives.
    • Show previews of robot waypoint poses.
    • Ability to specify planning group from IMarker.
    • Add ability to edit node name.
    • Print message when writing pose yaml to file.
    • Improve user experience when editing and including subtrees.

2.8.2

  • Fix crashing issues for teleoperation when MoveIt Servo is misconfigured.
  • Remove unused dependencies from the MoveIt Studio containers.

2.8.1

  • Fix startup problems that may prevent MoveIt Studio from launching on some machines.
  • Add troubleshooting steps for when conflicting applications are holding onto port 80.

2.8.0

  • Ability to teach pose offsets from AprilTags using the UI.
    • Added several new Behaviors to support this workflow.
    • (Experimental) AveragePoseStamped – Averages estimated AprilTag poses to mitigate detection noise and stabilize results.
    • CalculatePoseOffset - Calculates the offset transform from a source pose to a destination pose, relative to the source pose’s coordinate frame.
    • WritePoseToYAML - Writes a pose to a YAML file.
    • TransformPoseFromYaml - Transforms a pose using another pose contained in a YAML file.
    • Pick and Place Using AprilTag Markers tutorial updated to reflect this new feature.
  • Upgraded to latest version of MoveIt Servo.
    • Separated Teleoperate Behavior and Objective into Teleoperate Joint Jog and Teleoperate Twist.
  • New motion planning Behaviors:
    • AddCartesianPoseToSequence and SetupMTCCartesianSequence - Enables setting up a sequence of poses and planning through those poses.
    • CreateJointState - Create a valid joint state for your robot given joint names and position values.
    • MoveToJointState - Moves to a specified input joint state provided.
    • SetupMTCFromSolution - Provides an alternative to SetupMTCCurrentState to initialize a MoveIt Task Constructor (MTC) task from the final state of a previously computed solution.
  • New perception Behaviors:
    • LoadImageFromFile - Loads an image from a file as a ROS Image message.
    • GetSynchronizedCameraTopics - Retrieves time synchronized RGB image, point cloud, and camera intrinsics data from ROS topics.
    • FindMaskedObjects - Segments a point cloud given image segmentation masks and returns graspable object representations.
    • CropPointsInBox - Segments a point cloud given a rectangular region of interest (ROI).
  • New experimental Behaviors for Task and Motion Planning (TAMP):
    • GetPlanUsingTAMP - Requests a plan from a ROS 2 Planning System (PlanSys2) planning server.
    • CreateBehaviorTreeFromTaskPlan - Builds an Objective given a task plan and a mapping between task actions and Subtrees.
  • IsForceWithinThreshold Behavior refactored to be reusable in loops by reinitializing its running counters.
  • Switch default inverse kinematics (IK) solver in UR example configuration to TRAC-IK.
  • UI updates:
    • Create input and output port remappings for Subtrees.
    • Toggle log levels for controlling the amount information displayed on the screen.
    • “Convert to Subtree” menu options moved into context menus.
  • For more information on incompatibilities introduced with this version, refer to Migration to 2.8.0.

2.7.0

  • Simplified installation process by significantly reducing number of prompts in favor of default values.
  • Added configuration variable to toggle whether MoveIt Studio should use a host-mounted DDS configuration file.
  • Behaviors
    • Renamed MoveToJointState Behavior to MoveToWaypoint, as it accepts a Waypoint name as input.
    • New BiasedCoinFlip Behavior to simulate probability of success for testing purposes.
    • New GetMasks2DAction Behavior that sends images to a ROS action server using this GetMasks2D interface for segmentation tasks.
    • Reduce transform lookup errors in FindSingularCuboids Behavior.
  • UI updates
    • Added support for Condition nodes in Behavior Tree editor.
    • Expanding a collapsed Behavior Tree node performs automatic layout only on the expanded nodes.
  • For more information on incompatibilities introduced with this version, refer to Migration to 2.7.0.

2.6.0

  • Added automated monitoring and restart capabilities to MoveIt Studio backend services.
    • Consolidates the Agent and Bridge processes into a single deployable service. See the Advanced Launch Configurations guide.
    • For users building in custom Docker overlays, this will require changes to your compose file. For changes refer to Migration to 2.6.0.
  • Additional improvements for the parallel planning pipeline.
  • Added new MoveIt Studio SDK for external consumption.
    • Enables users to interact with MoveIt Studio Objectives using a simple Python interface.
    • For more information refer to the Python API User Guide.
  • Initial support for setting constraints on generated MTC motion plans
    • New Behaviors include InitializeMotionConstraints and AppendOrientationConstraint.
    • Includes a user interface for building orientation constraints.
  • Updated developer tooling for building on MoveIt Studio binary Docker images. For more information refer to the Docker Developer Guide.
  • Documentation and support for launching multiple cameras on different machines added in the Hardware Setup Guide.
  • Initial support for grasping with an EPick Vacuum gripper.
    • Added a new Behavior SetupMTCGenerateVacuumGrasps, for generating vacuum grasp poses with MTC.
    • Driver development is ongoing in the ros2_epick_gripper repository.
  • Updates to Universal Robots example workspace
    • Added a pinch link to prevent UR arms from planning or moving through dangerous pinch poses.
    • New sample contstrained planning Objective Constrained Pick and Place added in the picknik_ur_mock_hw_config configuration package.
  • UI updates
    • New unified interface for manual control.
    • Additional logging when starting, stopping, and completing Objectives.
    • Improved functionality when expanding/collapsing Behavior Trees, including state saving in the Objective Editor.
    • General improvements and fixes to the admittance controller tuning utility.
    • Added search capabilities to the Behaviors sidebar in the Objective Editor.
    • Added shortcuts for opening the Objective Editor from the execution panel.

2.5.2

  • Fix issues with rendering custom end effectors when previewing grasp poses.

2.5.1

  • Fix issues mounting host directories for some shell environments.
  • Minor documentation content updates and formatting fixes.

2.5.0

  • Command-line interface updates
    • User workspace is not automatically built every time MoveIt Studio is launched.
    • Allow switching between configuration packages without prompting to delete host-mounted configuration folder.
    • Improvements to Docker images by creating non-root users at container startup time.
    • Additional checks for user environment configuration at install and run time.
    • For more information, refer to the Migration Guide.
  • New Behaviors for AprilTag pose detection, including Detect Apriltags and Get Detection Pose.
  • New Transform Pose Behavior for modifying an existing pose object.
  • MoveIt Task Constructor Behavior updates
    • Split Setup MTC Pick Cuboid into separate Behaviors for approach, grasp generation, and retract. For more information, refer to the Migration Guide.
    • Behavior category name changed from “MTC” to “Task Planning”.
    • New Behaviors to enable concurrent planning and execution, including Get Current Planning Scene, Setup MTC Fixed Joint State, Push To Solution Queue, and Wait and Pop Solution Queue
  • Run multiple MoveIt motion planners in parallel with Setup MTC Move To Joint State Behavior.
  • New moveit_studio_vision_msgs package which contains ROS 2 interfaces for AprilTag detections and graspable objects consisting of cuboids and planar surfaces.
  • Added ability to display cuboid objects from a MoveIt planning scene in the MoveIt Studio web app.
  • Removed built-in support for Kinova robots from the core MoveIt Studio package. For more information, see the Migration Guide.
  • Updates to Universal Robots example workspace
    • New machine tending simulation scene for default mock hardware configuration package.
    • Updated Gazebo configuration package to demonstrate AprilTag based pick and place applications.
    • Parallel sampling-based and joint interpolation planning is on by default when moving between Waypoints.
  • UI updates
    • Improved interactive marker performance.
    • Easier to select connection lines in Objective Builder.
    • Display planner names in trajectory previews.
    • Visible error message when WebGL for graphics rendering is unavailable in a web browser.
    • Automatically determine end effector coordinate frame name for endpoint and joint jogging.
    • Support arbitrary metadata categories for custom Behaviors in the sidebar.
    • Bug fixes.

2.4.1

  • Performance improvements for interactive marker based endpoint control.
  • Fixed some issues with the ./moveit_studio command surrounding user licensing.

2.4.0

  • Robot configuration packages now support multi-level inheritance. For more information refer to the Migration Guide.
  • Custom meshes now render in the web app. For more information refer to the Migration Guide.
  • Updates to Universal Robots example workspace
    • Update configuration packages to use multi-level inheritance.
    • MoveIt configuration now includes the STOMP optimizing motion planner and Anytime Path Shortening (APS) adapter.
    • Switch between different UR arm models with one configuration parameter.
  • Run multiple MoveIt motion planners in parallel with Move to Joint State and Move to Pose Behaviors.
  • Find Singular Cuboids Behavior now allows setting the parent frame instead of using the camera frame by default.
  • pick_ik inverse kinematics plugin version updated for bug fixes and new features.
  • Enhancements and functional fixes to interactive marker based endpoint control.
  • Update Behavior Trees concept documentation with more resources.
  • UI updates: Added description tooltips to favorites Objectives, scroll wheel always zooms in Behavior Tree editor, consistent use of terminology in menu items.

2.3.0

  • MoveIt Studio now runs without root user. For more information refer to the Migration Guide.
  • Documented installing and running MoveIt Studio in virtual machines on Windows and macOS.
  • New Looping Pick and Place demonstration Objective.
  • New Behaviors for fetching images and camera information.
  • Joint slider controls will now show a preview of the robot.
  • Support for adding favorite Objectives directly in XML.
  • Major documentation reorganization and updates.
  • Automated force-torque sensor zeroing behaviors for UR + Robotiq deployments.
  • Improvements in the UI for P-stop manager workflows.
  • Additional services for RViz and the MoveIt Setup Assistant in the launch tool.
  • New Objectives and features for the included UR5e mock hardware and Gazebo simulations.
  • Error codes will pass from MoveIt to the user interface.
  • Additional information in error messages when Objectives are missing required hardware.
  • Bump UR and Robotiq Gripper dependencies for URDF fixes and improvements.
  • Additional warnings in the UI for unsupported URDF options.
  • Display more useful errors with planning with empty MTC tasks.
  • Joint endpoint units and language updates to support prismatic joints.
  • Adjustments to the default ports used by the MoveIt Studio application.
  • Popup changes for creating new Objectives and Behaviors.
  • Browser warnings for unstable Formant connections.
  • Improvements to the install, configuration, and launch scripts for dependency checks.
  • Fixed application healthchecks on launch when loading the UI.
  • Fixed issue when loading nodes model files in user workspaces.
  • Fixed building issues in user workspaces both with the launch option and on application start.
  • Fixed and modified keyboard shortcuts in the Objective Editor.
  • Fixed Objective YAML circular configuration updating and persisting.
  • Fixed timing and reset problems with endpoint control using the interactive marker.
  • Fixed editing issues with subtree layouts, tree creation, and inclusion in the Objective Editor.
  • Fixed admittance control tuning panel reload on save problems.

2.2.3

  • Change default MoveIt Studio application port usage.
  • Update the Docker user group checks during the install process.
  • Update user documentation with additional instructions for virtual machines.

2.2.2

  • Fixing typos in the installation and launching documentation.
  • Rename waypoints and update Objectives in the default PickNik UR configurations.

2.2.1

  • Include frame ID checks when showing grasp candidates in the UI.
  • Adds a Call Trigger Service behavior to the default tree_nodes_model.xml.
  • Fixed saving subtrees when they are created from new Objectives.
  • Fixed breaking issues when adding subtrees to themselves.
  • Fixed duplicate pastes when copying and pasting Behaviors when editing ports.

2.2.0

  • Initial support for inclusion of subtrees in Objectives, and for creating and modifying them through the Objective Editor.
  • New API and button to download all logs as a zip file from the logging tab.
  • Added undo/redo functions and buttons to the Objective Editor.
  • Added tooltips and safety checks to the joint jogging control interface.
  • Interactive marker for Cartesian endpoint control.
  • New tutorial for interacting with MoveIt Studio’s Do Objective Action Server.
  • Ability to reset the camera view for kiosk mode deployments.
  • New base Behavior class for getting the latest message published on a ROS topic.
  • Additional functionality for headless deployments and configuration have been added to the MoveIt Studio launch utility.
  • Moved the standard_tree_nodes_model.xml and included tree_nodes_model.xml to standard, included locations. For changes refer to Migration to 2.2.0.
  • Timeouts and additional checks for Formant enabled deployments.
  • Adjusted MoveIt Servo parameters for UR Robots to the most up-to-date configuration.
  • Fixed verbosity for top level Behaviors when running Objectives.
  • Fixed inability to copy text from toast warning popups.
  • Fixed issues with creating and recreating publishers and subscribers in abstract Behavior classes.
  • Fixed issues with the “Clear Snapshot” Objective.
  • Fixed error messaging for some Objectives with specific hardware requirements.
  • Fixed port validation in the Create Behavior API.
  • Fixed issues with marker rendering and overlapping in the nav bar.
  • Fixed issues for camera controls in the preview window.
  • Fixed re-rendering robot previews when approving trajectories.

2.1.1

  • Adjust subtree editing warnings in the Objective Editor.
  • Minor adjustments to the install process to install tagged versions of the MoveIt Studio user workspace.

2.1.0

  • Added copying and pasting of Behaviors in the Objective Editor.
  • Added running of Objectives by ID in the Objective Server.
  • Added recursive editing of yaml parameters in the Objective Editor.
  • Added joint sliders to the Joint control panel for joint-by-joint jogging.
  • Added new Behavior and functionality for logging during Objective execution. For more information see the Making a Hello World Behavior tutorial, and the new LogMessage Behavior.
  • Added a task_id port to MTC planning behaviors for solution storage and introspection. For changes refer to Migration to 2.1.0.
  • Added documentation and feedback links to the user interface settings dropdown.
  • Added machine learning Behaviors and tutorials in Adding Machine Learning Based Perception to Objectives.
  • Added the UR5e xacro to prevent planning through pinch geometries in the wrist.
  • Fixed issues related to rendering different Behavior Tree layouts.
  • Fixed a critical bug causing stability issues in ros2_control Humble.
  • Fixed scrolling issues in the waypoints dropdown menu.
  • Fixed issues with missing camera configurations for simulated environments.
  • Fixed issues in launch monitoring logic when launching MoveIt Studio.

2.0.2

  • Fixed built-in pick and place Objectives for BT.CPP 4.1.

2.0.1

  • Added documentation for launching MoveIt Studio with Gazebo simulation. For more information see Gazebo Configuration Guide.
  • Fixed issues with large joint jumps in MoveIt Servo for the UR5e robots.
  • Fixed issues in the Waypoints API and editor.
  • Fixed unhandled exceptions in the Objective Server.

2.0.0

Major version increase. For a complete summary of required configuration changes refer to Migration to 2.0.0.

  • Upgraded to BehaviorTree.CPP 4.1.1. For required changes refer to Migration to 2.0.0.
  • Added a new web-bridge for isolated, local MoveIt Studio deployments.
  • Added additional tutorials for custom Behavior generation and workspace testing. For more information see the Getting Started page.
  • Added support for tuning admittance control parameters to the user interface. For more information refer to Configure Admittance Control.
  • Added additional Behavior interface base classes for simplifying building of customer Behaviors. For more information refer to the List of Core Behaviors documentation.
  • Added a public MoveIt Studio user workspace. For more information refer to Configuring a Custom Robot.
  • Added support for including multiple tree_nodes_model.xml files in user workspaces.
  • Added messaging to the user interface for MoveIt Servo statuses (e.g. approaching singularities or joint limits).
  • Added an UpdatePlanningSceneService Behavior for improved collision scene monitoring.
  • Added a ForEach decorator node for iterating over values in a Behavior Tree. For more information refer to the List of Core Behaviors documentation.
  • Added overlay Docker images and instructions for developing MoveIt Studio Behaviors from containers. For more information see Create Overlay Docker Images.
  • Added ability to modify the servo speed from the Cartesian and Joint control panels.
  • Added support for logging at different levels from Behaviors to the MoveIt Studio user interface.
  • Improvements to the Logging panel in the MoveIt Studio user interface.
  • Improvements for database synchronization in the Objective Editor.
  • Fixed warnings for missing configuration in base and site config parameters.
  • Fixed issues related to DDS configuration generation.
  • Fixed issues with animations and lagging in the user interface.
  • Fixed segfault issues related to Robotiq Gripper connections.
  • Fixed issues with the JointTrajectoryController and success criteria in ros2_control Humble.
  • Fixed issues related to Behavior Tree layouts in the Objective Editor.