로봇신문사
> 로봇컬처 > 재미있는 로봇이야기
[월간 로봇]오픈 소스로 발전하는모바일 로봇과 내비게이션
폰트키우기 폰트줄이기 프린트하기 메일보내기 신고하기
승인 2016.04.11  11:33:04
트위터 페이스북 구글+ 밴드

▲ 물류 창고 관리 로봇 키바(위), 자율 주행 자동차(아래) 출처:amazone,Google
모바일 로봇과 내비게이션

로봇공학에서 가장 오래된 역사를 자랑하고 높은 관심을 받는 것이 있다면 로봇 팔과 같은 다관절 로봇 제어에 사용되는 ‘매니퓰레이션’과 모바일 로봇(이동형 로봇)의 ‘내비게이션’을 꼽을 수 있다. 특히, 내비게이션은 로봇에게 이동성을 준다는 의미에서 로봇의 활동 범위를 넓혀준다. 최근 들어서는 내비게이션을 활용한 이동성을 바탕으로 아마존과 같은 넓은 창고에서 작업이 가능한 키바(Kiva)와 같은 로봇이 물류 창고 관리에 사용되기도 한다. 구글과 테슬라에서도 자율 주행 자동차를 선보이며 내비게이션 기술을 적극적으로 개발하고 있다.

내비게이션(Navigation)은 우리말로 ‘길 도우미’라 부를 수 있는데 이 단어를 들어보지 못한 현대인은 없을 듯 하다. 우리 생활에 친숙하게 사용하고 있는 자동차에 설치된 내비게이션(정확한 표현은 내비게이터)은 줄여서 ‘내비’라고도 칭한다. 내비게이션에 표시된 지도에 목적지를 설정하면 현재 위치에서 목적지까지의 정확한 거리, 소요시간, 최적 경로 등을 확인할 수 있다. 도중에 거쳐야 하는 장소나 이용하는 도로 등을 세부적으로 설정할 수도 있다.

우리가 현재 편리하게 사용하고 있는 내비게이션은 비교적 역사가 짧은데 1981년 일본의 혼다사에서 ‘일렉트로 자이로케이터(Electro Gyrocator)’라는 3축 자이로스코프와 필름 지도에 기반을 둔 아날로그 방식이 처음 제안되었다. 그 후 미국 자동차용품 업체 이택(Etak)의 전자 나침판과 바퀴에 센서를 장착하여 동작하는 전자식 내비게이션 ‘이택 내비게이터(Etak Navigator)’ 등이 나오기 시작했다. 그러나 전자 나침판과 바퀴에 센서를 장착하는 것은 안 그래도 비싼 자동차 가격에 비용 부담을 높였고 신뢰도에도 문제가 있었다. 미국은 1970년대부터 군사 목적으로 인공위성을 이용한 위치 시스템을 개발하고 있었다. 2000년대에 그중 24개의 GPS(Global Positioning System) 위성을 개방하게 되었고 이를 이용한 지금의 내비게이션 방식이 보급되기 시작하였다.

지도 작성에 필요한 슬램(SLAM) 기술

SLAM(Simultaneous Localization and Mapping)은 ‘슬램’이라고 읽고 우리말로 ‘동시적 위치 추정 및 지도 작성’ 정도로 번역할 수 있겠다. 즉, 로봇이 미지의 환경을 탐색하면서 로봇에 장착된 센서만으로 로봇 스스로 자신의 위치를 추정하는 동시에 미지 환경의 지도를 작성하는 것을 의미한다. 이는 내비게이션의 자율 주행을 위한 핵심 기술이다. 위치 추정에 사용되는 대표적인 센서에는 엔코더(Encoder)와 관성 센서(IMU, Inertial Measurement Unit)가 있다. 엔코더는 구동부인 바퀴의 회전량을 측정하여 추측 항법(dead reckoning)을 통해 로봇의 위치를 근삿값으로 계산한다. 이 부분에서 오차가 꽤 발생하는데, 관성 센서에서 측정한 관성 정보가 위치 정보의 오차를 보상해준다. 목적에 따라서는 엔코더 없이 관성 센서만으로 위치를 추정하기도 한다. 이러한 위치 추정은 지도를 작성할 때 사용되는 거리 센서나 카메라를 통해 얻은 주변 환경의 정보를 기반으로 다시 한 번 위치를 바로잡는다. 이 위치 추정 방법론으로는 칼만 필터(Kalman Filter), 마르코프 위치 추정(Markov Localization), 파티클 필터(Particle Filter)를 이용한 몬테카를로 위치추정(Monte Carlo Localization) 등이 있다.

지도 작성에는 거리 센서가 많이 사용된다.
초음파 센서, 광선 탐지기(LiDAR), 전파 탐지기(Radar), 레이저 레인지 파인더(LRF, Laser Range Finder), 적외선 스캐너 등이 많이 사용되고 있다. 거리 센서 이외에 카메라를 이용하기도 하는데 스테레오 카메라를 이용한 거리 측정으로 거리 센서처럼 이용하거나 일반 카메라를 이용한 비주얼 SLAM도 있다. 그리고 환경에 표시물(Marker)을 붙여서 인식하는 방식도 제안되고 있다. 예를 들어, 천장에 표시물을 장착하여 카메라로 표시물을 구별하는 방법이다. 최근에는 카메라를 사용하여 거리 센서의 결과물에 준하는 거리 값을 추출하는 Depth camera(Kinect, Xtion 등)가 보급되어서 이들을 이용하는 방법도 많이 연구되고 있다.

모바일 로봇의 내비게이션

이야기를 로봇 쪽으로 돌려보자. 모바일 로봇의 기본이자 꽃은 바로 내비게이션이라고 할 수 있다. 로봇 공학에서 내비게이션은 빼놓을 수 없을 만큼 중요하다. 내비게이션은 로봇이 정해진 목적지까지 이동하게 한다. 말이야 쉽지만, 로봇 스스로가 어디에 있는지, 주어진 환경의 지도를 가지고 있어야 한다는 것, 다양한 경로 중에 최적화된 경로는 어떤 것인지, 그리고 도중에 로봇에게 장애물이 되는 벽, 가구, 물체 등을 피하여 이동하는 등 어느 것 하나 쉬운 미션이 없다. 로봇에 내비게이션을 구현하려면 어떠한 것들이 필요할까? 내비게이션 알고리즘에 따라 다르겠지만, 다음 기능 정도는 필수로 갖추고 있어야 할 것이다.

지도
로봇 위치 계측/추정 기능
벽, 물체 등 장애물 계측 기능
최적 경로를 계산하고 주행하는 기능

내비게이션은 주어진 환경에서 로봇이 현재 위치부터 지정한 목적지까지 이동하는 것이다. 이를 위해서는 주어진 환경의 가구, 물체, 벽 등의 기하학적인 정보(Geometry, geo-: 토지, metry: 측정)가 담긴 지도가 필요하다. 앞서 설명한 SLAM 기술을 이용하여 로봇이 자신의 위치 정보와 센서로부터 얻은 거리 정보에서 지도를 얻을 수 있었다. 내비게이션은 이 지도와 로봇의 엔코더, 관성 센서, 거리 센서 등을 이용하여 현재 위치부터 지도상에 지정된 목적지까지 이동하게 된다. 이를 수행하는 순서는 다음과 같다.

센싱(Sensing)지도상에서 로봇은 엔코더와 관성 센서(IMU 센서) 등으로 자신의 오도메트리(Odometry) 정보를 갱신하면서 거리 센서가 장착된 위치부터 장애물(벽, 물체, 가구 등)과의 거리를 계측한다.

위치 추정(Localization / Pose Estimation)엔코더로부터 바퀴 회전량, 관성 센서로부터 관성 정보, 거리 센서로부터 장애물과의 거리 정보 등을 기반으로 기존에 작성해 둔 지도상에 로봇이 현재 어디에 있는지 위치를 추정(Localization / Pose Estimation)하게 된다.

모션 계획(Motion Planning)이동 경로 계획(Path Planning)이라고도 불린다. 현재 위치에서부터 지도상에 지정받은 목표 지점까지 이동 궤적(Trajectory)을 생성한다. 지도 전체상의 전역 이동 경로 계획(Global Path Planning)과 로봇 중심으로 일부 지역을 대상으로 한 국부 이동 경로 계획(Local Path Planning)으로 나누어 로봇의 이동 경로를 만든다.

이동/장애물 회피(Move / Collision Avoidance)모션 계획에서 작성된 이동 궤적을 따라서 로봇에 속도 명령을 내리면 로봇은 그 이동 궤적을 따라 목적지까지 이동한다.

▲ SLAM6D 관련 GUI 툴(위), Gmapping 결과물(아래) 출처:www.openslam.org
OpenSLAM

SLAM 분야는 앞서 설명하였듯이 로봇 공학에서 매우 많이 연구되고 있는 분야이다. 이러한 정보는 최신 학술지나 학회 발표 자료를 통해 찾아볼 수 있다. 이들 연구는 오픈 소스로 공개된 부분이 상당히 많다. 이러한 정보를 OpenSLAM이라는 그룹이 모두 정리하였고, OpenSLAM.org라는 사이트에서 확인할 수 있다. 우리가 꼭 방문해봐야 할 사이트라고 할 수 있다. 이 사이트에는 로봇 운영 체제 ROS에서 대표적으로 많이 사용되는 Gmapping 이외에도 RGBDSlam, DP SLAM 등 30가지 이상의 SLAM 관련 소스 코드가 공개되어 있다.


SLAM
및 내비게이션 지원 오픈 소스 모바일 로봇

시중에는 모바일 로봇이라 하여 교육용 키트로 나온 제품이나 연구용 플랫폼 제품들이 다수 나와 있다. 그런데 일부는 원격 제어만 가능하고 SLAM 및 내비게이션에 꼭 필요로 하는 센서 등이 미탑재되어 모바일 로봇이라 부를 수 없는 로봇들이 많다. 이러한 센서들이나 기능을 모두 만족하는 플랫폼들은 일반 사용자가 구하기에는 너무 비싸거나 없어서 스스로 제작해야 하는 경우가 많았다. 하지만 OpenSLAM 및 로봇 운영체제 ROS 등과 같은 오픈 소스의 보급으로 모바일 로봇에서도 손쉽게 구하거나 제작할 수 있는 단계에 진입했다. 더불어 이러한 오픈 소스의 영향으로 기존 SLAM 및 내비게이션 분야도 많은 이들이 자유롭게 참여하는 것이 가능해져 급속도로 발전하고 있다.

터틀봇(TurtleBot)

ROS에서 지원하는 로봇은 관련 위키(http://wiki.ros.org/Robots)에서 찾아볼 수 있다. 그 수가 현재 140여 가지에 달한다. 이 중 모바일 로봇도 상당수 있는데 로봇 운영체제 학습에도 도움이 되고 SLAM 및 내비게이션도 가능한 로봇을 꼽자면 대표적으로 터틀봇(TurtleBot)이 있다. 이는 ROS의 표준 레퍼런스 플랫폼 로봇이다. 터틀봇은 ROS를 처음 다루는 사람들을 위해 나온 로봇이자 오픈 로봇공학 플랫폼으로 개발자, 학생 등이 많이 사용하고 있다.

▲ 터틀봇. 출처: www.turtlebot.com

현재까지 터틀봇1, 2가 나와 있다. 터틀봇1에는 iRobot사의 룸바 기반의 연구용 로봇 크리에이트(Create), 터틀봇2에는 유진로봇사의 거북이(Kobuki)를 하드웨어로 이용하고 있다. 그리고 3차원 데이터 수집을 위하여 마이크로소프트사의 Kinect나 Asus의 Xition을 사용하고 있다. 특히, 터틀봇2의 베이스인 거북이(Kobuki)는 국내 기업인 유진로봇이 개발해 더욱 흥미롭다. ROS 진영에서 활동 중인 국내 로봇 기업은 거의 없었는데 얼마 전부터 ROS 윈도우 버전을 담당하는 등 활동을 넓혀왔다. 지금은 ROS 생태계에서 빠질 수 없는 커미터(Committer)로서 활동하고 있다. 이외에도 국내 로보티즈사도 다이나믹셀 모터와 관련된 ROS 버전을 내놓은 상태이다. 아무쪼록 국내 로봇 기업들이 ROS 진영에서 활발하게 활동하는 모습을 기대해본다.
터틀봇으로 방안을 스캔하여 지도를 생성하고 내비게이션 기능을 이용해 이동 중인 모습

쿠카 유봇(KUKA youBot)

유봇(youBot)은 4개의 전 방향 바퀴를 이용하여 자유롭게 이동 가능하며 로봇 본체 위에는 6축 로봇 암을 탑재하여 모바일 매니퓰레이터로도 사용이 가능하다. 유봇은 연구기관과 대학교를 대상으로 한 플랫폼 로봇이다. 다양한 오픈 소스 소프트웨어(C++ API, Orocos, LabView)를 지원하여 다양한 애플리케이션 개발을 돕고 있다. 터틀봇과 마찬가지로 로봇 운영체제(ROS)에서도 동작할 수 있어 ROS에서 지원하는 슬램과 내비게이션을 사용할 수 있다.

▲ 쿠카의 모바일 매니퓰레이터 유봇(youBot) 출처: 쿠카 로보틱스

다양한 오픈 소스 모바일 로봇

위에서 소개한 ROS 표준 레퍼런스 로봇 터틀봇과 쿠카의 유봇 이외에도 다양한 오픈 소스 모바일 로봇 프로젝트가 진행 중이다. 그중 하드웨어 부분까지 소개한 로봇들로는 메이커(maker)들이 자주 사용하여 친숙한 아두이노와 라즈베리파이 싱글 보드 컴퓨터를 탑재하고 외형은 3D 프린터로 제작 가능한 벡터(veter), 에인트호번 대학에서 개발한 로봇컵 로봇인 터틀(Turtle), 오큘러스프라임(Oculusprime), 마이클이 공개한 모바일 로봇 아르마딜로(Armadillo)와 그 위에 7축 암을 올린 모바일 매니퓰레이터 맥스웰(Maxwell) 등 수십 종류가 공개되어 있다. 각 웹사이트에서 소프트웨어는 물론 하드웨어 설계 파일까지 다운로드 받을 수 있고 수정 편집하여 사용할 수 있다.
▲ 오픈 소스 모바일 로봇 벡터

TU/e에서 공개한 로봇컵 출전용 모바일 로봇 터틀


기본이기에 더욱 중요한 모바일 로봇, 그리고 앞으로의 과제


모바일 로봇 역사는 오래되었고 로봇공학에서 중요한 역할을 차지하고 있다. 그런 만큼 오랜 시간 지속해서 연구됐고 이와 관련된 핵심인 슬램 및 내비게이션 기술은 많이 발전했다. 더불어 오픈 소스 형태로 이 기술들이 공개되어 더 많은 이들이 함께 수정하고 발전시키고 있다. 최근에 와서는 소프트웨어 기술 뿐만 아니라 오픈 소스 하드웨어 형태로 설계 파일 및 제어 회로들도 공개되어 일반인들도 접근하기 좋은 환경이 되었다. 하지만 저가격 형태를 위하여 심하게 사양을 낮추거나 일부 부분은 비공개로 하는 등 아직 개선되어야 할 부분은 많다. 모바일 로봇에 사용하기에는 너무 비싼 거리 센서(레이저 스캔 등) 또한 진입장벽이 되고 있다. 센싱 부분에서도 많은 부분이 공개되어야 한다. 아직 개선해 나아가야 할 숫제는 남아있다. 글_일본 JSPS 연구원 표윤석 (pyo@irvs.ait.kyushu-u.ac.jp)
▲오큘러스 프라임
▲ 모바일 매니퓰레이터 맥스웰

* 본 기사는 '월간로봇' 4월호에서도 볼 수 있습니다. 모든 표기는 '월간로봇'의 규정에 따랐습니다.
박경일  robot@irobotnews.com
박경일의 다른기사 보기  
폰트키우기 폰트줄이기 프린트하기 메일보내기 신고하기
트위터 페이스북 구글+ 밴드 뒤로가기 위로가기
이 기사에 대한 댓글 이야기 (0)
자동등록방지용 코드를 입력하세요!   
확인
- 200자까지 쓰실 수 있습니다. (현재 0 byte / 최대 400byte)
- 욕설등 인신공격성 글은 삭제 합니다. [운영원칙]
이 기사에 대한 댓글 이야기 (0)
최근인기기사
1
박스오피스 1000만 돌파 디즈니 ‘겨울왕국 2’ 4주 연속 예매 1위
2
중국 드론 택시 스타트업 '이항', 나스닥 상장 추진
3
사코스 로보틱스, 전신형 외골격 로봇 '가디언 XO' 판매
4
로보티즈, 자율주행 실외 배송 로봇 공개
5
우주 쓰레기 청소 로봇, 2025년 발사된다
6
中 중국화 로봇, '5분 이면 그림이 뚝딱'
7
중국, '원격제어' 버스 충전 로봇 개발 운영
8
인공지능 의료업체 '제이엘케이인스펙션', 코스닥 상장
9
한국스트라이커, 국내 로봇인공관절수술 시장 공략
10
'젊은 로봇 공학자' (32) DGIST 윤동원 교수
로봇신문 소개기사제보광고문의불편신고개인정보취급방침이메일무단수집거부청소년보호정책    *국제표준간행물번호 ISSN 2636-0381 *본지는 인터넷신문위원회 자율심의 준수 서약사입니다
08298) 서울 구로구 공원로 41(구로동, 현대파크빌 427호)  |  대표전화 : 02)867-6200  |  팩스 : 02)867-6203
등록번호 : 서울 아 02659  |  등록일자 : 2013.5.21  |  발행인·편집인 : 조규남  |  청소년보호책임자 : 박경일
Copyright © 2013 로봇신문사. All rights reserved. mail to editor@irobotnews.com