로봇 분야에서의 깊이 카메라 활용 예 로봇 분야에서의 깊이 카메라 활용 예 김재호 기자 2011-11-17 00:00:00

로봇과 키넥트의 만남, 우연이 아니야!

 

로봇 분야에서의 깊이 카메라 활용 예

 

마이크로소프트의 콘솔 게임기기 X-box로 인해 대중에게 친숙해진 키넥트는 뛰어난 가격경쟁력으로 인해 많은 분야의 연구자들에게 관심을 받고 있다. 깊이 정보와 3차원 영상 획득이 필수인 로봇 분야에서도 기존의 센서를 대체해 키넥트가 적용되는 사례들이 늘고 있다. 그렇다면 키넥트는 로봇에 어떻게 적용될까? 본지에서 키넥트와 로봇이 융합된 사례를 살펴봤다.

 

1. 들어가는 글
마이크로소프트에서 개발한 키넥트(Kinect)는 X-box 게임 콘솔을 위한 동작 기반 사용자 인터페이스 장치이다. 닌텐도 Wii에서 Wii Remote라는 작은 장치를 손에 들고 동작 기반 게임을 했던 것과는 달리 마이크로소프트는 키넥트를 통해 맨손으로, 더 나아가 온몸으로 게임을 조정하는 새로운 인터페이스를 개발했다. 이 장치는 단기간에 최고의 판매 대수를 올린 가전기기로 기네스 세계기록을 세우기도 했다.


키넥트는 이스라엘 프라임센스(Frime Sense)의 적외선 깊이 카메라 기술에 기반하고 있다. 키넥트는 적외선 패턴을 물체에 투영하고 적외선 센서로 패턴을 측정해 깊이 정보를 획득한다. 일반 카메라를 사용하는 것에 비해 주변광(Ambient Light)의 간섭이 없고, 밤에도 사용이 가능하다.


일반 RCB 카메라도 함께 장착하고 있기 때문에 특정 픽셀에서의 깊이 정보를 계산하는데, 최종적으로 RGBD 4채널 데이터를 제공하게 된다. 이를 이용해 별도의 동작 인식 기술로 사용자의 자세를 인식하게 된다. 동작 인식 기반 게임 및 소프트웨어는 마이크로소프트의 자회사인 레어(Rare)의 기술에 기반하고 있다. 키넥트에 대한 자세한 기술적 원리는 본문에서 다루지 않는다.


흥미로운 점은 키넥트의 가격 경쟁력이 우수해 원래의 목적 외에, 연구자들에게 폭발적인 인기를 끌고 있다는 것이다. 연구를 위해 기존에 사용되던 레이저 센서는 정밀도가 높은 대신 매우 고가로, 주로 3차원 물체나 환경의 정밀 측정 등의 제한적 범위에서만 사용됐다. 최근까지는 키넥트를 구동하는 소프트웨어가 마이크로소프트에서 공개되지 않아서 연구자들은 주로 Open Kinect, Open NI, PLC와 같은 오픈소스를 사용하고 있다.


깊이 정보 및 3차원 영상 획득이 중요한 로봇 분야에서도 키넥트가 기존의 센서들을 대체하며 빠르게 채택되고 있다. 본문에서는 최근 IEEE의 로봇 전문 블로그에 제시된 로봇과 키넥트를 결합한 10개의 흥미로운 프로젝트를 소개하도록 한다.

 

2, 로봇과 키넥트의 결합

가. Kinect Quadrotor
버클리 EECS Hybrid System Lap에서 연구하고 있는 이 사륜 헬리콥터는 상단에 키넥트를 부착해 운항 중에 실시간으로 3차원 지도를 만들면서, 자율 비행과 충돌 회피를 할 수 있도록 제작됐다.


시스템적으로는, 키넥트의 센서 데이터를 ROS PCL을 통해 처리하고 RANSAC 알고리즘을 통해 환경을 재구성하도록 했으며, 이를 기반으로 높이를 제어하게 된다. 이 밖에 VICON 모션 캡쳐 시스템을 이용해 좌우이동 및 회전에 필요한 정보를 얻게 된다. 계산과정은 본체에서 모두 처리된다. 본체는 인텔 아톰 프로세서를 탑재하고 리눅스로 구동된다. 이 프로젝트는 Willow GARAGE에서 주최한 ROS 3D Contest에 발표됐고, 소프트웨어 프레임워크는 오픈소스로 제공되고 있다.

 

나. Hands-Free Roomba
룸바는 상업적으로 가장 성공한 로봇청소기이다. 로봇청소기는 자율적으로 공간을 청소하게 되는데, 사용자와의 상호작용이 단절돼 있다. 하지만 이 프로젝트에서는 사용자의 동작으로 룸바의 동작을 제어하는 시도를 보여주고 있다.

 

 사용자가 손잡이가 달린 일반 진동청소기를 다루듯이 제스쳐를 취하면, 이에 따라 룸바가 이동하게 된다. 이런 상호작용을 통해 룸바를 사용함에 있어 청소 공간을 지정할 수 있게 된다. 


시스템적으로는 환경 내의 컴퓨터에 장착된 키넥트가 사용자의 동작을 인식한다. 이렇게 분석된 정보는 룸바의 이동을 제어하는 신호로 변환돼 블루투스 무선통신을 통해 룸바에게 전달된다.

 

 

다. iROBOT AVA
iROBOT의 아바(AVA)프로젝트는 두 개의 깊이 카메라(프라임센스)를 동시에 사용하고 있는 예를 보여준다. 아바는 텔리프레즌스 로봇의 개념인데, 각종 센서(깊이 카메라, 레이저, 초음파, 관성, 범프)를 이용해 자율 주행이 가능하다. 상단에는 팬-틸트 모터 위에 태블릿 PC(Apple I-Pad)가 장착되어 있다.

 

태블릿 PC에는 카메라, 터치센서가 작동하고, 다양한 응용이 구동된다. 바로 밑에는 첫 번째 키넥트가 사람과 동작을 인식하는데 사용된다. 중간부에는 자동/수동으로 높이 조절이 가능한 바(Bar)가 장착돼 있다. 하단부에는 구동장치 및 센서 데이터를 처리하는 컴퓨터가 장착돼 있다. 하단부의 키넥트는 충돌 회피 등을 위해서 사용된다. 아바는 텔리프리젠스와 관련되어 회의, 의료, 러닝, 제조 현장, 보안, 키오스크, 접견 등 폭 넓은 응용을 목표로 하고 있다.

 

라. Billibot
키넥트는 기존의 저가형 로봇에서 상상할 수 없는 수준의 비전기술을 가능하게 하고 있다. 빌리봇(Billibot)은 iROBOT Create 플랫폼을 기반으로 하고 있으며, 약 $650가량의 가격으로 기본적인 모바일 로봇의 기능을 제공한다. 또한 팔(Billi Arm)의 장착도 가능하다. 이 로봇 플랫폼에서의 키넥트 활용은 다른 예에서와 유사하다.

 

 

마.Gesture Surgery
미국 NSF ERC인 CISST(Computer-Integrated Surgical Systems and Technology)에서 수행 중인 이 프로젝트에서는 키넥트로 사용자의 동작을 입력받아 수술로봇 다빈치를 제어하는 예를 보여주고 있다. 당장 키넥트를 실제 수술에 적용할 수 있는 수준은 아니지만, 미래 연구로서 의미가 있다고 본다. 데모에서는 사용자가 두 팔의 제스쳐를 이용해 다빈치 로봇의 자세를 제어하는데, 수술바늘로 상처를 봉합하고, 집게로 작은 물체를 잡는 등의 미세한 동작 제어가 가능함을 보여주고 있다.

 

바. PR2 Teleoperation
구글의 로봇 분야 투자회사인 Willow Garage의 PR2 로봇 플랫폼은 이미 자체적인 깊이 카메라를 장착하고 있지만, 이 프로젝트에서는 별도로 키넥트를 장착해 원격조작(Teleoperation)의 예를 보여주고 있다.


특히, 이 프로젝트에는 Willow Garage의 ROS(운영체제)에 Open Kinect를 통합한 결과의 예이다. 이 프로젝트의 데모에서는 두 개의 키넥트를 사용해 사용자의 동작을 인식하고, 이를 이용해 PR2가 원격지에서 물건을 잡을 수 있는 것을 보여주고 있다.

 

사. Nao Banana Cut
알데바란(Aldebaran)의 나오(Nao) 로봇 플랫폼은 휴머노이드 형태로 연구 및 교육용으로 인기가 높다. 이 프로젝트에서는 키넥트와 닌텐도 위모트(Wiimote)를 이용해 원격제어 방식으로 나오 로봇이 바나나를 자르고 껍질을 벗기는 예를 보여준다.


다빈치 수술 로봇의 예에 비하면 정밀도는 매우 낮지만 흥미로운 상호 작용의 가능성을 보여주고 있다. 데모에서 전체적인 동작은 키넥트의 제스쳐 인식으로, 칼을 집었다 놓는 등의 손가락 세부 동작은 위리모트의 단추로 처리되고 있다.

 

 

아. Car Navigation
DARPA가 주최한 Grand Challenge에 참가한 무인자동차들은 최첨단의 센서들로 중무장했지만, 이 프로젝트에서와 같은 작은 환경에서는 키넥트만으로도 무인 주행이 가능한 것 같다. 독일의 뮌헨 대학에서 수행 중인 이 프로젝트에서 키넥트는 환경과 장애물을 인식하는 센서로 사용됐고, 환경 정보에 대해 Reactive Navigation 기법으로 주행 경로를 생성했다.

 

자. Delta Robot
델타 로봇은 세 개의 로봇 팔이 한 개의 작용점(End-Effector)에 연결돼 있는, 독특한 구조적 특징을 가진다. 이 프로젝트에서 사용자는 한 손의 동작으로 로봇의 위치, 회전, 잡는 동작을 제어하고 있고, 여기에 키넥트 센서가 사용되고 있다.

 

차. 3D Object Scanning
많은 로봇 프로젝트에서 키넥트를 이용해 3차원 환경 정보를 획득하고 있는데, 이 프로젝트에서는 키넥트를 ABB4400 로봇팔에 장착해 높은 정밀도의 3차원 스캐너로 활용하는 예를 보여준다. 로봇의 동작은 Robot Studio와 Robot Master를 통해 생성됐고, RAPID 코드를 로봇에 전송해 동작을 제어했다. 각 위치에서 키넥트로 획득한 포인트 클라우드 데이터는 실시간에 정합된다. 정합된 데이터는 고해상도를 갖게 된다.
 
3. 맺음말
이상에서 로봇 분야에서 깊이 카메라를 적용한 다양한 예들을 살펴봤다. 본문에서 소개된 것 이외에도 국내외의 적용 사례는 무척 많을 것으로 생각되며, 향후 더 증가할 것으로 예상된다.


특히 마이크로소프트가 공식적으로 키넥트를 구동하는 소프트웨어 개발도구까지 지원하게 됐으며 하드웨어 원천기술을 보유한 프라임센스가 아수스(Asus)와 공동으로 게임 장치가 아닌 컴퓨터용 전용 센서를 출시할 예정이어서, 다양한 분야에서의 응용 개발은 더욱 가속화될 전망이다.