상기와 같은 목적을 달성하기 위한 본 발명의 인공표식 기반의 실시간 위치산출 시스템은, 발광체를 포함하며, 고유의 식별 ID를 갖는 다수의 인공표식; 상기 인공표식에 대한 점등/점멸을 제어하는 표식제어 모듈; 상기 인공표식에 대해 카메라로 촬영하여 획득한 영상신호로부터 인공표식의 영상 좌표를 검출하는 영상처리 모듈; 상기 검출된 인공표식의 영상 좌표와 미리 저장된 인공표식의 공간좌표를 대응시켜 현재 위치를 산출하는 위치산출 모듈; 상기 산출된 현재 위치 정보와 미리 저장된 인공표식의 공간좌표를 대응시켜 인공표식의 영상 좌표를 예측하는 영상예측 모듈; 상기 현재 위치 바로 이전에 검출된 인공표식들중에서 가장 가까운 인공표식이 동일한 인공표식으로 식별되는 영상에서의 인공표식추적을 수행하고, 상기 현재 위치 바로 이전에 검출된 인공표식이 사라질 경우에 상기 예측된 영상 좌표와 검출된 영상 좌표를 비교하여 인공표식을 식별하는 표식식별 모듈; 및 상기 인공표식의 공간좌표 정보가 저장되며, 상기 각 모듈간의 동작 제어를 통해 실시간으로 로봇의 위치 정보를 갱신하는 주 제어 모듈을 포함하여 이루어진 것을 특징으로 한다.
여기서, 상기한 인공표식은 주로 건물내 천정 등에 설치되며, 상기한 표식제어 모듈, 영상처리 모듈, 위치산출 모듈, 영상예측 모듈, 표식식별 모듈, 주 제어 모듈을 포함하는 제어장치는 이동로봇 등에 장착된다. 또한, 상기 영상처리 모듈을 구성하는 카메라만을 이동로봇에 장착하고, 카메라 이외의 제어장치를 원격지 서버에 마련할 수도 있다. 이를 위해 카메라와 원격지 서버간 유무선 통신이 이루어져야 함은 주지의 사실이다.
한편, 본 발명의 인공표식 기반의 실시간 위치산출 방법은, (a) 인공표식의 점등/점멸을 통해 인식된 영상 좌표를 통해 현재 초기 위치를 산출하거나 미리 설 정된 위치로 지정하는 단계; (b) 이동중 현재 위치 바로 이전에 검출된 인공표식들중에서 가장 가까운 인공표식이 동일한 인공표식으로 식별되는 영상에서의 인공표식추적을 수행하고, 상기 현재 위치 바로 이전에 검출된 인공표식이 사라질 경우에 위치산출 모듈에서 산출된 인공표식의 현재 위치 정보와 상기 주 제어 모듈에 미리 저장된 인공표식의 공간좌표를 대응시켜 영상예측 모듈에서 인공표식의 영상 좌표를 예측한 영상 좌표와 새롭게 검출된 영상 좌표를 비교하여 표식식별 모듈에서 이동중 검출된 인공표식을 식별하는 단계; 및 (c) 상기 검출 및 식별된 인공표식의 영상 좌표와 주 제어 모듈에 미리 저장된 공간좌표와 대응시켜 위치산출 모듈에서 현재 위치를 갱신하는 단계를 포함하여 이루어진 것을 특징으로 한다.
이 때, 상기 (a) 단계는, 표식제어 모듈에 의해 특정 인공표식의 점등/점멸 제어가 이루어지는 단계; 상기 특정 인공표식의 점등에 의해 카메라를 포함하는 영상처리 모듈에서의 촬상이 이루어지는 단계; 상기 촬상에 의해 얻어진 영상신호의 처리에 의해 특정 인공표식을 검출하는 단계; 상기 검출된 특정 인공표식의 영상 좌표를 산출하는 단계; 상기 검출된 인공표식이 미리 설정된 개수 이상 산출되었는가를 판별하는 단계; 상기 인공표식 검출개수 판별결과, 인공표식 검출개수가 설정개수 미만일 경우에는 인공표식 검출개수가 설정개수 이상될 때까지 다른 인공표식의 점등/점멸 제어를 수행하여 영상 좌표를 산출하고, 인공표식 검출개수가 설정개수 이상일 경우에는 검출된 인공표식의 영상 좌표와 주 제어 모듈에 미리 저장된 공간좌표로부터 초기 현재 위치를 결정하는 단계로 이루어진다.
또한, 상기 영상좌표 예측을 통한 처리가 이루어질 경우에 상기 (b) 단계는, 영상처리를 통해 인공표식을 검출하는 단계; 상기 검출된 인공표식이 미리 설정된 개수 이상 산출되었는가를 판별하는 단계; 상기 인공표식 검출개수 판별결과, 인공표식검출개수가 설정개수 미만일 경우에는 인공표식 검출을 수행하고, 인공표식 검출개수가 설정개수 이상일 경우에는 바로 이전 시각 (t-1)에서의 위치 정보를 통해 인공표식들의 영상좌표를 예측하는 단계; 및 상기 인공표식추적 및 상기 검출된 인공표식의 영상 좌표와 가장 가까운 상기 예측된 영상좌표를 갖는 인공표식을 검출된 인공표식으로 식별하는 단계로 진행되며,
상기 인공표식추적 및 영상좌표 예측을 통한 처리가 이루어질 경우에 상기 (b) 단계는, 인공표식추적을 수행하는 단계; 상기 추적하던 인공표식이 영상에서 사라지는 경우에 영상처리를 통해 새로운 인공표식을 검출하는 단계; 상기 새로운 인공표식을 포함하여 상기 검출된 인공표식이 미리 설정된 개수 이상 산출되었는가를 판별하는 단계;
상기 인공표식 검출개수 판별결과, 인공표식 검출개수가 설정개수 미만일 경우에는 인공표식 검출을 수행하고, 인공표식 검출개수가 설정개수 이상일 경우에는 새로운 인공표식에 대해 바로 이전 시각(t-1)에서의 위치 정보를 통해 영상 좌표를 예측하는 단계; 및 상기 새롭게 검출된 인공표식의 영상 좌표와 가장 가까운 상기 예측된 영상좌표를 갖는 인공표식을 새로 검출된 인공표식으로 식별하는 단계로 진행된다.
이하, 본 발명의 인공표식 기반의 실시간 위치산출 시스템 및 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 인공표식 기반의 실시간 위치산출 시스템을 개략적으로 나타낸 제어회로블록도이다.
도 1을 참조하면, 본 발명의 인공표식 기반의 실시간 위치산출 시스템은, 실내공간에 설치된 다수의 인공표식들과, 상기 인공표식들에 대한 점멸을 제어하는 표식제어 모듈과, 상기 인공표식들에 대해 카메라로 촬영하여 획득한 영상신호로부터 인공표식의 영상 좌표값을 검출하는 영상처리 모듈과, 상기 검출된 인공표식의 영상 좌표값과 미리 저장된 인공표식의 공간좌표를 참조하여 로봇의 위치를 산출하는 위치산출 모듈과, 상기 산출된 로봇 위치 정보와 미리 저장된 인공표식의 공간좌표를 참조하여 인공표식의 영상 좌표값을 예측하는 영상예측 모듈과, 영상에서의 인공표식추적 및 예측된 영상 좌표값과 검출된 영상 좌표값을 비교하여 인공표식을 식별하는 표식식별 모듈과, 각 모듈간의 동작 제어를 통해 실시간으로 로봇의 위치 정보를 갱신하는 주 제어 모듈로 구성되어 있다.
도 2는 본 발명의 인공표식 기반의 실시간 위치산출 시스템이 운용되는 과정을 나타낸 개념도이다.
도 2를 참조하면, 각각의 인공표식은 특정 파장대의 빛을 내는 LED 등의 발광체를 포함하고 있으며, 표식제어 모듈에서의 신호에 따라 점멸 제어된다. 또한, 각 인공표식은 고유의 식별 ID를 가지고 있어서 다른 인공표식들과 구분되어진다. 각 인공표식은 일례로 실내공간 천장에 부착되는데, 이 때 부착된 위치, 즉, 공간 좌표는 실측 등을 통해서 이동로봇에 미리 저장된다. 이를 위해 상기한 도 1의 구성에 별도의 저장 모듈을 마련할 수도 있다. 영상처리 모듈을 구성하는 카메라에는 인공표식에 포함된 발광체의 특정 파장대만을 필터링해 투과시켜 주는 광학 필터가 장착되어 있다. 또한, 카메라는 이동로봇에 탑재하되 천장 쪽을 바라보면서 바닥면과 수직이 되도록 설치된다. 물론, 인공표식의 설치위치에 따라 카메라의 설치위치는 변경될 수 있을 것이다.
본 발명에서의 로봇의 위치 산출은 먼저 인공표식을 검출하여 초기위치를 인식하고, 이후 위치 정보를 주기적으로 갱신하는 과정으로 이루어진다. 초기위치 인식은 로봇이 위치 정보를 전혀 모르는 상태에서 자신이 놓여진 있는 실내환경 상의 위치를 파악하는 것이다. 일단 인공표식이 검출되고 초기위치가 파악되면, 이후에는 인공표식의 영상추적 및 영상좌표 예측을 통하여 실시간으로 로봇의 위치 정보를 산출하게 된다. 이하, 이에 대한 구체적인 처리 과정을 설명하기로 한다.
(1) 초기위치 인식
본 발명의 핵심적인 요소는 인공표식의 영상 추적과 영상좌표 예측 과정을 통하여 실시간으로 로봇의 위치정보를 갱신하는 방법을 제공함에 있다. 이를 위해서는 인공표식검출 및 초기위치 파악이 필요한데, 초기위치 파악은 이하 설명되는 종래의 광원 인공표식의 순차적 점멸 제어를 이용하기로 한다.
도 3은 최초의 인공표식 검출 및 초기위치 파악 과정을 나타낸 흐름도이다.
도 3을 참조하면, 먼저 모든 광원 인공표식이 꺼진 상태에서 표식제어 모듈에 의해 실내공간 상에 설치된 광원 인공표식들 중 어느 하나를 선택하고(S1), 상기 선택된 광원 인공표식을 켜는 명령을 표식제어 모듈을 통해 해당 광원 인공표식에 대한 점등(turn on) 신호를 보냄으로써 선택된 광원 인공표식의 점등이 이루어지게 된다(S2). 여기서, 상기 점등 신호를 보내는 방식은 유선 또는 무선 통신 방법이 모두 가능하다.
이 때, 카메라로 촬영하여 얻어진 영상신호에 대해 영상처리 과정을 거쳐 인공표식을 검출하게 되는데(S3), 이어서 선택된 광원의 점멸이 이루어지게 된다(S4). 한편, 상기한 영상에서 인공표식 검출 여부를 판별하여(S5) 광원검출이 이루어지지 않았을 경우에는 다음 광원 인공표식을 선택하여(S6) 상기한 S2 ∼ S5 과정을 반복하고, 영상에서 인공표식이 검출되면 검출된 인공표식은 표식제어 모듈을 통해 점등신호를 보냈던 광원 인공표식으로 식별된다. 이는 표식제어 모듈의 제어에 의해 점등되는 인공표식이 이미 지정된 고유의 식별 ID와 매칭되는 것에 의해 제어되는 광원 인공표식으로 식별되는 것이다. 이에, 검출된 인공표식의 영상 좌표를 산출한다(S7).
이후, 검출된 광원개수가 설정개수 이상인가를 판별하여(S8) 설정개수 이상일 경우에는 검출된 광원 인공표식의 영상 좌표와 저장된 공간 좌표로부터 로봇의 위치를 결정한다(S9). 한편, 상기 S8에서 검출된 광원개수가 설정개수 미만일 경우에는 다음 인공표식을 선택하여 점등 신호를 보내고 인공표식을 검출하는 과정을 수행한다. 이러한 과정을 로봇의 위치 계산에 필요한 개수만큼의 인공표식이 검출될 때까지 반복한다. 본 실시예에서는 검출된 광원개수가 2개인 경우에 대해서 설명하고 있으나, 이에 한정되지 않음은 주지의 사실이다.
한편, 인공표식 검출을 위한 영상처리 과정은 카메라에 광원의 특정 파장대만을 필터링해 투과시켜 주는 광학 필터가 구비되므로, 간단히 영상신호에 대해 이진화 과정을 거쳐서 특정 임계값 이상의 밝기값을 가지는 영역을 검출함으로써 이루어지게 된다. 인공표식이 검출되었을 때 검출된 인공표식의 영상좌표는 검출된 영역의 중심 좌표로 구해진다.
상기한 과정을 거쳐 로봇 위치 계산에 필요한 개수만큼의 인공표식이 검출되면 검출된 인공표식들의 영상 좌표와 해당 인공표식에 대해 미리 저장된 공간좌표를 참조하여 로봇의 위치를 계산한다. 로봇의 위치 계산은 2개의 인공표식만 있으면 가능하지만 측위 오차를 최소화하기 위하여 3개 이상의 광원 인공표식을 이용할 수도 있다. 예를 들어 2개의 광원 인공표식을 사용할 경우의 검출된 2개의 광원 인공표식을 Li, Lj라 하고 영상좌표를 (xi, yi), (xj, yj), 해당 인공표식에 대해 미리 저장된 공간좌표를 (Xi, Yi), (Xj, Yj)라 하면 로봇 위치를 계산하는 과정은 다음과 같다(로봇의 작업 공간은 3차원이지만 필요한 위치 정보는 2-D 평면 상의 좌표이고 로봇 위치 계산에 높이 정보는 필요하지 않으므로 2차원 좌표를 사용한다).
먼저 검출된 인공표식의 영상좌표 (xi, yi), (xj, yj)로부터 카메라 렌즈의 왜곡을 보정한 영상좌표 (ui, vi), (uj, vj)를 다음 수식을 이용하여 계산한다. 아래 수식에서는 2개의 광원 인공표식을 구분하기 위한 첨자 인덱스 i, j를 붙이지 않고 검출된 영상좌표는 (x, y), 렌즈 왜곡이 보정된 좌표는 (u, v)로 표기한다.
위 수식(1)(2)(3)에서, fx, fy는 초점거리, cx, cy는 렌즈 중심의 영상 좌표를 나타내는 카메라의 내부 파라미터, k1, k2, k3는 렌즈 왜곡 계수로 카메라 캘리브레이션(calibration) 과정을 통해 얻어지는 상수들을 각각 나타낸다.
다음으로는 검출된 광원 인공표식의 왜곡 보정된 영상 좌표 (ui, vi), (uj, vj)와 저장된 공간 좌표 (Xi, Yi), (Xj, Yj)로부터 로봇의 위치 정보 (rx, ry, θ)를 계산한다. 여기서, θ는 공간좌표계의 Y축을 기준으로 했을 때의 로봇이 바라보는 방향의 각(heading angle)이다. 도 4는 공간 좌표계와 왜곡 보정된 영상 좌표계 사 이의 관계도이다.
도 4를 참조하면, 카메라가 로봇에 장착되고 또한 천정을 수직으로 바라보기 때문에 영상에서의 로봇의 위치는 영상의 중심이 된다. 즉, 로봇의 영상 좌표는 (cx, cy)가 된다. 로봇의 공간 좌표 (rx, ry)는 검출된 광원 인공표식 Li, Lj의 영상 좌표를 공간좌표로 변환시키는 변환과정을 구하여 (cx, cy)에 적용함으로써 계산된다. 카메라가 천정을 수직으로 바라보기 때문에 좌표계 변환은 스케일(scale) 변환, 2차원 회전 변환, 2차원 평행 이동만으로 다음과 같이 구해진다.
여기까지, 로봇의 초기위치 (rx, ry, θ)를 산출하는 과정을 설명하였다. 이상 설명된 인공표식검출 및 초기위치 파악과정은 로봇이 정지한 상태에서 광원 인공표식들을 순차적으로 점멸 제어하면서 영상을 획득하고 인공표식을 검출하는 과 정을 거쳐야 하기 때문에 시간이 걸리지만 이는 로봇의 초기화 과정에서 최초 한번만 수행되므로, 이후에는 광원 인공표식들의 점멸 제어 없이 로봇이 주행하는 도중에도 영상에서의 인공표식추적 및 영상좌표 예측을 통해 실시간으로 위치 정보를 산출하게 된다.
한편, 로봇의 초기위치를 파악하는 다른 한가지 방법은, 최초 로봇에 전원이 인가되어 구동되는 시작 위치를 고정시키고 해당 위치정보를 초기위치로 설정하는 것이다. 예를 들어, 현재까지의 로봇은 기본적으로 자가발전이 불가능하기 때문에 주기적인 충전을 위한 충전 시스템을 구비해야 하는데, 충전 위치를 초기위치로 설정하고 이 위치에서 처음 로봇을 구동시키는 방법을 사용할 수 있다.
(2) 실시간 위치갱신
실시간 위치갱신 단계에서는 일정한 시간 간격으로 카메라로부터 영상을 획득하고 획득된 영상으로부터 인공표식을 검출하여 로봇의 위치정보(공간좌표와 로봇의 방향)를 갱신한다. 영상 획득 속도는 사용된 카메라에 의해 결정된다. 예를 들어, 초당 30 프레임의 영상을 획득할 수 있는 일반적인 카메라를 사용할 경우 로봇의 위치 갱신 주기는 초당 30 Hz까지 가능하다.
주행 중에 실시간으로 로봇의 위치정보 산출은 다음과 같이 이루어진다.
먼저, 시각 t에 영상을 획득하여 인공표식을 검출하고 식별하여 로봇의 위치 를 산출하였다고 가정하자. 다음으로, 시각 t+1에 영상을 획득하여 인공표식을 검출한다. 이 때, 로봇의 이동으로 인해 인공표식의 시각 t에서의 영상좌표와 시각 t+1에서의 영상좌표에는 차이가 발생하게 된다. 그러나 카메라의 영상획득 속도에 비해 로봇의 이동속도는 그리 빠르지 않기 때문에 영상좌표의 차이는 크지 않게 된다. 예를 들어, 카메라의 영상획득 속도를 초당 30 프레임, 로봇의 이동 속도를 3m/s(일반적인 로봇의 이동 속도)라고 가정하면 영상 촬상 간격 동안 로봇은 물리적으로 10cm를 이동하게 되고 일반적인 천장의 높이를 고려하면 영상에서는 많아야 수 픽셀(pixel) 내외의 위치 차이가 발생되게 된다. 따라서, 시각 t+1에서 검출된 인공표식의 식별은 시각 t에서 검출된 인공표식들 중에서 영상좌표상으로 가장 가까운 인공표식으로 식별할 수 있다. 이와 같은 과정으로 인공표식을 식별하는 것을 영상에서의 인공표식추적이라 정의하기로 한다. 일단 검출된 인공표식이 식별되면 초기위치 인식 단계에서 설명한 방법으로 로봇의 위치정보를 산출할 수 있다.
상기 인공표식들을 실내공간에 설치할 때에는 실내공간의 임의의 위치에서 동시에 2개 이상의 인공표식이 카메라의 시야에 들어오도록 설치한다. 2개의 인공표식 설치만으로 위치정보 산출이 가능한 한정된 소규모의 실내공간에서는 인공표식추적만으로도 실시간으로 로봇의 위치정보 산출이 가능하다. 그러나, 임의의 구조와 크기를 갖는 넓은 실내공간 전체에 걸쳐서 위치정보를 산출하기 위해서는 다수의 인공표식을 설치해야 한다. 이러한 경우에는 카메라의 시야에 들어오는 영역이 한정되어 있기 때문에 로봇이 이동하다 보면 추적하던 인공표식들이 영상에서 사라지고 새로운 인공표식이 영상에 들어오는 경우가 발생한다. 이 경우에는 인공표식추적만으로는 새로운 인공표식을 식별할 수 없다. 이를 해결하기 위해, 시각 t에서 산출되었던 로봇의 위치정보를 이용하여 미리 저장된 인공표식들의 공간좌표로부터 역으로 영상좌표를 예측한다. 예측된 영상좌표는 시각 t에서의 로봇 위치를 이용하여 계산되었기 때문에 시각 t+1에서의 실제 영상좌표와는 차이가 발생하지만 인공표식추적에서처럼 영상좌표의 근접성을 이용하여, 검출된 새로운 인공표식을 식별할 수 있다. 새로운 인공표식이 식별된 이후에는 영상에서 사라진 인공표식 대신 새로운 인공표식을 추적하며 위치 정보를 산출한다.
그러면, 여기서 실시간으로 로봇의 위치정보를 산출하는 방법을 구체적으로 설명하기로 한다.
도 5는 초기위치 인식단계 이후의 실시간 위치 산출 과정을 나타낸 흐름도이다.
도 5를 참조하면, 먼저 카메라로부터 영상을 획득한다. 현재 영상을 획득한 시각을 t라 하자. 이전 영상을 획득한 시각을 t-1이라 하고, 시각 t-1에 획득한 영상으로부터 검출된 인공표식을 Li, Lj, 영상좌표를 (xi t-1, yi t-1), (xj t-1, yj t-1), 카메라 렌즈의 왜곡을 보정한 영상좌표를 (ui t-1, vi t-1), (uj t-1, vj t-1), 해당 인공표식에 대해 미리 저장된 공간좌표를 (Xi, Yi), (Xj, Yj), 산출된 로봇위치를 (rx t-1, ry t-1, θt-1)라 하자. 시각 t-1에서 검출된 인공표식 및 로봇 위치 정보는 최초에는 초기위치 인식 단계에서 얻어진 값들로 설정된다(S11).
다음으로, 현재 획득된 영상으로부터 영상처리과정을 거쳐 인공표식을 검출한다. 이 때, 영상 전체에서 인공표식을 검출하지 않고, 이전 시각 t-1에서 검출된 인공표식의 영상좌표를 중심으로 한 일정 사각형 영역에서만 인공표식을 검출한다. 사각형의 크기는 로봇의 이동속도 및 천장의 높이를 고려하여 카메라의 영상 획득 간격 동안 영상 내에서 인공표식이 최대로 이동할 수 있는 거리로 설정한다. 만일 (xi t-1, yi t-1)를 중심으로 한 사각형 영역 내에서 인공표식이 검출되면 검출된 인공표식은 Li로 식별하고, (xj t-1, yj t-1)를 중심으로 한 사각형 영역 내에서 인공표식이 검출되면 검출된 인공표식은 Lj로 식별한다. 만일, 두 개의 사각형 영역 내에서 모두 인공표식이 검출되었다면 이미 식별이 되었기 때문에 검출된 새로운 영상좌표와 인공표식에 대해 미리 저장된 공간좌표로부터 초기위치인식 단계에서와 동일한 방법을 사용하여 로봇의 위치를 산출한다.
만일 두 개의 사각형 영역 내에서 모두 인공표식이 검출되지 않을 경우, 영상처리 과정을 통하여 사각형 외부의 영상 영역에서도 인공표식을 검출한다(S12). 이러한 경우는 시각 t-1에서 검출되었던 인공표식이 카메라의 시야에서 벗어난 경 우로서, 대신 새로운 인공표식이 영상에서 검출되어야 한다. 인공표식들은 실내공간의 임의의 위치에서 동시에 2개 이상의 인공표식이 카메라의 시야에 들어오도록 설치되기 때문에, 최소한 카메라의 시야에서 벗어난 인공표식의 개수만큼 새로운 인공표식이 영상에서 검출된다. 이와 같이, 새롭게 검출된 광원의 개수가 설정개수(2개) 이상인가를 판별하는 과정을 수행한다(S13). 본 실시예에서는 2개의 인공표식을 적용할 경우에 대해 설명하였으나, 이에 한정되지 않음은 주지의 사실이다.
새로 검출된 인공표식의 영상 좌표를 (x, y), 카메라 렌즈의 왜곡을 보정한 좌표를 (u, v)라 하자. 새로 검출된 인공표식의 식별은 시각 t-1에서의 로봇의 위치 정보 (r
x t-1, r
y t-1, θ
t-1)를 이용하여 각 인공표식 L
k의 공간좌표 (X
k, Y
k)로부터 영상좌표를 예측하여 이루어진다(단, k=1, …, n, 여기서 n은 설치된 인공표식의 총 개수)(S14). 이 때, 렌즈 왜곡을 고려하지 않았을 때의 L
k의 예측 영상 좌표 (
)는 다음 수식에 의해 계산된다 (스케일 변환 s는 초기위치 인식 단계에서 계산되었던 s를 사용한다).
새로 검출된 인공표식은 (u, v)와 가장 가까운 예측 영상좌표 (
)를 갖는 인공표식으로 식별된다.
상기 과정을 거쳐 시각 t에서 최종적으로 검출 및 식별된 인공표식을 Lp, Lq, 영상좌표를 각각 (xp t, yp t), (xq t, yq t), 카메라 렌즈의 왜곡을 보정한 영상좌표를 (up t, vp t), (uq t, vq t), 저장된 공간좌표를 (Xp, Yp), (Xq, Yq)라 하면 로봇의 새로운 위치정보 (rx t, ry t, θt)는 초기위치 인식 단계에서와 마찬가지로 다음 수식에 의해 계산된다(S15).
--- 수식(11)
이상과 같이 주 제어 모듈에서는 로봇에 전원이 인가되는 동안 인공표식들의 영상추적 및 영상좌표 예측을 통하여 현재 로봇의 정확한 위치 정보를 산출하고 산출된 위치 정보는 로봇 위치정보 갱신의 다음 주기에서 인공표식추적 및 영상 좌표를 예측하는데 사용함으로써 실시간으로 로봇의 위치 정보를 산출한다(S16).
이상 설명된 본 발명의 위치 산출 방법은 영상에서의 인공표식추적과 인공표식의 영상좌표 예측을 결합하여 위치 산출에 소요되는 연산시간을 최소화함으로써, 로봇의 위치 갱신 주기를 최소화하는 방법이다. 이와 같이 상기한 실시예에서는 인공표식추적과 영상좌표 예측을 결합하여 위치를 산출하는 경우에 대해 설명하고 있으나, 본 발명에서는 영상좌표 예측만을 이용하여도 실시간으로 로봇의 위치를 파악하는 것이 가능하데, 이는 영상에서의 인공표식추적을 함께 사용하는 것이 비해 약간의 연산시간이 증가한다. 영상좌표 예측만을 이용하여 로봇의 위치를 산출하는 방법은 먼저 카메라로부터 획득되는 영상 전체에서 인공표식을 검출한 후, 가장 최근의(시각 t-1에서의) 로봇의 위치정보를 이용하여 각 인공표식의 영상좌표를 예측하고, 검출된 인공표식의 영상좌표와 가장 가까운 예측 영상좌표를 갖는 인공표식으로 검출된 인공표식을 식별하는 방법이다. 영상좌표 예측만을 사용하는 방법은 위치 갱신의 매 주기마다 영상 전체에서의 인공표식검출과 영상좌표 예측을 수행하기 때문에, 검출되었던 인공표식 주변에서만 새로운 검출을 하고 인공표식이 전환될 때에만 영상좌표 예측을 수행하는 영상예측과 인공표식추적을 결합한 방식에 비해 약간의 연산 시간이 증가하지만 최종적으로는 비슷한 실시간 위치 산출 성능을 낼 수 있다.
이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 예를 들어, 카메라 렌즈계의 왜곡 보정에도 여러 방법이 가능하며, 영상 예측을 통해 광원을 식별하기 위해 검출된 영상 좌표와 예측된 영상 좌표의 거리 비교를 할 때에도 렌즈계의 왜곡을 보정한 영상 좌표계에서 비교할 수도 있지만 예측된 영상 좌표에 렌즈계의 왜곡을 반영하여 검출된 영상 좌표와 직접 비교하는 방법을 사용할 수도 있다. 따라서, 본 발명의 근본적인 의의는 구체적인 구현상의 과정 보다는 영상에서의 인공표식추적 및 영상좌표 예측을 통하여 로봇의 정지 및 주행상태에 관계없이 실시간으로 위치 정보를 제공할 수 있다는 개념 자체에 있다.