Hugging Face의 399달러 오픈소스 이족보행 로봇 Microduck: 강화학습으로 걷고 차고 넘어져도 일어서는 25cm 로봇
대부분의 로봇 출시 영상은 "잘 되는 모습"만 보여줍니다. 허깅페이스(Hugging Face)의 보르도(Bordeaux) 로봇 팀 Pollen Robotics는 정반대로, "어떻게 학습시켰는지"를 통째로 공개했습니다. 25cm짜리 두 발 로봇 Microduck이 사전 주문을 시작한 것입니다. 가격은 399달러, 크리스마스 전 배송을 목표로 합니다.
Microduck이란?
Microduck은 이족 보행 로봇입니다. 책상 위에서 손과 상호작용하던 전작 Reachy Mini와 달리, 책상에서 내려와 걷고, 넘어지고, 다시 일어섭니다. 모든 동작 — 걷기, 앉기, 차기, �러스케이트, 넘어진 후 복구 — 은 물리 시뮬레이터에서 학습된 신경망 정책(neural policy)이며, 이 정책이 그대로 하드웨어로 내보내집니다. 학습 환경, 보상 함수, 도메인 무작위화(domain randomization) 설정, 시뮬레이션-실제 전이(sim-to-real) 레시피가 모두 GitHub에 공개되어 있습니다.
하드웨어 사양 한눈에 보기
- 크기 / 무게
- 높이 25cm · 폭 14cm · 800g 미만
- 모터
- 다리·목·머리 합쳐 15개
- 메인 보드
- Rockchip RK3566 (AI 가속기 내장)
- 메모리 / 저장
- RAM 1GB · 스토리지 32GB
- 카메라
- 전면 카메라 + 사용 표시등
- IMU
- 2개 (몸체 1, 머리 1)
- 거리 센서
- 8×8 ToF 매트릭스 LiDAR
- 오디오
- 마이크·스피커 (음성 출력 없음)
- 연결
- NFC 2개 · Wi-Fi · Bluetooth
- 배터리
- NP-F550 2600mAh (탈착식, 약 1시간)
이 가격대에서 카메라, LiDAR, IMU 2개, NFC까지 갖춘 구성은 매우 드뭅니다. 특히 IMU를 두 개로 분리해 몸체와 머리의 자세를 독립적으로 측정한 점이 인상적입니다.
구매 즉시 가능한 7가지 기본 동작
Microduck은 코드를 한 줄도 쓰기 전에 게임패드로 조작해 볼 수 있도록出厂 상태로 7가지 동작이 내장돼 있습니다.
- 걷기 (Walk)
- 앉고 일어서기 (Sit & Stand)
- 차기 (Kick)
- 잡기 (Grasp, 부리 사용)
- 롤러스케이트 타기 (Skate)
- 넘어진 후 스스로 일어서기 (Self-recovery)
- 속도 추적 (Velocity tracking)
또 로봇은 말을 하지 않습니다. 대신 전원을 처음 켤 때 스스로 오디오 정체성(audio identity)을 만들어 그 음성을 평생 유지합니다.
동작은 어떻게 학습되는가
정책은 mjlab(MuJoCo Warp) 위에 PPO(Proximal Policy Optimization)로 구축된 microduck_rl에서 학습됩니다. Pollen Robotics는 CUDA GPU에서 4096개의 병렬 환경을 돌릴 때 보행 패턴 학습에 약 1~2시간이 걸린다고 보고합니다.
로컬 GPU가 없는 경우 명령에 --hf-jobs만 붙이면 동일한 학습이 Hugging Face Jobs에서 그대로 실행됩니다. 즉, 노트북만 있어도 동일한 환경을 재현할 수 있습니다.
시�레이션에서 현실로 옮기는 비법 (sim-to-real)
시뮬레이션에서 잘 걷는 로봇이 현실에서는 곧바로 못 걷는 이유는 대부분 액추에이터(모터) 모델의 차이 때문입니다. Microduck은 각 서보를 단순한 PD 제어기가 아닌, Dynamixel XL330의 BAM M6 모델로 시뮬레이션합니다. 이 모델에는 다음이 포함됩니다.
- 전압 제어 법칙(Voltage control law)
- 역기전력(back-EMF) — 회전 속도에 비례해 전류를 방해하는 효과
- 쿨롱 마찰(Coulomb friction) — 속도와 무관한 일정한 마찰력
- 스트라이벡 마찰(Stribeck friction) — 윤활 상태에 따라 변하는 비선형 마찰
- 부하 의존 마찰(Load-dependent friction)
거기에 매 환경마다 무작위로 흔들리는 항목들이 더해집니다.
- 배터리 전압 변동
- 부하 시 전압 강하
- 명령 지연
- 마찰 크기
- 14개 서보 관절 각각의 백래시(backlash), 즉 기어 맞물림의 유격 ±1°(총 2°)
실제 엔코더가 백래시 출력 측에 위치하기 때문에, 정책은 "백래시를 거쳐 들어오는 값"을 관측하도록 학습됩니다. 이런 도메인 무작위화가 핵심 비법입니다.
내보내기와 실시간 실행
학습된 정책은 ONNX 포맷으로 내보내집니다. 이때 관측 정규화기가 그래프에 그대로 구워져(baked) 들어가기 때문에, 수동으로 변환한 체크포인트는 정상 동작하지 않습니다. Pollen 측이 직접 이 점을 경고하고 있습니다.
로봇 위에서는 Rust 런타임이 50Hz 제어 루프와 모터 버스를 구동합니다. 모든 정책은 61차원 액터 관측값을 공유합니다. 48차원 고유수용(proprioception) + twist(3) + 머리 자세(4) + 몸통 자세(6) 형태입니다. 이 공유 계약 덕분에 걷기, 복구, 묘기 정책을 실행 도중 핫스왑할 수 있습니다. 사용하지 않는 명령 슬롯은 제거하지 않고 0으로 패딩합니다.
공개 레지스트리는 총 13개 작업을 다룹니다: 속도 추적, 일어서기, 앉고 일어서기, 바닥 집기, 공 차기(70mm, 15g 공, 액터는 공을 보지 못함), 뒹굴기, 그리고 5가지 롤러스케이트 환경입니다.
가격, 라이선스, 출시 일정
- 가격: 399달러 (오픈소스 소프트웨어 기반)
- 상태: 사전 주문 진행 중
- 배송 목표: 크리스마스 이전
- 소프트웨어 라이선스: Apache-2.0 (소스 공개)
- 기계·전자 설계 파일: 비공개
소프트웨어는 자유롭게 사용·수정·재배포할 수 있지만, 하드웨어 설계도는 공개되지 않습니다. 즉 "로봇의 두뇌는 공개, 몸은 비공개"라는 구성입니다.
Microduck 이해를 위한 핵심 용어 5가지
� 이 로봇이 의미 있는가
Microduck은 두 가지 점에서 주목할 만합니다. 첫째, 가격입니다. 399달러에 LiDAR·IMU 2개·15개 모터까지 갖춘 이족보행 로봇은 학습 플랫폼으로서 매우 저렴합니다. 둘째, 학습 루프 전체가 공개된다는 점입니다. 코드, 보상 함수, 액추에이터 모델, 무작위화 설정이 그대로 제공되므로, 대학 연구실이나 개인 개발자가 그대로 가져다 자기 정책만 갈아 끼울 수 있습니다.
물론 한계도 있습니다. 약 1시간의 짧은 배터리, 공개되지 않은 하드웨어 설계, 그리고 "실제로 얼마나 잘 걷는지"는 실물 출시 후에야 확인 가능합니다. 다만 그 전 과정을 미리 검토할 수 있다는 것 자체가, 이 작은 25cm 로봇이 던지는 가장 큰 메시지입니다.