KR101340807B1 - 이동 로봇의 자기 위치 인식을 위한 스캔 거리 데이터의 양방향 선분 및 호 추출 방법 및 그 장치 - Google Patents

이동 로봇의 자기 위치 인식을 위한 스캔 거리 데이터의 양방향 선분 및 호 추출 방법 및 그 장치 Download PDF

Info

Publication number
KR101340807B1
KR101340807B1 KR1020120005646A KR20120005646A KR101340807B1 KR 101340807 B1 KR101340807 B1 KR 101340807B1 KR 1020120005646 A KR1020120005646 A KR 1020120005646A KR 20120005646 A KR20120005646 A KR 20120005646A KR 101340807 B1 KR101340807 B1 KR 101340807B1
Authority
KR
South Korea
Prior art keywords
distance data
scan distance
line segment
arc
error
Prior art date
Application number
KR1020120005646A
Other languages
English (en)
Other versions
KR20130084797A (ko
Inventor
김병국
김진백
윤건우
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020120005646A priority Critical patent/KR101340807B1/ko
Publication of KR20130084797A publication Critical patent/KR20130084797A/ko
Application granted granted Critical
Publication of KR101340807B1 publication Critical patent/KR101340807B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Electromagnetism (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

이동 로봇의 위치 인식을 위한 스캔 거리 데이터의 양방향 선분 및 호 추출 방법 및 그 장치가 개시된다. 이동 로봇의 자기 위치 인식을 위한 스캔 거리 데이터에서의 양방향 선분 및 호를 추출하는 방법은, 이동 로봇에 장착된 레이저 스캐너를 구동하여 레이저 스캐너에서 입력된 스캔 거리 데이터의 순서와 동일한 방향으로 스캔 거리 데이터로부터 선분 및 호를 추출하는 단계; 및 스캔 거리 데이터의 순서와 반대 방향으로 상기 추출된 선분 및 호에 포함된 스캔 거리 데이터를 인접한 선분 또는 호로 선택적으로 이동하여 상기 추출된 선분 및 호를 보정하는 단계를 포함할 수 있다.

Description

이동 로봇의 자기 위치 인식을 위한 스캔 거리 데이터의 양방향 선분 및 호 추출 방법 및 그 장치{METHOD AND APPARATUS FOR BIDIRECTIONAL LINE AND ARC SEGMENTATION OF SCAN DISTANCE DATA FOR LOCALIZATION OF MOBILE ROBOTS}
본 발명의 실시예들은 이동 로봇의 자기위치인식을 위하여 스캔 거리 데이터로부터 양방향 선분 및 호를 추출할 수 있는 방법 및 장치에 관한 것이다.
자기위치인식(localization) 기술은 이동 로봇의 실내 및 실외에서의 자율 운행을 위하여 반드시 필요한 기술이며, 레이저 스캐너가 대표적인 센서로 사용되고 있다. 자기위치인식을 위한 적절한 대표적인 센서로써 영상 카메라와 레이저 스캐너를 들 수 있다. 영상 카메라를 사용할 경우, 입력영상을 구성하는 수 많은 화소들에 대하여 영상 처리를 수행하여야 하는 단점이 있는 반면, 레이저 스캐너의 경우는 2차원 스캔 평면상의 거리 데이터들을 정확히 감지할 수 있고 데이터 처리가 비교적 간단하므로 그 가격이 낮지 않음에도 불구하고 가장 널리 사용되고 있다.
이동로봇의 실내 및 실외 자기 위치 인식은 도 1에 도시한 바와 같이 통상적으로 레이저 스캐너의 매 스캔 주기마다 다음과 같은 과정들로 이루어진다.
과정 1. 레이저 스캐너 구동 및 스캔 거리 데이터 획득(10): 레이저 스캐너를 구동하여 다수의 스캔 거리 데이터들을 획득한다.
과정 2. 선분 추출(20): 스캔 거리 데이터들로부터 유효 적절한 선분들을 추출한다.
과정 3. 지도 선분과의 매칭(matching)(30): 추출된 선분들과 주어진 지도 데이터의 선분들에서 매칭된 선분의 쌍들을 추출한다.
과정 4. 이동 로봇 위치 및 방향 추정(40): 매칭된 선분의 쌍들이 최소의 오차가 되도록 이동로봇의 평면상의 위치 및 회전각을 계산하여 이동로봇의 자기위치인식을 수행한다.
종래에는 과정 2 내지 과정 4에서 알 수 있듯이 이동로봇의 자기 위치 인식을 위해 주로 선분들이 사용되고 있다.
또한, 한국등록특허 제10-0930578호 "이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법"에서는 선분들에 대하여 순방향 선분 추출 및 역방향 선분 보정의 두 단계를 사용함으로써 요구되는 계산의 복잡도는 적음에도 불구하고, 정확한 선분 추출이 가능한 방법을 제시하고 있다. 그러나, 이러한 방법은 신속하고 정확한 효율적인 방법이기는 하나, 여전히 선분만을 사용하기 때문에 정확한 위치 인식에 한계가 있다.
따라서, 본 명세서에서는 이동 로봇의 자기위치인식을 위하여 스캔 거리 데이터로부터 양방향 선분 및 호를 보다 신속하고 정확하게 추출할 수 있는 방법 및 장치를 제안한다.
새로운 알고리즘을 통해 스캔 거리 데이터에서 양방향 선분과 아울러, 호를 추가적으로 추출하여 신속하고 정확하게 이동 로봇의 자기 위치 인식을 수행하는 방법 및 장치를 제공한다.
이동 로봇의 자기 위치 인식을 위하여 스캔 거리 데이터의 양방향 선분 및 호를 추출하는 방법은, 이동 로봇에 장착된 레이저 스캐너를 구동하여 레이저 스캐너에서 입력된 스캔 거리 데이터의 순서와 동일한 방향으로 스캔 거리 데이터로부터 선분 및 호를 추출하는 단계; 및 스캔 거리 데이터의 순서와 반대 방향으로 상기 추출된 선분 및 호에 포함된 스캔 거리 데이터를 인접한 선분 또는 호로 선택적으로 이동하여 상기 추출된 선분 및 호를 보정하는 단계를 포함할 수 있다.
일 측면에 따르면, 선분 및 호를 추출하는 단계는 스캔 거리 데이터의 입력에 따라, 레이저 스캐너의 스캔이 시작되거나 최대 스캔 거리를 벗어난 초기 상태, 스캔 거리 데이터가 선분 및 호로 분류되지 않은 미분류 상태, 제1 소정 개수 이상의 스캔 거리 데이터를 포함한 선분 갱신 상태, 제1 소정 개수 이상의 스캔 거리 데이터를 포함한 호 갱신 상태 중 하나의 상태에 대한 처리를 수행할 수 있다.
다른 측면에 따르면, 미분류 상태는 제1 소정 개수의 스캔 거리 데이터가 입력될 때까지 스캔 거리 데이터를 저장하는 데이터 저장 상태와, 제1 소정 개수의 스캔 거리 데이터가 저장되면 선분 및 호를 초기화 하는 선분 및 호 초기화 상태와, 제1 소정 개수를 초과한 스캔 거리 데이터의 경우 이동 윈도우를 사용하여 새로운 선분 및 호를 초기화 하는 이동 윈도우 상태를 포함할 수 있다.
또 다른 측면에 따르면, 초기 상태에서 스캔 거리 데이터가 최대 스캔 거리 이내로 판단되는 경우, 초기 상태 이외의 다른 상태에서 현재 스캔 거리 데이터와 직전 스캔 거리 데이터와의 거리가 제3 소정 값을 초과하는 경우, 선분 갱신 상태에서 스캔 거리 데이터와 상기 추출된 선분과의 선분 오차가 제2 소정 값을 초과하는 경우, 호 갱신 상태에서 스캔 거리 데이터와 상기 추출된 호와의 호 오차가 제2 소정 값을 초과하는 경우 중 적어도 하나의 경우에 선분 또는 호의 초기화를 위하여 미분류 상태로 천이될 수 있다.
또 다른 측면에 따르면, 선분 및 호를 추출하는 단계는 제1 소정 개수의 연속된 스캔 거리 데이터들로부터 선분에 대한 최소 제곱 오차법(Least square error fit)에 의하여 선분으로 초기화할 경우의 선분 오차를 계산하는 단계; 제1 소정 개수의 연속된 스캔 거리 데이터들로부터 호에 대한 최소 제곱 오차법(Least square error fit)에 의하여 호로 초기화할 경우의 호 오차를 계산하는 단계; 및 선분 오차와 호 오차가 제2 소정 값보다 큰 경우 미분류로 분류하고, 제2 소정 값보다 작은 경우 선분 오차와 호 오차를 비교하여 오차가 적은 선분 또는 호로 초기화하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 선분 및 호를 추출하는 단계는 미분류된 스캔 거리 데이터들 중에서 현재의 스캔 거리 데이터로부터 역순으로 제1 소정 개수의 스캔 거리 데이터까지 선택적으로 포함하는 이동 윈도우를 이용하여, 제2 소정 값 이내의 선분 오차 또는 호 오차를 갖는 선분 또는 호에 대한 초기화를 수행하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 선분 및 호를 추출하는 단계는 선분이 초기화 된 이후 각각의 스캔 거리 데이터에 대하여 선분 오차에 따라 초기화 된 선분에 현재의 스캔 거리 데이터를 추가하여 선분을 갱신하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 선분 및 호를 추출하는 단계는 호가 초기화 된 이후 각각의 스캔 거리 데이터에 대하여 호 오차에 따라 초기화 된 호에 현재의 스캔 거리 데이터를 추가하여 호를 갱신하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 추출된 선분 및 호를 보정하는 단계는 스캔 거리 데이터의 순서와 반대 방향으로 현재의 선분 또는 호와 인접한 직전의 선분 또는 호로 이루어진 쌍을 대상으로, 현재의 선분 또는 호에 인접한 직전의 선분 또는 호의 끝 부근에 포함된 적어도 하나의 스캔 거리 데이터들에 대하여, 현재의 선분 또는 호로 이동 포함시킬 경우의 해당 스캔 거리 데이터의 이동시 선분 오차 또는 호 오차를 계산하고, 직전의 선분 또는 호에 그대로 잔류시킬 경우의 해당 스캔 거리 데이터의 잔류시 선분 오차 또는 호 오차를 계산한 후, 이동시 선분 오차 또는 호 오차가 잔류시 선분 오차 또는 호 오차보다 적은 경우 해당 스캔 데이터를 현재의 선분 또는 호로 이동할 수 있다.
이동 로봇의 자기 위치 인식을 위하여 스캔 거리 데이터의 양방향 선분 및 호를 추출하는 장치는 이동 로봇에 장착된 레이저 스캐너에서 입력된 스캔 거리 데이터의 순서와 동일한 방향으로 스캔 거리 데이터로부터 선분 및 호를 추출하는 순방향 선분 및 호 추출부; 및 스캔 거리 데이터의 순서와 반대 방향으로 상기 추출된 선분 및 호에 포함된 스캔 거리 데이터를 인접한 선분 또는 호로 선택적으로 이동하여 상기 추출된 선분 및 호를 보정하는 역방향 선분 및 호 보정부를 포함할 수 있다.
본 발명에 따르면, 순방향 선분 추출 및 역방향 선분 보정의 두 단계에서 요구되는 계산의 복잡도는 스캔 거리 데이터의 개수에 비례하므로 계산의 복잡도가 현저히 감소되어 계산이 신속하면서도 정확한 효과가 있다.
본 실시예에 따르면, 스캔 거리 데이터에서 양방향 선분과 아울러, 호를 추가적으로 추출하여 이동 로봇의 자기 위치 인식을 수행함으로써 보다 신속하고 정확한 데이터 처리가 가능하여 이동 로봇의 자기 위치 인식에 대한 정확도를 향상시킬 수 있다.
도 1은 통상적인 이동 로봇의 자기 위치 인식에 대한 관한 전체 흐름도를 도시한 것이다.
도 2는 본 발명의 일실시예에 있어서, 스캔 거리 데이터의 양방향 선분 및 호를 추출하는 알고리즘에 관한 전체 구성도와 전체 흐름도를 도시한 것이다.
도 3은 본 발명의 일실시예에 있어서, 순방향 선분 및 호 추출 과정의 상태 천이도를 도시한 것이다.
도 4는 본 발명의 일실시예에 있어서, 순방향 선분 및 호 추출 단계에 의해 추출된 선분 및 호들의 예시도이다.
도 5는 본 발명의 일실시예에 있어서, 역방향 선분 및 호 보정 단계에 의해 보정된 선분 및 호들의 예시도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 실시예들은 이동 로봇의 자기 위치 인식을 위한 스캔 거리 데이터에서 선분 및 호를 추출하는 알고리즘에 관한 것이다.
본 발명은 레이저 스캐너에서의 스캔 거리 데이터를 입력으로 하여 스캔 거리 데이터의 입력 순서와 동일한 방향(이하, '순방향'이라 칭함)으로 선분들과 호들을 추출하는 순방향 선분 및 호 추출 단계와, 스캔 거리 데이터의 입력 순서와 반대 방향(이하, '역방향'이라 칭함)으로 선분들과 호들의 끝 부근의 스캔 거리 데이터들을 조사하여 최적의 해당 선분들 또는 호들로 이동시켜 보정을 수행하는 역방향 선분 및 호 보정 단계로 이루어지는 양방향 선분 및 호 추출 장치 및 방법을 개시한다.
이하, 본 발명의 일실시예에 따른 이동 로봇의 자기 위치 인식을 위한 스캔 거리 데이터에서 선분 및 호를 추출하는 장치 및 방법에 관하여 도 2를 참조하여 설명하기로 한다.
도 2는 본 발명의 일실시예에 있어서, 스캔 거리 데이터의 양방향 선분 및 호를 추출하는 알고리즘에 관한 전체 구성도와 전체 흐름도를 도시한 것이다.
도 2에 도시한 바와 같이, 일실시예에 따른 양방향 선분 및 호 추출 장치는 순방향 선분 및 호 추출부(210), 및 역방향 선분 및 호 보정부(220)를 포함하여 구성될 수 있다.
일실시예에 따른 양방향 선분 및 호 추출 장치는 이동 로봇에 장착된 레이저 스캐너로부터 획득한 각각의 스캔 각도에 대한 스캔 거리 데이터들을 입력 데이터로 사용한다. 본 명세서에서 선분 및 호를 구성할 수 있는 최소의 스캔 거리 데이터의 개수는 제1 소정 개수, 선분 및 호의 판정 기준거리는 제2 소정 값, 현재 스캔 거리 데이터와 직전 스캔 거리 데이터와의 허용 거리는 제3 소정 값으로 가정하자. 이때, 제1 소정 개수와 제2 소정 값, 그리고 제3 소정 값들은 환경에 따라 사용자가 다르게 설정할 수 있는 상수들이다.
첫 번째 단계로서, 순방향 선분 및 호 추출부(210)의 동작에 대하여 기술한다.
순방향 선분 및 호 추출부(210)는 이동 로봇에 연결된 레이저 스캐너로부터 스캔 거리 데이터를 입력 받는다(S211).
순방향 선분 및 호 추출부(210)는 각각의 스캔 거리 데이터가 입력됨에 따라 각 상태에 대한 처리를 수행한다(S212). 도 3은 순방향 선분 및 호 추출 과정에 대한 상태천이도(state transition diagram)이다. 각각의 스캔 거리 데이터의 입력에 따라 상태가 천이되며, 상세한 동작 설명을 기술하기로 한다.
먼저, 본 실시예에서 사용된 상태들은 도 3에 도시된 바와 같이 네 가지의 상태로 정의될 수 있다.
1. 초기 상태 SI(500): 스캔 시작 및 최대 스캔 거리를 벗어난 경우의 상태
2. 미분류 상태 SU(600): 선분 또는 호로 분류되지 않은 상태
3. 선분 갱신 상태 SL(700): 제1 소정 개수 또는 그 이상의 스캔 거리 데이터를 포함한 선분의 갱신 상태
4. 호 갱신 상태 SA(800): 제1 소정 개수 또는 그 이상의 스캔 거리 데이터를 포함한 호의 갱신 상태
이때, 미분류 상태(600)는 다음과 같은 세 가지의 세부 상태로 분류된다.
1. 데이터 저장 상태 SUi(610): 제1 소정 개수 미만의 스캔 거리 데이터가 입력된 상태
2. 선분 및 호 초기화 상태 SUn(620): 제1 소정 개수의 스캔 거리 데이터가 입력되어 선분 또는 호의 초기화 판단 상태
3. 이동 윈도우 상태 SUm(630): 제1 소정 개수를 초과한 스캔 거리 데이터가 입력된 미분류 상태로 이동 윈도우를 사용하여 새로운 선분 또는 호를 초기화 판단 상태
또한, 각 상태 사이의 천이(transition)는 다음과 같은 판단조건들에 의하여 수행된다.
1. CR: 스캔 거리 데이터가 최대 스캔 거리 이내인 조건
2. CD: 현재 스캔 거리 데이터와 직전 스캔 거리 데이터와의 거리가 제3 소정 값 이내인 조건
3. CN: 스캔 거리 데이터가 제1 소정 개수인 조건
4. CL: 스캔 거리 데이터와 추출된 선분과의 선분 오차가 제2 소정 값 이내인 조건
6. CA: 스캔 거리 데이터와 추출된 호와의 호 오차가 제2 소정 값 이내인 조건
7. CU: CL 및 CA 조건이 모두 만족되지 않는 미분류 조건
다음으로, 도 3을 참조하여 순방향 선분 및 호 추출부(210)의 각 상태에서의 데이터 처리를 설명한다.
먼저, 초기 상태(500)는 스캔이 새로 시작될 경우 이 상태로부터 출발한다. 아울러, 어떤 상태에 있든지(900) 최대 스캔 거리를 벗어난 조건(CR', 즉 CR이 아닌 경우)인 경우에는 이 상태로 천이된다. 이 경우, 추후 스캔 거리 데이터가 최대 스캔 거리 이내인 조건(CR)이 성립되는 경우 미분류 상태(600)의 첫 세부 상태인 데이터 저장 상태 SUi(610)로 천이된다.
데이터 저장 상태(610)는 제1 소정 개수 미만의 스캔 거리 데이터가 입력될 때까지 스캔 거리 데이터들을 수집 저장하는 기능을 수행할 수 있다. 데이터 저장 상태(610)에서는 스캔 거리 데이터의 개수가 제1 소정 개수 미만인 조건(CN')의 경우 이 상태에 계속 머물게 되고 스캔 거리 데이터의 수집 저장이 수행된다. 스캔 거리 데이터의 개수가 제1 소정 개수인 조건(CN)의 경우 선분 및 호 초기화 상태(620)로 천이된다.
선분 및 호 초기화 상태(620)에서는 지금까지 획득한 제1 소정 개수의 스캔 거리 데이터를 사용하여 선분에 대한 최소 제곱 오차법(Least square error fit)에 의하여 선분으로 초기화 할 경우의 선분 오차를 계산하고, 호에 대한 최소 제곱 오차법(Least square error fit)에 의하여 호로 초기화 할 경우의 호 오차를 계산한다. 그리고, 선분 오차와 호 오차가 모두 제2 소정 값보다 큰(CU) 경우, 이동 윈도우 상태(630)으로 천이하고, 선분 오차가 호 오차보다 적을 경우(CL)에는 선분 갱신 상태(700)으로 천이하고, 호 오차가 선분 오차보다 적을 경우(CA)에는 호 갱신 상태(800)로 천이한다.
이동 윈도우 상태(630)에서는 이동 윈도우를 사용하여, 즉 지금까지 획득한 제1 소정 개수를 초과한 스캔 거리 데이터들 중에서 최근의 제1 소정 개수 즉, 현재 스캔 거리 데이터로부터 역순으로 과거 제1 소정 개수의 스캔 거리 데이터까지만 선택적으로 채택하여, 선분 및 호로 초기화 할 경우의 선분 오차 및 호 오차들을 계산한다. 그리고, 선분 오차와 호 오차가 모두 제2 소정 값보다 큰(CU) 경우, 현 상태에 머물러 있고, 선분 오차가 호 오차보다 적을 경우(CL)에는 선분을 초기화하고 선분 갱신 상태(700)으로 천이하고, 호 오차가 선분 오차보다 적을 경우(CA)에는 호를 초기화하고 호 갱신 상태(800)로 천이한다.
선분 갱신 상태(700)에서는 선분 및 호 초기화 상태(620) 또는 이동 윈도우 상태(630)에 의하여 선분이 초기화 된 이후의 각각의 스캔 거리 데이터에 대하여, 초기화 된 선분에 이후의 각각의 스캔 거리 데이터를 추가함이 적절한지 여부를 선분 오차가 제2 소정 값 이내 여부로 판단하여, 반복적으로 선분을 추가 갱신시키는 방식을 사용한다. 만일, 선분 오차가 제2 소정 값을 초과할 경우(CL')에는 데이터 저장 상태(610)으로 천이하게 된다. 참고 사항으로, 스캔 거리 데이터들로부터의 선분 추출은 최소제곱에 의한 선분 추출(Least square line fitting)을 사용하여 각 선분의 원점으로부터의 거리 및 각도를 계산한다.
호 갱신 상태(800)에서는 선분 및 호 초기화 상태(620) 또는 이동 윈도우 상태(630)에 의하여 호가 초기화 된 이후의 각각의 스캔 거리 데이터에 대하여, 초기화 된 호에 이후의 각각의 스캔 거리 데이터를 추가함이 적절한지 여부를 호 오차가 제2 소정 값 이내 여부로 판단하여, 반복적으로 호를 추가 갱신시키는 방식을 사용한다. 만일, 호 오차가 제2 소정 값을 초과할 경우(CA')에는 데이터 저장상태(610)으로 천이하게 된다. 참고 사항으로, 스캔 거리 데이터들로부터의 호 추출은 최소제곱에 의한 호 추출(Least square arc fitting)을 사용하여 각 호의 중심, 시작점, 끝점을 계산한다.
현재 스캔 거리 데이터와 직전 스캔 거리 데이터와의 거리가 제3 소정 값을 초과할 경우, 새로운 선분 또는 호에 대한 스캔 거리 데이터가 시작된다고 판단한다. 그러므로, 초기 상태(500) 이외의 모든 상태(900)에서 현재 스캔 거리 데이터와 직전 스캔 거리 데이터와의 거리가 제3 소정 값 이내인 조건이 만족되지 않는다면(CD'), 데이터 저장상태(610)로 천이되어 새로운 선분 또는 호를 위하여 다시 데이터 저장을 시작하게 된다.
상기한 과정의 상태에 따른 데이터 처리(S212)를 각각의 스캔 거리 데이터 입력(S211)에 대하여 반복 수행한다. 다시 도 2에서, 최종 스캔 거리 데이터에 대한 데이터 처리가 완료되면(S213), 순방향 선분 및 호 추출부(210)에서의 모든 과정을 종료한 후 역방향 선분 및 호 보정부(220)를 통한 보정 과정을 수행한다.
다음 단계로서, 역방향 선분 및 호 보정부(220)의 동작에 대하여 기술한다.
단계(S221)에서 역방향 선분 및 호 보정부(220)는 최후 선분 또는 최후 호로부터 최초 선분 또는 최초 호의 방향으로 보정하기 위하여, 최후 선분 또는 최후 호를 현재 선분 또는 호로 설정하고 시작한다.
단계(S222)에서 역방향 선분 및 호 보정부(220)는 다음과 같은 상세 단계를 수행할 수 있다.
1. 직전 선분 또는 호의 최후 스캔 거리 데이터를 현재 선분 또는 호에 이동 포함시킬 경우에 대한 해당 스캔 거리 데이터의 이동 시 선분 오차 또는 호 오차인 '이동 시 오차'를 계산한다.
2. 아울러, 직전의 선분 또는 호에 그대로 잔류시킬 경우에 대한 해당 스캔 거리 데이터의 잔류 시 선분 오차 또는 호 오차인 '잔류 시 오차'를 계산한다.
3. 만일, '이동 시 오차'가 '잔류 시 오차'보다 작다면, 이 스캔 거리 데이터를 직전 선분 또는 호에서 현재 선분 또는 호로 이동시킨다. 즉, 이 스캔 거리 데이터를 직전 선분 또는 호에서는 제외시키고, 현재 선분 또는 호에 추가로 포함시킨다. 만일 '이동 시 오차'가 '잔류 시 오차'보다 크다면, 그 스캔 거리 데이터는 직전 선분 또는 호에 잔류시키는 것이 타당하므로, 이 스캔 거리 데이터를 이동시키지 않는다.
4. 위의 동작을 직전 선분의 최후 직전 스캔 거리 데이터들에 대하여 반복한다.
단계(S223)에서 역방향 선분 및 호 보정부(220)는 현재 선분 및 호가 최초의 선분과 호가 아니면, 현재 직전의 선분과 호를 현재 선분 및 호로 설정하고 단계(S221)의 동작으로 되돌아간다. 한편, 현재 선분 및 호가 최초의 선분과 호에 해당되면 상기한 과정(S221)(S222)을 종료한다.
앞서 설명한 알고리즘의 출력은 다음과 같다. 상기 알고리즘에서 출력으로 제공되는 각 선분의 데이터로는 각 선분의 원점으로부터의 거리 및 각도, 선분의 시작점, 끝점들의 위치 등이 포함될 수 있다. 또한, 각 호의 데이터로는 각 호의 원점의 위치, 호의 시작점의 위치, 끝점의 위치 등이 포함될 수 있다. 분류되지 않은 스캔 거리 데이터들은 따로 그룹으로 분리하여 출력될 수 있다.
도 4를 참조하여, 순방향 선분 및 호 추출부(210)의 동작에 대한 구체적 예를 설명한다. 이동 로봇(1)에 장착된 레이저 스캐너(2)를 구동시켜 스캔을 수행한다. 이때, 레이저 스캐너(2)는 순방향(10)으로 스캔을 수행하며, 스캔선들(3, 4, 9)을 발생시킨다. 현재 이동 로봇의 환경은 좌우 및 전면에 세 개의 평평한 벽면(21, 23, 25)이 있고, 두 벽을 연결하는 오목한 호 형태의 벽면(22)과 볼록한 호 형태의 벽면(24)들이 존재하며, 하나의 원형 기둥(26)이 왼편에 존재한다고 가정하자. 이때, 스캔선들(3, 4, 9)이 여러 벽면(21~26)으로부터 레이저 신호가 반사되어서 각각의 스캔선(3, 4, 9)에 해당하는 벽면상의 스캔 점(13, 14, 19)과의 거리를 측정할 수 있다. 도 4에서는 스캐너의 측정의 오차를 포함하여 도시하였으므로, 벽면들(21~26)과 스캔 거리 데이터들(13, 14, 19)이 약간의 오차를 가지게 된다. 상기한 순방향 선분 및 호 추출 알고리즘 및 상태 천이도에 의거하여 스캔 점들(13, 14)을 포함한 다수의 제2 소정 값 이내의 오차를 가진 스캔 점들로부터 한 선분(31)이 생성된다. 동일한 방법으로, 벽면(23)에 대하여 한 선분(33)이 생성된다. 벽면(25)의 경우에는, 원형 기둥(26)에 의하여 벽면의 일부가 가려져 있으므로 두 선분(35, 37)이 생성된다. 호 형태의 벽면들(22, 24)에 대하여 각각 호(32, 34)가 생성되며, 원형 기둥(26)에 의하여 하나의 호(36)가 생성된다. 결과적으로, 순방향 선분 및 호 추출부(210)에 의하여 네 선분(31, 33, 35, 37)과 세 호(32, 34, 36)가 생성된다. 도 4에 도시한 바와 같이, 순방향으로만 처리한 것이므로 각 선분 또는 호에 포함된 끝 부분의 스캔 거리 데이터들(51~55)이 부자연스럽게 배치되어 있음을 알 수 있다.
도 4와 도 5를 참조하여, 역방향 선분 및 호 보정부(220)의 동작에 대한 구체적 예를 설명한다. 이때, 선분 보정의 진행 방향은 역방향(20)으로 설정한다. 따라서, 끝의 선분(37)로부터 첫 선분(31)의 순서로 현재 선분 또는 호와, 직전 선분 또는 호의 쌍을 대상으로 보정을 수행한다. 첫째로, 선분(37), 호(36) 사이에는 변두리 스캔 거리 데이터의 이동이 오차를 오히려 증가시키므로 스캔 거리 데이터의 이동이 수행되지 않으며, 선분(37)과 보정된 선분(47)은 구성 선분 거리 데이터가 동일하다. 다음으로, 호(36)와 선분(35)의 변두리의 스캔 거리 데이터의 오차 비교의 결과도 동일하게 스캔 거리 데이터의 이동이 수행되지 않으며, 호(36)과 보정된 호(46)는 동일한 구성 스캔 거리 데이터를 갖는다. 다음으로, 선분(35)와 호(34)의 경우, 호(34)의 끝의 스캔 거리 데이터(55)를 선분(35)로 이동함이 오차가 더 적으므로 이 스캔 거리 데이터(55)의 이동이 수행되며, 보정된 선분(45)은 보정 전의 선분(35)보다 하나의 스캔 거리 데이터(55)를 추가로 포함하게 된다. 마찬가지로, 보정된 호(44)는 보정 전의 호(34)보다 하나의 스캔 거리 데이터(55)를 잃고, 하나의 스캔 거리 데이터(54)를 추가로 포함하게 된다. 그리고, 보정된 선분(43)도 마찬가지로 하나의 스캔 거리 데이터(54)를 잃고, 하나의 스캔 거리 데이터(53)를 추가로 포함하게 된다. 다음으로, 보정된 호(42)는 보정 전의 호(32)보다 하나의 스캔 거리 데이터(53)를 잃고, 두 개의 스캔 거리 데이터(51, 52)들을 추가로 포함하게 된다. 그리하여, 부드럽게 연결된 벽면(21, 22, 23)에 대하여도 역방향 선분 및 호 보정에 의하여 정확하게 선분 및 호가 생성됨을 알 수 있다. 결과적으로, 이러한 역방향 선분 및 호 보정부(220)에 의하여 스캔 거리 데이터들(51~55)이 이동되어, 4개의 보정된 선분들(47, 45, 43, 41)과 3개의 보정된 호들(46, 44, 42)을 얻는다. 역방향의 선분 및 호 보정에 의하여 스캔 거리 데이터들이 각각의 선분 또는 호에 훨씬 더 적합하고 정확하게 배치됨을 알 수 있다.
순방향 선분 및 호 추출부(210)과 역방향 선분 및 호 보정부(220)에서의 알고리즘은 계산의 복잡도가 스캔 거리 데이터의 개수 N에 비례하는 복잡도로써, 계산량이 많지 않은 알고리즘이다. 기존에 널리 사용되는 분할 및 병합(Split & merge) 방법의 계산량 NlogN 보다 계산이 매우 빠르다. 특히, 스캔 거리 데이터 수가 많거나, 벽면의 수가 많은 복잡한 환경일 경우 그 계산량의 차이가 현저하다. 아울러, 경계점이 경계점 양쪽의 두 선분 또는 호 중 어느 선분 또는 호에 속하는가 하는 판단이 명확하다는 장점이 있다.
이와 같이, 본 발명의 실시예에 따르면, 스캔 거리 데이터에서 양방향 선분과 아울러, 호를 추출하여 이동 로봇의 자기 위치 인식을 수행함으로써 보다 신속하고 정확한 데이터 처리가 가능하고, 역방향의 선분 및 호 보정에 의하여 스캔 거리 데이터들을 각각의 선분 또는 호에 보다 정확하게 배치됨으로써 이동 로봇의 자기 위치 인식에 대한 정확도를 향상시킬 수 있다.
본 발명의 실시예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 또한, 상술한 파일 시스템은 컴퓨터 판독이 가능한 기록 매체에 기록될 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
210: 순방향 선분 및 호 추출부
220: 역방향 선분 및 호 보정부

Claims (10)

  1. 이동 로봇의 자기 위치 인식을 위하여 스캔 거리 데이터의 양방향 선분 및 호를 추출하는 방법에 있어서,
    상기 이동 로봇에 장착된 레이저 스캐너를 구동하여 상기 레이저 스캐너에서 입력된 스캔 거리 데이터의 순서와 동일한 방향으로 상기 스캔 거리 데이터로부터 선분 및 호를 추출하는 단계; 및
    상기 스캔 거리 데이터의 순서와 반대 방향으로 상기 추출된 선분 및 호에 포함된 스캔 거리 데이터를 인접한 선분 또는 호로 선택적으로 이동하여 상기 추출된 선분 및 호를 보정하는 단계
    를 포함하고,
    상기 선분 및 호를 추출하는 단계는,
    상기 스캔 거리 데이터의 입력에 따라, 상기 레이저 스캐너의 스캔이 시작되거나 최대 스캔 거리를 벗어난 초기 상태, 상기 스캔 거리 데이터가 선분 및 호로 분류되지 않은 미분류 상태, 제1 소정 개수 이상의 스캔 거리 데이터를 포함한 선분 갱신 상태, 상기 제1 소정 개수 이상의 스캔 거리 데이터를 포함한 호 갱신 상태 중 하나의 상태에 대한 처리를 수행하는 것
    을 특징으로 하는 스캔 거리 데이터에서의 선분 및 호 추출 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 미분류 상태는,
    상기 제1 소정 개수의 스캔 거리 데이터가 입력될 때까지 상기 스캔 거리 데이터를 저장하는 데이터 저장 상태와,
    상기 제1 소정 개수의 스캔 거리 데이터가 저장되면 상기 선분 및 호를 초기화 하는 선분 및 호 초기화 상태와,
    상기 제1 소정 개수를 초과한 스캔 거리 데이터의 경우 이동 윈도우를 사용하여 새로운 선분 및 호를 초기화 하는 이동 윈도우 상태
    를 포함하는 스캔 거리 데이터에서의 선분 및 호 추출 방법.
  4. 제1항에 있어서,
    상기 초기 상태에서 상기 스캔 거리 데이터가 최대 스캔 거리 이내로 판단되는 경우, 상기 초기 상태 이외의 다른 상태에서 현재 스캔 거리 데이터와 직전 스캔 거리 데이터와의 거리가 제3 소정 값을 초과하는 경우, 상기 선분 갱신 상태에서 상기 스캔 거리 데이터와 상기 추출된 선분과의 선분 오차가 제2 소정 값을 초과하는 경우, 상기 호 갱신 상태에서 상기 스캔 거리 데이터와 상기 추출된 호와의 호 오차가 상기 제2 소정 값을 초과하는 경우 중 적어도 하나의 경우에 상기 선분 또는 호의 초기화를 위하여 상기 미분류 상태로 천이되는 것
    을 특징으로 하는 스캔 거리 데이터에서의 선분 및 호 추출 방법.
  5. 제1항에 있어서,
    상기 선분 및 호를 추출하는 단계는,
    제1 소정 개수의 연속된 스캔 거리 데이터들로부터 선분에 대한 최소 제곱 오차법(Least square error fit)에 의하여 선분으로 초기화할 경우의 선분 오차를 계산하는 단계;
    상기 제1 소정 개수의 연속된 스캔 거리 데이터들로부터 호에 대한 최소 제곱 오차법(Least square error fit)에 의하여 호로 초기화할 경우의 호 오차를 계산하는 단계; 및
    상기 선분 오차와 상기 호 오차가 제2 소정 값보다 큰 경우 미분류로 분류하고, 상기 제2 소정 값보다 작은 경우 상기 선분 오차와 상기 호 오차를 비교하여 오차가 적은 선분 또는 호로 초기화하는 단계
    를 포함하는 스캔 거리 데이터에서의 선분 및 호 추출 방법.
  6. 제5항에 있어서,
    상기 선분 및 호를 추출하는 단계는,
    미분류된 스캔 거리 데이터들 중에서 현재의 스캔 거리 데이터로부터 역순으로 상기 제1 소정 개수의 스캔 거리 데이터까지 선택적으로 포함하는 이동 윈도우를 이용하여, 제2 소정 값 이내의 선분 오차 또는 호 오차를 갖는 선분 또는 호에 대한 초기화를 수행하는 단계
    를 더 포함하는 스캔 거리 데이터에서의 선분 및 호 추출 방법.
  7. 제5항에 있어서,
    상기 선분 및 호를 추출하는 단계는,
    상기 선분이 초기화 된 이후 각각의 스캔 거리 데이터에 대하여 상기 선분 오차에 따라 상기 초기화 된 선분에 현재의 스캔 거리 데이터를 추가하여 선분을 갱신하는 단계
    를 더 포함하는 스캔 거리 데이터에서의 선분 및 호 추출 방법.
  8. 제5항에 있어서,
    상기 선분 및 호를 추출하는 단계는,
    상기 호가 초기화 된 이후 각각의 스캔 거리 데이터에 대하여 상기 호 오차에 따라 상기 초기화 된 호에 현재의 스캔 거리 데이터를 추가하여 호를 갱신하는 단계
    를 더 포함하는 스캔 거리 데이터에서의 선분 및 호 추출 방법.
  9. 제1항에 있어서,
    상기 추출된 선분 및 호를 보정하는 단계는,
    상기 스캔 거리 데이터의 순서와 반대 방향으로 현재의 선분 또는 호와 인접한 직전의 선분 또는 호로 이루어진 쌍을 대상으로,
    상기 현재의 선분 또는 호에 인접한 상기 직전의 선분 또는 호의 끝 부근에 포함된 적어도 하나의 스캔 거리 데이터들에 대하여,
    상기 현재의 선분 또는 호로 이동 포함시킬 경우의 해당 스캔 거리 데이터의 이동시 선분 오차 또는 호 오차를 계산하고, 상기 직전의 선분 또는 호에 그대로 잔류시킬 경우의 해당 스캔 거리 데이터의 잔류시 선분 오차 또는 호 오차를 계산한 후, 상기 이동시 선분 오차 또는 호 오차가 상기 잔류시 선분 오차 또는 호 오차보다 적은 경우 해당 스캔 데이터를 상기 현재의 선분 또는 호로 이동하는 것
    을 특징으로 하는 스캔 거리 데이터에서의 선분 및 호 추출 방법.
  10. 이동 로봇의 자기 위치 인식을 위하여 스캔 거리 데이터의 양방향 선분 및 호를 추출하는 장치에 있어서,
    상기 이동 로봇에 장착된 레이저 스캐너에서 입력된 스캔 거리 데이터의 순서와 동일한 방향으로 상기 스캔 거리 데이터로부터 선분 및 호를 추출하는 순방향 선분 및 호 추출부; 및
    상기 스캔 거리 데이터의 순서와 반대 방향으로 상기 추출된 선분 및 호에 포함된 스캔 거리 데이터를 인접한 선분 또는 호로 선택적으로 이동하여 상기 추출된 선분 및 호를 보정하는 역방향 선분 및 호 보정부
    를 포함하고,
    상기 순방향 선분 및 호 추출부는
    상기 스캔 거리 데이터의 입력에 따라, 상기 레이저 스캐너의 스캔이 시작되거나 최대 스캔 거리를 벗어난 초기 상태, 상기 스캔 거리 데이터가 선분 및 호로 분류되지 않은 미분류 상태, 제1 소정 개수 이상의 스캔 거리 데이터를 포함한 선분 갱신 상태, 상기 제1 소정 개수 이상의 스캔 거리 데이터를 포함한 호 갱신 상태 중 하나의 상태에 대한 처리를 수행하는 것
    을 특징으로 하는 스캔 거리 데이터에서의 선분 및 호 추출 장치.
KR1020120005646A 2012-01-18 2012-01-18 이동 로봇의 자기 위치 인식을 위한 스캔 거리 데이터의 양방향 선분 및 호 추출 방법 및 그 장치 KR101340807B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120005646A KR101340807B1 (ko) 2012-01-18 2012-01-18 이동 로봇의 자기 위치 인식을 위한 스캔 거리 데이터의 양방향 선분 및 호 추출 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120005646A KR101340807B1 (ko) 2012-01-18 2012-01-18 이동 로봇의 자기 위치 인식을 위한 스캔 거리 데이터의 양방향 선분 및 호 추출 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20130084797A KR20130084797A (ko) 2013-07-26
KR101340807B1 true KR101340807B1 (ko) 2013-12-31

Family

ID=48995255

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120005646A KR101340807B1 (ko) 2012-01-18 2012-01-18 이동 로봇의 자기 위치 인식을 위한 스캔 거리 데이터의 양방향 선분 및 호 추출 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR101340807B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090076461A (ko) * 2008-01-09 2009-07-13 한국과학기술원 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 장치및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090076461A (ko) * 2008-01-09 2009-07-13 한국과학기술원 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 장치및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
배상훈 외 1명. 다중센서융합을 사용한 자동차형 로봇의 효율적인 실외지역 위치추정방법. 제어-로봇-시스템학회논문지. 2011.10., 제17권, 제10호 (제995면 내지 제1005면) *
배상훈 외 1명. 다중센서융합을 사용한 자동차형 로봇의 효율적인 실외지역 위치추정방법. 제어-로봇-시스템학회논문지. 2011.10., 제17권, 제10호 (제995면 내지 제1005면)*

Also Published As

Publication number Publication date
KR20130084797A (ko) 2013-07-26

Similar Documents

Publication Publication Date Title
CN108955718B (zh) 一种视觉里程计及其定位方法、机器人以及存储介质
KR101725060B1 (ko) 그래디언트 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
KR101784183B1 (ko) ADoG 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
CN111445526A (zh) 一种图像帧之间位姿的估计方法、估计装置和存储介质
CN108038139B (zh) 地图构建方法、装置和机器人定位方法、装置、计算机设备和存储介质
CN109978911B (zh) 一种图像特征点跟踪方法和相机
JP2017526082A (ja) 動作推定方法、移動体、およびプロセッサに動作推定方法を実行させるコンピュータプログラムコードでコード化された非一時的コンピュータ可読媒体
US10296798B2 (en) System and method of selecting a keyframe for iterative closest point
KR100996897B1 (ko) 직선 핏팅에 의한 광각렌즈의 원주방향의 왜곡영상 보정 방법
CN111210477A (zh) 一种运动目标的定位方法及系统
KR102265315B1 (ko) 영상 광류를 추정하는 방법 및 이를 위한 장치
US10249058B2 (en) Three-dimensional information restoration device, three-dimensional information restoration system, and three-dimensional information restoration method
CN106595601B (zh) 一种无需手眼标定的相机六自由度位姿精确重定位方法
US20200043194A1 (en) Recognition device, recognition system, recognition method, and non-transitory computer readable recording medium
CN107895344B (zh) 视频拼接装置及方法
WO2005071614A1 (ja) 人物顔の検出位置ずれ補正方法及び補正システム並びに補正プログラム
JP2016500890A (ja) 並列化可能なアーキテクチャ内の画像を使用して、サーフェルの局所的なジオメトリまたは面法線を初期化し、解くための方法
EP3598388B1 (en) Method and apparatus for visual odometry, and non-transitory computer-readable recording medium
KR101340807B1 (ko) 이동 로봇의 자기 위치 인식을 위한 스캔 거리 데이터의 양방향 선분 및 호 추출 방법 및 그 장치
JP5867167B2 (ja) 影検出装置
US8903159B2 (en) Method and apparatus for tracking image patch considering scale
Truong et al. Lane boundaries detection algorithm using vector lane concept
CN110570680A (zh) 利用地图信息确定对象位置的方法和系统
US20220291009A1 (en) Information processing apparatus, information processing method, and storage medium
JP4133246B2 (ja) 画像変形情報生成装置、画像変形情報生成方法及び画像変形情報生成プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161129

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee