KR20120036207A - 이동 로봇 및 그 지도 작성 방법 - Google Patents

이동 로봇 및 그 지도 작성 방법 Download PDF

Info

Publication number
KR20120036207A
KR20120036207A KR1020100097953A KR20100097953A KR20120036207A KR 20120036207 A KR20120036207 A KR 20120036207A KR 1020100097953 A KR1020100097953 A KR 1020100097953A KR 20100097953 A KR20100097953 A KR 20100097953A KR 20120036207 A KR20120036207 A KR 20120036207A
Authority
KR
South Korea
Prior art keywords
map
mobile robot
maps
database
distance information
Prior art date
Application number
KR1020100097953A
Other languages
English (en)
Other versions
KR101772977B1 (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 KR1020100097953A priority Critical patent/KR101772977B1/ko
Priority to US13/236,050 priority patent/US9110472B2/en
Publication of KR20120036207A publication Critical patent/KR20120036207A/ko
Application granted granted Critical
Publication of KR101772977B1 publication Critical patent/KR101772977B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • 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/0242Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals

Landscapes

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

Abstract

3차원 거리 정보를 실시간으로 획득할 수 있는 TOF(Time of Flight) 카메라를 이용하여 이동 로봇의 주변 환경에 대한 3차원 지도를 작성할 수 있는 이동 로봇 및 그 지도 작성 방법을 제안한다.
이동 로봇이 주행하는 경로 상에 존재하는 물체에 대한 3차원 거리 정보를 획득하고, 획득되는 3차원 거리 정보를 누적하여 일정 크기 레벨의 지도를 구성한 뒤 데이터베이스에 저장하고, 데이터베이스에 저장된 지도를 계층적으로 정합하여 설정 공간에 대한 3차원 지도를 작성함으로써, 이동 로봇의 주변 환경에 대한 3차원 지도를 빠르고 정확하게 작성할 수 있다.

Description

이동 로봇 및 그 지도 작성 방법{MOVING ROBOT AND MAP-BUILDING METHOD THEREOF}
3차원 거리 정보를 실시간으로 획득할 수 있는 TOF(Time of Flight) 카메라를 이용하여 이동 로봇의 주변 환경에 대한 3차원 지도를 작성할 수 있는 이동 로봇 및 그 지도 작성 방법에 관한 것이다.
이동 로봇(Moving robot)은 센서 및 제어기의 발달로 인해 다양한 분야에서 활용되고 있다. 가정에서의 가사 도우미 로봇, 공공장소용 서비스 로봇, 생산 현장에서의 반송 로봇, 작업자 지원 로봇 등이 그 대표적인 예이며, 앞으로 이동 로봇의 활용 영역 및 수요는 폭발적으로 증가할 것으로 예상된다. 이러한 이동 로봇이 주변 환경에 대한 사전 정보 없이 자신의 위치를 인식하고, 환경에 대한 정보를 형성하기 위해서는 위치 인식(Localization)과 지도 작성(Map-building)의 과정이 동시에 유기적으로 수행되어야 한다. 이를 이동 로봇의 동시 위치 인식 및 지도 작성(Simultaneous Localization And Map-building; SLAM)이라 한다.
이동 로봇이 지도 작성을 수행하기 위해서는 주변 환경에 대한 정보를 취득하여야 하는데 이를 위해 TOF(Time of Flight) 카메라가 이용될 수 있다. TOF 카메라는 발광부에서 나온 적외선 광선이 물체에 반사되어 수광부로 돌아오는 시간을 측정하는 Time of Flight 방식을 이용하여 3차원 거리 정보를 획득하는 장치로, 적외선 강도(intensity) 영상으로부터 3차원 거리 정보를 별도의 복잡한 계산 과정 없이 산출할 수 있어 실시간으로 3차원 거리 정보의 획득이 가능하다.
이러한 TOF 카메라를 이용하여 이동 로봇의 주변 환경에 대한 지도를 작성하는 방법으로는 격자 기반 지도 작성 방식(Occupancy voxel map)이 이용되어 왔다. 격자 기반 지도 작성 방식은 이동 로봇의 주변 환경을 3차원의 작은 격자(voxel)들로 나누고, 현재 이동 로봇의 위치 정보에 맞춰 TOF 카메라의 3차원 거리 정보에 해당하는 격자를 채워 넣는 방식이다. 즉, 3차원 공간 상의 임의의 격자에 물체가 존재할 가능성을 확률적으로 기록함으로써 3차원 격자 지도를 구성하게 된다. 하지만, 격자 기반 지도 작성 방식은 이동 로봇의 위치 정보의 오차가 증가할수록 격자에 등록되는 정보도 부정확해지기 때문에 이동 로봇의 주행 거리가 늘어나거나 이동 공간(지도를 작성하고자 하는 공간)의 크기가 커질수록 작성된 지도의 정확도가 낮아지는 문제점이 있었다.
이러한 격자 기반 지도 작성 방식의 문제점을 극복하기 위해 제안된 것이 ICP(Iterative Closest Point) 알고리즘이다. ICP 알고리즘은 도 1에 도시된 바와 같이 샘플링된 2개의 3차원 점군(3D Point Cloud) 데이터(A, B) 사이의 거리 차이를 최소화하는 기법으로, 두 3차원 점군 데이터(A, B) 사이의 거리 오차가 최소로 되는 3차원 강체 변환(병진 변환, 회전 변환)을 산출할 수 있다. ICP 알고리즘은 이동 로봇의 위치 정보가 부정확할 경우에도 산출된 3차원 강체 변환을 이용하여 두 3차원 점군 데이터를 비교적 정확하게 정합할 수 있어, 격자 기반 지도 작성 방식에 비해 작성된 3차원 지도의 정확도를 향상시킬 수 있다.
기존의 ICP 알고리즘을 이용하여 지도를 작성하는 방법은 도 2에 도시된 바와 같이 이동 로봇이 주행함에 따라 순차적으로 3차원 점군 데이터를 누적하여 대응되는 점들(points)을 찾고, 이를 정합하는 과정(①→②→③)으로 이루어지는 순차적 지도 작성(Sequential Map Building) 방식이다. 즉, 순차적 지도 작성 방식은 순차적으로 누적된 두 3차원 점군 데이터 (a)와 (b)를 정합하여 새로운 지도를 작성하고(①), ①의 정합 과정을 통해 새롭게 작성된 지도와 이후 누적되는 3차원 점군 데이터 (c)를 정합하여 새로운 지도를 작성하고(②), ②의 정합 과정을 통해 새롭게 작성된 지도와 이후 누적되는 3차원 점군 데이터 (d)를 정합하여 새로운 지도를 작성하는(③) 순서로 이동 로봇의 주변 환경에 대한 지도를 작성해 나가는 방식이다(①→②→③의 순서로 정합 과정을 수행).
하지만 이러한 순차적 지도 작성 방식은 이동 로봇의 주행 거리가 늘어나거나 모델링하려는 공간의 크기가 커질수록 두 3차원 점군 데이터 사이의 대응 관계를 찾기 위한 탐색 공간(searching space)이 커져 계산 시간이 증가한다. 또한 순차적 지도 작성 방식의 경우 비교 대상이 되는 다른 크기 레벨을 갖는 두 3차원 점군 데이터 사이에서 잘못된 대응 관계를 찾을 가능성이 비교적 높으며, 주행 거리의 증가에 따른 누적 오차를 해결할 방법이 없기 때문에 작성된 지도의 정확도가 낮아지게 된다.
또한 기존의 ICP 알고리즘을 이용한 지도 작성 방법은 두 3차원 점군 데이터 사이의 거리 차이를 최소화하는 강체 변환 관계를 찾는 일종의 최적화 기법이기 때문에, 해를 구할 때 local minima에 수렴하게 되면 오차가 큰 변환 결과가 나오는 문제점이 있었다.
3차원 거리 정보를 실시간으로 획득할 수 있는 TOF(Time of Flight) 카메라를 이용하여 이동 로봇의 주변 환경에 대한 3차원 지도를 작성할 수 있는 이동 로봇 및 그 지도 작성 방법을 제안하고자 한다.
이를 위해 본 발명의 일 측면은 이동 로봇이 주행하는 경로 상에 존재하는 물체에 대한 3차원 거리 정보를 획득하고; 획득되는 3차원 거리 정보를 누적하여 일정 크기 레벨의 지도를 구성한 뒤 데이터베이스에 저장하고; 데이터베이스에 저장된 지도를 계층적으로 정합하여 설정 공간에 대한 3차원 지도를 작성하는 것을 포함한다.
또한, 3차원 거리 정보의 누적은 이동 로봇이 미리 설정된 거리를 주행하는 동안 또는 이동 로봇이 미리 설정된 면적을 주행하는 동안 또는 이동 로봇이 등속 주행할 경우 미리 설정된 시간 동안 3차원 거리 정보를 이동 로봇의 이동 시작점의 좌표계를 기준으로 누적한다.
또한, 지도를 계층적으로 정합하여 설정 공간에 대한 3차원 지도를 작성하는 것은: 데이터베이스 내에 동일한 크기 레벨의 지도가 두 개 존재하는가 여부를 판단하고; 동일한 크기 레벨의 지도가 두 개 존재하는 것으로 판단되면 ICP 알고리즘을 이용하여 두 개의 지도를 정합하여 크기 레벨이 상승된 새로운 지도를 작성하고; 작성된 새로운 지도를 데이터베이스에 저장하는 것을 포함한다.
또한, 설정 공간에 대한 이동 로봇의 주행이 완료되면 상기 데이터베이스에 저장된 상기 지도가 두 개 이상 존재하는가 여부를 판단하고; 데이터베이스에 저장된 지도가 두 개 이상 존재하는 것으로 판단되면 ICP 알고리즘을 이용하여 지도가 생성된 순서대로 지도를 정합하여 설정 공간에 대한 최종적인 지도를 작성하는 것을 더 포함한다.
본 발명의 다른 측면은 이동 로봇의 위치를 인식하고; 이동 로봇이 주행하는 경로 상에 존재하는 물체에 대한 3차원 거리 정보를 획득하고; 획득되는 3차원 거리 정보를 누적하여 일정 크기 레벨의 지도를 구성한 뒤 지도를 이동 로봇의 위치 인식 결과와 함께 데이터베이스에 저장하고; 데이터베이스 내에 동일한 크기 레벨의 지도가 두 개 존재하는가 여부를 판단하고; 동일한 크기 레벨의 지도가 두 개 존재하는 것으로 판단되면 두 개의 지도에 대해 ICP 알고리즘을 수행하고; 이동 로봇의 위치 인식 결과와 상기 ICP 알고리즘의 수행 결과를 융합하여 새로운 강체 변환 정보를 산출하고; 산출된 새로운 강체 변환 정보를 이용하여 두 개의 지도를 정합하여 크기 레벨이 상승된 새로운 지도를 작성함으로써 설정 공간에 대한 3차원 지도를 작성하는 것을 포함한다.
또한, 작성된 새로운 지도를 데이터베이스에 저장하는 것을 더 포함한다.
또한, 이동 로봇의 위치 인식은 확장 칼만 필터 기반의 동시 위치 인식 및 지도 작성(SLAM) 기술을 이용하여 수행된다.
또한, 3차원 거리 정보의 누적은 이동 로봇이 미리 설정된 거리를 주행하는 동안 또는 이동 로봇이 미리 설정된 면적을 주행하는 동안 또는 이동 로봇이 등속 주행할 경우 미리 설정된 시간 동안 3차원 거리 정보를 이동 로봇의 이동 시작점의 좌표계를 기준으로 누적한다.
또한, 설정 공간에 대한 이동 로봇의 주행이 완료되면 데이터베이스에 저장된 지도가 두 개 이상 존재하는가 여부를 판단하고; 데이터베이스에 저장된 지도가 두 개 이상 존재하는 것으로 판단되면 ICP 알고리즘을 이용하여 지도가 생성된 순서대로 지도를 정합하여 설정 공간에 대한 최종적인 지도를 작성하는 것을 더 포함한다.
본 발명의 일 측면은 주행하는 경로 상에 존재하는 물체에 대한 3차원 거리 정보를 획득하는 3차원 거리 정보 획득부; 획득되는 3차원 거리 정보를 누적하여 일정 크기 레벨의 지도를 구성한 뒤 데이터베이스에 저장하고, 데이터베이스에 저장된 지도를 계층적으로 정합하여 설정 공간에 대한 3차원 지도를 작성하는 제어부를 포함한다.
또한, 3차원 거리 정보 획득부는 TOF(Time of Flight) 카메라이다.
또한, 제어부는 이동 로봇이 미리 설정된 거리를 주행하는 동안 또는 이동 로봇이 미리 설정된 면적을 주행하는 동안 또는 이동 로봇이 등속 주행할 경우 미리 설정된 시간 동안 3차원 거리 정보를 이동 로봇의 이동 시작점의 좌표계를 기준으로 누적한다.
또한, 제어부는 데이터베이스 내에 동일한 크기 레벨의 지도가 두 개 존재하는가 여부를 판단하고, 동일한 크기 레벨의 지도가 두 개 존재하는 것으로 판단되면 ICP 알고리즘을 이용하여 두 개의 지도를 정합하여 크기 레벨이 상승된 새로운 지도를 작성하고, 작성된 새로운 지도를 상기 데이터베이스에 저장한다.
또한, 제어부는 설정 공간에 대한 이동 로봇의 주행이 완료되면 데이터베이스에 저장된 지도가 두 개 이상 존재하는가 여부를 판단하고, 데이터베이스에 저장된 지도가 두 개 이상 존재하는 것으로 판단되면 ICP 알고리즘을 이용하여 지도가 생성된 순서대로 지도를 정합하여 설정 공간에 대한 최종적인 지도를 작성한다.
제안된 이동 로봇 및 그 지도 작성 방법에 의하면, 계층적 구조를 가지는 방식으로 3차원 점군 데이터를 정합하는 새로운 방법으로 이동 로봇의 주변 환경에 대한 3차원 지도를 작성함으로써 기존의 방법에 비해 3차원 지도를 빠르고 정확하게 작성할 수 있다.
또한, 제안된 이동 로봇 및 그 지도 작성 방법에 의하면, 계층적 구조를 가지는 3차원 점군 데이터를 정합하는 과정에서 발생하는 ICP 수행 결과와 이동 로봇의 위치 인식 결과를 융합하여 이동 로봇의 주변 환경에 대한 3차원 지도를 작성함으로써 기존의 방법에 비해 정확도가 향상된 3차원 지도를 작성할 수 있다.
도 1은 ICP 알고리즘의 개념을 설명하기 위한 도면이다.
도 2는 기존의 ICP 알고리즘을 이용한 순차적 지도 작성 방식을 설명하기 위한 개념도이다.
도 3은 본 발명의 실시예에 따른 이동 로봇의 외관 구성도이다.
도 4는 본 발명의 실시예에 따른 이동 로봇의 제어 블록도이다.
도 5는 본 발명에 적용된 ICP 알고리즘을 이용한 계층적 지도 작성 방식을 설명하기 위한 개념도이다.
도 6은 본 발명에 적용된 ICP 알고리즘을 이용한 계층적 지도 작성 방식에서, 획득된 3차원 점군 데이터들의 정합 구조를 나타내는 이진 트리(Binary Tree)의 일예를 보인 도면이다.
도 7은 본 발명의 실시예에 따른 이동 로봇의 지도 작성 방법을 도시한 흐름도이다.
도 8a 내지 도 8c는 이동 로봇의 주행 중 총 4회에 걸쳐 레벨 1의 3차원 점군 데이터가 획득될 때 본 발명의 실시예에 따른 이동 로봇의 지도 작성 방법을 적용하는 과정을 예시한 도면이다.
도 9는 이동 로봇의 주행 중 총 7회에 걸쳐 레벨 1의 3차원 점군 데이터가 획득될 때 본 발명의 실시예에 따른 이동 로봇의 지도 작성 방법을 적용하는 과정을 예시한 도면이다.
도 10은 본 발명의 다른 실시예에 따른 이동 로봇의 지도 작성 방법을 도시한 흐름도이다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명하도록 한다.
도 3은 본 발명의 실시예에 따른 이동 로봇의 외관 구성도이다.
도 3에 도시된 바와 같이, 본 발명의 실시예에 따른 이동 로봇(10)은 인간과 마찬가지로 두 개의 다리부(11)에 의해 직립 이동하는 이족 보행 로봇으로 상체부(12), 두 개의 팔부(13), 머리부(14)를 구비하여 자율 주행한다.
본 발명의 실시예에서는 이동 로봇(10)으로 이족 보행 로봇을 예로 들어 설명하였으나, 이외에도 가정에서의 청소 로봇, 공공장소용 서비스 로봇, 생산 현장에서의 반송 로봇, 작업자 지원 로봇 등 다양한 형태의 이동 로봇에 대해 본 발명이 적용될 수 있다.
도 4는 본 발명의 실시예에 따른 이동 로봇의 제어 블록도이다.
도 4에 도시된 바와 같이, 본 발명의 실시예에 따른 이동 로봇(10)은 도 3에 도시한 구성 요소 외에 3차원 거리 정보 획득부(20), 저장부(30), 제어부(40) 및 구동부(50)를 더 포함한다.
3차원 거리 정보 획득부(20)는 장애물(물체)이 있는 주변 환경을 이동 로봇(10)이 주행하면서 일정시간 간격으로 얻은 3차원 영상으로부터 주행 경로 상에 존재하는 장애물에 대한 3차원 거리 정보를 획득하는 3차원 측정장비로, 최근 3차원 측정장비의 기술 발달로 인해 이동 로봇(10)이 주행하는 경로 상에 위치하는 다양한 물체에 대한 3차원 거리 정보를 쉽게 획득할 수 있다. 3차원 거리 정보 획득부(20)로는 TOF(Time of Flight) 카메라가 이용될 수 있으며, TOF 카메라 이외에도 레이저 거리 센서, 초음파 센서 등 이동 로봇(10)이 주행하는 경로 상에 위치하는 물체에 대한 3차원 거리 정보를 획득할 수 있는 장치라면 어떠한 장치라도 사용 가능함은 물론이다.
TOF 카메라는 발광부에서 나온 적외선 광선이 물체에 반사되어 수광부로 돌아오는 시간을 측정하는 Time of Flight 방식을 이용하여 3차원 거리 정보를 획득하는 장치로, 적외선 강도(intensity) 영상으로부터 3차원 거리 정보를 별도의 복잡한 계산 과정 없이 산출할 수 있어 실시간으로 3차원 거리 정보의 획득이 가능하다.
저장부(30)는 3차원 거리 정보 획득부(20)를 통해 획득된 3차원 거리 정보가 누적되어 구성되는 지도(3차원 점군 데이터)들의 정합 구조를 나타내는 이진트리(Binary Tree)가 저장되는 데이터베이스(30a)를 저장하는 메모리로, 데이터베이스(30a) 내에는 지도를 구성하는 3차원 점군 데이터와 지도의 크기 레벨 및 제어부(40)를 통해 산출된 이동 로봇(10)의 위치 인식 결과 등이 저장된다.
제어부(40)는 3차원 거리 정보 획득부(20)로부터 획득되는 3차원 거리 정보를 누적하여 일정 크기 레벨(예: 레벨 1)의 지도를 구성한 뒤 저장부(30)의 데이터베이스(30a)내에 저장하고, 데이터베이스에 저장된 지도를 계층적으로 정합하여 설정 공간(지도를 작성하고자 하는 공간)에 대한 3차원 지도를 작성한다. 여기서, 계층적 정합 방식은 동일한 크기 레벨을 가지는 두 개의 순차적인 지도가 데이터베이스(30a)에 존재하는 경우에만 정합 과정을 수행하는 것으로, 이러한 정합 과정은 데이터베이스(30a) 내에 동일한 크기 레벨의 지도(3차원 점군 데이터)가 존재하지 않을 때까지 반복적으로 수행되며, 정합이 이루어진 지도의 크기 레벨을 증가시켜 가면서 점진적으로 크기 레벨이 높은 설정 공간에 대한 지도를 작성하는 방향으로 진행하게 된다.
또한 제어부(40)는 이동 로봇(10)이 미리 설정된 거리를 주행하는 동안 또는 이동 로봇(10)이 미리 설정된 면적을 주행하는 동안 또는 이동 로봇(10)이 등속 주행할 경우 미리 설정된 시간 동안 3차원 거리 정보 획득부(20)로부터 입력되는 3차원 거리 정보를 이동 로봇(10)의 이동 시작점의 좌표계를 기준으로 누적하여 일정 크기 레벨(예: 레벨 1)의 지도를 구성한 뒤 저장부(30)의 데이터베이스(30a)내에 저장한다.
또한 제어부(40)는 계층적 구조를 가지는 방식으로 지도(3차원 점군 데이터)를 정합하는 과정에서 발생하는 ICP 알고리즘의 수행 결과와 이동 로봇(10)의 위치 인식 결과를 융합하여 새로운 강체 변환 정보를 산출하고, 산출된 새로운 강체 변환 정보를 이용하여 데이터베이스(30a)에 저장된 지도를 정합함으로써 설정 공간에 대한 3차원 지도를 작성한다. 여기서, 이동 로봇(10)의 위치 인식은 확장 칼만 필터(Extended Kalman Filter; EKF) 기반의 동시 위치 인식 및 지도 작성(Simultaneous Localization And Map-building; SLAM) 기술을 이용하여 수행된다.
제어부(40)는 그 내부에 메모리(미도시)를 포함한다. 제어부(40)의 내부 메모리(미도시)에는 3차원 거리 정보 획득부(20)로부터 입력되는 3차원 거리 정보를 누적하여 레벨 1의 지도(3차원 점군 데이터)를 구성하기 위한 기준 구간을 판단하기 위해 미리 설정된 거리 또는 미리 설정된 면적 또는 미리 설정된 시간 등이 저장된다. 또한, 제어부(40)에는 3차원 거리 정보 획득부(20)로부터 입력되는 3차원 거리 정보를 누적하여 레벨 1의 지도(3차원 점군 데이터)를 구성하기 위한 기준 구간을 판단하기 위해 이동 로봇(10)의 주행 시간을 측정하기 위한 타이머(미도시)가 내장될 수도 있다.
구동부(50)는 제어부(40)에서 작성된 3차원 지도 정보를 기반으로 하여 이동 로봇(10)이 장애물과의 충돌없이 주행 경로를 자율적으로 이동하도록 구동한다.
이하에서는 도 5 및 도 6을 참조하여 본 발명에 적용된 ICP 알고리즘을 이용한 계층적 지도 작성 방식을 설명하도록 한다.
본 발명에 적용된 ICP 알고리즘을 이용한 계층적 지도 작성(Hierarchical Map Building) 방식은 기존의 ICP 알고리즘을 이용한 순차적 지도 작성 방식과는 다르게 동일한 크기 레벨을 가지는 두 개의 순차적인 지도(3차원 점군 데이터) 사이에서만 ICP 정합 과정을 수행한다. 즉, 도 5에 도시된 바와 같이 동일한 크기 레벨(예: 레벨 1)을 가진 두 지도 (a)와 (b)를 정합하여 레벨 2의 새로운 지도를 작성하고(①), 이후 획득된 레벨 1의 두 지도 (c)와 (d)를 정합하여 레벨 2의 새로운 지도를 작성하고(②), 새롭게 작성된 두 개의 레벨 2의 지도를 정합하여 레벨 4의 새로운 지도를 작성하는(③) 순서로 이동 로봇(10)의 주변 환경에 대한 지도를 작성해 나가는 방식이다(①→②→③의 순서로 정합 과정을 수행). 3차원 거리 정보가 누적되어 구성되는 지도(3차원 점군 데이터) 및 전술한 ICP 정합 과정을 통해 획득된 지도의 구조가 이진 트리(Binary Tree) 형태로 저장부(30)의 데이터베이스(30a) 내에 저장된다. 예를 들어, 8회에 걸쳐 레벨 1의 3차원 점군 데이터가 획득되는 경우 도 6에 도시된 바와 같은 이진 트리(Binary Tree) 형태의 지도들이 데이터베이스(30a)에 저장된다. 여기서, 지도들 사이의 정합 과정은 ①→②→③→④→⑤→⑥→⑦ 순서로 진행된다.
본 발명에 적용된 ICP 알고리즘을 이용한 계층적 지도 작성 방식은 동일한 크기 레벨을 가지는 두 개의 순차적인 지도가 데이터베이스(30a)에 존재하는 경우에만 정합 과정을 수행한다. 이러한 정합 과정은 데이터베이스(30a) 내에 동일한 크기 레벨의 지도(3차원 점군 데이터)가 존재하지 않을 때까지 반복적으로 수행되며, 정합이 이루어진 지도의 크기 레벨을 증가시켜 가면서 점진적으로 크기 레벨이 높은 전체 공간에 대한 지도를 작성하는 방향으로 진행하게 된다.
본 발명에 적용된 ICP 알고리즘을 이용한 계층적 지도 작성 방식은 크기 레벨이 낮은 지도를 병합하여 크기 레벨이 높은 지도를 구성함으로써 지도의 크기를 확장시키는 것이 가능하다. 이를 위해, 새로 입력되는 3차원 점군 데이터의 크기 레벨이 기존에 구성된 지도의 크기 레벨보다 낮다면 다음 단계에서 입력되는 새로운 3차원 점군 데이터와 병합하여 크기 레벨이 증가할 때까지 데이터베이스(30a)에 저장하고 정합 과정을 지연시킨다.
이러한 이진 트리 기반의 데이터 처리 방식은 순차적으로 데이터를 처리하는 것에 비해 일반적으로 대응 관계를 찾기 위한 처리 시간(계산 시간)을 단축시킨다는 장점을 갖는다. 또한 동일한 크기 레벨을 가진 두 3차원 점군 데이터 사이의 변환 관계를 구하기 때문에 잘못된 대응 관계를 찾게 될 가능성이 낮아져 지도 작성 시 정합 오차를 줄일 수 있다는 장점이 있다.
본 발명에서 두 3차원 점군 데이터 사이의 정합을 위해 이용하는 ICP 알고리즘은 p, q로 정의한 3차원 거리 정보 획득부(20)를 통해 획득된 두 개의 3차원 점군 데이터 사이에서 가장 가까운 점을 일대일(1:1) 대응시켜 이들 사이의 거리의 합이 최소가 되는 변환을 찾고, 변환시킨 상태에서 다시 대응 관계를 찾는 과정을 반복 수행하는 방식의 최적화 기법을 사용한다. 이 때, 아래의 [수학식 1] 즉, 3차원 점군 데이터 q와 강체 변환으로 계산된 3차원 점군 데이터 p 사이의 거리의 합(
Figure pat00001
)을 최적화 과정의 기준(척도)으로 사용한다. 최종적으로 아래의 [수학식 2] 즉, [수학식 1]을 최소로 하는 강체 변환 관계식인
Figure pat00002
가 정합에 이용된다.
[수학식 1]
Figure pat00003
[수학식 2]
Figure pat00004
여기서,
Figure pat00005
은 ICP 알고리즘의 수행 결과 산출된 회전 변환 행렬이고,
Figure pat00006
는 ICP 알고리즘의 수행 결과 산출된 병진 변환 행렬이다.
두 3차원 점군 데이터 사이의 거리의 합이 최소인 점을 찾은 결과는 정합하여 지도를 구성하는데 이용된다.
이하에서는 도 7을 참조하여 본 발명의 실시예에 따른 이동 로봇의 지도 작성 방법을 설명하도록 한다.
본 발명의 실시예의 동작설명을 위한 초기조건으로서, 제어부(40)의 내부 메모리(미도시)에는 3차원 거리 정보 획득부(20)로부터 입력되는 3차원 거리 정보를 누적하여 레벨 1의 지도(3차원 점군 데이터)를 구성하기 위한 기준 구간을 판단하기 위해 미리 설정된 거리 또는 미리 설정된 면적 또는 미리 설정된 시간 등이 저장되어 있는 것을 전제한다. 또한, 제어부(40)에는 3차원 거리 정보 획득부(20)로부터 입력되는 3차원 거리 정보를 누적하여 레벨 1의 지도(3차원 점군 데이터)를 구성하기 위한 기준 구간을 판단하기 위해 이동 로봇(10)의 주행 시간을 측정하기 위한 타이머(미도시)가 내장되어 있는 것을 전제한다.
이동 로봇(10)의 주행이 시작되면 제어부(40)는 3차원 거리 정보 획득부(20)로부터 3차원 거리 정보를 입력받는다(105). 이후 제어부(40)는 ①이동 로봇(10)이 미리 설정된 거리를 주행하는 동안 또는 ②이동 로봇(10)이 이동 공간의 미리 설정된 면적을 주행하는 동안 또는 ③이동 로봇(10)이 등속으로 주행한다고 가정할 때 미리 설정된 시간 동안, 3차원 거리 정보 획득부(20)로부터 입력되는 3차원 거리 정보를 이동 시작점의 좌표계를 기준으로 누적하여 레벨 1의 지도(3차원 점군 데이터)를 구성하고 이를 저장부(30)의 데이터베이스(30a) 내에 저장한다(110). 여기서, 이동 시작점은 레벨 1의 지도(3차원 점군 데이터)를 구성하기 위한 기준 구간(미리 설정된 거리의 이동 등)이 시작될 때의 이동 로봇(10)의 위치를 의미한다. 데이터베이스(30a)에는 지도를 구성하는 3차원 점군 데이터와 지도의 크기 레벨이 함께 저장된다.
다음으로, 제어부(40)는 저장부(30)의 데이터베이스(30a) 내에 동일한 크기 레벨의 지도가 2개 존재하는가 여부를 판단한다(115).
판단 결과, 데이터베이스(30a) 내에 동일한 크기 레벨의 지도가 2개 존재하지 않으면(115에서의 '아니오') 즉, 데이터베이스(30a) 내에 동일한 크기 레벨의 지도가 단 하나만 존재하면 제어부(40)는 동작 130으로 진행하여 설정 공간(지도를 작성하고자 하는 공간)에 대한 이동 로봇(10)의 주행이 완료되었는가 여부를 판단한다.
한편, 판단 결과 데이터베이스(30a) 내에 동일한 크기 레벨의 지도가 2개 존재하면(115에서의 '예') 제어부(40)는 ICP 알고리즘을 이용하여 동일한 크기 레벨을 갖는 두 지도를 정합하여 크기 레벨이 상승된 새로운 지도를 작성하고(120), 새롭게 작성된 지도를 저장부(30)의 데이터베이스(30a) 내에 저장한다(125).
이후 제어부(40)는 설정 공간에 대한 이동 로봇(10)의 주행이 완료되었는가 여부를 판단한다(130). 여기서, 설정 공간에 대한 이동 로봇(10)의 주행이 완료되었는가 여부는 사용자가 판단하여 그 판단 결과를 입력부(미도시)를 통해 제어부(40)에 제공할 수도 있고, 이동 로봇(10)이 스스로 설정 공간에 대한 주행의 완료 여부를 판단할 수도 있다.
판단 결과, 설정 공간에 대한 이동 로봇(10)의 주행이 완료되지 않았으면(130에서의 '아니오') 제어부(40)는 동작 115로 리턴하여 데이터베이스(30a) 내에 동일한 크기 레벨의 지도가 2개 존재할 때까지 계속적으로 3차원 거리 정보 획득부(20)로부터 설정 공간에 대한 3차원 거리 정보를 입력받아 레벨 1의 지도를 구성하여 데이터베이스(30a) 내에 저장한다.
한편, 판단 결과 설정 공간에 대한 이동 로봇(10)의 주행이 완료되었으면(130에서의 '예') 제어부(40)는 다시 저장부(30)의 데이터베이스(30a) 내에 지도가 2개 이상 존재하는가 여부를 판단한다(135).
판단 결과, 데이터베이스(30a) 내에 지도가 2개 이상 존재하지 않으면(135에서의 '아니오') 즉, 데이터베이스(30a) 내에 지도가 단 하나만 존재하면 제어부(40)는 계층적 지도 작성 방식을 통해 설정 공간에 대한 지도 작성이 완료되어 최종적인 지도 하나만이 데이터베이스(30a) 내에 저장되어 있는 것으로 판단하고 지도 작성 과정을 종료한다.
한편, 판단 결과 데이터베이스(30a) 내에 지도가 2개 이상 존재하면(135에서의 '예') 제어부(40)는 계층적 지도 작성 방식을 통해 설정 공간에 대한 지도 작성이 완료되지 않은 것으로 판단하고 ICP 알고리즘을 이용하여 지도가 생성된 순서대로 지도들을 정합하여 설정 공간에 대한 최종적인 지도를 작성한다(140). 즉, 순차적 지도 작성 방식을 통해 데이터베이스(30a) 내에 저장된 지도들을 지도가 생성된 순서대로 정합하여 설정 공간에 대한 최종적인 지도를 작성한다.
이후 제어부(40)는 설정 공간에 대해 최종적으로 작성된 지도를 저장부(30)의 데이터베이스(30a) 내에 저장하고(145), 지도 작성 과정을 종료한다.
도 8a 내지 도 8c는 이동 로봇의 주행 중 총 4회에 걸쳐 레벨 1의 3차원 점군 데이터가 획득될 때 본 발명의 실시예에 따른 이동 로봇의 지도 작성 방법을 적용하는 과정을 예시한 도면이다.
도 8a 내지 도 8c에 도시된 바와 같이, 제어부(40)는 3차원 거리 정보 획득부(20)로부터 입력되는 3차원 거리 정보를 누적하여 레벨 1의 지도(도 8a의 (a))를 구성하고 이를 저장부(30)의 데이터베이스(30a) 내에 저장한다. 이후 제어부(40)는 연이어 3차원 거리 정보 획득부(20)로부터 입력되는 3차원 거리 정보를 누적하여 레벨 1의 지도(도 8a의 (b))를 구성하고 이를 저장부(30)의 데이터베이스(30a) 내에 저장한다.
이 때, 저장부(30)의 데이터베이스(30a) 내에는 레벨 1인 지도가 2개 존재하기 때문에 제어부(40)는 ICP 알고리즘을 이용하여 두 지도(도 8a의 (a) 및 (b)) 사이의 강체 변환 관계식을 구하고 두 지도를 정합하여 크기 레벨이 상승된 레벨 2의 새로운 지도(도 8a의 (a′))를 작성하고, 이를 저장부(30)의 데이터베이스(30a) 내에 저장한다.
다음으로, 제어부(40)는 3차원 거리 정보 획득부(20)로부터 입력되는 3차원 거리 정보를 누적하여 레벨 1의 지도(도 8b의 (c))를 구성하고 이를 저장부(30)의 데이터베이스(30a) 내에 저장한다. 이후 제어부(50)는 연이어 3차원 거리 정보 획득부(20)로부터 입력되는 3차원 거리 정보를 누적하여 레벨 1의 지도(도 8b의 (d))를 구성하고 이를 저장부(30)의 데이터베이스(30a) 내에 저장한다.
이 때, 다시 저장부(30)의 데이터베이스(30a) 내에는 레벨 1인 지도가 2개 존재하기 때문에 제어부(40)는 ICP 알고리즘을 이용하여 두 지도(도 8b의 (c) 및 (d)) 사이의 강체 변환 관계식을 구하고 두 지도를 정합하여 크기 레벨이 상승된 레벨 2의 새로운 지도(도 8b의 (c′))를 작성하고, 이를 저장부(30)의 데이터베이스(30a) 내에 저장한다.
레벨 1의 지도 (a)와 (b)의 정합, 레벨 1의 지도 (c)와 (d)의 정합 이후에도 저장부(30)의 데이터베이스(30a) 내에는 레벨 2인 지도(도 8a의 (a′) 및 도 8b의 (c′))가 2개 존재하기 때문에 제어부(40)는 ICP 알고리즘을 이용하여 두 지도(도 8a의 (a′) 및 도 8b의 (c′)) 사이의 강체 변환 관계식을 구하고 두 지도를 정합하여 크기 레벨이 상승된 레벨 4의 새로운 지도(도 8c의 (a″))를 작성하고, 이를 저장부(30)의 데이터베이스(30a) 내에 저장한다. 이로써, 계층적 지도 작성 방식을 통해 설정 공간에 대한 지도 작성이 완료되어 최종적인 지도 하나만(도 8c의 (a″))이 데이터베이스(30a) 내에 저장되고, 이동 로봇(10)의 설정 공간에 대한 지도 작성 과정은 종료된다.
도 9는 이동 로봇의 주행 중 총 7회에 걸쳐 레벨 1의 3차원 점군 데이터가 획득될 때 본 발명의 실시예에 따른 이동 로봇의 지도 작성 방법을 적용하는 과정을 예시한 도면이다.
예를 들어, 이동 로봇(10)의 주행 중 총 7회에 걸쳐 레벨 1의 3차원 점군 데이터가 획득되는 경우 전술한 바와 같은 계층적 지도 작성 방식을 적용하면 설정 공간에 대한 이동 로봇(10)의 주행이 완료된 후 저장부(30)의 데이터베이스(30a) 내에는 도 9에 도시된 바와 같이, ①→②→③의 과정을 거쳐 작성된 레벨 4의 지도 1개, ④의 과정을 거쳐 작성된 레벨 2의 지도 1개 및 레벨 1의 지도 1개 이렇게 총 3개의 지도가 저장된다. 이처럼, 설정 공간에 대한 이동 로봇(10)의 주행이 완료된 후 저장부(30)의 데이터베이스(30a) 내에 2개 이상의 지도가 존재하는 경우에는 계층적 지도 작성 방식을 통해 설정 공간에 대한 지도 작성이 완료되지 않았으므로, 제어부(40)는 ICP 알고리즘을 이용하여 지도가 생성된 순서대로 지도들을 정합하여 설정 공간에 대한 최종적인 지도를 작성한다. 즉, ICP 알고리즘을 이용한 순차적 지도 작성 방식을 통해 가장 먼저 작성된 레벨 4의 지도와 그 다음으로 작성된 레벨 2의 지도를 정합하여 새로운 지도를 작성하고, 새롭게 작성된 지도와 맨 마지막으로 입력된 레벨 1의 지도를 정합하여 설정 공간에 대한 최종적인 지도를 작성한다.
본 발명에서는 다른 실시예로서 계층적 구조를 가지는 방식으로 3차원 점군 데이터를 정합하는 과정에서 발생하는 ICP 알고리즘의 수행 결과와 이동 로봇(10)의 위치 인식 결과를 융합하여 이동 로봇(10)의 주변 환경에 대한 3차원 지도를 작성하는 방식을 제안하고자 한다.
확장 칼만 필터(Extended Kalman Filter; EKF) 기반의 동시 위치 인식 및 지도 작성(Simultaneous Localization And Map-building; SLAM) 기술은 이동 로봇의 위치 예측 정보와 위치 오차에 대한 확률 정보인 공분산(covariance)을 제공한다.
본 발명의 다른 실시예에 따른 이동 로봇의 지도 작성 방법은 ICP 알고리즘을 통해 산출되는 강체 변환 정보(
Figure pat00007
) 및 그에 대한 편차 정보(
Figure pat00008
)와 이동 로봇(10)의 위치 인식 결과로부터 산출되는 이전 위치에서 현재 위치까지의 위치 변화 정보(
Figure pat00009
) 및 그에 대한 공분산 정보(
Figure pat00010
)를 융합하는 과정으로 이루어진다. 아래의 [수학식 3]~[수학식 6]을 이용한 확장 칼만 필터의 업데이트 과정을 통해 불확실성이 있는 서로 다른 두 정보(ICP 알고리즘 수행의 결과와 이동 로봇의 위치 인식 결과)를 융합하여 보다 정확한 변환 정보(
Figure pat00011
)를 산출할 수 있다.
[수학식 3]
Figure pat00012
[수학식 4]
Figure pat00013
여기서,
Figure pat00014
는 확장 칼만 필터의 이득(gain)이고,
Figure pat00015
는 행렬
Figure pat00016
의 전치행렬(transposed matrix)이다.
[수학식 5]
Figure pat00017
[수학식 6]
Figure pat00018
여기서,
Figure pat00019
이다.
이러한 방식으로 얻어진 변환 정보(
Figure pat00020
)는 앞서 설명한 본 발명의 실시예에 따른 계층적인 정합 방식의 지도 작성 방법에 그대로 적용될 수 있으며, 위치 인식 및 ICP 알고리즘 수행 시의 오차로 인한 영향을 최소화하여 보다 정확한 지도 작성을 가능하게 한다.
이하에서는 도 10을 참조하여 본 발명의 다른 실시예에 따른 이동 로봇의 지도 작성 방법을 설명하도록 한다.
이동 로봇(10)의 주행이 시작되면 제어부(40)는 확장 칼만 필터 기반의 SLAM 기술을 이용하여 이동 로봇(10)의 위치를 인식한다(205). 다음으로, 제어부(40)는 3차원 거리 정보 획득부(20)로부터 3차원 거리 정보를 입력받는다(210). 이후 제어부(40)는 ①이동 로봇(10)이 미리 설정된 거리를 주행하는 동안 또는 ②이동 로봇(10)이 이동 공간의 미리 설정된 면적을 주행하는 동안 또는 ③이동 로봇(10)이 등속으로 주행한다고 가정할 때 미리 설정된 시간 동안, 3차원 거리 정보 획득부(20)로부터 입력되는 3차원 거리 정보를 이동 시작점의 좌표계를 기준으로 누적하여 레벨 1의 지도(3차원 점군 데이터)를 구성하고, 이를 이동 로봇(10)의 이동 시작점 사이의 위치 인식 결과와 함께 저장부(30)의 데이터베이스(30a) 내에 저장한다(215). 여기서, 이동 시작점은 레벨 1의 지도(3차원 점군 데이터)를 구성하기 위한 기준 구간(미리 설정된 거리의 이동 등)이 시작될 때의 이동 로봇(10)의 위치를 의미한다. 데이터베이스(30a)에는 지도를 구성하는 3차원 점군 데이터와 지도의 크기 레벨 및 이동 로봇(10)의 이전 이동 시작점과 현재 이동 시작점 사이의 위치 인식 결과가 함께 저장된다.
다음으로, 제어부(40)는 저장부(30)의 데이터베이스(30a) 내에 동일한 크기 레벨의 지도가 2개 존재하는가 여부를 판단한다(220).
판단 결과, 데이터베이스(30a) 내에 동일한 크기 레벨의 지도가 2개 존재하지 않으면(220에서의 '아니오') 즉, 데이터베이스(30a) 내에 동일한 크기 레벨의 지도가 단 하나만 존재하면 제어부(40)는 동작 245로 진행하여 설정 공간(지도를 작성하고자 하는 공간)에 대한 이동 로봇(10)의 주행이 완료되었는가 여부를 판단한다.
한편, 판단 결과 데이터베이스(30a) 내에 동일한 크기 레벨의 지도가 2개 존재하면(220에서의 '예') 제어부(40)는 동일한 크기 레벨을 갖는 두 지도 사이에 ICP 알고리즘을 수행한다(225).
이후 제어부(40)는 이동 로봇(10)의 이동 시작점 사이의 위치 인식 결과와 ICP 알고리즘의 수행 결과를 융합하여 새로운 강체 변환 정보(
Figure pat00021
)를 산출한다(230).
다음으로, 제어부(40)는 산출된 새로운 강체 변환 정보(
Figure pat00022
)를 이용하여 동일한 크기 레벨을 갖는 두 지도를 정합하여 크기 레벨이 상승된 새로운 지도를 작성하고(235), 새롭게 작성된 지도를 저장부(30)의 데이터베이스(30a) 내에 저장한다(240).
이후 제어부(40)는 설정 공간(지도를 작성하고자 하는 공간)에 대한 이동 로봇(10)의 주행이 완료되었는가 여부를 판단한다(245). 여기서, 설정 공간에 대한 이동 로봇(10)의 주행이 완료되었는가 여부는 사용자가 판단하여 그 판단 결과를 입력부(미도시)를 통해 제어부(40)에 제공할 수도 있고, 이동 로봇(10)이 스스로 설정 공간에 대한 주행의 완료 여부를 판단할 수도 있다.
판단 결과, 설정 공간에 대한 이동 로봇(10)의 주행이 완료되지 않았으면(245에서의 '아니오') 제어부(40)는 동작 220으로 리턴하여 데이터베이스(30a) 내에 동일한 크기 레벨의 지도가 2개 존재할 때까지 계속적으로 이동 로봇(10)의 이동 시작점 사이의 위치 인식 결과와 함께 3차원 거리 정보 획득부(20)로부터 설정 공간에 대한 3차원 거리 정보를 입력받아 레벨 1의 지도를 구성하여 데이터베이스(30a) 내에 저장한다.
한편, 판단 결과 설정 공간에 대한 이동 로봇(10)의 주행이 완료되었으면(245에서의 '예') 제어부(40)는 다시 저장부(30)의 데이터베이스(30a) 내에 지도가 2개 이상 존재하는가 여부를 판단한다(250).
판단 결과, 데이터베이스(30a) 내에 지도가 2개 이상 존재하지 않으면(250에서의 '아니오') 즉, 데이터베이스(30a) 내에 지도가 단 하나만 존재하면 제어부(40)는 계층적 지도 작성 방식을 통해 설정 공간에 대한 지도 작성이 완료되어 최종적인 지도 하나만이 데이터베이스(30a) 내에 저장되어 있는 것으로 판단하고 지도 작성 과정을 종료한다.
한편, 판단 결과 데이터베이스(30a) 내에 지도가 2개 이상 존재하면(250에서의 '예') 제어부(40)는 계층적 지도 작성 방식을 통해 설정 공간에 대한 지도 작성이 완료되지 않은 것으로 판단하고 ICP 알고리즘을 이용하여 지도가 생성된 순서대로 지도들을 정합하여 설정 공간에 대한 최종적인 지도를 작성한다(255). 즉, 순차적 지도 작성 방식을 통해 데이터베이스(30a) 내에 저장된 지도들을 지도가 생성된 순서대로 정합하여 설정 공간에 대한 최종적인 지도를 작성한다.
이후 제어부(40)는 설정 공간에 대해 최종적으로 작성된 지도를 저장부(30)의 데이터베이스(30a) 내에 저장하고(260), 지도 작성 과정을 종료한다.
10 : 이동 로봇 20 : 3차원 거리 정보 획득부
30 : 저장부 30a : 데이터베이스
40 : 제어부 50 : 구동부

Claims (14)

  1. 이동 로봇이 주행하는 경로 상에 존재하는 물체에 대한 3차원 거리 정보를 획득하고;
    상기 획득되는 3차원 거리 정보를 누적하여 일정 크기 레벨의 지도를 구성한 뒤 데이터베이스에 저장하고;
    상기 데이터베이스에 저장된 지도를 계층적으로 정합하여 설정 공간에 대한 3차원 지도를 작성하는 이동 로봇의 지도 작성 방법.
  2. 제 1 항에 있어서, 상기 3차원 거리 정보의 누적은 상기 이동 로봇이 미리 설정된 거리를 주행하는 동안 또는 상기 이동 로봇이 미리 설정된 면적을 주행하는 동안 또는 상기 이동 로봇이 등속 주행할 경우 미리 설정된 시간 동안 상기 3차원 거리 정보를 상기 이동 로봇의 이동 시작점의 좌표계를 기준으로 누적하는 이동 로봇의 지도 작성 방법.
  3. 제 1 항에 있어서, 상기 지도를 계층적으로 정합하여 상기 설정 공간에 대한 3차원 지도를 작성하는 것은:
    상기 데이터베이스 내에 동일한 크기 레벨의 지도가 두 개 존재하는가 여부를 판단하고;
    상기 동일한 크기 레벨의 지도가 두 개 존재하는 것으로 판단되면 ICP 알고리즘을 이용하여 상기 두 개의 지도를 정합하여 크기 레벨이 상승된 새로운 지도를 작성하고;
    상기 작성된 새로운 지도를 상기 데이터베이스에 저장하는 것을 포함하는 이동 로봇의 지도 작성 방법.
  4. 제 3 항에 있어서,
    상기 설정 공간에 대한 상기 이동 로봇의 주행이 완료되면 상기 데이터베이스에 저장된 상기 지도가 두 개 이상 존재하는가 여부를 판단하고;
    상기 데이터베이스에 저장된 상기 지도가 두 개 이상 존재하는 것으로 판단되면 상기 ICP 알고리즘을 이용하여 상기 지도가 생성된 순서대로 상기 지도를 정합하여 상기 설정 공간에 대한 최종적인 지도를 작성하는 것을 더 포함하는 이동 로봇의 지도 작성 방법.
  5. 이동 로봇의 위치를 인식하고;
    상기 이동 로봇이 주행하는 경로 상에 존재하는 물체에 대한 3차원 거리 정보를 획득하고;
    상기 획득되는 3차원 거리 정보를 누적하여 일정 크기 레벨의 지도를 구성한 뒤 상기 지도를 상기 이동 로봇의 위치 인식 결과와 함께 데이터베이스에 저장하고;
    상기 데이터베이스 내에 동일한 크기 레벨의 지도가 두 개 존재하는가 여부를 판단하고;
    상기 동일한 크기 레벨의 지도가 두 개 존재하는 것으로 판단되면 상기 두 개의 지도에 대해 ICP 알고리즘을 수행하고;
    상기 이동 로봇의 위치 인식 결과와 상기 ICP 알고리즘의 수행 결과를 융합하여 새로운 강체 변환 정보를 산출하고;
    상기 산출된 새로운 강체 변환 정보를 이용하여 상기 두 개의 지도를 정합하여 크기 레벨이 상승된 새로운 지도를 작성함으로써 설정 공간에 대한 3차원 지도를 작성하는 이동 로봇의 지도 작성 방법.
  6. 제 5 항에 있어서,
    상기 작성된 새로운 지도를 상기 데이터베이스에 저장하는 것을 더 포함하는 이동 로봇의 지도 작성 방법.
  7. 제 5 항에 있어서, 상기 이동 로봇의 위치 인식은 확장 칼만 필터 기반의 동시 위치 인식 및 지도 작성(SLAM) 기술을 이용하여 수행되는 이동 로봇의 지도 작성 방법.
  8. 제 5 항에 있어서, 상기 3차원 거리 정보의 누적은 상기 이동 로봇이 미리 설정된 거리를 주행하는 동안 또는 상기 이동 로봇이 미리 설정된 면적을 주행하는 동안 또는 상기 이동 로봇이 등속 주행할 경우 미리 설정된 시간 동안 상기 3차원 거리 정보를 상기 이동 로봇의 이동 시작점의 좌표계를 기준으로 누적하는 이동 로봇의 지도 작성 방법.
  9. 제 6 항에 있어서,
    상기 설정 공간에 대한 상기 이동 로봇의 주행이 완료되면 상기 데이터베이스에 저장된 상기 지도가 두 개 이상 존재하는가 여부를 판단하고;
    상기 데이터베이스에 저장된 상기 지도가 두 개 이상 존재하는 것으로 판단되면 상기 ICP 알고리즘을 이용하여 상기 지도가 생성된 순서대로 상기 지도를 정합하여 상기 설정 공간에 대한 최종적인 지도를 작성하는 것을 더 포함하는 이동 로봇의 지도 작성 방법.
  10. 주행하는 경로 상에 존재하는 물체에 대한 3차원 거리 정보를 획득하는 3차원 거리 정보 획득부;
    상기 획득되는 3차원 거리 정보를 누적하여 일정 크기 레벨의 지도를 구성한 뒤 데이터베이스에 저장하고, 상기 데이터베이스에 저장된 지도를 계층적으로 정합하여 설정 공간에 대한 3차원 지도를 작성하는 제어부를 포함하는 이동 로봇.
  11. 제 10 항에 있어서, 상기 3차원 거리 정보 획득부는 TOF(Time of Flight) 카메라인 이동 로봇.
  12. 제 10 항에 있어서, 상기 제어부는 상기 이동 로봇이 미리 설정된 거리를 주행하는 동안 또는 상기 이동 로봇이 미리 설정된 면적을 주행하는 동안 또는 상기 이동 로봇이 등속 주행할 경우 미리 설정된 시간 동안 상기 3차원 거리 정보를 상기 이동 로봇의 이동 시작점의 좌표계를 기준으로 누적하는 이동 로봇.
  13. 제 10 항에 있어서,
    상기 제어부는 상기 데이터베이스 내에 동일한 크기 레벨의 지도가 두 개 존재하는가 여부를 판단하고, 상기 동일한 크기 레벨의 지도가 두 개 존재하는 것으로 판단되면 ICP 알고리즘을 이용하여 상기 두 개의 지도를 정합하여 크기 레벨이 상승된 새로운 지도를 작성하고, 상기 작성된 새로운 지도를 상기 데이터베이스에 저장하는 이동 로봇.
  14. 제 13 항에 있어서,
    상기 제어부는 상기 설정 공간에 대한 상기 이동 로봇의 주행이 완료되면 상기 데이터베이스에 저장된 상기 지도가 두 개 이상 존재하는가 여부를 판단하고, 상기 데이터베이스에 저장된 상기 지도가 두 개 이상 존재하는 것으로 판단되면 상기 ICP 알고리즘을 이용하여 상기 지도가 생성된 순서대로 상기 지도를 정합하여 상기 설정 공간에 대한 최종적인 지도를 작성하는 이동 로봇.
KR1020100097953A 2010-10-07 2010-10-07 이동 로봇 및 그 지도 작성 방법 KR101772977B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100097953A KR101772977B1 (ko) 2010-10-07 2010-10-07 이동 로봇 및 그 지도 작성 방법
US13/236,050 US9110472B2 (en) 2010-10-07 2011-09-19 Moving robot and method to build map for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100097953A KR101772977B1 (ko) 2010-10-07 2010-10-07 이동 로봇 및 그 지도 작성 방법

Publications (2)

Publication Number Publication Date
KR20120036207A true KR20120036207A (ko) 2012-04-17
KR101772977B1 KR101772977B1 (ko) 2017-08-31

Family

ID=45925775

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100097953A KR101772977B1 (ko) 2010-10-07 2010-10-07 이동 로봇 및 그 지도 작성 방법

Country Status (2)

Country Link
US (1) US9110472B2 (ko)
KR (1) KR101772977B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130132128A (ko) * 2012-05-25 2013-12-04 엘지전자 주식회사 이동 로봇 및 이의 제어 방법
KR20190048857A (ko) * 2017-10-31 2019-05-09 에스케이텔레콤 주식회사 증강현실용 컨텐츠 저작 장치 및 방법
KR20210051555A (ko) * 2019-10-30 2021-05-10 (주)코어센스 다중 2d 라이다 센서를 이용한 스마트 안전펜스 시스템

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2812723C (en) * 2010-09-24 2017-02-14 Evolution Robotics, Inc. Systems and methods for vslam optimization
US8798840B2 (en) * 2011-09-30 2014-08-05 Irobot Corporation Adaptive mapping with spatial summaries of sensor data
JP2015500746A (ja) * 2011-12-09 2015-01-08 ダイムラー・アクチェンゲゼルシャフトDaimler AG 製造プラントの運転方法
CN103631261B (zh) * 2012-08-27 2017-11-28 联想(北京)有限公司 信息处理方法和装置
CN103884330B (zh) * 2012-12-21 2016-08-10 联想(北京)有限公司 信息处理方法、可移动电子设备、引导设备和服务器
WO2014204615A2 (en) 2013-05-22 2014-12-24 Neurala, Inc. Methods and apparatus for iterative nonspecific distributed runtime architecture and its application to cloud intelligence
WO2014190208A2 (en) * 2013-05-22 2014-11-27 Neurala, Inc. Methods and apparatus for early sensory integration and robust acquisition of real world knowledge
US10133276B1 (en) * 2015-06-19 2018-11-20 Amazon Technologies, Inc. Object avoidance with object detection and classification
CN105953798B (zh) * 2016-04-19 2018-09-18 深圳市神州云海智能科技有限公司 移动机器人的位姿确定方法和设备
CN105928505B (zh) * 2016-04-19 2019-01-29 深圳市神州云海智能科技有限公司 移动机器人的位姿确定方法和设备
KR102372669B1 (ko) 2016-06-08 2022-03-10 삼성전자주식회사 전자 장치, 외부 서버 및 그 제어 방법
CN109324634B (zh) * 2016-09-30 2021-08-03 广州亿航智能技术有限公司 一种飞行器及其定位方法、控制方法及光流模块
SG10201700299QA (en) * 2017-01-13 2018-08-30 Otsaw Digital Pte Ltd Three-dimensional mapping of an environment
IL250762B (en) 2017-02-23 2020-09-30 Appelman Dina Method and system for unmanned vehicle navigation
KR102024094B1 (ko) * 2017-12-21 2019-09-23 엘지전자 주식회사 인공지능을 이용한 이동 로봇 및 그 제어방법
US10698413B2 (en) * 2017-12-28 2020-06-30 Savioke Inc. Apparatus, system, and method for mobile robot relocalization
SG11202012016XA (en) * 2018-08-30 2021-03-30 Elta Systems Ltd Method of navigating a vehicle and system thereof
CN109186608B (zh) * 2018-09-27 2021-10-15 大连理工大学 一种面向重定位的稀疏化三维点云地图生成方法
US11747825B2 (en) 2018-10-12 2023-09-05 Boston Dynamics, Inc. Autonomous map traversal with waypoint matching
US11287826B2 (en) * 2018-10-12 2022-03-29 Boston Dynamics, Inc. Terrain aware step planning system
KR102299264B1 (ko) 2019-01-16 2021-09-07 삼성전자주식회사 라이다 장치
CN109885068B (zh) * 2019-03-30 2021-12-24 骞一凡 一种机器人行进的控制方法及其系统
CN109960269B (zh) * 2019-04-04 2021-05-04 武汉大学 一种服务于无人机自主导航的简化环境建模方法
CN110045733B (zh) * 2019-04-04 2022-11-01 肖卫国 一种实时定位方法及其系统、计算机可读介质
CN109960281A (zh) * 2019-04-17 2019-07-02 深圳市道通智能航空技术有限公司 环绕飞行的控制方法、装置、终端及存储介质
CN109976370B (zh) * 2019-04-19 2022-09-30 深圳市道通智能航空技术股份有限公司 立面环绕飞行的控制方法、装置、终端及存储介质
EP4010659A1 (en) 2019-08-06 2022-06-15 Boston Dynamics, Inc. Intermediate waypoint generator
WO2021056283A1 (en) * 2019-09-25 2021-04-01 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for adjusting a vehicle pose
CN110608742A (zh) * 2019-09-27 2019-12-24 五邑大学 基于粒子滤波slam的地图构建方法及装置
CN110686677B (zh) * 2019-10-10 2022-12-13 东北大学 一种基于几何信息的全局定位方法
CN212623054U (zh) * 2019-12-24 2021-02-26 炬星科技(深圳)有限公司 辅助定位柱以及自行走机器人的导航辅助系统
CN111805535B (zh) * 2020-06-11 2022-06-07 浙江大华技术股份有限公司 一种定位导航方法、装置以及计算机存储介质
WO2022087014A1 (en) * 2020-10-20 2022-04-28 Brain Corporation Systems and methods for producing occupancy maps for robotic devices

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6909801B2 (en) * 2001-02-05 2005-06-21 National Instruments Corporation System and method for generating a low discrepancy curve on an abstract surface
US6959104B2 (en) * 2001-02-05 2005-10-25 National Instruments Corporation System and method for scanning a region using a low discrepancy sequence
US7034831B2 (en) * 2001-02-05 2006-04-25 National Instruments Corporation System and method for generating a low discrepancy curve in a region
WO2004015369A2 (en) * 2002-08-09 2004-02-19 Intersense, Inc. Motion tracking system and method
KR100926760B1 (ko) * 2007-12-17 2009-11-16 삼성전자주식회사 이동 로봇의 위치 인식 및 지도 작성 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130132128A (ko) * 2012-05-25 2013-12-04 엘지전자 주식회사 이동 로봇 및 이의 제어 방법
KR20190048857A (ko) * 2017-10-31 2019-05-09 에스케이텔레콤 주식회사 증강현실용 컨텐츠 저작 장치 및 방법
KR20210051555A (ko) * 2019-10-30 2021-05-10 (주)코어센스 다중 2d 라이다 센서를 이용한 스마트 안전펜스 시스템

Also Published As

Publication number Publication date
KR101772977B1 (ko) 2017-08-31
US20120089295A1 (en) 2012-04-12
US9110472B2 (en) 2015-08-18

Similar Documents

Publication Publication Date Title
KR101772977B1 (ko) 이동 로봇 및 그 지도 작성 방법
CN113110457B (zh) 在室内复杂动态环境中智能机器人的自主覆盖巡检方法
KR101778028B1 (ko) 로봇 및 로봇의 경로 생성 방법
KR101372482B1 (ko) 이동 로봇의 경로 계획 방법 및 장치
CN111536964A (zh) 机器人定位方法及装置、存储介质
KR100877072B1 (ko) 이동 로봇을 위한 맵 생성 및 청소를 동시에 수행하는 방법및 장치
KR101286135B1 (ko) 상향식 단일 카메라를 이용한 중대형 공간에서의 자율적 위상지도 생성 방법
KR102169283B1 (ko) 자율주행 로봇을 이용한 지도 업데이트 방법 및 시스템
CN106796434A (zh) 地图生成方法、自身位置推定方法、机器人系统和机器人
JP5429901B2 (ja) ロボット及び情報処理装置のプログラム
TWI772743B (zh) 資訊處理裝置以及移動機器人
JP2018017826A (ja) 自律移動体と環境地図更新装置
US20230071794A1 (en) Method and system for building lane-level map by using 3D point cloud map
KR20210063791A (ko) 장애물의 특성을 고려한 dqn 및 slam 기반의 맵리스 내비게이션 시스템 및 그 처리 방법
CN111609853A (zh) 三维地图构建方法、扫地机器人及电子设备
CN114034299A (zh) 一种基于主动激光slam的导航系统
US20220100201A1 (en) Information processing device and mobile robot
KR101552773B1 (ko) 인공 표식을 이용한 이동 로봇의 위치 추정 방법
JP5210396B2 (ja) コンピュータを援用してセンサデータから物体の運動を計算する方法
AU2021273605B2 (en) Multi-agent map generation
CN112182122A (zh) 一种移动机器人工作环境导航地图的获取方法及装置
KR20200080598A (ko) 이동 로봇의 주행 평가 방법
JP2017129681A (ja) 地図作成方法
Li et al. Object-Aware View Planning for Autonomous 3D Model Reconstruction of Buildings Using a Mobile Robot
Norouzi et al. Recursive line extraction algorithm from 2d laser scanner applied to navigation a mobile robot

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant