14. 로봇이라는 환경 — 연속 제어와 sim-to-real
로봇에서 강화학습이 되는 이유는 알고리즘이 좋아서가 아니라 연습장을 만들 수 있어서다
이 장에서 처음 나오는 말6개
보행 · 조작Locomotion · Manipulation- 걷기·달리기 등 이동이 보행, 물건을 집고 다루는 것이 조작. 강화학습의 성숙도가 크게 다르다.
PD 제어기Proportional-Derivative Controller- 목표 각도와 현재 각도의 차이와 그 변화율에 비례해 토크를 내는 고전 제어기. 정책 아래에 깔린다.
도메인 랜덤화Domain Randomization- 시뮬레이션의 물성치를 매번 무작위로 바꿔 학습하는 것. 실물의 오차를 "또 하나의 무작위"로 흡수한다.
액추에이터 모델Actuator Model- 모터가 명령대로 정확히 힘을 내지 않는다는 사실을 시뮬에 반영하는 모형. sim-to-real의 큰 몫이다.
특권 정보Privileged Information- 시뮬에서는 알 수 있지만 실물에서는 못 재는 값(마찰 계수, 정확한 지형). 교사 학습에 쓴다.
교사-학생Teacher-Student Distillation- 특권 정보를 쓰는 교사 정책을 먼저 배우고, 실물에서 볼 수 있는 것만 쓰는 학생에게 옮기는 2단 학습.
왜 로봇에서는 되나
섹션 제목: “왜 로봇에서는 되나”11장의 시장과 정확히 반대다.
| 조건 | 로봇 |
|---|---|
| 시뮬레이터 | 관련 동역학을 근사할 수 있다 — 물리 법칙은 비교적 안정적이다 |
| 샘플 | GPU에서 수천 개 병렬. 실물보다 싸고 빠르지만 계산비는 든다 |
| 보상 | 넘어졌는지, 명령 속도를 따라갔는지 — 계산 가능 |
| 신호 대 잡음비 | 높다. 좋은 행동은 즉시 티가 난다 |
| 적대성 | 없다. 지형은 로봇에 맞서지 않는다 |
| 대가 | 시뮬과 실물이 다르다 — 이 장의 주제 |
환경이 좋은 대신 “옮기는 문제”가 생긴 것이고, 그 옮기는 문제가 로봇 RL 실무의 절반이다.
보행 과제의 MDP
섹션 제목: “보행 과제의 MDP”가장 성숙한 과제인 사족·이족 보행을 예로 다섯 칸을 채운다. 아래는 공개 보행 환경에서 흔히 볼 수 있는 구성이다.
| 칸 | 내용 |
|---|---|
| S | 몸통 각속도·중력 방향(IMU), 관절 각도·속도, 직전 행동, 명령(목표 전진·횡·회전 속도), (선택) 지형 스캔 |
| A | 관절 12~30개의 목표 각도 (연속). PD 제어기가 이를 받아 토크로 바꾼다 |
| R | 명령 속도 추종 − 에너지 − 흔들림 − 행동 변화량 − 관절 한계 근접 + 생존 |
| 종료 | 몸통·무릎이 바닥에 닿으면 terminated, 20초 지나면 truncated |
| γ | 0.99 |
직전 행동을 상태에 넣는 이유
섹션 제목: “직전 행동을 상태에 넣는 이유”위 상태 표에 직전 행동이 들어 있는 것이 중요하다. 이것이 있어야 정책이 “지금 얼마나 바꾸는 중인지” 를 알고, 보상의 행동 변화량 벌점과 맞물려 부드러운 출력을 만든다. 부드러움은 미관이 아니라 실물 하드웨어의 수명과 sim-to-real 성공률의 문제다.
sim-to-real 격차 — 무엇이 다른가
섹션 제목: “sim-to-real 격차 — 무엇이 다른가”시뮬에서 완벽하게 걷던 정책이 실물에서 즉시 넘어진다. 원인은 대체로 이 목록 안에 있다.
| 원인 | 무슨 일 | 처방 |
|---|---|---|
| 물성치 오차 | 질량·무게중심·마찰이 실제와 다르다 | 도메인 랜덤화 |
| 액추에이터 동역학 | 모터가 명령대로 힘을 안 낸다. 기어 백래시·마찰·포화 | 액추에이터 모델(측정 데이터로 학습) |
| 지연 | 센서 읽기 → 계산 → 명령 반영까지 수~수십 ms | 시뮬에 지연을 넣고 학습 |
| 센서 잡음·편향 | IMU 드리프트, 관절 엔코더 오차 | 관측에 잡음·편향 주입 |
| 접촉 모델 | 시뮬의 접촉은 실제와 다르다. 특히 미끄러짐 | 마찰 무작위화, 지형 다양화 |
| 제어 주기 흔들림 | 실물의 주기가 일정하지 않다 | 주기 지터 무작위화 |
| 관측 누락 | 실물에는 지형 정보가 없다 | 교사-학생 (아래) |
도메인 랜덤화 — 실물을 “또 하나의 시뮬”로 만든다
섹션 제목: “도메인 랜덤화 — 실물을 “또 하나의 시뮬”로 만든다”발상이 단순하고 강력하다. 매 에피소드 물성치를 무작위로 바꿔 학습하면, 정책은 “어떤 값이든 견디는” 방식으로 배운다. 그러면 실물의 특정 값도 그 무작위 범위 안의 한 점이 된다.
| 무작위화 대상 | 흔한 범위 감각 |
|---|---|
| 몸통·링크 질량 | ±10~30% |
| 마찰 계수 | 넓게 (0.3~1.5 등) |
| PD 게인 | ±20~30% |
| 지연 | 0~40ms |
| 관측 잡음·편향 | 센서 실측을 근거로 |
| 외란(밀치기) | 무작위 시점·방향의 충격 |
| 지형 | 평지 → 경사 → 계단 → 자갈 (커리큘럼) |
액추에이터 모델 — 가장 값을 하는 한 가지
섹션 제목: “액추에이터 모델 — 가장 값을 하는 한 가지”보행 sim-to-real에서 자주 지목되는 결정적 요소다. 모터의 실제 응답 (명령 대비 실제 토크)을 실물에서 측정해 작은 신경망으로 학습한 뒤, 시뮬의 이상적인 모터 대신 그 모델을 끼운다.
“시뮬을 실물에 맞추는” 방향(real-to-sim)의 대표 사례이고, 도메인 랜덤화(실물 차이를 견디게 하는 방향)와 짝을 이룬다.
교사-학생 — 실물에서 못 보는 것 다루기
섹션 제목: “교사-학생 — 실물에서 못 보는 것 다루기”시뮬에서는 마찰 계수도, 정확한 지형 높이도, 외력도 다 안다. 실물에서는 못 잰다. 그렇다고 그 정보를 안 쓰고 배우면 학습이 훨씬 어렵다. 그래서 두 단계로 나눈다.
교사 정책의 입력 = 일반 관측 + 특권 정보(마찰, 지형 높이맵, 외력)학습 = PPO 등으로 시뮬에서 대규모 병렬 학습특권 정보 덕에 빠르고 잘 배운다. 다만 실물에서는 이 입력을 못 만든다.
학생 정책의 입력 = 실물에서 실제로 얻는 것만 (IMU, 관절, 명령, 과거 이력)학습 = 교사의 행동을 따라하도록 지도학습 (증류)학생은 과거 관측의 흐름에서 특권 정보를 암묵적으로 추정하는 법을 배운다. “밟았더니 미끄러웠다”는 이력에서 마찰을 짐작하는 셈이다.
크리틱(학습에만 쓴다) : 특권 정보를 본다 → 가치 추정이 정확해진다액터(실제로 배포한다) : 실물 관측만 본다크리틱은 배포되지 않으므로 특권 정보를 봐도 된다. 2단계로 나누지 않고 한 번에 가는 더 간단한 방법이다.
과제별 성숙도
섹션 제목: “과제별 성숙도”같은 “로봇”이라도 문제마다 RL의 위치가 다르다. 이걸 구분하는 것이 이 분야의 상식이다.
| 과제 | RL의 위치 | 왜 |
|---|---|---|
| 보행 (사족·이족) | 성숙 시뮬 학습 → 실물 배포 사례가 많다 | 보상이 명확, 시뮬이 비교적 잘 맞는다 |
| 전신 균형·회복 | 활발 | 마찬가지 |
| 주행·내비게이션 | 부분 지역 계획에 쓴다 | 전역 계획은 기존 알고리즘이 잘한다 |
| 조작 (물건 다루기) | 모방학습이 주류 | 아래 |
| 손재주 (인핸드) | 연구 RL 성과가 있으나 좁다 | 접촉이 지독하게 어렵다 |
안전 — 학습과 배포에서
섹션 제목: “안전 — 학습과 배포에서”| 단계 | 조치 |
|---|---|
| 시뮬 학습 | 관절 한계·토크 한계를 환경에서 하드 마스킹 |
| 실물 첫 배포 | 안전줄·테스트 리그, 낮은 게인, 짧은 시간 |
| 실물 운용 | 이상 감지 시 안전 자세로 전환하는 별도 감시 루프 |
| 공통 | 정책 출력에 변화율 제한(rate limit)을 건다 |
정책을 신뢰해서 안전을 맡기지 않는다. 안전은 정책 밖의 층에서 강제한다 — 트레이딩에서 한도를 정책 밖에 두는 것과 같은 원칙이다.
참고 자료
섹션 제목: “참고 자료”- Learning agile and dynamic motor skills for legged robots — 액추에이터 모델과 도메인 랜덤화를 이용한 보행 sim-to-real
- Rapid Locomotion via Reinforcement Learning — 특권 정보, 적응 모듈, 거친 지형 보행 사례
- Isaac Lab: Reinforcement Learning — 대규모 병렬 로봇 RL 공식 개요
14장 요약
섹션 제목: “14장 요약”- 로봇에서 RL이 되는 이유는 시뮬레이터를 만들 수 있고, 보상이 계산 가능하기 때문이다
- 대가는 sim-to-real 격차이고, 그것을 메우는 일이 실무의 절반이다
- 보행의 표준 설계 — 상태에 직전 행동을 넣고, 행동은 목표 관절 각도, PD 제어기가 아래를 맡는다
- 격차의 원인은 물성치 · 액추에이터 · 지연 · 센서 잡음 · 접촉 모델 · 주기 흔들림이다
- 도메인 랜덤화는 실물을 “무작위 범위 안의 한 점”으로 만든다. 너무 넓히면 소극적인 정책이 나온다
- 액추에이터 모델은 시뮬을 실물에 맞추는 방향의 대표 처방이고, 보행에서 특히 값을 한다
- 실물에서 못 재는 정보는 교사-학생 증류나 비대칭 액터-크리틱으로 다룬다
- 보행 RL은 성숙한 공개 사례가 많고, 조작은 모방학습·VLA가 활발하다 — 보상·접촉·지각 차이 때문이다
- 안전은 정책 안이 아니라 정책 밖의 층에서 강제한다