Skip to main content

5.3.1

· One min read

Bug fixes

  • Alleviated a performance issue when running the joint jog mode of teleoperation
  • Fixed an issue where you may have been unnecessarily prompted to remove your MoveIt Pro config directory during installation
  • Fixed an issue where clicking the “favorite” icon on an Objective would also execute that Objective
  • Fixed an issue where the runtime status of a behavior tree may not have automatically laid out correctly
  • Fixed an issue where MoveIt Pro could have unnecessarily restarted itself after a reboot of your computer
  • Fixed an issue where GenerateVacuumGraspPose could not be used in combination with some other MTC behaviors due to property conflicts
  • Additional miscellaneous fixes to installation and documentation

5.3.0

· 5 min read

New Controllers and Behaviors

  • We are releasing a "Joint Trajectory with Admittance" controller (JTAC) as a ros2_control controller plugin, and a corresponding behavior to interface with the controller, called ExecuteTrajectoryWithAdmittance. This behavior allows executing a trajectory in a compliant way if your robot has a force/torque sensor installed at the wrist. Check out our how-to guide Configure Admittance Control for more information.

User Interface Changes

  • The failure or completion of a running Objective will no longer jump you back to the Objectives homepage
  • Added a “restart” button for failed or completed Objectives
  • The Objectives tab now correctly resumes the UI for your currently-running objective when re-entered from another page
  • visualization_msgs/Markers of type ARROW are now supported
  • visualization_msgs/Markers of type MESH_RESOURCE are now supported
  • Editing an Objective that is referenced by another Objective as a SubTree will now warn you about its usage in other Objectives
  • The sidebar of the Objective Builder and Objectives tabs that lists all your Objectives now has a consistent look and feel between the two screens and has all the same functionality in both places

Behavior Changes

  • Add Velocity Force Controller interoperability:
    • Add PublishVelocityForceCommand behavior to send commands to the `Velocity Force Controller``
    • Add VelocityForceController plugin so it can be activated by the ActivateControllers behavior
    • Fix Velocity Force Controller control law direction
  • Improve Velocity Force Controller stopping behavior to limit jerk:
    • Execute a stop trajectory on timeout
    • Execute a stop trajectory on joint position limit prediction
  • Admittance Control updates:
    • Renamed UpdateAdmittanceController to `SetAdmittanceParameters``
    • SetAdmittanceParameters now generates parameters compatible with the MoveIt Pro Joint Trajectory Admittance Controller (JTAC) in addition to parameters compatible with the ros2_control admittance controller
      • Usage with the ros2_control admittance controller is deprecated and will be removed in a future version.
  • Simplified the behavior for displaying point clouds in the visualization pane. Point clouds are automatically transformed in to the world frame are no longer cropped via the ROS 2 parameter <sensor_name>.max_range. The unused port point_cloud_uuid was removed as well.
    • Migration: Remove the sensor_name="..." and point_cloud_uuid="..." ports from existing objectives with SendPointCloudToUI behaviors. The max_range parameter is no longer used by this behavior. To crop the point cloud, use one of our CropPoints behaviors.
    • Example:
      • Previous: <Action ID="SendPointCloudToUI" point_cloud="{point_cloud}" sensor_name="scene_scan_camera" pcd_topic="/pcd_pointcloud_captures" point_cloud_uuid=""/>
      • Updated: <Action ID="SendPointCloudToUI" point_cloud="{point_cloud}" />

Other Enhancements

  • Updated launcher and documentation tips for easier workspace builds try `moveit pro build --help``
  • ign_ros2_control removed as a core dependency.
    • Migration options:
      • Clone the version of your choice to your user workspace, and build your workspace using `moveit_pro build user_workspace``
      • Add the ROS 2 dependency to your configuration’s package.xml and build your Docker overlay using `moveit_pro build user_image``

Bug Fixes

  • Fixed moveit_pro test to correctly run colcon test in a MoveIt Pro Docker container. Use moveit_pro test --help for additional usage tips
  • Clarified the joint limit exceeded error message to not imply that the joint was necessarily commanded to that position
  • visualization_msgs/Markers will now properly have their frame_id respected instead of rendering only in world frame
  • Fixed an issue where the previews for joint jogging in Teleoperate could become desynchronized from the robot state
  • Additional miscellaneous fixes and improvements

Previous:

<Action ID="SendPointCloudToUI" point_cloud="{point_cloud}" sensor_name="scene_scan_camera" pcd_topic="/pcd_pointcloud_captures" point_cloud_uuid=""/>

Updated:

<Action ID="SendPointCloudToUI" point_cloud="{point_cloud}" />
  • Other Enhancements:
    • Updated launcher and documentation tips for easier workspace builds try moveit pro build --help
      • ign_ros2_control removed as a core dependency.
        • Migration options:
          • Clone the version of your choice to your user workspace, and build your workspace using moveit_pro build user_workspace
            • Add the ROS 2 dependency to your configuration’s package.xml and build your Docker overlay using moveit_pro build user_image

5.2.0

· 3 min read

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.

Coffee Shop Demo

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
        • UnorderedMap<String, Waypoint>
    • 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.

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

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

· One min read
  • Documentation fixes.

5.1.0

· 6 min read

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

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

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