콘텐츠로 이동
Study Note강화학습

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 실무의 절반이다.

가장 성숙한 과제인 사족·이족 보행을 예로 다섯 칸을 채운다. 아래는 공개 보행 환경에서 흔히 볼 수 있는 구성이다.

칸내용
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 등으로 시뮬에서 대규모 병렬 학습

특권 정보 덕에 빠르고 잘 배운다. 다만 실물에서는 이 입력을 못 만든다.

같은 “로봇”이라도 문제마다 RL의 위치가 다르다. 이걸 구분하는 것이 이 분야의 상식이다.

과제RL의 위치왜
보행 (사족·이족)성숙 시뮬 학습 → 실물 배포 사례가 많다보상이 명확, 시뮬이 비교적 잘 맞는다
전신 균형·회복활발마찬가지
주행·내비게이션부분 지역 계획에 쓴다전역 계획은 기존 알고리즘이 잘한다
조작 (물건 다루기)모방학습이 주류아래
손재주 (인핸드)연구 RL 성과가 있으나 좁다접촉이 지독하게 어렵다
단계조치
시뮬 학습관절 한계·토크 한계를 환경에서 하드 마스킹
실물 첫 배포안전줄·테스트 리그, 낮은 게인, 짧은 시간
실물 운용이상 감지 시 안전 자세로 전환하는 별도 감시 루프
공통정책 출력에 변화율 제한(rate limit)을 건다

정책을 신뢰해서 안전을 맡기지 않는다. 안전은 정책 밖의 층에서 강제한다 — 트레이딩에서 한도를 정책 밖에 두는 것과 같은 원칙이다.

  • 로봇에서 RL이 되는 이유는 시뮬레이터를 만들 수 있고, 보상이 계산 가능하기 때문이다
  • 대가는 sim-to-real 격차이고, 그것을 메우는 일이 실무의 절반이다
  • 보행의 표준 설계 — 상태에 직전 행동을 넣고, 행동은 목표 관절 각도, PD 제어기가 아래를 맡는다
  • 격차의 원인은 물성치 · 액추에이터 · 지연 · 센서 잡음 · 접촉 모델 · 주기 흔들림이다
  • 도메인 랜덤화는 실물을 “무작위 범위 안의 한 점”으로 만든다. 너무 넓히면 소극적인 정책이 나온다
  • 액추에이터 모델은 시뮬을 실물에 맞추는 방향의 대표 처방이고, 보행에서 특히 값을 한다
  • 실물에서 못 재는 정보는 교사-학생 증류나 비대칭 액터-크리틱으로 다룬다
  • 보행 RL은 성숙한 공개 사례가 많고, 조작은 모방학습·VLA가 활발하다 — 보상·접촉·지각 차이 때문이다
  • 안전은 정책 안이 아니라 정책 밖의 층에서 강제한다