[RSS 2024] Universal Manipulation Interface: In-The-Wild Robot Teaching Without In-The-Wild Robots

안녕하세요, 조성민입니다. 첫 글이다 보니 미숙한 점이 많을 것 같습니다. 내용 질문과 함께 글쓰기에 대한 피드백이 있다면 함께 댓글에 적어주시면 감사하겠습니다. 첫 리뷰를 어떤 논문으로 할까 고민하다가 과제에서 로봇 데이터를 수집할 때 시연 장치 중 하나에서 가장 베이스가 되는 Universal Manipulation Interface(UMI) 논문을 선정했습니다.

Project Page: https://umi-gripper.github.io

Introduction

로봇은 여러 개의 link와 이를 연결하는 joint로 구성됩니다. joint angle이 변함에 따라 로봇이 움직이고, 로봇의 말단인 end-effector의 위치와 방향도 변하게 됩니다. 그래서 보통 joint angle이나 end-effector의 6D pose가 로봇 데이터에 포함됩니다. object와 상호작용하는 gripper의 열리고 닫힌 정도를 나타내는 값도 존재합니다.

이런 로봇 데이터를 수집하기 위해 다양한 시연 장치를 통해 teleoperation을 수행하거나, human video를 활용하는 방법이 있었습니다. teleoperation 방식은 실제 로봇과 작업 환경이 필요하고, 숙련된 시연자가 필요하기 때문에 상대적으로 비용이 많이 듭니다. human video를 활용하는 방법은 embodiment gap이 존재하여 전이하기 어렵다는 단점이 있습니다. 저자는 이러한 문제점을 해결하기 위해 실제 로봇 없이 사람이 쉽고 빠르게 데이터를 수집할 수 있도록 설계된 휴대형 데이터 수집 장치와 장치로 모은 데이터를 로봇에 전이할 수 있는 프레임워크를 제시했습니다.

UMI 장치는 사람이 직관적으로 시연할 수 있고, 사람과 로봇 사이의 embodiment gap을 줄이기 위해 hand-held gripper 형식으로 제작했습니다. 기존 hand-held gripper 형태의 시연 장치는 이론상 다양한 환경에서 어떤 action이라도 할 수 있었지만 실제로는 로봇 정책으로의 전이가 잘 되는 action은 적었다고 합니다. 저자는 그 이유를 4가지로 뽑았습니다.

  1. Insufficient visual context
    hand-held gripper에 wrist-mounted camera는 observation space를 일치시키는 데에 굉장히 중요하지만 visual coverage가 부족하다는 문제가 있다고 합니다. 또한, gripper가 물체와 가까워지면 occlusion이 발생하면서 충분한 visual context를 유지하지 못합니다.
  2. Action imprecision
    기존 hand-held gripper는 structure-from-motion(SfM)라는 3차원 공간에서 카메라의 global 6D pose를 복원하는 기술을 통해 robot action을 복원합니다. monocular SfM은 scale ambiguity 때문에 실제 이동 거리를 metric scale로 정확히 복원하기 어렵습니다. 또한 texture가 부족하거나 motion blur가 발생하면 feature matching이 불안정해져 pose tracking 정확도가 낮아질 수 있습니다.
  3. Latency discrepancies
    데이터를 수집할 때와 로봇이 실행할 때의 latency 차이를 고려하지 않았다는 점입니다.
  4. Insufficient policy representation
    기존 방식처럼 MLP와 regression loss로 하나의 action을 예측하면, 같은 작업에도 여러 올바른 행동이 존재한다는 action의 multimodality를 표현하기 어렵습니다.

그래서 저자들은 UMI 장치의 설계와 policy 설계로 이 문제들을 해결했습니다.

  1. physical interface 설계
    저자는 ‘Insufficient visual context’를 해결하기 위해 fisheye lens로 FOV를 넓히고, side mirror를 통해 추가적인 virtual view와 depth cue를 제공했습니다. 또한 GoPro의 image와 IMU를 함께 사용하는 visual-inertial SLAM을 적용하여 빠른 motion이나 motion blur 상황에서도 EE pose를 안정적으로 복원함으로써 ‘Action imprecision’을 완화했습니다.
  2. policy interface 설계
    policy를 hardware-agnostic하게 설계했다고 합니다. 구체적으로, ‘Latency discrepancies’ 해결을 위한 inference-time latency matching, ‘Action imprecision’에서 지적한 global 6D pose가 아닌 relative trajectory action representation을 적용했습니다. 추가로 ‘Insufficient policy representation’에서 지적한 multimodal action distribution을 학습하기 위해 Diffusion Policy를 적용했습니다.

Methods

Demonstration Interface Design에서는 data collection 관점으로, Policy Interface Design에서는 수집한 데이터를 실제 로봇에 어떻게 잘 적용시킬 것인지에 집중했습니다.

A. Demonstration Interface Design

저자가 데이터를 수집하기 위한 UMI 장치를 어떻게 설계했는지 설명하는 파트입니다. UMI는 trigger로 동작하는 hand-held 3D printed parallel jaw gripper 형태로 제작되어 직관적이며, GoPro 카메라 하나로 이미지를 수집하는 동시에 센서 역할도 하게 됩니다. 저자들은 wrist-mounted camera 하나만으로 다양한 task에 충분한 정보를 수집하는 것을 목적으로 장치를 설계했다고 합니다.
observation 측면에서는 충분한 visual context와 depth information, action의 측면에서는 사람의 빠른 동작에서 정확성, gripper width의 정확성, 로봇의 kinematics 측면에서의 유효한 데이터가 필요하다고 말합니다.

HD1. Wrist-mounted cameras as input observation.
데이터를 수집할 때와 마찬가지로 실제 로봇에서 deploy 할 때도 GoPro를 로봇의 gripper에 같은 위치에 부착합니다. 이렇게 설계하면 다양한 장점이 있는데, 저자는 4가지로 설명합니다.

  1. 데이터를 수집할 때와 deploy 할 때의 observation 측면의 embodiment gap을 최소화할 수 있습니다. 사람이 손으로 들고 있는 상태와 로봇에 부착되어 있는 상태에서 얻은 visual observation이 같은 각도로 고정되어 있기 때문입니다.
  2. camera가 gripper와 고정된 관계를 가져서 robot에 장착하면 calibration을 다시 수행하지 않아도 됩니다.
  3. 이런 설계를 통해 외부 카메라 없이도 데이터 수집이 가능해져서 단순해진다고 하며, 휴대성이 높아졌다고 합니다.
  4. 실험에서 wrist-mounted camera를 통해 policy가 고정된 배경 구조보다 작업과 관련된 물체나 영역에 더 집중하는 경향을 보여 random cropping 같은 효과가 나타났다고 합니다.

HD2. Fisheye Lens for visual context.
외부의 고정된 카메라를 사용하지 않으면 policy는 카메라가 계속 움직이는 non-stationary observation과 전체 장면 중 일부만 보이는 partial observation을 처리해야 합니다. 이를 넓은 FOV의 fisheye lens를 통해 완화했다고 합니다.


GoPro에 fisheye lens를 장착하여 넓은 시야각을 통해 충분한 visual context를 얻을 수 있다고 합니다. 왜곡 보정 없이 raw 이미지를 사용하는데, 그 이유는 중심부의 해상도를 유지하면서 주변부 정보를 압축하는 효과가 있기 때문이라고 합니다. 왜곡을 보정하면 (b)와 같은 이미지가 되는데, 주변부가 크게 늘어나면서 왜곡되어 policy learning에 적합하지 않다고 합니다. 또한, UMI에서는 SfM의 단점을 해결하고자 ORB-SLAM3을 사용하는데, fisheye lens는 더 많은 visual feature와 프레임 간 overlap을 제공하여 SLAM의 안정성도 높다고 합니다.

HD3. Side mirrors for implicit stereo.

양쪽 side mirror를 설치하여 stereo의 효과를 얻어 depth를 우회적으로 얻을 수 있다고 합니다. 그리고, 다른 위치에 카메라가 있는 것처럼 mirror를 통해 정보를 얻을 수 있습니다. mirror는 반전을 시키기 때문에 policy에 혼란을 줄 수 있어서 mirror 영역을 crop하여 다시 반전하여 사용합니다.

HD4. IMU-aware tracking.
UMI는 빠른 움직임을 정확하게 추정하기 위해 GoPro가 IMU 데이터를 영상 파일에 같이 수집할 수 있다는 점을 활용합니다. visual tracking과 inertial pose constraint를 최적화한 ORB-SLAM3를 사용하는데, 이런 시스템은 motion blur나 texture 부족으로 visual tracking이 일시적으로 실패할 때 움직임 추정을 보완하여 동적인 action도 가능하게 합니다.

HD5. Continuous gripper control.
물체마다 크기가 다르고, tossing 같은 task는 물건을 놓는 타이밍이 중요하기 때문에 gripper width를 binary가 아닌 연속된 값으로 설정했다고 합니다. 연속된 gripper width 추적을 위해 marker를 부착하여 tracking합니다.

HD6. Kinematic-based data filtering.
사람이 수행한 모든 trajectory를 모든 로봇에서 실행 가능할 수는 없습니다. 배포할 로봇의 base 위치와 kinematics를 기준으로 SLAM에서 복원한 end-effector의 절대 좌표 trajectory를 검사하고, 로봇의 reach나 joint limit 등의 제약을 만족하는 demonstration만 필터링합니다. 이런 필터링을 통해 embodiment-specific kinematic constraint를 만족하도록 합니다.

B. Policy Interface Design

policy는 동기화된 observation sequence (RGB images, 6D end-effector pose, and gripper width)를 입력으로 받고, action sequence (target end-effector pose, gripper width)를 출력합니다.
저자들이 중요하게 생각한 부분은 같은 데이터로 policy를 학습시켰을 때, 다른 robot platform에서도 잘 동작하도록 하는 것입니다. 이를 위해 policy의 설계는 hardware-specific latency와 robot embodiment-specific proprioception 문제를 해결해야 합니다.

  1. hardware-specific latency
    데이터를 수집할 때, GoPro의 공통 시간으로 사용하기 때문에 observation에서는 정렬되어 있지만, 실제 로봇에서는 별도의 camera, robot controller, gripper controller에서 독립적으로 데이터를 수신하여 latency의 차이가 있습니다.
  2. robot embodiment-specific proprioception
    joint angle과 EE pose는 특정 embodiment에 유효하다는 문제입니다.

두 가지 문제를 해결하기 위해 latency matching과 relative end-effector pose를 적용합니다.

PD1. Inference-time latency matching.
latency를 보정하지 않으면 빠른 움직임과 정확도가 필요한 dynamic manipulation의 성능이 저하될 수 있기 때문에 observation latency와 action latency를 각각 보정합니다.
PD1.1) Observation latency matching.
저자들은 inference에서 달라지는 observation stream의 latency를 각각 측정하여 가장 큰 latency를 기준으로 정렬하여 synchronized observation을 구성했습니다.
PD1.2) Action latency matching.
policy가 synchronized action을 내뱉어도 hardware마다 execution latency가 다르다는 문제가 있습니다. (예를 들어, 동시에 gripper width와 EE pose를 action으로 출력해도 robot의 gripper에 실행 명령이 도착하는 시간과 joint 명령이 도착하는 시간이 다를 수 있습니다.) 그래서 목표 시점에 desired pose에 도달하도록, 측정된 execution latency만큼 command를 미리 전송합니다. observation latency, policy inference latency, action execution latency 때문에 목표 시점보다 지난 경우 이전 시간의 action은 버려진다고 합니다.


PD2. Relative end-effector pose.
저자는 robot hardware와 설치 위치에 대한 종속성을 줄이기 위해, observation과 action의 EE pose를 현재 gripper pose에 대한 relative pose로 표현한다고 합니다.
PD2.1) Relative EE trajectory as action representation.
모든 target pose를 inference 시작 시점의 EE pose를 기준으로 표현합니다. 각 action을 직전 action에 대해 표현하는 delta action과 달리 error가 순차적으로 누적되지 않으며, global coordinate도 요구하지 않습니다.
PD2.2) Relative EE trajectory as proprioception.
과거 EE pose를 현재 EE pose에 대한 relative trajectory로 표현하여 global coordinate가 필요하지 않습니다. 그리고 observation horizon을 2로 설정하면 두 시점의 상대 변화량을 통해 velocity information을 제공할 수 있습니다. 이를 통해 robot base가 이동하더라도 object가 reach 안에 있으면 policy를 그대로 사용할 수 있습니다.
PD2.3) Relative inter-gripper proprioception.
저자는 bimanual task에서 양쪽 wrist-mounted camera의 시야가 겹치지 않으면 두 gripper의 관계를 알기 힘들기 때문에 양쪽 gripper 사이의 relative pose를 계산하여 proprioception에 포함시켰습니다.

Evaluations & Experiments

저자는 UMI를 ‘capability’ 실제 robot policy로 얼마나 효과적으로 전이할 수 있는지, ‘generalization’ 다양한 환경에서 수집한 데이터가 새로운 환경과 object에 일반화할 수 있는지, 그리고 ‘efficiency’ 데이터 수집 속도와 SLAM 정확도를 평가한다고 합니다.

Capability Experiments

4가지 task로 앞에서 제안한 Demonstration Interface Design과 Policy Interface Design을 검증합니다.
Cup Arrangement 실험에서는 relative action representation, fisheye lens, side mirror와 같은 hardware design을, Dynamic Tossing 실험에서는 latency matching의 필요성을, Bimanual Cloth Folding 실험에서는 inter-gripper proprioception의 필요성을 검증했습니다. Dish Washing에서는 CLIP-pretrained ViT와 ResNet-34 scratch를 비교하여 long-horizon task를 수행하며 시각적으로 복잡한 task를 수행할 때 CLIP-pretrained ViT가 효과적이었다고 말합니다.

In-the-wild Generalization Experiments

저자는 UMI의 휴대성과 낮은 setup cost를 활용하면 다양한 환경에서 대규모 demonstration을 수집할 수 있고, 이러한 in-the-wild data diversity가 policy의 generalization에 직접 기여하는지 검증합니다. 3명이 12시간 동안 30개 장소에서 서로 다른 형태와 재질의 cup을 사용해 1,400개의 데이터를 수집하고, 학습 데이터에 포함되지 않은 환경과 object에서 policy를 평가했습니다. 배경 변화가 많은 cafe table, 물이 흘러서 dynamic한 surface를 가지는 water fountain처럼 OOD 환경에서도 좋은 success rate를 보였습니다.
저자는 이런 결과가 pretrained vision encoder 자체가 아니라 in-the-wild data 때문인 것인지 확인하기 위해 동일한 pretrained ViT backbone + lab 환경의 narrow-domain data만으로 학습한 baseline과 비교했습니다. baseline에서는 새로운 환경에서 cup을 향해 움직이지도 못해 성공률이 0%였다고 합니다. 이렇게 generalization은 다양한 환경과 object로 수집된 데이터의 필요성을 검증했습니다.

Data Collection Throughput and Accuracy


저자는 UMI의 직관적인 hand-held interface가 기존 teleoperation보다 빠르게 demonstration을 수집할 수 있는지 평가했습니다. 동일한 작업자가 15분 동안 bare hand, UMI gripper, SpaceMouse teleoperation으로 데이터를 수집한 결과를 비교하여 사람의 손만큼 빠르지는 않지만 teleoperation보다 직관적이고 빠르다는 것을 보였습니다.


저자는 SLAM 기반 tracking system의 정확도를 독립적으로 평가하기 위해 MoCap ground truth가 포함된 SLAM benchmark dataset을 구축했다고 합니다. 움직이는 물체가 존재하는 환경에서 사람의 빠른 motion으로 수행한 7개의 single-gripper task와 7개의 bimanual task로 구성되어 있습니다. 이 dataset으로 평가했을 때, 평균 Absolute Trajectory Error(ATE)는 position 6.1mm, rotation 3.5° 였으며, Relative Pose Error(RPE)는 position 10.1mm, rotation 0.8°로 높은 정확도를 보였다고 합니다.

Limitation and Future Works

저자가 언급한 limitation은 세 가지입니다.

  1. data collection 단계에서는 robot의 kinematic limit을 알 수 없다는 것입니다. 이 부분을 해결하기 위한 다양한 후속 연구들이 있었는데, iPhone을 활용하여 실시간으로 feasibility를 체크하거나, VR 기기를 활용하여 feasibility를 확인하는 방법들이 있습니다.
  2. visual SLAM에 의존한다는 것입니다. 이 부분을 해결하기 위해 후속 연구들에서는 HTC VIVE Tracker, VR Controller, iPhone 등을 활용하기도 합니다.
  3. gripper의 무게, 부피, DoF로 인해 사람 손보다 느리다는 것입니다. 사람 손의 motion을 직접 전이할 수 있는 dexterous robotic hand와 policy를 개발할 필요가 있다고 합니다. 이런 부분을 해결하기 위해 5지 모양으로 착용할 수 있는 DexUMI와 같은 연구가 나오기도 했습니다.

마치며

현재 과제에서 진행하고 있는 프로토타입 UMI의 형태는 리뷰한 오리지널 UMI의 각 부분을 개조하고 개선한 부분이 많은데, Limitation에서 언급한 부분을 모두 건드리면서 설계가 진행된 것 같아 기대됩니다.

글 쓰는게 많이 미숙하네요. 핵심만 전달하고 싶었으나 중요하지 않은 내용이 없어보여서 양이 많아진 것 같습니다.

Author: 조 성민

2 thoughts on “[RSS 2024] Universal Manipulation Interface: In-The-Wild Robot Teaching Without In-The-Wild Robots

  1. 안녕하세요 성민님 좋은 리뷰 감사합니다!

    side mirror를 이용해서 stereo 효과를 얻어 depth 정보를 우회적으로 확보한다고 하셨는데 그러기 위해서는 crop을 해야 하니 해상도는 줄어들 것 같습니다. 특히 mirror 영역은 사진 상으로 매우 작아보이는데 이 점은 큰 영향은 없는지 궁금합니다.

    감사합니다.

    1. 안녕하세요 예은님.
      먼저 side mirror에서 보이는 이미지는 crop 후 해상도를 조절하지 않고, wrist cam에서 본 물체와 방향을 일치 시키기 위해 반전시키고 같은 해상도로 다시 붙여 넣습니다. 그래서 해상도가 줄어드는 현상은 없습니다.
      side mirror의 이미지는 전체 이미지에서 아주 작은 부분에 해당해서 이미 작은 해상도를 가지고 있습니다. side mirror의 크기에 대한 ablation은 없었으나, 작은 크기의 side mirror로도 성능이 향상됐다는 실험 결과가 있었습니다.
      감사합니다.

Leave a Reply