0. 이 글은
Orbit 논문의 요약이다. 또한 시뮬레이션의 주파수 관계에 대해 생각이 들어있다.
1. 저자 및 학교 소개
ETH Zurich(스위스)에서, Nvidia와 University of Toronto(캐나다)의 도움을 받아서 만든 논문이다. Marco Hutter교수님의 Robotic Systems Lab에서 나온 논문이다.
2. 내용 요약

Orbit은 Issac Lab 1의 전신으로, 최신의 랜더링 기법과 물리 엔진을 적용한 시뮬레이터이다. 시뮬레이션에는 물리엔진과 랜더러가 사용된다.
| 시뮬레이터의 주요 기능 | 물리 엔진 | 랜더링2 방법론 |
|---|---|---|
| 정의 | 힘의 작용(충돌)에 대한 미분방정식을 푸는 것 | 3D의 모양을 카메라의 픽셀 스페이스로 옮겨 오는 것 |
| 핵심 기능 | Physx 엔진으로 구현 | Path tracing (Ray tracing의 일부) |
3. 내부 구조

- World는 Robot과 Seosor, Object로 나뉜다.
4. Agent의 Computational Graph로 나타나고, 제어는 Graph 의 일부로 나타난다.
Agent가 움직이는 것을 computational graph로 나타낼 수 있다. Node에는 perception과 action으로 나눠 POMDP Graph로 나타낼 수 있다.
5. Task(Planning)와 Control의 정의, 그리고 반응성 표현력의 Trade off
Task는 인간 버전의 상위 레벨 목표이다. ex) end effector의 3D좌표를 어디다 둬라, 물 갖다 줘라 등등.
Control은 Low level control 신호이다. ex) 모터를 해당 각도로 맞춰라, 모터의 속도는 몇이 되도록 해라 등등.
Task는 적은 50HZ로 계산해도 되는 반면, Control은 10000HZ정도로 빠르게 계산해야 한다.
Motion Generator는 Task를 Control로 만드는 방법이다. 가장 대표적인 방법이 IK(Inverse Kinematics)이다. 이 밖에도 OSC(Operational space control, reactive planner가 있다. 5
강화학습은 step by step이로 이뤄진다.
API도 action, reward, next_step = Agent.step()으로 구성된다.
시뮬레이션에서 처리한다면 step()에 걸리는 시간은 중요하지 않다. 가령, 비전 알고리즘으로 1시간동안 inference 하면, Action과 Physics timer를 멈춰 두면 된다. 그러나 현실 세계는 다르다. 현실세계의 로봇이나 자율주행 자동차는 높은 HZ로 실시간 제어가 필요하다. 그동안 기다릴 수 없다. HW spec을 확인하고, 그에 맞춰서 해당 시간 안에 컨트롤을 할 수 있는 RL task 판단, DL 센서 인퍼런스가 필요하다. task sample을 뽑기까지 얼마의 시간이 걸릴까? 해당 task를 Motion Generator로 분할하는 데 걸리는 시간은 얼마나 걸릴까? ex) 거기까지 가는 경로를 Inverse Kinematics로 생성하나? 생각해 보자
알고리즘의 HZ가 높을수록 반응성은 좋아지지만, 더 좋은 하드웨어가 필요하다.
아래는 GPT로 조사한 제어에 필요한 주파수다.
| 레이어 | 권장 주파수 (권장 범위) | 비고 / 근거 |
|---|---|---|
| 하드웨어 inner current/torque loop | 1000 Hz | Franka, KUKA, PR2 사례. 안전·정밀 토크 제어용. (download.franka.de) |
| 관절 위치 PID (임베디드) | 200–1000 Hz | 모터/드라이버 스펙에 따라. (wiki.ros.org) |
| Whole-body / Task-space controller | 50–200 Hz | legged/manipulation 연구 사례. (vladlen.info) |
| Motion planner / global planner | 1–20 Hz | 경로 재계산 등 무거운 연산은 저주파. (환경·플래너에 따라) |
| Autonomous-vehicle low-level controller | 50–100 Hz | Apollo / 연구 실험에서 100 Hz 사례. (arXiv) |
| RL 고수준 정책 (task action) | 10–100 Hz (보통 10–50 Hz, legged은 50 Hz 흔함) | 실험적 분포: manipulation 20–50Hz, legged 50–100Hz. (OpenReview) |
| IMU (센서) | 200–1000 Hz | 동적 상태 추정에 필수(보정·퓨전용). (Advanced Navigation) |
| LiDAR (spinning) | 5–20 Hz (제품별 상이) | Velodyne 등 스펙. (agmtrd.com) |
| RGB/Depth 카메라 | 30–60 Hz (고속 카메라는 수백 Hz 가능) | RealSense 등 실측 스펙. (RealSense) |
이벤트 기반 코딩은 Functional programming으로 하면 좋다고 배웠다. 6 ORBIT은 그래프를 통해 이를 다룬다고 한다. Isaac Lab도 OmniGraph를 통해 구한다.
6. 시뮬레이터와 로봇의 frequency sync(주파수 동기화)에 대한 고찰
4가지 요소의 싱크가 맞아야 제대로 학습할 수 있다. 물리엔진, 센서(카메라 30-60Hz, LiDAR 10-20Hz), 제어 루프(High-level 10-50Hz, Low-level 100-1000Hz), 하드웨어 액추에이터(1000Hz 이상) 다양한 주파수의 동기화한다. 가령, 드론이 사진 한 번을 찍고, 시뮬레이터 클럭으로 2번 움직인 후, 다시 찍는 예시가 있다. 업샘플링 + Motion Generation을 통해 이를 해결한다.
시뮬레이터 : 60 Hz → 한 주기 ≈ 16.7 ms
실제 로봇 제어 보드 (Franka 등): 1000 Hz → 한 주기 = 1 ms
실제 로봇은 하드 실시간 제어를 요구하기 때문에, 시뮬레이터의 저주파 명령을 그대로 쓰면 불안정해진다. 뚝뚝 끊 킬 것이다.
polynomial interpolation(다항 보간)을 통해 60개의 신호에서 1000개를 샘플링한다.
7. ROS2 / ZMQ로 통신이 된다.
8. FEM (유한요소법)으로 유연체도 시뮬레이션 가능하다.
9. 드는 의문점과 아이디어
- 강화학습을 하는데 FEM으로까지 모델링하는 것이 맞나? 자원 낭비가 심하지 않을까?
- 광원의 위치 수정, Domain Adaptation 방식이나 생성형 방식을 개선해서 overfiitting을 방지하는 것이 더 효과가 있지 않을까?
- URDF, Open USD 어떻게 만들고 구성 돼 있고 바꾸는가?
- Planning과 Control의 경계가 사라진 end to end 방식이 나오지 않을까?
- State machine, Behavior tree,
Ref.

https://isaac-orbit.github.io/
https://arxiv.org/pdf/2301.04195
https://rsl.ethz.ch/the-lab/people/person-detail.MTIxOTEx.TGlzdC8yNDQxLC0xNDI1MTk1NzM1.html
https://mayankm96.github.io/
https://docs.omniverse.nvidia.com/materials-and-rendering/latest/rtx-renderer.html
https://velog.io/@jooh/Graphics-Path-Tracing-Engine-%EA%B0%9C%EB%B0%9C-%EC%9D%BC%EC%A7%80-1
https://youtu.be/gZLO2Am0Zk8
- Isaac Lab은 시뮬레이터인 Isaac Sim과 Issac Gym(강화학습 툴)을 합쳐서 만든 소프트웨어이다. [본문으로]
- 랜더링엔 Geometry-based방식과 Volume-based 방식이 있다. 이 모양이나 부피를 implicit한 수학 모델로 나타낼지 explicit한 수학 모델로 나타낼지로도 구분이 된다. 또한 Ray를 사용하는 방법(Tracing, Casting), Triangle Rasterization을 이용한 방법, Volumetric slicing 등등 다양한 기법들이 있다. ESDF, TSDF ... [본문으로]
- DC모터(서보모터는: DC 모터 + 감속기 + 엔코더 + 내장), Series Elastic Actuator(모터와 관절 사이에 스프링을 삽입한 구동기)등등이 있다. [본문으로]
- pixar에서 만든 universal scene description [본문으로]
- IK: 목표 위치로의 빠른 도달. OSC: 물체와의 안전한 접촉 및 파지. RMP-Flow: 장애물이 있는 환경에서의 안전한 경로 계획. OSC: 작업 공간에서 직접 힘과 토크를 제어하는 기법, 가속도 힘 토크 제어. reactive planner: 작업 목표를 동시에 고려하면서 실시간으로 충돌을 회피하는 reactive planning 기법 [본문으로]
- https://luckydipper.tistory.com/33 [본문으로]