니케이로보틱스_2022/12(1)_2족 보행 로봇의 100m 주행 기네스 세계기록

책 커버 표지
목차

요약

Nikkei Robotics_22.12 Sexy Technology (p3-8)

2족 보행 로봇의 100m 주행 기네스 세계기록
강화학습으로 얻은 제어기로 주행, sim-to-real로 실제 기기로

강화학습 기술이 2족 보행 로봇에서도 이용되기 시작했다. 2022년 9월에 미국의 로봇 벤처기업 Agility Robotics(이하 Agility)와 미국 Oregon State University(OSU)는, 자사의 2족 보행 로봇 ‘Cassie(캐시)’가 100m를 24.73초에 주행하며 2족 보행 로봇으로서 기네스 세계기록에 올랐다고 발표했다. 이 기록은 강화학습으로 얻은 제어기(방책)로 로봇을 주행시켜 실현했다.

Agility는 OSU발 벤처기업으로, 미국 Carnegie Mellon University 출신의 로봇 연구자이자 OSU의 교수인 조나단 허스트(Jonathan Hurst) 씨 등이 2015년에 공동 창업했다. 현재까지 자금 조달액은 누계 약 1억 7,800만 달러(약 260억 엔)에 달한다.

2020년에는 휴머노이드형 2족 보행 로봇 ‘Digit’를 상용 제품으로 발매했다. 미국 Boston Dynamics의 ‘Atlas’ 정도로 활발하게 움직이지는 않지만 휴머노이드형을 상용화했다는 의미에서는 Boston Dynamic보다 앞서 있다고 할 수 있다.

-- 다리 로봇으로 확대 --
로봇용 강화학습 기술은 서서히 확산되고 있다. 예를 들면, 스위스 ETH Zurich는 4족 보행 로봇 ‘ANYmal’의 보행 제어에 강화학습으로 얻은 제어기를 적용했다. 산길 등 울퉁불퉁한 길에서 안정적인 보행을 실현해, 미국 DARPA가 주최한 경기대회 ‘DARPA Subterranean Challenge’에서는 Boston Dynamics의 ‘Spot’을 이용하는 팀을 누르고 우승했다.

일본에서는 벤처기업인 DeepX가 유압굴착기나 크레인 등의 조작에 강화학습 기술을 적용하고 있다. 핵심인 매니플레이션(손기술) 영역에서는 발전 도중이지만 특정 용도나 국면에서는 강화학습으로 얻은 제어기가 사람이 만든 제어기를 웃돌기 시작했다.

-- 역동역학(Passive Dynamics)을 활용 --
Agility의 Cassie는 하반신만 있는 2족 보행 로봇으로, 조류의 다리처럼 발끝으로만 접지하고 뒤꿈치가 들린 상태로 보행한다. 언뜻 무릎 관절이 반대측으로 굽은 것처럼 보이지만 그 부분은 인간으로 말하면 발목 관절에 해당하고, 발바닥 전체가 수평이 아니라 수직으로 선 것처럼 되어 있다.

Cassie의 특징 중 하나는 직렬 탄성요소(Series Elasticity)을 잘 활용한다는 것이다. 직렬 탄성요소는 지면 등 외부의 충격을 스프링으로 흡수할 수 있어 감속기의 파손을 방지한다는 이점이 있다. 이 때문에 보행 로봇에서도 직렬 탄성을 채용하는 것 자체는 딱히 특별한 것은 아니다. 예를 들면, 앞에서 말한 4족 로봇 ANYmal, 소니 그룹의 4족 로봇 ‘Tachyon’ 등이 직렬 탄성요소를 채용하고 있다.

다만 Cassie에서 사용하는 직렬 탄성요소의 용도는 조금 특이하다. 대부분의 직렬 탄성 액추에이터(SEA) 탑재 로봇은 SEA의 탄성요소를 토크를 제어하기 위한 토크원으로 사용하고 있다. 반면에 Cassie에서는 직렬 탄성요소를 역동역학을 위해 사용하고 있다. 탄성요소를 줄여 그곳에 에너지를 저장했다가, 이번에는 그것을 해방시켜 로봇을 움직이기 위한 힘을 증폭시킨다.

그 사이클을 주기적으로 반복해서 보행을 하는 것이다. 능동적인 액추에이터의 에너지로 강제적으로 다리를 움직일뿐 아니라 로봇 자체의 운동 에너지를 스프링 내의 탄성 에너지로 변환하면서 보행함으로써 에너지 효율이 높아지고, 또한 실제 살아 있는 것처럼 자연스러운 보행을 실현할 수 있다.

이러한 역동역학을 최대한 활용한 형태가 내리막길 등에서 중력을 사용해 능동 액추에이터 없이 보행 동작을 실현하는 수동 보행이다. Cassie는 모터를 이용하기 때문에 완전 수동 보행과는 다르지만 탄성요소 등 하드웨어가 원래 갖추고 있는 역동역학을 잘 활용해 민첩하고 역동적인 움직임을 실현하고 있다고 할 수 있다.

-- 다리의 모멘트를 철저하게 저감 --
역학(Dynamics)뿐만 아니라 운동학(Kinematics)이나 중량 배분 면에서도 다리를 민첩하게 움직일 수 있도록 연구했다. Cassie의 다리의 뒤꿈치부터 아래 부분은 4절링크기구로 되어 있고, 질량이 큰 액추에이터는 발목 부분이 아니라 뒤꿈치 부분에 있다.

또한 뒤꿈치부터 윗부분도 폐루프링크기구(closed-loop link mechanism)다. 이러한 구조로 다리의 모멘트를 줄여 경쾌한 움직임이 가능하도록 했다. 회사 이름 ‘Agility’도 이에 유래한다.

역동역학(Passive Dynamics)의 직렬 탄성요소의 재료 자체도 민첩성을 위해 고집했다. 일반적인 SEA에서는 탄성요소로서 강철제인 코일스프링을 사용하는 경우가 많지만 Cassie는 다리의 질량과 모멘트 저감을 위해 GFRP(유리섬유강화플라스틱)제 판스프링을 채용하고 있다.

GFRP제라면 강철제 스프링과 비교해 질량당 축적에너지양이 크기 때문에 같은 질량이라면 보다 큰 에너지를 축적할 수 있다. 역동역학의 활용에 적합하다는 말이다.

GFRP제 판스프링은 Agility의 Hurst 씨가 Agility를 창업하기 전에 개발한 Cassie의 전신 로봇 ‘ATRIAS’에서도 마찬가지로 직렬 탄성요소로 사용한 것으로 보아 Hurst 씨의 고집이라고도 할 수 있다.

다리의 질량이나 모멘트가 가벼워지면 그것을 구동하기 위한 모터도 작게 할 수 있으므로 좋은 점이 많다. 관절의 바로 근처에 고감속비(High Reduction Ratio) 액추에이터를 배치해, 컴플라이언스가 거의 없는 딱딱한 다리의 보행 로봇과는 분명하게 구별된다고 할 수 있다.

제어를 휴리스틱하게 구현했던 시대에는 관절을 딱딱하게 해서 다루기 쉽게 하는 것이 타당했지만 기계학습 기술의 발달로 Cassie처럼 어려운 역학 로봇도 부드럽고 날렵하게 움직일 수 있는 시대가 되었다.

Cassie의 다리는 한쪽 당 7자유도이지만 이 중 모터로 직접 구동하고 있는 것은 5축뿐이다. 남은 2축은 탄성요소가 들어간 수동축이다. 즉, GFRP제 판스프링은 정강이와 뒤꿈치의 2곳에서 이용하고 있다. 다리 전체는 이른바 ‘열구동(underactuated)형’으로 되어 있다.

2개의 스프링은 탄성 정수를 조정해 가상적으로 1개의 스프링으로 작동하도록 했다. 감속기의 경우, 마찰이 큰 파동기어형은 한쪽 다리당 1개뿐이고, 그 외 4개는 마찰이 적은 사이크로이드 감속기를 이용하고 있다. 감속비는 1:1~1:50 사이에서 100종 이상을 시험해 에너지가 최소가 되도록 했다. 적은 마찰을 고집한 이유도 에너지 효율과 민첩함을 위해서다.

또한 Agility는 당초에 Cassie를 대학 등 연구기관용으로 제공했었다. 현재는 하반신인 Cassie에 상반신인 동체나 양쪽 팔을 추가한 휴머노이드형 Digit 사업으로 주축을 옮기고 있다. Digit의 하반신은 Cassie를 거의 답습하고 있지만 발목의 경우 Cassie는 피치축뿐이었지만 Digit은 롤축을 추가해 보다 안정적인 보행을 하도록 했다.

Cassie에서는 뒤꿈치에서 뻗어 나오는 4축링크기구의 족저 로드가 1개뿐이었던 것에 비해 Digit에서는 이 족저 로드가 다리 한쪽 당 2개로 늘어 발목의 롤축을 능동적으로 구동할 수 있도록 했다.

-- 열구동(underactuated)에 근거해 강화학습으로 --
그럼 이런 특징을 갖고 있는 Cassie에서 강화학습 기술을 어떻게 사용했을까? 이전 호에서 소개한 벤처기업 DeepX의 크레인 자동조종 기사에서도 설명했듯이 수동축이 있는 열구동형의 경우는 일반적으로 제어가 어렵다.

Cassie는 OSU 이외에도 여러 대학 등에서 이용되고 있고, 각각이 독자적인 방법으로 제어방법을 연구하고 있다. OSU의 Hurst 씨 등은 18년무렵부터 강화학습 기술을 도입하기 시작했다. Cassie의 전신인 ATRIAS에서는 휴리스틱한 제어 방법을 채용했는데 Cassie에서는 기계학습 기반의 제어가 필요할 것으로 판단한 것 같다.

강화학습 기술을 이용한다고는 하지만 Cassie와 같은 복잡한 역학을 갖춘 로봇을 스크래치 상태에서 시행착오만으로 학습시켜 탄탄한 제어기를 얻는 것은 허들이 높다.

그래서 OSU는 통상의 2족 보행 로봇에서 하는 것과 마찬가지로 우선은 사전에 오프라인에서 타당하다고 생각되는 궤도를 작성/계획해 두는 어프로치를 취했다. 원하는 보행 동작을 하도록 각종 제약 조건을 기술해 두고, 최적화 계산으로 여러 개의 궤도를 생성해 두는 것이다.

예를 들면, Boston Dynamics의 Atlas도 사전에 오프라인에서 궤도를 계획해 두는 어프로치를 취했다. 점프나 턴 등 다양한 동작에 대해 전신의 역학을 고려한 궤도를 오프라인의 궤도 최적화로 생성해 두고, 온라인 제어에서는 이 각종 궤도를 연결해 참조하면서 짧은 호라이즌(시간구간)에서 MPC(Model Predictive Control)에 의해 제어한다. Atlas의 점프나 파쿠르 등 화려한 동작도 이 방법으로 실현했다.

Cassie에서는 이 Atlas의 온라인 MPC에 의한 제어가 강화학습에서 얻은 제어기(방책)를 대체한 것과 같은 이미지다. 그 흐름을 보면, 우선 (1)오프라인에서 궤도 최적화를 통해 각종 참조 궤도를 생성, (2)이 참조 궤도를 보수함수에 주고, 그 궤도를 참고하면서 시뮬레이터 상에서 강화학습에 의한 시행착오를 실시, (3)얻은 제어기를 그대로 재학습 없이 실제 기기에 옮긴다(sim-to-real).

(1)에서는 오프라인에서 사전에 궤도를 생성해 둔다고 해도 복잡한 역학 다리를 그대로 다루기는 어렵다. 그래서 OSU는 차원을 줄여 간략화한 모델 ‘ROM(Reduced Order Model)’을 사용하기로 했다.

ROM은 2족 보행 로봇에서는 선형 역진자(LIP: Linear Inverted Pendulum) 모델이나 스프링 달린 역진자(SLIP: Spring Loaded Inverted Pendulum) 모델 등을 사용하는 경우가 있지만, 이것들은 점프나 턴 등 회전운동에는 적합하지 않기 때문에 이번에 OSU는 단일 강체(SRB: Single Rigid Body) 모델을 채용했다. 로봇의 몸을 1장의 타원형 판으로 간략화해서, 그 판의 운동을 사전에 오프라인에서 계획해 둔다.

이는 Boston Dynamics가 Atlas에서 취한 것과 동일한 방법이다. 또한 다리는 지면과 점 접촉하도록 하여 다리의 질량 등은 무시한다. 최적화 목적함수는 지면의 반동력 및 몸에 대한 모멘트의 제곱값의 최소화로 했다. 이렇게 함으로써 원활한 제어입력이 된다고 한다.

이 오프라인의 궤도 최적화에서 얻은 궤도는 어디까지나 단일 강체 모델을 이용한 것이기 때문에 실제 Cassie의 역학과는 차이가 있다. Atlas의 경우는 이 갭을 온라인에서 MPC로 메우고 있지만 이번 OSU의 대응에서는 이를 강화학습을 통해 메운다.

시뮬레이터 상의 강화학습에서는 (1)의 궤도 최적화처럼 차원을 삭감한 ROM이 아니라 다소의 모델화 오차는 있으나 실제 기기에 가까운 100%의 역학을 갖춘 모델을 사용할 수 있다.

강화학습의 에이전트(방책)는 단일 강체의 참조 궤도 가이드를 얻으면서도 시행착오를 통해 실제 기기 상당의 역학을 접하면서 탄탄한 제어기를 획득해 나간다. 그리고 시뮬레이터 상의 모델에도 실제 기기와의 갭은 있기 때문에 도메인 랜덤화로 각종 파라미터는 흐트러뜨려 놓는다.

-- 보수로 참조 궤도에 접근하다 --
강화학습에서 핵심은 학습을 적절한 방향으로 유도하기 위한 보수함수이다. 이번 OSU의 대응에서는 보수함수에 다수의 항을 만들었지만 크게 2종류로 나눌 수 있다. 하나는 궤도 최적화로 얻은 참조 궤도에 접급하기 위한 항, 다른 하나는 보행 동작을 적절한 성질에 접근하기 위한 항(비참조항)이다.

전자는 몸의 방향, 중심의 속도, 각운동량, 발끝 위치 등에 대해 참조 궤도와의 거리 차를 두고, 접근하면 보수는 커지도록 했다. 일종의 모방학습과 같은 형태라고 할 수 있다. 후자는 양 다리가 교차되지 않도록 하거나 가로 방향의 움직임을 억제한다.

강화학습 알고리즘으로는 on-policy형으로 로봇에 적합한 ‘PPO(Proximal Policy Optimization)’를 이용했다. 방책에는 총결합형 뉴럴 네트워크(NN)을 이용했다. 은닉층(Hidden Layer)은 2층으로 얕은 타입이며 딥한 NN은 아니다. 유닛에는 RNN의 일종인 ‘LSTM’을 이용하며 유닛 수는 128개이다.

방책에는 로봇의 자세 등 상태량과 더불어 실제 기기 조작 시에 외부에서 지령치(Command Value)로 부여하는 코멘드 속도, 클록 신호도 부여했다. 방책의 출력은 다리 한쪽 당 5개의 액추에이터 관절각이다. 보수함수에 부여하는 참조 궤도의 속도는 0.1~0.35m/s 범위다. 길이는 0.54~1.0s이며, 학습 에피소드 중에는 이를 루프시켜 반복적으로 부여한다.

이번 방법을 이용해 Cassie를 학습시킨 결과를 보면, 단일 강체 모델의 참조 궤도, 시뮬레이터 상, 실제 기기에서의 보행이 일치한다는 것을 알 수 있다. 단순화 모델과 실제 기기와의 갭, 시뮬레이터 상과 현실 환경과의 갭, 이들 2종류를 강화학습을 이용해 어느 정도 극복했다고 할 수 있다.

모두에서 소개한 기네스 기록 100m 주행에서는 단순히 달리는 동작뿐 아니라 멈춰선 상태에서 출발하거나, 골인 후에 멈추는 동작도 필요하다. 그래서 앞에서 말한 러닝용 방책과는 별도로 서는 동작을 위한 방책도 준비하고, 이것들을 전환하는 방법으로 100m 주행을 실현했다.

또한 앞에서 말한 러닝 동작용 방책은 시뮬레이터 상에서는 최대 3.5m/s의 속도로 주행할 수 있었지만 실제 기기에서는 이정도의 속도는 어려웠고 3.0m/s까지였다. 이 때문에 100m 주행의 기네스 기록(속도 4.04m/s)을 실현할 때는 러닝용 방책도 더 개량한 것으로 보인다.

-- 끝 --

Copyright © 2020 [Nikkei Robotics] / Nikkei Business Publications, Inc. All rights reserved.

TOP

목차

TOP