로봇이 장애물 코스를 통과하려면 걷는 법만 배워서는 안 됩니다. 주변을 인식하고 균형을 잡는 것은 물론, 앞길이 막히면 상황에 맞게 움직임을 바꿀 수 있어야 합니다. 이러한 능력을 개발하려면 여러 단계를 거쳐야 합니다. 먼저 에셋과 환경을 만들고, 물리 시뮬레이션으로 로봇과 환경의 상호작용을 모델링한 뒤, 시뮬레이션에서 정책을 학습하고 평가합니다.
이 워크플로는 로컬 환경과 클라우드를 오가며 진행됩니다. NVIDIA RTX Spark는 AI를 활용한 계획 수립과 정책 검증을 위한 로컬 개발 허브 역할을 합니다. 클라우드에서는 NVIDIA Isaac Lab을 사용해 강화 학습으로 로봇 정책을 학습합니다. 이때 Newton은 로봇의 물리적 동작을 모델링하고, NVIDIA Omniverse 라이브러리는 RTX 렌더링으로 로봇이 관측할 시각 정보를 생성합니다. 학습을 마친 정책은 RTX Spark로 가져와 NVIDIA Isaac Sim에서 평가합니다.
이 글에서는 Microduck을 예제로 삼아 전체 과정을 단계별로 살펴봅니다. Hermes, NVIDIA Nemotron, Astra의 도움을 받아 계획을 세우고 준비한 뒤, 시뮬레이션에 장애물 코스를 만들고 내비게이션 정책을 학습·평가합니다. 이 흐름은 각자의 로봇과 과제에 맞게 응용할 수 있으며, 실제 로봇에 정책을 적용하기 위한 토대가 됩니다. 다만 시뮬레이션과 실제 환경에서는 로봇의 동작에 차이가 생길 수 있으므로, 실제 배포 과정에서 추가 검증과 보정이 필요합니다.

1. 장애물 코스 계획 수립
먼저 장애물 코스의 구성과 Microduck이 학습해야 할 동작을 프롬프트로 작성합니다. RTX Spark에서 실행되는 Hermes와 NVIDIA Nemotron 3.5 Bolt는 이를 바탕으로 단계별 프로젝트 계획을 세웁니다. 계획에는 수행할 과제, 활용할 수 있는 리소스, 목표 산출물, 에이전트가 따라야 할 절차가 포함됩니다. 아래 예시를 참고해 프롬프트를 작성해 보세요.
항법과 보행 과제를 포함한 Microduck 시뮬레이션 장애물 코스를 구축하고 테스트하라. 사실적인 컨셉 이미지를 만들고, Astra가 이를 구축하고 테스트하게 하라.
...
워크플로
준비에는 Hermes와 Nemotron 3.5 Bolt를, 에셋 제작과 시뮬레이션에는 Astra를 사용하라.
...
1. 조사 및 계획
Microduck 공식 문서를 검토하여 기능, 제약, 미확인 사항을 요약하라. 코스 레이아웃, 장애물 치수, 여유 공간, 의도한 경로를 정의하라.
...
2. 컨셉 생성
검증된 Microduck 참조 이미지로 사실적인 코스 컨셉을 생성하라. 로봇의 외형, 상대적 크기, 이동 공간을 확인하고 프롬프트와 출처를 저장하라.
...
3. 에셋 식별
재사용 가능한 고유 에셋을 추출하고, 반복되는 인스턴스를 묶고, 대표 크롭을 선정하라. 치수, 위치, 참조 이미지의 한계를 기록하고 원본 이미지는 보존하라.
...
4. 인계 준비
계획, 로봇 브리프, 컨셉, 에셋 목록, 크롭, 실행 지침을 패키징하라. 필수 파일을 확인하고 Astra에게 위임한 뒤, 확정된 결과를 기다려라.
...
5. 에셋 제작 및 검증
Astra가 참조 이미지를 개선하고, FreeCAD로 형상을 모델링하고, Blender로 머티리얼을 적용하게 하라. 시뮬레이션 전에 모든 에셋이 완료되었거나 진행 불가임이 입증되었는지, 사용 가능한 모델이 최소 하나 있는지 확인하라.
...
6. 조립 및 테스트
로봇의 기능을 확인하고, 코스를 조립하고, 항법, 과제, 리셋을 테스트하라. 재현 가능한 지침과 근거를 제공하고, 물리 하드웨어는 조작하지 마라.
...
RTX Spark에서 프로젝트 계획을 세우려면 먼저 Microduck의 리포지토리와 문서를 살펴봅니다. 로봇이 수행할 수 있는 동작과 활용 가능한 리소스, 추가로 확인할 사항을 파악한 뒤, 이를 바탕으로 전체 작업을 계획합니다. 계획에는 에셋 제작뿐 아니라 환경 구축, 로봇 준비, 시뮬레이션, 학습, 검증, 배포까지 포함됩니다.
장애물 코스는 Microduck의 이동 능력과 인지 능력을 함께 시험할 수 있도록 설계합니다. 로봇이 주변을 인식하고 균형을 유지하면서 장애물을 피해 가거나 좁은 공간을 통과해야 하기 때문입니다. 이러한 요구 사항을 기준으로 코스의 배치와 구성에 필요한 객체를 정합니다.
이어서 로컬 이미지 생성 모델로 코스의 콘셉트 이미지를 만듭니다. Hermes와 Nemotron은 이 이미지를 분석해 재사용 가능한 에셋 목록을 작성합니다. 각 에셋에는 식별자와 외형 설명을 붙이고, 이미지에서 해당 부분을 잘라 참조 자료로 첨부합니다. 객체가 이미지 밖으로 잘려 나가거나 다른 물체에 가려진 부분도 기록합니다. 이렇게 하면 이후 에셋을 제작할 때 이미지에서 확인할 수 있는 정보와 추정이 필요한 부분을 구분할 수 있습니다.

Hermes는 이러한 결과물을 하나의 인계 패키지로 묶습니다. 전체 프로젝트 계획, Microduck 조사 내용과 출처 링크, 컨셉 이미지, 에셋 목록, 크롭한 참조 이미지, 다음 단계의 지침이 포함됩니다. 이어서 작업을 Astra에게 자동으로 위임합니다. 이 패키지에는 Astra가 작업을 이어가는 데 필요한 프로젝트 전반의 맥락과 에셋 사양이 담겨 있습니다.

2. 시뮬레이션 에셋 제작
Astra는 이전 단계의 프로젝트 계획과 참조 이미지를 바탕으로 코스에 필요한 3D 에셋을 만듭니다. 큰 컨셉 이미지에서 객체를 잘라 내면 해상도가 낮고 작은 참조 이미지가 나올 수 있습니다. 모델링에 앞서 Astra는 클라우드 이미지 편집으로 객체를 분리하여 더 선명한 고해상도 이미지를 만듭니다.
Astra는 개선한 참조 이미지를 원본 크롭과 비교하여 실루엣, 비율, 색상, 고유한 특징이 일관되게 유지되는지 확인합니다. 개선한 이미지는 모델링에 더 선명한 기준을 제공하고, 원본은 컨셉 이미지에서 실제로 보였던 내용을 기록으로 남깁니다. 이미지로 확정할 수 없는 치수와 가려진 면은 모델링 가정으로 기록합니다.
Astra가 FreeCAD에 지시하여 기본 형상과 편집 가능한 CAD 구조를 만든 다음, Blender로 세밀한 형상과 머티리얼을 추가합니다. 두 애플리케이션은 모두 프로그래밍 방식 실행을 통해 로컬에서 실행됩니다. 생성한 에셋은 편집 가능한 모델과 내보낸 USD 에셋으로 저장되며, 검토용 미리보기와 출력 점검 결과도 함께 제공됩니다.

시뮬레이션에 바로 쓸 수 있는 OpenUSD 에셋 2,000개 이상을 제공하는 무료 공개 라이브러리인 SimReady Central Library에서도 에셋을 가져올 수 있습니다. 이를 새로 생성한 객체와 함께 재사용하면, Isaac Sim에서 장애물 코스를 조립하기 위한 에셋 준비 작업이 줄어듭니다. 이렇게 확보한 에셋이 시뮬레이션에서 Microduck의 학습 환경을 이루는 구성 요소가 됩니다.

3. 시뮬레이션 환경 조립
로봇이 장애물 코스를 통과하려면 걷는 법만 배워서는 안 됩니다. 주변을 인식하고 균형을 잡는 것은 물론, 앞길이 막히면 상황에 맞게 움직임을 바꿀 수 있어야 합니다. 이러한 능력을 개발하려면 여러 단계를 거쳐야 합니다. 먼저 에셋과 환경을 만들고, 물리 시뮬레이션으로 로봇과 환경의 상호작용을 모델링한 뒤, 시뮬레이션에서 정책을 학습하고 평가합니다.
이 워크플로는 로컬 환경과 클라우드를 오가며 진행됩니다. NVIDIA RTX Spark는 AI를 활용한 계획 수립과 정책 검증을 위한 로컬 개발 허브 역할을 합니다. 클라우드에서는 NVIDIA Isaac Lab을 사용해 강화 학습으로 로봇 정책을 학습합니다. 이때 Newton은 로봇의 물리적 동작을 모델링하고, NVIDIA Omniverse 라이브러리는 RTX 렌더링으로 로봇이 관측할 시각 정보를 생성합니다. 학습을 마친 정책은 RTX Spark로 가져와 NVIDIA Isaac Sim에서 평가합니다.
이 글에서는 Microduck을 예제로 삼아 전체 과정을 단계별로 살펴봅니다. Hermes, NVIDIA Nemotron, Astra의 도움을 받아 계획을 세우고 준비한 뒤, 시뮬레이션에 장애물 코스를 만들고 내비게이션 정책을 학습·평가합니다. 이 흐름은 각자의 로봇과 과제에 맞게 응용할 수 있으며, 실제 로봇에 정책을 적용하기 위한 토대가 됩니다. 다만 시뮬레이션과 실제 환경에서는 로봇의 동작에 차이가 생길 수 있으므로, 실제 배포 과정에서 추가 검증과 보정이 필요합니다.

1. 장애물 코스 계획 수립
먼저 장애물 코스의 구성과 Microduck이 학습해야 할 동작을 프롬프트로 작성합니다. RTX Spark에서 실행되는 Hermes와 NVIDIA Nemotron 3.5 Bolt는 이를 바탕으로 단계별 프로젝트 계획을 세웁니다. 계획에는 수행할 과제, 활용할 수 있는 리소스, 목표 산출물, 에이전트가 따라야 할 절차가 포함됩니다. 아래 예시를 참고해 프롬프트를 작성해 보세요.
항법과 보행 과제를 포함한 Microduck 시뮬레이션 장애물 코스를 구축하고 테스트하라. 사실적인 컨셉 이미지를 만들고, Astra가 이를 구축하고 테스트하게 하라.
...
워크플로
준비에는 Hermes와 Nemotron 3.5 Bolt를, 에셋 제작과 시뮬레이션에는 Astra를 사용하라.
...
1. 조사 및 계획
Microduck 공식 문서를 검토하여 기능, 제약, 미확인 사항을 요약하라. 코스 레이아웃, 장애물 치수, 여유 공간, 의도한 경로를 정의하라.
...
2. 컨셉 생성
검증된 Microduck 참조 이미지로 사실적인 코스 컨셉을 생성하라. 로봇의 외형, 상대적 크기, 이동 공간을 확인하고 프롬프트와 출처를 저장하라.
...
3. 에셋 식별
재사용 가능한 고유 에셋을 추출하고, 반복되는 인스턴스를 묶고, 대표 크롭을 선정하라. 치수, 위치, 참조 이미지의 한계를 기록하고 원본 이미지는 보존하라.
...
4. 인계 준비
계획, 로봇 브리프, 컨셉, 에셋 목록, 크롭, 실행 지침을 패키징하라. 필수 파일을 확인하고 Astra에게 위임한 뒤, 확정된 결과를 기다려라.
...
5. 에셋 제작 및 검증
Astra가 참조 이미지를 개선하고, FreeCAD로 형상을 모델링하고, Blender로 머티리얼을 적용하게 하라. 시뮬레이션 전에 모든 에셋이 완료되었거나 진행 불가임이 입증되었는지, 사용 가능한 모델이 최소 하나 있는지 확인하라.
...
6. 조립 및 테스트
로봇의 기능을 확인하고, 코스를 조립하고, 항법, 과제, 리셋을 테스트하라. 재현 가능한 지침과 근거를 제공하고, 물리 하드웨어는 조작하지 마라.
...
RTX Spark에서 프로젝트 계획을 세우려면 먼저 Microduck의 리포지토리와 문서를 살펴봅니다. 로봇이 수행할 수 있는 동작과 활용 가능한 리소스, 추가로 확인할 사항을 파악한 뒤, 이를 바탕으로 전체 작업을 계획합니다. 계획에는 에셋 제작뿐 아니라 환경 구축, 로봇 준비, 시뮬레이션, 학습, 검증, 배포까지 포함됩니다.
장애물 코스는 Microduck의 이동 능력과 인지 능력을 함께 시험할 수 있도록 설계합니다. 로봇이 주변을 인식하고 균형을 유지하면서 장애물을 피해 가거나 좁은 공간을 통과해야 하기 때문입니다. 이러한 요구 사항을 기준으로 코스의 배치와 구성에 필요한 객체를 정합니다.
이어서 로컬 이미지 생성 모델로 코스의 콘셉트 이미지를 만듭니다. Hermes와 Nemotron은 이 이미지를 분석해 재사용 가능한 에셋 목록을 작성합니다. 각 에셋에는 식별자와 외형 설명을 붙이고, 이미지에서 해당 부분을 잘라 참조 자료로 첨부합니다. 객체가 이미지 밖으로 잘려 나가거나 다른 물체에 가려진 부분도 기록합니다. 이렇게 하면 이후 에셋을 제작할 때 이미지에서 확인할 수 있는 정보와 추정이 필요한 부분을 구분할 수 있습니다.

Hermes는 이러한 결과물을 하나의 인계 패키지로 묶습니다. 전체 프로젝트 계획, Microduck 조사 내용과 출처 링크, 컨셉 이미지, 에셋 목록, 크롭한 참조 이미지, 다음 단계의 지침이 포함됩니다. 이어서 작업을 Astra에게 자동으로 위임합니다. 이 패키지에는 Astra가 작업을 이어가는 데 필요한 프로젝트 전반의 맥락과 에셋 사양이 담겨 있습니다.

2. 시뮬레이션 에셋 제작
Astra는 이전 단계의 프로젝트 계획과 참조 이미지를 바탕으로 코스에 필요한 3D 에셋을 만듭니다. 큰 컨셉 이미지에서 객체를 잘라 내면 해상도가 낮고 작은 참조 이미지가 나올 수 있습니다. 모델링에 앞서 Astra는 클라우드 이미지 편집으로 객체를 분리하여 더 선명한 고해상도 이미지를 만듭니다.
Astra는 개선한 참조 이미지를 원본 크롭과 비교하여 실루엣, 비율, 색상, 고유한 특징이 일관되게 유지되는지 확인합니다. 개선한 이미지는 모델링에 더 선명한 기준을 제공하고, 원본은 컨셉 이미지에서 실제로 보였던 내용을 기록으로 남깁니다. 이미지로 확정할 수 없는 치수와 가려진 면은 모델링 가정으로 기록합니다.
Astra가 FreeCAD에 지시하여 기본 형상과 편집 가능한 CAD 구조를 만든 다음, Blender로 세밀한 형상과 머티리얼을 추가합니다. 두 애플리케이션은 모두 프로그래밍 방식 실행을 통해 로컬에서 실행됩니다. 생성한 에셋은 편집 가능한 모델과 내보낸 USD 에셋으로 저장되며, 검토용 미리보기와 출력 점검 결과도 함께 제공됩니다.

시뮬레이션에 바로 쓸 수 있는 OpenUSD 에셋 2,000개 이상을 제공하는 무료 공개 라이브러리인 SimReady Central Library에서도 에셋을 가져올 수 있습니다. 이를 새로 생성한 객체와 함께 재사용하면, Isaac Sim에서 장애물 코스를 조립하기 위한 에셋 준비 작업이 줄어듭니다. 이렇게 확보한 에셋이 시뮬레이션에서 Microduck의 학습 환경을 이루는 구성 요소가 됩니다.

3. 시뮬레이션 환경 조립
Astra는 준비한 에셋으로 Isaac Sim에서 장애물 코스를 구성합니다. Isaac Sim은 Omniverse 라이브러리의 렌더링과 센서 시뮬레이션 기능을 제공하고, Newton은 이동과 균형을 포함한 Microduck의 물리적 동작을 모델링합니다.
시뮬레이션에서 로봇의 관절 구조와 움직임은 링크, 조인트, 액추에이터로 정의합니다. 이 요소들이 정책의 행동과 시뮬레이션 로봇 사이의 관계를 만듭니다. 링크는 연결된 물체를 나타내고, 조인트는 물체 간의 상대적 움직임을 제약하며, 액추에이터는 움직임을 구동합니다. 이들이 함께 환경과 상호작용하는 로봇을 모델링합니다. AI 에이전트가 이러한 요소의 구성을 도울 수 있습니다.
시뮬레이션된 센서 관측값은 앞에 있는 장애물에 대한 정보를 제공합니다. 로봇이 걸으려고 시도하면, 시뮬레이션은 그 행동의 결과를 포착합니다. 자세를 유지했는지, 코스를 따라 나아갔는지, 아니면 비틀거리다 넘어졌는지가 여기에 해당합니다.
그 결과 완전한 학습 환경이 갖춰집니다. 행동할 수 있는 로봇, 로봇이 상호작용할 수 있는 장애물 코스, 그 상호작용에서 피드백을 만들어 내는 시뮬레이션 환경입니다. 강화 학습(RL)은 이 피드백으로 로봇 정책을 학습합니다.

4. 인지 및 보행 정책 학습
Microduck과 환경이 준비되면 NVIDIA Isaac Lab으로 로봇 정책을 대규모로 학습하고 평가할 수 있습니다. 이 오픈소스 프레임워크는 Microduck 시뮬레이션을 여러 개 동시에 실행하여 경험을 생성하고, RL 알고리즘은 이 경험으로 공유 정책을 개선합니다.
과제마다 로봇이 무엇을 관측하는지, 어떤 행동을 할 수 있는지, 학습을 이끌 보상은 무엇인지를 정의합니다. 그런 다음 Isaac Lab API로 과제를 구현합니다. 오픈소스 GPU 가속 물리 엔진인 Newton은 이러한 행동에 따라 Microduck이 어떻게 움직이고 지면 및 환경과 상호작용하는지 시뮬레이션합니다.
초기 시도에서는 불안정한 걸음, 충돌, 넘어짐이 나타날 수 있습니다. 학습 알고리즘은 이러한 결과와 과제의 보상을 이용해 정책을 더 성공적인 행동 쪽으로 갱신합니다. 모든 시도는 동일한 시뮬레이션 루프를 따릅니다.
시뮬레이션 관측값 → 정책 행동 → 시뮬레이션 동작 → 갱신된 관측값

병렬 시뮬레이션은 수많은 시도에서 얻은 경험을 한꺼번에 제공하여 정책 학습에 활용됩니다. 이 과제에서는 경사로와 고르지 않은 지면이 장애물입니다. Microduck은 균형을 유지하고 넘어지지 않으면서 곡선형 경사로를 통과해야 합니다. 지형을 다양하게 바꾸면 정책은 여러 지면 조건에 맞춰 움직임을 조정하는 경험을 쌓습니다.
경사로 및 장애물 학습 실험은 앞 절에서 Astra가 생성한 에셋과 Isaac Lab의 Microduck 예제 환경을 출발점으로 삼습니다. 이 환경에서 사전 학습한 보행 정책은 머리에 장착한 카메라의 깊이 정보와 로봇 상태 관측값을 이용해, Isaac Lab에서 경사로와 장애물을 통과하는 추가 학습을 받습니다. 이 적응 학습에는 NVIDIA RTX PRO 6000 Blackwell Workstation Edition GPU에서 병렬 환경 4,096개를 사용했습니다.

5. RTX Spark에서 학습된 정책 검증
학습을 마친 뒤에는 로컬 RTX Spark의 Isaac Sim에서 학습된 정책을 검증합니다. Microduck은 시뮬레이션 관측값을 받아 행동을 예측하고, 환경을 통과하며 움직이고, 정책에 따라 갱신된 장면에 반응합니다. Microduck이 장애물을 감지하는지, 움직임을 조정하는지, 코스를 완주하는지 확인하십시오.
이 단계는 정책 학습과 정책 평가를 구분합니다. 학습 중에는 새로운 경험을 얻으며 정책이 계속 바뀝니다. 평가 중에는 선택한 정책의 동작을 살펴보고, 어디에서 성공하고 어디에서 보완이 필요한지 파악합니다.
코스 완주 여부, 넘어짐, 충돌, 진행이 멈추는 상황을 기록하십시오. 이러한 측정값을 롤아웃 영상과 함께 보면 환경이나 학습 설정을 반복 개선하는 데 도움이 됩니다.

6. 실제 로봇 정책 배포 준비
정책이 시뮬레이션에서 안정적으로 동작하면, 다음 단계는 로봇의 온보드 컴퓨터에서 정책을 실행하는 것입니다. 이 글은 그 전까지의 작업을 다룹니다. 에셋 제작, 환경 조립, 정책 학습과 평가입니다. 하드웨어 배포의 세부 내용은 범위에 포함하지 않습니다.
시뮬레이션에서 실제로의 전환을 준비하려면 먼저 실제 로봇의 동작을 반영하는 시뮬레이션이 필요합니다. Isaac Lab은 서보 응답을 모델링하는 Better Actuator Models(BAM)를 지원합니다. 명령 지연, 기계적 백래시(구동계의 미세한 유격), 모터가 공유 배터리에서 전력을 끌어 쓸 때 생기는 전압 강하를 모델링합니다. 이 설정을 Microduck의 측정값에 맞추면 sim-to-real 격차를 줄이는 데 도움이 됩니다.
세심하게 보정한 모델이라도 실제 로봇에서는 센서, 지면 접촉, 제어 타이밍이 다를 수 있습니다. Isaac Lab의 도메인 랜덤화는 물리 파라미터와 관측 노이즈를 현실적인 범위 안에서 변화시켜, 정책이 이러한 차이를 다루는 연습을 하게 합니다. 이어서 하드웨어 테스트를 하면 추가 조정이 필요한 부분이 드러나며, 이는 다음 시뮬레이션, 학습, 검증 주기의 방향을 정해 줍니다.
그림 10은 Isaac Lab에서 학습한 보행 정책이 실제 Microduck에서 실행되는 모습을 보여 줍니다.

시작하기
이 워크플로는 AI 기반 계획 수립, 시뮬레이션, 에셋 제작, 로봇 정책 학습과 평가를 연결합니다. 로컬에서의 에셋 및 환경 생성, 클라우드 규모의 정책 학습, RTX Spark에서의 로컬 정책 검증을 결합한 구조입니다. AI 에이전트가 프롬프트를 계획으로 바꾸고, 배포에 앞서 Isaac Lab이 정책 학습을, Isaac Sim이 평가를 지원합니다.
이 워크플로에 사용한 플랫폼을 더 알아보고, 각 문서의 예제를 직접 실행해 보세요.
- SimReady Central Library의 공개 에셋 이용
- 애플리케이션에 시뮬레이션 기능을 통합하는 Omniverse 라이브러리
- RTX Spark
- RTX Spark에 Isaac Sim 설치. Windows x86 바이너리를 다운로드하십시오(Arm의 Windows x86 에뮬레이션으로 바로 실행할 수 있습니다)
- 로봇 및 환경 시뮬레이션을 위한 Isaac Sim
- 물리 시뮬레이션을 위한 Newton
- 강화 학습과 모방 학습 정책 학습을 위한 Isaac Lab
- Isaac Lab Learning Path
- Microduck 예제 Isaac Lab 환경
- Hugging Face의 Microduck sim-to-real 튜토리얼
- 네이티브 BAM 서보를 사용한 Microduck 보행 데모
감사의 말
이 워크플로는 NVIDIA 내 여러 팀의 협업으로 개발되었습니다. 참여자는 다음과 같습니다.
Aaron Young, Antoine Richard, Chase Telegin, Gavriel State, Hammad Mazhar, Kelly Guo, Milad Rakhsha, Oyindamola Omotuyi, Pierre Fleau, Rishabh Chadha, Rogelio Olguin, Ruben D’Sa, Yenal Kal

4. 인지 및 보행 정책 학습
Microduck 모델과 환경이 준비되면 NVIDIA Isaac Lab으로 정책을 대규모로 학습하고 평가합니다. 이 오픈소스 프레임워크는 여러 Microduck 시뮬레이션을 동시에 실행해 학습 데이터를 모읍니다. 강화 학습 알고리즘은 각 시뮬레이션에서 얻은 경험을 활용해 하나의 공통 정책을 개선합니다.
먼저 과제별로 로봇에 제공할 관측 정보, 로봇이 수행할 수 있는 행동, 학습 방향을 정할 보상을 정의합니다. 이를 Isaac Lab API로 구현하면, 오픈소스 GPU 가속 물리 엔진인 Newton이 행동에 따른 Microduck의 움직임과 지면·주변 환경과의 상호작용을 계산합니다.
학습 초기에는 걸음이 불안정하거나 장애물에 부딪히고 넘어질 수 있습니다. 학습 알고리즘은 각 시도의 결과와 보상을 바탕으로 과제를 더 잘 수행하도록 정책을 갱신합니다. 이 과정에서 다음과 같은 시뮬레이션 루프가 반복됩니다.
시뮬레이션 관측값 → 정책 행동 → 시뮬레이션 동작 → 갱신된 관측값

병렬 시뮬레이션을 활용하면 수많은 시도에서 얻은 경험을 모아 학습할 수 있습니다. 이번 과제에서는 경사로와 고르지 않은 지면을 장애물로 사용합니다. Microduck은 균형을 잃거나 넘어지지 않고 곡선형 경사로를 통과해야 합니다. 지형을 다양하게 바꾸면 여러 지면 조건에 맞춰 움직임을 조정하는 법을 학습할 수 있습니다.
이 실험에서는 앞서 Astra가 제작한 에셋과 Isaac Lab의 Microduck 예제 환경을 활용했습니다. 사전 학습한 보행 정책을 바탕으로, 머리에 장착된 카메라의 깊이 정보와 로봇 상태 정보를 이용해 경사로와 장애물을 통과하도록 추가 학습했습니다. 학습에는 NVIDIA RTX PRO 6000 Blackwell Workstation Edition GPU를 사용했으며, 4,096개의 환경을 병렬로 실행했습니다.

5. RTX Spark에서 학습된 정책 검증
학습을 마친 정책은 RTX Spark로 가져와 Isaac Sim에서 검증합니다. 정책은 시뮬레이션의 관측 정보를 입력받아 Microduck의 다음 행동을 결정합니다. 로봇이 움직이면 환경과 관측 정보가 바뀌고, 정책은 이를 바탕으로 다시 행동을 결정합니다. 이 과정을 살펴보며 Microduck이 장애물을 감지하고 움직임을 조정해 코스를 완주하는지 확인합니다.
학습 단계에서는 새로운 경험을 바탕으로 정책을 계속 갱신하지만, 평가 단계에서는 선택한 정책을 실행해 성능을 확인합니다. 어떤 상황에서 잘 작동하고 어디에서 보완이 필요한지 파악하는 것이 목적입니다.
코스 완주 여부와 넘어짐, 충돌, 이동이 멈추는 상황을 기록합니다. 이 기록을 정책 실행 영상과 함께 검토하면 문제의 원인을 파악하고 환경이나 학습 설정을 개선하는 데 도움이 됩니다.

6. 실제 로봇 정책 배포 준비
정책이 시뮬레이션에서 안정적으로 작동하면 실제 로봇에 적용할 준비를 시작합니다. 다음 단계는 로봇에 탑재된 컴퓨터에서 정책을 실행하는 것입니다. 이 글에서는 그에 앞서 필요한 에셋 제작, 환경 구성, 정책 학습과 평가를 다루며, 실제 하드웨어에 배포하는 세부 절차는 다루지 않습니다.
시뮬레이션에서 실제로의 전환을 준비하려면 먼저 실제 로봇의 동작을 반영하는 시뮬레이션이 필요합니다. Isaac Lab은 서보 응답을 모델링하는 Better Actuator Models(BAM)를 지원합니다. 명령 지연, 기계적 백래시(구동계의 미세한 유격), 모터가 공유 배터리에서 전력을 끌어 쓸 때 생기는 전압 강하를 모델링합니다. 이 설정을 Microduck의 측정값에 맞추면 sim-to-real 격차를 줄이는 데 도움이 됩니다.
세심하게 보정한 모델이라도 실제 로봇에서는 센서, 지면 접촉, 제어 타이밍이 다를 수 있습니다. Isaac Lab의 도메인 랜덤화는 물리 파라미터와 관측 노이즈를 현실적인 범위 안에서 변화시켜, 정책이 이러한 차이를 다루는 연습을 하게 합니다. 이어서 하드웨어 테스트를 하면 추가 조정이 필요한 부분이 드러나며, 이는 다음 시뮬레이션, 학습, 검증 주기의 방향을 정해 줍니다.
그림 10은 Isaac Lab에서 학습한 보행 정책이 실제 Microduck에서 실행되는 모습을 보여 줍니다.

시작하기
이 워크플로는 AI 기반 계획 수립, 시뮬레이션, 에셋 제작, 로봇 정책 학습과 평가를 연결합니다. 로컬에서의 에셋 및 환경 생성, 클라우드 규모의 정책 학습, RTX Spark에서의 로컬 정책 검증을 결합한 구조입니다. AI 에이전트가 프롬프트를 계획으로 바꾸고, 배포에 앞서 Isaac Lab이 정책 학습을, Isaac Sim이 평가를 지원합니다.
이 워크플로에 사용한 플랫폼을 더 알아보고, 각 문서의 예제를 직접 실행해 보세요.
- SimReady Central Library의 공개 에셋 이용
- 애플리케이션에 시뮬레이션 기능을 통합하는 Omniverse 라이브러리
- RTX Spark
- RTX Spark에 Isaac Sim 설치. Windows x86 바이너리를 다운로드하십시오(Arm의 Windows x86 에뮬레이션으로 바로 실행할 수 있습니다)
- 로봇 및 환경 시뮬레이션을 위한 Isaac Sim
- 물리 시뮬레이션을 위한 Newton
- 강화 학습과 모방 학습 정책 학습을 위한 Isaac Lab
- Isaac Lab Learning Path
- Microduck 예제 Isaac Lab 환경
- Hugging Face의 Microduck sim-to-real 튜토리얼
- 네이티브 BAM 서보를 사용한 Microduck 보행 데모
감사의 말
이 워크플로는 NVIDIA 내 여러 팀의 협업으로 개발되었습니다. 참여자는 다음과 같습니다.
Aaron Young, Antoine Richard, Chase Telegin, Gavriel State, Hammad Mazhar, Kelly Guo, Milad Rakhsha, Oyindamola Omotuyi, Pierre Fleau, Rishabh Chadha, Rogelio Olguin, Ruben D’Sa, Yenal Kal