Skip to main content

5.0.0

· 7 min read

Major version increase.

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 Servoing 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

· One min read
  • 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

· One min read
  • 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.2

· One min read
  • 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

· 5 min read

Changes in This Release

Major version increase and rebrand to MoveIt Pro.

  • 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:
    • Tutorials on creating Behaviors that interact with ROS services and actions.
      • New reference application pages on Object Registration and ML Segmentation.
      • Added ability to provide user feedback on documentation pages. Please share your feedback with us!
  • UI Updates:
    • Simplified interface: smaller logo, manual control options appear only when teleoperating.
      • Improved validation for misconfigured ports and unconnected Behaviors.

3.0.1

· One min read
  • UI bug fixes
  • Fix STOMP segfault when robot is in collision during planning

3.0.0

· 6 min read

Changes in This Release

Major version increase.

  • 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 AprilTag 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

· 2 min read

Changes in This Release

  • 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

· 3 min read

Changes in This Release

  • 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:
    • Pulled in additional fixes and upgrades for MoveIt Servo that may require updates to configuration packages.
      • Added support for switching planning groups when Teleoperating.
  • New user guides for connecting MoveIt Studio to hardware:
  • Removed some hardware drivers from core MoveIt Studio binary images.
  • Removed experimental 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

· One min read
  • Fix issues with collision checking in manual control.