[ICLR 2025] Jiafei Duan et al., arXiv 2024
https://arxiv.org/pdf/2410.00371
핵심 요약
: 로봇 조작 과정의 실패를 감지하고, 실패 원인을 자연어로 설명하여 이후 수행 개선에 활용하는 VLM을 제안한다.
1 Introduction
최근 LLM/VLM은 reward 생성, task planning, zero-shot manipulation에 활용됨 → 그러나 실제 로봇은 작은 변화에도 실패 발생
기존 시스템은 행동 생성에는 강점, 실패 원인을 설명하는 능력은 부족 → 실패로부터 개선되려면 왜 실패했는지를 알아야함
AHA는 sub-task 성공 여부를 판단 + 실패 원인을 자연어로 설명하는 VLM
Contributions
- 실패 원인을 자연어로 설명하는 VLM AHA 제안
- 실패 데이터 자동 생성 파이프라인 FailGen 및 AHA dataset 구축
- 새로운 task, 다른 시뮬레이터, 실제 로봇에서의 일반화 검증 및 downstream 성능 개선
2 Related Work
(1) Failure Detection in Robotic Manipulation
주로 task의 성공/실패를 이진적으로 판단 → AHA는 실패 원인 설명까지 생성
(2) Data Generation in Robotics
로봇 demonstration 또는 benchmark 데이터 자동 생성 → AHA는 실패 추론 학습용 데이터에 초점
Foundation Models for Robotic Manipulation
기존 LLM/VLM은 행동 생성이나 task-specific reasoning에 활용 → AHA는 VLM을 robotic failure reasoning에 특화함
3 The AHA Dataset
3.1 Failure Modes in Robotic Manipulation
저자들은 DROID, Open-X Embodiment, behavior cloning policy rollout을 참고해 7가지 failure mode를 정의
| Failure Mode | 의미 |
| No_Grasp | 물체를 잡지 못함 |
| Slip | 잡은 물체를 이동 중 놓침 |
| Translation | 목표 위치가 어긋남 |
| Rotation | 회전 각도가 잘못됨 |
| No_Rotation | 필요한 회전을 수행하지 않음 |
| Wrong_action | 행동 순서가 잘못됨 |
| Wrong_object | 잘못된 물체를 조작함 |
3.2 Implementation of the AHA Dataset
RLBench의 성공 수행 궤적 기반
- RLBench: 로봇 조작 task, demonstration, keyframe, 성공 조건 판정을 제공하는 시뮬레이션 기반 벤치마크 환경
- Keyframe: 물체 잡기, 이동, 놓기처럼 의미 있는 행동 변화가 발생하는 핵심 상태
- FailGen: 성공 궤적의 keyframe을 수정하여 실패 궤적 생성
FailGen Process

성공 수행 궤적
→ keyframe에 failure mode 삽입
→ 성공 조건 검사기로 실제 실패 여부 확인
→ 유효한 설정을 YAML 파일에 저장
→ 실패 이미지-질의-응답 데이터 생성
| 수정 방식 | 생성되는 실패 |
| 그리퍼 명령 제거 | No_Grasp |
| 이동 중 그리퍼 해제 | Slip |
| 위치 offset 추가 | Translation |
| 방향값 수정 | Rotation |
| 회전 제한 | No_Rotation |
| keyframe 순서 변경 | Wrong_action |
| 대상 물체 변경 | Wrong_object |
AHA Dataset
- 79개 RLBench task
- 49K 이미지-질의 쌍으로 구성
4 Method
4.1 Failure Reasoning Formulation
Input Formulation: 입력은 sub-task 질문 문장+keyframe trajectory image로 구성

- 가로: 시간 순서의 keyframe
- 세로: 서로 다른 camera viewpoint
- 미래 단계: 흰색 패치로 대체
4.2 Synthetic Data for Instruction-tuning
일반 시각 이해 능력을 유지하기 위해 여러 데이터를 함께 사용해 co-finetuning
| Data | Quantity | Purpose |
| AHA dataset | 49K | 실패 여부 및 실패 원인 설명 |
| VQA | 665K | 일반 이미지 질의응답 능력 유지 |
| LVIS | 100K | 객체 위치 인식 능력 유지 |
4.3 Instruction Fine-tuning
LLaVA 계열의 구조를 따름

- Image Encoder: 로봇 수행 이미지에서 시각 정보 추출
- Projection Layer: 추출된 시각 정보를 language model이 처리할 수 있는 형태로 변환
- Tokenizer: 현재 sub-task에 대한 질문 문장을 token으로 변환
- Language Model: 이미지 정보와 질문 정보를 함께 보고, Yes/No 및 실패 이유를 생성
Image Encoder와 Tokenizer는 고정, Projection Layer와 Language Model만 업데이트
5 Experimental Results
5.1 Experimental Setup
Evaluation Datasets
- AHA Test
- 학습에 사용되지 않은 10개의 새로운 RLBench task로 구성
- 동일한 시뮬레이터 안에서 새로운 task에도 일반화되는지 평가
- ManiSkill-Fail
- ManiSkill에서 FailGen으로 생성
- 다른 시뮬레이터와 변화된 viewpoint에서도 성능이 유지되는지 평가
- RoboFail
- 실제 UR5 로봇에서 발생한 실패 데이터
- 시뮬레이션에서 학습한 AHA가 실제 로봇 및 다른 embodiment에도 일반화되는지 평가
Evaluation Metrics
- Binary Success Rate
- 현재 sub-task의 성공/실패 여부를 정확히 판단했는지 평가
- ROUGE-L
- 생성한 실패 설명과 정답 설명이 표현상 얼마나 유사한지 평가
- Cosine Similarity
- 생성한 설명과 정답 설명의 의미적 유사성을 평가
- LLM Fuzzy Match
- 외부 언어 모델인 Claude-3-Sonnet을 활용해, 두 실패 설명이 의미적으로 일치하는지 평가
5.2 Quantitative Experimental Results

5.3 Downstream Robotics Tasks
AHA의 실패 설명을 기존 로봇 시스템에 피드백으로 적용

6 Conclusion
Strengths
- 실패 감지를 행동 개선을 위한 피드백 문제로 확장
- FailGen을 통해 대규모 실패 데이터를 자동 생성
- 새로운 task, 다른 시뮬레이터, 실제 로봇 데이터에서 일반화 확인
Limitations
미리 정의된 일곱 가지 failure taxonomy 중심의 데이터로 학습되어, 복합적이거나 새로운 실패를 자유롭게 설명하는 능력은 제한됨
따라서 저자들은 향후 사전학습 robot policy를 시뮬레이션에서 실행하여, 수행 과정에서 자연스럽게 발생하는 실패를 수집하는 방향을 제안 → 더 다양하고 현실적인 실패를 학습 데이터에 포함할 수 있을 것이라고 언급