KR100930578B1 - 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법 - Google Patents

이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법 Download PDF

Info

Publication number
KR100930578B1
KR100930578B1 KR1020080002424A KR20080002424A KR100930578B1 KR 100930578 B1 KR100930578 B1 KR 100930578B1 KR 1020080002424 A KR1020080002424 A KR 1020080002424A KR 20080002424 A KR20080002424 A KR 20080002424A KR 100930578 B1 KR100930578 B1 KR 100930578B1
Authority
KR
South Korea
Prior art keywords
line segment
scan data
data
predetermined number
distance
Prior art date
Application number
KR1020080002424A
Other languages
English (en)
Other versions
KR20090076461A (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 KR1020080002424A priority Critical patent/KR100930578B1/ko
Publication of KR20090076461A publication Critical patent/KR20090076461A/ko
Application granted granted Critical
Publication of KR100930578B1 publication Critical patent/KR100930578B1/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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법에 관한 것으로서, (a) 입력부가 스캔 데이터를 입력받는 단계; (b) 선분추출부가, 입력받은 스캔 데이터 중 최초로 입력된 제 1 소정 개수의 스캔 데이터로부터, 최소 자승법(Least square fit)에 따라 제 1 선분을 초기화하는 단계; (c) 상기 선분추출부가, 상기 제 1 소정 개수 이후의 스캔 데이터를 입력되는 순서대로 추가하면서, 추가되는 스캔 데이터와 상기 제 1 선분과의 거리가 미리 설정된 선분판정 기준거리 이내인 경우 추가되는 스캔 데이터를 이용하여 상기 제 1 선분을 갱신하는 단계; (d) 상기 선분추출부가, 추가되는 스캔 데이터가 제 2 소정 개수 이상 연속적으로 상기 제 1 선분과의 거리가 상기 선분판정 기준거리를 초과하는 경우, 상기 제 2 소정 개수의 스캔 데이터로부터, 최소 자승법에 따라 제 2 선분을 초기화하는 단계; 및 (e) 선분보정부가, 상기 제 2 소정 개수의 스캔 데이터 중 가장 먼저 입력된 제 1 스캔 데이터와 상기 제 2 선분과의 거리가, 상기 제 1 스캔 데이터와 상기 제 1 선분과의 거리보다 큰 경우, 상기 제 1 스캔 데이터를 상기 제 1 선분으로 이동시켜 상기 제 1 선분을 갱신하는 단계;를 포함한다.
본 발명에 따르면, 순방향 선분 추출 및 역방향 선분 보정의 두 단계를 사용함으로써 요구되는 계산의 복잡도는 적음에도 불구하고, 정확한 선분 추출이 가능하다는 효과가 있다.
이동 로봇, 레이저 스캐너, 적외선 스캐너, 선분 추출

Description

이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법 { Bidirectional line-segment extraction Method for processing data from scanners of Moving robot }
본 발명은 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법에 관한 것으로서, 더욱 상세하게는 이동 로봇 등에서의 레이저 스캐너(Laser scanner) 또는 적외선 스캐너(Infrared scanner) 등을 사용한 자기 위치 인식 시스템에 있어서, 스캔 데이터(Scan data)의 획득, 선분 추출, 지도 데이터 선분과의 정합(Matching), 로봇 위치 추정을 거치는 데이터 처리 과정 중, 두 번째 과정인 선분 추출을 위하여 순방향 선분 추출 및 역방향 선분 보정 과정을 병행함으로써 계산의 복잡도를 감소시키면서 정확한 선분들의 추출이 가능한 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법에 관한 것이다.
자기 위치 인식 기술은 이동로봇의 자율적인 운행을 위한 필요 불가결한 기반 기술이다. 자기 위치 인식을 위한 대표적인 센서로는 영상 카메라 또는 레이저 스캐너가 있다. 그 중에서, 영상 카메라를 사용하는 경우에는 입력 영상의 처리를 위해서 입력 영상을 구성하는 수많은 화소들에 대한 영상 처리가 필요하므로, 고성능의 컴퓨터 및 많은 계산시간이 요구되는 문제점이 있다.
반면, 레이저 스캐너를 사용하는 경우, 2차원 스캔 평면상의 거리 데이터들을 정확히 감지해 낼 수 있으며 데이터 처리가 영상 처리에 비하여 간단하므로, 그 가격이 비교적 고가임에도 불구하고 가장 널리 사용된다. 또한, 동일한 목적으로 적외선 스캐너를 사용할 수도 있는데, 적외선 스캐너는 가격이 저렴한 장점이 있지만, 정확도가 떨어지는 문제점이 있다.
도 1에 도시한 바와 같이, 이동로봇의 자기 위치 인식 과정은 통상적으로 다음과 같은 단계들로 구성된다.
제 1 단계 : 레이저 스캐너를 구동하여 스캔 데이터들을 획득한다(단계11).
제 2 단계 : 스캔 데이터들로부터 유효 적절한 선분들을 추출한다(단계12).
제 3 단계 : 추출된 선분들과 지도 데이터의 선분들과의 정합(Matching) 관계를 조사한다(단계13).
제 4 단계 : 짝지어진 추출된 선분들과 지도 데이터의 선분들을 최소의 오차가 되도록 이동로봇의 평면상의 위치 및 회전각을 계산한다(14).
상술한 제 1 단계 내지 제 4 단계 중에서, 특히 제 2 단계(단계12)에서 선분들을 정확히 추출해야 다음의 제 3 단계 및 제 4 단계(단계13 및 단계14)에서 정확한 이동로봇의 위치 추출이 가능하다.
종래, 제 2 단계의 선분 추출을 위한 방법으로는 분할 및 병합(Split & merge) 방법이 있었다. 이는 컴퓨터 비전 분야에서 Pavlidis와 Horowitz(Segmentation of plane curves, IEEE Transaction on Computers, Vol. C23, no. 8, pp. 860-870, 1974)에 의하여 개발되었으며, 최근에도 Borges, Aldon(Line extraction in 2D range images for mobile robots, Journal of Intelligent and Robotic System, vol. 40, pp. 267-297, 2004) 등 여러 연구실에서 널리 사용되고 있다.
그러나, 상술한 분할 및 병합 방법은 계산의 복잡도가 N log N 이므로(여기서 N은 스캔 데이터의 개수), 스캔 데이터의 개수가 증가하거나 추출할 선분의 개수가 증가함에 따라 선분 추출의 계산량이 급격히 늘어나는 문제점이 있었다. 또한 추출된 선분의 경계점을 그 경계점 양쪽의 선분 중 어느 선분에 포함시킬 것인지가 모호하다는 문제점이 있었다.
또한 손희진, 김병국(A robust localization algorithm for mobile robots with laser range finders, Proceedings of the 2005 IEEE International Conference on Robotics and Automation, pp. 3556-3561, 2005)은 선분 추출을 위한 순차적인 최소 자승법(Recursive sequential least square fit)을 제안한 바 있다.
이는 스캔 데이터를 순방향으로 조사하여 선분들을 추출하는 순차계산을 사용한 방법으로서 계산의 복잡도가 스캔 데이터의 개수 N에 비례하는 신속한 선분 추출 방법이나, 순방향 스캔만을 사용하므로 추출된 선분에 상당한 오차가 존재하는 문제점이 있었다.
본 발명이 해결하고자 하는 과제는, 상기 모호성 및 오차에 대한 문제점을 해결하기 위한 것으로서, 스캔 데이터의 입력 순서와 동일한 방향으로 선분들을 추출한 후, 이와 반대 방향으로 경계점 부근 스캔 데이터를 포함시킬 선분을 결정하고, 그 결과에 따라 선분의 데이터를 갱신함으로써, 경계점을 경계점 양쪽의 두 선분 중 어느 선분에 포함시킬 것인가의 판단이 명확하고, 선분의 데이터가 정확하게 선분들을 추출하는 것이다.
본 발명이 해결하고자 하는 다른 과제는, 상기 계산의 복잡도에 대한 문제점을 해결하기 위한 것으로서, 요구되는 계산시간이 적은 역방향 선분 보정 단계를 추가함으로써, 특히 스캔 데이터의 수가 많거나 복잡한 환경일 경우에 계산량을 현저히 감소시킬 수 있는 신속하면서도 정확한 선분 추출 장치 및 방법을 제공하는 것이다.
본 발명은, 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법에 관한 것으로서, (a) 입력부가 스캔 데이터를 입력받는 단계; (b) 선분추출부가, 입력받은 스캔 데이터 중 최초로 입력된 제 1 소정 개수의 스캔 데이터로부터, 최소 자승법(Least square fit)에 따라 제 1 선분을 초기화하는 단계; (c) 상기 선분추출부가, 상기 제 1 소정 개수 이후의 스캔 데이터를 입력되는 순서대로 추가하면서, 추가되는 스캔 데이터와 상기 제 1 선분과의 거리가 미리 설정된 선분판정 기준거리 이내인 경우 추가되는 스캔 데이터를 이용하여 상기 제 1 선분을 갱신하는 단계; (d) 상기 선분추출부가, 추가되는 스캔 데이터가 제 2 소정 개수 이상 연속적으로 상기 제 1 선분과의 거리가 상기 선분판정 기준거리를 초과하는 경우, 상기 제 2 소정 개수의 스캔 데이터로부터, 최소 자승법에 따라 제 2 선분을 초기화하는 단계; 및 (e) 선분보정부가, 상기 제 2 소정 개수의 스캔 데이터 중 가장 먼저 입력된 제 1 스캔 데이터와 상기 제 2 선분과의 거리가, 상기 제 1 스캔 데이터와 상기 제 1 선분과의 거리보다 큰 경우, 상기 제 1 스캔 데이터를 상기 제 1 선분으로 이동시켜 상기 제 1 선분을 갱신하는 단계;를 포함한다.
바람직하게는, 상기 제 1 소정 개수는 3 이상의 양의 정수인 것을 특징으로 한다.
또한 바람직하게는, 상기 (e) 단계 이후에, (f) 상기 선분보정부가, 상기 제 1 스캔 데이터를 상기 제 1 선분으로 이동시켜 상기 제 1 선분을 갱신한 이후, 상기 제 2 소정 개수의 스캔 데이터 중 상기 제 1 스캔 데이터를 제외한 스캔 데이터로부터, 최소 자승법에 따라 상기 제 2 선분을 갱신하는 단계;를 더 포함하는 것을 특징으로 한다.
그리고 바람직하게는, 상기 (c) 단계는, (c-1) 상기 선분추출부가, 상기 제 1 소정 개수 이후의 스캔 데이터를 입력되는 순서대로 추가하면서, 추가되는 스캔 데이터와 상기 제 1 선분과의 거리가 미리 설정된 선분판정 기준거리를 초과하는 경우 상기 제 1 선분을 유지하는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 순방향 선분 추출 및 역방향 선분 보정의 두 단계에서 요구되는 계산의 복잡도는 스캔 데이터의 개수 N에 비례하므로 종래의 분할 및 병합(Split & merge) 방법에서 요구되는 계산량 N log N보다 현저히 계산의 복잡도가 감소되어 계산이 신속하면서도 정확한 효과가 있다.
본 발명에 따르면, 특히 스캔 데이터의 수가 많거나 복잡한 환경일 경우에 계산량을 현저히 감소시킬 수 있으며, 경계점을 경계점 양쪽의 두 선분 중 어느 선분에 포함시킬 것인가의 판단이 명확한 효과가 있다.
본 발명의 실시를 위한 구체적인 내용을 설명하기에 앞서, 본 발명의 기술적 요지와 직접적 관련이 없는 구성에 대하여는 본 발명의 기술적 요지를 흩뜨리지 않는 범위 내에서 생략하였음을 유의하여야 할 것이다.
또한, 본 명세서 및 청구범위에 사용된 용어나 단어는 발명자가 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있 다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다.
본 발명은, 레이저 스캐너 또는 적외선 스캐너에서의 스캔 데이터를 입력으로 하여, 스캔 데이터의 입력 순서와 동일한 방향(이하, '순방향'이라 한다.)으로 선분들을 추출하는 순방향 선분 추출 후, 스캔 데이터의 입력 순서와 반대 방향(이하, '역방향'이라 한다.)으로 선분들의 끝 부근의 스캔 데이터가 포함될 선분을 결정하고 열외 데이터를 갱신하는 역방향 선분 보정의 두 단계로 구성되는 양방향 선분 추출 장치 및 방법을 개시한다.
이하, 본 발명의 바람직한 실시예에 따른 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 장치에 관하여 도 2를 참조하여 설명한다.
도 2는 본 발명의 바람직한 실시예에 따른 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 장치에 관한 전체 구성도이다.
상기 도 2에 도시된 바와 같이, 본 발명의 바람직한 실시예에 따른 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 장치는 입력부(500), 선분추출부(600), 선분보정부(700) 및 출력부(800)를 포함한다.
상기 입력부(500)는 스캐너에서의 스캔 데이터를 입력받는다.
상기 스캐너는 레이저 스캐너 및 적외선 스캐너 중 어느 하나로 설정될 수 있다.
또한, 상기 선분추출부(600)는 순방향으로 선분을 추출하며 초기화부(610) 및 선분갱신부(620)를 포함한다.
상기 초기화부(610)는 상기 입력부(500)에서 입력받은 제 1 소정 개수의 스캔 데이터로부터 제 1 선분을 초기화한다. 아울러, 스캔 데이터를 추가하면서, 추가되는 스캔 데이터가 연속적으로 제 2 소정 개수 이상 상기 제 1 선분에 포함시키는 것이 적합하지 않은 경우 제 2 소정 개수의 스캔 데이터로부터 제 2 선분을 초기화한다.
다음으로, 상기 선분갱신부(620)는 스캔 데이터를 추가하면서, 추가되는 스캔 데이터를 상기 제 1 선분에 포함시키는 것이 적합한 경우 추가되는 스캔 데이터를 이용하여 상기 제 1 선분을 갱신한다. 아울러, 추가되는 스캔 데이터를 상기 제 1 선분에 포함시키는 것이 적합하지 않은 경우 상기 제 1 선분을 유지한다.
이때, 추가되는 스캔 데이터와 상기 제 1 선분과의 거리가 미리 설정된 선분판정 기준거리 이내인 경우 추가되는 스캔 데이터를 상기 제 1 선분에 포함시키는 것이 적합하다고 판단하게 된다.
또한, 상기 선분보정부(700)는 상기 선분추출부(600)에서 추출 및 갱신된 선분의 끝단에 위치하는 스캔 데이터를 이용하여 역방향으로 추출된 선분을 보정하며 데이터판단부(710), 데이터이동부(720) 및 열외데이터갱신부(730)를 포함한다.
상기 데이터판단부(710)는 추출 및 갱신된 선분의 끝단에 위치한 스캔 데이터를 원래의 선분 또는 이와 인접한 선분 중 어디에 포함시키는 것이 적합한지 판단한다.
다음으로, 상기 데이터이동부(720)는 상기 데이터판단부(710)의 판단 결과, 추출 및 갱신된 선분의 끝단에 위치한 스캔 데이터를 원래의 선분과 인접한 선분에 포함시키는 것이 적합한 경우 이를 인접한 선분으로 이동시킨다. 그리고, 이동시킨 스캔 데이터를 반영하여 이동 전의 선분 및 이동 후의 선분을 갱신한다.
아울러, 추출 및 갱신된 선분의 끝단에 위치한 스캔 데이터를 이동시키는 것이 적합하지 아니한 경우 원래의 선분에 포함되도록 유지한다.
마지막으로, 상기 열외데이터갱신부(730)는 상기 데이터이동부(720)에 의하여 추출 및 갱신된 선분의 끝단에 위치한 스캔 데이터가 이동된 경우, 그러한 이동 및 갱신에 따라서, 선분 추출에서 제외되었던 열외 스캔 데이터를 선분 추출에 포함시키는 것이 적합하게 된 경우 이를 반영하여 선분 추출 결과를 갱신한다. 또는 선분 추출에 포함시키는 것이 적합했던 스캔 데이터가 포함시키는 것이 적합하지 아니하게 된 경우 열외 스캔 데이터로 재설정한다.
그리고, 상기 출력부(800)는 보정한 선분 데이터를 출력한다.
이하, 본 발명의 바람직한 실시예에 따른 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법에 관하여 도 3 내지 도 6을 참조하여 설명한다.
도 3은 본 발명의 바람직한 실시예에 따른 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법에 관한 전체 흐름도이며, 도 4는 순방향 선분 추출 단계에 관한 상세 흐름도이고, 도 5는 순방향 선분 추출 단계에 의한 스캔 데이터 및 추출된 선분들의 예시도이며, 도 6은 역방향 선분 보정 단계에 의한 스캔 데이터 및 보정된 선분들의 예시도이다.
상기 도 3에 도시된 바와 같이, 먼저, 레이저 스캐너에서의 스캔 데이터를 입력받는다(단계21). 즉, 레이저 스캐너로부터 획득한 각각의 스캔 각도에 대한 거리 스캔 데이터 그룹(Group) 및 선분판정 기준거리(또는 잡음 허용값) E를 입력받는다.
본 발명의 바람직한 실시예에서, 스캐너는 레이저 스캐너로 설정하였으나, 본 발명이 이에 한정되는 것은 아니며 적외선 스캐너로도 설정될 수 있다.
다음으로, 순방향으로 선분들을 추출한다(단계22).
그리고, 역방향으로 추출한 선분들의 끝 부근의 스캔 데이터를 포함시킬 선분을 결정하고 잔여 열외 스캔 데이터를 갱신하여 추출한 선분을 보정한다(단계23).
이하, 상기 단계22의 순방향 선분 추출 과정에 관하여 상세히 설명한다.
먼저, 처음 세 개의 스캔 데이터로 구성되는 하나의 현재선분을 초기화한다.
스캔 데이터들로부터의 선분 추출은 최소 자승에 의한 선분 추출(Least square line fitting) 방법을 사용하며, 각 선분의 원점으로부터의 거리 및 각도를 계산한다.
다음으로, 순방향의 스캔 데이터를 하나씩 추가하여, 추가되는 새로운 스캔 데이터가 현재선분으로부터 선분판정 기준거리 E 이내에 있으면 이 스캔 데이터를 현재선분에 추가로 포함시킨다. 이때 각 스캔 데이터와 현재선분과의 거리 e_old를 기록한다.
다음으로, 추가되는 새로운 스캔 데이터가 현재선분으로부터 선분판정 기준거리 E 이내에 있지 않으면 이 스캔 데이터에 허용값 이상의 잡음이 포함되었다고 판단하고, 판정거리 이외의 데이터로 기록하며, 현재선분에 이 스캔 데이터를 포함시키지 않는다.
연속하여 두 개의 판정거리 이외의 스캔 데이터가 있을 경우에도 이를 허용값 이상의 잡음이 포함되었다고 판단하고, 판정거리 이외의 데이터로 추가로 기록하며, 현재선분에 이 스캔 데이터를 포함시키지 않는다.
상술한 바와 같이, 한 개의 스캔 데이터 또는 두 개의 스캔 데이터가 선분판정 기준거리 이내에 있지 않은 경우 현재선분에 포함시키지 않는다. 따라서 한두 개의 잡음이 심한 스캔 데이터가 연속적으로 존재하더라도 이를 제외시킴으로써 정확한 선분 추출이 가능하다.
만일 연속하여 세 개의 판정거리 이외의 스캔 데이터가 존재하는 경우에는, 저장된 세 개의 판정거리 이외의 스캔 데이터를 새로운 선분의 시작이라고 판단하여 새로운 선분을 구성하고 현재선분으로 설정한다.
추가할 스캔 데이터가 남아 있으면 추가되는 새로운 스캔 데이터가 현재선분으로부터 선분판정 기준거리 E 이내에 있는지를 판단함으로써 상술한 순방향 선분 추출 과정을 반복한다.
이하, 상기 단계23의 역방향 선분 보정 과정에 관하여 상세히 설명한다.
역방향 보정을 위하여, 상기 단계22의 순방향 선분 추출 과정에서 최후로 추 출된 선분을 현재선분으로 설정하고 시작한다.
현재선분에 대한 직전선분의 최후 스캔 데이터를 현재선분과 직전선분 중 어느 선분에 포함시킬 것인지를 판단하기 위하여, 직전선분의 최후 스캔 데이터와 현재선분과의 거리 e_new를 계산한다.
상기 계산 결과, e_new가 계산 대상이 되는 스캔 데이터의 e_old 보다 작다면 해당하는 스캔 데이터를 직전선분에서 현재선분으로 이동시킨다(즉, 이 스캔 데이터를 직전선분에서는 제외시키고, 현재선분에 추가로 포함시킨다).
상기 계산 결과, e_new가 e_old보다 크거나 같다면, 계산 대상이 되는 스캔 데이터는 직전선분에 포함시키는 것이 타당하므로 스캔 데이터를 이동시키지 않는다.
직전선분의 최후 스캔 데이터에 대한 직전 스캔 데이터들에 대하여 상술한 스캔 데이터의 이동에 관한 판단을 반복한다.
상술한 스캔 데이터의 이동에 관한 판단에 의하여 현재선분에 대한 스캔 데이터들의 이동이 완료되면, 현재선분을 기준으로 하여 열외 스캔 데이터들을 갱신한다.
현재선분이 순방향을 기준으로 최초의 선분이 아닌 경우, 역방향을 기준으로 현재선분의 직전선분을 현재선분으로 설정하고 상술한 역방향 선분 보정 과정을 반복한다.
마지막으로, 보정된 선분들과 선분들의 데이터들을 출력한다. 바람직하게, 출력 데이터는 각 선분의 원점으로부터의 거리 및 각도, 시작 및 끝의 스캔 데이터 인덱스(index), 선분의 거리 등을 포함한다.
이하, 순방향 선분 추출 과정을 실제로 적용하는 과정에 관하여 구체적으로 설명한다.
상기 도 4에 도시된 바와 같이, 첫 번째 스캔 데이터가 입력되면 "한 데이터 상태(31)"로 설정된다. 두 번째 스캔 데이터가 입력되면 "두 데이터 상태(32)"로 설정되고, 세 번째 스캔 데이터가 입력되면 "세 데이터 상태(33)"로 설정된다.
"세 데이터 상태(33)"에서는 지금까지의 세 개의 데이터를 가지고 새로운 선분을 초기화하는 바, 최소 자승법을 사용하여 가장 오차가 적은 선분을 추출한다. 이때 세 개의 각 스캔 데이터와 초기화된 현재선분과의 거리 e_old를 기록한다.
그 다음, "세 데이터 상태(33)"에서 새로운 스캔 데이터가 입력되고, 입력된 스캔 데이터와 이미 추출된 선분과의 거리가 기준거리 E 이내라면 "다수 데이터 상태(34)"로 설정되며, 새로운 스캔 데이터를 포함시켜 이미 추출된 선분의 데이터를 갱신한다.
만일 선분판정 기준거리 E보다 크다면 "한 열외 데이터 상태(35)"로 상태가 설정되고, 입력되는 스캔 데이터는 첫 번째 열외 데이터로 기록한다.
"한 열외 데이터 상태(35)"에서 새롭게 입력되는 스캔 데이터와 이미 추출된 선분과의 거리가 역시 선분판정 기준거리 E보다 크다면 "두 열외 데이터 상태(36)"로 변환된다. 이 경우 입력되는 스캔 데이터는 두 번째 열외 데이터로 기록한다.
현재의 상태가 "다수 데이터 상태(34)", "한 열외 데이터 상태(35)" 또는 " 두 열외 데이터 상태(36)" 중 하나인 경우, 새롭게 입력되는 스캔 데이터와 이미 추출된 선분과의 거리가 선분판정 기준거리 E 이내일 경우 "다수 데이터 상태(34)"로 설정하고, 이미 추출된 선분 데이터의 갱신을 수행한다. 이때 최근에 계산한 현재선분 데이터를 활용하여 간단한 계산으로 현재선분 데이터를 갱신할 수 있다.
상술한 과정을 통하여 하나 또는 두 개의 열외 데이터가 있을 경우에도, 이러한 열외 데이터를 제외하고, 이미 추출한 선분의 갱신을 계속 수행할 수 있다.
"두 열외 데이터 상태(36)"에서 새로운 스캔 데이터와 이미 추출된 선분과의 거리가 또다시 E 이내가 아니라면 "세 데이터 상태(33)"로 상태를 변경한다. 이 경우는 새로운 선분의 시작이라고 판단되므로, 기존의 두 개의 열외 데이터와 새로운 스캔 데이터를 모아서, 이 세 개의 스캔 데이터로 새로운 선분을 초기화한다.
상술한 과정을 스캔 데이터 그룹의 최후의 스캔 데이터까지 반복한다.
이하, 순방향 선분 추출 과정에 의해 추출된 선분 및 스캔 데이터의 일 예를 도 5를 참조하여 설명한다.
이동로봇에 장착된 레이저 스캐너 또는 적외선 스캐너(305)를 구동시켜 스캔을 수행한다. 이때 스캐너는 순방향(306)으로 스캔을 수행하며, 스캔선들(Scan lines: 307)을 발생시킨다.
현재 이동로봇의 환경은 전방에 두 개의 벽면(301, 302)이 있는 환경이라고 가정한다. 이때 두 개의 벽면(301, 302)으로부터 레이저 또는 적외선 신호가 반사되며, 각각의 스캔선에 해당하는 거리를 측정할 수 있다.
두 벽면에서의 반사점들을 스캔 데이터 201-219라 한다. 도 5에서, 스캐너의 측정의 오차를 포함시켰으므로, 두 개의 벽면(301, 302)과 스캔 데이터들(201-219)이 약간의 오차를 가지도록 도시하였다.
상술한 바와 같이, 세 개의 스캔 데이터 201, 202, 203을 가지고 첫 번째 선분을 초기화한다. 초기화된 현재선분을 321로, 이 선분에서 선분판정 기준거리 E 만큼 떨어진 양 경계들을 322, 323으로 표시하였다.
그 후, 스캔 데이터 204에 의하여 선분이 갱신된다. 갱신에 의하여 첫 번째 선분 321과 경계들 322, 323의 위치는 다소 변경된다. 스캔 데이터 205, 206에 대해서는 열외 데이터로 판정한다. 스캔 데이터 207은 유효한 범위 이내의 데이터이므로 첫 번째 선분에 포함시키고, 선분 데이터를 갱신한다. 이후 스캔 데이터 208, 209, 210, 211, 212까지는 유효한 범위 이내의 데이터이므로 첫 번째 선분에 포함시키고, 선분 데이터를 매번 갱신한다.
그리고, 세 개의 스캔 데이터 213, 214, 215는 모두 열외 데이터라고 판단이 되므로, 이 세 개의 스캔 데이터로 두 번째 선분을 초기화한다. 첫 번째 선분은 스캔 데이터 201-212 중 205, 206을 제외한 10개의 스캔 데이터들로 구성되는 첫 번째 선분 그룹(341)이 된다.
두 번째 선분에 대해서도 상술한 바와 같이 계속적으로 선분을 갱신한다. 두 번째 선분은 331로 표시되며, 양 경계들은 332, 333으로 표시된다. 결과적으로, 두 번째 선분 그룹(342)은 스캔 데이터 213-219 중 스캔 데이터 216을 제외한 6개의 스캔 데이터들로 구성된다.
이하, 도 5에 도시된 바와 같이 추출된 선분에 대한 역방향 선분 보정의 일 예를 도 6을 참조하여 설명한다. 선분 보정의 진행 방향은 역방향(406)으로 설정한다.
먼저 두 번째 선분 그룹(442)에 대하여, 첫 번째 선분 그룹(441)의 끝 스캔 데이터(212)를 두 번째 선분 그룹(442)으로 이동할 경우를 생각한다. 이때 스캔 데이터 212와 첫 번째 선분 421과의 거리 e_old(451)가 스캔 데이터 212와 두 번째 선분 431과의 거리 e_new(452)보다 크므로, 스캔 데이터 212는 두 번째 선분 그룹(442)으로 이동시킨다.
그 다음, 마찬가지 방법에 의하여 스캔 데이터 211을 두 번째 선분 그룹(442)으로 이동시킨다. 그리하여, 두 번째 선분 그룹(442)은 두 개의 스캔 데이터 211, 212를 추가로 얻게 되어 8개의 스캔 데이터를 가지게 되고, 첫 번째 선분 그룹(441)은 두 개의 스캔 데이터 211, 212를 잃게 되어 8개의 스캔 데이터를 가지게 된다.
그리고 보정된 현재선분을 기준으로 열외 스캔 데이터를 갱신하여, 선분 그룹 1(441)에서 스캔 데이터 208이 열외 스캔 데이터로 재설정되어 선분 그룹 1(441)은 최종적으로 7개의 스캔 데이터를 가지게 된다. 이와 같은 역방향 선분 보정 단계를 통하여 추출된 두 선분 그룹(441, 442)을 사용하여 보정된 선분들(421, 431)은 더욱 정확히 원래의 두 개의 벽면(301, 302)에 근접하게 되므로, 더욱 정확한 선분의 추출이 가능하다.
이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것이 아니며, 기술적 사상의 범주를 일탈함이 없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.
도 1은 통상적인 이동로봇의 자기 위치 인식에 관한 전체 흐름도.
도 2는 본 발명의 바람직한 실시예에 따른 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 장치에 관한 전체 구성도.
도 3은 본 발명의 바람직한 실시예에 따른 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법에 관한 전체 흐름도.
도 4는 순방향 선분 추출 단계에 관한 상세 흐름도.
도 5는 순방향 선분 추출 단계에 의한 스캔 데이터 및 추출된 선분들의 예시도.
도 6은 역방향 선분 보정 단계에 의한 스캔 데이터 및 보정된 선분들의 예시도.
<도면의 주요부분에 대한 부호의 설명>
500 : 입력부 600 : 선분추출부
610 : 초기화부 620 : 선분갱신부
700 : 선분보정부 710 : 데이터판단부
720 : 데이터이동부 730 : 열외데이터갱신부
301, 302 : 환경의 벽면 305 : 레이저 스캐너
321, 331 : 순방향 선분 추출에 의한 선분들
421, 431 : 역방향 선분 보정에 의한 보정된 선분들
341, 342 : 순방향 선분 추출에 의한 스캔 데이터 그룹
441, 442 : 역방향 선분 보정에 의한 스캔 데이터 그룹

Claims (16)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법에 있어서,
    (a) 입력부(500)가 스캔 데이터를 입력받는 단계;
    (b) 선분추출부(600)가, 입력받은 스캔 데이터 중 최초로 입력된 제 1 소정 개수의 스캔 데이터로부터, 최소 자승법(Least square fit)에 따라 제 1 선분을 초기화하는 단계;
    (c) 상기 선분추출부(600)가, 상기 제 1 소정 개수 이후의 스캔 데이터를 입력되는 순서대로 추가하면서, 추가되는 스캔 데이터와 상기 제 1 선분과의 거리가 미리 설정된 선분판정 기준거리 이내인 경우 추가되는 스캔 데이터를 이용하여 상기 제 1 선분을 갱신하는 단계;
    (d) 상기 선분추출부(600)가, 추가되는 스캔 데이터가 제 2 소정 개수 이상 연속적으로 상기 제 1 선분과의 거리가 상기 선분판정 기준거리를 초과하는 경우, 상기 제 2 소정 개수의 스캔 데이터로부터, 최소 자승법에 따라 제 2 선분을 초기화하는 단계; 및
    (e) 선분보정부(700)가, 상기 제 2 소정 개수의 스캔 데이터 중 가장 먼저 입력된 제 1 스캔 데이터와 상기 제 2 선분과의 거리가, 상기 제 1 스캔 데이터와 상기 제 1 선분과의 거리보다 큰 경우, 상기 제 1 스캔 데이터를 상기 제 1 선분으로 이동시켜 상기 제 1 선분을 갱신하는 단계;를 포함하는 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 제 6 항에 있어서,
    상기 제 1 소정 개수는 3 이상의 양의 정수인 것을 특징으로 하는 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법.
  11. 삭제
  12. 삭제
  13. 제 6 항에 있어서,
    상기 (e) 단계 이후에,
    (f) 상기 선분보정부(700)가, 상기 제 1 스캔 데이터를 상기 제 1 선분으로 이동시켜 상기 제 1 선분을 갱신한 이후, 상기 제 2 소정 개수의 스캔 데이터 중 상기 제 1 스캔 데이터를 제외한 스캔 데이터로부터, 최소 자승법에 따라 상기 제 2 선분을 갱신하는 단계;를 더 포함하는 것을 특징으로 하는 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법.
  14. 삭제
  15. 제 6 항에 있어서,
    상기 (c) 단계는,
    (c-1) 상기 선분추출부(600)가, 상기 제 1 소정 개수 이후의 스캔 데이터를 입력되는 순서대로 추가하면서, 추가되는 스캔 데이터와 상기 제 1 선분과의 거리가 미리 설정된 선분판정 기준거리를 초과하는 경우 상기 제 1 선분을 유지하는 단계;를 포함하는 것을 특징으로 하는 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법.
  16. 삭제
KR1020080002424A 2008-01-09 2008-01-09 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법 KR100930578B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080002424A KR100930578B1 (ko) 2008-01-09 2008-01-09 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080002424A KR100930578B1 (ko) 2008-01-09 2008-01-09 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법

Publications (2)

Publication Number Publication Date
KR20090076461A KR20090076461A (ko) 2009-07-13
KR100930578B1 true KR100930578B1 (ko) 2009-12-09

Family

ID=41333565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080002424A KR100930578B1 (ko) 2008-01-09 2008-01-09 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법

Country Status (1)

Country Link
KR (1) KR100930578B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101340807B1 (ko) * 2012-01-18 2013-12-31 한국과학기술원 이동 로봇의 자기 위치 인식을 위한 스캔 거리 데이터의 양방향 선분 및 호 추출 방법 및 그 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050121042A (ko) * 2004-06-21 2005-12-26 주식회사 로보테크 이동로봇의 파라미터 보정방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050121042A (ko) * 2004-06-21 2005-12-26 주식회사 로보테크 이동로봇의 파라미터 보정방법

Also Published As

Publication number Publication date
KR20090076461A (ko) 2009-07-13

Similar Documents

Publication Publication Date Title
Vizzo et al. Kiss-icp: In defense of point-to-point icp–simple, accurate, and robust registration if done the right way
US7599548B2 (en) Image processing apparatus and image processing method
Comport et al. Accurate quadrifocal tracking for robust 3d visual odometry
US10307910B2 (en) Apparatus of recognizing position of mobile robot using search based correlative matching and method thereof
CN108381549B (zh) 一种双目视觉引导机器人快速抓取方法、装置及存储介质
CN105469405A (zh) 基于视觉测程的同时定位与地图构建方法
CN106845494B (zh) 一种检测图像中轮廓角点的方法及装置
WO2019057179A1 (zh) 一种基于点线特征的视觉slam方法和装置
Knorr et al. Online extrinsic multi-camera calibration using ground plane induced homographies
KR102265315B1 (ko) 영상 광류를 추정하는 방법 및 이를 위한 장치
US10296798B2 (en) System and method of selecting a keyframe for iterative closest point
CN110084830B (zh) 一种视频运动目标检测与跟踪方法
CN114494462A (zh) 一种基于Yolov5和改进跟踪算法的双目相机测距方法
CN111145634B (zh) 一种校正地图的方法及装置
Streiff et al. 3D3L: Deep learned 3D keypoint detection and description for lidars
CN116740126A (zh) 目标跟踪方法、高速相机及存储介质
Huang et al. Joint ego-motion estimation using a laser scanner and a monocular camera through relative orientation estimation and 1-DoF ICP
KR100930578B1 (ko) 이동 로봇에 장착된 스캐너에서의 데이터 처리를 위한 양방향 선분 추출 방법
JPH07103715A (ja) 視覚に基く三次元位置および姿勢の認識方法ならびに視覚に基く三次元位置および姿勢の認識装置
EP3598388B1 (en) Method and apparatus for visual odometry, and non-transitory computer-readable recording medium
CN109859156B (zh) 异常帧数据的处理方法及装置
CN115962773A (zh) 一种移动机器人同步定位与地图构建方法、装置和设备
CN114119999A (zh) 基于深度学习的迭代6d位姿估计方法及装置
KR102508960B1 (ko) 실시간 3차원 지도 구축 장치 및 방법
Cupec et al. Detection of dominant planar surfaces in disparity images based on random sampling

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: 20121130

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee