본문 바로가기

휴머노이드는 어떻게 넘어지지 않고 걷나: ZMP 기반 제어에서 강화학습 보행 정책까지

휴머노이드 이족보행 제어가 ZMP·역진자 모델 기반 계획과 전신 제어(WBC)에서 시뮬레이션 대규모 강화학습 정책으로 넓어진 흐름을 원 논문과 자료로 정리하고, 두 방식의 장단점과 결합 방법을 설명합니다.

목차

핵심 요약

  1. 걷는 로봇은 무거운 상체를 다리 위에서 균형 잡는 역진자 문제를 푼다. 무게 중심 높이 0.9m라면 넘어지는 동작의 시간 상수는 약 0.3초로, 그 안에 발을 옮기거나 힘을 조절해야 한다(직접 계산).
  2. ZMP(영모멘트점)는 1968년 Vukobratović와 Juričić가 소개한 개념으로, Honda P2(1996)와 ASIMO 같은 휴머노이드가 ZMP 피드백으로 걸었다.
  3. 전신 제어(WBC)는 균형·발 위치·손 작업 같은 여러 과제에 우선순위를 두고 모든 관절 토크를 실시간으로 함께 푸는 방식이다. Walker3 연구는 과제·제약 계층으로 외부 충격에도 균형을 유지했다.
  4. 강화학습 쪽은 시뮬레이션 병렬화로 속도가 크게 빨라졌다. Rudin 외는 GPU 한 장에서 수천 대 로봇을 병렬로 돌려 평지 보행을 4분 안, 험지 보행을 20분에 학습했다.
  5. Radosavovic 외는 관측·행동 이력을 입력받는 인과 트랜스포머 정책을 시뮬레이션에서만 학습해 실제 휴머노이드에 미세조정 없이 배포하고 다양한 실외 지형을 걸었다.

사람은 걷는 동안 넘어지려는 몸을 계속 다리로 받쳐 냅니다. 휴머노이드도 같은 문제를 풀어야 합니다. 이 글은 이족보행 제어가 어떤 원리에서 출발했는지, 그리고 최근 강화학습 정책으로 어떻게 넓어졌는지를 원 자료와 논문으로 정리합니다. 두 접근의 장단점을 알면 로봇의 보행 데모를 볼 때도 무엇을 확인해야 할지 분명해집니다.

출발점: 다리 위에서 균형 잡는 역진자

상체가 다리보다 훨씬 무겁고 관성이 커서, 걷는 로봇은 받침점 위에 무게 중심이 있는 역진자를 균형 잡는 것과 비슷한 문제를 풉니다. 많이 쓰는 단순화 모델은 무게 중심 높이를 일정하게 두는 선형 역진자 모델이며, 수평 방향 운동은 다음과 같이 쓸 수 있습니다.

x¨=gzc (x−p)\ddot{x} = \frac{g}{z_c}\,(x - p)

xx는 무게 중심의 수평 위치, pp는 발이 땅을 미는 압력 중심, zcz_c는 무게 중심 높이입니다. 무게 중심이 압력 중심에서 벗어날수록 더 빨리 넘어지려 하므로, 제어기는 발을 옮기거나 압력 중심을 조절해 무게 중심을 받쳐야 합니다.

import math

def fall_time_constant(com_height_m, g=9.81):
    # 선형 역진자 모델의 시간 상수: 넘어지는 동작이 얼마나 빨리 커지는지
    return math.sqrt(com_height_m / g)

print(round(fall_time_constant(0.9), 3))   # 0.303 s (무게 중심 0.9m 가정)

시간 상수가 약 0.3초라는 것은 무게 중심이 벗어나기 시작하면 수백 밀리초 안에 대응해야 한다는 뜻입니다. 이족보행 제어가 빠른 제어 주기를 요구하는 이유입니다.

ZMP: 넘어지지 않을 조건을 정의한 개념

ZMP(영모멘트점)는 관성력과 중력의 수평 합이 0이 되는 점으로, Miomir Vukobratović와 Davor Juričić가 1968년에 소개했습니다. 보행 궤적을 ZMP가 안정 영역 안에 머물도록 계획하면 로봇이 동적으로 안정하게 걸을 수 있습니다. 같은 자료에 따르면 Honda의 P2(1996)와 ASIMO가 ZMP 피드백으로 보행했습니다.

ZMP 방식은 물리적으로 해석하기 쉽고 안정 조건이 명확하다는 장점이 있습니다. 대신 접촉면이 평평하고 발이 미끄러지지 않을 만큼 마찰이 충분하다는 가정에 기대며, 다리 궤적을 미리 잘 계획해야 합니다. 울퉁불퉁한 지형이나 갑작스러운 외란에는 계획을 빠르게 다시 세우는 능력이 필요합니다.

전신 제어(WBC): 여러 과제를 우선순위로 동시에 풀기

휴머노이드는 균형을 잡으면서 손으로 일을 하고, 발은 정해진 위치에 디뎌야 합니다. 전신 제어는 이런 과제에 우선순위를 두고, 관절 토크 한계와 접촉 조건 같은 제약을 지키면서 모든 관절 명령을 한꺼번에 계산하는 방식입니다. 균형이 가장 높은 우선순위를 갖고, 손 작업은 균형을 해치지 않는 범위에서 수행되는 식입니다.

Walker3 연구는 동적 균형을 위한 과제·제약 계층을 정의하고 모듈형 제어기에서 실시간 전신 제어를 돌렸습니다. 감속기의 관절 마찰을 모델링해 토크 추종을 개선했고, 외부 충격과 발판 기울기·이동 같은 외란에도 균형을 유지했다고 보고합니다. 관절 구동 방식이 제어 성능에 미치는 영향은 회전형·선형 액추에이터 비교에서 다룹니다.

강화학습 보행: 시뮬레이션에서 수천 대를 동시에

모델 기반 방식이 사람이 설계한 계획과 제약으로 걷는다면, 강화학습은 시뮬레이션에서 시행착오로 보행 정책을 찾습니다. 이 방식이 실용화된 데에는 병렬 시뮬레이션의 속도가 결정적이었습니다. Rudin 외(2021)는 워크스테이션 GPU 한 장에서 수천 대의 시뮬레이션 로봇을 병렬로 돌려, 4족 로봇 ANYmal의 평지 보행 정책을 4분 안에, 험지 보행 정책을 20분에 학습하고 실제 로봇으로 옮겼습니다.

휴머노이드에서도 같은 흐름이 이어졌습니다. Radosavovic 외(2023)는 고유수용 관측과 행동의 이력을 입력받아 다음 행동을 예측하는 인과 트랜스포머 정책을, 무작위화한 다양한 시뮬레이션 환경에서 강화학습으로 학습했습니다. 이 정책을 미세조정 없이 실제 휴머노이드에 배포해 여러 실외 지형을 걸었고 외부 충격에도 견뎠다고 보고합니다. 이력을 보고 현재 환경을 추정하는 아이디어는 4족 로봇에서 1초도 안 되는 시간에 지형 변화에 적응한 RMA와도 맞닿아 있습니다.

강화학습 정책은 무엇을 최적화하나: 보상 설계

강화학습 보행 정책의 성격은 보상 함수가 정합니다. 보통은 명령한 속도를 잘 따라가는 것에 보상을 주고, 관절 토크·가속도가 큰 동작, 발 미끄러짐, 몸통 기울기, 에너지 사용에는 벌점을 줍니다. 여기서 균형이 무너지면 정책이 엉뚱한 해법을 찾습니다. 벌점이 너무 약하면 실제 모터로는 낼 수 없는 거친 동작이 나오고, 너무 강하면 거의 움직이지 않는 소극적인 정책이 됩니다.

시뮬레이터의 허점을 이용하는 동작도 흔한 문제입니다. 접촉 계산의 작은 오류를 이용해 미끄러지듯 이동하거나, 실제로는 불가능한 발 끌기 동작으로 보상을 얻는 식입니다. 그래서 학습 중간중간 정책의 동작을 사람이 직접 확인하고, 실제 로봇에서 짧게 시험해 보상 항목을 고치는 과정을 반복합니다.

두 방식 비교와 결합

기준모델 기반 (ZMP·WBC)강화학습 정책
원리단순화 동역학 모델로 궤적 계획 + 최적화시뮬레이션 시행착오로 정책 학습
강점해석 가능, 제약 조건을 명시적으로 보장외란·험지 대응, 설계 노력 감소
약점모델 가정이 깨지면 성능 저하실패 원인 해석이 어려움, Sim-to-Real 필요
필요 자원정확한 로봇 모델, 실시간 최적화 연산대규모 병렬 시뮬레이션, 보상 설계

실제 시스템에서는 두 방식을 섞는 경우가 많습니다. 학습 정책이 보행을 맡고, 관절 한계나 안전 정지 같은 제약은 모델 기반 계층이 지키는 구성입니다. 시뮬레이션 정책을 실제 로봇으로 옮기는 기법은 Sim-to-Real 격차 해법에서 이어서 볼 수 있습니다.

보행 데모를 볼 때 확인할 점

보행 영상만으로는 성능을 판단하기 어렵습니다. 경사와 계단, 미끄러운 바닥에서도 같은 정책으로 걷는지, 옆에서 밀었을 때 회복하는지, 짐을 들었을 때도 균형을 유지하는지, 그리고 넘어질 때 몸을 보호하는 동작이 있는지를 함께 봐야 합니다. 같은 조건에서의 반복 성공률이 공개됐는지도 중요한 판단 기준입니다.

자주 하는 실수

  • ZMP 방식과 강화학습 방식 중 하나만 정답이라고 보는 경우 — 실제 시스템은 학습 정책에 모델 기반 제약이나 안전 계층을 함께 두는 경우가 많다.
  • 시뮬레이션에서 학습한 보행 정책이 실제 로봇에서도 그대로 될 것이라고 가정하는 경우 — 동역학 랜덤화와 적응 기법 없이 옮기면 넘어지기 쉽다.
  • 보행 속도만 보고 성능을 판단하는 경우 — 외란 회복, 경사·계단, 하중 변화 같은 조건에서의 성공률을 함께 봐야 한다.

적용 전 체크리스트

  • 로봇의 무게 중심 높이와 다리 관절 토크·속도 한계를 확인했는가
  • 보행 제어를 모델 기반, 학습 기반, 혼합 중 무엇으로 할지 정했는가
  • 학습 기반이라면 동역학 랜덤화 범위와 실제 로봇 시험 계획이 있는가
  • 넘어질 때의 안전 정지·낙상 보호 동작을 설계했는가

자주 묻는 질문

4족 보행 연구 결과가 휴머노이드에도 적용되나요?
학습 방법(대규모 병렬 시뮬레이션, 동역학 랜덤화, 적응 모듈)은 대부분 그대로 쓰입니다. 다만 휴머노이드는 지지 다리가 두 개뿐이고 무게 중심이 높아 균형 여유가 작으므로, 같은 방법이라도 보상 설계와 안전 장치가 더 중요합니다.
보행 정책은 로봇의 어떤 센서 정보를 쓰나요?
기본은 관절 각도·속도, IMU(자세·가속도), 발 접촉 정보 같은 고유수용 감각입니다. 지형을 미리 보려면 카메라나 라이다를 더하고, 발목 힘 센서로 지면 반력을 재기도 합니다. 힘 센서 원리는 힘·토크 센서와 촉각 센서에서 다룹니다.

참고 자료 · 검증 기준

  1. Wikipedia — Zero moment point
  2. Xie et al., Dynamic Balancing of Humanoid Robot Walker3 with Proprioceptive Actuation (arXiv:2108.03826)
  3. Rudin et al., Learning to Walk in Minutes Using Massively Parallel Deep Reinforcement Learning (arXiv:2109.11978)
  4. Radosavovic et al., Real-World Humanoid Locomotion with Reinforcement Learning (arXiv:2303.03381)
  5. Kumar et al., RMA: Rapid Motor Adaptation for Legged Robots (arXiv:2107.04034)

마지막 검증일: