한 줄 요약
HexaShell은 로봇 조작에서 VLM 기반 에이전트의 한계를 탐구하며, 42개 RoboDojo 태스크에서 39.7% 성공률을 달성한 로봇 코딩 에이전트 시스템이다.
핵심 기여도
- **Thin Harness**: HexaShell은 에이전트의 명령을 로봇 동작으로 변환하는 최소한의 인터페이스만 제공하며, 에이전트가 학습한 내용은 코드 형태로 유지된다.
- **Triangulation 기반 객체 위치 추정**: 단일 카메라 대비 더 정확한 객체 위치를 삼각측량을 통해 추정하며, Depth Anything V2 대비 8.7점 높은 성능을 보인다.
- **42개 RoboDojo 태스크에서 39.7% 성공률 달성**: 기존 베이스라인 대비 17.2% 개선하며, 새로운 최고 성능(SOTA)을 달성.
- **실패 시 6.3분 내 복구**: 실패 후 에이전트가 로그를 분석하고 도구를 수정하는 복구 루프가 6.3분 평균 소요.
핵심 아이디어
HexaShell은 로봇 조작에 VLM 기반 에이전트를 적용할 때, 에이전트가 직접 코드를 수정하며 학습하도록 유도하는 새로운 접근법을 제시한다. 기존 학습 정책 기반 시스템과 달리, HexaShell은 에이전트가 로봇에 단일 명령어를 내리는 것만 허용하며, 나머지 동작은 로봇이 자동으로 수행하도록 설계된다. 에이전트는 실패 시 로그를 분석하고, 이를 기반으로 '툴'이라는 소규모 프로그램을 수정하거나 작성하여 다음 시도에 반영한다. 이는 소프트웨어 개발에서 테스트 실패 후 코드 수정과 유사한 방식이다.
핵심 기술은 **삼각측량**(triangulation)이다. 로봇이 보는 두 카메라의 레이(ray)가 만나는 지점을 계산해 객체의 위치를 추정하며, 이는 단일 카메라 기반의 깊이 추정 네트워크보다 정확하다. 예를 들어, 테이블이나 블록의 상단과 같은 알려진 평면 위에 있는 점은 해당 평면과 카메라 레이의 교점을 통해 정확히 위치를 파악한다.
기술적 접근법
- **모델**: Codex with GPT-6-Astra, 중간 수준의 추론 노력(medium reasoning effort) 사용.
- **입력**: 3개의 RGB 카메라 이미지와 칼리브레이션 정보.
- **출력**: 로봇 조작 명령어.
- **툴 개발**: 실패 시 로그를 분석하고, 수정된 툴을 다음 시도에 반영.
- **삼각측량**: 두 카메라 레이의 교점 계산을 통해 객체 위치 추정.
- **데이터셋**: 10개 레이아웃으로 툴 개발 후, 10개 새로운 레이아웃으로 평가.
- **실험 환경**: RoboDojo 벤치마크, 42개 태스크에서 평가.
주요 결과
- **RoboDojo 42개 태스크**: 39.7% 성공률, 48.0 평균 진행 점수 (리더보드 기준).
- **Depth Anything V2 대비 성능**: 삼각측량이 8.7점 높은 성능을 보이며, 57 레이아웃에서 승리.
- **태스크별 성능**:
- Pushing: 92.5%
- Memory Tasks: 65.0%
- Tight Insertion: 8.3%
- **복구 루프**: 실패 후 복구에 평균 6.3분 소요.
의의 및 한계
HexaShell은 VLM 기반 에이전트가 로봇 조작에서 얼마나 효과적으로 작동할 수 있는지를 실증적으로 탐구한 사례로, 기존 학습 정책 기반 시스템과 비교해 새로운 접근법을 제시한다. 특히, 로봇에서의 시각 정보 처리가 텍스트 기반의 소프트웨어 개발 환경과는 달라야 한다는 점을 강조하며, 삼각측량을 통한 객체 위치 추정이 단일 카메라 기반의 깊이 추정보다 효과적임을 입증한다.
그러나, HexaShell의 한계는 **접촉**(contact)에 있다. 예를 들어, 정밀한 삽입 작업(tight insertion)은 8.3%에 불과하며, 대부분의 실패는 로봇이 움직임을 정확히 실행하지 못하는 문제에서 비롯된다. 이는 VLM 에이전트가 시각 정보를 해석하는 능력은 뛰어나지만, 물리적 접촉을 처리하는 능력은 여전히 한계가 있음을 보여준다.
실용적 활용
HexaShell은 로봇 조작 분야에서 코드 기반 에이전트의 활용 가능성을 보여주며, 특히 **자동화된 제조**, **로봇 수리**, **로봇 프로그래밍 교육** 등에서 활용 가능하다. 또한, 로봇이 실패 시 스스로 코드를 수정하며 학습하는 방식은 **자율 로봇 시스템 개발** 및 **로봇 프로그래밍 자동화** 연구에도 기여할 수 있다.