Developer & Creator

Reconstruction Dataset for Deformable Object Manipulation

본 포스트에서는 2024년 12월부터 2025년 2월까지 KAIST 강인공지능 로보틱스 연구실(RIRO Lab)에서 학부 인턴으로 참여하며 진행했던 ‘O-ring Reconstruction Dataset’ 구축 프로젝트에 대해 기록하고자 합니다. 이 프로젝트는 비정형 물체(deformable object) 조작이라는 새로운 분야에 도전하고, Sim-to-Real 문제에 더 깊이 파고드는 계기가 되었습니다.

서론 (Introduction)

필요성 및 목적

기존 로봇 연구는 주로 단단한 물체(rigid body) 조작에 집중되어 왔습니다. 하지만 고무링, 천, 케이블처럼 형태가 자유롭게 변하는 비정형 물체를 다루는 기술은 아직 초기 단계에 머물러 있습니다. 특히 O-ring과 같이 신축성 있는 물체를 다양한 환경에서 조작하는 상황을 담은 대규모 공개 데이터셋은 거의 전무하여 관련 연구에 큰 걸림돌이 되고 있었습니다.

본 프로젝트의 최종 목표는 O-ring의 3D 형태 복원(Reconstruction) 모델 학습을 위한 대규모 Pre-train 데이터셋을 구축하는 것이었습니다. 이를 위해 다양한 접촉 상황과 조작 동작을 포괄하는 일반화된 태스크를 가상 환경에서 구현하고, 여기서 Point Cloud 데이터를 수집하고자 했습니다.

핵심 접근 방식

  1. Task의 일반화: 실제 O-ring이 사용되는 다양한 사례를 분석하여 핵심적인 물리적 상호작용(접촉, 동작, 속성 등)을 추출하고, 이를 기반으로 무한히 많은 가상 Task를 생성할 수 있도록 일반화합니다.
  2. 고품질 시뮬레이션 환경 구축: 일반화된 Task를 안정적으로 구현하고 데이터를 수집할 수 있는 물리 시뮬레이션 환경을 구축합니다.

1. O-ring Task 분석 및 일반화

[그림 1: O-ring Task 분류 기준] O-ring Task Classification

데이터셋이 특정 Task에만 편중되지 않고 다양한 상황에 대응할 수 있도록, 먼저 실제 O-ring이 사용되는 산업/일상 사례(엔진 밀봉, 파이프 연결, 부품 분리 등)를 폭넓게 분석했습니다. 이 분석을 통해 복잡해 보이는 모든 Task가 사실은 몇 가지 핵심 요소의 조합으로 이루어져 있음을 파악하고, 다음 4가지 기준으로 Task를 분류 및 일반화했습니다.

  1. 접촉 단위 개수 (Number of Contact Units): O-ring이 외부 물체와 상호작용하는 최소 영역의 개수 (0~10개)
  2. 조작 동작 (Manipulation Movement): O-ring에 가해지는 상대적인 움직임 (이동, 회전, 변형 등)
  3. 접촉 타입 (Contact Type): 도구가 O-ring을 조작하는 방식 (Prehensile: 쥐는 형태 / Non-Prehensile: 미는 형태)
  4. 대상 물체의 물성치 (Object Properties): O-ring 자체의 물리적 속성 (밀도, 마찰, 탄성 등)

이 기준들을 바탕으로 각 요소를 무작위로 조합하여 수많은 가상 Task 시나리오를 자동으로 생성하는 기반을 마련했습니다.

2. Isaac 기반 가상 환경 구축 및 기술적 도전

[그림 2: IsaacSim 물리 엔진 오류] IsaacSim Physics Error

프로젝트 초기에는 NVIDIA IsaacSim을 사용하여 가상 환경을 구축하려 했습니다. 하지만 Deformable Object의 특성상 복잡한 물리 연산이 필요한데, IsaacSim 환경에서는 GPU 및 Physics 엔진 관련 충돌이 빈번하게 발생하여 시뮬레이션을 안정적으로 진행하기 어려웠습니다.

이 문제를 해결하기 위해 Deformable Object 시뮬레이션에 더 최적화된 IsaacLab으로 개발 환경을 전면 전환했습니다. 이 과정에서 다음과 같은 기술적 문제들을 해결해야 했습니다.

  • 물체 관통 문제: 초기 설정에서는 O-ring이 로봇 손가락이나 다른 물체와 접촉 시 힘을 견디지 못하고 통과해버리는 현상이 발생했습니다. 이를 해결하기 위해 O-ring의 밀도(density), 마찰(friction), 탄성(Elasticity/Stiffness) 등 물리 파라미터를 수백 번의 실험을 통해 미세 조정했습니다.
  • 제어 불안정성: 로봇 핸드를 이산적인 위치(Position) 기반으로 제어할 경우, O-ring과 충돌하는 순간 튕겨져 나가는 현상이 발생했습니다. 이를 연속적인 힘/속도(Force/Velocity) 기반 제어로 변경하여 부드럽고 안정적인 상호작용을 구현하는 데 성공했습니다.

[그림 3: IsaacLab 기반 최종 시뮬레이션 환경] Final Simulation in IsaacLab

이러한 노력 끝에, 로봇 핸드와 여러 막대(Pole)가 무작위 위치/방향으로 생성되어 O-ring을 잡고, 누르고, 당기는 등 일반화된 Task를 안정적으로 수행하는 시뮬레이션 환경을 구축할 수 있었습니다.

3. Point Cloud 데이터 수집

[그림 4: Point Cloud 데이터 수집 과정] Point Cloud Data Collection Process

안정화된 시뮬레이션 환경 위에서 자동화된 데이터 수집 파이프라인을 구축했습니다. 매 시뮬레이션 스텝마다 다음 두 종류의 데이터를 수집하여 저장했습니다.

  • Camera-view Point Cloud: 외부 카메라 시점에서 관찰되는 O-ring의 부분적인 Point Cloud
  • O-ring Mesh Point Cloud: O-ring 자체의 전체 형태를 나타내는 완전한 Ground Truth Point Cloud

이를 통해 수십만 프레임에 달하는 대규모 3D 데이터셋을 성공적으로 확보할 수 있었습니다.

결론 및 성과

약 2개월의 인턴십 기간 동안, 저는 Sim-to-Real 연구의 핵심 중 하나인 ‘현실과 유사한 고품질 데이터’를 생성하는 전 과정을 주도적으로 경험했습니다. 특히 시뮬레이션 환경의 한계에 부딪혔을 때, 근본 원인을 분석하고 대안적인 해결책(IsaacLab 도입 및 물리 파라미터 튜닝)을 찾아 직접 문제를 해결했던 경험은 시스템 전체를 보는 엔지니어링 역량을 크게 길러주었습니다.

이 프로젝트를 통해 비정형 물체 조작에 대한 깊은 이해를 얻었으며, 2025년 2월 28일, 성공적으로 O-ring Reconstruction Dataset을 구축하며 인턴십을 마무리했습니다. 이 경험은 앞으로 더욱 복잡하고 도전적인 로봇 연구를 수행하는 데 튼튼한 밑거름이 될 것입니다.