사람은 아무렇지도 않게 물건을 던지는 행위를 한다. 하지만 실제로 물건을 던지는 동작은 상당한 고급 동작에 속한다. 구글이 발표한 토싱봇(TossingBot)은 이런 물건을 던지는 동작을 머신러닝을 통해 습득할 수 있는 로봇이다.
물건을 던지는 행위는 상당히 복잡한 동작이다. 던지는 객체 상태나 개체를 놓을 타이밍, 던진 뒤 물리학적인 작용 등이 얽혀있기 때문. 같은 물체를 던지는 건 로봇이 정확하게 처리하도록 할 수 있지만 상자에 무작위로 들어간 탁구공이나 과일, 공구 등을 주워서 던지는 로봇을 처음부터 프로그래밍하는 건 상당히 어렵다.
구글은 프린스턴대학, 콜롬비아대학, MIT 연구팀과 협력해 머신러닝을 통해 물건을 던지는 걸 배울 수 있는 로봇인 토싱봇을 개발했다. 토싱봇은 시각적으로 던지려는 객체를 인식하고 실제로 물건을 던지는 동작을 반복해 물체를 던졌을 때 어떤 결과가 일어날지, 어떻게 던지면 원하는 결과를 얻을 수 있을지 등을 학습할 수 있다.
로봇팔을 이용해 탁구공을 들고 상자에 넣을 때에도 탁구공 궤도에 맞게 위치를 설정한다. 전혀 다른 바나나 모형 역시 마찬가지로 던져서 상자가 위치를 미세하게 수정해 포착할 수 있도록 해준다. 사람이 쓰레기통에 쓰레기를 던지거나 빨래 바구니에 벗은 옷을 던지는 등 일상 생활에서 부담 없이 물건을 던지는 것에서 알 수 있듯 물건을 던지는 행위 자체는 다양한 요소의 조합이라고 할 수 있다. 물체를 정확하게 포착하고 적절한 속도로 팔을 흔들어 적당한 시간에 손가락을 떼어내야 한다. 던지는 물체에 따라선 던질 때 동작이나 던진 뒤 궤도도 변한다. 인간은 어려서부터 다양한 물건을 던지기 때문에 자연스럽게 이런 동작을 익힌다.
물건을 던지는 행위는 너무 많은 에너지를 이용하지 않고 몸 일부만 이용하면 가능하며 물리적으로 접근할 수 없는 장소에 물체를 이동시킬 수 있다. 또 일일이 물건을 갖고 이동하는 것보다 던지는 게 빠르게 물건을 옮기는 방법인 만큼 효율적이기도 하다. 로봇팔이 물건을 제대로 던질 수 있게 된다면 배송 거점이나 공장, 재해현장 등에서 활용할 수 있다.
토싱봇은 다양한 물체가 들어간 상자에서 물체를 집어서 실제로 던지는 행위를 반복하면서 물건을 던지는 구조를 학습한다. 몇 번씩 던지는 동작을 반복해 물체 형상이나 흔드는 방법, 물체를 언제 놓으면 좋을지 등 데이터를 축적한다.
인간이 물건을 던질 때와 마찬가지로 토싱봇은 물건을 집어 던지기 전에 시각적 요소로 물체의 모양을 결정한다. 처음에는 물건을 잡는데 실패를 반복하지만 결국에는 정확하게 물건을 잡는다. 물론 던지는 동작에서도 학습을 반복한다. 토싱봇은 14시간 동안 1만 번 시도를 반복할 수 있고 1만 시간 학습 뒤에는 87% 정확도로 물체를 잡고 85% 정확도로 적절한 위치에 물체를 던질 수 있다.
토싱봇은 미리 설정된 간단한 물리학적 정보와 기계학습을 통해 학습을 한다. 물리학으로 세계가 어떻게 움직이는지 모델을 미리 제공해 기계학습에 의한 학습도 원활하게 돕는다. 실제로 학습을 거듭한 토싱봇은 인간보다 정확하게 물체를 던질 수 있었다고 한다. 관련 내용은 이곳에서 확인할 수 있다.