← BLOG✎ 편집

하드웨어 없이 로봇을 걷게 하는 법

피지컬 AI를 손으로 만져 보려면 보통 로봇이 필요합니다. 저가 로봇팔 하나가 20만 원대부터 시작하니 못 살 정도는 아닙니다. 사는 순간 조립과 캘리브레이션, 고장과 부품 수급이 줄줄이 따라붙습니다. 거기서 멈칫하다 질문을 바꿨습니다. 하드웨어 없이 어디까지 갈 수 있을까.

답은 시뮬레이터였습니다. 물리 엔진 안에 로봇을 세우면 실물 직전까지는 갑니다. 다만 그 길이 "직전"에서 멈추는 데모로 끝나기 쉽습니다. 목표를 한 칸 올렸습니다. 미리 녹화한 동작을 재생하는 게 아니라, 직접 학습시킨 정책이 그 자리에서 로봇의 몸을 실시간으로 제어하게 만드는 것.

재생이 아니라 제어

처음 만든 트윈은 정직한 재생기였습니다. 데스크탑에서 동작을 한 번 기록해 두면, 브라우저는 그 좌표를 프레임마다 되짚어 그립니다. 보기에는 그럴듯해도 로봇은 아무것도 결정하지 않습니다. 그저 녹화된 길을 따라갑니다.

진짜 제어는 닫힌 고리입니다. 매 순간 로봇의 상태를 읽어 정책에게 묻고, 정책이 내놓은 명령을 다시 물리 엔진에 먹입니다. 관측에서 행동으로, 행동에서 다음 관측으로. 이 고리가 1초에 50번 돌아야 로봇이 스스로 균형을 잡고 발을 내딛습니다.

그 정책을 어디서 구하느냐. 사 오는 대신 직접 학습시키기로 했습니다. MuJoCo Playground라는 시뮬레이션 환경에서 보행을 강화학습으로 빚고, 학습된 신경망을 ONNX 한 파일로 뽑아 브라우저로 옮기는 길입니다.

브라우저 안에서 직접 학습한 정책으로 실시간 보행 중인 Unitree Go1

먼저 네발 로봇 Go1으로 길을 깔았습니다. 학습은 생각보다 빨랐습니다. 그래픽카드 한 장에 9분 남짓. 뽑아낸 정책은 브라우저 안에서 명령한 방향으로 걸어갔습니다. 슬라이더를 끌면 그 자리에서 방향이 꺾입니다. 녹화된 영상이 아니라 신경망이 매 순간 판단해 만든 걸음.

휴머노이드, 그리고 진짜 벽

네발이 됐으니 사람 형태로 올라갈 차례. Unitree G1은 관절이 29개인 휴머노이드입니다. 학습은 오래 걸렸어도 결국 수렴했습니다.

47분휴머노이드 보행 정책을 그래픽카드 한 장으로 처음부터 학습시킨 시간MuJoCo Playground, Unitree G1, 2026

103개의 관측값과 걸음 박자를 학습 환경과 바이트 단위로 맞춰, 브라우저에서 실시간으로 걷는 Unitree G1 휴머노이드

벽은 학습 다음에 있었습니다. 정책에게 건네는 관측값을 학습 환경과 브라우저에서 한 치도 다르지 않게 맞추는 일입니다.

설명이 좀 필요합니다. 정책은 숫자 덩어리를 받아 동작을 내놓습니다. 네발 로봇은 그 덩어리가 48개, 휴머노이드는 103개입니다. 단순히 길어진 게 아닙니다. 명령이 중간에 끼어들고, 걸음의 박자를 알려 주는 시계 같은 값이 새로 붙습니다. 이 시계는 로봇의 몸 바깥에서 따로 돌려야 하는 값입니다. 학습할 때와 브라우저에서 똑같은 속도로 돌지 않으면 정책이 곧장 넘어집니다.

숫자 하나의 순서가 어긋나거나, 부호가 뒤집히거나, 박자가 반 칸 밀려도 결과는 똑같습니다. 로봇이 첫 발에서 고꾸라집니다. 학습 환경이 실제로 본 관측값을 그대로 박제해 두고, 브라우저가 만든 관측값과 한 자리씩 맞대 봤습니다. 오차가 0이 될 때까지. 정책이 똑똑해서 걷는 게 아닙니다. 정책이 보는 세계가 학습할 때와 정확히 같아서 걷습니다.

이 벽을 넘고 나니 휴머노이드가 브라우저 안에서 걸었습니다. 명령을 주면 그 방향으로, 넘어지지 않고.

안다는 것과 걷게 하는 것

지난 글에서 논문을 읽어 아는 것과 직접 돌려 아는 것이 다르다고 적었습니다. 이번에도 같은 자리에 섰습니다. 강화학습으로 보행을 학습한다는 문장은 누구나 압니다. 그 문장과, 휴머노이드가 내 화면에서 한 걸음을 떼는 일 사이에는 관측값 103개를 바이트 단위로 맞추는 노동이 들어 있습니다. 어느 논문에도 적혀 있지 않은 노동입니다.

로봇을 끝내 사지 않았습니다. 대신 시뮬레이터 안에서 네발과 사람 형태가 직접 학습한 정책으로 걷고, 그 옆에 로봇팔과 손까지 여덟 종류가 한 갤러리에 섰습니다. 새 로봇을 더하는 데 드는 자바스크립트는 0줄. 설정 파일에 한 항목을 추가하면 그만입니다.

직접 보시는 편이 빠릅니다. 라이브 데모를 열어 화면 오른쪽 슬라이더를 끌어 보세요. 휴머노이드가 당신이 가리킨 방향으로 걷습니다. 미리 녹화한 영상이 아닙니다. 그 순간 신경망이 만들어 내는 걸음입니다. 하드웨어 없이도 여기까지는 옵니다.

참고
  • MuJoCo Playground (Google DeepMind) — 보행 정책 강화학습 환경
  • MuJoCo WebAssembly (DeepMind) + onnxruntime-web — 브라우저 물리/추론
  • Unitree Go1 · G1, mujoco_menagerie — 로봇 모델
이 글 공유