이슈 & 트러블 슈팅 과정
개요
참가자들은 ROS2 프레임워크를 통해 Isaac Sim 내의 환경을 파악, 계획하여 로봇을 제어하는 명령을 내려야 함
아이삭 심 내에 세종대학교 캠퍼스 공간 위에서 CCTV 를 배치하고 이를 이용해 쓰레기의 위치 파악
이를 이용해 로봇은 최적의 경로를 생성하여 학교 내를 순회하며 정해진 시간 내에 교내에 배치된 쓰레기를 정확하게 분리수거하는 대회 개최
역할
•
모바일 로봇, 매니퓰레이터, 그리퍼를 결착 및 시뮬레이터 내 물리 파라미터 튜닝 진행을 통한 디지털 트윈 생성
•
현실적인 시뮬레이션 환경 구축을 위해 세종대학교 맵, 로봇, 쓰레기에 대한 physX API, Solver API 설정
•
본 대회에서 참가자들이 개발한 물체 자세 추정 AI 모델 혹은 파지점 추론 AI 모델을 이용하여 실제 쓰레기를 Pick & Place Task 에 사용할 수 있도록 엔드 포인트 좌표에 대한 API 개발
API 데모 영상
•
CCTV를 통한 쓰레기의 위치 예측값을 Isaac Sim 내의 API를 통해 GT값과 비교하여 점수에 반영하는 로직 작성
•
점수 계산 및 대회 종료 알고리즘 개발
종료 알고리즘 데모 영상
•
Dockerizing 및 Github 로 이슈 및 형상 관리
문제 상황
•
Custom Mobile Manipulator 개발
◦
Closed-Loop Gripper 작동 문제
그리퍼 작동 문제
◦
Mobile Robot의 동작 문제
모바일 로봇 문제
•
쓰레기 물체들의 투과, 미끄러짐 이슈
접근 방법
•
관절값 API 접근을 통한 에러 디버깅 및 PD 제어기 특성과 관련하여 원인 규명
트러블 슈팅 과정
•
영상 분석을 통한 Physical Material, Mass Property, 회전 관성값 설정을 통한 모바일 매니퓰레이터 수정
•
PhysX API의 Collider, TGS Solver API 변경을 통해 해결
TGS Solver 설정 안 했을 때
•
Collider Trigger API를 이용하여 쓰레기 분리 수거 시 쓰레기가 overflow 되지 않도록 시뮬레이션 내에서 asset을 비활성화, 각 물체의 종류마다 점수 반영하도록 로직 작성
Pick & Place with Score Eval
•
pxr USD API를 이용하여 시뮬레이션 환경을 조회해 물체의 위치를 조회하여 쓰레기 위치에 대한 GT값 추출, 이를 L2 norm 연산하여 위치 추정 점수 부여 알고리즘 작성
배운 점
•
PhysX API, TGS Solver API 공부를 통한 가상세계와 실세계의 물리 현상과의 괴리의 이유에 대한 이해
•
개발을 협업하는 과정에서 발생하는 문제에 관해 git issue & branch를 통해 해결하는 과정을 익힘
