[CVPR 2025(Highlight)] OmniManip: Towards General Robotic Manipulation via Object-Centric Interaction Primitives as Spatial Constraints

Abstract

일반화된 로봇 시스템을 구축하는 것이 중요하며, VLM이 높은 시각적 추론 능력을 갖추고 있으나 세밀한 3D 공간에 대한 이해가 부족하여 로봇 manipulation으로의 직접적인 적용에는 어려움이 있습니다. 로봇 manipulation 데이터를 통해 VLM을 finetuning하여 VLA(Vision-Language-Action model)를 구축하는 연구가 이루어지고 있으나 로봇 조작 데이터를 수집하는데는 많은 비용과 시간이 소요되어 현실적인 어려움이 있습니다. 따라서 저자들은 VLM의 high-level 추론 능력과 low-level의 조작을 위한 세밀한 정보 사이의 간극을 연결하기 위해 새로운 object-centric representation을 제안합니다. 저자들은 객체의 기능적 affordance에 의해 정의되는 정형화된 공간이 상호작용의 primitives인 점이나 방향을 구조적이고 의미 있는 방식으로 설명할 수 있게 해준다고 보았으며, 이를 통해 VLM의 추론 능력과 조작을 위한 정보를 연결하고자 하였습니다. 따라서 저자들은 2개의 closed-loop로 이루어진 open-vocabulary 기반의 로봇 조작 시스템을 제안합니다. 하나의 loop는 high-level planning을 위해 primitive resampling과 interaction rendering, VLM checking을 수행하는 것이며, 또다른 loop는 6D Pose tracking을 통해 low-level execution을 수행하는 것 입니다. 이를 통해 VLM의 finetuning을 수행하지 않고도 강력한 real-time control이 가능하도록 하였으며, 다양한 실험을 통해 로봇 manipulation에서 zero-shot 방식의 일반화 성능을 보였습니다. 이러한 결과를 통해 large-scale의 시뮬레이션 데이터 생성 자동화 방식의 잠재력을 시사하였습니다.

Introduction

복잡하고 다양한 real-world 환경으로 인해 일반화된 로봇 시스템이 필요하지만 이를 구축하는 것에는 어려움이 있습니다. 최근 LLM과 VLM의 발전으로 이를 로봇에 적용하고자 하는 연구가 이루어지고 있으나, 대부분은 이를 high-level planning에 적용하는 것을 목표로 합니다. 또한, VLM은 광범위한 2D visual 데이터를 기반으로 학습되었으나, low-level 조작에 필요한 3D 공간적 이해가 부족하여, 이를 이용한 로봇 시스템이 구조화되지 않은 환경에서의 적용에는 한계가 있었습니다.

이러한 한계를 극복하기 위해 VLM을 finetuning하여 VLA로 확장하고자 하는 연구들이 이루어졌으나, finetuning을 위한 데이터 수집의 어려움과 finetuning시 특정 작업에 특화되어 일반화가 어렵다는 문제가 존재합니다. 이를 해결하고자 로봇 action을 상호작용의 primitives(point와 방향)로 추상화하고 VLM의 추론을 활용해 공간적 제약을 정의하고 기존의 planning 알고리즘을 적용하는 방식이 제안되었습니다. 그러나 이러한 방식은 primitives를 생성하는 과정이 task-agnostic하여 작업별로 달라지는point와 방향을 반영하지 못한다는 문제와, 생성된 primitives에 대해 수동으로 설계된 규칙에 의존하는 후처리 방식에 의해 안정성이 떨어질 수 있다는 문제가 존재합니다.

이러한 이유로 저자들은 VLM의 high-level planning과 low-level의 로봇 조작을 위한 정밀한 정보를 연결하기 위한 효율적이고 범용적인 표현을 개발하고자 하였습니다. 이를 위해, 객체의 정형화된 공간(canonical space, 여기서 canonical space라는 표현은 Omni6DPose의 표현을 따른 것으로 보입니다. Omni6DPose는 범용적인 object pose estimation을 위한 연구로, 동일 카테고리에 해당하는 물체들을 정렬하는 과정을 포함하고 있습니다. 예를 들면 여러 형태의 주전자의 손잡이 방향이 특정 방향을 향하도록 정렬하는 것입니다. 이러한 과정을 canonicalization이라 합니다.)에서 상호작용 지점과 방향을 통합하는 새로운 object-centric한 intermediate representation을 제안합니다. 저자들의 핵심 통찰은 객체의 정형화된 공간이 보통 그 객체가 지닌 기능적 affordance를 기준으로 정의된다는 점이며, 이러한 공간 내에서는 객체의 기능을 보다 구조적이고 의미 있게 표현할 수 있다는 것 입니다. 또한, 최근 범용적인 object pose estimation 기술의 발전으로 다양한 형태의 객체에 대해 이러한 정형화 과정을 적용하는 것이 가능해졌습니다.

저자들은 범용 6D 객체 자세 추정 모델인 Omni6dpose을 활용해 객체를 정형화하고, 단일 이미지 기반 3D 생성 네트워크로 정밀한 mesh를 생성합니다. 정형화된 공간에서는 객체의 주축을 따라 상호작용 방향을 샘플링하고, VLM이 상호작용 지점을 예측합니다. 이후 VLM은 작업에 필요한 primitives를 추정하고 이 primitives 사이의 공간적 제약을 추론합니다. 여기서 VLM 추론 과정에 발생하는 hallucination 문제를 해결하기 위해 interaction rendering과 primitive resampling을 통한 자체 수정 방식을 제안하여 closed-loop 추론이 가능하도록 합니다. 최종적으로 제약을 최적화하여 동작을 계산하고 pose tracking 기반의 closed-loop execution을 통해 실시간 제어를 수행합니다.

해당 논문의 contribution을 정리하면 다음과 같습니다.

  1. 새로운 object-centric한 intermediate representation을 제안하여 VLM의 high-level 추론 능력과 로봇 조작을 위한 low-level 정보를 연결
  2. 자신들이 아는 한 최초로 VLM을 finetuning하지 않고 planning과 조작에 대한 dual closed-loop의 open-vocabulary 기반의 조작 시스템을 제안
  3. 다양한 실험을 통해 자신들의 방식이 다양한 작업에서 강력한 zero-shot 일반화 성능을 입증하였으며, 데이터 생성 자동화의 가능성을 제시

Method

이제 방법론을 살펴보겠습니다. 위의 Figure 2는 전체적인 프레임워크를 나타낸 것으로, 2개의 Closed-Loop가 존재합니다. 작업과 이미지가 주어졌을 때, 작업의 대상 물체를 찾고 대상 물체의 mesh를 생성합니다. 이를 VFM을 이용하여 여러 stage로 분할하고 각 stage마다 interaction primitives를 정의하나 뒤 공간적 제약 조건을 통해 closed-loop방식으로 planning을 수행합니다. 이후 작업을 실행하기 위해 6D Pose Tracker를 이용한 closed-loop 방식을 통해 작업을 수행합니다.

먼저 문제 정의 및 interaction primitive를 통한 공간적 제약 조건 모델링에 대해 살펴본 뒤, 일반화된 open-vocabulary 방식으로 정형화된 interaction primitive를 어떻게 추출할 수 있는지, OminManip는 2개의 closed-loop를 어떻게 구현하였는 지에 대해 설명합니다.

1. Manipulation with Interaction Primitives

<Problem Definition>

저자들은 복잡한 로봇 작업을 공간적 제약이 있는 interaction primitives로 정의되는 여러 stage로 분해합니다. 작업 \mathcal{T}가 주어졌을 때, 2개의 VFMs인 GroundingDINO와 SAM을 통해 모든 전경 물체를 찾은 뒤, VLM인 GPT-4를 통해 task와 연관된 물체만 남기고 작업을 여러 stage로 분해합니다. stage는 \mathcal{S}_i=\{\mathcal{A}_i, \mathcal{O}^{active}_i, \mathcal{O}^{passive}_i \}로 정의되며, 각각 수행할 action과 상호작용의 주체가 되는 물체, 상호작용의 대상이 되는 물체를 의미합니다. 예를 들면, “컵에 차를 따른다”는 작업이 들어오면, 이를 주전자 잡기{grasp, 그리퍼, 주전자}와, 물 붓기{pour, 주전자, 컵}로 분해하는 것 입니다.(figure 2 참고)

<Object-Centric Canonical Interaction Primitives>

해당 논문에서는 조작 작업에 대한 물체 상호작용 방식을 표현하기 위해 interaction primitives를 포함하는 새로운 object-centric 표현을 제안합니다. 각 primitives는 \mathcal{O}_i=\{\mathbf{p}, \mathbf{v}\}로 정의되며, 각각 상호작용이 이루어지는 point와 방향을 의미합니다. 이러한 primitives는 task를 수행하기 위한 기하학적이고 기능적인 특징을 포함하므로, 다양한 시나리오에서 보다 범용적이고 재사용 가능한 조작 전량을 가능하게합니다.

<Interaction Primitives with Spatial Constraints>

각 stage \mathcal{S}_i에서의 공간적 제약은 \mathcal{C}_i로, \mathcal{C}_i는 상호작용 point 사이의 거리를 의미하는 \mathcal{d}_i와 상호작용의 방향 사이의 alignment를 보장하기 위한 \theta_i로 구성됩니다. 이러한 공간적 제약 조건은 아래의 식으로 정의가 되며, \mathcal{C}_i가 정해지면, 작업 실행은 이에 대한 최적화 문제로 풀 수 있습니다.

2. Primitives and Constraints Extraction

해당 섹션에서는 각 stage마다 interaction primitves와 공간적 제약 조건을 추출하는 과정을 설명합니다. 위의 Figure 2에서 가운데의 주황색 박스 안의 내용에 해당합니다. 먼저 기존 sigle-view 3D generation과 object pose estimation 연구를 이용하여 대상 물체의 3D object mesh를 구하고, 표준화된 pose를 추정합니다.

<Grounding Interaction Point>

위의 Figure 3과 같이 interaction point는 주전자의 손잡이와 같이 가시적이고 물리적인 지점과 주전자 입구의 중앙과 같은 비가시적이고 비물리적인 지점으로 구분됩니다. interaction point를 찾기 위한 VLM의 grounding 성능을 높이기 위해 이미지에 격자 좌표계를 시각화한 SCAFFOLD라는 시각적 prompt방식을 사용하며, 여기서 가시적인 지점은 이미지에서 직접 찾아내고, 비가시적인 지점은 원본 view의 point와 view에 대해 생성한 multi-view를 통해 추론합니다. 이때 추론한 형태는 heatmap 형태가 되도록 합니다.

<Sampling Interaction Direction>

정형화된 공간에서 객체의 principal 축은 상호작용 방향의 후보로 간주됩니다. 그러나 VLM이 공간적 이해 능력이 떨어지므로, 각 방향이 얼마나 적절한 지를 평가하기에는 어려움이 있습니다. 따라서 저자들은 VLM 캡션과 LLM의 scoring 방식을 제안합니다. 이는 VLM을 통해 canonical space에서 축에 대한 설명을 생성한 뒤, LLM을 통해 해당 설명이 task와 얼마나 연관이 있는지를 점수로 나타내는 것으로, 이를 통해 작업을 수행하는데 가장 적합한 후보 방향이 순서대로 정렬된 리스트 \mathcal{K}_i=\{ \mathcal{C}_i^{(1)}, \mathcal{C}_i^{(2)}, ..., \mathcal{C}_i^{N}\}를 구할 수 있게 됩니다. 해당 과정에서 축을 기준으로만 예측 결과를 만드는 것이 너무 한정적이지 않을까 하였는데, 실험(Table 3에 대한 결과입니다)을 통해 저자들이 이후 closed-loop 과정에서도 이를 보완하여 효과적으로 추정이 가능하였음을 보였습니다.

3. Dual Closed-Loop System

large 모델의 hallucination 문제와 작업에 따른 환경의 동적 변화를 반영하기 위해, 저자들은 작업에 대한 planning과 실행 과정에 대하여 dual closed-loop 시스템을 제안합니다.

<Closed-loop Planning>

interaction primitve의 정확도를 높이고 hallucination 문제를 완화하기 위해 저자들은 Resampling과 Rendering, Checking 과정으로 이루어진 self-correction 방식 RRC를 제안합니다. 위의 pseudo code는 해당 과정을 나타낸 것으로, initial 단계와 refinement 단계로 이루어집니다. initial 단계는 앞서 정의된 제약 조건들 \mathcal{K}_i를 평가합니다. 각 제약 조건 \mathcal{C}_i^{(k)}에 대하여 상호작용 이미지 \mathbf{I}_i를 rendering한 후, 이에 대하여 VLM을 적용하여 유효성을 검사합니다. VLM은 다음의 3가지 결과를 반환할 수 있습니다. success를 반환할 경우 다음 task로 넘어가고 failure를 반환할 경우 다음 제약조건으로 넘어갑니다. refinement를 반환하면 refinement 단계로 넘어갑니다. refinement 단계에서는 더 정밀한 상호작용 방향에 대한 resampling을 수행합니다. 균일하게 6 방향으로 refinement를 수행한 뒤, 이에 대하여 다시 평가를 수행하는 방식입니다.

<Closed-loop Execution>

interaction primitives와 이에 대응되는 공간 제약 조건이 각 단계마다 정의된 후, 작업을 실행하는 과정은 최적화 문제로 해결합니다. end-efffector의 target pose \mathbf{P}^{ee*}를 결정하기 위해 아래의 식을 최적화합니다.

  1. \mathcal{L}_C는 제약조건에 대한 loss로 동작이 작업에 대한 제약을 충족하도록 하며, 아래의 식으로 정의됩니다.
  • \rho( ): active 물체와 passive 물체에 대한 공간적 제약의 차이
  • Φ( ): end-effector를 pose를 active물체에 대한 pose로 변환하는 것을 의미

2. \mathcal{L}_{collision}은 end-effector가 장애물과 충돌하지 않도록 하며, 아래의 식으로 정의됩니다.

  • d(\mathbf{P}^{ee}, \mathbf{O}_j): end-effector와 장애물 \mathbf{O}_j사이의 거리
  • d_{min}: 사전에 정의된 최소한의 안전거리

3. \mathcal{L}_{path}는 행동을 부드럽게 수행하기 위한 것으로 아래의 식으로 정의됩니다.

  • d_{trans}( )와 d_{rot}: translation과 rotation에 대한 end-effector의 변화량
  • \lambda_1, \lambda_2: rkwndcl

또한, 실제 환경에서 다양한 동적 요소로 인한 변화를 반영하기 위해 저자들은, 제안한 object-centric interaction primitives와 함께 omni6DPose 알고리즘을 적용하여 active 물체와 passive 물체의 자세를 실시간으로 갱신합니다. 이러한 피드백 과정을 통해 end-effector를 동적으로 움직이는 closed-loop execution을 수행합니다.

Experiment

저자들은 voxposerCoPa, Rekep을 베이스라인 방법론으로 설정하고 실험 결과를 리포팅하였습니다. (세가지 방법론 모두 다른 연구원님들의 X-review에서 확인하실 수 있습니다.) 실험은 12개의 조작 task를 설계하였으며, 이중 6개는 rigid object조작, 6개는 articulated object 조작으로 설정하였다고 합니다. 또한, 10번의 시도에 따른 성공률을 평가하였으며, 실험에 사용한 로봇팔은 2지 그리퍼가 장착된 Franka Emika Panda이고, 2개의 RealSense D415로 로봇 관점과 맞은편 두 곳에 설치하여 환경을 촬영하였다고 합니다.

Main Results

Table 1은 정량적 결과로, 다양한 작업들에 대한 성공률을 리포팅한 결과입니다. 해당 방법론은 finetuning을 수행하지 않았으며, 실험 결과를 통해 zero-shot 일반화 성능이 우수함을 보였습니다. 정성적 결과는 프로젝트 페이지에서 확인하시면 좋을 것 같습니다. 또한, 실험 결과 Closed-Loop 방식을 통해 성능이 확연히 개선되었음을 확인할 수 있습니다.

위의 Figure 7은 closed-loop를 통해 self-correction을 거쳐 펜을 홀더에 넣는 작업을 성공할 수 있었다는 것에 대한 정성적 결과입니다.

위의 Figure 8은 대상물체들의 변화가 일어나는 동적인 시나리오를 나타낸 것으로, closed loop execution을 통해 이러한 경우에도 작업을 수행하였으며, 이에 대한 결과는 데모 영상을 통해 확인하실 수 있습니다.

Reliability of OmniManip

저자들은 OmniManip의 신뢰성을 판단하기 위해 안정성과 viewpoint의 일관성에 대해 평가합니다.

먼저 안정성은 task에 대하여 interaction primitives를 신뢰할 수 있는 지를 평가하고자 한 것으로, 위의 Figure 5는 “Pour tea”에 대한 ReKep과 CoPa 방식을 비교한 결과입니다. 다른 두 방식은 작업이 실패한 결과이며, 저자들이 제안한 방식은 물체를 의미론적 기능적으로 정렬하는 정형화된 공간에서 primitives를 생성하므로 안정적이고 작업에 적합한 추론이 가능하였다고 어필합니다.

그 다음은 위의 Figure 6과 Table 2는 viewpoint에 따라 interaction primitives를 일관적으로 추출하는 지 평가한 결과를 정성적 정량적으로 나타낸 결과입니다. “Recycle the battery”에 대하여 ReKep은 90°에서만 작업에 성공할 수 있으나, OmniManip는 모든 시점에서 작업을 수행할 수 있었다고 합니다. (45°에서 배터리에서 빨간 축 방향이 다르지만, 빨간 축 방향이 파란 축 방향으로 이동하는 것으로 작업은 성공한 것으로 보입니다.)

위의 Table 3은 상호작용 방향에 대하여 균일하게 샘플링한 방식과 저자들이 제안한 canonical sapce에 대한 축을 기준으로 샘플링한 결과를 비교한 것 입니다. 반복 횟수가 줄어 효율적일 뿐만 아니라 성능도 개선되는 결과를 확인할 수 있습니다.

OmniManip for Demonstration Generation

마지막으로, abstract와 contribution에서 데이터 생성 자동화에 대한 가능성을 확인하였다고 하였는데, 이에 대한 실험결과입니다. 사전지식 없이 zero-shot 방식으로 새로운 작업에 대한 데모 150개 수집한 뒤, behavior cloning policies를 학습한 결과를 나타낸것올 굉장히 높은 성공률을 달성하였습니다.

Author: 이 승현

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다