Skip to main content

9.4.3

· 3 min read

Enhancements

Reference Application Changes

  • Migrated the formerly CLIPSeg-based text-segmentation Objectives in lab_sim, hangar_sim, kitchen_sim, and dual_arm_sim to Segment Anything Model 3 (SAM3).
  • Migrated the text-prompt segmentation Subtrees in picknik_ur_base_config, franka_base_config, and dual_arm_sim to SAM3, with the breaking interface changes below.

Breaking change: text-prompt Subtree ports

Custom Objectives calling any of these Subtrees must update their input mappings:

  • Segment Image from Text Prompt Subtree.
  • Segment Image from No Negative Text Prompt Subtree.
  • Segment Point Cloud from Text Prompt Subtree.
Previous inputRequired update
promptsReplace with a single text_prompt.
thresholdReplace with confidence_threshold, which defaults to 0.5.
negative_promptsRemove; SAM3 has no equivalent input.
erosion_sizeRemove.
clip_model_path, clipseg_model_pathRemove. Use the bundled SAM3 defaults or configure encoder_model_path, decoder_model_path, geometry_encoder_model_path, and text_encoder_model_path.
model_packageSet to moveit_pro_sam3, or omit it to use that new default.

Retune existing threshold values: SAM3's confidence_threshold scores each detection, whereas CLIPSeg's threshold filtered individual pixels.

When no detection passes the threshold, these Subtrees now return success with empty mask outputs instead of failure. The point-cloud Subtree also returns an empty point_cloud_vector. Use the new mask_count output to handle zero detections before consuming the results.

The underlying GetMasks2DFromTextQuery Behavior remains registered in MoveIt Pro 9.4 for customers supplying their own CLIPSeg models.

Other Improvements

  • The MoveIt Pro Runtime image no longer installs the unused FreeImage library. An overlay workspace that uses libfreeimage without declaring it must add <depend>libfreeimage-dev</depend> to its own package.xml.

Bug Fixes

  • Fixed the interactive marker trajectory approval prompt disappearing after a failed plan, and fixed the ghost robot staying visible after the marker resets.
  • Fixed the interactive marker's planning indicator remaining visible after planning fails or while waiting for trajectory approval.
  • Fixed the terminal being left with echo disabled after the moveit_pro command was killed while it was waiting at a prompt.
  • Fixed the orthographic overhead (top-down) 3D view rendering rotated instead of axis-aligned.
  • Fixed MoveIt Pro Runtime containers losing access to Trusted Platform Module (TPM) and GPU devices when a host device's group ID matched a group that already exists in the container.
  • Fixed the example workspace upgrade prompt stashing local changes and removing submodules, then failing, when the workspace was cloned with a single branch.
  • Fixed expanding a Subtree in the Behavior Tree editor disconnecting the Subtree's contents when its file has a comment above the root node, which could also truncate that file when the Objective was saved.
  • Fixed moveit_pro run reporting a container healthcheck timeout as an application crash. The command now names the service that failed its healthcheck, the check it ran, the startup budget it was given, and what the last probe reported.
  • Fixed moveit_pro run misreporting a healthy service as crashed on hosts running Python 3.10, where Docker's timestamps failed to parse.
  • Core Fixed the ProRRT planner crashing when start or goal joint positions contain non-finite values. It now returns a planning error that names each affected joint and its value.