[논문 리뷰] ReKep: Spatio-Temporal Reasoning of Relational Keypoint Constraints for Robotic Manipulation

두부김치·2025년 3월 19일
0

논문 리뷰

목록 보기
7/8

Title : ReKep: Spatio-Temporal Reasoning of Relational Keypoint Constraints for Robotic Manipulation (by Wenlong Huang, Chen Wang, Ruohan Zhang, Yunzhu Li, Li Fei-Fei, published at 8th Conference on Robot Learning (CoRL 2024), Munich, Germany.

1. Abstract

  • Manipulation Task를 로봇과 환경을 연결하는 constraints로 표현하는 것은 원하는 로봇 Behavior를 Encoding하는 유망한 방법임.
  • 하지만 이러한 constraints를 아래와 같은 방법으로 구성하는 것은 명확하지 않음
    • 다양한 task에 대해 범용적으로 적용 가능함
    • Manual Labeling 없음
    • 기존 솔버(off-the-shelf solver)를 사용하여 실시간으로 로봇 Action을 생성하는 것
  • 본 논문에서는 Manipulation task를 위한 제약 조건을 시각적으로 기반하여 표현하는 관계형 Relational Keypint Constraints, ReKep을 제안
  • ReKep은 3D Keypoints 집합을 Numerical Cost로 Mapping하는 Python Function으로 표현
  • Hierarchical Optimization Procedure를 활용하여 SE(3)공간에서 End-Effector Pose의 Sequence로 표현되는 로봇 Actions을 해결할 수 있음을 보임, 또한 실시간 Perception-Action Loop에서 실행 가능
  • 새로운 Task마다 ReKep을 Manual로 지정해야 하는 문제를 해결하기 위해, Large Vision Models(LVMs)과 Vision-Language Models(VLMs)을 활용하여 ReKep을 자동 생성하는 Procedure 고안
  • Single-Arm, Dual-Arm 모두에서 실험 진행

2. Introduction

  • 로봇 Manipulation은 환경 내의 Object와의 복잡한 Interaction을 포함하며, 이는 종종 Spatial 및 Temporal Constraints로 표현될 수 있음.

  • Fig.1의 Pouring tea into a cup Task를 보면

    • Handle을 Grasp하고
    • Cup을 Upright 상태로 유지하며 운반하고,
    • Spout을 목표 Container와 정렬한 후,
    • Cup을 적절한 Angle로 기울여야 함.
  • 여기서 Constraints는 중간 Sub-goal(예: Spout 정렬)뿐만 아니라 Transitioning Behavior(예: 운반 중 Cup을 Upright 상태로 유지)를 인코딩하며, 이는 Spaital, Timing 및 Combinatorial 요구사항을 정의하여 로봇의 Action이 환경과 어떻게 상호작용 하는지를 결정해야함.

  • 그러나 이러한 Constraints를 다양한 Real-World Task에 대해 효과적으로 formulate하는 것은 상당한 도전 과제임.

    • 로봇과 Object간의 Relative Pose를 사용하여 Constraints를 표현하는 방식은 직관적이며 널리 사용되지만, Rigid-Body Transformation만으로는 Geometric Details을 표현할 수 없고, 사전에 Object Model을 확보해야 하며, Deformable Objects에는 적용 x
    • 반면, Data-Driven Approaches는 Visual Space에서 직접 Constraints를 학습할 수 있도록 하지만, Objects와 Tasks수가 증가함에 따라 Constraints의 수가 조합적으로 증가하여 효과적으로 Trainig Data를 수집하는 방법이 불분명함
  • 따라서 저자들은 Manipulation에서 Constraints를 어떻게 표현하면 좋을지에 대한 의문을 가짐

    1. Widely Applicable : Multi-Stage, In-the-wild, Bimanual, 그리고 Reactive Behaviors를 요구하는 Tasks에 대해 적응할 수 있어야함.
    2. Scalably Obtainable: Foundation models의 발전을 통해 완전히 자동화될 가능성을 가져야함.
    3. Real-Time Optimizable: 기존 Solver를 활용하여 효율적으로 복잡한 Manipulation Behaviors를 생성할 수 있어야 함.'
  • Relational Keypoint Constraints(ReKep)제안

    • ReKep은 Python Functions로 표현된 Constraints로, Scene 내의 Keypoint 집합을 Numerical Cost로 매핑함.
    • Large Vision Models(LVMs)과 Vision-Language Models(VLMs)을 활용하여 자동으로 Keypoint 및 Constraints를 생성
    • Hierarchical Optimization Framework를 사용하여 SE(3)공간에서 End-Effector Poses를 최적화하고 실시간(10Hz)으로 Manipulation Actions을 생성
  • 주요 Contribution으로는

    1. Manipulation Tasks를 ReKep 기반의 Hierarchical Optimization Problem으로 정식화.
    2. LVMs와 VLMs을 활용하여 Keypoints 및 Constraints를 자동으로 생성하는 Pipline 생설계
      3, Task-Specific Data나 Environment Models없이 Multi-Stage, In-the-wild, Bimanual, 그리고 Reactive Manipulation Behaviors를 구현

      Hierarchical Optimization Framework이란?
      주어진 Tasks를 해결하기 위해 단계적으로 최적화를 수행하는 방법, 여러 단계(Multi-Stage Process)로 구성되며, 각 단계에서 특정 목표(Sub-Goal)를 달성해야 함.

3. Method

  • 저자들은 ReKep을 활용하여 로봇 Manipulation을 최적화 하는 방법을 4가지 핵심 요소를 중심으로 설명함.

3.1 Relational Keypoint Constraints(ReKep)

  • ReKep은 Python Function으로 표현된 Constraints로, Keypoints 간의 관계를 Numerical cost로 변환
  • Keypoints는 Task-Specific한 3D Points이며, 이를 조합하여 Lines, Surfaces, 3D Rotations등을 정의할 수 있음.
  • 각 Task는 여러 개의 Sub-Goal 및 Path Constraints로 구성됨.
    • Sub-Goal Constraints: 특정 Task 단계에서 Keypoints가 만족해야 할 관계(예: Spout을 Cup위로 이동)
    • Path Constraints: End-Effector가 이동하는 동안 지속적으로 유지해야 할 조건(예 : Teapot을 기울이지 않고 이동)

3.2 Manipulation Tasks as Constrained Optimization with ReKep

  • ReKep을 활용하여 Manipulation을 Constrained Optimization Problem으로 formulate
  • 로봇의 End-Effector-Pose ee를 SE(3) 공간에서 최적화하여 Sub-Goal을 달성하도록 설계
  • 최적화 목표:
    • 모든 단계에서 Sub-Goal Constraints 및 Path Constraints를 만족하는 최적의 End-Effector Trajectory e1:Te_{1:T} 찾기
    • Collision Avoidance, Reachability, Smotthness 등의 추가 비용 함수 적용

3.3 Decomposition and Algorithmic Instantiation

  • Hierarchical Optimization Framework 적용
    • 1단계 : Sub-Goal Optimization
      • 현재 Task 단계에서 목표해야 할 Sub-Goal Keypoints를 결정
      • Collision Avoidance, Reachability, Grasping Quality 등을 고려하여 최적화
    • 2단계 : Path Optimization
      • 현재 End-Effector Pose에서 Sub-Goal까지 이동하는 최적 경로를 찾음
      • Smoothness, Collision-Free Trajectory, Path Length 등을 고려하여 최적화
    • 3단계 : Real-Time Execution & Replanning
      • 최적화된 Sub-Goal과 Path를 따라 로봇이 움직이면서 Perception-Action Loop(10Hz)로 실행.
      • 만약 External Disturbance(예: 사람이 물체를 움직임)가 발생하면 Backtracking하여 이전 단계로 되돌아가 재계산

3.4 Keypoint Proposal and ReKep Generation

  • 자동 Keypoint Proposal(LVM 활용)
    • Large Vision Model(LVM, DINOv2)를 사용하여 Scene 내에서 의미론적으로 중요한 Keypoint를 자동으로 찾음.
    • Keypoint를 클러스터링(K-means)하여 불필요한 Points를 제거하고 의미 있는 Feature Points를 선택
  • ReKep Constraints 자동 생성(VLM 활용)
    • Vision Language Model(VLM, GPT-4o)을 활용하여 Keypoints에 대한 Python Function 형태의 Constraints를 자동 생성
    • 자연어 명령어 + Keypint Overlay된 이미지를 입력으로 받아 Constraints를 코드로 변환
    • Sub-Goal과 Path Constraints를 자동 생성하여 Hierarchical Optimization Solver에 전달

4. Experiments

  • 본 연구에서는 ReKep의 성능을 검증하기 위해 두개의 실제 로봇 플랫폼에서 다양한 Manipulation Tasks를 실험함.
  1. ReKep이 자동으로 Manipulation Behaviors를 생성할 수 있는지 평가
  2. ReKeop이 새로운 Object 및 Manipulation Strategies에 일반화 가능한지 확인
  3. 시스템 내부의 주요 Failure Cases 분석

4.1 ReKep for In-the-Wild and Bimanual Manipulation

  • 2개의 로봇 플랫폼에서 실험 진행:
    1. Wheeled Single-Arm Robot
    2. Stationary Dual-Arm Robot
  • 7가지 Manipulation Tasks를 수행하며 성공률 비교
  • 비교 대상: VoxPoser(Baseline) vs ReKep(Auto vs Annotated)
    • Auto : Foundation Models를 사용하여 ReKep을 자동으로 생성
    • Annotated : human-annotated ReKep 사용

📌 실험 결과

  • ReKep이 다양한 Manipulation Tasks 수행 가능
    • Multi-Stage Constraints를 활용하여 Task 단계 간 temporal Dependecy를 자동으로 구성(예: Cup을 이동 후 Pouring 수행)
    • Vision-Language Model을 활용해 Common Sense Knowledge 기반 Constraints 생성 가능(예: Coke Can은 Recycle 해야 함)
    • Bimanual Manipulation & Human-Robot Collaboration에도 적용 가능(예: 두 개의 Sleeve를 동시에 접거나, 사람과 함께 큰 천을 접는 Task 수행)
    • 최적화 Solver를 활용하여 제한된 공간에서도 효과적으로 동작(예: Stow Book Task에서 책을 작은 공간에 밀어 넣기)
  • ReKep(Auto)의 성공률이 68.6%로 기존 VoxPoser(10.0%)보다 우수
  • Human Annotated ReKep(68.6%)와 Auto-Generated ReKep(44.3%) 비교 시, 자동 생성 모델의 성능도 상당히 우수

4.2 Generalization in Manipulation Strategies

  • 하나의 Task(의류접기)를 대상으로, 8개의 다른 옷 종류에 대해 ReKep의 Generalization 성능을 평가
  • KeyPoint Proposal 및 VLM 기반 ReKep 자동 생성 방식이 새로운 Manipulation Strategies를 유도할 수 있는지 확인

📌 실험 결과

  • ReKep은 다양한 의류 종류에 맞게 최적의 Folding Strategy를 자동 생성
    • Sweater: 두 소매를 동시에 접음 -> 이후 전체를 반으로 접음
    • Pants : 허리와 다리를 정렬하여 접음
    • Scarf : 단순한 롤링 방식으로 접음
  • Execution Success Rate: 73.8% -> 다양한 Object 형태에 대해 ReKep이 효과적으로 Manipulation Strategy를 생성할 수 있음을 입증

4.3 System Error Breakdown(Failure Analysis)

  • 실패 원인을 분석하여 시스템의 개선 가능성을 검토
  • 각 모듈별로 Failure Case를 분류하여 전체 시스템에서 가장 취약한 부분을 찾음

📌 주요 Failure 원인

  • Point Tracker 오류(가장 큰 비율 차지)
    • Keypoint Tracking이 Occlusion문제로 인해 실패하면 최적화 과정에서 잘못된 Action이 생성됨
  • KeyPoint Proposal 및 VLM 오류
    • 특정 Keypoints가 Proposal되지 않거나, VLM이 잘못된 Constraints를 생성하는 경우 발생
  • Optimization Solver 오류
    • Solver 자체는 비교적 안정적이었지만, 초기 Keypoint Proposal이 부정확하면 비효율적인 경로가 생성될 수 있음

5. Conclusion & Limitations

  • ReKep을 활용하여 로봇 Manipulation을 위한 새로운 Constraint-Based Framework를 제안

  • ReKep을 활용하여 Manipulation Task를 최적화 문제로 fomulate

    • Keypoints를 기반으로 Python Function 형태의 Constraints를 정의
    • Hierarchical Optimization Framework를 통해 실시간(10Hz)으로 End-Effector Trajectory 최적화
  • Pre-Trained Large Vision Models(LVM) 및 Vision-Lanugage Models(VLM)을 활용하여 ReKep을 자동 생성

    • Scene에서 의미 있는 KeyPoints를 Proposal
    • Constraints를 자연어 기반으로 자동 생성하여 다양한 Manipulation Task에 적용 가능
  • 실험을 통해 ReKep의 일반화 성능 검증

  • 한계로는 Occlusion이나 Sensor Noise로 인해 KeyPoint Tracker가 정확한 정보를 제공하지 못해 로봇의 Action이 잘못됨.

profile
Robotics

0개의 댓글