brunch

You can make anything
by writing

C.S.Lewis

by 서진호 Apr 07. 2020

자연에서 영감을 얻은 로봇 민첩성 연구

2020 년 4 월 3일(금)-구글 AI 리서치 블로그

공을 쫓는 개나 장애물을 뛰어넘는 말이든, 동물은 놀랍도록 풍부한 민첩한 기술 레퍼토리를 수행할 수 있습니다. 이러한 민첩한 동작을 복제할 수 있는 로봇을 개발하면 실제 작업에서 정교한 작업을 위해 로봇을 배포할 수 있습니다. 그러나 다리가 있는 로봇이 이러한 민첩한 동작을 수행할 수 있도록 컨트롤러를 설계하는 것은 매우 어려운 작업일 수 있습니다. 강화학습(RL)은 로봇 기술의 개발을 자동화하는 데 자주 사용되는 접근 방법이지만, 많은 기술적 장애물이 남아 있으며 실제로 여전히 수동의 오버헤드가 여전히 많습니다. 효과적인 기술로 이끄는 보상(award) 기능을 설계하려면 많은 전문적인 통찰력이 필요할 수 있으며 종종 원하는 각 기술에 대해 긴 보상 조정 프로세스가 필요합니다. 또한 강화학습을 다리 로봇에 적용하려면 효율적인 알고리즘뿐만 아니라 사람이 자주 도움을 받지 않고도 추락 후 로봇을 안전하게 유지하고 복구할 수 있는 메커니즘이 필요합니다.


이 글에서는 이러한 과제를 해결하기 위한 최근의 두 가지 프로젝트에 대해 논의할 것입니다. 먼저, 실제 동물의 움직임을 모방하여 뛸 수 있는 호핑과 같은 빠르고 유창한 움직임을 만들어 로봇이 어떻게 민첩한 행동을 배울 수 있는지 설명합니다. 그런 다음 현실 세계에서 운동 기술 훈련을 자동화하는 시스템에 대해 설명합니다. 이를 통해 로봇은 최소한의 인간 지원으로 스스로 걷는 법을 배울 수 있습니다.


동물을 모방하여 민첩한 로봇 운동 기술 학습하기

“동물을 모방하여 민첩한 로봇 운동 기술 학습(Learning Agile Robotic Locomotion Skills by Imitating Animals” 논문에서, 우리는 동물(이 경우에는 개)에서 기록된 참조 모션(reference motion) 클립을 가져오고 로봇이 모션을 모방할 수 있게 하는 제어 정책을 훈련시키는 강화학습을 사용하는 프레임워크를 제시합니다. 이 시스템에 서로 다른 레퍼런스 모션(reference motion)을 제공함으로써, 우리는 빠른 걸음걸이부터 역동적인 홉(hop)과 턴(turn)에 이르는 다양한 일련의 민첩한 행동을 하도록 네발 달린 로봇을 훈련시킬 수 있습니다. 정책은 주로 시뮬레이션에서 훈련된 다음 실제 로봇의 데이터를 몇 분만 사용하여 정책을 효율적으로 조정할 수 있는 잠재 공간 조정 기술을 사용하여 실제 세계로 전송됩니다.


모션 모방

우리는 다양한 운동 기술을 수행하는 실제 강아지의 모션 캡처 클립을 수집하는 것으로 시작합니다. 그런 다음 강화학습을 사용하여 강아지의 움직임을 모방하는 제어 정책을 훈련시킵니다. 정책은 물리 시뮬레이션에서 훈련되어 각 단계에서 레퍼런스 모션의 포즈를 추적합니다. 그런 다음 보상 기능에 다른 기준 동작을 사용하여 시뮬레이션된 로봇을 훈련시켜 다양한 기술을 모방할 수 있습니다.

[그림 1] 강화학습은 시뮬레이션 로봇을 훈련시켜 강아지의  Reference Motion을 모방하는 데 사용됩니다. 모든 시뮬레이션은 PyBullet을 사용하여 수행됩니다

그러나 시뮬레이터는 일반적으로 실제에 대한 대략적인 근사치만 제공하기 때문에 시뮬레이션에 대해 훈련된 정책은 실제 로봇에 배포할 때 성능이 저하되는 경우가 많습니다. 따라서 시뮬레이션을 위해 훈련된 정책을 실제 세계로 이전하기 위해 샘플 효율적인 잠재 공간 적응 기술을 사용합니다.


먼저, 다이내믹의 변화에 강인한 행동을 배우도록 정책을 장려하기 위해 로봇의 질량 및 마찰과 같은 물리량을 변경하여 시뮬레이션의 다이내믹을 무작위 화합니다. 시뮬레이션 훈련 중에 이러한 파라미터의 값에 액세스 할 수 있으므로 학습된 인코더를 사용하여 이 매개 변수를 저 차원 표현에 매핑할 수도 있습니다. 그런 다음이 인코딩은 훈련 중에 추가 입력으로 정책에 전달됩니다. 실제 로봇의 물리적 파라미터는 선험적으로 알려져 있지 않기 때문에 정책을 실제 로봇에 배포할 때 인코더를 제거하고 잠재적 공간에서 로봇이 원하는 기술을 성공적으로 실행할 수 있도록 파라미터 셋을 직접 검색합니다. 이 기술은 종종 8 분 미만의 실제 데이터를 사용하여 실제 세계에 정책을 적용할 수 있습니다.

[그림 2] 실제 로봇에 적응하기 전과 후에 정책 비교. 적응하기 전에 로봇은 넘어지기 쉽습니다. 그러나 적응 후 정책은 원하는 기술을 보다 일관되게 실행할 수 있습니다.

결과

이 접근법을 사용하여 로봇은 걷거나 빠르게 달리기과 같은 다양한 보행 걸음뿐만 아니라 민첩한 회전 운동을 포함하여 강아지의 다양한 운동 기술을 모방합니다.

[그림 3] 개에서 다양한 기술을 모방하는 로봇

실제 강아지의 움직임을 모방할 뿐만 아니라 역동적인 홉-턴(hop-turn)을 포함하여 아티스트 애니메이션 키 프레임 동작을 모방할 수도 있습니다.

[그림 4] [그림 4] 아티스트 애니메이션 키 프레임 동작을 모방하여 배운 기술 : Side-steps, turn 및 hop-turn.

자세한 내용은 다음 비디오에서 볼 수 있습니다.

https://youtu.be/lKYh6uuCwRY


최소한의 인간 도움으로 실제 세계에서 걷는 법을 배우기

위의 접근법은 시뮬레이션에서 정책을 훈련시킨 다음 실제 세계에 적용할 수 있습니다. 그러나 과제가 복잡하고 다양한 물리적 현상과 관련이 있는 경우 실제 경험에서 직접 배워야 합니다. 실제 로봇에 대한 학습은 조작 작업(예: QT-Opt)을 위한 최첨단 성능을 달성했지만, 로봇이 넘어져서 손상되거나 훈련 영역을 벗어날 수 있기 때문에 다리가 있는 로봇에 동일한 방법을 적용하는 것은 어렵습니다. 그러면 인간의 개입이 필요할 수 있습니다.

[그림 5] 다리가 있는 로봇을 위한 자동화된 학습 시스템은 안전 및 자동화 문제를 해결해야 합니다. 

“최소한의 인간 도움으로 실제 세계에서 걸을 수 있는 학습(Learning to Walk in the Real World with Minimal Human Effort)” 논문에서 우리는 멀티태스킹 학습 절차, 안전 제약(safety-constrained) 학습자와 신중하게 설계된 여러 하드웨어 및 소프트웨어 구성 요소를 사용하여 소프트웨어 및 하드웨어 구성 요소를 갖춘 자동화된 학습 시스템을 개발했습니다. 멀티태스킹 학습은 로봇을 작업 공간의 중심으로 이동시키는 학습 일정을 생성함으로써 로봇이 훈련 영역을 벗어나지 못하게 합니다. 또한 우리는 이중 경사 하강(dual gradient descent)으로 해결되는 안전 구속 조건을 설계하여 낙하 횟수를 줄입니다.


각 롤아웃에 대해 스케줄러는 원하는 보행 방향이 가운데를 가리키는 작업을 선택합니다. 예를 들어, 전진과 후진의 두 가지 작업이 있다고 가정하면, 로봇이 작업 공간의 후면에 있고 그 반대의 경우에도 스케줄러가 전진 작업을 선택합니다. 에피소드 중간에 학습자는 작업 목표와 안전 제약을 단일 목표로 취급하지 않고 반복적으로 최적화하기 위해 이중 그러데이션 하강 단계를 수행합니다. 로봇이 쓰러지면 자동 일어서기(get-up) 컨트롤러를 호출하고 다음 에피소드로 진행합니다.

[그림 6] 우리는 멀티 태스킹 학습, 안전 제한 SAC 알고리즘 및 자동 재설정 컨트롤러를 사용하여 자동화 및 안전 문제를 해결합니다.

결과

이 프레임워크는 어떠한 사람의 개입 없이 정책을 처음부터 끝까지 다른 방향으로 성공적으로 훈련합니다.

[그림 6] 사람이 재설정하지 않은 평평한 표면의 교육 과정 스냅샷

훈련을 마치면 리모컨으로 로봇을 조종할 수 있습니다. 컨트롤러를 사용하여 로봇을 켜도록 명령하는 방법에 주목하십시오. 이 작업은 로봇의 평면 레그 구조로 인해 수동으로 설계하기 어려울 수 있지만 자동화된 다중 인스턴스 학습자를 사용하여 자동으로 감지됩니다.

[그림 7] 우리는 네 방향으로 걸을 수 있도록 운동 정책을 훈련시켜 게임 컨트롤러로 로봇을 대화식으로 제어할 수 있습니다.

이 시스템을 통해 로봇은 메모리 폼 매트리스 및 틈새가 있는 도어 매트와 같은 까다로운 표면을 탐색할 수 있습니다.

[그림 8] 까다로운 지형에서 운동 보행을 배웠습니다.

자세한 내용은 다음 비디오에서 확인할 수 있습니다.

https://youtu.be/cwyiq6dCgOc


결론

이 두 논문에서 우리는 사족 로봇으로 다양한 행동 모음을 재현하는 방법을 제시합니다. 비디오에서 기술을 배우기 위해 이 작업 라인을 확장하는 것도 로봇이 배울 수 있는 데이터의 양을 크게 증가시킬 수 있는 흥미로운 방향이 될 것입니다. 또한 자동화된 교육 시스템을 보다 복잡한 실제 환경 및 작업에 적용하는 데 관심이 있습니다.


감사의 말

우리는 공동 저자 인 Erwin Coumans, Tingnan Zhang, Tsang-Wei Lee, Jie Tan, Sergey Levine, Peng Xu 및 Zhenyu Tan에게 감사의 말씀을 전합니다. 우리는 또한 Julian Ibarz, Byron David, Thinh Nguyen, Gus Kouretas, Krista Reymann 및 Bonny Ho에게 이 작업에 대한 지원과 기여에 감사드립니다.


원본 제목: 자연에서 영감을 얻은 로봇 민첩성 연구(https://ai.googleblog.com/2020/04/exploring-nature-inspired-robot-agility.html)
게시자: Xue Bin (Jason) Peng, 학생 연구원 및 Sehoon Ha, Google 로봇 공학 연구원
원본 링크: https://ai.googleblog.com/2020/04/exploring-nature-inspired-robot-agility.html
Learning Agile Robotic Locomotion Skills by Imitating Animals 논문: https://xbpeng.github.io/projects/Robotic_Imitation/index.html
Learning to Walk in the Real World with Minimal Human Effort 논문: https://arxiv.org/abs/2002.08550
이 블로그는 2020년 4월 3일(금), Google AI Research Blog 기사를 영한 번역한 것입니다. 또한 이 번역 글은 정보 공유 목적으로만 작성했으므로 어떠한 상업용으로 사용할 수 없으며, 원본 저작물 모두 구글에게 저작권이 있음을 알려 드립니다. (First Draft Version)



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari