Reinforcement Learning과 Imitation Learning을 활용한 Gait 학습

서준표·2025년 5월 20일

서울대학교에서 이제희 교수님의 그래픽스 특강 수업을 수강하며 진행했던 강화학습 과제가 인상 깊어 정리해봅니다. 이 과제를 통해 강화학습의 termination, truncation, observation 조건을 직접 조작하며 강화학습 전반에 대한 실질적인 감각을 익힐 수 있었습니다. 특히, PPO(Proximal Policy Optimization)를 활용하여 gait imitation 문제를 해결하였고, 방대한 문제 공간을 termination 조건을 점진적으로 강화하면서 줄여나가는 방식을 사용했습니다. Curriculum Learning의 개념을 본능적으로 적용했던 흥미로운 경험이었습니다.

디버깅의 흔적

어떤 문제를 해결해야 하는가?

본 연구는 심층 강화학습(DRL)을 활용하여 주어진 참조(reference) 동작을 정밀하게 모방하는 문제를 다룹니다. 특히, Walker2D와 Humanoid 환경에서 걷기(walking) 및 달리기(running) 동작을 사람과 유사하게 안정적이고 자연스럽게 구현하는 것이 목표입니다.

Reward 구성 방식

Reward는 다양한 요소를 종합하여 설계되었습니다.

  • Walker2D 환경:

    • UpLeg, Leg, Foot 관절의 각도 차이
    • 속도(velocity), 위치(position), 안정성(stability), End-Effector(Eef)의 위치 정확도

구체적인 reward 공식:

Rimit=eλUpLeg(q3q3)2+(q6q6)2+eλLeg(q4q4)2+(q7q7)2+eλFoot(q5q5)2+(q8q8)2+eλvelvv2+eλeefxxdz2+eλx(xx)2+eλz(zz)2+eλstabilityθpitchR_{imit} = e^{-\lambda_{UpLeg}(q_3 - q'_3)^2+(q_6 - q'_6)^2} + e^{-\lambda_{Leg}(q_4 - q'_4)^2+(q_7 - q'_7)^2} + e^{-\lambda_{Foot}(q_5 - q'_5)^2+(q_8 - q'_8)^2} \\ + e^{-\lambda_{vel}\|v - v'\|^2} + e^{-\lambda_{eef}\|x - x' - dz\|^2} + e^{-\lambda_x(x - x')^2} + e^{-\lambda_z(z - z')^2} + e^{-\lambda_{stability}|\theta_{pitch}|}
  • Humanoid 환경:

    • Spine과 Leg의 관절 각도와 속도 차이
    • Root position 및 End-Effector 위치 정확도

구체적인 reward 공식:

Rimit=eλspineq7:10q7:102+eλlegq10:q10:2+eλspinevelq˙7:10q˙7:102+eλlegvelq˙10:q˙10:2+eλposq:7q:72+eλeefxeefxeef2R_{imit} = e^{-\lambda_{spine}\|q_{7:10} - q'_{7:10}\|^2} + e^{-\lambda_{leg}\|q_{10:} - q'_{10:}\|^2} + e^{-\lambda_{spine-vel}\|\dot{q}_{7:10} - \dot{q}'_{7:10}\|^2} \\ + e^{-\lambda_{leg-vel}\|\dot{q}_{10:} - \dot{q}'_{10:}\|^2} + e^{-\lambda_{pos}\|q_{:7} - q'_{:7}\|^2} + e^{-\lambda_{eef}\|x_{eef} - x'_{eef}\|^2}

reward는 오차가 작을수록 값이 커지도록 exponential 형태로 설계되어, 관절 정합 부족이나 움직임 과도 등의 문제에 따라 가중치(λ)를 조정하여 성능을 최적화합니다.

Curriculum Learning의 활용

Curriculum learning을 활용하여 초기 학습 단계에서 탐색을 촉진하고 점차 엄격한 기준으로 학습을 세분화합니다. 초기에는 관대한 종료 조건을 적용하여 에이전트의 다양한 움직임을 유도하고, 학습이 진행됨에 따라 조건을 점진적으로 엄격히 조정하여 최종적으로 세밀한 동작 정밀도를 확보합니다.

Episode 종료 조건

아래 조건 중 하나라도 만족하면 episode가 종료됩니다:

  • 관절 오차가 20° 초과 상태가 50 step 이상 지속될 경우

  • Root의 x 또는 z 위치가 참조 경로(reference trajectory)에서 일정 범위 이상 벗어날 경우

    • 걷기(walk): 0.5 이상
    • 달리기(run): 2.0 이상

결론

Walker2D 걷기Walker2D 달리기
walker2drunner2d
Humanoid 걷기Humanoid 달리기
walker3drunner3d

주어진 참조 동작을 매우 정밀하게 모방할 수 있는 DRL 기반 솔루션으로, 동작의 자연스러움과 정확성을 높이는 데 나름 성공적이었습니다! Walker2D 및 Humanoid 환경에서 구현된 걷기와 달리기 모션은 제시된 GIF에서 볼 수 있듯이 안정적이며 실제 사람의 움직임과 유사한 형태를 보였습니다.

종강까지 화이팅입니다..! 아자,, 아자,,

0개의 댓글