Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers

  1. (Dept. of Robotics and Automation Engineering, Hoseo University, Korea.)
  2. (Dept. of Robotics and Automation Engineering, Hoseo University, Korea.)



Autonomous mobile robot, Computer vision, Image processing, Grid pattern tracking robot, Character matrix map

1. 서 론

인간의 시각 지능은 시각적 환경을 자신의 생존에 맞게 활용하는 역량을 의미한다. 인간은 시각 지능을 이용하여 미지의 실내 공간에서 다른 감각의 도움 없이 시각 인지 정보만으로도 목표 위치를 찾아갈 수 있다. 인간의 시각 지능을 이용하면 실내 공간에 설치된 최소한의 시각 정보만으로도 로봇의 실내 자율주행이 가능하게 될 것이다.

최근 IT 기술의 급속한 발전은 무인 자율주행 시대를 앞당기고 있다. 자율주행 기술은 육지와 바다 심지어 하늘에서 운용되는 다양한 이동 수단에까지 적용되고 있다(1). 자율주행 기술의 응용 분야도 무인 자율주행 자동차부터 드론을 이용한 무인 택배 시스템 등에 이르기까지 매우 다양하다(2,3). 현재 자율주행 기술에 대한 연구는 대부분 무인 주행을 위한 자율주행 자동차에 집중되어 있다. 이에 반해 실내 공간에서 자율주행이 가능한 로봇에 대한 연구는 아직도 자율주행 자동차 연구에 비해 부족한 편이다. 본 논문에서는 인간의 개입 없이 스스로 주행이 가능한 자율주행 로봇에 대해 다룬다. 특히 실내 공간에서 자율주행이 가능한 로봇에 대해 다루고자 한다.

이동 로봇의 자율주행을 위해서는 이동 로봇의 위치 인식 기술이 매우 중요하다. 특히 이동 로봇의 현재 위치 및 주행방향에 관한 효과적인 인식 방법의 개발은 로봇의 자율 주행을 위하여 매우 중요하다(4,5). 최근에는 SLAM (Simultaneous Localization And Mapping) 방식을 이용한 유도 시스템을 적용한 자율주행 로봇 개발이 많이 진행되고 있다(6-9).

SLAM 기술은 주변 환경을 인식하는 LiDAR, 초음파, 비전(Vision) 센서 등을 이용하여 주변 환경에 대한 지도를 생성하고, 해당 지도 내에서 이동 로봇의 현재 위치를 추정하는 알고리즘이다(10-11). SLAM 유도 방식은 별도의 유무선 유도 시스템이 필요하지 않고 환경에 구애를 받지 않는다는 장점이 있지만, 외란 등에 의한 센서의 측정 오차와 이로 인한 인식 오류 등의 문제점으로 인해 위치 인식 정밀도가 낮으며, 특히 회전에 따른 오차와 슬립 현상에 의한 오차가 크다는 단점이 있다(12). 최근에는 실내 자율주행 로봇에 단일 비전 센서와 거리 센서를 사용하여 이동 로봇의 경로 계획과 장애물을 회피하는 방법에 대한 연구가 이루어지고 있다(13). 하지만 비전 센서만을 이용한 장애물 인식 및 위치 추정은 다양한 주행 환경에서 오도메타(Odometer) 정보로 활용하기에는 인식 오차와 처리 속도 등에서 아직도 미흡하다.

Liam Lynch 등은 2018년 ICST에 발표한 ‘AGV와 센서 기술 보고서’를 통해 유・무선 가이드 시스템의 장단점을 비교하여 정리하였다. 이들은 이동 로봇 가이드 시스템의 설치 비용과 설치 용이성, 로봇 시스템의 복잡성, 유연성, 경로 이탈 가능성, 효율성 및 확장성의 7개 분야에 대해 4가지 유・무선 가이드 시스템을 비교하였다(14). 그림 1은 Liam Lynch 등이 ‘AGV와 센서 기술 보고서’에서 분석한 실내 이동 로봇 시스템에 적용하고 있는 대표적인 4가지 유・무선 가이드 시스템을 비교한 그래프이다. 그림 1에서 레이저 가이드 시스템은 로봇 도입 비용과 경로 이탈 가능성, 복잡성에서 다른 가이드 시스템에 비해 상대적인 약점이 있는 반면, 설치 용이성과 유연성, SLAM 적용 가능성에는 상대적인 강점을 보유하고 있음을 알 수 있다.

본 논문에서는 문자 행렬 지도를 이용하여 타일 격자무늬 추적 로봇이 현재 위치를 파악하고 목적지까지 경로를 계획하여 자율주행 하는 방법을 제안한다. 이와 같은 이동 로봇의 실내 주행 방법은 로봇 시스템을 위한 별도의 시공이나 장치의 추가 없이 카메라의 정보만으로 이동 로봇의 위치 인식과 계획된 경로 주행을 가능하게 하므로 기존의 방법에 비해 간단하고 경제적이다. 또한 레이저 가이드 시스템의 단점인 경로 이탈 가능성과 복잡성을 극복할 수 있으므로 기존의 유・무선 가이드 시스템에 비해 상대적으로 장점이 많은 실내 이동 로봇의 자율주행 방법이라 할 수 있다.

그림 1 이동 로봇 가이드 시스템 비교

Fig. 1 Comparison of guidance system for mobile robot

../../Resources/kiee/KIEE.2021.70.7.1064/fig1.png

2. 타일 격자무늬 추적 자율주행 로봇

구경완 등은 ‘타일 격자무늬 추적 자율주행 로봇을 위한 위치 인식과 주행 제어’ 연구에서 단일 카메라만을 이용하여 실내 공간의 바닥면에 설치된 타일 정보를 분석해 위치를 인식하는 방법을 제안하였다(15). 타일 격자무늬 추적 자율주행 로봇은 바닥에 타일이 설치된 공간에서 로봇에 장착된 카메라를 통해 획득한 타일의 격자무늬 정보로부터 로봇의 위치 인식과 주행 제어에 필요한 정보를 추출한다.

타일 격자무늬 추적 자율주행 로봇은 카메라를 통해 획득한 영상을 이미지 전처리 과정을 거쳐 노이즈를 제거하고 이진화(Binarization)한다. 이진화된 이미지에서 원근 요소를 제거한 후 에지(Edge) 검출 알고리즘과 선 검출 알고리즘을 이용해 타일 격자무늬의 직선을 검출하여 이동 로봇의 위치 인식과 주행 제어에 필요한 가이드라인(Guideline)을 추출한다. 그림 2의 검정색 라인은 타일 격자무늬 추적 자율주행 로봇이 획득한 바닥 타일 영상으로부터 추출한 주행 제어를 위한 수평·수직 가이드라인이다.

그림 2 타일 격자무늬 추적 자율주행 로봇의 주행 제어를 위한 가이드라인

Fig. 2 Guidelines for driving control of the robot that tracks tile grid pattern

../../Resources/kiee/KIEE.2021.70.7.1064/fig2.png

타일 격자무늬 추적 자율주행 로봇의 주행 제어를 위해서는 그림 3의 파라미터를 사용한다. 주행 시작점에서 획득한 가이드라인을 초기 가이드라인(Initial guideline)이라 하고, 로봇이 주행을 시작한 후에 획득한 가이드라인을 주행시간 가이드라인(Runtime Guideline)이라 한다.

그림 3 타일 격자무늬 추적 자율주행 로봇의 주행 제어를 위한 파라미터

Fig. 3 Parameters for driving control of the robot that tracks tile grid pattern

../../Resources/kiee/KIEE.2021.70.7.1064/fig3.png

임의의 시간에 수평 가이드라인과 원점을 지나는 수평선이 이루는 각을 $\theta(t)$, 수직 가이드라인과 원점 $O$를 지나는 수평선의 교점 $X_{v}$와 원점까지의 거리를 $d(t)$라 하면, 로봇의 초기 위치와 현 위치 사이의 차이 $e(t)$를 식 (1)과 같이 정의할 수 있다.

(1)
$e(t)=\theta(t)+ Wd(t)$, $W : 가중값(Weighted Value)$

식 (1)에서 가중값은 경험치로 구할 수 있다. 타일 격자무늬 추적 자율주행 로봇의 직선 주행을 위한 조건은 $e(t)=0$이다.

타일 격자무늬 추적 자율주행 로봇의 주행 제어를 위해서는 PID 제어기를 사용하였다. PID제어기의 구조는 그림 4와 같다.

그림 4 타일 격자무늬 추적 자율주행 로봇을 위한 PID 제어 시스템 블록도

Fig. 4 Block diagram of PID control system for the robot that tracks tile grid pattern

../../Resources/kiee/KIEE.2021.70.7.1064/fig4.png

타일 격자무늬 추적 자율주행 로봇은 차동구동방식을 사용하기 때문에 로봇의 직선 주행을 위해서는 $e(t)$가 0보다 크면 좌측 모터의 RPM을 고정하고 PID 제어 알고리즘에 따라 우측 모터를 제어한다. $e(t)$가 0보다 작으면 그 반대 방법으로 제어를 수행한다.

타일 격자무늬 추적 자율주행 로봇의 성능 평가 결과에 의하면 타일 격자무늬 추적 자율주행 방식은 장시간 주행에도 경로를 이탈하지 않고 정확한 경로를 주행하며, 주행 중 인식한 타일의 수를 오도메타(Odometer) 정보로 사용할 수 있다(15).

3. 문자 기반 행렬 지도

본 논문에서는 타일 격자무늬 추적 자율주행 로봇을 위한 행렬식을 이용한 문자 기반의 행렬 지도를 제안한다.

그림 5 문자 행렬 지도를 위한 주행 영역 분할

Fig. 5 Division of driving area for character matrix map

../../Resources/kiee/KIEE.2021.70.7.1064/fig5.png

그림 5는 타일이 설치된 바닥면을 여려 개의 지역으로 나눈 그림이다. 이동 로봇이 주행 가능한 전체 공간은 $m\times n$개의 지역으로 나뉘어져 있다. 이와 같은 구조는 행렬식을 이용하여 식 (2)로 표현할 수 있다.

(2)
$A=\left[a_{xy}\right]=\begin{bmatrix}a_{11}&a_{12}&\cdots &a_{1n}\\a_{21}&a_{22}&\cdots &a_{2n}\\\vdots &\vdots &\ddot s &\vdots \\a_{m1}&a_{m2}&\cdots &a_{mn}\end{bmatrix}$

위 식의 $A$를 구역(Area)으로 정의한다.

각 지역은 동일한 개수와 모양을 갖는 타일의 집합으로 이루어져 있고 이는 그림 6과 같은 격자 구조를 갖는다. 이를 행렬식으로 표현하면 식 (3)과 같다.

그림 6 문자 행렬 지도를 위한 지역의 구성과 설정

Fig. 6 Configuration and settings of zone for character matrix map

../../Resources/kiee/KIEE.2021.70.7.1064/fig6.png

(3)
$Z_{xy}=\left[z_{jk}\right]=\begin{bmatrix}z_{11}&z_{12}&\cdots &z_{1q}\\z_{21}&z_{22}&\cdots &z_{q}\\\vdots &\vdots &\ddot s &\vdots \\z_{p1}&z_{p2}&\cdots &z_{pq}\end{bmatrix}$

위 식의 $Z_{xy}$는 지역(Zone)으로 정의한다.

$A$는 $m\times n$행렬, $Z$는 $p\times q$행렬이므로, 주행 공간에 설치된 타일의 전체 개수는 $m\times n\times p\times q$가 되며, 각 지역 행렬 $Z_{xy}$는 구역 행렬 $A$의 원소이다.

$Z_{xy}$를 구성하는 각각의 원소는 그리드(Grid)라 하고, 이는 설치된 타일 1개를 의미한다.

격자 지도를 구성하는 행렬에서 주행 가능 여부에 따라 행렬의 각 원소의 값은 다음 식 (4)과 같이 정한다.

(4)

주행 가능 지역: $a_{xy}=1$, $\forall[z_{jk}]=1$

주행 불가 지역: $a_{xy}=0$, $\forall[z_{jk}]=0$

3.1 주행 방향 인식

이동 로봇의 주행 경로 작성을 위하여 격자 지도상에 이동 로봇의 현 위치와 목적지를 표시하여야 한다. 본 논문에서 제안하는 격자 지도에서 로봇의 현 위치와 목적지는 식 (5)와 같이 표현한다.

(5)

현 위치: $a_{xy}=-1$, $\forall[z_{jk}]=-1$

목적지 : $a_{xy}=2$, $\forall[z_{jk}]=2$

이동 로봇이 목적지까지 이동할 때 현 위치는 갱신되고 현 위치의 값은 –1로 이전 위치의 값은 1로 변경한다. 목적지에 도착한 후에는 목적지가 현 위치로 갱신된다. 그림 7은 격자 지도의 예시이며, 식 (6)에서 식 (9)까지는 그림 6의 격자지도를 행렬로 표현한 식이다.

그림 7 타일 격자무늬 추적 자율주행 로봇을 위한 격자지도 예시

Fig. 7 Example of a grid map for the robot that tracks tile grid pattern

../../Resources/kiee/KIEE.2021.70.7.1064/fig7.png

(6)
$A=\begin{bmatrix}-1&1&1&1&1\\1&0&1&0&1\\1&1&1&1&2\end{bmatrix}$

(7)
\begin{align*} Z_{12}=Z_{13}=Z_{14}=Z_{15}=Z_{21}\\ =Z_{23}=Z_{25}=Z_{31}=Z_{32}=Z_{33}=Z_{34}=\begin{bmatrix}1&1&1\\1&1&1\\1&1&1\end{bmatrix} \end{align*}

(8)
$Z_{22}=Z_{24}=\begin{bmatrix}0&0&0\\0&0&0\\0&0&0\end{bmatrix}$

(9)
$Z_{11}=\begin{bmatrix}-1&-1&-1\\-1&-1&-1\\-1&-1&-1\end{bmatrix}$, $Z_{35}=\begin{bmatrix}2&2&2\\2&2&2\\2&2&2\end{bmatrix}$

타일 격자무늬 추적 자율주행 로봇은 차동주행방식을 적용하여 전・후진 주행과 좌・우 90도 회전이 가능하다.

이동 로봇의 전면 방향으로 진행할 경우 전진(Forward) 주행이라 하고, 전면 방향의 반대 방향으로 진행할 경우 후진(Reverse) 주행이라 한다.

그림 8 타일 격자무늬 추적 로봇의 주행 방향에 대한 정의

Fig. 8 Definition of the driving direction for the tile grid pattern tracking robot

../../Resources/kiee/KIEE.2021.70.7.1064/fig8.png

그림 8은 타일 격자무늬 추적 이동 로봇의 주행 방향에 대한 정의를 보여준다. 타일 격자무늬 추적 이동 로봇은 격자 지도를 기준으로 횡 방향 진행시 열 번호가 작은 쪽에서 큰 쪽으로 전진 주행하며, 반대로 열 번호가 큰 쪽에서 작은 쪽으로는 후진 주행한다. 종 방향 진행시 횡 번호가 작은 쪽에서 큰 쪽으로 전진 주행하며, 횡 번호가 큰 쪽에서 작은 쪽으로 후진 주행한다.

격자 지도를 이용하여 주행 경로를 작성하기 위해서는 로봇의 주행 방향에 대한 정의가 필요하다. 로봇의 주행 방향을 결정할 때는 행렬식에서 현 위치와 이전 위치의 행렬 원소의 행과 열 번호를 이용한다. 식 (10)는 로봇의 주행 방향을 인식하기 위한 수식이다. 구역 행렬 $A$에서 $a_{x_{t}y_{t}}$는 로봇의 현 위치 원소이고 $a_{x_{t-1}y_{t-1}}$는 이전 위치의 원소이다.

(10)

if $x_{t}=x_{t-1}{and}y_{t}>y_{t-1}$ then ‘횡 방향 전진’

if $x_{t}=x_{t-1}{and}y_{t}<y_{t-1}$ then ‘횡 방향 후진’

if $y_{t}=y_{t-1}{and}x_{t}>x_{t-1}$ then ‘종 방향 전진’

if $y_{t}=y_{t-1}{and}x_{t}<x_{t-1}$ then ‘종 방향 후진’

3.2 회전 방향 결정

타일 격자무늬 추적 이동 로봇은 차동구동방식을 적용하여 주행 중 방향 전환을 위해 정지 후 제자리에서 90도 좌・우회전이 가능하다. 주행 경로에서 방향 전환이 필요할 때, 이동 로봇의 회전 방향은 이동 로봇의 이전 진행 방향에 의해 결정된다. 이동 로봇이 횡 방향 주행 중이라면 이동 로봇의 회전은 항상 90도 우회전만 가능하다. 반대로 이동 로봇이 종 방향 주행 중 이었다면 이동 로봇의 회전은 항상 90도 좌회전만 가능하다. 이는 타일 격자무늬 추적 이동 로봇은 격자 지도를 기준으로 횡 방향 진행시 열 번호가 작은 쪽에서 큰 쪽으로 전진 주행하며, 반대로 열 번호가 큰 쪽에서 작은 쪽으로는 후진 주행하도록 프로그래밍 되었기 때문이다. 또한 이동 로봇이 종 방향 진행시 횡 번호가 작은 쪽에서 큰 쪽으로는 전진 주행하며, 횡 번호가 큰 쪽에서 작은 쪽으로는 후진 주행하도록 프로그래밍 되었다. 그림 9는 로봇의 진행 방향에 따른 회전 예를 보여준다. 타일 격자무늬 추적 이동 로봇은 회전 후에 초기 수평・수직 가이드라인을 다시 설정한다.

3.3 주행 경로 작성

이동 로봇의 현 위치가 $a_{x_{p}y_{p}}$, 목적지가 $a_{x_{d}y_{d}}$일 때, 로봇의 초기 주행 방향은 로봇의 이전 주행 방향에 의해 결정된다.

이전 진행 방향이 횡 방향인 경우의 초기 주행 방향은 식 (11)과 같고, 이전 진행 방향이 종 방향인 경우의 초기 주행 방향은 식 (12)와 같다.

(11)
$a_{x_{p}y_{p}}$ ⇒ $a_{x_{p}y_{d}}$↴$a_{x_{p}y_{d}}$ ⇒ $a_{x_{d}y_{d}}$

(12)
$a_{x_{p}y_{p}}$ ⇒ $a_{x_{d}y_{p}}$↴$a_{x_{d}y_{p}}$ ⇒ $a_{x_{d}y_{d}}$

식 (11)식 (12)에서 ‘⇒’ 기호 는 직선 주행을 의미하고, ‘↴’기호는 정지 위치에서의 회전을 의미한다. 회전 방향은 앞에서 설명한 바와 같이 이전 진행 방향과 다음 진행 방향에 의해 결정되는 회전 방향 결정 방법에 의해 정해진다.

그림 9 타일 격자무늬 추적 로봇의 회전 방법

Fig. 9 Rotation method of the tile grid pattern tracking robot

../../Resources/kiee/KIEE.2021.70.7.1064/fig9-1.png

../../Resources/kiee/KIEE.2021.70.7.1064/fig9-2.png

그림 10은 현 위치부터 목적지까지의 주행 경로 예시이며, 식 (13)식 (14)그림 10의 ①번 경로와 ②번 경로에 대한 이동 로봇의 주행 경로 계획 작성 예이다.

그림 10 타일 격자무늬 추적 로봇의 주행 경로 계획 예시

Fig. 10 Example of a path plan for the tile grid tracking robot

../../Resources/kiee/KIEE.2021.70.7.1064/fig10.png

▲ : Start, ● : Destination

(13)
$a_{22}\Rightarrow a_{23}\Rightarrow a_{24}\Rightarrow a_{25}\Rightarrow a_{26}\Rightarrow a_{27}$↴$a_{27}\Rightarrow a_{37}\Rightarrow a_{47}\Rightarrow a_{57}$

(14)
$a_{22}\Rightarrow a_{32}\Rightarrow a_{42}\Rightarrow a_{52}$↴$a_{52}\Rightarrow a_{53}\Rightarrow a_{54}\Rightarrow a_{55}\Rightarrow a_{56}\Rightarrow a_{57}$

식 (13)식 (14)를 통해 알 수 있듯이 그림 10의 예시에서 이동 로봇의 현 위치로부터 목적지까지의 두 개의 주행 경로는 거리가 같다. 이처럼 이동 로봇의 주행 거리가 같은 경로일 경우에는 이동 로봇의 현 위치에서의 주행 방향이 이동 경로의 최초 주행 방향과 같은 경로를 선택한다. 이동 로봇의 현 위치에서의 주행 방향이 초기 주행 방향과 다른 경우에는 초기 주행 시작 전에 이동 로봇의 회전이 필요하기 때문이다.

3.4 문자 기반 경로 탐색

타일 격자무늬 추적 이동 로봇의 주행 계획과 주행 경로 작성을 위한 격자 지도는 문자 기반의 경로 탐색이 가능하다. 이는 문자 기반 경로 탐색을 위한 행렬을 정의함으로써 가능하게 된다. 식 (15)는 원소 값이 문자열 값인 타일 격자무늬 추적 이동 로봇을 위한 행렬식이다. 식 (15)에서 $S$는 $m\times n$행렬이며, 식 (2)의 행렬 $A$의 크기와 같다.

(15)
$S=\left[s_{xy}\right]=\begin{bmatrix}s_{11}&s_{12}&\cdots &s_{1n}\\s_{21}&s_{22}&\cdots &s_{2n}\\\vdots &\vdots &\ddot s &\vdots \\s_{m1}&s_{m2}&\cdots &s_{mn}\end{bmatrix}$

식 (15)에서 행렬 $S$의 각 요소 값 $s_{xy}$는 유니코드 문자열 값이다. 식 (16)은 격자 지도의 구역 행렬의 크기가 $m\times n$인 주행 공간에서 특정 지역을 유니코드 문자열로 지정한 문자열 행렬 지도의 예이다.

(16)
$S=\left[s_{xy}\right]=\begin{bmatrix}s_{11}&s_{12}&\cdots &s_{1n}\\s_{21}&실험실&\cdots &s_{2n}\\\vdots &\vdots &\ddot s &\vdots \\s_{m1}&s_{m2}&\cdots &강의실\end{bmatrix}$

그림 11 문자 행렬 지도와 타일 격자무늬 추적 로봇의 주행 경로

Fig. 11 Character Matrix Map and driving path of the robot that tracks tile grid pattern

../../Resources/kiee/KIEE.2021.70.7.1064/fig11.png

▲ : Start, ● : Destination

식 (16)에서 $s_{22}=실험실$, $s_{mn}=강의실$이고, 행렬 $S$에서 문자열 값이 없는 나머지 원소의 값은 ‘null’이다. 그림 11에서 이동 로봇의 현 위치는 실험실이고, 목적지가 강의실 이라면 실험실은 $s_{22}$, 강의실은 $s_{mn}$이므로, 격자 지도에서 로봇의 현 위치와 목적지는 문자 행렬의 행과 열 번호와 같은 $A$행렬의 원소 $a_{22}$와 $a_{mn}$이고 이동 로봇의 주행 경로는 식 (17)와 같다.

(17)

① : $a_{22}$ ⇒ $a_{2n}$↴$a_{2n}$ ⇒ $a_{mn}$

② : $a_{22}$ ⇒ $a_{m2}$↴$a_{m2}$ ⇒ $a_{mn}$

그림 11의 예시에서 문자 행렬 지도를 이용하여 식 (17)과 같이 타일 격자무늬 추적 이동 로봇을 위한 주행 경로를 작성함으로써, 이동 로봇의 현 위치와 주행 경로, 목적지 등의 정보를 로봇과 인간이 문자 정보로 공유할 수 있다.

3.5 장애물 회피 경로 계획

이동 로봇의 주행 공간에 주행 불가 구역 또는 장애물이 있는 경우, 로봇은 장애물이 없는 주행 가능한 구역으로만 주행하여야 한다. 이를 위해 격자 지도를 이용한 장애물 표시 규칙과 주행 경로 계획을 위한 알고리즘이 필요하다. 본 논문에서는 격자 지도 위에 장애물 등의 위치를 행렬의 원소 값으로 표현한다. 식 (4)에서 장애물이 있는 지역을 주행 불가 지역으로 정의하고 구역 행렬 $A$와 지역 행렬 $Z$의 원소 값이 0임을 설명하였다. 그림 12는 타일 격자무늬 추적 자율주행 로봇을 위한 격자 지도에서 장애물이 있는 지역 혹은 주행 불가 지역을 표시하기 위한 기본 규칙이다. 격자 지도에서 장애물이 있는 주행 불가 지역은 음영으로 표시하고 주행 불가 지역의 모양은 사각형으로만 표시할 수 있으며 다각형 표시는 할 수 없다. 이는 이동 로봇의 단순한 주행 알고리즘을 위한 제한이다.

그림 12 격자 지도를 위한 주행 불가 지역 표시 규칙

Fig. 12 Undrivable area marking rules for matrix map

../../Resources/kiee/KIEE.2021.70.7.1064/fig12.png

그림 11에서 원과 폐곡선 영역이 장애물이 있거나 주행이 불가능한 구역일 때, 격자 지도상의 장애물 표시는 ②와 ④처럼 사각형 형태로 표시한다. ①과 ③은 장애물이 있음에도 주행 가능 구역으로 표시했거나, 주행 불가 구역의 모양이 사각형의 형태가 아니기 때문에 격자 지도에 주행 불가능한 구역으로 표시한 예로 부적절하다.

이동 로봇의 주행 공간에 주행 가능 지역과 주행 불가능 지역을 규칙에 따라 표시하였다면 이동 로봇의 현 위치로부터 목적지까지의 주행 경로 계획을 간단한 알고리즘으로 수립할 수 있다. 그림 13은 격자 지도상에 장애물이 있는 경우 장애물을 회피하여 로봇이 현 위치로 부터 목적지까지 주행하기 위한 주행 경로 계획을 수립하는 알고리즘 순서도이다.

그림 13 장애물 회피 경로 계획을 위한 알고리즘 순서도

Fig. 13 Algorithm flow chart for obstacle avoidance path planning algorithm

../../Resources/kiee/KIEE.2021.70.7.1064/fig13.png

그림 13의 알고리즘 순서도는 현 위치의 행과 열이 목적지의 행과 열보다 작은 경우에 해당되며, 이와 다른 경우에는 순서도에서 $x_{s}$와 $y_{s}$의 증가식을 적절히 변경하여야 한다.

그림 14는 주행 공간에 장애물이 있는 경우 장애물 회피 경로 계획 알고리즘을 이용하여 로봇이 현 위치로부터 목적지까지 주행하기 위한 경로 계획을 수립한 예시이다. 장애물 회피 경로 계획 알고리즘에 의해 실제 로봇이 주행하는 경로는 로봇의 주행 시작점에서의 초기 방향에 의해 결정된다. 그림 14의 예시에서 이동 로봇의 초기 주행 방향이 횡방향일 경우에는 이동 로봇은 ①번 주행 경로를 따라 주행하며, 초기 주행 방향이 종방향일 경우에는 ②번 주행 경로를 따라 주행한다.

그림 14 장애물 회피 경로 계획 알고리즘을 이용한 경로 계획 예시

Fig. 14 Path planning examples by obstacle avoidance path planning algorithm

../../Resources/kiee/KIEE.2021.70.7.1064/fig14-1.png

../../Resources/kiee/KIEE.2021.70.7.1064/fig14-2.png

../../Resources/kiee/KIEE.2021.70.7.1064/fig14-3.png

../../Resources/kiee/KIEE.2021.70.7.1064/fig14-4.png

▲ : Start, ● : Destination

4. 실 험

타일 격자무늬 추적 이동 로봇과 문자 행렬 지도를 이용하여 특정 위치로부터 목적지까지 주행하는 실험을 실시하였다. 로봇이 주행할 공간의 전체 면적은 약 250[$m^{2}$]이고, 주행 가능한 공간은 60⨯60[$mm$] 크기의 타일이 총 108개 설치되어 있다. 그림 15는 로봇이 주행할 장소의 평면도이고, 실제 주행할 공간은 ‘주행 가능’으로 표기한 공간이다.

그림 15 타일 격자무늬 추적 로봇의 자율 주행 실험을 위한 공간의 평면도

Fig. 15 Floor plan of a space for autonomous driving experiments of a robot that tracks tile grid pattern

../../Resources/kiee/KIEE.2021.70.7.1064/fig15.png

자율주행 실험을 위한 주행 구역은 그림 16과 같이 격자 지도로 표현 가능하다. 주행 구역을 행렬 $A$로 나타내면 식 (18)과 같다. 주행 구역에 포함된 각 지역은 식 (19), (20), (21), (22)와 같이 행렬식 $Z_{xy}$로 표현할 수 있다.

그림 16 자율 주행 실험을 위한 주행 구역의 격자 지도

Fig. 16 Grid map of driving area for autonomous driving experiments

../../Resources/kiee/KIEE.2021.70.7.1064/fig16.png

▲ : Start, ● : Destination

(18)
$A=\begin{bmatrix}-1&1&1&1&1&1&1&1&1&1&1&1&1&1&1\\1&0&0&0&0&0&0&0&0&0&0&0&0&0&1\\1&0&0&0&0&0&0&0&0&0&0&0&0&0&1\\1&0&0&0&0&0&0&0&0&0&0&0&0&0&1\\1&1&1&1&1&1&1 &1&1&1&1&1&1&1&2\end{bmatrix}$

(19)
if $a_{xy}= 1$ then $Z_{xy}=[z_{jk}]=\begin{bmatrix}1&1&1\\1&1&1\\1&1&1\end{bmatrix}$

(20)
if $a_{xy}= 0$ then $Z_{xy}=[z_{jk}]=\begin{bmatrix}0&0&0\\0&0&0\\0&0&0\end{bmatrix}$

(21)
if $a_{xy}= -1$ then $Z_{xy}=[z_{jk}]=\begin{bmatrix}-1&-1&-1\\-1&-1&-1\\-1&-1&-1\end{bmatrix}$

(22)
if $a_{xy}= 2$ then $Z_{xy}=[z_{jk}]=\begin{bmatrix}2&2&2\\2&2&2\\2&2&2\end{bmatrix}$

식 (23)은 주행 구역에 대한 문자 행렬 $S$이다.

(23)

$S=\begin{bmatrix}n&n&실험실&n&n&n&n&n&n&n&n&n&n&n&강의실\\n&n&n&n&n&n&n&n&n&n&n&n&n&n&n\\n&n&n&n&n&n&n&n&n&n&n&n&n&n&n\\n&n&n&n&n&n&n&n&n&n&n&n&n&n&n\\n&n&n&n&n&n&n &n&n&n&n&n&n&n&휴게실\end{bmatrix}$

$n=$null

로봇의 현 위치는 $a_{11}$이며, 현 위치의 지역 행렬 $Z_{1,\:1}$는 식 (24)이다.

(24)
$Z_{1,\:1}=\begin{bmatrix}-1&-1&-1\\-1&-1&-1\\-1&-1&-1\end{bmatrix}$

타일 격자무늬 추적 이동 로봇 시스템의 서브 컴퓨터(Sub PC)에서 무선 랜(Wireless LAN)을 이용하여 로봇에게 목적지 문자열을 전송하고 이동 로봇이 현 위치로부터 목적지까지 주행하도록 하였다. 로봇은 목적지 문자열을 수신하면 이동 로봇에 저장된 문자 행렬 지도 정보와 장애물 회피 알고리즘을 이용해 현 위치로부터 목적지까지 주행 경로를 작성한 후 작성된 경로에 맞춰 자율 주행을 수행하게 된다. 타일 격자무늬 추적 이동 로봇의 자율 주행 실험에서 로봇이 각 목적지까지 주행한 이동 경로는 식 (25)와 같다.

그림 17 타일 격자무늬 추적 로봇 자율주행 실험 이동 경로와 거리 오차

Fig. 17 Driving path and distance error of autonomous driving experiment for the robot that tracks tile grid pattern

../../Resources/kiee/KIEE.2021.70.7.1064/fig17.png

(25)

실험실 : $a_{1,\:1}\Rightarrow a_{1,\:2}\Rightarrow a_{1,\:3}$

강의실 : $a_{1,\:3}\Rightarrow a_{1,\:4}\Rightarrow a_{1,\:5}\Rightarrow\cdots\Rightarrow a_{1,\:13}\Rightarrow a_{1,\:14}\Rightarrow a_{1,\:15}$

학생휴게실 : $a_{1,\:15}$↴$a_{1,\:15}\Rightarrow a_{2,\:15}\Rightarrow a_{3,\:15}\Rightarrow a_{4,\:15}\Rightarrow a_{5,\:15}$

그림 17은 Sub PC에서 로봇으로 목적지 문자열을 전송한 후 로봇이 목적지에 도착하면 다음 목적지 문자열을 전송하는 방법으로 총 3개의 목적지를 순차적으로 전송한 후에 로봇이 주행한 경로와 각 지역의 중심 위치에서의 초기 가이드라인과 주행시간 가이드라인의 거리 오차 ‘d’를 기록한 그래프이다.

본 연구에서는 지금까지 설명한 실험을 표 1과 같은 조건에서 반복 수행하였다.

표 1 타일 격자무늬 추적 로봇 자율주행 실험 조건 및 환경

Table 1 Experimental conditions and environments of autonomous driving experiment for the robot that tracks tile grid pattern

Category

Value

Test Distance

31.2[m]

Speed

0.3[m/s] or less

Number of iterations

20 times

Illumination

150~1,000[Lux]

Temperature

10[℃]~30[℃]

Humidity

40[%]~70[%]

표 2는 문자 행렬 지도를 이용한 타일 격자무늬 추적 로봇의 자율주행 실험을 20회 반복 수행한 결과를 요약하여 보여준다.

표 2 문자 행렬 지도를 이용한 타일 격자무늬 추적 로봇 자율주행 실험 결과

Table 2 The result of autonomous driving experiment for the robot that tracks tile grid pattern using character matrix map

Category

Value

Unit

Total Driving Distance

648

[m]

Total Driving Time

2316

[sec]

Average Speed

0.28

[m/s]

Maximum Distance Error

0.053

[m]

Average Distance Error

0.026

[m]

Performance Accuracy

0.028

[m]

표 2에서 성능 정확도(Performance accuracy)는 지능형 로봇 표준 포럼 KOROS 1079-1:2013의 이동로봇 위치 인식 성능 정확도 산출 방법에 따라 구하였다. KOROS 1079-1:2013에서 이동로봇 위치 인식 성능 정확도를 구하는 방법은 식 (26),(27)과 같이 정하고 있다.

정해진 경로를 $N$회 반복하여 주행하는 실험에서 $j$번째 반복 시험에서의 성능 정확도 $A_{j}$를 식 (26)이라고 할 때,

(26)
$A_{j}=\sum_{i=1}^{4}\dfrac{\left | P_{i}-P_{ij}^{'}\right |}{4}$

$P_{i}$ : $i$번째 시험의 기준 위치

$P^{'}_{ij}$ : $i$번째 시험 위치의 $j$번째 반복 시험에서 이동 로봇의 위치

이동로봇의 위치인식 성능 정확도 $\overline{A}$는 식 (27)과 같다.

(27)
$\overline{A}=\dfrac{1}{N}\sum_{j=1}^{N}A_{j}$

문자 행렬 지도를 이용한 타일 격자무늬 추적 로봇의 자율주행 실험에서 $N$=20이며, 시험 기준 위치는 문자 행렬 $S$의 원소 값이 ‘실험실’, ‘강의실’, ‘휴게실’인 원소의 행과 열 번호와 같은 구역 행렬 $A$의 원소에 해당하는 격자지도의 중심점 위치이다.

31.2[m]의 주행 거리를 총 20회 반복 주행하는 문자 행렬 지도를 이용한 타일 격자무늬 추적 로봇의 자율 주행 실험에서 KOROS 1079-1:2013에 근거한 위치 인식 성능 정확도는 0.028[m]이다. 이는 기존의 유・무선 가이드 시스템을 이용한 실내 이동 로봇의 성능 정확도에 비해 매우 높은 정확도이다.

문자 행렬 지도를 이용한 이동 로봇의 자율 주행 실험 결과에서 보여주듯이 타일 격자무늬 추적 자율주행 로봇은 주행 구역에 대한 문자 행렬($S$)과 장애물 회피 알고리즘을 이용하여 정확한 주행 경로를 계획하였다. 또한 648[m]의 거리를 2316초 동안 주행 경로를 따라 이동하면서 단 한 번의 경로 이탈도 발생하지 않았다.

5. 결 론

이동 로봇의 자율주행을 구현하기 위해서는 로봇의 위치 인식과 네비게이션(Navigation) 기술이 매우 중요하다. 자율주행 로봇을 위한 위치 인식 기술은 인공지표나 비전을 기반으로 진행되고 있다. 하지만 현재까지 연구된 다양한 로봇의 위치 인식과 자율주행 기법은 위치 인식의 오차 범위가 일정 기준 이상 발생하고 별도의 시공이나 장치를 필요로 한다.

구경완 등이 ‘타일 격자무늬 추적 자율주행 로봇을 위한 위치 인식과 주행 제어’ 연구를 통해 개발한 자율주행 로봇은 단일 카메라만을 이용하여 실내 공간의 바닥면에 설치된 타일의 격자무늬 정보를 분석해 위치를 인식하고 주행 방향을 결정한다. 이와 같은 주행 방법은 별도의 유도장치를 설치할 필요가 없고 정확한 위치 인식과 누적 오차가 없는 주행을 가능하게 하였다.

본 논문에서는 타일 격자무늬 추적 이동 로봇의 자율주행을 위한 문자 행렬 지도를 제안하였다. 타일 격자무늬 추적 이동 로봇의 위치 인식을 위하여 로봇이 주행하는 공간을 행렬식으로 표현하는 타일 격자무늬 정보를 포함한 행렬 지도를 작성하였다. 이동 로봇이 주행하는 공간의 특정 장소를 문자로 정의하고 이를 기반으로 문자 행렬 지도를 작성한 후 로봇에게 주행할 목적지를 문자 명령으로 전달하면 로봇은 문자 행렬 지도에서 목적지의 위치 정보를 추출하고 행렬 지도에서 로봇의 현 위치와 목적지를 파악하여 주행 경로를 계획할 수 있다. 또한 문자 행렬 지도 기반의 장애물 회피 알고리즘을 이용하여 주행 공간에 주행 불가 지역이 존재하거나 장애물이 있을 때 이를 회피하는 주행 경로 계획을 수립하도록 하였다.

그림 18 격자무늬 추적 시스템과 유・무선 가이드 시스템 비교

Fig. 18 Comparison of the grid pattern tracking system and the other guidance system

../../Resources/kiee/KIEE.2021.70.7.1064/fig18.png

문자 행렬 지도를 이용한 이동 로봇의 자율주행 실험을 수행한 결과를 통해 타일 격자무늬 추적 자율주행 로봇은 바닥에 타일이 설치된 실내 공간에서 로봇에 부착된 단일 카메라만으로 누적 오차 없이 주행할 수 있음을 확인하였다. 또한 문자 행렬 지도와 장애물 회피 알고리즘을 이용하여 로봇이 스스로 목적지까지의 경로를 수립하고 정해진 경로를 따라 정확하게 주행하는 것을 확인하였다.

그림 18은 실내 이동 로봇을 위한 문자 행렬 지도 기반의 격자무늬 추적 시스템과 기존의 대표적인 4가지 유・무선 가이드 시스템의 장・단점을 비교한 그래프이다.

문자 행렬 지도 기반의 타일격자무늬 추적 자율주행 로봇은 위치인식 성능 정확도가 매우 높아서 레이져 시스템의 단점인 경로 이탈 문제가 발생하지 않는다. 또한 별도의 시공이나 장치의 추가 없이 단일 카메라만으로 이동 로봇의 위치 인식과 주행 제어를 가능하게 하므로 기존의 방법에 비해 간단하고 경제적이다. 효율성, 유연성, 확장 용이성 측면에서도 우수함을 그림 18을 통해 알 수 있다.

문자 행렬 지도 기반의 자율 주행은 인간과 로봇이 위치 정보를 문자로 공유할 수 있기 때문에 자율주행 로봇에 문자를 이용한 목적지 및 주행 경로 설정 등의 유용한 기능을 추가할 수 있다.

향후에는 심층신경망 광학문자인식 기술을 활용해 격자무늬 추적 이동 로봇이 주행 환경에 있는 문자를 인식하여 문자 행렬 지도를 이용한 자율주행 성능을 더욱 높일 수 있는 방법이 추가적으로 진행되어야 한다.

Acknowledgements

References

1 
Dong-Yong Kawk, Kyoung-Hwan An, Jeong-Dan Choi, 2011, Technology Trends of Automatic Vehicle Guidance System, ETRI, Electronics and telecommunications trends, Vol. 26, No. 6, pp. 47-57Google Search
2 
Young-Wan Cho, Jong-Seok Lee, Kwang-Yup Lee, 2020, CNN based Reinforcement Learning for Driving Behavior of Simulated Self-Driving Car, The transactions of The Korean Institute of Electrical Engineers, Vol. 69, No. 11, pp. 1740-1749Google Search
3 
Seong-Seok Choi, Eung-Seon Kang, Seung-Jae Pee, Jae- Keun Song, Ju-Wook Jang, 2018, A Blockchain-based Drone Delivery System, The Korean Institute of Electrical Engi- neers, Vol. information and control symposium, pp. 190-191Google Search
4 
Se-Jun Park, Tae-Kyu Yang, 2013, A Study on Design of Intelligent Mobile Robot based on Localization Sensor for Unmanned Transport Logistics, The Journal of Korean Institute of Information Technology, Vol. 11, No. 9, pp. 7-13Google Search
5 
Ki-Sung You, Chin-Tae Choi, 2011, Development of Localization Sensor System for Intelligent Robot, Journal of Institute of Control, Robotics and Systems, Vol. 17, No. 2, pp. 116-124DOI
6 
Andrea. Garuli, Antonio. Giannitrapani, Andrea. Rossi, Antonio. Vicino, 2005, Mobile robot SLAM for line-based envi- ronment representation, IEEE Conference on Decision and Control and the European Control Conference, pp. 2041-2046Google Search
7 
V. J. Lumelsky, T. Skewis, 1990, Incorporating range sensing in the robot navigation function, IEEE Tran- sactions on Systems, Man, and Cybernetics, Vol. 20, No. 5, pp. 1058-1069DOI
8 
Young-Suk Kim, Tae-Wan Kim, Chang-Goo Lee, 2002, A Study of Line Recognition and Driving Direction Control on Vision based AGV, The Korean Institute of Electrical Engineers(KIEE) Summer Conference 2002, Vol. 2002, No. 7, pp. 2341-2343Google Search
9 
Man-Hee Lee, Whang Cho, 2005, Indoor Environment Recognition Method for Indoor Autonomous Mobile Robot, The Transaction of The Korean Institute of Electrical Engineers D, Vol. 54, No. 6, pp. 366-371Google Search
10 
S. H. Mo, D. H. Yu, J. H. Park, K. T. Chong, 2016, Robust Mobile Robot Localization for Indoor SLAM, Journal of Institute of Control, Robots and Systems, Vol. 22, No. 4, pp. 301-306DOI
11 
D. ROJAS, G. Millan, F. Passold, R. Osorio, C. Cubillos, G. Lefranc, 2014, Algorithms for Maps Construction and Localization in a Mobile Robot, Studies in Informatics and Control, Vol. 23, No. 2, pp. 189-196Google Search
12 
Shin-Hyuk Kang, Mun-Suck Jang, Dong-Kwang Lee, Eung-Hyuk Lee, 2009, A Study on the Compensating of the Dead-reckoning Based on SLAM Using the Inertial Sensor, The Institute of Electronics Engineers of Korea - System and Control, Vol. 46, No. 2, pp. 28-35Google Search
13 
Ghang-Lae Seo, Geun-Taek Kang, Won-Chang Lee, 2009, Navigation of an Autonomous Mobile Robot with Vision and Distance Sensors, Proceedings of the Korean Institute of Intelligent Systems Conference, Vol. 19, No. 2, pp. 108-111DOI
14 
L. Lynch, T. Newe, J. Clifford, J. Coleman, J. Walsh, D. Toal, 2018, Automated Ground Vehicle (AGV) and Sensor Technologies - A Review, 2018 12th International Conference on Sensing Technology (ICST), pp. 347-352DOI
15 
Jung-Ju Kim, Dong-Jin Kim, Kyung-Wan Koo, 2021, Position recognition and driving control for an autonomous mobile robot that tracks tile grid pattern, The Transactions of the Korean Institute of Electrical Engineers, Vol. 70, No. 6, pp. 945-952Google Search

저자소개

김정주(Jung-Ju Kim)
../../Resources/kiee/KIEE.2021.70.7.1064/au1.png

He received his B.S in Electronics Engineering, M.S. degree and PH.D. Cand.

in Electronics Engineering from Hoseo University, Asan, Korea.

He is currently Professor in Robotics and Auto- mation Engineering at Hoseo University, Asan, Korea since 2021.

His research interests are pattern recognition, image processing, deep learnig, embedded system application, and automotive mobile robot.

김동진(Dong-Jin Kim)
../../Resources/kiee/KIEE.2021.70.7.1064/au2.png

He received his B.S. in Control and Instru- mentation Engineering, and M.S. and PH.D. degree in Electronics Engineering from Hoseo University, Asan, Korea, in 1998, 2000 and 2007, respectively.

He is currently Professor in Robotics and Automation Engineering at Hoseo University, Asan, Korea since 2007.

His research interests sensors, embedded system application, and smart factories.

구경완(Kyung-Wan Koo)
../../Resources/kiee/KIEE.2021.70.7.1064/au3.png

1983 Chungnam National University, Department of Electronics Engineering.

1992 Chungnam National University, Department of Electronics Engineering (Ph.D.) 1987~1989 Hyundai Elec- tronics Senior Researcher.

1989~1994 Assistant Professor, Dept. of Electronics, Chungcheong Junior College.

1994~2005 Associate Professor, School of Electronic and Information Engi- neering, Yeungdong University.

2005~present Professor, Department of Automotive ICT Engi- neering, Hoseo University.

E-mail: alarmkoo@hoseo.edu