Robotics

[AI Day 2022] 로봇하는 사람이 본 테슬라 휴머노이드 - 모션편

콩지니어 2022. 10. 2. 23:28

앞서 포스팅한 테슬라 휴머노이드의 보행에 관한 글에 이어서 이번엔 로봇의 모션과 관련된 글을 적어보겠습니다.

[이전 글 보러가기 - 테슬라 로봇의 보행]

 

[AI Day 2022] 로봇하는 사람이 본 테슬라 휴머노이드 - 보행편

예상대로 어제 테슬라 AI Day 행사에서 휴머노이드가 공개되면서 많은 주목을 받았습니다. 지난 AI Day에서는 자율주행 내용 뒤에 로봇을 짧고 소개했던바와는 달리, 휴머노이드에 대한 내용 소개

kongineer.tistory.com

 

모션(Motion)이 뭔가요

로보틱스에서 말하는 모션의 의미를 간단히 풀면 "동작을 만들어내기 위한 모터의 움직임" 이라고 볼 수 있습니다. 이건 무슨말 이냐구요? 로봇이 모터의 움직임으로 동작한다는 점을 생각하면 간단히 이해할 수 있습니다.

tesla humanoid
손인사 모션을 시연하는 테슬라 로봇 - 출처:Tesla Youtube

AI Day 행사 초반 테슬라 로봇이 등장하고 잠시 손인사 동작을 취하는 모습을 볼 수 있었습니다. 걸어 들어온 로봇이 "차렸" 자세에서 손인사를 하려면 당연히 모터를 움직여야겠죠.
중요한건, (손가락을 제외한) 28개의 모터 중 어느 모터를 어떻게 움직여야 손인사 동작을 만들 수 있는지를 알아내야 하는 점 입니다.

모터의 움직임, 그리고 여러 움직임의 연속

회전하는 모터는 크게 아래 두가지로 움직임을 구분할 수 있습니다.

  • 회전 방향
  • 회전 속도

손인사와 같이 손을 흔들어야 한다면, 모터의 회전 방향이 하나가 아니라 주기적으로 바뀌도록 여러개의 모터 움직임이 이어져야 겠죠. 그래서, 모션에는 위 동작이 "언제 실행되는지" 라는 시간적 요소 역시 필요합니다.

arm motions
동작을 하려면 모터를 돌려야 한다.

쉽게 생각해 보기 위해 단순하게 아래 세부동작이 목표라고 가정해 보겠습니다.

  1. 어깨를 올린다.
  2. 팔꿉치를 접는다.
  3. 팔을 여러번 흔든다.

우선 팔이 들리는 방향으로 어깨 모터를 돌려야 할거고, 팔꿈치를 접도록 중간 모터도 동시에 돌려야 합니다. 그 와중에, 아직 팔을 안접었는데 어깨가 먼저 올라가거나, 팔꿈치를 너무 빨리 접으면 동작이 부자연스럽겠죠. 그래서, 상대적인 속도가 맞아야 합니다.


팔을 흔드려면 적어도 하나의 모터를 왔다갔다 하면서 반복적으로 방향을 바꾸며 돌려야 겠죠. 여기서 "언제" 돌리는가 에 대한 시간적인 개념이 들어갑니다.

예) 정방향으로 3초 느리게 회전 후 역방향으로 빠르게 1초 회전 후 2초 대기하다가 정방향으로 1초 회전

이렇게 하나의 큰 동작을 완성시키기 위한 모든 모터의 움직임 조합모션 이라고 보면 간단합니다.

모션은 그냥 대충 만들면 되는거 아닌가요

위에서 손흔들기 동작을 만들기 위해 고려해야 하는 모터의 움직임을 아주 심플하게 생각해 보았는데, 실제 테슬라 로봇의 손인사 시연을 보시면 거의 모든 모터가 조금씩은 이리저리 돌아가는 것을 보실 수 있습니다.
위와 같이 단순하게 사람이 인위적으로 모터의 움직임을 한땀한땀 시도해서는 자연스럽고 안넘어지게 안정적인 모션을 완성시키는 것은 현실적으로 어렵습니다. 모터 한두개 짜리면 모를까, 손가락을 빼고 28개 모터를 전부 하나씩 시도해가면서 동작을 만드는건 난이도가 어려울 뿐 아니라 너무 노동집약적이라 의미도 없죠.


그래서, AI Day 중간에 테슬라에서도 모션을 만들어내는 과정을 잠시 소개하였습니다.

tesla motion
사람의 움직임을 모션캡쳐 장치를 통해 얻어내는 과정에 대한 설명 - 출처: Tesla Youtube

테슬라에서는 자연스러운 모션을 만들어내기 위한 일환으로, 사람으로 부터 얻은 많은 움직임을 모아 라이브러리화 했다고 설명하였습니다. 이렇게 사람의 움직임으로 부터 모션을 얻어내는 과정을 "모션 캡쳐" 라고 합니다.


이 모션캡쳐는 테슬라가 처음 시도한 것일까요? 당연히 아닙니다. 당장 저번 포스팅에서 공유드린 KISTMAHRU 역시 모션캡쳐를 통해 사람의 움직임을 그대로 따라하는 기능을 선보였습니다. (영상출처: 유튜브 Sung Yul Shin)

 

테슬라가 소개한 모션생성 방법

테슬라에서는 모션캡쳐를 소개하고 나서, 단순모방의 문제점 역시 소개하였습니다. 단순모방정확히 같은 위치에 있는 같은 물건에 대해서만 사용이 가능하다는 점이 한계이죠.
예를들어, 모션은 10cm 앞에 있는 물건을 잡는 동작을 얻었는데, 20cm 앞에 물건을 두고 단순모방을 하면 허공에 마임을 하는 것이나 다름이 없어지겠죠.

humanoid falls
벨브는 거기가 아닌ㄷ... 출처: DARPAtv Youtube
motion adaptation
'경로 최적화' 라는 모호한 이름으로만 공개한 테슬라의 모션 보정


하지만, 안타깝게도 이번 AI Day 행사에서는 테슬라에서 어떻게 단순모방의 문제점을 해결하는지 새로운 방법을 소개하지는 않았습니다. 경로 최적화 정도로 해석 가능한 [Trajectory Optimizaiton] 이라는 이름으로만 소개하였으며, 이는 매번 물건의 위치를 파악하고, 사전에 얻어 둔 모션을 새 위치에 끼워 맞춘다 정도의 설명만 한 채로 넘어갔습니다.

그게 최선은 아니었나?

모션캡쳐는 사실 애니메이션 제작에도 상당히 많이 쓰이는 것으로 알려져 있습니다. 애니메이션의 대가인 디즈니 역시 모션캡쳐를 가장 많이 사용하는 단체 중 하나인데, 재밌게도 그 동심 가득한 이미지와는 달리 디즈니는 로보틱스 분야에서도 상당히 수준높은 연구를 발표하는 것으로 유명합니다. 로봇과 만화는 사실 별로 다르지 않은 모양입니다.


정확히는 Disney Research 라는 그룹에서 로보틱스 연구를 합니다. 지금은 고려대학교 교수로 계신 최성준 교수님께서 Disney Research 재직 당시 발표하신 논문이 하나 있는데, 이것이 바로 사람의 모션을 로봇에게 옮기는 과정에 대한 연구 입니다. (영상출처: DisneyResearchHub Youtube)

사람의 움직임을 다양한 로봇으로 이식하는 과정에 대한 연구
 

Towards a Natural Motion Generator: a Pipeline to Control a Humanoid based on Motion Data – Disney Research

Abstract Towards a Natural Motion Generator: a Pipeline to Control a Humanoid based on Motion Data Imitation of the upper body motions of human demonstrators or animation characters to human-shaped robots is studied in this paper. We present a pipeline for

la.disneyresearch.com

 

이게 제가 개인적으로 본 [사람의 모션을 로봇으로 이식하는 연구] 중 가장 근본적이고 진보된 연구인데, 너무 자세히 다루면 또 이 포스팅 범주를 넘어가니 저는 생략하고, 대신 관심있으신 분들을 위해 저자가 직접 세미나를 하신 영상 링크를 남기도록 하겠습니다.

고려대학교 최성준 교수님의 세미나 영상. 대학원생을 대상으로 하는 세미나라서 내용이 많이 전문적 입니다.

위 연구를 소개드린 이유는 사람의 모션을 그대로 따라만 하는 단순모방과 달리, 얻은 모션을 머신러닝을 통해 로봇으로 이식하는 과정이 있기 때문인데, 이것이 어느정도 테슬라에서 발표한 내용과 비교가 될 수 있을 것 같아서 입니다.
추가로, 왜 디즈니에서 로봇연구를 이렇게 빡세게 하는지에 대한 설명도 해주십니다.

보행과 관련된 모션

위와 같이 물건을 드는 등의 모션 외에 로봇이 걷는 모션과 관련한 내용이 있었는데, 내용이 너무 전문적인데 반해 기존 학계에 알려진 내용와 크게 다르지 않아 이 포스팅에서는 넘어가도록 하겠습니다.

 

위 내용을 종합하면 이렇게 정리될 것 같습니다.

모션생성은 익히 알려진 방법을 따른다.


앞선 포스팅과 마찬가지로 살짝 부정적인 결론을 끝나버렸는데, 다음 포스팅 부터는 테슬라의 강점인 시각과 관련한 내용 등을 통해 어떤 점에서 테슬라가 강점을 보이는지에 대해 설명해 보도록 하겠습니다.


그럼 20000

Flag Counter