본문 바로가기
ML Study/Robotics논문리뷰

GenLoco 논문리뷰(GenLoco: Generalized Locomotion Controllers for Quadrupedal Robots)

by 누워있는말티즈 2024. 7. 24.

GenLoco: Generalized Locomotion Controllers for Quadrupedal Robots

GenLoco: Generalized Locomotion Controllers for Quadrupedal Robots

GenLoco Github

https://github.com/HybridRobotics/GenLoco

Introduction

4족보행 로봇의 연구/기업 내 사용이 증가함에 따라 다양한 로봇에서 활용 가능한 보행 제어기의 필요성이 증가했다. 기존의 보행 제어기는 robot specific한 모델으로 강화학습 기반 제어기는 이론적으로는 모든 로봇에 적요이 가능하지만 실제로는 reward formulation의 특이성으로 단일 로봇에서만 정상적으로 동작한다. 이 논문에서는 유사한 형태의 4족보행 로봇의 보행을 위한 generalized locomotion(GenLoco) controller 강화학습 기반 프레임워크를 개발한다. 해당 제어기는 Unitree A1, MIT Mini Cheetah, CUHK Sirius에서 작동함을 확인했다. 다만, DoF이 수와 link constant는 통제한다.

Related Work

강화학습(RL)은 다양한 작업에 대한 로봇 제어기를 자동으로 합성하는 일반적인 프레임워크를 제공합니다. RL로 학습된 제어기는 sim-to-real 기술을 사용하며, 그 중 domain randomization이 가장 널리 사용된다. Domain randomization은 학습 중의 dynamics를 랜덤화하여 현실의 동역학적 환경에 적응하도록 한다.

이 연구에서도 domain randomization을 사용하나, 알려진 형태의 로봇에 대해서만 sim-to-real 방법을 적용한 기존 연구들과 달리, training에 알려지지 않은 morphology를 포함한다. Morphology randomization을 통해 학습 과정에서 형태 정보에 대한 의존도를 낮추고 dynamic env와 morphology에 randomization을 적용해 “General”한 제어기를 개발한다.

RL 로직 상에서 로봇의 형태를 명시적으로 인코딩하는 것과 달리 GenLoco 제어기는 feed forward neural network를 톨해 과거 observation, action을 통해 implicit encoding하는 policy를 개발한다.

GenLoco Methodology

Our models are trained by randomizing the morphology and other dynamics properties during training in simulation, thereby encouraging the controller to learn adaptable strategies, which can be effectively applied on different robots.

Morphology Generation

이미지와 같이 널리 사용되는 4족보행 로봇들은 형태, 구조, 역학적 특성을 일부 공유한다. 따라서 Table 1에 정의된 parameter를 episode마다 미리 작성한 morphology template기반으로 randomize하여 로봇의 형태를 새로 정의한다.

  • Size factor $\alpha$ : 전체 body의 scale

  • PD gains : PD param(by mass)

  • Robot base : size&density

  • Leg parameters : thigh&calf

Training

Training was performed using RL based motion imitation framework [reference]

Learning agile and dynamic motor skills for legged robots

Reward Structure

p : pose, v : velocity, bp : base position, bv : base velocity

action $a_t$

controller에서 나오는 $a_t$ 는 target joint position 정보로 joint-level PD controller를 통과해 motor torque로 변환된다.

state $s_t$

1) 15-timestep history of robot raw sensor feedback $q^{base}{t-15:t}$ and $q{t-15:t}$
2) 15-timestep history of past actions $a_{t-16:t-1}$
3) phase variable $\phi$ ∈ [0,1] : normalized time that indicates the robot’s progress along the reference motion where 0 is init, 1 is fin

GenLoco policies are trained using Proximal Policy Optimization(PPO)

Results

성능 테스트에 사용된 로봇 모델은 다음과 같다.

A1, Aliengo, Go1, Mini Cheetah, Sirius, Laikago, Spot, SpotMicro, ANYmal-B, and ANYmal-C

Zero-Shot Transfer

GenLoco로 학습한 controller는 성공적으로 위 로봇들(Fig. 4)에서 작동됨을 확인했다. 특히 ANYmal-B,C처럼 뒷다리 관절의 방향이 반대인 경우에도 작동함으로 General하다고 할 수 있다.

Real World Deployment

Unitree A1, MIT Mini Cheetah, CUHK Sirius 세 기종에 테스트 진행

각 로봇에 zero-shot으로 적용했고 pacing과 spinning 테스트를 진행한다. 일부 모델에 대해서 각 모델 specific한 테스트보다 성능이 잘 나온 경우도 있었다.

Conclusion

GenLoco의 성능이 비교적 큰 로봇(Sirius, SPot, Laikago,,,)에서 확 떨어지는 경향을 보인다. 현행보다 더 공격적인 randomization이 개선에 도움이 될 수도 있겠다. 또한 현 모델은 DoF 제한이 걸려있는것 또한 해결과제로 남아있다.

반응형

댓글