Skip to content

Fix cup uprighting auto execution - #48

Merged
chris3471 merged 3 commits into
developfrom
experiment/develop-latest
Jun 11, 2026
Merged

Fix cup uprighting auto execution#48
chris3471 merged 3 commits into
developfrom
experiment/develop-latest

Conversation

@chris3471

Copy link
Copy Markdown
Contributor

변경 내용

기존 side grasp flow와 optimized cup-uprighting flow를 직접 수정하지 않고, 컵 상태에 따라 자동으로 적절한 flow를 선택하는 auto_cup_flow_router를 추가했습니다.

라우터는 observe 위치 이동 후 RG2 gripper를 open하고, YOLO perception과 cup_classifier_best.pth ResNet18 classifier를 사용해 컵이 upright인지 lying인지 판별합니다. /azas/cup_detection status가 detected:upright...이면 기존 side grasp launch를 auto_pick:=true로 실행하고, rejected:lying...이면 기존 optimized cup-uprighting launch를 auto_pick:=true로 실행합니다.

분류 오차를 줄이기 위해 단일 프레임이 아니라 동일 route가 여러 샘플과 안정 시간 동안 유지될 때만 확정하도록 했습니다. 또한 분류 확인용 OpenCV overlay를 추가해 bbox, 중심점, orientation, classifier confidence, 선택 route를 화면에서 확인할 수 있게 했습니다.

추가로 cup-uprighting 노드에 남아 있던 문법 오류(诚然:)를 finally:로 수정해 노드가 import 단계에서 죽지 않도록 했고, auto_pick + exit_after_pick 흐름이 정상 종료 판단을 할 수 있도록 pick 성공/실패 값을 반환하게 보강했습니다.

변경 타입

  • feat (새 기능)
  • fix (버그 수정)
  • refactor (리팩토링)
  • docs (문서)
  • chore (빌드 · 설정)
  • safety (하드웨어 안전 관련)

관련 이슈

Refs: #

테스트 방법

# 빌드 확인
colcon build --packages-up-to azas_cup_uprighting azas_task_manager azas_bringup --symlink-install

# Python 문법 확인
PYTHONPYCACHEPREFIX=/tmp/azas_pycache python3 -m py_compile \
  src/azas_cup_uprighting/azas_cup_uprighting/yolo_cup_uprighting_node.py \
  src/azas_cup_uprighting/azas_cup_uprighting/_base_node.py \
  src/azas_cup_uprighting/launch/yolo_cup_uprighting.launch.py \
  src/azas_task_manager/azas_task_manager/auto_cup_flow_router.py

# diff whitespace 확인
git diff --check

# launch argument 확인
source /opt/ros/humble/setup.bash
source /home/ssu/ws_moveit/install/setup.bash
source /home/ssu/ros2_ws/install/setup.bash
source /home/ssu/Azas/install/setup.bash

ros2 launch azas_bringup auto_cup_flow_router.launch.py --show-args
ros2 launch azas_cup_uprighting yolo_cup_uprighting.launch.py --show-args

# 설치 환경 import 확인
python3 -c "import azas_cup_uprighting.yolo_cup_uprighting_node as m; print(m.YoloCupUprightingNode.__name__)"

@chris3471
chris3471 merged commit eb793db into develop Jun 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant