본 발명은 전술한 종래의 로봇의 자율 주행 방법에 관한 기술의 문제점을 해결하기 위한 것으로, 스마트 환경기술을 기반으로 하여 의미론적 정보를 포함하는 지도를 이용함으로써, 저비용으로 로봇이 주행할 환경의 넓이에 관계없이 신뢰성 있는 주행이 가능할 뿐 아니라, 동적인 환경에서도 지능적인 주행이 가능한 로봇의 자율 주행 방법을 제공하는 것을 목적으로 한다.
전술한 목적을 달성하기 위한 본 발명에 따른 로봇의 자율 주행 방법은, (a) 로봇의 이동 공간을 구분한 셀(cell)의 종류와 이름에 대한 정보를 갖는 시맨틱(semantic) 계층과, 셀의 위치와 크기에 대한 정보를 갖는 메트릭(metric) 계층과, 다른 셀과의 연결점에 대한 정보를 갖는 커넥션(connection) 계층과, 로봇의 현재 위치를 결정하기 위한 로컬라이제이션 정보 계층을 포함하는 구조로 이루어진 의미적 지도 정보를 로봇에 로딩하는 단계; (b) 상기 로봇이 자체에 구비된 위치인식 센서 또는 상기 의미적 지도에 포함된 로컬라이제이션 정보를 이용하여 외부의 위치인식 장치로부터 현재 위치정보를 획득하는 단계; (c) 제공된 목적지와, 로딩된 의미적 지도 정보 및 획득된 로봇의 현재 위치정보를 기초로 의미적 주행 경로 를 설정하는 단계; 및 (d) 상기 로봇이 설정된 경로에 따라 주행하는 단계를; 포함하는데 구성적 특징이 있다.
본 발명에 따른 자율 주행 방법의 경우, 구축되어 있는 스마트 환경을 통해서, 로봇이 주행할 환경에 관한 지도 정보를 사전에 로봇에 로딩하는 방식을 사용한다. 따라서 고가의 센서장비를 구비하여 로봇이 자체적으로 지도를 작성하는 방식에 비하여, 저비용으로 자율 주행이 가능하게 된다.
또한, 본 발명에 따라 제공되는 지도의 전술한 계층 정보는 다음과 같은 기능을 갖는다.
먼저, 상기 의미적 지도에서 전체 환경에서 구분될 수 있는 공간을 셀(cell) 이라는 기본 단위로 나타내어지며, 전체 환경은 각 단위 셀(cell)의 집합체로 표현된다.
그리고 상기 시맨틱(semantic) 계층은 각 셀(cell)의 종류와 이름에 대한 정보를 가지고 있기 때문에, 이 계층의 정보를 통해 로봇이 현재 위치하는 공간이 어디인지 의미적으로 알 수 있게 된다. 이에 따라, 종래 이동 로봇에게 위치와 방향(x,y,q) 형태로 지시하는 것과 달리, 본 발명에 따른 지도에 의하면 로봇에게 이동 목적지를 '101호 연구실'과 같은 의미적인 이름으로 지시하는 것이 가능해진다.
또한, 상기 메트릭(metric) 계층은 각 셀(cell)의 위치, 크기 정보를 가지고 있기 때문에, 메트릭 계층의 정보는, 로봇이 경로계획을 설정할 때 목적지의 위치 (x,y)가 어느 셀(cell)에 속하는지 검색할 수 있도록 하며, 또한 경로계획 설정 후 실제 거리를 계산하는데 사용될 수 있다.
또한, 상기 커넥션(connection) 계층은, 각 셀(cell)에 있어서 하나 이상의 다른 셀(cell)과 연결되는 연결점에 대한 정보로서 단순한 연결정보 외에 연결점의 종류를 나타내는 토폴로지컬(topological) 정보를 가지는데, 이를 통해 로봇은 현재 경유하는 연결점이 어떤 연결점인지를 알 수 있으므로 그에 따른 지능적 처리를 수행할 수 있게 된다. 예를 들어 로봇이 자동문을 통과할 때는 앞에서 문이 열릴 때까지 기다렸다가 통과하거나, 일반 문이면 손잡이를 인식하여 문을 여는 동작을 하거나, 또는 소리로서 문을 여는 요청을 하여 문을 통과하는 등 종래의 지도로는 구현하기 어려웠던 지능적인 자율주행이 본 발명에 의하면 가능하게 된다.
또한, 상기 로컬라이제이션(localization) 계층은 로봇이 자체 센서 외에 외부로부터 자신의 현재 위치정보를 획득할 수 있는 수단에 대한 정보를 보유한 계층이다. 이와 같이, 본 발명에 따른 지도에서는 외부 환경에 설치된 로봇의 위치인식수단의 정보를 제공함으로써, 로봇에 설치된 자체 센서에 의한 위치인식의 오류를 외부 환경에 설치된 로봇의 위치인식수단을 통해 정정할 수 있도록 하여, 넓은 지역에서도 신뢰성이 있는 자기위치인식과 자율주행이 가능하게 된다.
한편, 상기 로봇의 위치인식수단으로는 환경에 설치된 로봇의 위치인식센서일 수 있으며, 이 경우 로컬라이제이션 정보는 위치인식센서에 관한 정보(센서가 설치된 위치, 방향 (x,y,q) 정보 외에도 로봇이 센서 네트워크를 통해 위치인식 센서와 연결하기 위한 네트워크 주소 등)를 포함할 수 있다. 이러한 정보를 통해, 로봇은 이동하면서 연결하거나 끊어야 할 위치인식 센서를 지능적으로 판단하여 위치정보를 받을 수 있게 되며, 많은 센서가 설치된 넓은 공간에서도 본 발명에 따른 지도 정보를 참조하여 신뢰성 있는 위치정보를 획득할 수 있게 된다.
또한, 상기 의미적 지도는 추가로 각 셀 내에 위치하는 고정 물체에 대한 정보를 갖는 물체(object) 계층을 포함할 수 있는데, 상기 물체 계층에는 물체의 위치, 방향 (x,y,q) 정보와 물체의 인식정보(예컨대, 최대 128비트의 RFID 고유 번호)가 저장될 수 있다. 이러한 정보를 통해, 로봇의 이동 목적지를 물체의 ID나 이름으로 부여할 수 있게 되며, 로봇이 최초로 들어간 환경에서도 서버로부터 본 발명에 지도 정보를 부여받으면 별도의 탐사작업 없이 자율 주행 가능하게 된다.
또한, 본 발명에 따른 로봇의 자율 주행 방법에 있어서, 상기 (c) 단계의 의미적 주행 경로의 설정은, (e) 제공된 목적지의 정보의 계층을 식별하는 단계; (f) 제공된 목적지의 정보가 메트릭 계층이 아닌 시맨틱 계층 또는 물체 계층인 경우, 시맨틱 계층 또는 물체 계층으로 제공된 정보를 상기 의미적 지도의 메트릭 계층 정보를 활용하여 메트릭 계층의 정보로 변환하는 단계; (g) 제공된 목적지의 메트릭 계층 정보를 상기 의미적 지도의 커넥션 계층 정보를 통해, 커넥션 계층 수준의 경로를 설정하는 단계; (h) 상기 커넥션 계층 수준의 경로를 상기 의미적 지도의 메트릭 계층 정보를 통해, 각 경로에 메트릭 정보를 부가하는 단계; 및 (i) 상기 메트릭 정보가 부가된 경로에 상기 의미적 지도의 시맨틱 계층 정보를 통해, 각 경로에 시맨틱 정보를 부가하는 단계;를 통해 수행된다.
이상과 같은 알고리즘을 통해, 이동 로봇은 제공된 의미적 지도 정보를 활용하여, 의미적인 경로 설정이 가능해지며, 이에 따라 지능적인 자율 주행이 가능해진다.
또한 본 발명에 따른 로봇의 자율 주행 방법에 있어서, 상기 (a) 단계에서의 의미적 지도 정보의 로딩은 XML 파일 형식으로 수행되는 것이 바람직한데, XML형태로 지도를 표현함으로써 지도정보의 표준화가 가능하게 된다.
또한 본 발명에 따른 로봇의 자율 주행 방법에 있어서, 상기 (a) 단계의 의미적 지도 정보의 로딩은 상기 로봇이 환경에 대한 의미적 지도를 보유하고 있지 않을 경우에만 수행되도록 하는데, 이는 이미 로봇이 환경에 대한 지도를 보유하고 있을 때에는 재차 환경에 진입하더라도 지도 정보를 반복하여 로딩할 필요가 없기 때문이다.
또한 본 발명에 따른 로봇의 자율 주행 방법에 있어서, 상기 (b) 단계는, 상기 위치인식센서에 대한 정보로부터 최근접 위치인식센서에 관한 정보를 획득하고, 최근접 위치인식센서로부터 위치정보를 수신하여 상기 로봇의 자기 위치를 결정하도록 한다. 이러한 구성을 통해, 로봇에 고가의 위치인식센서를 구비하지 않아도 신뢰성 있는 위치정보를 획득할 수 있게 되며, 환경에 설치된 위치인식센서로부터 획득한 위치정보를 통해 위치정보의 오차가 축적되는 것을 막을 수 있어, 넓은 지역에서도 로봇이 자신의 현재 위치를 신뢰성 있게 결정할 수 있게 된다.
또한 상기 연결점에 대한 정보는 각 연결점에 따른 통과방법에 대한 정보를 포함하고 있어, 상기 로봇이 연결점의 종류에 따른 대응이 가능한 것을 특징으로 한다.
또한 본 발명에 따른 로봇의 자율 주행 방법에 있어서, 상기 로봇에는 각 셀에 배치된 물체와의 거리를 측정할 수 있는 거리측정수단이 구비되어 있어, 상기 거리측정수단을 통해 상기 3개 이상의 고정물체와 상기 로봇 사이의 거리를 측정한 정보와 상기 물체 계층으로부터 획득한 3개 이상의 고정 물체의 정보를 연산하여 자기 위치를 결정할 수 있다. 이로써, 위치인식센서가 구비되어 있지 않은 환경이나, 위치인식센서의 오작동 또는 고장으로 인해 로봇이 외부로부터 자신의 위치정보를 획득할 수 없을 때에도, 상기 물체 정보가 로봇의 현재 위치정보를 제공하는 백업 수단이 될 수 있다.
본 발명에 따른 로봇의 주행 방법에 의하면, 스마트 환경기술을 기반으로 한 의미적 정보를 포함하는 지도를 외부에서 로봇에 로딩하는 방법을 사용함으로써, 저비용으로 로봇이 지능적이고 효율적인 주행을 할 수 있게 된다.
또한 본 발명에 따른 로봇의 주행 방법에 의하면, 가정, 사무실, 빌딩, 공공기관 건물 등의 다양한 넓이와 종류의 공간에서도 신뢰성 있는 주행이 가능하게 된다.
또한 본 발명에 따른 로봇의 주행 방법에 의하면, 단순히 노드(node)와 에지(edge)로서 인식되는 것이 아니라, 문, 자동문, 방, 복도 등과 같은 구체적인 개념의 의미를 포함하는 의미적(semantic) 경로에 의해 주행하기 때문에, 복잡하고 동적인 환경에서도 로봇의 동작을 지능적으로 구현시킬 수 있다.
이하, 본 발명의 실시예를 참조하여 본 발명에 대해 보다 구체적으로 설명한다. 그러나 하기 실시예는 단지 예시에 불과한 것으로서, 본 발명을 한정하는 것 으로 해석되어서는 안 된다.
먼저, 본 발명의 실시예에 따른 로봇의 주행방법에 있어서, 로봇에 로딩(loading)되는 의미적 지도에 대해 설명한다.
본 발명의 실시예에 따른 의미적 지도(semantic map)에서, 환경에서 구분될 수 있는 공간의 최소 단위를 셀(cell)로 설정하였고, 단위 셀(cell)은 도 1에 도시된 바와 같이, 사각형의 공간으로 표현되며 내부에는 다른 공간과 연결되는 연결점, 로봇에 구비되어 있는 식별자(indicator)를 인식하여 로봇의 현재 위치를 알려주는 위치인식 센서, 그리고 랜드마크(landmark)로 사용할 수 있는 고정 물체로 구성되어 있다고 정의하였다.
그리고 상기 단위 셀에 대해서는 시맨틱(semantic), 메트릭(metric), 연결점(connections), 센서(sensors) 및 물체(objects)의 5 계층의 자료 구조로 이루어지도록 모델링하였으며, 각 계층의 구체적인 구성은 하기 표 1과 같이 하였다.
본 발명의 실시예에 따른 의미적 지도의 자료 구조
계층 |
정보 |
의미 |
구체적인 예 |
시맨틱 |
타입(type) |
현재 셀의 종류 |
방, 복도 |
명칭(name) |
셀의 명칭 |
102호 |
메트릭 |
위치(position) |
셀의 중심위치 |
x, y |
크기(size) |
셀의 크기(폭, 높이) |
w, h |
커넥션 |
수(number) |
셀의 연결점 수 |
n ≥ 1 |
단위 연결점[n] |
연결점의 형태 |
|
연결점의 위치, 방향 |
연결된 셀의 ID |
센서 |
수(number) |
설치된 센서의 수 |
m ≥ 0 |
단위 센서[m] |
설치된 센서의 위치, 방향 |
|
설치된 센서의 네트워크 주소 |
물체 |
수(number)
|
단위 셀 내의 물체의 개수 |
j ≥ 0 |
단위 물체[j] |
물체의 위치, 방향 |
|
물체의 RFID 코드 |
표 1에 제시된 바와 같이, 본 발명의 실시예에 따른 의미적 지도의 자료구조 중, 시맨틱 계층은 셀의 종류와 명칭에 대한 정보를 가지고 있으며, 이는 로봇이 현재 위치한 공간이 어디인지 알 수 있도록 한다. 또한 로봇에게 이동 목적지를 종래 위치와 방향(x,y,q) 형태로 지시하는 것과 달리 “101호 연구실”같은 의미적인 이름으로 지시하는 것이 가능하게 한다.
상기 메트릭 계층은 셀의 위치 및 크기 정보를 가지고 있는 계층으로, 본 발명의 실시예에 따른 셀은 단위 셀이 사각형으로 모델링되어 있기 때문에, 위치는 x, y좌표로, 크기는 폭(width)과 높이(height)로 표현된다. 이와 같은, 메트릭 계층은 로봇이 경로를 계획할 때, 목적지의 위치(x,y)가 어느 셀에 속하는지 검색할 수 있도록 하며, 경로계획 후 실제 거리를 계산하는데 사용된다.
상기 커넥션 계층은 다른 셀과 연결되는 연결점에 대한 정보를 갖는데, 이는 곧 각 셀 간 토폴로지컬(topological) 정보를 갖는 것을 의미한다. 커넥션 계층의 연결점은 하나 이상이며 단순한 연결정보 이외에 연결점의 종류 정보(예컨대, 개방된 문, 일반문, 여닫이문, 자동문, 엘리베이터 등)를 가지고 있어 로봇이 지금 경유하는 연결점이 어떤 연결점인지를 알 수 있도록 하고, 각 연결점의 종류에 맞추어 예를 들어 로봇이 자동문을 통과할 때는 앞에서 문이 열릴 때까지 기다렸다가 통과할 수 있으며, 일반 문이면 손잡이를 인식하여 문을 여는 동작을 하거나 아니면 소리로서 문을 열어달라는 요청을 하여 문을 통과하는 등의 지능적인 자율주행을 가능하게 한다.
상기 센서 계층은 셀 내에 설치된 위치인식 센서의 정보를 가지는데, 상기 센서의 정보에는 단위 셀에 설치된 위치인식 센서의 수(number), 센서가 설치된 위치 및 방향은 물론, 로봇이 센서 네트워크를 통해 위치정보를 받을 수 있도록 통신 연결을 위한 센서의 네트워크 주소가 포함된다. 이와 같은 센서 계층의 정보를 통해, 로봇은 이동하면서 연결을 생성하거나 끊어야 할 위치인식 센서를 지능적으로 판단하여 위치정보를 받을 수 있게 되므로, 많은 센서가 설치된 넓은 공간에서도 본 발명의 실시예에 따른 지도 정보를 참조하여 위치를 정확하게 인식할 수 있게 된다.
상기 물체 계층은 각 셀 내에 위치하고 있는 고정형 물체들의 정보를 가진다. 상기 정보는 각 셀 내에 위치한 고정형 물체의 수(number), 각 물체의 위치와 방향, 그리고 각 고정형 물체에 부착되어 있는 최대 128비트의 RFID 코드를 포함한다. 이러한 정보를 통해, 로봇은 구비된 RFID 리더를 통해 인식된 RFID 코드와 일치하는 물체의 위치와 방향 등을, 지도 정보로부터 획득할 수 있기 때문에, 최초로 진입한 환경이라도 별도의 별도 탐사작업 없이 자율주행이 가능하게 된다. 또한, RFID 코드는 각 물체별로 고유의 정보가 되므로, 이를 이용하면 지도정보가 없을 때 서버를 통해 적합한 지도정보를 전달받을 수 있는 키(key) 값이 될 수 있다. 그리고 고장이나 미설치 등으로 인해 위치인식센서로부터 로봇이 위치인식센서를 이용할 수 없고, 단위 셀 내에 적어도 3개의 고정형 물체가 있는 경우, 로봇은 자신과 각 물체 간의 거리정보를 측정하여, 각 물체의 위치정보와의 연산을 통해, 정확한 현재 위치를 파악할 수도 있다. 즉, 본 발명에 따른 물체의 정보는 센서 계층의 백업용으로도 사용될 수 있다.
다음으로 전술한 의미적 지도를 활용하여 로봇이 의미적 경로를 설정하는 알고리즘에 대해 설명한다.
본 발명의 실시예에 따른 의미적 지도는 계층별로 구성되어 있으므로 각 계층의 정보 수준에 따른 경로계획 요청이 가능하다. 최종적인 경로계획은 커넥션(connections) 계층에서 이루어지지만, 목적지가 위치 및 방향으로 제시되는 일반적인 (x,y,q) 형식의 메트릭 계층에서의 경로계획 요청, 목적지가 "101호 연구실", "작은 방"과 같은 형식의 시맨틱 계층의 경로계획 요청, 또는 "00FF312310FC - 작은방 테이블"과 같은 형식의 물체 계층의 경로계획 요청 등 다양한 형태의 경로계획 요청이 가능하다.
또한, 요청된 경로계획에는 모든 계층의 정보, 시맨틱, 메트릭, 커넥션 정보를 모두 포함하게 되며, 이들 정보는 각 계층을 거치면서 차례로 추가된다. 요청된 경로계획을 의미적 경로로 설정하는 개략적인 흐름은 다음과 같다.
예를 들어, 시맨틱 수준의 경로계획을 요청하면, 도 3에 화살표로 표시된 바와 같이, 시맨틱 계층에서 메트릭 수준에 적합한 위치정보로 변환해서 내려주고, 메트릭 계층에서는 다시 커넥션 계층에 맞도록 위치를 셀 정보로 변환해서 내려주며, 최종적으로 커넥션 계층에서 토폴로지컬 경로를 계산하게 된다. 계산된 토폴로지컬 경로는 단순한 연결정보만으로 구성되는데, 이는 다시 메트릭 계층을 통해 위치정보 및 연결점 간의 실제 거리 등의 경로정보가 부가되며, 최종적으로 시맨틱 계층을 지나면서 의미적 정보가 더해져, 의미적 경로가 도출된다.
마찬가지로, 도 3에 도시된 바와 같이, 경로계획이 물체 계층 수준으로 요청된 경우, 시맨택 계층과 동일하게, 물체 계층 → 메트릭 계층 → 커넥션 계층 → 메트릭 계층 → 시맨틱 계층을 거치면서 의미적 경로가 설정되고, 경로계획이 메트릭 계층 수준으로 요청된 경우, 메트릭 계층 → 커넥션 계층 → 메트릭 계층 → 시맨틱 계층을 거치면서 의미적 경로가 설정된다.
본 발명에 따른 의미적 지도를 이용하여 의미적 경로를 설정하는 방법에 대해 도 4를 참조로 하여 보다 구체적으로 설명한다.
먼저, 로봇에 환경에 대한 의미적 지도를 로딩한 후, 로봇에게 경로계획(목적지)을 요청하면(S101), 목적지가 물체(object) 정보로 된 것인지를 판단하여(S102), 물체 정보인 경우에는 상기 의미적 지도의 물체 계층 정보를 통해 메트릭 정보를 추출한다(S103).
만약, 목적지가 물체(object) 정보가 아닌 경우에는 목적지가 시맨틱(semantic) 정보로 된 것인지를 판단하여(S104), 시맨틱 정보인 경우에는 상기 의미적 지도의 시맨틱 정보 계층을 통해 메트릭 정보를 추출한다(S105).
또한, 목적지가 시맨틱 정보가 아닌 경우에는 메트릭 정보로 된 것인지를 판단하고(S106), 메트릭 정보가 아닌 경우에는 "알 수 없는 형식의 목적지" 라는 메세지를 출력하여 오류로 처리한다(S107)
이상과 같은 단계를 통해, 목적지의 메트릭 정보(x,y)를 획득하게 되면, 로봇은 로딩된 의미적 지도의 메트릭 계층 정보를 활용하여 셀(cell) 정보를 추출한다(S108).
이어서, 로봇은 자체 내에 보유한 센서를 통해 자체의 현재 위치를 인식하고 상기 의미적 지도의 메트릭 계층 정보를 활용하여 셀(cell) 정보를 추출하여, 로봇의 의미적 경로를 설정하기 위한 초기화, 즉 출발지와 목적지에 대한 설정을 완료하게 된다(S109).
초기화가 된 상태에서는, 의미적 경로의 마지막 셀이 목적지 셀인지를 판단하여(S110), 목적지 셀이 아닌 경우에는 상기 의미적 지도의 커넥션 계층 정보를 활용하여 마지막 셀에 연결된 셀을 추가하고(S111), 목적지 셀이 맞는 경우에는 커넥션 계층 정보를 활용한 탐색을 종료한다(S112).
탐색이 종료된 커넥션 정보는 상기 의미적 지도의 메트릭 계층 정보를 활용하여, 각 연결점의 위치정보를 부가하고(S113), 다시 메트릭 계층 정보를 활용하여 시맨틱 정보를 부가하여(S114), 최종적으로 의미적 경로(semantic path)를 완성함으로써(S115), 작업을 종료한다.
이상과 같은 본 발명에 따른 의미적 지도를 이용한 의미적 경로계획 설정 로직을 프로그램화한 후, 도 2a 및 2b에 도시된 바와 같이, 다양한 형태의 셀(cell)과 일반문, 자동문, 복도, 엘리베이터 등 다양한 연결점으로 구성되어 있는 실제 환경에 적용하였다.
먼저, 하기 표 2와 같이, 상기 도 2b에 도시된 공간을 6개의 셀로 구분하여 모델링하였으며, 엘리베이터 복도, 중앙홀 및 복도에 각각 1개씩 총 3개의 위치인식 센서를 설치하였다.
본 발명의 실시예에 따른 의미적 지도(semantic map)의 모델링
셀 |
형태 |
위치/크기 |
센서 수 |
바깥 현관 |
홀 |
x, y = 0, -1194 w, h = 640, 200 |
0 |
실내 현과 |
홀 |
x, y = 0, -977 w, h = 440, 234 |
0 |
엘리베이터 복도 |
복도 |
x, y = 0, -430 w, h = 440, 860 |
1 |
중앙 홀 |
홀 |
x, y = 0, 432 w, h = 1872, 865 |
1 |
복도 |
복도 |
x, y = 1400, 125 w, h = 928, 250 |
1 |
101호 연구실 |
방 |
x, y = 1400, 557 w, h = 928, 615 |
0 |
시작점과 도착점은 경유점이 가장 많은 위치로 선정하였는데, 시작점인 로봇의 현재위치는 "101호 연구실"이 되도록 하였고, 목적지는 "바깥 현관"으로 지정하여, 의미적(semantic) 수준으로 경로계획을 요청하였다.
도 5는 전술한 흐름도의 로직을 구현할 수 있는 프로그램을 통해, 본 발명의 실시예에 따른 의미적 지도를 이용하여 계산된 경로 정보를 나타낸다.
도시된 바와 같이, 시작점인 "101호 연구실"에서 도착점인 "바깥 현관"으로 가기 위해서는 5개의 경유점을 지나서 최종 목적지에 도착하게 되며 첫 번째와 다섯 번째 경유점은 "문"이며, 네 번째 경유점은 "자동문"임을 알 수 있다. 따라서 본 발명의 실시예에 따른 의미적 지도를 통해 로봇은 다른 경유점들은 열린 공간이므로 그대로 통과할 수 있고, 첫 번째, 네 번째, 다섯 번째 경유점에서는 적절한 조치를 취해야만 그 지점을 통과할 수 있음을 인식하게 된다. 또한 경로 정보를 보면 통과해야 하는 셀, 경유점의 실제 위치 및 거리정보도 함께 있음을 확인할 수 있다.
한편, 도 6은 본 발명의 실시예에 따른 의미적 지도 정보만을 이용하여 구성한 그림 지도와 계산된 경로정보를 함께 나타낸 것이다. 이로부터 실제 정보는 상기 표 2와 같이 간단하지만 구성된 그림 지도는 환경의 실제 도면인 도 2b와 매우 유사함을 알 수 있다.
다음으로, 이상과 같은 의미적 지도를 활용한 경로계획을 통해, 실제 환경에서의 자율주행을 수행하였다.
이동 로봇의 자율주행에는 공지의 리액티브(reactive) 방식의 알고리즘을 사용하였으며, 상기 알고리즘을 구현하기 위하여 이동 로봇의 전방에 7개의 초음파센서 모듈을 장착함으로써, 동적 환경에 대응할 수 있도록 하였다.
로봇의 위치인식과 관련하여, 로봇이 센서 계층의 위치인식센서 정보로부터 최적의 센서를 검색하여, 현재의 위치를 측정하는 방법은 다음과 같다.
먼저 로봇은 현재 위치하고 있는 셀을 판단한 후, 현재 셀과 인접한 모든 셀에 배치된 위치인식 센서를 최적센서 탐색을 위한 후보집합에 넣는다. 그리고 현재 로봇이 위치한 셀과 인접한 셀 안에 있는 모든 위치센서를 포함하는 N개의 멤버로 구성된 후보 집합 S = S1, S2, ..., SN에서 하기 식[1]에 의해 가장 가까운 거리의 위치인식 센서를 선택한다.
[식 1]
(Xs: 후보센서의 공간상 위치, Xr: 로봇의 절대공간에서의 위치)
도 7은 의미적 지도를 이용하여 로봇이 최적의 센서를 탐색하는 예를 개략적으로 도시한 도면이다. 도 7에 도시된 바와 같이, 로봇의 현재 위치는 셀 C3이다. 따라서 C3에 인접한 셀인 C2, C3, C4, C5가 탐색 대상이 되며 그 셀에 배치된 위치인식센서 후보 집합 S = S1, S2, S3에서 상기 식[1]에 의해 최적센서가 결정된다. 이때 로봇은 결정된 최적센서의 주소와 현재 연결된 센서의 주소를 비교한 후, 만약 현재의 센서와 다르다면 현재 센서와의 연결을 끊고 최적 센서와의 접속을 시도하여, 최적 센서로부터 로봇의 현재 위치에 대한 정보를 통해 기존의 위치정보를 갱신한다.
이에 따라, 본 발명에 따른 로봇의 주행방법에 의하면, 로봇이 여러 영역을 주행하더라도 위치 정보에 대한 오차가 축적되지 않게 되며 로봇이 주행하는 영역의 대소와 관계없이 신뢰성 있는 자기위치 인식이 가능하게 된다. 따라서 다양한 환경에서의 주행이 무리 없이 수행될 수 있다.
도 8은 전술한 시작점과 도착점의 조건에서 이동 로봇이 자율주행을 수행한 결과를 나타낸다. 매회 주행을 시도할 때마다 장애물의 위치 및 실험자가 로봇 앞을 막는 등 동적인 환경을 연출하여 로봇이 이에 대응하느라 경로는 모두 다르지만 결과에서 목적지에 성공적으로 도착했음을 알 수 있다.