KR102194429B1 - 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 - Google Patents

경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 Download PDF

Info

Publication number
KR102194429B1
KR102194429B1 KR1020200052145A KR20200052145A KR102194429B1 KR 102194429 B1 KR102194429 B1 KR 102194429B1 KR 1020200052145 A KR1020200052145 A KR 1020200052145A KR 20200052145 A KR20200052145 A KR 20200052145A KR 102194429 B1 KR102194429 B1 KR 102194429B1
Authority
KR
South Korea
Prior art keywords
map
mobile robot
environment
area
ramp
Prior art date
Application number
KR1020200052145A
Other languages
English (en)
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 KR1020200052145A priority Critical patent/KR102194429B1/ko
Application granted granted Critical
Publication of KR102194429B1 publication Critical patent/KR102194429B1/ko
Priority to PCT/KR2021/004459 priority patent/WO2021221344A1/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/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/022Optical sensing devices using lasers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것으로서, 더욱 상세하게는 실내 이동 로봇이 자세를 추정하고 이동하는 경우에 사용될 수 있도록 평평한 지면과 경사로가 혼재한 환경에서 환경을 인식하는 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램을 제공한다.

Description

경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 {APPARATUS AND METHOD FOR ENVIRONMENT RECOGNITION OF MOVING ROBOT IN A SLOPE WAY AND RECORDING MEDIUM STORING PROGRAM FOR EXECUTING THE SAME, AND COMPUTER PROGRAM STORED IN RECORDING MEDIUM FOR EXECUTING THE SAME}
본 발명은 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것으로서, 더욱 상세하게는 실내 이동 로봇이 자세를 추정하고 이동하는 경우에 사용될 수 있도록 평평한 지면과 경사로가 혼재한 환경에서 환경을 인식하는 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것이다.
GPS를 이용하는 종래의 자기위치 추정기술은 오차 범위가 넓고 실내에서 사용하기 어렵기 때문에 실내 이동체의 자율주행에 이용되기 어려운 문제가 있다.
격자 형태로 나누어진 셀(cell) 기반의 지도인 그리드맵(Occupancy grid map)은 자율주행 이동체가 환경을 인식하는 대표적인 방법이다.
그리드맵은 영역을 작은 셀로 나누고, 각 셀이 장애물에 의하여 점유되어 있는 정도를 수치로 표시하여 환경을 인식하는 방식이다.
3차원 공간 정보를 직접 이용하여 그리드맵을 구성하여 환경을 인식하는 기술은 고도에 따른 변화를 감지할 수 있기 때문에, 편평한 지면과 경사로가 혼재한 환경에서도 환경을 정확하게 인식할 수 있고, 또한 이를 이용하여 자세를 추정하고 경로를 계획할 수 있다.
하지만, 환경을 충분히 자세하게 표현하기 위해서 셀의 크기를 작게 유지해야하므로 정보를 저장하는데 필요한 메모리의 양이 많이 필요할 뿐만 아니라 응용 연산에 필요한 데이터의 양이 기본적으로 많다는 문제가 있다.
이 때문에 때로는 이동체의 활동 영역이 메모리의 한계에 의하여 제한되기도 하는 문제가 있다.
어느 공간이든, 지면의 평평함이 항상 보장되지 않으며, 경사가 있는 지면이 있을 수 있다.
고성능의 3차원 레이저 센서(Lidar)와 고성능의 관성 측정 센서(Inertial measurement unit, IMU)를 갖춘 이동로봇은 3차원 공간 정보를 실시간으로 수집할 수 있기 때문에, 편평한 지면과 경사로가 혼재한 거친 환경에서도 3차원 공간이 표현된 지도안에서 자기 자세를 정확하게 인식하는 것이 가능하다.
하지만, 상기 이동로봇은 고성능의 센서 뿐만 아니라 3차원 공간에 대한 고성능 연산 능력도 갖추어야 하기 때문에, 해당 로봇을 구현하기 위한 비용이 매우 큰 문제가 있다.
한국등록특허 [10-1170914]에서는 자율주행 로봇 및 그의 경사면 주행방법이 개시되어 있다.
한국등록특허 [10-1170914](등록일자: 2012년07월30일)
따라서, 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 실내 이동 로봇이 자세를 추정하고 이동하는 경우에 사용될 수 있도록 평평한 지면과 경사로가 혼재한 환경에서 환경을 인식하되, 2차원 지도 기반으로 동작하도록 하여 비교적 적은 연산량 및 메모리를 요구하는 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램을 제공하는 것이다.
본 발명의 실 시예들의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 장치는 이동로봇(10)에 장착되어 이동로봇(10)이 위치한 바닥을 기준으로 바닥 평면 또는 특정 높이의 2차원 주변 정보를 수집하는 2차원레이저센서(100); 상기 2차원레이저센서(100)로부터 획득된 정보를 바탕으로 이동로봇(10)이 이동할 공간의 2차원 지도를 영역 별로 저장 및 관리하는 지도관리부(200); 상기 지도관리부(200)에 저장된 지도 중 이동로봇(10)이 현재 위치에서 참조해야 하는 지도를 선택하는 지도선택부(300); 상기 지도선택부(300)에 의해 선택된 지도를 기반으로, 이동로봇(10)의 자세를 추정하는 자세추정부(400); 상기 지도선택부(300)에 의해 선택된 지도 및 상기 자세추정부(400)에 의해 추정된 이동로봇(10)의 자세를 기반으로, 이동로봇(10)의 이동경로를 계획하는 경로계획부(500); 상기 경로계획부(500)에 의해 생성된 이동경로를 따라 이동로봇(10)이 이동하도록 제어하는 로봇제어부(600); 를 포함하는 것을 특징으로 한다.
또한, 상기 지도관리부(200)는 지면의 고도, 출입구(문) 및 지면 경사각 중 선택되는 어느 하나 또는 복수에 따라 영역을 나누는 것을 특징으로 한다.
또, 상기 지도관리부(200)의 영역 별로 저장된 2차원 지도를 구성하는 정보에는 비용(cost) 정보, 경사로의 경사각, 지도 전환 구간의 목록 및 지도 전환 구간의 위치 정보 중 선택되는 어느 하나 또는 복수의 정보가 포함된 것을 특징으로 한다.
아울러, 상기 지도 전환 구간은 바닥 경사각이 바뀌는 부분인 것을 특징으로 한다.
본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 방법은 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 경사로가 있는 환경에서 이동로봇의 환경 인식 방법에 있어서, 이동로봇(10)에 장착된 2차원레이저센서(100)로 이동로봇(10)이 위치한 바닥을 기준으로 바닥 평면 또는 특정 높이의 2차원 주변 정보를 수집하여, 이동로봇(10)이 이동할 공간의 2차원 지도를 영역 별로 저장하는 지도저장 단계(S10); 상기 지도저장 단계(S10)에서 저장된 영역별 지도 중 이동로봇(10)이 현재 위치에서 참조해야 하는 지도를 선택하는 지도선택 단계(S20); 상기 지도선택 단계(S20)에 의해 선택된 지도를 기반으로, 이동로봇(10)의 자세를 추정하는 자세추정 단계(S30); 및 상기 지도선택 단계(S20)에 의해 선택된 지도 및 상기 자세추정 단계(S30)에 의해 추정된 이동로봇(10)의 자세를 기반으로, 이동로봇(10)의 이동경로를 계획하는 경로계획 단계(S40);를 포함하는 것을 특징으로 한다.
또한, 상기 지도저장 단계(S10)는 지면의 고도, 출입구(문) 및 지면 경사각 중 선택되는 어느 하나 또는 복수에 따라 영역을 나누는 것을 특징으로 한다.
또, 상기 지도저장 단계(S10)에서 영역 별로 저장된 2차원 지도를 구성하는 정보에는 비용(cost) 정보, 경사로의 경사각, 지도 전환 구간의 목록 및 지도 전환 구간의 위치 정보 중 선택되는 어느 하나 또는 복수의 정보가 포함된 것을 특징으로 한다.
또한, 상기 경로계획 단계(S40)는 경사로의 경사각에 따라 영역이 나뉜 경우, 목표지점까지 거쳐 가게 되는 모든 영역의 2차원 지도와 각 지도의 지도 전환 구간을 호출하고, 호출된 지도의 지도 전환 구간을 연결시키며, 경사각에 따른 비용 값을 참조하여, 비용이 최소화 되는 최적의 경로를 계획하는 것을 특징으로 한다.
또, 본 발명의 일 실시예에 따르면, 상기 경사로가 있는 환경에서 이동로봇의 환경 인식 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체가 제공되는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따르면, 상기 경사로가 있는 환경에서 이동로봇의 환경 인식 방법을 구현하기 위해, 컴퓨터 판독 가능한 기록매체에 저장된 프로그램이 제공되는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 의하면, 이동로봇이 위치한 바닥을 기준으로 바닥 평면 또는 특정 높이의 2차원 주변 정보를 수집하여 2차원 지도를 영역 별로 저장하고 필요한 영역의 2차원 지도를 불러와 경로 계산에 필요한 연산을 수행함으로써, 이동로봇이 평지에서 2차원 지도로 이동하는 것과 동일한 수준의 연산량으로 고도가 다른 층을 경사로를 통해 이동하는 것이 가능한 효과가 있다.
또한, 이동로봇은 경사로가 있는 구간에서 지도 및 공간의 왜곡이 없이 이동이 가능한 효과가 있다.
또, 비용(cost) 정보 또는 경사로의 경사각 정보를 사용함으로써, 비용을 최소화 시킬 수 있는 경로 계획이 가능한 효과가 있다.
또한, 지도 전환 구간에 대한 정보를 사용함으로써, 2차원 지도 간의 호출을 용이하게 하는 효과가 있다.
아울러, 경사로의 경사각에 따라 영역이 나뉜 경우, 목표지점까지 거쳐 가게 되는 모든 영역의 2차원 지도와 각 지도의 지도 전환 구간을 호출하고, 호출된 지도의 지도 전환 구간을 연결시키며, 경사각에 따른 비용 값을 참조하여, 비용이 최소화 되는 최적의 경로를 계획함으로써, 이동로봇이 경유할 수 있는 모든 가능성을 확인할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 장치의 블록도.
도 2는 경사로가 있는 공간의 예시도.
도 3은 도 2의 경사로가 있는 공간을 본 발명의 일 실시예에 따른 이동로봇이 이동하는 것을 보여주는 예시도.
도 4는 도 3과 같이 본 발명의 일 실시예에 따른 이동로봇이 이동하면서 생성한 영역별 2차원 지도를 보여주는 예시도.
도 5는 본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 방법의 흐름도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명을 더욱 상세하게 설명한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정하여 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 또한, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다.
도 1은 본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 장치의 블록도이고, 도 2는 경사로가 있는 공간의 예시도이며, 도 3은 도 2의 경사로가 있는 공간을 본 발명의 일 실시예에 따른 이동로봇이 이동하는 것을 보여주는 예시도이고, 도 4는 도 3과 같이 본 발명의 일 실시예에 따른 이동로봇이 이동하면서 생성한 영역별 2차원 지도를 보여주는 예시도이며, 도 5는 본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 방법의 흐름도이다.
본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램은 2차원 지도를 이용하여, 이동로봇의 경로를 계획할 수 있다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 장치는 2차원레이저센서(100), 지도관리부(200), 지도선택부(300), 자세추정부(400), 경로계획부(500) 및 로봇제어부(600)를 포함한다.
2차원레이저센서(100)는 이동로봇(10)에 장착되어 이동로봇(10)이 위치한 바닥을 기준으로 바닥 평면 또는 특정 높이의 2차원 주변 정보를 수집한다.
상기 2차원레이저센서(100)는 이동로봇(10)의 어느 특정한 위치에 고정되도록 설치되어, 2차원 정보를 수집한다.
여기서, 특정 높이는 바닥으로부터 수직한 방향으로의 높이를 의미한다.
상기 2차원레이저센서(100)로는 2차원 레이저 센서(Lidar)를 이용할 수 있다.
상기 2차원레이저센서(100)로는 2차원 레이저 센서(Lidar) 또는 이동로봇(10) 주변 특정 높이의 점유정도를 알 수만 있다면 어떠한 센서도 사용 가능하다.
상기 이동로봇(10)은 상기 2차원레이저센서(100)를 장착하고 있어서, 주변 2차원 정보, 즉, 특정 고도에서 장애물로 점유된 정도를 수치화할 수 있다.
지도관리부(200)는 상기 2차원레이저센서(100)로부터 획득된 정보를 바탕으로 이동로봇(10)이 이동할 공간의 2차원 지도를 영역 별로 저장 및 관리한다.
이때, 2차원 지도는 바닥 면적과 동일한 면적으로 형성될 수 있다.
즉, 평면도 상의 지도와는 다를 수 있다.
이하, 도 2 내지 도 4를 예로 하여 설명하도록 한다.
도 2는 경사로가 있는 공간의 예시도이며, 도 3은 도 2의 경사로가 있는 공간을 본 발명의 일 실시예에 따른 이동로봇이 이동하는 것을 보여주는 예시도이고, 도 4는 도 3과 같이 본 발명의 일 실시예에 따른 이동로봇이 이동하면서 생성한 영역별 2차원 지도를 보여주는 예시도이다.
여기서, 경사로는 계단의 형태가 아닌 바퀴달린 이동로봇이 이동 가능한 평지라고 가정한다.
상기 지도관리부(200)는 도 2와 같은 지역을
Figure 112020044343408-pat00001
,
Figure 112020044343408-pat00002
,
Figure 112020044343408-pat00003
의 세 영역으로 나누어, 도 3과 같이
Figure 112020044343408-pat00004
지역을 이동로봇(10)이 이동하면서 도 4와 같이
Figure 112020044343408-pat00005
지역의 2차원 지도를 저장할 수 있고, 도 3과 같이
Figure 112020044343408-pat00006
지역을 이동로봇(10)이 이동하면서 도 4와 같이
Figure 112020044343408-pat00007
지역의 2차원 지도를 저장할 수 있으며, 도 3과 같이
Figure 112020044343408-pat00008
지역을 이동로봇(10)이 이동하면서 도 4와 같이
Figure 112020044343408-pat00009
지역의 2차원 지도를 저장할 수 있다.
이때, 경사(
Figure 112020044343408-pat00010
)구간의 2차원 지도는 평면도 상의 면적보다
Figure 112020044343408-pat00011
의 곱 만큼 더 클 수 있다.
즉, 경사(
Figure 112020044343408-pat00012
)구간의 2차원 지도는 경사(
Figure 112020044343408-pat00013
)구간의 바닥 면적과 동일 할 수 있다.
다시 말해, 지도관리부(200)는 로봇의 자세 추정 및 이동경로를 계획하는데 이용되는 기초 자료인 2차원 지도를 영역별로 생성 및 갱신이 가능하며, 요청에 의해 해당 지도를 제공할 수 있다.
2차원 지도 저장에 사용되는 이동로봇(10)은 고도를 바꾸는 움직임을 할 수 없고, 오직 수평으로만 이동이 가능하다고 가정할 수 있다.
상기 이동로봇(10)은 상기 지도관리부(200)를 통해 각 영역별로 2차원 지도를 작성하고 저장 및 관리할 수 있다.
즉, 최초 상기 이동로봇(10)이 실내를 이동하면서 각 영역별로 2차원 지도를 생성하여 저장할 수 있다.
이렇게 저장된 2차원 지도는, 동일 사양의 이동로봇(10)의 지도관리부(200)에 저장하여 사용하도록 하는 것도 가능하다.
지도선택부(300)는 상기 지도관리부(200)에 저장된 지도 중 이동로봇(10)이 현재 위치에서 참조해야 하는 지도를 선택한다.
상기 지도선택부(300)는 후술하는 자세추정부(400) 및 경로계획부(500)가 사용해야 하는 지도를 불러올 수 있다.
상기 이동로봇(10)은 지도선택부(300)를 통해 해당 위치 및 경로에서 참조해야하는 2차원 지도를 선택하여 적용할 수 있다.
자세추정부(400)는 상기 지도선택부(300)에 의해 선택된 지도를 기반으로, 이동로봇(10)의 자세를 추정한다.
상기 자세추정부(400)는 선택된 지도내의 자신의 자세를 추정한다.
경로계획부(500)는 상기 지도선택부(300)에 의해 선택된 지도 및 상기 자세추정부(400)에 의해 추정된 이동로봇(10)의 자세를 기반으로, 이동로봇(10)의 이동경로를 계획한다.
상기 경로계획부(500)는 출발 지점부터 목적 지점까지 경로를 계획한다.
상기 출발 지점은 현재 이동로봇(10)의 위치가 될 수 있다.
로봇제어부(600)는 상기 경로계획부(500)에 의해 생성된 이동경로를 따라 이동로봇(10)이 이동하도록 제어한다.
상기 로봇제어부(600)는 이동로봇(10)의 주행에 필요한 연산을 수행한다.
본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 장치의 지도관리부(200)는 지면의 고도, 출입구(문) 및 지면 경사각 중 선택되는 어느 하나 또는 복수에 따라 영역을 나누는 것을 특징으로 할 수 있다.
상기 지도관리부(200)에 저장된 2차원 지도는 영역별로 여러 영역의 지도가 저장된다.
여기서, 여러 영역이라 함은 실내 건물에서 지면의 고도에 따른 층별로 구분될 수 있고, 문(door)으로 나눠진 공간으로 구분될 수 있고, 고도가 일정한 각도로 변화하는 경사로(경사각)별로 구분될 수 있다.
여기서, 영역은 지면의 고도에 따라 나눠질 수도 있고, 문으로 나눠지는 공간에 따라 나눠질 수도 있으며, 경사각에 따라 나눠질 수 있다.
나뉘어진 M개의 영역의 집합을
Figure 112020044343408-pat00014
이라 하면 다음과 같이 표현될 수 있다.
Figure 112020044343408-pat00015
여기서
Figure 112020044343408-pat00016
는 i번째 영역을 나타낸다.
본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 장치의 지도관리부(200)에 영역 별로 저장된 2차원 지도를 구성하는 정보에는 비용(cost) 정보, 경사로의 경사각, 지도 전환 구간의 목록 및 지도 전환 구간의 위치 정보 중 선택되는 어느 하나 또는 복수의 정보가 포함된 것을 특징으로 할 수 있다.
지도선택부(300)는 이동로봇(10)이 지도 전환 구간에 다다랐을 때 현재 주행 경로 및 속도를 참조하여 이동로봇(10)이 참조해야하는 지도를 올바르게 전환시켜줄 수 있다.
상기 지도 전환 구간은 서로 다른 영역의 접합 지점 또는 접합 영역이 될 수 있다.
각 영역은 해당 영역에 대한 지도와 지도를 구성하는 정보를 가질 수 있다.
지도를 구성하는 정보에는 원점의 위치, 실제 세계로 대응되는 해상도, 가시적인 영상, 자유영역으로 결정되기 위한 문턱 점유 수치, 장애물 영역으로 결정되기 위한 문턱 점유 수치 등 기존 그리드 맵에서 사용되는 변수 외에, 비용 정보, 경사로의 경사각, 지도 전환 구간의 목록 및 위치 정보 등이 더 포함될 수 있다.
이때, 각 영역마다 지도의 좌표계가 다를 수 있다.
즉, 다시 말하면 각 영역마다 원점이 독립적으로 정의될 수 있다.
영역의 각 좌표들은 위치 정보 이외에 비용(cost)정보를 지닐 수 있다.
만일 영역이 경사각에 따라 나뉜 경우에는 이 비용 정보에 경사각에 따른 비용을 계산할 수 있다.
예를 들어, 비용 값은 최저 값 0부터 최대 값 1까지 분포하도록 정의될 수 있고, 최적의 경로를 결정하여 경로를 계획할 때 이용될 수 있다.
여기서 최적 경로는 어떠한 부분에 가중치를 두는가에 따라 달라질 수 있다.
최적 경로는 최소 시간, 최소 이동 거리, 최소 에너지 소모 등을 지향하도록 구성되거나, 이들을 종합적으로 고려하여 계획할 수 있다.
비용값은 다음과 같이 표현할 수 있다.
Figure 112020044343408-pat00017
여기서
Figure 112020044343408-pat00018
Figure 112020044343408-pat00019
로 표시되는 좌표에서 가장 가까운 장애물까지의 거리이다.
Figure 112020044343408-pat00020
는 장애물에 대한 비용 값의 지수적 감소의 강도를 결정하는 상수이다.
Figure 112020044343408-pat00021
Figure 112020044343408-pat00022
로 표시되는 좌표에서 경사로의 각도
Figure 112020044343408-pat00023
에 대한 비용을 결정하는 함수이다.
영역 내의 경사로가 일정하다면,
Figure 112020044343408-pat00024
라고 표현될 수 있다.
z는 그 외 비용을 고려하기 위한 상수이다.
각 영역은 크게 자유 영역, 장애물 영역, 지도 전환 구간으로 나눌 수 있다.
자유 영역은 이동로봇(10)이 자유롭게 이동 가능한 영역을 말한다.
장애물 영역은 이동로봇(10) 접근할 수 없는 영역을 뜻한다.
지도 전환 구간은 이동로봇(10) 접근이 가능한 영역이지만, 다른 영역의 지도를 참고해야만 이후 경로 계획이 가능하며, 다른 영역으로 진입 가능한 구간이다.
예를 들어,
Figure 112020044343408-pat00025
는 다음과 같은 N개의 지도 전환 구간을 가질 수 있다.
Figure 112020044343408-pat00026
그리고 각 전환 구간은 다른 영역과 접합되는 지점 또는 영역의 지도 전환 구간에 대한 정보를 가지고 있도록 하는 것이 바람직하다.
본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 장치의 상기 지도 전환 구간은 바닥 경사각이 바뀌는 부분인 것을 특징으로 할 수 있다.
예를 들어, 하층에서 경사로로 진입하는 구간과 상층에서 경사로로 진입하는 구간을 지도 전환 구간이라고 할 수 있다.
도 2 내지 도 4를 예로 하여 설명하면,
Figure 112020044343408-pat00027
Figure 112020044343408-pat00028
Figure 112020044343408-pat00029
Figure 112020044343408-pat00030
이 연결되어 있다면,
Figure 112020044343408-pat00031
Figure 112020044343408-pat00032
의 정보를 갖고,
Figure 112020044343408-pat00033
Figure 112020044343408-pat00034
의 정보를 갖도록 할 수 있다. 또한,
Figure 112020044343408-pat00035
Figure 112020044343408-pat00036
Figure 112020044343408-pat00037
Figure 112020044343408-pat00038
이 연결되어 있다면,
Figure 112020044343408-pat00039
Figure 112020044343408-pat00040
의 정보를 갖고,
Figure 112020044343408-pat00041
Figure 112020044343408-pat00042
의 정보를 갖도록 할 수 있다.
따라서, 만일
Figure 112020044343408-pat00043
에서
Figure 112020044343408-pat00044
로 가고자 할 때에는
Figure 112020044343408-pat00045
Figure 112020044343408-pat00046
를 호출하여 사용할 수 있고,
Figure 112020044343408-pat00047
에서
Figure 112020044343408-pat00048
로 가고자 할 때에는
Figure 112020044343408-pat00049
Figure 112020044343408-pat00050
를 호출하여 사용할 수 있다.(도 4 참조)
경사로를 포함하는 어떤 영역들의 지도는 도 4와 같이 표현될 수 있다.
도 4에서 빗금쳐진 영역은 지도 전환 구간을 표시한 것이다.
각 좌표들은 위에서 언급한 대로 비용 값을 갖고 있을 수 있다.
경사로를 지나지 않고 목표지점에 도달하는 경로가 있거나, 경사로를 지나서 목표지점에 도달하는 경로, 혹은 다른 경사로를 지나서 목표지점에 도달하는 경로 등 여러 경로가 있을 수 있는데, 상기 비용 값을 이용하여 최적 경로를 계획할 수 있다.
또한, 어떤 영역은 다른 고도를 갖는 지면을 이어주는, 일정한 각도로 기울어진 경사로에 대한 지도일 수 있다.
예를 들어, 도 2 내지 도4에 도시된 바와 같이, 하층, 경사로, 상층으로 나뉘어질 수 있다.
도 2에서는 출발지점에서 목적지점까지 가기 위해 하층, 경사로 및 상층을 순차적으로 이동해야 하는 상황을 하나의 예시로 묘사하였다.
즉, 도 2에서는 이동로봇(10)이 하층에서 상층으로 이동해야 하는 상황이다.
바닥 경사각이 바뀔 때 마다 영역을 나누어 2차원 지도를 저장할 수 있다.
다시 말해, 상기 2차원 지도는 층별로, 일정한 각도로 기울어진 경사로별로 구성될 수 있다.
이때, 도 2에서는 이동로봇(10)이 하층의 현재 위치, 즉 출발 지점에서 상층의 목표 지점까지 이동 명령을 받았다고 가정한다.
상기 지도선택부(300)는 최초 하층(
Figure 112020044343408-pat00051
)에 해당되는 2차원 지도를 불러올 수 있고, 이를 근거로 이동로봇(10)의 자세를 추정할 수 있다.
이후, 이동경로를 계획하기 위해, 하층의 출발 지점에서 상층의 목표 지점까지 경유할 가능성이 있는 영역의 2차원 지도들(
Figure 112020044343408-pat00052
,
Figure 112020044343408-pat00053
등)을 불러와 도 2와 같이 이동경로를 계획 할 수 있다.
다시 말해, 상기 경로계획부(500)는 출발 지점에서 이동로봇(10)은 자신의 위치를 추정하고, 목표지점까지 경로를 계획할 수 있는데, 계획된 경로 중 어떤 경사로를 통과해서 이동하는 경로를 참조할 때, 도 4와 같이 목표지점까지 거쳐 가게 되는 모든 영역의 2차원 지도와 각 지도의 지도 전환 구간을 호출하고, 비용 값을 참조하여 최적의 경로를 계획할 수 있다.
상기 자세추정부(400)는 선택된 영역의 지도에서 이동로봇(10) 자신의 자세를 각 영역의 지도를 참조하여 추정할 수 있다.
상기 로봇제어부(600)는 계획된 경로를 토대로 이동로봇(10) 구동부로 구동 명령을 내려 이동로봇(10)이 이동하도록 제어할 수 있다.
이때, 상기 지도 전환 구간에 이동로봇(10)이 도착하게 되면, 이동로봇(10)은 계획된 경로를 참조하여 올바른 지도로 전환할 수 있다.
즉, 하층에서 이동로봇(10)의 다음 경로가 경사로를 넘어가는 경로(
Figure 112020044343408-pat00054
에서
Figure 112020044343408-pat00055
)로 계획이 되어있다면, 이동로봇(10)이 하층 지도(
Figure 112020044343408-pat00056
에 해당되는 지도)를 기반으로 주행하다가 지도 전환 구간에서 경사로 지도(
Figure 112020044343408-pat00057
에 해당되는 지도)로 전환하고, 이동을 속행할 수 있다.
또한, 이동로봇(10)이 경사로와 상층 사이 지도 전환 구간에 도달하게 되면, 지도를 경사로 지도(
Figure 112020044343408-pat00058
에 해당되는 지도)에서 상층지도(
Figure 112020044343408-pat00059
에 해당되는 지도)으로 변경하고 이동을 속행할 수 있다.
본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 장치를 이용하면, 이동로봇(10)이 평지에서 2차원 지도로 이동하는 것과 동일한 수준의 연산량으로 고도가 다른 층을 경사로를 통해 이동하는 것이 가능하다.
도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 장치는 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 경사로가 있는 환경에서 이동로봇의 환경 인식 방법에 있어서, 지도저장 단계(S10), 지도선택 단계(S20), 자세추정 단계(S30) 및 경로계획 단계(S40)를 포함한다.
지도저장 단계(S10)는 이동로봇(10)에 장착된 2차원레이저센서(100)로 이동로봇(10)이 위치한 바닥을 기준으로 바닥 평면 또는 특정 높이의 2차원 주변 정보를 수집하여, 이동로봇(10)이 이동할 공간의 2차원 지도를 영역 별로 저장한다.
이하, 도 2 내지 도 4를 예로 하여 설명하도록 한다.
도 2는 경사로가 있는 공간의 예시도이며, 도 3은 도 2의 경사로가 있는 공간을 본 발명의 일 실시예에 따른 이동로봇이 이동하는 것을 보여주는 예시도이고, 도 4는 도 3과 같이 본 발명의 일 실시예에 따른 이동로봇이 이동하면서 생성한 영역별 2차원 지도를 보여주는 예시도이다.
여기서, 경사로는 계단의 형태가 아닌 바퀴달린 이동로봇이 이동 가능한 평지라고 가정한다.
상기 지도저장 단계(S10)는 도 2와 같은 지역을
Figure 112020044343408-pat00060
,
Figure 112020044343408-pat00061
,
Figure 112020044343408-pat00062
의 세 영역으로 나누어, 도 3과 같이
Figure 112020044343408-pat00063
지역을 이동로봇(10)이 이동하면서 도 4와 같이
Figure 112020044343408-pat00064
지역의 2차원 지도를 저장할 수 있고, 도 3과 같이
Figure 112020044343408-pat00065
지역을 이동로봇(10)이 이동하면서 도 4와 같이
Figure 112020044343408-pat00066
지역의 2차원 지도를 저장할 수 있으며, 도 3과 같이
Figure 112020044343408-pat00067
지역을 이동로봇(10)이 이동하면서 도 4와 같이
Figure 112020044343408-pat00068
지역의 2차원 지도를 저장할 수 있다.
즉, 이동로봇(10)이 직접 이동하면서 영역별 지도를 저장할 수 있다.
이때, 경사(
Figure 112020044343408-pat00069
)구간의 2차원 지도는 평면도 상의 면적보다
Figure 112020044343408-pat00070
의 곱 만큼 더 클 수 있다.
즉, 경사(
Figure 112020044343408-pat00071
)구간의 2차원 지도는 경사(
Figure 112020044343408-pat00072
)구간의 바닥 면적과 동일 할 수 있다.
다시 말해, 상기 지도저장 단계(S10)는 로봇의 자세 추정 및 이동경로를 계획하는데 이용되는 기초 자료인 2차원 지도를 영역별로 생성 및 갱신이 가능하며, 요청에 의해 해당 지도를 제공할 수 있다.
2차원 지도 저장에 사용되는 이동로봇(10)은 고도를 바꾸는 움직임을 할 수 없고, 오직 수평으로만 이동이 가능하다고 가정할 수 있다.
상기 이동로봇(10)은 상기 상기 지도저장 단계(S10)를 통해 각 영역별로 2차원 지도를 작성하고 저장 및 관리할 수 있다.
즉, 최초 상기 이동로봇(10)이 실내를 이동하면서 각 영역별로 2차원 지도를 생성하여 저장할 수 있다.
지도선택 단계(S20)는 상기 지도저장 단계(S10)에서 저장된 영역별 지도 중 이동로봇(10)이 현재 위치에서 참조해야 하는 지도를 선택한다.
상기 지도선택 단계(S20)는는 후술하는 자세추정 단계(S30) 및 경로계획 단계(S40)에서 사용해야 하는 지도를 불러올 수 있다.
상기 이동로봇(10)은 지도선택 단계(S20)를 통해 해당 위치 및 경로에서 참조해야하는 2차원 지도를 선택하여 적용할 수 있다.
자세추정 단계(S30)는 상기 지도선택 단계(S20)에 의해 선택된 지도를 기반으로, 이동로봇(10)의 자세를 추정한다.
상기 자세추정 단계(S30)는 선택된 지도내의 자신의 자세를 추정한다.
경로계획 단계(S40)는 상기 지도선택 단계(S20)에 의해 선택된 지도 및 상기 자세추정 단계(S30)에 의해 추정된 이동로봇(10)의 자세를 기반으로, 이동로봇(10)의 이동경로를 계획한다.
상기 경로계획 단계(S40)는 출발 지점부터 목적 지점까지 경로를 계획한다.
상기 출발 지점은 현재 이동로봇(10)의 위치가 될 수 있다.
본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 장치의 지도저장 단계(S10)는 지면의 고도, 출입구(문) 및 지면 경사각 중 선택되는 어느 하나 또는 복수에 따라 영역을 나누는 것을 특징으로 할 수 있다.
상기 지도저장 단계(S10)에서 저장된 2차원 지도는 영역별로 여러 영역의 지도가 저장된다.
여기서, 여러 영역이라 함은 실내 건물에서 지면의 고도에 따른 층별로 구분될 수 있고, 문(door)으로 나눠진 공간으로 구분될 수 있고, 고도가 일정한 각도로 변화하는 경사로(경사각)별로 구분될 수 있다.
여기서, 영역은 지면의 고도에 따라 나눠질 수도 있고, 문으로 나눠지는 공간에 따라 나눠질 수도 있으며, 경사각에 따라 나눠질 수 있다.
나뉘어진 M개의 영역의 집합을
Figure 112020044343408-pat00073
이라 하면 다음과 같이 표현될 수 있다.
Figure 112020044343408-pat00074
여기서
Figure 112020044343408-pat00075
는 i번째 영역을 나타낸다.
본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 장치의 지도저장 단계(S10)에서 영역 별로 저장된 2차원 지도를 구성하는 정보에는 비용(cost) 정보, 경사로의 경사각, 지도 전환 구간의 목록 및 지도 전환 구간의 위치 정보 중 선택되는 어느 하나 또는 복수의 정보가 포함된 것을 특징으로 할 수 있다.
지도선택 단계(S20)는 이동로봇(10)이 지도 전환 구간에 다다랐을 때 현재 주행 경로 및 속도를 참조하여 이동로봇(10)이 참조해야하는 지도를 올바르게 전환시켜줄 수 있다.
상기 지도 전환 구간은 서로 다른 영역의 접합 지점 또는 접합 영역이 될 수 있다.
각 영역은 해당 영역에 대한 지도와 지도를 구성하는 정보를 가질 수 있다.
지도를 구성하는 정보에는 원점의 위치, 실제 세계로 대응되는 해상도, 가시적인 영상, 자유영역으로 결정되기 위한 문턱 점유 수치, 장애물 영역으로 결정되기 위한 문턱 점유 수치 등 기존 그리드 맵에서 사용되는 변수 외에, 비용 정보, 경사로의 경사각, 지도 전환 구간의 목록 및 위치 정보 등이 더 포함될 수 있다.
이때, 각 영역마다 지도의 좌표계가 다를 수 있다.
즉, 다시 말하면 각 영역마다 원점이 독립적으로 정의될 수 있다.
영역의 각 좌표들은 위치 정보 이외에 비용(cost)정보를 지닐 수 있다.
만일 영역이 경사각에 따라 나뉜 경우에는 이 비용 정보에 경사각에 따른 비용을 계산할 수 있다.
예를 들어, 비용 값은 최저 값 0부터 최대 값 1까지 분포하도록 정의될 수 있고, 최적의 경로를 결정하여 경로를 계획할 때 이용될 수 있다.
여기서 최적 경로는 어떠한 부분에 가중치를 두는가에 따라 달라질 수 있다.
최적 경로는 최소 시간, 최소 이동 거리, 최소 에너지 소모 등을 지향하도록 구성되거나, 이들을 종합적으로 고려하여 계획할 수 있다.
비용값은 다음과 같이 표현할 수 있다.
Figure 112020044343408-pat00076
여기서
Figure 112020044343408-pat00077
Figure 112020044343408-pat00078
로 표시되는 좌표에서 가장 가까운 장애물까지의 거리이다.
Figure 112020044343408-pat00079
는 장애물에 대한 비용 값의 지수적 감소의 강도를 결정하는 상수이다.
Figure 112020044343408-pat00080
Figure 112020044343408-pat00081
로 표시되는 좌표에서 경사로의 각도
Figure 112020044343408-pat00082
에 대한 비용을 결정하는 함수이다.
영역 내의 경사로가 일정하다면,
Figure 112020044343408-pat00083
라고 표현될 수 있다.
z는 그 외 비용을 고려하기 위한 상수이다.
각 영역은 크게 자유 영역, 장애물 영역, 지도 전환 구간으로 나눌 수 있다.
자유 영역은 이동로봇(10)이 자유롭게 이동 가능한 영역을 말한다.
장애물 영역은 이동로봇(10) 접근할 수 없는 영역을 뜻한다.
지도 전환 구간은 이동로봇(10) 접근이 가능한 영역이지만, 다른 영역의 지도를 참고해야만 이후 경로 계획이 가능하며, 다른 영역으로 진입 가능한 구간이다.
예를 들어,
Figure 112020044343408-pat00084
는 다음과 같은 N개의 지도 전환 구간을 가질 수 있다.
Figure 112020044343408-pat00085
그리고 각 전환 구간은 다른 영역과 접합되는 지점 또는 영역의 지도 전환 구간에 대한 정보를 가지고 있도록 하는 것이 바람직하다.
본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 장치의 경로계획 단계(S40)는 경사로의 경사각에 따라 영역이 나뉜 경우, 목표지점까지 거쳐 가게 되는 모든 영역의 2차원 지도와 각 지도의 지도 전환 구간을 호출하고, 호출된 지도의 지도 전환 구간을 연결시키며, 경사각에 따른 비용 값을 참조하여, 비용이 최소화 되는 최적의 경로를 계획하는 것을 특징으로 할 수 있다.
예를 들어, 하층에서 경사로로 진입하는 구간과 상층에서 경사로로 진입하는 구간을 지도 전환 구간이라고 할 수 있다.
도 2 내지 도 4를 예로 하여 설명하면,
Figure 112020044343408-pat00086
Figure 112020044343408-pat00087
Figure 112020044343408-pat00088
Figure 112020044343408-pat00089
이 연결되어 있다면,
Figure 112020044343408-pat00090
Figure 112020044343408-pat00091
의 정보를 갖고,
Figure 112020044343408-pat00092
Figure 112020044343408-pat00093
의 정보를 갖도록 할 수 있다. 또한,
Figure 112020044343408-pat00094
Figure 112020044343408-pat00095
Figure 112020044343408-pat00096
Figure 112020044343408-pat00097
이 연결되어 있다면,
Figure 112020044343408-pat00098
Figure 112020044343408-pat00099
의 정보를 갖고,
Figure 112020044343408-pat00100
Figure 112020044343408-pat00101
의 정보를 갖도록 할 수 있다.
따라서, 만일
Figure 112020044343408-pat00102
에서
Figure 112020044343408-pat00103
로 가고자 할 때에는
Figure 112020044343408-pat00104
Figure 112020044343408-pat00105
를 호출하여 사용할 수 있고,
Figure 112020044343408-pat00106
에서
Figure 112020044343408-pat00107
로 가고자 할 때에는
Figure 112020044343408-pat00108
Figure 112020044343408-pat00109
를 호출하여 사용할 수 있다.(도 4 참조)
경사로를 포함하는 어떤 영역들의 지도는 도 4와 같이 표현될 수 있다.
도 4에서 빗금쳐진 영역은 지도 전환 구간을 표시한 것이다.
각 좌표들은 위에서 언급한 대로 비용 값을 갖고 있을 수 있다.
경사로를 지나지 않고 목표지점에 도달하는 경로가 있거나, 경사로를 지나서 목표지점에 도달하는 경로, 혹은 다른 경사로를 지나서 목표지점에 도달하는 경로 등 여러 경로가 있을 수 있는데, 상기 비용 값을 이용하여 최적 경로를 계획할 수 있다.
또한, 어떤 영역은 다른 고도를 갖는 지면을 이어주는, 일정한 각도로 기울어진 경사로에 대한 지도일 수 있다.
예를 들어, 도 2 내지 도4에 도시된 바와 같이, 하층, 경사로, 상층으로 나뉘어질 수 있다.
도 2에서는 출발지점에서 목적지점까지 가기 위해 하층, 경사로 및 상층을 순차적으로 이동해야 하는 상황을 하나의 예시로 묘사하였다.
즉, 도 2에서는 이동로봇(10)이 하층에서 상층으로 이동해야 하는 상황이다.
바닥 경사각이 바뀔 때 마다 영역을 나누어 2차원 지도를 저장할 수 있다.
다시 말해, 상기 2차원 지도는 층별로, 일정한 각도로 기울어진 경사로별로 구성될 수 있다.
이때, 도 2에서는 이동로봇(10)이 하층의 현재 위치, 즉 출발 지점에서 상층의 목표 지점까지 이동 명령을 받았다고 가정한다.
상기 지도선택 단계(S20)에서는 최초 하층(
Figure 112020044343408-pat00110
)에 해당되는 2차원 지도를 불러올 수 있고, 이를 근거로 이동로봇(10)의 자세를 추정할 수 있다.
이후, 이동경로를 계획하기 위해, 하층의 출발 지점에서 상층의 목표 지점까지 경유할 가능성이 있는 영역의 2차원 지도들(
Figure 112020044343408-pat00111
,
Figure 112020044343408-pat00112
등)을 불러와 도 2와 같이 이동경로를 계획 할 수 있다.
다시 말해, 상기 경로계획 단계(S40)는 출발 지점에서 이동로봇(10)은 자신의 위치를 추정하고, 목표지점까지 경로를 계획할 수 있는데, 계획된 경로 중 어떤 경사로를 통과해서 이동하는 경로를 참조할 때, 도 4와 같이 목표지점까지 거쳐 가게 되는 모든 영역의 2차원 지도와 각 지도의 지도 전환 구간을 지도선택 단계(S20)에서 호출하고, 비용 값을 참조하여 최적의 경로를 계획할 수 있다.
상기 자세추정 단계(S30)는 상기 지도선택 단계(S20)에서 선택된 영역의 지도에서 이동로봇(10) 자신의 자세를 각 영역의 지도를 참조하여 추정할 수 있다.
이때, 상기 지도 전환 구간에 이동로봇(10)이 도착하게 되면, 이동로봇(10)은 계획된 경로를 참조하여 올바른 지도로 전환할 수 있다.
즉, 하층에서 이동로봇(10)의 다음 경로가 경사로를 넘어가는 경로(
Figure 112020044343408-pat00113
에서
Figure 112020044343408-pat00114
)로 계획이 되어있다면, 이동로봇(10)이 하층 지도(
Figure 112020044343408-pat00115
에 해당되는 지도)를 기반으로 주행하다가 지도 전환 구간에서 경사로 지도(
Figure 112020044343408-pat00116
에 해당되는 지도)로 전환하고, 이동을 속행할 수 있다.
또한, 이동로봇(10)이 경사로와 상층 사이 지도 전환 구간에 도달하게 되면, 지도를 경사로 지도(
Figure 112020044343408-pat00117
에 해당되는 지도)에서 상층지도(
Figure 112020044343408-pat00118
에 해당되는 지도)으로 변경하고 이동을 속행할 수 있다.
이상에서 본 발명의 일 실시예에 따른 경사로가 있는 환경에서 이동로봇의 환경 인식 방법에 대하여 설명하였지만, 경사로가 있는 환경에서 이동로봇의 환경 인식 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체 및 경사로가 있는 환경에서 이동로봇의 환경 인식 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램 역시 구현 가능함은 물론이다.
즉, 상술한 경사로가 있는 환경에서 이동로봇의 환경 인식 방법은 이를 구현하기 위한 명령어들의 프로그램이 유형적으로 구현됨으로써, 컴퓨터를 통해 판독될 수 있는 기록매체에 포함되어 제공될 수도 있음을 당업자들이 쉽게 이해할 수 있을 것이다. 다시 말해, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능한 기록매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 상기 컴퓨터 판독 가능한 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리, USB 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 상기한 실시예에 한정되지 아니하며, 적용범위가 다양함은 물론이고, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 다양한 변형 실시가 가능한 것은 물론이다.
10: 이동로봇
100: 2차원레이저센서
200: 지도관리부
300: 지도선택부
400: 자세추정부
500: 경로계획부
600: 로봇제어부
S10: 지도저장 단계
S20: 지도선택 단계
S30: 자세추정 단계
S40: 경로계획 단계

Claims (10)

  1. 이동로봇(10)에 장착되어 이동로봇(10)이 위치한 바닥을 기준으로 바닥 평면 또는 특정 높이의 2차원 주변 정보를 수집하는 2차원레이저센서(100);
    상기 2차원레이저센서(100)로부터 획득된 정보를 바탕으로 이동로봇(10)이 이동할 공간의 2차원 지도를 영역 별로 저장 및 관리하는 지도관리부(200);
    상기 지도관리부(200)에 저장된 지도 중 이동로봇(10)이 현재 위치에서 참조해야 하는 지도를 선택하는 지도선택부(300);
    상기 지도선택부(300)에 의해 선택된 지도를 기반으로, 이동로봇(10)의 자세를 추정하는 자세추정부(400);
    상기 지도선택부(300)에 의해 선택된 지도 및 상기 자세추정부(400)에 의해 추정된 이동로봇(10)의 자세를 기반으로, 이동로봇(10)의 이동경로를 계획하는 경로계획부(500);
    상기 경로계획부(500)에 의해 생성된 이동경로를 따라 이동로봇(10)이 이동하도록 제어하는 로봇제어부(600);
    를 포함하며,
    상기 지도관리부(200)의 영역 별로 저장된 2차원 지도를 구성하는 정보에는
    비용(cost) 정보, 경사로의 경사각, 지도 전환 구간의 목록 및 지도 전환 구간의 위치 정보 중 선택되는 어느 하나 또는 복수의 정보가 포함된 것을 특징으로 하고,
    상기 경로계획부(500)는
    경사로의 경사각에 따라 영역이 나뉜 경우, 목표지점까지 거쳐 가게 되는 모든 영역의 2차원 지도와 각 지도의 지도 전환 구간을 호출하고, 호출된 지도의 지도 전환 구간을 연결시키며, 경사각에 따른 비용 값을 참조하여, 비용이 최소화 되는 최적의 경로를 계획하는 것을 특징으로 하는 경사로가 있는 환경에서 이동로봇의 환경 인식 장치.
  2. 제1항에 있어서,
    상기 지도관리부(200)는
    지면의 고도, 출입구(문) 및 지면 경사각 중 선택되는 어느 하나 또는 복수에 따라 영역을 나누는 것을 특징으로 하는 경사로가 있는 환경에서 이동로봇의 환경 인식 장치.
  3. 삭제
  4. 제1항에 있어서,
    상기 지도 전환 구간은
    바닥 경사각이 바뀌는 부분인 것을 특징으로 하는 경사로가 있는 환경에서 이동로봇의 환경 인식 장치.
  5. 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 경사로가 있는 환경에서 이동로봇의 환경 인식 방법에 있어서,
    이동로봇(10)에 장착된 2차원레이저센서(100)로 이동로봇(10)이 위치한 바닥을 기준으로 바닥 평면 또는 특정 높이의 2차원 주변 정보를 수집하여, 이동로봇(10)이 이동할 공간의 2차원 지도를 영역 별로 저장하는 지도저장 단계(S10);
    상기 지도저장 단계(S10)에서 저장된 영역별 지도 중 이동로봇(10)이 현재 위치에서 참조해야 하는 지도를 선택하는 지도선택 단계(S20);
    상기 지도선택 단계(S20)에 의해 선택된 지도를 기반으로, 이동로봇(10)의 자세를 추정하는 자세추정 단계(S30); 및
    상기 지도선택 단계(S20)에 의해 선택된 지도 및 상기 자세추정 단계(S30)에 의해 추정된 이동로봇(10)의 자세를 기반으로, 이동로봇(10)의 이동경로를 계획하는 경로계획 단계(S40);
    를 포함하며,
    상기 지도저장 단계(S10)에서 영역 별로 저장된 2차원 지도를 구성하는 정보에는
    비용(cost) 정보, 경사로의 경사각, 지도 전환 구간의 목록 및 지도 전환 구간의 위치 정보 중 선택되는 어느 하나 또는 복수의 정보가 포함된 것을 특징으로 하고,
    상기 경로계획 단계(S40)는
    경사로의 경사각에 따라 영역이 나뉜 경우, 목표지점까지 거쳐 가게 되는 모든 영역의 2차원 지도와 각 지도의 지도 전환 구간을 호출하고, 호출된 지도의 지도 전환 구간을 연결시키며, 경사각에 따른 비용 값을 참조하여, 비용이 최소화 되는 최적의 경로를 계획하는 것을 특징으로 하는 경사로가 있는 환경에서 이동로봇의 환경 인식 방법.
  6. 제5항에 있어서,
    상기 지도저장 단계(S10)는
    지면의 고도, 출입구(문) 및 지면 경사각 중 선택되는 어느 하나 또는 복수에 따라 영역을 나누는 것을 특징으로 하는 경사로가 있는 환경에서 이동로봇의 환경 인식 방법.
  7. 삭제
  8. 삭제
  9. 제 5항 또는 제 6항에 기재된 경사로가 있는 환경에서 이동로봇의 환경 인식 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
  10. 제 5항 또는 제 6항에 기재된 경사로가 있는 환경에서 이동로봇의 환경 인식 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램.
KR1020200052145A 2020-04-29 2020-04-29 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 KR102194429B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200052145A KR102194429B1 (ko) 2020-04-29 2020-04-29 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
PCT/KR2021/004459 WO2021221344A1 (ko) 2020-04-29 2021-04-09 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200052145A KR102194429B1 (ko) 2020-04-29 2020-04-29 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Publications (1)

Publication Number Publication Date
KR102194429B1 true KR102194429B1 (ko) 2020-12-23

Family

ID=74089365

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200052145A KR102194429B1 (ko) 2020-04-29 2020-04-29 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Country Status (2)

Country Link
KR (1) KR102194429B1 (ko)
WO (1) WO2021221344A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021221344A1 (ko) * 2020-04-29 2021-11-04 주식회사 트위니 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
KR102345826B1 (ko) * 2021-01-05 2021-12-31 (주)시스콘 맵 변경 기반 자율주행 장치 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115291605A (zh) * 2022-07-22 2022-11-04 松灵机器人(深圳)有限公司 路径规划方法、装置、割草机器人以及存储介质
WO2024053145A1 (ja) * 2022-09-07 2024-03-14 ソニーグループ株式会社 情報処理装置、情報処理方法およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209644A (ja) * 2005-01-31 2006-08-10 Matsushita Electric Works Ltd 清掃ロボット
KR101170914B1 (ko) 2011-10-18 2012-08-06 국방과학연구소 자율주행 로봇 및 그의 경사면 주행방법
KR20180082264A (ko) * 2017-01-10 2018-07-18 엘지전자 주식회사 이동 로봇 및 그 제어방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101076803B1 (ko) * 2009-06-30 2011-10-25 국민대학교산학협력단 실내 기동 로봇의 지도 작성 방법 및 이를 이용한 기동 위치 판별 방법
CN107000207B (zh) * 2014-09-24 2021-05-04 三星电子株式会社 清洁机器人和控制清洁机器人的方法
JP2020057307A (ja) * 2018-10-04 2020-04-09 日本電産株式会社 自己位置推定のための地図データを加工する装置および方法、ならびに移動体およびその制御システム
KR102194429B1 (ko) * 2020-04-29 2020-12-23 주식회사 트위니 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209644A (ja) * 2005-01-31 2006-08-10 Matsushita Electric Works Ltd 清掃ロボット
KR101170914B1 (ko) 2011-10-18 2012-08-06 국방과학연구소 자율주행 로봇 및 그의 경사면 주행방법
KR20180082264A (ko) * 2017-01-10 2018-07-18 엘지전자 주식회사 이동 로봇 및 그 제어방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021221344A1 (ko) * 2020-04-29 2021-11-04 주식회사 트위니 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
KR102345826B1 (ko) * 2021-01-05 2021-12-31 (주)시스콘 맵 변경 기반 자율주행 장치 및 방법

Also Published As

Publication number Publication date
WO2021221344A1 (ko) 2021-11-04

Similar Documents

Publication Publication Date Title
KR102194429B1 (ko) 경사로가 있는 환경에서 이동로봇의 환경 인식 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
KR102194426B1 (ko) 실내 이동 로봇이 엘리베이터에서 환경을 인식하기 위한 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
CN108290294B (zh) 移动机器人及其控制方法
TWI665538B (zh) 進行障礙物之迴避動作的移動體及記錄其之電腦程式的記錄媒體
CN104536445B (zh) 移动导航方法和系统
CN110084091A (zh) 用于车辆的认知映射
CN110543174A (zh) 可通行区域图的建立方法、处理方法、装置和可移动设备
CN114527753A (zh) 人机共融的楼宇间路径规划方法、计算机装置及程序产品
JP6074205B2 (ja) 自律移動体
Bojja et al. Indoor localization methods using dead reckoning and 3D map matching
CN113168181A (zh) 控制器、控制方法和程序
US20230105871A1 (en) Data structure for storing information relating to an environment of an autonomous vehicle and methods of use thereof
Joho et al. Autonomous exploration for 3D map learning
US11537141B2 (en) Robotic cleaning device with dynamic area coverage
JP2019175137A (ja) 移動体および移動体システム
CN113490973B (zh) 信息处理装置以及移动机器人
EP3842885A1 (en) Autonomous movement device, control method and storage medium
JP5765163B2 (ja) 自己位置推定装置、方法、及びプログラム
JP2019179497A (ja) 移動体および移動体システム
Siemiątkowska et al. Mobile robot navigation with the use of semantic map constructed from 3D laser range scans
CN110916562A (zh) 自主移动设备、控制方法及存储介质
JP7144491B2 (ja) フォークリフト、位置推定方法、及びプログラム
JP7396353B2 (ja) 地図作成システム、信号処理回路、移動体および地図作成方法
KR20230091571A (ko) 로봇 이동 제어 방법 및 이를 구현하는 로봇
KR20220089615A (ko) 비히클 내비게이션

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant