Skip to main content

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.

2.9.0

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