Release Notes

5.2.0

  • Key Changes:
    • Added support for differential drive mobile manipulators. Please reference the configuration for the Hello Robot Stretch RE1 for an example of how to configure MoveIt Pro for this use case.
../../_images/coffeshop_demo_Bryan_2.5x.gif
  • Configuration Improvements:
    • Added support for MuJoCo simulation backend.
    • The user workspace can now be built with additional Colcon arguments (like packages_select) using moveit_pro build user_workspace --colcon-args="--packages-select your_package"
  • New User Interface Features:
    • If your robot is reporting joint states outside of the defined limits in your URDF, the UI will display a warning including the joint name, state, and the violated limit.
    • If your robot is erroneously reporting joint states for fixed joints, the UI will display a warning including the name of the joint that may be mis-defined in the URDF or misconfigured in the robot driver.
    • MTC Solutions containing Multi-DOF joint states e.g. mobile bases can now be previewed in the UI
    • Interactive Marker teleoperation is now compatible with Multi-DOF joints e.g. mobile bases.
    • Saved Waypoints can now include Multi-DOF joints e.g. mobile bases.
    • The interface will now notify you if there’s a new version of Pro available with your subscription.
    • Clicking on the version number in the help dropdown will now take you to the release notes of your version of MoveIt Pro.
    • When using Interactive Marker teleoperation, you can now select which planning group you would like to drag.
  • Behavior Changes:
    • Navigation behaviors that call actions on a system running Nav2: * NavigateToPoseAction: Sends the base to a single pose using Nav2 * NavigateThroughPosesAction: Sends the base through a vector of poses using Nav2
    • GetMasks2D has been updated to handle clicked points on the image. * GetMasks2D Behavior updated to use PointStamped as the clicked-point message type for better interoperability with other ML Behaviors. * Segment Anything Action Server now parses clicked points for better Segment Anything inference.
    • YAML Behaviors for saving and loading new message types have been added. MoveIt Pro now supports saving and loading: * std_msgs/Header * geometry_msgs/PointStamped * geometry_msgs/Quaternion * geometry_msgs/Vector3 * geometry_msgs/Transform * geometry_msgs/TransformStamped
    • Added a CropPointsInSphere behavior that enables users to crop point clouds based on their radial distance from a designated frame
    • MTC Behaviors requiring Cartesian motion will now use an improved internal solver.
    • GetSyncedImageFromPointCloud now allows the topics being synchronized to have differing QoS settings
    • SetupMTCConnectWithTrajectory will add a connect MTC stage to the task to join the previous stage with the start state of the next stage using a freespace trajectory.
  • Other Enhancements:
    • Updated SubTree turorial
    • Bug fixes and performance improvements.
    • Improved errors for unsupported configurations.
    • Dropped mainline support for Ubuntu 20.04, to support continuing improvements to the moveit_pro launcher. * Current customers can contact us at support@picknik.ai for a workaround if needed to support mission-critical 20.04 systems.

5.1.1

  • Documentation fixes.

5.1.0

  • Key Changes:
    • MoveIt Pro no longer automatically launches RealSense cameras defined in the cameras.yaml. To better support different hardware configurations, cameras.yaml is no longer required and you must launch your camera drivers yourself. We’ve included an easy migration script to convert your cameras.yaml to a cameras.launch.xml!
    • Added an ExecuteTrajectoryWithAdmittance behavior to allow use of the MoveIt Pro Joint Trajectory Admittance Controller
      • This controller has no dynamic memory allocation during execution to improve safety and reliability.
      • This controller takes admittance parameters as part of the command, as opposed to a separate ROS 2 parameter interface, which makes it easier to use.
      • This controller implements ‘stop-on-contact’ functionality and smooth stop trajectories.
    • Added new Behaviors and UI functionality for operator input, RequestTextFromPrompts and AdjustPoseWithIMarker
    • Major SubTree usability enhancements in the Objective Builder
  • Full Release Notes
  • Configuration Improvements:
    • Removed cameras.yaml from MoveIt Pro’s configuration parser and launcher (see Key Changes section)
    • Fixed many issues with stale configurations that were caused by persistent ~/.config/moveit_pro directories. This directory is now ephemeral, and all changes persist back to your site configuration’s source directory.
    • moveit_pro setup_workspace now supports cloning SSH / git@ repositories
    • Corrected ~ expansion in User workspace path ({STUDIO_HOST_USER_WORKSPACE})
  • New User Interface Features:
    • MoveIt Pro’s URDF visualizer now supports Planar and Floating joints.
    • Using the AdjustPoseWithIMarker behavior, an Objective can now request that an operator adjust a pose within the 3D scene using an interactive marker. For example, verifying a candidate grasp pose in a user-in-the-loop pick-and-place.
    • Using the RequestTextFromPrompts behavior, an Objective can now request that an operator input textual content into a form. This enables, for example, including operator-driven prompting of an ML model within your Objective.
    • Improved display of SubTree descriptions in the Objective Builder
    • Modifications to SubTree ports are now saved as defaults within the SubTree. Subsequent uses of the SubTree will automatically populate the ports with default values
    • Visual clarity improvements to crosshair when selecting points on an image feed
    • Replaced port directionality arrows in the Objective Builder with color-coded text to improve glanceability
    • SubTrees are now collapsed by default in the Objective Builder, to make editing large, highly-composed Objectives less unwieldy. Manually expanding them will still keep them expanded between sessions.
    • Bug fixes and performance improvements, especially for teleoperating robots without grippers
  • Behavior Changes:
    • Behaviors added to support grasp candidate adjustment in the UI:
      • AdjustPoseWithIMarker publishes a candidate pose and returns the adjusted pose from the UI
      • GetSyncedImages synchronizes two camera topics, most useful for synchronizing RGB data with depth data to generate a pose from a pixel coordinate
    • Added the RequestTextFromPrompts behavior to display textual forms in the UI
    • Removed internal-only GetPoseFromUser and GetIntFromUser behaviors
    • Added template behaviors AddToVector<T> and ResetVector<T> which can be implemented to allow composing vectors during Objective runtime
    • Error message improvement to ActionClientBehaviorBase:
      • The ActionClientBehaviorBase behavior template now exposes a getAbortedMessage function that returns a string. The string will be displayed in the MoveIt Studio error toast message if the action is aborted. The ExecuteFollowJointTrajectory and ExecuteTrajectoryWithAdmittance behaviors now provide useful hints if they are aborted.
    • Added ExecuteTrajectoryWithAdmittance (see Key Changes section)
    • SetupMTCUpdateGroupCollisionRule behavior’s parameters are no longer read in from a YAML file using the LoadObjectiveParameters behavior. The behavior parameters are set as input ports.
    • Added GetMeshNormalPose behavior to calculate the surface normals of a visual mesh in the robot model
    • Added PublishMarkers behavior to publish a MarkerArray to the UI/RViz.
    • Added SolveIKQueries behavior to determine if the robot can reach a list of target poses.
    • New “load from YAML” and “save to YAML” behaviors for:
      • Octonion
      • Vector3
      • Transform
      • TransformStamped
      • Time (builtin_interfaces)
      • Waypoint (moveit_studio_agent_msgs)
      • UnorderedMap<String, Waypoint>
  • Controller Changes:
    • Added a stop_accelerations port to the MoveIt Pro Joint Trajectory Admittance Controller to allow specifying per-joint decelerations to use when halting trajectory execution, in the event of force threshold being met or other exit criteria.
    • Apply a second-order Butterworth filter and deadband to the force/torque sensor signal in the Trajectory Admittance Controller.
  • Planner Changes:
    • The default joint-space interpolation planner is now exclusively RRTConnect, instead of both RRTConnect and Pilz PTP, to reduce the number of required configuration files for most users.
  • Other Enhancements:
    • Improvements to MoveIt Pro’s Docker configuration to allow better interoperability with EtherCAT-based hardware
    • Numerous improvements to error messaging in the moveit_pro script and the included launchfiles
    • The MoveIt Pro installer will now attempt to version-match a requested configuration download against the installed version of Pro.

5.0.0

Major version increase. For a complete summary of required changes, refer to Migration to 5.0.0.

  • Major UI Enhancements:
    • Web UI Modifications: The Web UI now automatically retrieves the generated end effector URDF, enhancing integration and reducing manual configuration efforts.
    • Enhanced Jog Interface: The UI dynamically queries the servo system to identify joggable joints, streamlining user interaction.
    • Request Points from User: Your objective can now request that an operator click location(s) on an image stream, to help you build supervised autonomous workflows.
    • UI Bug Fixes and Improvements:
      • Resolved various UI issues including constraints editor malfunctions, sidebar layout fixes, and enhanced scroll interactions in multiple UI components.
      • Enhanced Error Handling and User Interface Adjustments: Improved error feedback mechanisms and refined user interface elements to enhance the user experience.
  • Behavior Development and Enhancements:
    • Behavior Server Updates: Objective Server now supports automatic generation of tree_nodes_model.xml for Behavior plugins, significantly simplifying behavior management.
    • New Behaviors Introduced:
      • Servo Towards Pose: Allows more intuitive point-and-move operations. Enables Visual Servoing applications.
      • User Interactive Behaviors: Enhanced capabilities for user interaction, including getting points and poses from pixel coordinates.
    • Behavior Stability: Significant stability enhancements and refactoring across various behaviors to improve reliability and performance.
    • Behavior Refactoring: Complex behaviors have been converted to behavior tree objectives using a collection of simpler behaviors, adding further insight and adaptability to existing capabilities.
  • URDF and SRDF Updates
    • Enhancements to streamline the handling of robot descriptions and semantics.
    • Centralized fetching of robot descriptions ensures consistent application settings.
    • Gripper configurations are now directly integrated from SRDF, improving setup accuracy.
  • Documentation and Tutorials:
    • Added comprehensive guides on using Visual Servo Objectives and implementing pick and place operations, fostering a deeper understanding and broader application of MoveIt Studio functionalities.
  • MTC (MoveIt Task Constructor) Enhancements:
    • Enhanced Debugger Features:
      • Solution Introspection: The MTC solution can be inspected by clicking the bug icon on the PlanMTCTask node in the behavior tree after it gets ticked. Each stage of the MTC task is labelled with a pass/fail indicator as well as time to compute and number of valid solutions.
      • Runtime Metrics: Run times are now displayed in the MTC debugger, providing immediate feedback on task execution durations.
      • Advanced Visualization Overlays: Introduced visualization overlays in the MTC debugger to enhance the clarity of task planning.
    • Visualization and User Interface Optimizations: Improved Error Displays. Collision information is now displayed when MTC plans fail, providing detailed feedback for troubleshooting.
    • Backend Enhancements and Error Handling:
      • Data Storage Enhancements: Task descriptions and statistics are now stored in the backend, enabling better tracking and historical analysis of MTC operations.
  • Installer and Launcher Updates:
    • New Installer: Transitioned to a Debian package-based installer, facilitating a smoother installation process.
    • Launcher Enhancements: Improved the moveit_pro launch script for enhanced user experience starting and managing sessions.
  • Dependency Management:
    • ROS and Ubuntu Snapshot Updates: Current to the latest February 2024 snapshots, ensuring compatibility and performance.
    • BehaviorTree.CPP Upgrade: Updated to version 4.5.2, leveraging new functionalities and performance improvements. This update is part of broader enhancements in package management and dependency declarations, ensuring the system remains robust and efficient.
    • MoveIt 2 Servo Updates: Updated to fix collision checking with attached objects, significantly improving motion planning reliability.
  • Other improvements:
    • Reduce memory usage, improve load times, data consistency and network efficiency.
    • Stability Improvements: Multiple fixes and validations added to enhance the overall stability and reliability of the application framework.

4.0.2

  • moveit_pro build_workspace reports if there are errors building or running the user Docker overlay.
  • Fixes to use and error reporting of symlinks.
  • Fix use of symlinks to create/delete/clone objectives from REST API.

4.0.1

  • Add ability to authenticate licenses offline after one-time setup.
  • Allow overriding lists in robot configuration files with empty lists.
  • Fix displaying prismatic joints with nonzero rotation in UI.

4.0.0

Major version increase and rebrand to MoveIt Pro. For a complete summary of required changes, refer to Migration to 4.0.0.

  • Updated Terms and Conditions.
  • Several user commands and folder locations have changed from moveit_studio to moveit_pro.
  • MoveIt Pro core Docker image no longer contains robot-specific packages, which changes user workflows.
  • Major refactor of teleoperation:
    • Switched to single Teleoperate Objective that allows user to move between different teleoperation modes without switching Objectives.
    • Added reusable Request Teleoperation Subtree that allows adding teleoperation in your custom Objectives, with configurable prompts to guide operators.
  • New Behaviors:
    • FitLineSegmentToMask3D - Fits a line segment to a 3D point cloud fragment.
    • LoadPoseStampedFromYaml - Loads a stamped pose ROS message from a YAML file.
  • Developer tooling:
    • Modifications to Objectives and Waypoints in the UI are now synced to user workspace source code, and vice versa.
    • New metadata format in tree_nodes_model.xml to categorize your Behaviors.
    • Added SendMessageToTopicBehaviorBase class to create Behaviors that publish to a ROS topic.
    • Improved error messages when Behavior ports are set incorrectly.
  • Universal Robots (UR) example workspace:
    • Repository renamed to moveit_studio_ur_ws for clarity.
    • Removed the camera-aligned manual_grasp_link frame from robot description, in favor of the gripper-aligned grasp_link frame.
  • Improved servoing for position-controller robots, which requires changes in MoveIt Servo configuration.
  • New ./moveit_pro logs command to open a log viewer.
  • Documentation:
  • UI Updates:
    • Simplified interface: smaller logo, manual control options appear only when teleoperating.
    • Improved validation for misconfigured ports and unconnected Behaviors.

3.0.2

  • Add ability to authenticate licenses offline after one-time setup.
  • Allow overriding lists in robot configuration files with empty lists.
  • Fix displaying prismatic joints with nonzero rotation in UI.

3.0.1

  • UI bug fixes
  • Fix STOMP segfault when robot is in collision during planning

3.0.0

Major version increase. For a complete summary of required changes, refer to Migration to 3.0.0.

  • Updated MoveIt version to include planning pipeline refactor and per-joint limit margins in MoveIt Servo.
  • Added new Parameter Manager node to store and retrieve joint state and pose parameters set from the UI for manual control applications.
  • New Behaviors:
    • ExtractGraspableObjectPose - Given a Graspable Object, returns its pose to an output port.
    • RetrieveJointStateParameter / RetrievePoseParameter - Retrieve joint states and poses that are set from the UI for manual control applications.
    • PublishStaticFrame - Publishes a static transform to the tf2 buffer.
    • PublishString - Publishes a string to a specified ROS topic.
  • Behavior Changes:
    • AveragePoseStamped - No longer an experimental Behavior. Can be used multiple times in a single Objective, improved orientation averaging, and configurable for finite-time vs. continuously running operation.
    • Pick April Tag Labeled Object tutorial updated with new pose averaging capabilities.
    • GetJointStateFromUser removed in favor of RetrieveJointStateParameter.
    • SetupMTCMoveAlongFrameAxis - Get all input parameters from individual ports instead of a YAML file.
    • YAML read/write Behaviors:
      • New LoadFromYaml, LoadMultipleFromYaml, and SaveToYaml base classes for authoring custom Behaviors.
      • All Behaviors now support absolute paths and relative paths to the configuration folder (${HOME}/.config/moveit_pro/<config_package_name>/objectives) folder.
      • SaveJointTrajectoryToYaml / SavePoseToYaml - Refactored to reuse generic implementation.
      • WritePoseToYaml removed in favor of SavePoseToYaml.
    • Behavior interface for developers:
      • Replaced all uses of fp::Result with tl::expected.
      • ActionClientBehaviorBase base class now provides a processFeedback function to insert user code for handling action feedback.
  • moveit_studio_agent_msgs package moved to the public moveit_studio_sdk repository.
  • Added integration testing reference package to moveit_studio_ws repository, including CI support.
  • UI Updates:
    • New debug overlay when planning fails with PlanMTCTask Behavior.
    • Added debugging resume button to be used along with BreakpointSubscriber Behaviors.
    • Allow streaming images from arbitrary ROS topics.
    • Show pre- and post-conditions in Behavior Tree editor.
    • Trajectory previewing: Display planning algorithms, replaced stepped with simplified approval view.
    • Removed Logs tab.

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 April Tag Labeled Object 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 ML 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.