From 530ca760de9a1f3add7e61e60a61705049506af8 Mon Sep 17 00:00:00 2001 From: Griswald Brooks Date: Wed, 4 Mar 2026 18:03:59 -0500 Subject: [PATCH] Migrate lab_sim CLIPSeg objectives to SAM3 Replace GetMasks2DFromTextQuery (CLIPSeg) with GetMasks2DFromExemplar (SAM3) across 5 lab_sim objectives and 2 reusable subtrees. This simplifies the grasping pipeline from a two-stage CLIPSeg+SAM2 refinement loop to a single SAM3 call, and removes the dependency on moveit_pro_clipseg models. Co-Authored-By: Claude Opus 4.6 --- .../objectives/addbottlestoplanningscene.xml | 20 ++-- src/lab_sim/objectives/ctb2.png | 3 + .../get_candidate_grasps_subtree.xml | 86 ++++++---------- .../get_grasp_from_text_prompt_subtree.xml | 13 +-- src/lab_sim/objectives/iss1.png | 3 + ...d_bottles_on_table_from_image_exemplar.xml | 71 +++++++------- .../ml_find_ctb_from_bounding_box.xml | 56 +++++++++++ .../ml_find_ctb_from_image_exemplar.xml | 63 ++++++++++++ ...from_file.xml => ml_segment_from_file.xml} | 12 +-- src/lab_sim/objectives/ml_segment_image.xml | 17 ++-- .../objectives/ml_segment_point_cloud.xml | 26 ++--- src/lab_sim/objectives/pick_1_pill_bottle.xml | 24 ++--- .../objectives/pick_all_pill_bottles.xml | 5 +- .../objectives/sam3_segment_image_subtree.xml | 65 +++++++++++++ .../sam3_segment_point_cloud_subtree.xml | 97 +++++++++++++++++++ 15 files changed, 417 insertions(+), 144 deletions(-) create mode 100644 src/lab_sim/objectives/ctb2.png create mode 100644 src/lab_sim/objectives/iss1.png create mode 100644 src/lab_sim/objectives/ml_find_ctb_from_bounding_box.xml create mode 100644 src/lab_sim/objectives/ml_find_ctb_from_image_exemplar.xml rename src/lab_sim/objectives/{ml_segment_bottles_from_file.xml => ml_segment_from_file.xml} (71%) create mode 100644 src/lab_sim/objectives/sam3_segment_image_subtree.xml create mode 100644 src/lab_sim/objectives/sam3_segment_point_cloud_subtree.xml diff --git a/src/lab_sim/objectives/addbottlestoplanningscene.xml b/src/lab_sim/objectives/addbottlestoplanningscene.xml index 269e1a462..cf10c9d84 100644 --- a/src/lab_sim/objectives/addbottlestoplanningscene.xml +++ b/src/lab_sim/objectives/addbottlestoplanningscene.xml @@ -15,18 +15,20 @@ /> + + - - - - - - - - - @@ -133,10 +103,12 @@ + - - - + diff --git a/src/lab_sim/objectives/get_grasp_from_text_prompt_subtree.xml b/src/lab_sim/objectives/get_grasp_from_text_prompt_subtree.xml index 06934256e..b14f20c13 100644 --- a/src/lab_sim/objectives/get_grasp_from_text_prompt_subtree.xml +++ b/src/lab_sim/objectives/get_grasp_from_text_prompt_subtree.xml @@ -16,10 +16,9 @@ camera_image_topic="{camera_image_topic}" camera_info_topic="{camera_info_topic}" camera_points_topic="{camera_points_topic}" - object_prompt="{object_prompt}" + text_prompt="{text_prompt}" grasps="{grasps}" - mask_erosion="{mask_erosion}" - mask_threshold="{mask_threshold}" + confidence_threshold="{confidence_threshold}" name="Infer grasp poses from wrist camera" /> - - - + + diff --git a/src/lab_sim/objectives/iss1.png b/src/lab_sim/objectives/iss1.png new file mode 100644 index 000000000..bef32db0a --- /dev/null +++ b/src/lab_sim/objectives/iss1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0b32bf1b130aaa48b66e9c364e7aec80bc2023b0fb68b85a03765bb04e9e3d7 +size 7504277 diff --git a/src/lab_sim/objectives/ml_find_bottles_on_table_from_image_exemplar.xml b/src/lab_sim/objectives/ml_find_bottles_on_table_from_image_exemplar.xml index da55644de..455931ae9 100644 --- a/src/lab_sim/objectives/ml_find_bottles_on_table_from_image_exemplar.xml +++ b/src/lab_sim/objectives/ml_find_bottles_on_table_from_image_exemplar.xml @@ -9,25 +9,28 @@ _favorite="false" > - - - - - + + + + + + + + - - - + + + + + diff --git a/src/lab_sim/objectives/ml_find_ctb_from_bounding_box.xml b/src/lab_sim/objectives/ml_find_ctb_from_bounding_box.xml new file mode 100644 index 000000000..af2ac24ad --- /dev/null +++ b/src/lab_sim/objectives/ml_find_ctb_from_bounding_box.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lab_sim/objectives/ml_find_ctb_from_image_exemplar.xml b/src/lab_sim/objectives/ml_find_ctb_from_image_exemplar.xml new file mode 100644 index 000000000..fc2addc96 --- /dev/null +++ b/src/lab_sim/objectives/ml_find_ctb_from_image_exemplar.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lab_sim/objectives/ml_segment_bottles_from_file.xml b/src/lab_sim/objectives/ml_segment_from_file.xml similarity index 71% rename from src/lab_sim/objectives/ml_segment_bottles_from_file.xml rename to src/lab_sim/objectives/ml_segment_from_file.xml index df16da5ab..fa9cad262 100644 --- a/src/lab_sim/objectives/ml_segment_bottles_from_file.xml +++ b/src/lab_sim/objectives/ml_segment_from_file.xml @@ -1,14 +1,14 @@ - + @@ -31,7 +31,7 @@ - + diff --git a/src/lab_sim/objectives/ml_segment_image.xml b/src/lab_sim/objectives/ml_segment_image.xml index 6e6734695..785e66a58 100644 --- a/src/lab_sim/objectives/ml_segment_image.xml +++ b/src/lab_sim/objectives/ml_segment_image.xml @@ -12,17 +12,20 @@ primary_view_name="/masks_visualization" /> diff --git a/src/lab_sim/objectives/ml_segment_point_cloud.xml b/src/lab_sim/objectives/ml_segment_point_cloud.xml index c878b5211..3cebcd12a 100644 --- a/src/lab_sim/objectives/ml_segment_point_cloud.xml +++ b/src/lab_sim/objectives/ml_segment_point_cloud.xml @@ -8,23 +8,25 @@ > diff --git a/src/lab_sim/objectives/pick_1_pill_bottle.xml b/src/lab_sim/objectives/pick_1_pill_bottle.xml index 19c048cf2..1ccb6e9c5 100644 --- a/src/lab_sim/objectives/pick_1_pill_bottle.xml +++ b/src/lab_sim/objectives/pick_1_pill_bottle.xml @@ -16,23 +16,25 @@ waypoint_name="Above Pick Cube" /> diff --git a/src/lab_sim/objectives/sam3_segment_image_subtree.xml b/src/lab_sim/objectives/sam3_segment_image_subtree.xml new file mode 100644 index 000000000..c4c69558b --- /dev/null +++ b/src/lab_sim/objectives/sam3_segment_image_subtree.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lab_sim/objectives/sam3_segment_point_cloud_subtree.xml b/src/lab_sim/objectives/sam3_segment_point_cloud_subtree.xml new file mode 100644 index 000000000..c95966a9a --- /dev/null +++ b/src/lab_sim/objectives/sam3_segment_point_cloud_subtree.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +