R02(실험 A: 한계·씨앗·반복)에 이어, 남은 검증 실험 세 묶음의 기록입니다. B: 학습은 시켰는데 한 번도 안 재본 능력들. C: 정책끼리 교차시켜 본 것. D: 현실을 흉내 내 흔들어 본 것. 전부 학습 없이 평가만으로 얻은 결과입니다.
B. 안 재본 능력들 — 있는 줄 몰랐던 기능 점검
옆걸음·정지 (sym2, 첫 평가) — 학습 명령에 늘 있었지만(±0.2m/s, 8편부터) 한 번도 시켜 보지 않은 기능:
| 명령 | 실측 | 낙상 |
|---|---|---|
| 옆걸음 왼쪽 +0.2 | vy +0.16 (80%) | 0 |
| 옆걸음 오른쪽 −0.2 | vy −0.19 (95%) | 0 |
| 전진+옆걸음 대각 | (0.28, 0.17) | 0 |
| 제자리 정지 | (−0.00, −0.01) | 0 |
전부 됩니다. 조종기의 안 눌러본 버튼들이 다 살아 있었습니다.
속도-오차 곡선 (fast) — 0.2~1.2m/s 전 구간 오차 ≤5%, 낙상 0. 명령 상한(1.2)까지 평탄.
장시간 연속 보행 (sym2, 5분) — 낙상 0, 108m 전진(추종 90%), 몸통 높이 ±1cm. 단, 횡 드리프트 10.5m: 명령이 ‘각속도’라 방향각 피드백이 없어 작은 치우침이 시간이 갈수록 쌓입니다. 결함이 아니라 구조 — 실전에서는 위에 헤딩 제어기(목표 방향을 지키도록 회전 명령을 고쳐 주는 제어기) 한 층이 필요하다는 뜻입니다.
C. 교차 시험 — 커리큘럼은 무엇을 잊었나
망각 행렬 (정책 4종 × 환경 4종, 10초씩, 낙상/진행): 진행은 평지·요철에서는 전진 거리, 계단에서는 오른 높이입니다. zero-shot은 따로 배우지 않고 처음 해 본 것이라는 뜻입니다.
| 정책 ↓ 환경 → | 평지 | 요철 | 계단 4cm | 계단 16cm |
|---|---|---|---|---|
| sym2 (평지 전용) | 3.6m | 3.6m | 낙상 1 | 낙상 8 |
| terrain (요철) | 3.8m | 3.9m | +0.20m (zero-shot) | 낙상 7 |
| stairs4 | 3.3m | 3.4m | +0.20m | 낙상 8 |
| stairs16 | 3.3m | 2.9m | +0.12m | +0.64m (유일) |
- 파국적 망각(새것을 배우며 옛 능력을 통째로 잃는 것)은 없었습니다. 16cm까지 특화된 정책도 평지·요철·4cm를 전부 걷습니다 (4cm 등반 속도만 조금 느려졌습니다. 특화하며 잃은 것은 그 정도입니다).
- 요철 학습이 4cm 계단을 공짜로 풉니다(zero-shot +0.20m) — 작은 단차는 ‘심한 요철’과 같은 문제였던 거죠. 반면 16cm는 진짜 전문 기술: 전용 정책 외엔 전멸.
- 내려가기 zero-shot: 오르기만 배운 stairs4 정책이 4cm 내리막을 낙상 0으로 단조 하강했습니다 (−0.29m/15초). 내려가기는 따로 가르치지 않았는데 얻은 능력입니다(이유는 확인하지 않았습니다).
- 요철 위 밀치기: 극한 세기(1.5~2.2m/s)에서 요철 위에서 잰 terrain 정책은 87%를 회복해, 평지에서 잰 sym2(53%)보다 높았습니다. 다만 잰 환경이 다르고 terrain은 sym2에서 이어 학습해 학습량도 더 많아서, 직접 비교는 아닙니다.
D. 흔들어 보기 — sim-to-real의 사전 답사
sim-to-real은 시뮬레이션에서 배운 정책을 실물 로봇으로 옮기는 일입니다. 그 전에 현실의 흔들림을 흉내 내 봤습니다.
관측 노이즈·행동 지연 민감도 (sym2, 20초씩):
| 조건 | 낙상 | 평균 속도 |
|---|---|---|
| 기준 | 0 | 0.36 |
| 노이즈 σ=0.05 | 0 | 0.45 |
| 노이즈 σ=0.1 | 9 | 0.37 |
| 노이즈 σ=0.2 | 24 | 0.19 |
| 행동 지연 20ms | 0 | 0.41 |
| 노이즈 0.1 + 지연 | 11 | 0.36 |
- 지연에는 이미 강건합니다 — 학습 때 1스텝 지연을 시뮬레이션한(go2 예제에서 물려받은)
simulate_action_latency덕입니다. 물려받을 때는 몰랐던 보험이었습니다. - 노이즈는 σ=0.05와 0.1 사이에 절벽이 있습니다. 실물 로봇으로 옮기기 전에 학습에 관측 노이즈 랜덤화를 넣어야 한다는 처방이 분명해졌습니다. 로드맵의 ‘도메인 랜덤화(학습 중 물리·관측 조건을 무작위로 흔드는 것) 확대’ 항목의 근거입니다.
이동 에너지 (cost of transport, 10초 보행 실측): CoT는 1m 가는 데 쓴 에너지(J/m)를 몸무게와 중력의 곱(35kg × 9.81m/s²)으로 나눈 수로, 작을수록 경제적입니다.
| 걸음 | J/m | CoT (m=35kg) | 참고 |
|---|---|---|---|
| 6편 셔플 (0.5m/s) | 813 | 2.37 | 8Hz 잔발은 에너지 낭비기계 |
| 정상 걸음 (0.4m/s) | 274 | 0.80 | 셔플의 1/3 |
| 빠른 걸음 (1.0m/s) | 106 | 0.31 | 세 걸음 중 가장 낮음 |
셔플에서 정상 걸음, 빠른 걸음으로 갈수록 1m당 드는 에너지가 줄었습니다. R01의 대응책 ④(“자연스러움의 물리적 근원은 에너지 최적화”)와 같은 방향의 관찰입니다. 다만 세 걸음은 속도가 서로 달라 걸음 모양의 효과와 속도의 효과가 섞여 있고, 에너지 벌점만으로 셔플을 막을 수 있었는지는 시험하지 않았습니다. 사람 보행의 CoT와 견주려면 같은 방식으로 잰 에너지여야 해서, 여기서는 사람과 비교하지 않습니다.
종합
- 조종기의 모든 버튼(옆걸음·정지·전 속도 구간)이 작동하고, 5분을 걸어도 안 넘어집니다.
- 커리큘럼은 잊지 않았고, 요철→작은 계단은 공짜였으며, 큰 계단만 전문 기술입니다.
- 실물 로봇으로 가는 길의 다음 공사 구간이 정확히 보입니다: 관측 노이즈 랜덤화와 헤딩 제어기.
- 그리고 에너지 지표로 보면, 교정된 걸음은 1m당 에너지를 셔플의 1/3 아래로 줄였습니다.
이 지도에 담긴 능력들의 하이라이트 영상:
(시즌 2 쇼케이스, 58초)
이 시리즈의 전체 글 목록 → 시리즈 목차