‘능숙한 로봇 손을 위해’ NVIDIA의 DeXtreme 프로젝트 공개

강화 학습 훈련 로보틱스 시뮬레이터인 Issac Gym을 사용해 로봇의 손이 큐브를 조작할 수 있도록 훈련합니다
by NVIDIA Korea
‘능숙한 로봇 손을 위해’ NVIDIA의 DeXtreme 프로젝트 공개

프로젝트 DeXtreme을 공개합니다! DeXtreme은 시뮬레이션 교육을 통해 로봇에 복잡한 조작 기술을 훈련시킵니다.

인간의 손은 수백만 년에 걸친 진화의 끝에 얻어낸 변화 중 가장 놀라운 결과입니다. 모든 종류의 물체를 도구로 사용할 수 있는 능력은 현 인류 세계의 형성을 이끈 중요한 차별화 요소이죠.

로봇이 인간의 일상에서 작동할 수 있으려면 우리의 도구, 주변 환경과 능숙하게 상호작용할 수 있어야 하는데요. 그렇지 않으면 로봇들은 계속해서 공장, 창고와 같은 일부 전문적인 영역에서만 쓰일 수밖에 없습니다.

다리가 있는 로봇에게는 걷는 방법을 가르치는 것이 가능합니다. 반면, 손이 있는 로봇은 일반적으로 훨씬 통제가 까다롭다는 점은 널리 알려진 사실이죠. 특히나 손가락을 가진 손에는 많은 관절이 있으며, 주어진 임무의 수행을 위해 특정하게 조정된 방식으로 움직여야 합니다. 전통적인 로봇 제어 방법은 사전에 정확하게 프로그래밍 된 통제와 동작의 형식을 갖는데, 이는 인간에게는 당연하게 여겨지는 일반화된 미세 운동 제어가 불가능합니다.

로봇 관절의 제어를 위해 신경망을 훈련시키는 심층 강화 학습(RL) 기술의 적용은 이러한 문제에 대한 접근법 중 하나가 될 수 있습니다. 로봇은 심층 RL을 통해 시행착오 속에서 학습이 이루어지며, 할당된 작업을 성공적으로 완료할 경우 이에 대한 보상을 받습니다. 하지만 불행히도 이 기술은 수백만 또는 심지어 수십억 개의 샘플을 학습해야만 가능하기에 실제 로봇에 직접 적용하는 것은 거의 불가능합니다.

 비디오 1. DeXtreme 영상: 능숙한 조작을 시뮬레이션에서 현실로 전환하기

시뮬레이션 적용하기

NVIDIA Isaac 로보틱스 시뮬레이터를 사용하면 물리 법칙을 준수하면서도 실제보다 10,000배 이상 빠르게 달릴 수 있도록 구현된 우주 안에서 로봇을 훈련시킬 수 있습니다.

NVIDIA의 DeXtreme 프로젝트 연구원들은 RL 훈련 로보틱스 시뮬레이터인 Isaac Gym을 사용하여 로봇의 손이 목표한 위치, 방향, 자세에 일치하도록 큐브를 조작할 수 있는 방법을 가르쳤습니다. 신경망 두뇌는 실제 세계에서 로봇을 제어하도록 이식되기 이전에 시뮬레이션으로 완전히 이를 학습했죠.

비슷한 연구가 과거 오픈AI(OpenAI)의 연구원들에 의해 한 차례 수행된 바 있는데요. 하지만 그들의 연구는 훨씬 정교하고 고가의 로봇 손, 정밀한 동작 제어 센서를 갖춘 큐브 등을 필요로 했습니다. 그 중에서 무엇보다 중요한 것은 수백 대의 컴퓨터로 구성된 슈퍼컴퓨팅 클러스터를 사용해야 한다는 것이었습니다.

누구나 정교함을 누릴 수 있도록

DeXtreme 프로젝트는 전 세계의 연구자들이 연구 결과를 쉽게 복제할 수 있도록 가능한 간단하고 저렴한 하드웨어를 선택하여 사용했습니다. 로봇에는 알레그로 핸드(Allegro Hand)가 채택됐는데, 그 비용은 다른 대안들의 1/10에 불과합니다. 또한 손가락은 5개가 아닌 4개이며 손목은 움직일 수 없습니다. 기성의 RGB 카메라를 사용하면 영상을 통해 큐브를 추적할 수 있습니다. 이를 통해 별도의 하드웨어 없이 필요에 따라 쉽게 위치를 변경할 수 있죠. 큐브는 각 면에 부착된 스티커로 3D 프린팅이 됩니다.

그림 1. 간단하고 저렴한 기성 시스템은 복제의 우선순위였다. DeXtreme은 3개의 RGB 카메라, 3D 프린팅 된 큐브, 비용효율성 높은 로보틱스 핸드를 가지고 있어 모두가 쉽게 시도해볼 수 있다.

DeXtreme은 강화 학습을 위한 엔드 투 엔드 GPU 가속 시뮬레이션 환경을 제공하는 Isaac Gym을 통해 훈련됩니다. NVIDIA PhysX는 GPU에서 세계를 시뮬레이션 하며, 딥 러닝 제어 방침 네트워크를 훈련하는 동안 GPU 메모리에 그 결과가 남는데요. 따라서 단일한 Omniverse OVX 서버에서 훈련이 수행될 수 있습니다. 이러한 시스템을 통해 훌륭한 방침을 훈련하는 데는 약 32시간이 소요되며, 이를 실제 세계로 치환하면 로봇 한 대의 42년치 경험과 동일한 수치입니다.

시뮬레이션에 별도의 CPU 클러스터가 필요하지 않다는 것은 곧 훈련에 사용되는 컴퓨팅 비용이 현재의 클라우드 대여료를 기준으로 10배 내지 200배 가까이 절감됨을 의미합니다.

인식 및 합성 데이터

로봇이 들고 있는 큐브의 현재 위치와 방향을 알기 위해서는 인식 시스템이 필요합니다. DeXtreme은 3개의 기성 카메라와 큐브의 자세를 해석할 수 있는 또 다른 신경망을 사용하죠. 이는 낮은 비용을 유지하면서도 미래에 다른 객체를 조작할 수 있는 가능성을 열어 두고자 하는 것입니다.

이 네트워크는 Omniverse Replicator를 사용하여 생성된 약 500만 프레임의 합성 데이터를 사용하여 훈련되며, 그 중에 실제 이미지는 하나도 존재하지 않습니다. 네트워크는 실제 세계에서 어려운 상황 속에서도 작업을 수행할 수 있도록 하는 방법을 학습합니다. 보다 제대로 된 훈련을 위해 ‘도메인 랜덤화(domain randomization)’라는 기술을 사용하는데, 이는 조명과 카메라의 위치를 변경하고, 데이터 확대를 통해 무작위로 크롭(crop)과 회전, 그리고 배경을 적용합니다.

비디오 2. DeXtreme NVIDIA Omniverse Replicator 합성 데이터는 배경, 조명, 카메라 앵글을 랜덤화하여 강력한 인식 네트워크를 훈련합니다.

DeXtreme 자세 추정 시스템은 그 신뢰도가 매우 높은 편입니다. 문제의 물체가 부분적으로 시야에서 가려지거나 이미지에 상당한 모션 블러(motion blur)가 나타나는 경우에도 정확한 자세를 감지할 수 있죠.

비디오 3. DeXtreme 자세 측정기 컴퓨터 비전 모델이 사람의 손에 의해 일부가 가려진 큐브를 출력하는 모습

여전히 많은 과제에 당면해 있는 실제 로봇

시뮬레이션을 사용하는 주요 이유 중 하나는 실제 세계에서 직접 로봇을 훈련할 때 다양한 문제들을 마주하게 되기 때문이죠. 예를 들어, 로봇 하드웨어는 과도하게 사용할 경우 쉽게 파손되거나 실험의 반복 주기와 소요 시간이 느려집니다.

비디오 4. 로봇은 시뮬레이션 외에도 역학과 물리학의 모든 실태를 다루어야 합니다.

실험을 하는 동안 느슨해진 나사를 조이고 리본 케이블을 교체하거나 10-15회의 테스트 후 휴식 시간을 가져 열을 식히는 등, 장시간의 사용 후에 로봇의 손을 수리하는 모습을 종종 볼 수 있습니다. 시뮬레이션을 사용하면 마모되지 않는 로봇을 훈련하여 이와 같은 문제들을 피할 수 있으며, 어려운 작업을 학습하는데 필요한 다양한 데이터를 얻을 수 있습니다. 동시에 시뮬레이션이 실시간보다 훨씬 빠르게 실행되어 반복 주기에서 큰 개선을 얻을 수 있습니다.

시뮬레이션에서 훈련할 때 가장 중요한 것은 시뮬레이션과 실제 세계 사이의 격차를 해소하는 것인데요. 이를 위해 DeXtreme은 시뮬레이터에 설정된 물체 속성의 도메인 랜덤화를 사용하여 10만 개 이상의 시뮬레이션 환경에 걸친 객체의 질량과 마찰 수준, 그 외의 기타 속성들을 한 번에 변경합니다.

도메인 랜덤화의 흥미로운 결과 중 하나는, 모든 종류의 특이한 시나리오 조합으로 AI를 훈련할 경우 실제 세계에서 보다 강력하게 작업을 수행할 수 있다는 것입니다. 예를 들어, 대부분의 실험은 회로 보드의 느슨한 연결로 인해 엄지 손가락에 오작동이 발생한 로봇으로 진행됐죠. 그럼에도 불구하고 방침들이 시뮬레이션에서 현실 세계로 안정적으로 이전되는 등 긍정적인 결과를 확인할 수 있었습니다.

비디오 5. 32시간에 걸친 강화학습 이후, DeXtreme 로봇은 특정 대상에 맞게 큐브를 회전시키는 작업을 계속해서 성공시켰습니다.

시뮬레이션의 현실화

로봇 조작의 미래 혁신은 전통적인 산업 용도를 넘어 로봇 응용 분야에서 새로운 물결을 일으킬 것입니다.

DeXtreme 프로젝트가 전달하고자 하는 핵심 메시지는 로봇과 지속적으로 접촉하는 물체가 있는 환경을 처리하는 등 복잡한 로봇 시스템을 훈련할 때 시뮬레이션이 매우 효과적인 도구가 될 수 있다는 것입니다. DeXtreme 프로젝트는 비교적 저렴한 하드웨어를 사용하여 이를 시연함으로써, 다른 사람들이 해당 시뮬레이션 도구를 사용하고 이 작업을 기반으로 삼을 수 있도록 지원하고자 합니다.

DeXtreme 프로젝트에 관한 자세한 내용은 프로젝트 웹페이지와 관련 문서에서 확인할 수 있습니다.

최신 버전의 Omniverse Isaac Sim을 다운로드하여 시뮬레이터가 로보틱스 프로젝트에 미치는 영향을 비롯한 자세한 내용을 알아보세요. 강화학습 방침을 훈련하는 방법은 해당 주제를 다루는 블로그 글에서 확인할 수 있습니다.