[arXiv 2025] RoboVerse: Towards a Unified Platform, Dataset and Benchmark for Scalable and Generalizable Robot Learning

안녕하세요, 이번엔 2025년 4월에 나온 따끈따끈한 논문을 리뷰해보려고 합니다. 지난주에 Behavior-1K논문을 리뷰했었는데, Behavior-1K는 수많은 asset을 제작해서 하나의 거대한 데이터셋을 제작했다면, 이번에 리뷰할 논문은 여러 시뮬레이터에서 제작된 디지털 로봇 액션을 위한 데이터셋들을 통합하는 백엔드를 통해 하나의 체계를 구현한 ROBOVERSE라는 플랫폼을 제시한 논문입니다.

RoboVerse는 로봇 학습을 위한 시뮬레이션 플랫폼, 대규모 합성 데이터셋, 통합 벤치마크를 모두 아우르는 포괄적 프레임워크입니다. 저자의 말에 따르면 자연어 처리나 컴퓨터 비전 분야는 방대한 데이터와 표준화된 벤치마크로 비약적 발전을 이루었지만, 로봇 분야는 데이터 부족과 평가 환경의 단절으로 어려움을 겪어왔다고 합니다. 따라서 ROBOVERSE는 이러한 한계를 극복하고자, 다양한 시뮬레이터를 하나로 묶는 MetaConfig 기반의 통합 환경, 수백만 단계에 이르는 대규모 시연 데이터, 그리고 일관된 학습 평가 기준을 제시했다고 합니다. ROBOVERSE의 핵심 요소들을 살펴보도록 하겠습니다.

Introduction – RovoVerse

대규모 데이터는 풍부한 학습 기회를 제공해 모델의 성능을 극대화하고, 일관된 벤치마크는 다양한 알고리즘을 공정하게 비교하고 평가할 수 있는 기준을 마련해주었습니다. 하지만 이런 발전 양상을 로봇 분야에 동일하게 적용하기는 어렵다고 합니다. 로봇 데이터를 수집하려면 실제 하드웨어 환경이 필요하고, 다양한 센서와 로봇 플랫폼에 따라 생기는 복잡한 설정 때문에 데이터 획득이 매우 비용 높고 비효율적입니다. 무엇보다 실세계에서는 완벽하게 동일한 세팅으로 해당 장면을 재현하는 것이 어렵기 때문에 표준화된 평가 기준을 수립하는 것 자체가 어려운 상황입니다. 예를 들어, 동일한 작업이라 하더라도 매 실험마다 물체 배치가 달라지고, 조명 조건이나 주변 환경이 시시각각 변하기 때문에 policy의 성능을 객관적으로 비교하는 것이 쉽지 않고, 결과적으로 실제 로봇을 활용한 데이터 수집이나 벤치마크 구축은 비용과 시간이 많이 들고, 확장 가능성도 떨어지며, 표준화된 평가 체계를 만들기 어렵다는 고질적인 문제를 안고 있었다고 합니다.

저자는 이런 상황에서 시뮬레이터 기반의 합성 데이터가 훌륭한 대안으로 부상하고 있다고 합니다. 시뮬레이터는 정확하게 재현 가능한 환경, 저렴한 연산 비용, 그리고 다양한 환경 조건을 빠르게 구성할 수 있는 유연성을 제공하기 때문에 데이터 수집뿐만 아니라, 정책의 성능을 동일 조건 하에 반복 평가할 수 있는 객관적인 실험 환경이라고 주장합니다. 하지만 시뮬레이터 기반의 연구들도 여전히 한계를 가집니다. 시뮬레이터 자체의 사용 난이도가 높고, 시나리오를 구성하거나 데이터를 수집하려면 전문가 수준의 지식이 요구된다고 합니다. 또, MuJoCo, Isaac Sim, CoppeliaSim, PyBullet 등 다양한 시뮬레이터가 각기 다른 구조와 인터페이스를 가지고 있어 하나의 시뮬레이터에서 작성한 환경을 다른 곳으로 옮기기 어렵고 재사용이 제한적입니다. 아래와 같이 여러가지 시뮬레이터들은 렌더링 방식과 지원하는 센서, 물리엔진 등등 매우 다른 환경을 가지고 있습니다. 그 결과, 현재 로봇 시뮬레이션 생태계는 조각난 데이터, 파편화된 벤치마크로 인해 통합적인 데이터 활용과 연구 재현성이 떨어지는 구조에 머물러 있다고 합니다.

저자들은 이러한 문제를 해결하고자 ROBOVERSE 라는 플랫폼을 제안했습니다. ROBOVERSE는 세 가지 핵심 요소로 구성된 범용 로봇 학습 프레임워크입니다. 다양한 시뮬레이터를 하나의 형식으로 통합하는 공통 시뮬레이션 인프라인 METASIM, 수십만 개의 로봇 trajectory와 수천 개의 asset이 포함된 대규모 합성 데이터셋, 이들을 통한 다양한 학습 방법을 하나의 기준으로 평가할 수 있는 통합 벤치마크까지 지원합니다. 특히 ROBOVERSE의 핵심 인프라인 METASIM은 다양한 시뮬레이터에서 사용하는 에이전트, 객체, 센서, 과제, 물리엔진 등을 표준화된 형식인 MetaConfig로 정의할 수 있게 해주며, 이를 바탕으로 어떤 시뮬레이터든 동일한 환경으로 생성하고 제어할 수 있다고 합니다.

ROBOVERSE의 핵심적인 장점들로는 하나의 작업과 궤적을 여러 시뮬레이터 간에 전환하여 사용할 수 있어, 시뮬레이터별 비교, 병렬 학습, 검증 실험까지 가능하게 해주는 Cross-Simulator Integration, MuJoCo의 물리 엔진과 Isaac Sim의 렌더러를 조합하여 사용하는것과 같은 Hybrid Simulation, 동일한 액션을 다양한 로봇 형태에 맞게 재사용할 수 있도록 retargeting 해주는 Cross-Embodiment Transfer 기능이 있고, 이 요소들이 데이터 재사용을 극대화 해준다고 합니다. ROBOVERSE는 시뮬레이터들을 통합하는 과정을 통해 총 276개 작업 카테고리에 대해 약 50만 개 이상의 고해상도 데이터셋을 수집했으며, 사용된 3D 자산만 해도 5,500개 이상이라고 합니다. RLBench, ManiSkill, Meta-World, robosuite, CALVIN 등 기존 공개 벤치마크들의 데이터를 MetaConfig 기반으로 이식하는 방식을 활용했고, trajectory가 없는 데이터셋 같은 경우에는 강화학습이나 모션 플래닝을 통해 시연 데이터를 생성하였다고 합니다. 뿐만 아니라, ROBOVERSE는 앞서 말했듯 일관된 성능 평가를 위한 벤치마크 체계도 제안합니다. 모방 학습, 강화학습, World Model Learning 등에 대해 통합된 평가 프로토콜을 제공하며, 특히 일반화 성능을 네 가지 수준(Level 0~3)으로 나누어 테스트합니다.

이처럼 다양한 특장점들을 가질 수 있는 핵심 요소들에 대해 자세하게 알아보도록 하겠습니다.

MetaConfig

MetaConfig는 어떤 시뮬레이터에서도 통용되는 환경 정의 방식을 제공합니다. MetaConfig를 통해 MetaSim의 구조가 구현 가능하다고 합니다. MetaConfig는 로봇, 객체, task, 물리적인 파라미터 등을 계층적 데이터클래스 형태로 기술되어 있고, MetaConfig를 통해 백엔드 시뮬레이터 종류에 상관없이 해석되어 동일한 환경을 구성해주며, Hydra와 같은 CLI를 통한 시뮬레이터별 특수 파라미터도 별도로 지정해 고유 기능을 활용할 수 있다고 합니다.

예를 들어, Pick-and-Place task를 한 번 정의해두면, 이를 PyBullet부터 MuJoCo, Isaac Sim까지 다양한 물리 엔진에서 실행할 수 있습니다. MetaSim은 위 figure에서 찾아볼 수 있듯이 Isaac Sim, Isaac Gym, MuJoCo, PyBullet, SAPIEN, CoppeliaSim 등 수많은 시뮬레이터 백엔드를 지원하고, 원하는 엔진을 선택해 같은 실험을 검증할 수 있습니다. 특정 시뮬레이터의 강점을 활용할때도 MetaConfig 설정에서 백엔드만 바꾸면 되므로, 별도의 코드 수정 없이각 엔진의 장점을 손쉽게 활용할 수 있습니다.

이때 핸들러(Handler) 클래스가 각 시뮬레이터를 추상화하는 역할을 합니다. MetaSim의 모든 시뮬레이터 핸들러는 get_state, set_state, step 세 가지 API만으로 실행된다고 합니다. get_state()는 요청한 객체들의 현재 상태를 파이썬 딕셔너리 형태로 반환하고, set_state()는 지정한 상태로 시뮬레이션을 갱신하며, step()은 물리 엔진을 한 스텝 진행시킵니다. 다양한 시뮬레이터에서 비슷한 형식을 취하고 있기 때문에 사용이 편리해보입니다. 이를 활용해 state를 저장·복원하거나 동기화도 일관된 방식으로 처리됩니다. 상위 계층에서는 이 Handler 위에 OpenAI Gym/Gymnasium 호환 환경 클래스(Env)가 구현되어 있어 RL 환경 함수를 그대로 사용할 수 있다고 합니다.

Dataset Migration

ROBOVERSE의 MetaConfig의 존재 이유이자, 두번째 핵심인 대규모 합성 데이터셋입니다. 다양한 공개 로봇학습 벤치마크들을 한데 모아 통합 형식으로 흡수함으로써, 이전에는 개별적으로 활용되던 데이터를 일관된 형태로 모아서 활용할 수 있게 되었다고 합니다. 특히 RLBench나 CALVIN과 같이 널리 쓰이는 시뮬레이션 환경들의 Task와 시연 데이터가 migration되어 활용도가 더욱 높다고 합니다. 논문에는 아래 표와 같이 엄청나게 많은 데이터셋에 대한 설명이 있지만 핵심적인 몇가지만 적어두도록 하겠습니다.

먼저 RLBench는 CoppeliaSim 기반의 대규모 로봇 작업 데이터셋이고, 단순한 팔 뻗기부터 오븐을 열고 안에 쟁반을 넣기 같은 80여 종의 복잡한 단계적 작업이 데이터셋으로 존재합니다. RLBench는 각 작업마다 웨이포인트 기반 모션 플래닝으로 생성된 무한대에 가까운 시연 데모를 제공하는데, ROBOVERSE는 이들을 모두 Rollout해서 trajectory를 수집하고 MetaConfig 환경으로 직접 변환했다고 합니다. 전에 RLBench의 데이터를 Isaac Sim에서 직접 활용하고 싶었지만 웨이포인트 기반의 데이터를 활용하기 힘들어 우선 물체들만 이식하는 작업을 진행했었는데, 완벽하게 migration이 됐다니 신기합니다,,

CALVIN 데이터셋은 언어 지시문을 따라 long horizon 작업을 수행하는 벤치마크로, PyBullet 시뮬레이터 상에서 4가지 환경에 걸쳐 약 6시간 분량의 teleoperation 데모를 제공한다고 합니다. 여기엔 블록을 집어 슬라이더에 넣는 등 테이블과 3색 블록으로 구성된 멀티스텝 작업들이 포함된다고 합니다. ROBOVERSE는 CALVIN의 모든 데모를 통합했을 뿐 아니라, asset 변환 파이프라인(뒤에서 설명하도록 하겠습니다)을 통해 원본 URDF로 정의된 테이블과 블록 모델을 USD 형식으로 변환하고 물리 속성을 설정하였다고 합니다. 이렇게 함으로써 CALVIN 환경도 Isaac Sim과 같은 고품질 렌더링이 가능한 엔진에서 재현 가능하게 되었고, 자연어 주석에 따라 데모를 분할해 다양한 부분 과제로 재구성할 수 있게 되었다고 합니다.

ManiSkill은 이 논문에서 처음 보는 데이터셋이고, 처음보는 시뮬레이터를 활용했는데 SAPIEN 시뮬레이터 기반의 벤치마크로, dual arm으로 수행하는 task를 제공한다고 합니다. 대표적으로 PickCube, PickSingleYCB, Peg Insertion Side (옆방향으로 구멍에 끼워넣는 task라고 합니다), 전원 플러그 꽂기(PlugCharger) 등의 작업과 시연들이 포함되어 있다고 합니다. ROBOVERSE는 이 task들과 다수의 데모 궤적을 가져와 통합했고, 필요한 물체 모델 자산도 primitive 형태로 재구성하거나 원본 메쉬를 가공해 세밀한 물리 특성을 갖추도록 처리했다고 합니다. 기존 다른 시뮬레이터의 asset들을 어떠헥 가져와서 사용할지, 그 때 primitive 형태로 등록할 때 메쉬를 가공하거나 물리적인 특성을 부여하는 방법은 어떻게 할지 고민하다가 막막해 했던 기억이 있는데, 이렇게 하나로 통합됐다는 것이 아직 써보지 않아서 어느정도인지는 잘 모르겠지만 생각할수록 대단한 것 같습니다..

또 Meta-World라는 MuJoCo 기반의 멀티태스크/메타 러닝 벤치마크도 있다고 ㅎ바니다. Sawyer 로봇팔로 수행하는 50개정도의 tabletop task를 제시하지만 공식 데모 데이터는 없었다고 합니다. 저자들은은 이 중 Drawer Open/Close, Door Close, Window Open/Close 등 대표 작업 5종을 선정해 환경을 통합하였고, MuJoCo의 MJCF를 USD로 수작업 변환하여 가져왔다고 합니다. 데모는 제공되지 않은 관계로, 기존 연구의 RL 정책을 활용하여 각 작업을 실행한 trajectory를 생성해 대체했다고 합니다.

이외에도 robosuite & MimicGen, GAPartNet, Open6DOR, ARNOLD, LIBERO, SIMPLER, GraspNet, GarmentLab, UniDoorManip 등 여러 공개 환경의 과제들이 ROBOVERSE로 통합되었습니다. GAPartNet의 경우 IsaacGym 상에서 다양한 복잡한 기계 부품 151개를 다루는 조립/분해 과제들을 포함하며, ROBOVERSE 통합 시 모션 플래닝과 RL을 병행해 trajectory를 생성했다고 합니다. 또한 LIBERO, SIMPLER 같은 벤치마크는 언어 조건부 조작 등 특수 목표를 가진 환경으로, keypoint 위주로 주어졌던 시나리오에 대해 모션 플래닝으로 연속적인 trajecotry를 만들거나 텔레오퍼레이션으로 추가 데이터를 수집하는등 다양한 기법을 활용해 완전한 형태의 데이터로 만들어서 추가했다고 합니다.

Asset Conversion

데이터 자산 변환도 ROBOVERSE 데이터셋 구축의 중요한 부분이었다고 합니다. (다양한 시뮬레이터에서 다양하게 정의된 포맷을 통일했으니 당연할 것 같습니다..) 다양한 시뮬레이터마다 로봇/객체 모델의 포맷이 제각각이므로 (MuJoCo의 MJCF, ROS 생태계의 URDF, NVIDIA Omniverse의 USD 등 아래 table과 같이 차이가 있어 USD로 통합한 것 같습니다.), ROBOVERSE는 MJCF → URDF → USD의 단계적 자산 변환 파이프라인을 마련했다고 합니다. 먼저 MJCF인 경우 파일을 읽어 링크, 조인트 정보와 메쉬/재질을 해석한 뒤 URDF로 변환하고, URDF를 다시 USD로 변환하는 방식입니다. URDF를 USD로 전환하는 경우 Isaac Sim의 기능을 사용했다고 합니다. 직접 MJCF를 USD로 바꾸는 것은 기능 차이로 복잡하고 오류 소지가 크기 때문에, URDF를 중간 표준 형식으로 활용해싿고 합니다. 이렇게 얻어진 USD 자산은 Isaac Sim과 같은 고품질 렌더러에서 사용하기 적합하며, MetaConfig를 통해 초기 위치나 물리 속성도 일관되게 부여할 수 있다고 합니다.

뿐만 아니라 현실 환경을 Real to Sim 가능하게 해주는 파이프라인 또한 제시합니다. 휴대폰으로 다각도의 이미지나 동영상을 촬영하는 것만으로, 해당 객체/장면의 3D 복원과 물리 모델 추출을 상당 부분 자동화할 수 있었다고 합니다. 구체적인 재구성 파이프라인은 다음과 같습니다.

먼저 COLMAP과 같은 Sfm 기법으로 다중 뷰 영상의 카메라 정보를 얻고,Gaussian Splatting을 적용하여 촬영 대상의 고해상도 표현을 생성합니다. 이후에 VLM을 활용해 입력 영상으로부터 객체의 재질, 무게, 관성 등 물리 속성에 대한 힌트를 추론한다고 합니다. 예를들어 VLM이 이미지를 분석해 “금속 재질의 경첩을 가진 나무 문”과 같은 설명을 얻으면, 이후 시뮬레이션 모델에 적절한 마찰 계수나 질량 값을 설정한다고 합니다. 이후 정밀한 기하 복원을 위해 촬영한 영상으로부터 surface normal 추정을 수행하고, surfel 기반 스플래팅과 TSDF (Truncated Signed Distance Function) 합성 기법을 적용해 높은 디테일의 3D 메쉬를 생성한다고 합니다. TSDF는 다중 depth를 통합하여 물체 표면의 형태를 추정하는데, 움직이는 요소가 있더라도 동적 필터링으로 안정적인 메쉬를 얻어낼 수 있다고 합니다. 이렇게 얻은 텍스처 중심의 gaussian과 mesh를 결합하기 위해, semantic mask로 서로 다른 구성 요소를 분리하고 필요한 부분만 추출한다고 합니다. 영상에서 배경과 물체를 분리하거나, 하나의 장면에 여러 개체가 있으면 각각 따로 분할해내는 것도 가능하고, 이 과정으로 개별 객체 단위의 모델을 확보할 수 있다고 합니다. 모델을 확보한 이후에는 대상이 문, 서랍처럼 articulation이 있는 물체라면, 영상 속 움직임을 통해 관절 구조와 회전/이동 축 등을 파악하고 이러한 정보들을 종합하여 URDF를 자동으로 생성한다고 합니다. 정확히 어떻게 작동하는지는 코드를 통해 더 살펴봐야 할 것 같습니다.. 이렇게 얻은 real to sim의 결과는 바로 시뮬레이터를 통해 활용이 가능하다고 합니다.

이러한 파이프라인 덕분에, 사용자는 현실의 물체를 디지털 트윈으로 신속히 생성하여 ROBOVERSE 시뮬레이터에서 활용할 수 있다고 합니다.새로운 형태의 공구(tool)나 가정용 물체를 다루고 싶다면, 실제 물체를 몇 분간 비디오로 찍은 뒤 이 방법으로 시뮬레이션 모델을 만들고, 곧바로 가상 환경에서 로봇이 그 물체를 조작하도록 실험해볼 수 있고, 이는 기존에 3D 모델링 전문 지식이나 긴 개발 시간이 필요했던 디지털 자산 확장을 비전문가도 수행 가능한 작업으로 바꾸어 주었다는 큰 의미가 있다고 하빈다. 또한 연구 관심사에 따라 데이터 자산을 다양화할 수 있으므로, 이전에는 시뮬레이터에 없던 희소한 상황(특정 공장 환경이나 특수 소재 물체 등)도 직접 추가하여 데이터 편향을 줄이고 일반화 성능을 높이는 방향으로 실험 설계를 발전시킬 수 있을 것이라고 기대한다고 합니다.

RoboVerse Benchmark

ROBOVERSE는 수집된 데이터셋을 바탕으로 imitation learning과 reinforcement learning 모두를 아우르는 표준화된 벤치마크를 제공한다고 합니다. 우선 IL 벤치마크에서는, 주어진 데모만을 사용해 정책을 학습하고 동일한 환경에서 평가하도록 함으로써 공정한 비교를 가능하게 했다고 합니다. 추가적으로 일반화 성능을 엄격히 검사하기 위해, 전체 데이터를 90% 학습용, 10% 평가용으로 나누고, 네 단계의 일반화 레벨(Level 0~3)을 차례로 적용했다고 합니다. 먼저 Level 0에서는 카메라 위치, 재질, 조명 등 모든 환경 요소를 고정한 채 학습 및 평가합니다. Level 1 에서는 환경을 랜덤화 합니다. 카메라·조명은 고정하되, 집, 테이블, 바닥 등의 scene 구성을 미리 정의된 여러 설정으로 바꿔가며 학습·평가해 환경 변화에 대한 강건성을 측정합니다.더 나아가 Level 2에서는 카메라를 랜덤화 합니다. 다양한 높이와 각도의 실제감 있는 카메라 포즈를 적용해 학습과 평가를 반복함으로써 시점 변화에 강건한지를 테스트 한다고 합니다.마지막으로는 Level 3로 조명·반사 랜덤화를 진행합니다. 실제 세계에서 흔히 마주치는 다양한 조명·재질·반사 조건을 시뮬레이션해, 모델이 조명 변화와 표면 특성 변화에도 견고하게 동작하는지 검증합니다. 얼마전에 접한 RoboSplat이라는 논문에서도 카메라 뷰 변화, 조명 변화를 통해 강건성을 입증했는데, 일반화 요소들에 대한 기준은 점점 생기고 있는 것 같습니다.

더불어 강화 학습 벤치마크는 다양한 과제와 로봇 형태, 시뮬레이터 백엔드를 아우르는 종합 평가 체계를 구축한다고 합니다. Stable-Baselines3와 rsl_rl 양쪽에서 제공하는 PPO 알고리즘을 METASIM 인터페이스에 통합함으로써, 과제 정의부터 환경 전환, 성능 로깅까지 일관된 워크플로우로 처리할 수 있고, 기존 HumanoidBench의 휴머노이드 제어 task들을 ROBOVERSE로 migration하여, Isaac Sim이나 MuJoCo 등 서로 다른 엔진에서도 동일한 PPO 학습 파이프라인을 활용하도록 했다고 합니다. (어떻게 한건진 모르겠짐나 대단한것같습니다..) 나아가 원본 HumanoidBench에서 쓰이던 TD-MPC2 알고리즘까지 rsl_rl 환경에 무리 없이 연동해, 구현의 충실도를 유지하면서 다양한 RL 알고리즘 성능을 비교·검증할 수 있도록 확장했다고 합니다.

해당 벤치마크로 IL과 VLA모델들을 테스트 해봤다고 합니다.

또한 RoboVerse 데이터셋을 통한 학습으로 여러 task의 Real to Sim to Real이 가능했다고 합니다.

Conclusion

아직 직접 실행해보고 눈으로 확인해봐야 알 것 같긴 하지만 제가 시도해보려고 했던 내용들이 이미 이루어진 것 같아서 정확히 무엇이 되고 안 되는지 확인을 해봐야 할 것 같습니다. 데이터가 정말 많고 이를 정교한 물리엔진이 탑재된 시뮬레이터 환경의 학습에서 활용할 수 있는 만큼 해당 플랫폼을 이용해서 다양한 policy가 연구되지 않을 까 싶습니다. 또한 이러한 방대한 데이터는 기존에 존재하는 Sim to Real 방법들과 더불어 Sim to Real gap을 줄이는데 도움이 되지 않을까 싶습니다.

Author: 김 영규

답글 남기기

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