Skip to content

Latest commit

 

History

History
81 lines (58 loc) · 3.05 KB

File metadata and controls

81 lines (58 loc) · 3.05 KB

ROS Bag Preprocessing

ROS bag 데이터를 학습에 사용하기 전에 전처리하는 단계입니다.

파일 구조

경로 역할
maskact/convert_maskact.py bag에 mask 이미지 + end-pose + pruning 토픽 추가 (SAM2 트래킹)
maskact/update_config.py LeRobot config.jsonembodiment_tag 추가하는 유틸
maskact/verfy_eef.py /end_pose_left/right를 구독해 RViz 마커로 검증하는 ROS2 노드
end_pose/convert_endpose.py mask 없이 TF에서 end-pose 토픽만 추출 (나머지 토픽은 pass-through)
maskact/sam2_b.pt SAM2 모델 체크포인트 (git에 미포함)

MaskACT 전처리

MaskACT 알고리즘을 위한 전처리 도구들입니다.

convert_maskact.py

ROS bag에 mask 이미지와 end pose 정보를 추가합니다.

사용법:

python rosbag_preprocessing/maskact/convert_maskact.py \
    --bag-dirs-root /workspace/rosbag2/dkim/ffw_sg2_rev1_dkim/ \
    --out-root /workspace/dkim_result_3 \
    --image-topic /zed/zed_node/left/image_rect_color/compressed \
    --out-topic /mf_perception/ch0_binary_image_sam2/compressed \
    --visualize \
    --dump-tf-pairs \
    --base-left arm_l_link1 \
    --ee-left arm_l_link7 \
    --base-right arm_r_link1 \
    --ee-right arm_r_link7

주요 기능:

  • TF 메시지에서 end pose 정보 추출 및 /end_pose_left, /end_pose_right 토픽 생성
  • SAM2를 사용한 mask 이미지 생성
  • Pruning indicator 토픽 추가
  • 시각화 옵션 제공

출력:

  • 전처리된 ROS bag 파일 (mask 이미지 및 end pose 포함)

update_config.py

변환된 LeRobot 데이터셋의 meta/config.json(또는 modality config)에 embodiment_tag를 추가합니다.

⚠️ 현재 대상 경로가 스크립트 내부에 하드코딩되어 있어, 데이터셋마다 파일을 직접 수정한 뒤 실행해야 합니다.

python rosbag_preprocessing/maskact/update_config.py

verfy_eef.py

/end_pose_left, /end_pose_right를 구독해 ARROW/TEXT 마커(/pose_verification_markers)를 publish하는 ROS2 노드입니다. RViz에서 추출된 end-effector pose가 올바른지 시각 검증할 때 사용합니다. (파일명 오타: verfyverify)

python rosbag_preprocessing/maskact/verfy_eef.py

End Pose 전처리 (mask 없이)

end_pose/convert_endpose.py

convert_maskact.py에서 mask/SAM/pruning 로직을 제외하고, TF에서 end-pose 토픽(/end_pose_left, /end_pose_right)만 추가합니다. 나머지 토픽은 그대로 pass-through됩니다. mask가 필요 없는 end-pose 기반 알고리즘 전처리에 사용합니다.

python rosbag_preprocessing/end_pose/convert_endpose.py \
    --bag-dirs-root /workspace/rosbag2/dkim/ffw_sg2_rev1_dkim/ \
    --out-root /workspace/dkim_endpose_result \
    --base-left arm_l_link1 --ee-left arm_l_link7 \
    --base-right arm_r_link1 --ee-right arm_r_link7

다음 단계

전처리가 완료된 ROS bag은 conversion/ 폴더의 도구를 사용하여 LeRobot 형식으로 변환할 수 있습니다.