Journal of Korea Robotics Society
[ ARTICLE ]
Journal of Korea Robotics Society - Vol. 11, No. 4, pp.205-216
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date Nov 2016
Received 29 Apr 2016 Revised 28 Jun 2016 Accepted 11 Jul 2016
DOI: https://doi.org/10.7746/jkros.2016.11.4.205

실내 이동 로봇을 위한 자연 표식과 인공 표식을 혼합한 위치 추정 기법 개발

안준우1 ; 신세호1 ; 박재흥
Development of Localization using Artificial and Natural Landmark for Indoor Mobile Robots
Joonwoo Ahn1 ; Seho Shin1 ; Jaeheung Park
1Graduate School of Convergence Science and Technology, Seoul National University, Seoul, Republic of Korea (joonwooahn@snu.ac.kr, shinsh@snu.ac.kr)

Correspondence to: Corresponding author: Graduate School of Convergence Science and Technology, Seoul National University, Seoul, Republic of Korea, Advanced Institutes of Convergence Technology, Republic of Korea ( park73@snu.ac.kr)

© Korea Robotics Society. All rights reserved.

Abstract

The localization of the robot is one of the most important factors of navigating mobile robots. The use of featured information of landmarks is one approach to estimate the location of the robot. This approach can be classified into two categories: the natural-landmark-based and artificial-landmark-based approach. Natural landmarks are suitable for any environment, but they may not be sufficient for localization in the less featured or dynamic environment. On the other hand, artificial landmarks may generate shaded areas due to space constraints. In order to improve these disadvantages, this paper presents a novel development of the localization system by using artificial and natural-landmarks-based approach on a topological map. The proposed localization system can recognize far or near landmarks without any distortion by using landmark tracking system based on top-view image transform. The camera is rotated by distance of landmark. The experiment shows a result of performing position recognition without shading section by applying the proposed system with a small number of artificial landmarks in the mobile robot.

Keywords:

Indoor Navigation, Topological Navigation, Indoor Localization, Landmark Detect, Image Transform

1. 서 론

최근 단순하고 반복적인 작업을 하던 산업용 로봇의 응용 범위가 넓어지고 목적이 다양해짐에 따라, 스스로 상황을 판단하여 자율적으로 동작 할 수 있는 지능형 로봇이 요구 되고 있다. 특히, 가정, 공장, 사무실과 같은 실내에서 각종 서비스를 제공하는 이동 로봇의 수요가 급증하고 있다. 이 동 로봇은 환경인식 기능과 위치인식 기능을 하는 상황판단 력과, 조작제어 기능과 자율이동 기능을 하는 자율 동작 능 력이 필요하다. 그 중에서도 위치 추정(Localization)은 이동 로봇이 목적지까지 계획된 경로로 이동하기 위해 가장 중요 한 기술이다. 이러한 위치 추정 방식에는 GPS (Global Positioning System) 센서를 이용하거나 표식(Landmark)들 의 위치 관계를 이용하여 자기 위치를 추정하는 방법이 있 다. 실내 이동 로봇의 경우 GPS의 수신이 어려워 표식을 이용한 위치 인식 방법들이 제안되어 왔다[1].

표식을 이용하는 방법에는 크게 자연 표식(Natural Landmark)[2-7]을 이용하는 방식과 인공 표식(Artificial Landmark)[8-10]을 이용하는 방식으로 나눌 수 있다. 자연 표식을 이용한 방식은 센서를 통해 얻어진 기하학적인 (Geometrical) 정보나 광학적인(Photometrical) 정보에서 특 징들을 추출하여 위치를 인식하는 방법이다. 대표적인 방법으 로 SLAM (Simultaneous Localization and Mapping)[11-12]이 있다. SLAM 방식은 레이저 스캐너(Laser Scanner), 레이더 (Radar), 초음파 센서[13] 등을 이용하여 실내의 모든 공간을 다니면서 센서 정보를 누적시켜 실내 지도를 만들어 나가고, 이 지도와 현재 센서 정보를 비교하여 상대적으로 어디에 위치하는지 알 수 있는 방식이다. 자연 표식을 이용한 방식은 별도의 인프라 설치가 필요 없어 임의의 장소에도 적용 가능 하다는 장점이 있다. 하지만 특징들이 이동하거나 다른 물체 들에 의해 가려지는 경우 오차가 증가할 수 있고, 센서의 특성 에 따라 조도나 재질 등에 영향을 받을 수 있다. 인공 표식을 이용한 방식은 벽, 바닥, 천장 등 실내 공간상에 일정한 패턴 을 임의로 만드는 방식이다. 이러한 인공 표식은 능동적인 표식과 수동적인 표식으로 나뉘어 연구되어 왔다. 능동 표식 은 인식 가능한 특정 신호를 자체적으로 발생 시킬 수 있는 것으로, 대표적으로 비콘(Beacon)[14]이나 Active RFID (Radio-Frequency Identification)[15] 등이 있다. 또한 수동 표식은 이와 달리 카메라나 자기센서 등을 이용하여 미리 정의된 표식의 형상 혹은 색상 정보를 추출하여 인식하는 방법이다. 이러한 인공 표식은 미리 정의된 표식 만을 특징 으로 사용하기 때문에, 위치 추정의 강인성이 높다. 하지만 공간적 제약으로 인해 인공 표식의 사용이 어려울 수 있고, 인공 표식을 인지할 수 없는 음영 구역이 발생할 수 있다.

본 연구에서는 자연 표식과 인공 표식이 갖는 각각의 단 점들을 극복하기 위해 자연 표식과 인공 표식을 혼합하여 위치를 추정할 수 있는 시스템을 제안한다. 위치 추정을 위해, 실내 지도를 위상 지도(Topological Map) 인 노드 (Node)와 엣지(Edge)로 구성한다[16]. 노드는 마커(인공 표 식), 엣지는 형광등(자연 표식)으로 구성한다. 인공 표식과 자연 표식을 인식하기 위해, 카메라 비전 기술을 이용한다. 인공 표식은 색상 정보를 이용하고, 자연 표식은 형광등의 조도 정보를 이용한다. 또한 표식을 먼 곳과 가까운 곳에서 도 볼 수 있게 하고, 인식 정확도를 높이기 위해 왜곡을 없애는 top-view 기반의 표식 추종 시스템을 이용하여 위치 인식을 수행하는 방법을 제안한다.

본 논문의 구성은 다음과 같다. 2장에서는 인공 표식과 자연 표식 모델을 소개하고 이를 혼합한 지도 작성과 실내 위치 추정에 대한 방법을 소개한다. 3장에서는 천장에 있는 표식을 정확하게 추정할 수 있는 top-view기반 표식 추정 시스템을 다루고, 자연 표식과 인공 표식을 인식하는 방법 을 설명한다. 4장에서는 이동 로봇의 전체 시스템 구성 및 로봇의 하드웨어 및 소프트웨어 시스템을 설명한다. 5장에 서는 top-view기반 표식 추정 시스템과 카메라 회전을 통한 표식 인식 실험 결과와 전체 주행 실험 결과를 나타낸다. 마지막으로 6장에서 이 연구에 대한 결론을 정리한다.

본 논문은 제11회 한국로봇종합학술대회에 제출한 ‘마커 와 형광등 인식을 통한 실내 배달 로봇’ 논문을 토대로 정리 하였다.


2. 표식을 이용한 Navigation

이 장에서는 인공 및 자연 표식 모델을 설명한다. 소개한 표식들을 이용한 실내 지도 작성과 위치 인식 방법 및 장점 들을 소개한다. 로컬(Local)한 영역에서 표식을 이용한 경 로 생성과 추종 방법을 소개한다.

2.1 인공 표식(마커) 자연 표식(형광등) 모델

인공 표식(마커)을 최대한 손상없이 보전하고, 장애물에 대해 가려짐을 최소화 하기 위해 천장에 부착한다. 인공 표식은 간단하게 제작이 가능하고, 정확하게 인식 되어야 한다. 그러기 위해, Fig. 1(a)와 같이, 20 cm × 20 cm 크기의 종이를 사용하였다. 일반적인 붉은색(R: 255, G: 0, B: 0)의 종이를 사용하였을 경우, 마커 주변에 빛이 많아 지거나 적어지면 카메라에 어둡게 보여 인식이 정확하게 되지 않는다. 빛의 영향을 덜 받는 강인한 인식을 위해, 형광 색을 이용하여 빛이 많거나 적더라도 항상 일정하게 카메라 에 색 정보를 제공할 수 있게 하였다.

Fig. 1

Landmark Model ((a): Artificial Landmark(Marker), (b): Natural Landmark(Light))

인공 표식만 사용하였을 경우, 공간이 늘어날수록 많은 표식이 사용된다. 이에 자연 표식을 이용하여 적은 인공 표식 으로 지도 구성이 가능하게 한다. 자연 표식 모델로는 복도 천장의 형광등을 이용한다. 로봇은 복도에서 중간으로 가는 것이 가장 안정적이다. 대부분 복도에는 형광등이 Fig. 1(b)와 같이, 복도 천장의 중간에 진행방향으로 일렬로 배치되 어 있어, 로봇은 형광등을 따라 가는 것이 가장 안정적이다. 그리고, 형광등이 모양이 다르거나, 가로나 세로로 배치되어 있더라도, 형광등의 중심을 추정하여 복도의 중앙을 인지할 수 있다.

2.2 표식을 이용한 지도 작성(Map Representation) 및 위치 인식(Localization)

인공 및 자연 표식 만으로 간단하게 실내 지도를 작성하 기 위해 위상 지도인 노드와 엣지로 구성하여 간단한 지도 를 만든다.

Fig. 2는 위 방식을 이용하여 실내 공간을 구성하였다. 원과 숫자로 표시되어 있는 것이 노드인 마커(인공 표식), 이것을 이어 주고 있는 파란색 선인 엣지는 형광등(자연 표식)으로 구성된다. 노드는 출발지, 도착지, 교차로와 같은 중요한 지점의 천장에 구성된다. 엣지는 기존의 복도에 설 치되어 있는 것을 이용하여, 주요 지점인 노드와 노드 사이 를 잇는 직선 구간을 구성한다. 로봇의 시야에서 노드와 엣지를 보면서 로봇의 위치를 알 수 있다.

Fig. 2

Topological Map Representation

2.3 인공 및 자연 표식을 이용한 경로 생성 및 추종

이동 로봇은 로컬한 영역에서 실시간으로 목표를 추종하 면서 장애물을 피할 수 있어야 한다. 따라서 Fig. 3에서 볼 수 있듯이, 기존의 Vector Field Histogram[17]의 컨셉에 타 겟(VTarget)벡터(표식)을 고려하여 경로 생성을 하였다.

Fig. 3

Obstacle Avoidance using Vector Field Histogram

초음파 센서로 전방의 물체를 감지하고 장애물을 만나면 초음파 센서의 거리 값이 작아진다. 이를 이용하여 전체 센서 거리 값(Vsensor)을 벡터로 표현하여 각각의 벡터를 합치고 이를 로봇에 y축 기준으로 반대인 반발력 벡터 (VRepulsive_Sum)를 만들어 목표하고자 하는 타겟 벡터 (VTarget)와 합쳐 로봇이 최종적으로 움직일 벡터(VMove)를 만들어 실시간으로 장애물을 피하면서 목표하고자 하는 경 로를 추종할 수 있다.


3. Top-view기반 표식 추정 시스템 및 표식 인식

이 장에서는 인공 및 자연 표식을 인식하기 위하여 카메 라를 이용한 이미지 처리를 다룬다. 천장에 있는 표식을 정확하게 인식하고 추정할 수 있는 top-view기반 표식 추정 시스템을 알아본다[18-19]. 이후, 변환된 이미지에서 표식을 인식하기 위한 기법들을 소개한다.

3.1 Top-view변환

실내 위치 추정을 정확하게 하기 위해, 천장에 있는 표식 을 정확하게 인식하여야 한다. 이를 위해, 픽셀 단위 거리와 실제 거리가 비례하게 하고, 실제 좌표계와 카메라에 투영 되는 좌표계를 같게 하여 왜곡을 없애야 한다.

Fig. 4(a)처럼, 이미지에서 바닥면을 보았을 때, 화면 상에 차선이 일직선으로 나타나지 않는다. 카메라 투영 좌 표(Perspective View Coordinate)로 나타난 이미지이기 때 문이다.

Fig. 4

Top-view Translation Result ((a): Original Image, (b): Top-view Image)

이 문제를 해결하기 위해, Fig. 5상에 좌표계인 카메라 투영 좌표계를 실제 좌표(Global Coordinate)로 변환하고, 이를 다시 Top-view 좌표(Top-view Coordinate)로 변환을 한다. 이미지 좌표계 변환을 위하여 이미지 조정 보드를 이용하여 카메라 렌즈의 광학 길이(Optical length), 초점 거리(Focal length)등의 특성 값을 이용하여 이미지 조정을 한다. Top-view변환을 위해 이 값과 카메라의 높이, 천장과 의 각도, 회전량, 목표 이미지 출력 크기를 입력한다.

Fig. 5

Top-view Transform Coordinate System (Perspective View, Top-view, Global Coordinate)

Fig. 6

Marker Detection System Architecture

3.1.1 인공 표식(마커) 인식

실내 주행 상황에서 비슷한 색이나 모양이 마커로 인식이 되지 않게 하기 위하여 마커의 정확한 색과 모양을 비교하 여 인식해야 한다.

이를 위해, 여러 단계를 거친다. Fig. 7(a)와 같이 일반적 으로 사용하는 RGB Color 체계를 영상 시스템에서 사용되 는 색 공간인 YCbCr Color 체계로 변환하여 붉은 계열의 객체 추출을 위한 전처리를 한다. (b)와 같이 Cr 영역의 적절 한 임계 값을 설정하여 붉은 계열의 객체를 이진화 한다. (c) 와 같이 임계 값 조절, 모폴로지(Morphology) 연산 등을 통 해 노이즈(noise) 등이 제거된 마커 영역만을 추출한다. 마커 의 윤곽선(Contour)에 하나의 꼭지점을 검출하고 각 꼭지점 을 잇는 직선을 그어 마커 후보 객체를 표시한다. 마커의 후보 객체와 미리 추출 해둔 마커 이미지를 템플릿 메칭(Template Matching)방법을 통해 올바른 마커를 찾는다[20-21].

Fig. 7

Marker Detection Process ((a): RGB2TCbCr, (b): Red Area Detection, (c): Marker Contour Detection)

Fig. 8(a)는 카메라에서 나타난 원본 perspective 이미 지이고 (b)는 이를 top-view 변환을 한 영상에서 마커의 특징인 붉은색 영역만 살리는 전 처리를 한 것이다. (c)는 마커의 중심 좌표 값을 받은 결과이다.

Fig. 8

Marker Detection Result ((a): Original Image, (b): Pre-processor Result, (c): Detection Result)

Fig. 9

Light Detection System Architecture

3.1.2 자연 표식(형광등) 인식

형광등은 빛이 나오는 특징을 가진다. 변환된 이미지에서 빛을 구분하여 형광등 빛을 인식한다. 빛 영역만을 살리기 위해 이미지에서 전체적인 명암을 낮춘다. 이를 이진화 하면 빛 영역만 살아난다. 이때, 빛의 잔상, 퍼짐 또는 반사와 같은 노이즈도 함께 검출된다. 확실한 빛 영역 만을 남길 수 있도록 큰 영역이 작은 영역을 덮는 침식을 수행한다. 침식을 하게 되면 확실한 형광등 영역도 쪼개져 라벨링을 할 때 여러 객체 로 라벨링 된다. 이 현상은 확실하게 남은 빛 영역의 확대를 하는 팽창을 통해 하나의 형광등으로 라벨링되도록 한다. 라 벨링 된 형광등 중에서 로봇을 기준으로 전방으로 가장 멀리 있는 형광등을 타겟으로 인식한다[21].

Fig. 10(a)는 카메라에서 나타난 원본 perspective 이 미지이고 (b)는 이를 top-view 변환을 한 영상에서 형광등 의 특징인 빛 영역만 살리는 전처리를 한 것이다. (c)는 형광 등의 중심 좌표 값을 받은 결과이다. 초록색 사각형은 라벨 링 결과, 선은 형광등을 가리킨다.

Fig. 10

Light Detection Result ((a): Original Image, (b): Pre-processor Result, (c): Detection Result)

3.2 Top-view기반 표식 추정 시스템

, Fig. 11(a)처럼 마커에 다가갈수록 카메라를 점점 위로 세워서 마커를 본다. 먼 곳에서는 (b)와 같이 기울이고, 가까운 곳에 서는 (a)와 같이 아래에서 바로 올려다 봐야한다. 카메라 각도를 변화시켜도 표식을 정확히 인식하기 위해, 기존의 top-view변환방식에 표식과 카메라의 상대 위치와 각도를 반영하여 변환한다.

Fig. 11

Camera Rolling ((a): 90°, (b): 45°)

Fig. 5에서 볼 수 있듯이, 카메라 투영 좌표계를 (x, y), 실제 좌표계를 (X, Y, Z), top-view 좌표계를 (Xc, Yc, Zc) 로 한다. Global 좌표계와 카메라 투영 좌표 사이 높이를 h, 카메라 좌표계와 카메라 투영 좌표계 사이 각을 θ라고 한다. 이 각도는 카메라와 천장 사이의 각도를 나타내며 표식과 로봇의 거리에 따라 달라진다. 거리가 가장 멀 때는 35, 가까울 때는 90로 하고, 그 사이 구간은 거리에 비례 한다. 카메라 투영 좌표계와 실제 좌표계 관계를 식 (1)과 같이 정의한다.

(x,y,1)T=L·C·T·R(w(Xc,Yc,Zc)T)(1) 

R=(10000cosθsinθ00sinθcosθ00001)(2) 

T=(10000100001hsinθ0001)(3) 

C=(FocLen*kxskew00FocLen*ky0000)(4) 

L=(100target_x0cosθsinθtarget_y0sinθcosθ00001)(5) 

기존의 top-view변환에 카메라와 목표 표식 간의 상대적 인 거리와 각도 변환을 하는 행렬 (5)를 추가하여 top-view 기반 표식 추정 시스템을 개발하였다.

식 (2)는 회전 변환, 식 (3)은 위치 변환, 식 (4)는 렌즈 및 카메라의 속성, 식 (5)는 표식과 카메라 간에 상대 거리와 각도를 나타내는 행렬이다. 식 (3)의 h는 카메라와 천장의 높이를 나타내며, 식 (4)의 FocLen, skew은 이미지 조정 보드를 이용하여 얻어진 값을 상수로 대입한 것이고, kxky는 픽셀의 영상 비율, 식 (5)의 target_x, target_y는 카메 라와 목표 표식과 상대적인 거리를 나타낸다. 이 행렬들의 관계를 이용하여 좌표계를 변환할 수 있다. 바닥이나 천장 과 같은 한 평면만 보고자 하니 Z=0이다. 따라서 식 (1)번은 식 (5)와 같이 변환이 된다.

(x,y,1)T=L·C·T·R·(w(X,Y)T)(6) 

(xy1)=(M(3*3))(XY1)(7) 

Fig. 12

Top-view base Landmark Tracking System Architecture

Fig. 13

Whole System Architecture

식 (2)~(5)를 이용하여 식 (7)의 M(3∗3) 인 변환 행렬을 얻는다. 이 행렬을 이용하여 각 픽셀을 top-view변환에 맞 게 맵핑(Mapping) 한다.

특정 시점의 이미지에서 Perspective 4점을 잡는다. 관심 영역(ROI (Region of Interest))의 4점(기본적으로는 사각형 의 각 꼭지점)을 식 (3) 행렬에 넣어 변환된 top-view 4점을 받는다. 각 4점과 perspective 이미지를 와핑(Warping)을 하 여 top-view 이미지를 얻는다. 변환된 이미지로 표식을 인식 하고, 표식과 카메라의 관계를 정의하여, 그 관계를 반영하여 변환을 한다.

System Component

System Input/Output


4. 시스템 구성

이 장에서는 전체 시스템 구성과 입력, 출력 및 중앙 처리 단계의 구조를 설명한다. 이동 로봇의 하드웨어 및 소프트 웨어 구성을 살펴본다.

4.1 시스템 전체 구성

경로 생성 및 위치 인식과 제어를 분리하기 위해, 시스템 을 마스터-슬레이브 구조로 한다. 마스터인 PC에서 모든 디바이스의 입력과 출력을 담당한다. 영상의 이미지 정보와 초음파 센서에서 거리 값을 받아 표식 인식, 경로 탐색, 경로 생성, 경로 추종에 대한 판단을 한다. 마스터는 슬레이브인 각 모터 펌웨어 보드에 속도, 위치, 상태 명령을 보내 위치와 속도에 대해 제어를 한다.

Fig. 14

Mobile Robot

4.2 하드웨어

마커와 형광등을 먼 곳과 가까운 곳에서 볼 수 있도록 하기 위해, 웹켐에 모터를 부착하여 roll움직임을 만든다. BLDC모터 2개로 holonomic한 움직임을 만들 수 있도록 하였다. 그 위에는 배달물과 노트북을 올릴 수 있는 공간이 존재하고, 그 앞에는 전방의 장애물을 감지 할 수 있는 초음 파 센서 8개가 위치한다.

4.3 소프트웨어

4.3.1 Global 경로 계획(Global Path Planning)

교차로나 도착지 같은 중요 지점에 위치한 마커와 이미 구축 되어있는 형광등 만으로 효과적으로 실내 지도를 구성 할 수 있었다. 이런 구성으로 그래프가 만들어져, A*[22]를 이용한 최단 경로 탐색이 가능 하였다.

Fig. 15(a)는 Fig. 2를 그래프로 구성한 결과이다. 원은 노드를 나타내고, 파란색 선은 형광등을 이어 엣지를 구성한 것이다. 빨간색 선은 A*방법을 이용하여 만든 경로이다. 시 작 지점(0번 노드)과 도착 지점(6번 노드)으로 설정하였다. 노란색은 진행 상태를 나타낸다. (b)는 경로 탐색과 동시에 각 노드에서 어떻게 움직여야 하는지(직진, 좌회전, 우회전, 멈춤)에 대한 상태가 나오고, 각 마커를 볼 때 마다 이 상태 에 대한 수행을 명령한다. 이것의 결과로, STATE는 현재 로봇의 표식 탐색 상태를 나타내는 것이다. 아래 화살표 단 계 표시는 각 노드에서 어떻게 움직여야 할지 표시된다.

Fig. 15

Global Path Planning ((a): Graph & A* Navigation, (b): Localization & Navigation Scenario)

4.3.2 Local 경로 계획(Local Path Planning)

초음파 센서를 이용하여 이동 로봇이 local한 영역에서 실시간으로 목표를 추종하면서 장애물을 피할 수 있게 하 고, 생성된 경로에 대해 시뮬레이션을 하였다.

Fig. 16(a)처럼 장애물이 없다면, 초록색 선만 따라 빨간색 선이 만들어지며 목표하고자 하는 타겟만 추종한다. 그러나 (b)처럼 좌측에 장애물이 있는 상황에서는 장애물을 회피 하면서 목표를 추종하는 경로를 생성한다. 노란색 선 은 초음파 센서의 방향 벡터(Vsensor)를 의미한다. 이를 이용 하여 다중 초음파 센서에 대한 반발력 벡터(VRepulsive_Sum) 를 계산한다. 왼쪽 하단부터 오른쪽 하단까지 센서 1번~6번 값을 나타내고, 0번과 7번 센서는 양쪽을 바라보고 있어 화면에 표시가 되지 않았다. (a)의 아래에서 상단을 향하는 연두색 선은 목표하고자 하는 타겟(VTarget) 벡터이고, 빨간 색 선은 로봇이 최종적으로 움직일(VMove) 벡터이다. 파란 색 선은 로봇이 움직일(VMove) 벡터를 따라 로컬한 경로를 생성한 결과이다. 경로 시뮬레이션은 CTRA모델[23]을 이용 하여 만들었다.

Fig. 16

Vector Field Histogram Result ((a): Obstacle Non Existence, (b): Obstacle Existence)

4.3.3 표식을 이용한 경로 추종(Path Tracking)

Fig. 17은 로봇의 경로 추종 모델을 나타낸다. (a)는 로봇과 목표 지점의 좌표계를 나타낸다. XGYG 는 글로벌 좌표 계를 나타내고, 이에 로봇의 위치 및 각도는 (xc,yc,θ) 로 나타낸다. 목표 벡터(VMove)와 로봇의 최종 위치와 각도는 (xm,ym,θ^) 으로 나타낸다. 로봇에서 목표 지점까지 거리를 L=xm2+ym2 로 나타내고, 이 좌표들의 관계는 식 (8)과 (9)로 나타나 진다.

[xmym]=[cosθsinθsinθcosθ][xcyc](8) 

θ^={cos1(ymL)(xm)-cos1(ymL)(xm<0)(9) 

Fig. 17

Path Tracking Model ((a): Model Coordinate, (b): Mobile Robot Model Movement)

(b)는 시간 변화(제어 주기Δt)에 따른 로봇의 모델을 나 타낸다. l 은 두 바퀴 사이의 거리의 절반을 나타낸다. Δpl는 한 주기 동안 왼쪽 바퀴의 이동 거리, Δpr 는 오른쪽 바퀴의 이동 거리를 나타낸다. Δpr 는 로봇 중심의 각속도, w 는 로봇의 중심 속도를 나타낸다.

w=kθ·θ^(10) 

Δα=ΔprΔpl/l(11) 

w=(υrυl)/l(12) 

υ=(υr+υ1)/2.0(13) 

[υrυ1]=[1l/2.01l/2.0][υw](14) 

식 (10)는 θ^ 에 게인 kθ을 곱한 값인 각속도이다. 식 (11) 은 차동 구동을 하는 로봇 형태에서 양쪽 바퀴 이동거리 차이 두 바퀴 사이의 거리의 절반으로 나눈 로봇의 전방 방향을 나타낸다. 이를 시간에 대해 미분하여 로봇의 각속 도를 얻는다(식 (12)). υl은 왼쪽 바퀴의 속도, 마찬가지로 υr 은 오른쪽 바퀴의 속도를 나타낸다. 식 (13)는 로봇의 속 도를 나타낸다. 이 관계를 정리하여 식 (14)와 같은 관계를 내린다. 측정된 v와 식 (10)을 통하여 얻은 w 를 식 (14)에 대입하여, υl, υr값을 얻는다. 이 값으로 매 주기마다 각 모 터 속도 지령을 넣는다.

4.3.4 Navigation 알고리즘

출발지와 목적지를 입력하고, 상태를 초기화 하고, A* 알 고리즘으로 경로를 탐색한다. 탐색 후에 마커들의 인덱싱과 마커를 보았을 때 수행해야할 상태들이 정해진다. 출발지에 서 출발을 하고, 인식되는 결과(마커, 형광등, 아무것도 인 식이 안됨)에 따라 카메라 각도 회전과 모터 움직임을 상황 에 맞게 수행한다.

Fig. 18

The state machine of the Navigation Algorithm

가장 높은 우선 순위로 마커를 탐색하였을 때는 오직 마 커만 보고, 마커를 최대한 멀리서부터 가까이 볼 때까지 마커 카메라의 각도를 줄여나간다. 마커가 로봇의 바로 위 까지 오게 되면(angle=0), 마커의 상태에 따라 움직인다. 마커의 상태를 다 따르고 나서, 다시 형광등을 찾는다. 형광 등을 찾았을 때는 장애물을 피하면서 형광등만 따라 가는 것으로 하고, 마커와 함께 보이면 마커를 보는 상태에 따른 다. 최대한 마커와 형광등이 보이도록 시스템을 구성하여야 하지만, 아무것도 인식이 되지 않으면, 일단 장애물을 피하 면서 직진하는 것으로 한다.

Local Planning부분에서는 로봇의 위치와 장애물의 위치 (Probot, Pobs)를 고려하여 마커와 형광등을 추종하여, 장애물 을 회피하며 목표를 추종할 수 있도록 한다.

목표 위치에 도달할 때까지 인식되는 결과에 따라 움직이 게 되고, 목표 위치에 도달하게 되면 전체 루프를 빠져나가 종료하게 된다.


5. 실험 결과

이 장에서는 Top-view기반 표식 추정 시스템과 카메라 회전을 통한 실험 결과와 전체 경로에 대한 실험 결과를 정리한다.

5.1 Top-view기반 표식 추정 시스템과 카메라 회전을 통한 표식 인식 실험 결과

Fig. 19는 변환된 좌표계를 이용하여, 카메라 각도에 따 른 가장 먼 곳에서 인식된 지점간의 횡 방향 거리를 나타낸 다. 형광등은 작게 보여도 빛의 특성을 이용하여 인식하기 때문에, 100 m정도 멀리서 봐도 인식이 된다. 마커는 모양 이 뚜렷하게 인식이 되야 하기 때문에, 25 m정도 멀리서 인식이 가능하다. 90°에 가깝게 되면, 천장을 바로 아래에서 위로 보기 때문에, 횡 방향 거리가 짧다. 각도가 줄어들수록, 천장을 비스듬히 보기 때문에 표식을 추종할 수 있는 거리 가 늘어난다.

Fig. 19

Relationship between Camera Angle and Detected Landmark's Longitudinal Length

Fig. 20에서 볼 수 있듯이, 표식을 가까이 보면서 각도를 줄이고, 각도가 줄어듦에 따라 모바일 로봇의 속도를 줄이 게 된다. 이로써, 표식에 가까워질수록 표식이 모바일 로봇 의 위치 오차를 줄이면서 추종할 수 있다.

Fig. 20

Relationship between Camera Angle and Mobile Robot Speed

Fig. 21에서 볼 수 있듯이, 변환된 top-view 이미지를 이용하여 먼 곳에서부터 가까운 곳까지 표식을 인식하고, 추종이 가능 하였다. 이로써, 이 시스템은 3가지 장점을 가 지게 된다.

Fig. 21

Target Tracking Process ((a): 45°, (b): 60°, (c): 85°)

  1. 카메라를 돌려, 멀거나 가까운 표식을 인식 할 수 있다. 전진 상황과 같이 높은 속도로 이동할 때는 표식을 멀리 서부터 볼 수 있고, 회전과 같은 상황에서 정밀한 동작 수행을 할 때는 가까이에서도 정확하고 빠르게 추정이 가능하다.
  2. 카메라에 투영된 이미지를 왜곡없이 사용할 수 있다. 이로써 마커와 형광등을 인식할 때, 천장을 정확히 정 면으로 보지 않더라도 정면으로 본 것과 같아 원래 모 양의 특성을 정확하게 파악하여 인식할 수 있다.
  3. 이미지 상에서 좌표가 실제 거리(m 단위)로 변환을 할 수 있게 된다. 이로써 경로 추종을 할 때, 실제 거리 단위에 맞추어 제어를 할 수 있다.

5.2 전체 실험 구성 및 결과

Fig. 22는 한 층에서, 빈 공간 면적 대비 표식 사용 개수를 나타낸다. 실선은 인공 표식을 인식할 수 있는 거리를 기준 으로 구성하였을 때 표식 사용 개수 결과이다. 점선은 자연 표식과 인공 표식을 함께 구성하였을 때의 표식 사용 개수 결과이다. 빈 공간 80 m2기준으로 인공 표식만 사용하였을 경우 인공 표식이 84개, 자연 표식과 사용 하였을 경우 인공 표식이 15개 자연 표식이 70개가 사용 되었다. 공간이 늘어 날수록 표식 개수의 차이는 비례한다. 공간이 늘어남에 따 라 복도가 겹치는 중복되는 공간에서는 인공 표식 사용이 중복되어 표식의 개수가 정비례하여 나타나지 않는 것을 볼 수 있다. 인공 표식과 자연 표식을 함께 이용하는 것이, 인공 표식 만을 이용하는 것보다 적은 수로 지도 구성이 가능하게 되었다.

Fig. 22

Comparison between Artificial & Natural Landmark and only Artificial Landmark

Fig. 23(a)에서 검은색 원은 노드를, 검은색 사각형은 Fig. 23(b)에서 장면을 나타낸다. 파란색 선은 엣지를, 빨 간색 원은 실제 로봇이 이동한 경로를 나타내고, 0.5초에 하 나의 점을 나타내었다. 로봇은 표식을 최대한 따라가는 경향 을 보이며, 약간의 진동이 있다. 마커 주변에서 빨간 점이 밀집 되어있는 것을 통하여 알 수 있듯이, 마커를 보면 속도를 줄여간다. (b)는 각 장면에 대한 구현 장면을 나타낸다.

Fig. 23

Experimental Result without Obstacle ((a): Whole Trajectory, (b): Scene Index)

Fig. 24(a)에서 주황색 원은 동적 장애물을 나타내고, 그 안에 번호는 로봇의 관점에서 장애물을 보는 순서를 나 타낸다. 검은색 사각형은 (b)에서 장면을 나타낸다. 반발력 (VRepulsive_Sum) 벡터의 영향으로 장애물을 피할 수 있다. 전체 결과 영상은 아래와 같다.

Fig. 24

Experimental Result with Obstacle ((a): Whole Trajectory (b): Scene Index)


6. 결 론

인공 표식과 자연 표식만으로 기존방식보다 훨씬 간단하 고 효율적인 실내 지도를 구축하고 위치 추정을 하였다. 실 내 천장에 교차로 도착지와 같은 주요 지점에 종이 마커를 부착하고 그 사이를 기존 실내에 있는 형광등 빛을 보면서 실내 공간에서 자신의 위치를 알 수 있다. 또한 top-view기 반 표식 추정 시스템을 통하여 천장을 먼 곳과 가까운 곳을 보면서, 정확한 인식을 할 수 있도록 하고, 표식을 잘 추종 할 수 있도록 한다.

본 논문과 관련된 후속 연구로는, 카메라와 다른 센서 융 합을 통하여 여러 환경에 강인하고 정확한 위치 인식이 필요 하다. 그리고 층간 이동을 위하여 엘리베이터 상에서 위치인 식, 버튼 인식 및 누르는 조작에 대한 연구가 필요하다.

References

  • Carbonaro, Antonella, and Primo Zingaretti. “Landmark matching in a varying environment.” Advanced Mobile Robots, 1997. Proceedings., Second EUROMICRO workshop on. IEEE, 1997.
  • C. Luo, S-C. Ren, Lin, and C-. Lai, “Indoor autonomous mobile robot localization using natural landmark.” Industrial Electronics, 2008. IECON 2008. 34th Annual Conference of IEEE. IEEE, 2008. [https://doi.org/10.1109/IECON.2008.4758197]
  • C.K. Yuen, David, and A. Bruce, MacDonald. “Natural landmark based localization system using panoramic images.” Robotics and Automation, 2002. Proceedings. ICRA’02. IEEE International Conference on. vol.1. IEEE, 2002.
  • E. Celaya, J.L. Albarral, P. Jiménez, and C. Torras, “Natural landmark detection for visually-guided robot navigation.” AI* IA 2007: Artificial Intelligence and Human-Oriented Computing. Springer Berlin Heidelberg, pp.555-566, 2007. [https://doi.org/10.1007/978-3-540-74782-6_48]
  • P. Núñez, R. Vázquez-Martín, J.C. Del Toro, A. Bandera, and F. Sandoval, “Natural landmark extraction for mobile robot navigation based on an adaptive curvature estimation.” Robotics and Autonomous Systems vol.56, no.3, pp.247-264, 2008. [https://doi.org/10.1016/j.robot.2007.07.005]
  • Y-J. Han and T-H. Park. “Localization of a Mobile Robot Using Multiple Ceiling Lights.” Institute of Control, Robotics and Systems Conference on vol.19. no.4, pp. 379-384, 2013. [https://doi.org/10.5302/J.ICROS.2013.13.1863]
  • H. Heo and J.-B Song “Global Localization Based on Ceiling Image Map,” Journal of Korea Robotics Society vol.9, no.3, pp.170-177, 2014. [https://doi.org/10.7746/jkros.2014.9.3.170]
  • S-H. Lee and I-S. Kweon, “Color landmark based self-localization for indoor mobile robots.” Robotics and Automation, 2002. Proceedings. ICRA’02. IEEE International Conference on. vol.1. IEEE, 2002.
  • A. Rusdinar, J-M. Kim, J-H. Lee, and S-S. Kim, “Implementation of real-time positioning system using extended Kalman filter and artificial landmark on ceiling.” Journal of Mechanical Science and Technology vol.26, no.3, (2012): 949-958. [https://doi.org/10.1007/s12206-011-1251-9]
  • F. Wen, K. Yuan, W. Zou, X. Chai, and R. Zheng, “Visual navigation of an indoor mobile robot based on a novel artificial landmark system.” Mechatronics and Automation, 2009. ICMA 2009. International Conference on. IEEE, 2009.
  • M.G. Dissanayake, P. Newman, S. Clark, H. F. Durrant-Whyte, and M. Csorba, “A solution to the simultaneous localization and map building (SLAM) problem.” Robotics and Automation, IEEE Transactions on vol.17, no.3, pp.229-241, 2001. [https://doi.org/10.1109/70.938381]
  • M.-K. Jung and J.-B. Song “Robust Global Localization based on Environment map through Sensor Fusion,” Journal of Korea Robotics Society vol.9, no.2, pp.96-103, 2014. [https://doi.org/10.7746/jkros.2014.9.2.096]
  • M-H. Lee and H-. Cho. “A Study on the Indoor Environment Recognition Skill Using Stereo Ultrasonic Sensor.” The Korean Institute of Communications and Information Sciences Conference on (autumn), pp.879-884, 2004.
  • Olson, Edwin, John J. Leonard, and Seth Teller. “Robust range-only beacon localization.” Oceanic Engineering, IEEE Journal of vol.31, no.4, pp.949-958, 2006. [https://doi.org/10.1109/JOE.2006.880386]
  • D. Hahnel, W. Burgard, D. Fox, K. Fishkin, and M. Philipose, “Mapping and localization with RFID technology.” Robotics and Automation, 2004. Proceedings. ICRA’04. 2004 IEEE International Conference on. vol.1, IEEE, 2004. [https://doi.org/10.1109/ROBOT.2004.1307283]
  • Thrun, Sebastian. “Learning metric-topological maps for indoor mobile robot navigation.” Artificial Intelligence 99.1 vol.21, no.71, 1998 [https://doi.org/10.1016/S0004-3702(97)00078-7]
  • Borenstein, Johann, and Y. Koren. “The vector field histogram-fast obstacle avoidance for mobile robots.” Robotics and Automation, IEEE Transactions on vol.7, no.3, pp.278-288, 1991. [https://doi.org/10.1109/70.88137]
  • S. Tuohy, D. O’Cualain, E. Jones, and M. Glavin, “Distance determination for an automobile environment using inverse perspective mapping in OpenCV.” Proc. Irish Signals and Systems Conference. 2010. [https://doi.org/10.1049/cp.2010.0495]
  • C-C. Lin and M-S. Wang, “Topview Transform Model for the vehicle parking assistance system.” Computer Symposium(ICS), 2010 International. IEEE, 2010.
  • B. Roberto, “Template matching techniques in computer vision: theory and practice.” 2009.
  • Nixon, Mark. Feature extraction & image processing. Academic Press, 2008.
  • Hart, E. Peter, J. Nilsson, and R. Bertram, “A formal basis for the heuristic determination of minimum cost paths.” Systems Science and Cybernetics, IEEE Transactions on vol.4, no.2, pp.100-107, 1968 [https://doi.org/10.1109/TSSC.1968.300136]
  • Schubert, Robin, E. Richter, and G. Wanielik. “Comparison and evaluation of advanced motion models for vehicle tracking.” Information Fusion, 2008 11th International Conference on. IEEE, 2008.
안 준 우

2016 광운대학교 로봇학부 정보제어공학(공 학사)

2016~현재 서울대학교 융합과학기술대학원 석사과정

관심분야: Mobile Robot Navigation, Motion and Trajectory, Planning & Control

신 세 호

2009 숭실대학교 생명정보학과(이학사)

2010~현재 서울대학교 융합과학기술대학원 박사과정

관심분야: Vehicle Navigation, Motion and Trajectory Planning, Parallel Algorithm

박 재 흥

1995 서울대학교 항공우주공학과(공학사)

1999 서울대학교 항공우주공학과(공학석사)

2006 Stanford University Aero/Astro(공학박사)

2009~ 현재 서울대학교 융합과학기술대학원 교수

관심분야: Robot-environment Interaction, Contact Force Control, Multi Contact Control, Whole-body Dynamic Control, Biomechanics.

Fig. 1

Fig. 1
Landmark Model ((a): Artificial Landmark(Marker), (b): Natural Landmark(Light))

Fig. 2

Fig. 2
Topological Map Representation

Fig. 3

Fig. 3
Obstacle Avoidance using Vector Field Histogram

Fig. 4

Fig. 4
Top-view Translation Result ((a): Original Image, (b): Top-view Image)

Fig. 5

Fig. 5
Top-view Transform Coordinate System (Perspective View, Top-view, Global Coordinate)

Fig. 6

Fig. 6
Marker Detection System Architecture

Fig. 7

Fig. 7
Marker Detection Process ((a): RGB2TCbCr, (b): Red Area Detection, (c): Marker Contour Detection)

Fig. 8

Fig. 8
Marker Detection Result ((a): Original Image, (b): Pre-processor Result, (c): Detection Result)

Fig. 9

Fig. 9
Light Detection System Architecture

Fig. 10

Fig. 10
Light Detection Result ((a): Original Image, (b): Pre-processor Result, (c): Detection Result)

Fig. 11

Fig. 11
Camera Rolling ((a): 90°, (b): 45°)

Fig. 12

Fig. 12
Top-view base Landmark Tracking System Architecture

Fig. 13

Fig. 13
Whole System Architecture

Fig. 14

Fig. 14
Mobile Robot

Fig. 15

Fig. 15
Global Path Planning ((a): Graph & A* Navigation, (b): Localization & Navigation Scenario)

Fig. 16

Fig. 16
Vector Field Histogram Result ((a): Obstacle Non Existence, (b): Obstacle Existence)

Fig. 17

Fig. 17
Path Tracking Model ((a): Model Coordinate, (b): Mobile Robot Model Movement)

Fig. 18

Fig. 18
The state machine of the Navigation Algorithm

Fig. 19

Fig. 19
Relationship between Camera Angle and Detected Landmark's Longitudinal Length

Fig. 20

Fig. 20
Relationship between Camera Angle and Mobile Robot Speed

Fig. 21

Fig. 21
Target Tracking Process ((a): 45°, (b): 60°, (c): 85°)

Fig. 22

Fig. 22
Comparison between Artificial & Natural Landmark and only Artificial Landmark

Fig. 23

Fig. 23
Experimental Result without Obstacle ((a): Whole Trajectory, (b): Scene Index)

Fig. 24

Fig. 24
Experimental Result with Obstacle ((a): Whole Trajectory (b): Scene Index)

Table 1

System Component

OS Window 7
Tool Visual Studio10, IAR Embedded
Workbench, MATLAB, SolidWorks, CodeWarrior, open-cv 2.4.9
Language C, C++, MATLAB
Device Asus PC(i7-3.6Ghz), Freescale, Cortex
STM32, Webcam(Samsung
SPC-A130MB), DC/BLDC Motor

Table 2

System Input/Output

Input Camera 640*480 RGB Data, Depth Length of Ultrasonic Sensor and BLDC/DC Motor Rotation Data
Output BLDC/DC Motor Speed and Direction.