Skip to main content

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

· 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.

2.8.2

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

2.8.1

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

· 3 min read

Changes in This Release

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

2.7.0

· 2 min read

Changes in This Release

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