[go: up one dir, main page]

KR102275300B1 - 이동 로봇 및 그 제어방법 - Google Patents

이동 로봇 및 그 제어방법 Download PDF

Info

Publication number
KR102275300B1
KR102275300B1 KR1020190081459A KR20190081459A KR102275300B1 KR 102275300 B1 KR102275300 B1 KR 102275300B1 KR 1020190081459 A KR1020190081459 A KR 1020190081459A KR 20190081459 A KR20190081459 A KR 20190081459A KR 102275300 B1 KR102275300 B1 KR 102275300B1
Authority
KR
South Korea
Prior art keywords
boundary line
mobile robot
map
area
information
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020190081459A
Other languages
English (en)
Other versions
KR20210004674A (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 KR1020190081459A priority Critical patent/KR102275300B1/ko
Priority to US16/920,082 priority patent/US11674809B2/en
Priority to EP20836665.8A priority patent/EP3993961B1/en
Priority to JP2022500059A priority patent/JP7356566B2/ja
Priority to PCT/KR2020/008724 priority patent/WO2021006556A1/en
Publication of KR20210004674A publication Critical patent/KR20210004674A/ko
Application granted granted Critical
Publication of KR102275300B1 publication Critical patent/KR102275300B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0003Home robots, i.e. small robots for domestic use
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3837Data obtained from a single source
    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • G05D2201/0215

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Electric Vacuum Cleaner (AREA)
  • Instructional Devices (AREA)
  • Navigation (AREA)

Abstract

본 발명의 일 측면에 따른 이동 로봇은, 거리 측정 센서를 통해 외부의 물체와의 거리에 관한 센서 데이터를 수신하는 단계; 상기 센서 데이터를 기반으로 셀 단위의 그리드 맵을 생성하는 단계; 상기 그리드 맵에서 영역을 구분하고, 상기 영역 사이에 경계선을 생성하는 이미지 처리 단계; 상기 경계선을 인식하고, 하나 이상의 상기 경계선이 존재하면 최적의 경계선을 선택하는 단계; 상기 최적의 경계선까지 경로를 계획하는 단계; 및 상기 계획된 경로를 따라 이동하면서 상기 그리드 맵을 업데이트하는 단계;를 통해 자동으로 맵을 생성할 수 있다.

Description

이동 로봇 및 그 제어방법{Moving robot and control method thereof}
본 발명은 이동 로봇 및 그 제어 방법에 관한 것으로서, 더욱 상세하게는 이동 로봇이 자동으로 맵(map)을 생성하는 기술에 관한 것이다.
로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다. 이러한 로봇 중에서 자력으로 주행이 가능한 것을 이동 로봇이라고 한다.
가정에서 사용되는 이동 로봇의 대표적인 예는 로봇 청소기로, 로봇 청소기는 일정 영역을 스스로 주행하면서, 주변의 먼지 또는 이물질을 흡입함으로써, 해당 영역을 청소하는 기기이다.
이동 로봇은, 스스로 이동이 가능하여 이동이 자유롭고, 주행 중 장애물 등을 피하기 위한 다수의 센서가 구비되어 장애물을 피해 주행할 수 있다.
청소 등 설정된 작업을 수행하기 위해서는 주행 구역의 맵(Map)을 정확하게 생성하고, 주행 구역 내의 어느 위치로 이동하기 위해서 맵 상에서 이동 로봇의 현재 위치를 정확하게 파악할 수 있어야 한다.
이동 로봇의 현재 위치 인식을 위해, 이동 로봇의 연속적인 이동 중 자신의 직전 위치에서의 주행 정보(이동 방향 및 이동 속도에 대한 정보 또는 연속적으로 촬영되는 바닥사진 등의 비교 등)를 바탕으로 현재 위치를 지속적으로 파악하는 다양한 방법이 연구되어 왔다. 또한, 이동 로봇이 스스로 맵을 생성하고 학습하는 다양한 방법에 대한 연구들이 진행되고 있다.
선행 문헌(한국 공개특허공보 제10-2010-0031878호 공개일자 2010. 3. 25.)은, 특징점 지도 및 장애물 지도를 정확하게 생성하기 위한 지도 구성 장치 및 방법에 관한 발명이다. 상기 문헌에는, 이동 로봇이 미지의 환경을 탐색할 때 획득되는 영상으로부터 추출되는 특징점들의 위치의 불확실도에 기반하는 경로를 생성하고, 생성된 경로에 따라 주행하는 기술이 개시되어 있다. 특징점들의 불확실도에 기반하는 경로는 이동 로봇의 특징점 지도의 정확성을 높이거나 자기 위치 인식의 정확도를 높이기 위해 생성된다.
그러나, 특징점을 추출하여 탐색 경로를 생성하는데 특징이 적은 특정환경의 불확실도는 해당 영역의 탐색 여부와 상관없이 높을 수 있어 같은 영역을 계속해서 탐색할 수 있는 문제점이 있다.
또한, 기존 그리드 맵을 활용한 탐색주행의 경우 불확실성이 높은 지점을 특징점으로 이용함으로써 탐색한 빈(empty) 영역과 미탐색 영역 사이의 경계를 정확히 추출할 수 없는 문제점이 있다.
한국 공개특허공보 제10-2010-0031878호 공개일자 2010. 3. 25.
상기 문제점을 해결하기 위해 본 발명의 목적은 이미지 처리를 통해, 맵의 복잡성과 상관없이 탐색한 빈(empty) 영역과 미탐색 영역 사이의 경계를 신속하게 찾아내는 기술을 제공함에 있다.
본 발명의 목적은 특징점의 불확실성을 이용하는 것이 아니라 미탐색 영역과 탐색 된 빈 영역 사이의 경계선을 찾고, 복수의 경계선 중에 최적의 경계선(NBV:Next Best View)을 찾아 경로 계획(Path-planning)을 수행함으로써 효율적으로 맵을 생성하는 이동 로봇 기술을 제공함에 있다.
본 발명의 목적은 이동 로봇의 맵 생성 과정에서 라이다 센서, 초음파 센서, 범퍼, 3차원 센서 등을 이용하여 장애물의 확률 정보를 담는 occupancy grid map을 생성함에 있다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇은, 라이다 센서를 통한 외부의 지형 및 물체와의 거리 등에 관한 라이다 데이터를 생성하는 센서부, 본체를 이동시키는 주행부 및 상기 라이다 데이터 기반으로 셀 단위의 그리드 맵을 생성하는 제어부를 포함한다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇은 그리드 맵을 제1 영역, 제2 영역 및 제3 영역으로 구분하여, 제1 영역과 제3 영역 사이 경계선을 생성하는 이미지 처리를 하고, 경계선을 인식하고, 경계선이 하나 이상이면 최적의 경계선을 선택하고, 최적의 경계선까지 경로 계획을 수행하고, 생성된 경로를 따라 이동하면서 상기 그리드 맵을 업데이트하는 제어부를 포함한다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇은, 상기 각 영역의 색상을 다르게 나타내되, 제1 영역의 색상과 제3 영역의 색상 차이를 가장 크게 나타내고, 제1 영역과 제3 영역 사이에 선분을 표시하는 이미지 처리를 통해 경계선을 생성하는 제어부를 포함한다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇은, 복수의 경계선 중 어느 하나의 경계선 주위에서 획득할 수 있는 환경 정보인 제1 정보 및 현재 이동 로봇의 위치에서 상기 어느 하나의 경계선까지의 거리 정보인 제2 정보를 통해 계산한 코스트 값에 기초하여, 코스트 값이 최대인 어느 하나의 경계선을 최적의 경계선으로 선택하는 제어부를 포함한다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇은, 라이다 센서와 함께 이종의 센서를 활용하여 획득한 이종 데이터를 상호 보완적으로 이용하여 환경 변화에 강인한 맵을 생성하고 맵 상 위치를 정확하게 인식할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 이미지 처리를 통한 경계선을 인식함으로써 언제나 동일하고 정확한 결과가 추출되는 효과가 있다.
둘째, 맵을 이미지화 하여 알고리즘을 적용하므로 어떠한 센서를 통해 만들어진 맵이든 맵의 종류에 관계없이 모두 적용 가능한 효과가 있다.
셋째, 이미지 처리를 통해 찾은 경계선이 로봇이 실제로 도달할 수 있는 경계선인지 경로계획을 통해 판단함으로 인해 허수의 경계선을 삭제하여 효율적으로 실질적인 전체 환경의 지도를 만들 수 있는 효과가 있다.
넷째, 최적의 경계선을 선택할 때, 사용자에게 가중치를 선택하게 하여 사용자 편의성이 증가하는 효과가 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1a 내지 1d는 본 발명의 실시예에 따른 이동 로봇 및 이동 로봇을 충전시키는 충전대의 외관을 도시한 도이다.
도 2는 본 발명의 실시예에 따른 이동 로봇의 다른 형태를 도시한 도이다.
도 3는 본 발명의 실시예에 따른 이동 로봇의 주요 구성들 간의 제어관계를 도시한 블록도이다.
도 4a 내지 4b 는 본 발명의 실시예에 따른 그리드 맵(gird map)을 도시한 도이다.
도 5는 본 발명의 실시예에 따른 이동 로봇의 맵 생성 방법의 플로우 차트이다.
도 6 내지 도 7은 본 발명의 실시예에 따른 그리드 맵에 대한 이미지 처리 단계를 상세하게 나타내는 도이다.
도 8은 본 발명의 실시예에 따른 그리드 웨이브 발생 단계를 이해하는데 도움이 되는 도이다.
도 9a 내지 도 9f는 본 발명의 실시예에 따른 맵 생성 과정을 나타내는 도이다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나 본 발명이 이러한 실시예에 한정되는 것은 아니며 다양한 형태로 변형될 수 있음은 물론이다.
한편, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.
또한, 본 명세서에서, 다양한 요소들을 설명하기 위해 제1, 제2 등의 용어가 이용될 수 있으나, 이러한 요소들은 이러한 용어들에 의해 제한되지 아니한다. 이러한 용어들은 한 요소를 다른 요소로부터 구별하기 위해서만 이용된다.
본 발명의 일 실시예에 따른 이동 로봇(100)은 바퀴 등을 이용하여 스스로 이동이 가능한 로봇을 의미하고, 가정 도우미 로봇 및 로봇 청소기 등이 될 수 있다. 이하에서는, 도면들을 참조하여, 이동 로봇 중 청소 기능을 가지는 로봇 청소기를 예로 들어 설명하나, 본 발명은 이에 한정되지 않는다.
도 1a 내지 1d는 본 발명의 실시예에 따른 이동 로봇 및 이동 로봇을 충전시키는 충전대의 외관을 도시한 도이다.
도 1a은 본 발명의 일 실시예에 따른 이동 로봇 및 이동 로봇을 충전시키는 충전대를 도시한 사시도이다. 도 1b는 도 1a에 도시된 이동 로봇의 상면부를 도시한 도이고, 도 1c은 도 1a에 도시된 이동 로봇의 정면부를 도시한 도이며, 도 1d는 도 1a에 도시된 이동 로봇의 저면부를 도시한 도이다.
도 2는 본 발명의 실시예에 따른 이동 로봇의 다른 형태를 도시한 도이다.
도 2를 참조하면, 이동 로봇(100)은 도 1a와 같은 형태를 가질 수도 있고, 도 2와 같은 형태를 가질 수도 있다. 이동 로봇(100)은 도시되어 있지 아니한 다른 형태를 가질 수도 있다.
도 3는 본 발명의 실시예에 따른 이동 로봇의 주요 구성들 간의 제어관계를 도시한 블록도이다.
도 1 및 도 3를 참조하면, 이동 로봇(100)은 본체(110)를 이동시키는 주행부(360)를 포함한다. 주행부(360)는 본체(110)를 이동시키는 적어도 하나의 휠 유닛(136)을 포함한다. 주행부(360)는 휠 유닛(136)에 연결되어 구동 바퀴를 회전시키는 구동 모터를 포함한다. 예를 들어, 휠 유닛(136)은 본체(110)의 좌, 우 측에 각각 구비될 수 있으며, 이하, 각각 좌륜(136(L))과 우륜(136(R))이라고 한다.
좌륜(136(L))과 우륜(136(R))은 하나의 구동 모터에 의해 구동될 수도 있으나, 필요에 따라 좌륜(136(L))을 구동시키는 좌륜 구동 모터와 우륜(136(R))을 구동시키는 우륜 구동 모터가 각각 구비될 수도 있다. 좌륜(136(L))과 우륜(136(R))의 회전 속도에 차이를 두어 좌측 또는 우측으로 본체(110)의 주행방향을 전환할 수 있다.
본체(110)의 저면부에는 공기의 흡입이 이루어지는 흡입구(150h)가 형성될 수 있으며, 본체(110) 내에는 흡입구(150h)를 통해 공기가 흡입될 수 있도록 흡입력을 제공하는 흡입유닛(330)과, 흡입구(150h)를 통해 공기와 함께 흡입된 먼지를 집진하는 먼지통이 구비될 수 있다.
본체(110)는 이동 로봇(100)을 구성하는 각종 부품들이 수용되는 공간을 형성하는 케이스(111)를 포함할 수 있다. 케이스(111)에는 상기 먼지통의 삽입과 탈거를 위한 개구부가 형성될 수 있고, 개구부를 여닫는 먼지통 커버(112)가 케이스(111)에 대해 회전 가능하게 구비될 수 있다.
흡입구(150h)를 통해 노출되는 솔들을 갖는 롤형의 메인 브러시(154)와, 본체(110)의 저면부 전방측에 위치하며, 방사상으로 연장된 다수개의 날개로 이루어진 솔을 갖는 보조 브러시(155)가 구비될 수 있다. 이들 브러시(154, 155)들의 회전에 의해 주행 구역 내 바닥으로부터 먼지들이 분리되며, 이렇게 바닥으로부터 분리된 먼지들은 흡입구(150h)를 통해 흡입되어 먼지통에 모인다.
배터리(138)는 구동 모터뿐만 아니라, 이동 로봇(100)의 작동 전반에 필요한 전원을 공급한다. 배터리(138)가 방전될 시, 이동 로봇(100)은 충전을 위해 충전대(200)로 복귀하는 주행을 실시할 수 있으며, 이러한 복귀 주행 중, 이동 로봇(100)은 스스로 충전대(200)의 위치를 탐지할 수 있다.
충전대(200)는 소정의 복귀 신호를 송출하는 신호 송출부를 포함할 수 있다. 복귀 신호는 초음파 신호 또는 적외선 신호일 수 있으나, 반드시 이에 한정되는 것은 아니다.
이동 로봇(100)은 복귀 신호를 수신하는 신호 감지부를 포함할 수 있다. 충전대(200)는 신호 송출부를 통해 적외선 신호를 송출하고, 신호 감지부는 적외선 신호를 감지하는 적외선 센서를 포함할 수 있다. 이동 로봇(100)은 충전대(200)로부터 송출된 적외선 신호에 따라 충전대(200)의 위치로 이동하여 충전대(200)와 도킹(docking)한다. 이러한 도킹에 의해 이동 로봇(100)의 충전 단자(133)와 충전대(200)의 충전 단자(210) 간에 충전에 이루어진다.
이동 로봇(100)은 이동 로봇(100)의 내/외부의 정보를 감지하는 센서부(370)를 포함할 수 있다.
예를 들어, 센서부(370)는 주행 구역에 대한 각종 정보를 감지하는 하나 이상의 센서(171, 175), 주행 구역에 대한 영상 정보를 획득하는 영상획득부(320)를 포함할 수 있다. 실시예에 따라서, 영상획득부(320)는 센서부(370) 외부에 별도로 구비될 수 있다.
이동 로봇(100)은 센서부(370)가 감지한 정보를 통해, 주행 구역을 맵핑(Mapping)할 수 있다. 예를 들어, 이동 로봇(100)은 영상획득부(320)가 획득한 주행 구역의 천장 영상에 기초하여 비전(vision) 기반의 위치 인식 및 맵 생성을 수행할 수 있다. 또한, 이동 로봇(100)은 레이저를 이용하는 라이다(Light Detection And Ranging: LiDAR) 센서(175) 기반의 위치 인식 및 맵 생성을 수행할 수 있다.
더욱 바람직하게는 본 발명에 따른 이동 로봇(100)은 카메라를 이용하는 비전 기반의 위치 인식과 레이저를 이용하는 라이다 기반의 위치 인식 기술을 효과적으로 융합하여 조도 변화, 물품 위치 변경 등 환경 변화에 강인한 위치 인식 및 맵 생성을 수행할 수 있다.
한편, 영상획득부(320)는 주행 구역을 촬영하는 것으로, 본체(110) 외부의 영상을 획득하는 하나 이상의 카메라 센서를 포함할 수 있다.
또한, 영상획득부(320)는 카메라 모듈을 포함할 수 있다. 상기 카메라 모듈은 디지털 카메라를 포함할 수 있다. 디지털 카메라는 적어도 하나의 광학렌즈와, 광학렌즈를 통과한 광에 의해 상이 맺히는 다수개의 광다이오드(photodiode, 예를 들어, pixel)를 포함하여 구성된 이미지센서(예를 들어, CMOS image sensor)와, 광다이오드들로부터 출력된 신호를 바탕으로 영상을 구성하는 디지털 신호 처리기(DSP: Digital Signal Processor)를 포함할 수 있다. 디지털 신호 처리기는 정지영상은 물론이고, 정지영상으로 구성된 프레임들로 이루어진 동영상을 생성하는 것도 가능하다.
본 실시예에서 영상획득부(320)는, 본체(110) 전방의 영상을 획득하도록 구비되는 전면 카메라 센서(120a)와 본체(110)의 상면부에 구비되어, 주행 구역 내의 천장에 대한 영상을 획득하는 상부 카메라 센서(120b)를 구비하나, 영상획득부(320)의 위치와 촬영범위가 반드시 이에 한정되어야 하는 것은 아니다.
예를 들어, 이동 로봇(100)은 주행 구역 내의 천장에 대한 영상을 획득하는 상부 카메라 센서(120b)만 구비하여, 비전(vision) 기반의 위치 인식 및 주행을 수행할 수 있다.
또는, 본 발명의 일 실시예에 따른 이동 로봇(100)의 영상획득부(320)는, 본체(110)의 일면에 대하여 경사지게 배치되어 전방과 상방을 함께 촬영하도록 구성된 카메라 센서를 포함할 수 있다. 즉, 하나의 카메라 센서로 전방과 상방을 함께 촬영할 수 있다. 이 경우에 제어부(350)는 카메라가 촬영하여 획득한 영상에서 전방 영상과 상방 영상을 화각을 기준으로 분리할 수 있다. 분리된 전방 영상은 전면 카메라 센서(120a)에서 획득된 영상과 같이 비전(vision) 기반의 사물 인식에 사용될 수 있다. 또한, 분리된 상방 영상은 상부 카메라 센서(120b)에서 획득된 영상과 같이 비전(vision) 기반의 위치 인식 및 주행에 사용될 수 있다.
본 발명에 따른 이동 로봇(100)은 주변의 이미지를 이미지 기반의 기저장된 정보와 비교하거나 획득되는 이미지들을 비교하여 현재 위치를 인식하는 비전 슬램을 수행할 수 있다.
한편, 영상획득부(320)는 전면 카메라 센서(120a) 및/또는 상부 카메라 센서(120b)를 복수개 구비하는 것도 가능하다. 또는 영상획득부(320)는 전방과 상방을 함께 촬영하도록 구성된 카메라 센서를 복수개 구비하는 것도 가능하다.
본 실시예의 경우, 이동 로봇의 일부 부위(ex, 전방, 후방, 저면)에 카메라가 설치되어 있으며, 청소 시에 촬상영상을 지속적으로 획득할 수 있다. 이러한 카메라는 촬영 효율을 위해 각 부위별로 여러 개가 설치될 수도 있다. 카메라에 의해 촬상된 영상은 해당 공간에 존재하는 먼지, 머리카락, 바닥 등과 같은 물질의 종류 인식, 청소 여부, 또는 청소 시점을 확인하는데 사용할 수 있다.
전면 카메라 센서(120a)는 이동 로봇(100)의 주행 방향 전면에 존재하는 장애물 또는 청소 영역의 상황을 촬영할 수 있다.
본 발명의 일 실시예에 따르면, 상기 영상획득부(320)는 본체(110) 주변을 연속적으로 촬영하여 복수의 영상을 획득할 수 있고, 획득된 복수의 영상은 저장부(305)에 저장될 수 있다.
이동 로봇(100)은 복수의 영상을 이용하여 장애물 인식의 정확성을 높이거나, 복수의 영상 중 하나 이상의 영상을 선택하여 효과적인 데이터를 사용함으로써 장애물 인식의 정확성을 높일 수 있다.
센서부(370)는 본체(110) 외부의 물체와의 거리를 측정하는 거리 측정 센서를 포함할 수 있다. 거리 측정 센서는 본체(110) 외부의 지형에 관한 정보를 획득하는 라이다 센서(175)를 포함할 수 있다. 이하 라이다 센서(175)를 기준으로 본 발명은 이해될 수 있다.
라이다 센서(175)는 레이저를 출력하여 레이저를 반사시킨 객체의 거리, 위치 방향, 재질 등의 정보를 제공하며 주행 구역의 지형 정보를 획득할 수 있다. 이동 로봇(100)은 라이다 센서(175)로 360도의 지형(Geometry) 정보를 얻을 수 있다.
본 발명의 일 실시예에 따른 이동 로봇(100)은 라이다 센서(175)가 센싱한 객체들의 거리와 위치, 방향 등의 라이다 데이터를 파악하여 맵을 생성할 수 있다. 상기 맵은 라이다 데이터를 기반으로 셀 단위의 그리드 맵일 수 있다.
본 발명의 일 실시예에 따른 이동 로봇(100)은 외부에서 반사되어 수신되는 레이저의 시간차 또는 신호 강도 등 레이저 수신 패턴을 분석하여 주행 구역의 지형 정보를 획득할 수 있다. 또한, 이동 로봇(100)은 라이다 센서(175)를 통하여 획득한 지형 정보를 이용하여 맵을 생성할 수 있다.
예를 들어, 본 발명에 따른 이동 로봇(100)은 라이다 센서(175)를 통하여 현재 위치에서 획득된 주변 지형 정보를 라이다 센서 기반의 기저장된 지형 정보와 비교하거나 획득되는 지형 정보들을 비교하여 현재 위치를 인식하는 라이다 슬램을 수행할 수 있다.
더욱 바람직하게는, 본 발명에 따른 이동 로봇(100)은 카메라를 이용하는 비전 기반의 위치 인식과 레이저를 이용하는 라이다 기반의 위치 인식 기술을 효과적으로 융합하여 조도 변화, 물품 위치 변경 등 환경 변화에 강인한 위치 인식 및 맵 생성을 수행할 수 있다.
한편, 센서부(370)는 이동 로봇의 동작, 상태와 관련된 각종 데이터를 센싱하는 센서들(171, 172, 179)을 포함할 수 있다.
예를 들어, 상기 센서부(370)는 전방의 장애물을 감지하는 장애물 감지센서(171)를 포함할 수 있다. 또한, 상기 센서부(370)는 주행 구역 내 바닥에 낭떠러지의 존재 여부를 감지하는 낭떠러지 감지센서(172)와, 바닥의 영상을 획득하는 하부 카메라 센서(179)를 더 포함할 수 있다.
도 1a과 도 1c를 참조하면, 상기 장애물 감지센서(171)는 이동 로봇(100)의 외주면에 일정 간격으로 설치되는 복수의 센서를 포함할 수 있다.
상기 장애물 감지센서(171)는, 적외선 센서, 초음파 센서, RGBD 센서, 범퍼 센서, RF 센서, 지자기 센서, PSD(Position Sensitive Device) 센서 등을 포함할 수 있다.
한편, 상기 장애물 감지센서(171)에 포함되는 센서의 위치와 종류는 이동 로봇의 기종에 따라 달라질 수 있고, 상기 장애물 감지센서(171)는 더 다양한 센서를 포함할 수 있다.
상기 장애물 감지센서(171)는 실내의 벽이나 장애물과의 거리를 감지하는 센서로, 본 발명은 그 종류에 한정되지 않으나, 이하에서는 초음파 센서를 예시하여 설명한다.
상기 장애물 감지센서(171)는 이동 로봇의 주행(이동) 방향에 존재하는 물체, 특히 장애물을 감지하여 장애물 정보를 제어부(350)에 전달한다. 즉, 상기 장애물 감지센서(171)는, 이동 로봇의 이동 경로, 전방이나 측면에 존재하는 돌출물, 집안의 집기, 가구, 벽면, 벽 모서리 등을 감지하여 그 정보를 제어 유닛에 전달할 수 있다.
이때, 제어부(350)는 초음파 센서를 통해 수신된 적어도 2 이상의 신호에 기초하여 장애물의 위치를 감지하고, 감지된 장애물의 위치에 따라 이동 로봇(100)의 움직임을 제어할 수 있다.
실시예에 따라서는, 케이스의 외측면에 구비되는 장애물 감지 센서(131)는 발신부와 수신부를 포함하여 구성될 수 있다.
예를 들어, 초음파 센서는 적어도 하나 이상의 발신부 및 적어도 2 이상의 수신부가 서로 엇갈리도록 구비될 수 있다. 이에 따라, 다양한 각도로 신호를 방사하고, 장애물에 반사된 신호를 다양한 각도에서 수신할 수 있다.
실시예에 따라서는, 장애물 감지센서(171)에서 수신된 신호는, 증폭, 필터링 등의 신호 처리 과정을 거칠 수 있고, 이후 장애물까지의 거리 및 방향이 산출될 수 있다.
도 3을 참조하면, 영상획득부(320)는 주행구역을 촬영하는 것으로, 카메라 모듈을 포함할 수 있다. 카메라는 이동 로봇(100)의 주행 방향 전면에 존재하는 장애물 또는 청소 영역의 상황을 촬영할 수 있다.
본 발명의 일 실시예에 따르면, 상기 영상획득부(320)는 본체(110) 주변을 연속적으로 촬영하여 복수의 영상을 획득할 수 있고, 획득된 복수의 영상은 저장부(305)에 저장될 수 있다.
이동 로봇(100)은 복수의 영상을 이용하여 공간 인식, 위치 인식, 장애물 인식의 정확성을 높이거나, 복수의 영상 중 하나 이상의 영상을 선택하여 효과적인 데이터를 사용함으로써 공간 인식, 위치 인식, 장애물 인식의 정확성을 높일 수 있다.
또한, 이동 로봇(100)은 이동 로봇의 동작, 상태와 관련된 각종 데이터를 센싱하는 센서들을 포함하는 센서부(370)를 포함할 수 있다.
예를 들어, 상기 센서부(370)는 전방의 장애물을 감지하는 장애물 감지 센서를 포함할 수 있다. 또한, 상기 센서부(370)는 주행구역 내 바닥에 낭떠러지의 존재 여부를 감지하는 낭떠러지 감지센서와, 바닥의 영상을 획득하는 하부 카메라 센서를 더 포함할 수 있다.
상기 장애물 감지 센서는 다양한 종류의 센서로 구성될 수 있다. 예를 들면, 라이다 센서, 초음파 센서, RGBD 센서, 및 범퍼 센서를 포함할 수 있다. 이경우, 라이다 센서를 우선하여 센서 데이터를 획득하면서, 라이다 센서로 감지할 수 없는 근거리 장애물 정보나 유리 등의 장애물 정보를 범퍼 센서나 초음파 센서를 통해 감지할 수 있다.
한편, 상기 장애물 감지 센서에 포함되는 센서의 위치와 종류는 이동 로봇의 기종에 따라 달라질 수 있고, 상기 장애물 감지 센서는 더 다양한 센서를 포함할 수 있다.
한편, 상기 센서부(370)는 본체(110)의 구동에 따른 이동 로봇(100)의 주행 동작을 감지하고 동작 정보를 출력하는 주행 감지 센서를 더 포함할 수 있다. 주행 감지 센서로는, 자이로 센서(Gyro Sensor), 휠 센서(Wheel Sensor), 가속도 센서(Acceleration Sensor) 등을 사용할 수 있다.
자이로 센서는, 이동 로봇(100)이 운전 모드에 따라 움직일 때 회전 방향을 감지하고 회전각을 검출한다. 자이로 센서는, 이동 로봇(100)의 각속도를 검출하여 각속도에 비례하는 전압 값을 출력한다. 제어부(350)는 자이로 센서로부터 출력되는 전압 값을 이용하여 회전 방향 및 회전각을 산출한다.
휠 센서는, 휠 유닛(136)에 연결되어 바퀴의 회전수를 감지한다. 여기서, 휠 센서는 엔코더(Encoder)일 수 있다.
제어부(350)는 회전수를 이용하여 좌, 우측 바퀴의 회전 속도를 연산할 수 있다. 또한, 제어부(350)는 좌, 우측 바퀴의 회전수 차이를 이용하여 회전각을 연산할 수 있다.
가속도 센서는, 이동 로봇(100)의 속도 변화, 예를 들어, 출발, 정지, 방향 전환, 물체와의 충돌 등에 따른 이동 로봇(100)의 변화를 감지한다.
또한, 가속도 센서는 제어부(350)에 내장되어 이동 로봇(100)의 속도 변화를 감지할 수 있다.
제어부(350)는 주행 감지 센서로부터 출력된 동작 정보에 기초하여 이동 로봇(100)의 위치 변화를 산출할 수 있다. 이러한 위치는 영상 정보를 이용한 절대 위치에 대응하여 상대 위치가 된다. 이동 로봇은 이러한 상대 위치 인식을 통해 영상 정보와 장애물 정보를 이용한 위치 인식의 성능을 향상시킬 수 있다.
한편, 이동 로봇(100)은 충전 가능한 배터리를 구비하여 이동 로봇 내로 전원을 공급하는 전원 공급부를 포함할 수 있다.
상기 전원 공급부는 이동 로봇(100)의 각 구성 요소들에 구동 전원과, 동작 전원을 공급하며, 전원 잔량이 부족하면 충전대(200)에서 전원을 공급받아 충전될 수 있다.
이동 로봇(100)은 배터리의 충전 상태를 감지하고, 감지 결과를 제어부(350)에 전송하는 배터리 감지부를 더 포함할 수 있다. 배터리는 배터리 감지부와 연결되어 배터리 잔량 및 충전 상태가 제어부(350)에 전달된다. 배터리 잔량은 출력부(380)의 디스플레이(382)에 표시될 수 있다.
또한, 이동 로봇(100)은 온/오프(On/Off) 또는 각종 명령을 입력할 수 있는 입력부(325)를 포함한다. 입력부(325)는 버튼이나 다이얼, 터치 스크린 등을 포함할 수 있다. 입력부(325)는 사용자의 음성 지시를 입력 받기 위한 마이크를 포함할 수 있다. 입력부(325)를 통해 이동 로봇(100)의 작동 전반에 필요한 각종 제어명령을 입력받을 수 있다.
본 실시예에 따르면, 이동 로봇(100)은 입력부를 통해 환경 정보의 제1 정보 및 거리 정보의 제2 정보에 관한 가중치에 대한 사용자의 입력을 받을 수 있다. 제어부(350)는 가중치에 대한 입력 신호를 받아 코스트 값을 계산할 수 있다. 코스트 값 및 가중치에 관한 상세한 설명을 이하 도 7을 통해 알 수 있다.
또한, 이동 로봇(100)은 출력부(380)를 포함하여, 예약 정보, 배터리 상태, 동작모드, 동작상태, 에러상태 등을 이미지로 표시하거나 음향으로 출력할 수 있다.
출력부(380)는 오디오 신호를 출력하는 음향 출력부(381)를 포함할 수 있다. 음향 출력부(381)는 제어부(350)의 제어에 따라 경고음, 동작모드, 동작상태, 에러상태 등의 알림 메시지 등을 음향으로 출력할 수 있다. 음향 출력부(381)는, 제어부(350)로부터의 전기 신호를 오디오 신호로 변환하여 출력할 수 있다. 이를 위해, 스피커 등을 구비할 수 있다.
또한, 출력부(380)는 예약 정보, 배터리 상태, 동작모드, 동작상태, 에러상태 등을 이미지로 표시하는 디스플레이(382)를 더 포함할 수 있다.
도 3을 참조하면, 이동 로봇(100)은 현재 위치를 인식하는 등 각종 정보를 처리하고 판단하는 제어부(350), 및 각종 데이터를 저장하는 저장부(305)를 포함한다. 또한, 이동 로봇(100)은 외부 단말기와 데이터를 송수신하는 통신부(390)를 더 포함할 수 있다.
외부 단말기는 이동 로봇(100)을 제어하기 위한 애플리케이션을 구비하고, 애플리케이션의 실행을 통해 이동 로봇(100)이 청소할 주행구역에 대한 맵을 표시하고, 맵 상에 특정 영역을 청소하도록 영역을 지정할 수 있다. 외부 단말기는 맵 설정을 위한 애플리케이션(application)이 탑재된 리모콘, PDA, 랩탑(laptop), 스마트 폰, 태블릿 등을 예로 들 수 있다.
외부 단말기는 이동 로봇(100)과 통신하여, 맵과 함께 이동 로봇의 현재 위치를 표시할 수 있으며, 복수의 영역에 대한 정보가 표시될 수 있다. 또한, 외부 단말기는 이동 로봇의 주행에 따라 그 위치를 갱신하여 표시한다.
제어부(350)는 이동 로봇(100)을 구성하는 영상획득부(320), 입력부(325), 주행부(360), 흡입 유닛(330) 등을 제어하여, 이동 로봇(100)의 동작 전반을 제어한다.
제어부(350)는 입력부(325)의 마이크를 통해 수신되는 사용자의 음성 입력 신호를 처리하고 음성 인식 과정을 수행할 수 있다. 실시예에 따라서, 이동 로봇(100)은 제어부(350) 내부 또는 외부에 음성 인식을 수행하는 음성 인식 모듈을 구비할 수 있다.
실시예에 따라서, 간단한 음성 인식은 이동 로봇(100)이 자체적으로 수행하고, 자연어 처리 등 고차원의 음성 인식은 서버에서 수행될 수 있다.
저장부(305)는 이동 로봇(100)의 제어에 필요한 각종 정보들을 기록하는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 기록 매체는 마이크로 프로세서(micro processor)에 의해 읽힐 수 있는 데이터를 저장한 것으로, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등을 포함할 수 있다.
또한, 저장부(305)에는 주행구역에 대한 맵(Map)이 저장될 수 있다. 맵은 이동 로봇(100)과 유선 또는 무선 통신을 통해 정보를 교환할 수 있는 외부 단말기, 서버 등에 의해 입력된 것일 수도 있고, 이동 로봇(100)이 스스로 학습을 하여 생성한 것일 수도 있다.
맵에는 주행구역 내의 방들의 위치가 표시될 수 있다. 또한, 이동 로봇(100)의 현재 위치가 맵 상에 표시될 수 있으며, 맵 상에서의 이동 로봇(100)의 현재의 위치는 주행 과정에서 갱신될 수 있다. 외부 단말기는 저장부(305)에 저장된 맵과 동일한 맵을 저장한다.
상기 저장부(305)는 청소 이력 정보를 저장할 수 있다. 이러한 청소 이력 정보는 청소를 수행할 때마다 생성될 수 있다.
상기 저장부(305)에 저장되는 주행구역에 대한 맵(Map)은, 주행구역의 소정 정보들을 소정 형식으로 저장한 데이터로서, 청소 중 주행에 사용되는 내비게이션 맵(Navigation map), 위치 인식에 사용되는 SLAM(Simultaneous localization and mapping) 맵, 장애물 등에 부딪히면 해당 정보를 저장하여 학습 청소시 사용하는 학습 맵, 전역 위치 인식에 사용되는 전역 위치 맵, 인식된 장애물에 관한 정보가 기록되는 장애물 인식 맵 등일 수 있다.
제어부(350)는 주행제어모듈(351), 지도생성모듈(352), 위치인식모듈(353) 및 장애물인식모듈(354)을 포함할 수 있다.
도 1 내지 도 3을 참조하면, 주행제어모듈(351)은 이동 로봇(100)의 주행을 제어하는 것으로, 주행 설정에 따라 주행부(360)의 구동을 제어한다. 또한, 주행제어모듈(351)은 주행부(360)의 동작을 바탕으로 이동 로봇(100)의 주행경로를 파악할 수 있다. 예를 들어, 주행제어모듈(351)은 휠 유닛(136)의 회전속도를 바탕으로 이동 로봇(100)의 현재 또는 과거의 이동속도, 주행한 거리 등을 파악할 수 있으며, 이렇게 파악된 이동 로봇(100)의 주행 정보를 바탕으로, 맵 상에서 이동 로봇(100)의 위치가 갱신될 수 있다.
지도생성모듈(352)은 주행구역의 맵을 생성할 수 있다. 지도생성모듈(352)은 영상획득부(320)를 통해 획득한 영상을 처리하여 맵을 작성할 수 있다. 즉, 청소 영역과 대응되는 청소 맵을 작성할 수 있다.
또한, 지도생성모듈(352)은 각 위치에서 영상획득부(320)를 통해 획득한 영상을 처리하여 맵과 연계시켜 전역위치를 인식할 수 있다.
위치인식모듈(353)은 현재 위치를 추정하여 인식한다. 위치인식모듈(353)은 영상획득부(320)의 영상 정보를 이용하여 지도생성모듈(352)과 연계하여 위치를 파악함으로써, 이동 로봇(100)의 위치가 갑자기 변경되는 경우에도 현재 위치를 추정하여 인식할 수 있다.
또한, 위치인식모듈(353)은 현재 위치하는 영역의 속성을 인식할 수 있다, 즉, 위치인식모듈(353)은 공간을 인식할 수 있다.
이동 로봇(100)은 위치인식모듈(353)을 통해 연속적인 주행 중에 위치 인식이 가능하고 또한, 위치인식모듈(353) 없이 지도생성모듈(352) 및 장애물인식모듈(354)을 통해, 맵을 학습하고 현재 위치 등을 추정할 수 있다.
지도생성모듈(352)은 맵을 생성하고 영상획득부(320)를 통해 맵을 생성할 수 있다. 지도생성모듈(352)은 센서부(370)를 통해 맵을 생성할 수 있다. 지도생성모듈(352)은 라이라 센서를 통해 획득한 라이다 데이터를 기반으로 맵을 생성할 수 있다. 상기 맵은 셀을 기반으로 하는 그리드 맵일 수 있다.
제어부(350)는 맵이 생성되면, 영역을 구분할 수 있다. 영역을 구분하는 것은 라이다 데이터를 기반으로 제1 영역, 제2 영역 및 제3 영역으로 구분할 수 있다. 영역의 수는 이에 한정되지 않는다.
제1 영역은 라이다 센서로 센싱한 결과 빈 공간인 영역일 수 있다. 즉, 탐색된 빈 공간의 영역일 수 있다. 제2 영역은 라이다 센서로 센싱한 결과 장애물이 존재하는 영역일 수 있다. 즉, 탐색된 장애물이 존재하는 영역일 수 있다. 제3 영역은 라이다 센서로 센싱하지 않은 영역일 수 있다. 즉, 미탐색 영역일 수 있다.
제어부(350)는 각 영역을 색상을 통해 구분하는 이미지 처리를 할 수 있다. 상기 이미지 처리는 각 영역에 존재하는 셀에 색상을 표시하는 것일 수 있다. 이경우, 그레이 스케일(Grey scale)을 사용할 수 있다.
제어부(350)는 제1 영역의 색상과 제3 영역의 색상 차이를 가장 크게 할 수 있다. 그레이 스케일일 경우, 제1 영역과 제3 영역의 명도 차이를 가장 크게 할 수 있다. 예를 들면, 제1 영역은 흰색, 제2 영역은 회색, 제3 영역은 검은색으로 표시할 수 있다.
제어부(350)는 제1 영역과 제3 영역을 구분하는 경계선을 표시할 수 있다. 제1 영역과 제3 영역 사이를 선분을 통해 구분할 수 있다. 다시 말해, 제어부(350)는 제1 영역과 제3 영역 사이에 선분을 표시하는 이미지 처리를 할 수 있다. 제어부(350)는 제1 영역과 제3 영역 사이에 선분을 경계선으로 인식할 수 있다.
제어부(350)는 경계선을 인식하고, 경계선의 개수가 하나 이상의 경우, 최적의 경계선을 선택할 수 있다. 최적의 경계선을 선택하는 방법 코스트 함수를 이용할 수 있는데, 이에 관한 상세한 설명은 이하 도 7을 참조할 수 있다.
제어부(350)는 선택된 최적의 경계선까지 경로를 계획(Path-planning)할 수 있다. 이 경우, 그리드 웨이브를 발생하여 이동 로봇(100)이 위치할 공간이 존재하는지 여부를 우선적으로 확인할 수 있다. 제어부(350)는 그리드 웨이브가 닫는 공간 내에서만 경로를 생성할 수 있다. 경로 계획(Path-planning)은 경로 생성을 포함할 수 있다.
이동 로봇(100)이 위치할 공간이 존재하지 않는 경우에도 경로를 생성하면 필요없는 공간까지의 이동을 반복하게 되어 맵 생성에 있어서 비효율적이기 때문이다.
제어부(350)는 그리드 웨이브를 통해 이동 로봇(100)이 위치할 공간이 존재한다고 판단하면, 경로를 생성하고, 상기 경로를 따라 이동하면서 라이다 센서를 통해 본체(110) 외부의 지형을 센싱할 수 있다. 제어부(350)는 센싱한 라이다 데이터를 기반으로 그리드 맵을 업데이트 할 수 있다.
제어부(350)는 이동 로봇(100) 제1 영역과 제3 영역 상이의 경계선에 도달하여 센서를 통해 그리드 맵을 업데이트한 경우, 업데이트 된 그리드 맵을 통해 다른 경계선을 인식하고 상기 경계선으로 이동할 수 있다. 이경우, 최적의 경계선을 계산하는 과정을 거칠 수 있다.
제어부(350)는 더 이상 경계선이 존재하지 않는다고 판단하면 맵 생성을 완료할 수 있다.
제어부(350)는 맵 생성이 완료되면, 생성된 맵을 통신부(390)를 통해 외부 단말기, 서버 등으로 전송할 수 있다. 또한, 제어부(350)는 앞서 설명한 바와 같이, 외부 단말기, 서버 등으로부터 맵이 수신되면, 저장부(305)에 저장할 수 있다.
이때, 맵은 청소 영역을 복수의 영역으로 구분되고, 복수의 영역을 연결하는 연결통로가 포함하며, 영역 내의 장애물에 대한 정보를 포함할 수 있다.
제어부(350)는 청소명령이 입력되면, 맵 상의 위치와 이동 로봇의 현재위치가 일치하는지 여부를 판단한다. 청소명령은 리모컨, 입력부(325) 또는 외부 단말기로부터 입력될 수 있다.
제어부(350)는 현재 위치가 맵 상의 위치와 일치하지 않는 경우, 또는 현재 위치를 확인할 수 없는 경우, 현재 위치를 인식하여 이동 로봇(100)의 현재 위치를 복구한 한 후, 현재 위치를 바탕으로 지정영역으로 이동하도록 주행부(360)를 제어할 수 있다.
현재 위치가 맵 상의 위치와 일치하지 않는 경우 또는 현재 위치를 확인할 수 없는 경우, 위치인식모듈(353)은 영상획득부(320)로부터 입력되는 획득영상을 분석하여 맵을 바탕으로 현재 위치를 추정할 수 있다. 또한, 장애물인식모듈(354) 또는 지도생성모듈(352) 또한, 같은 방식으로 현재 위치를 인식할 수 있다.
위치를 인식하여 이동 로봇(100)의 현재 위치를 복구한 후, 주행제어모듈(351)은 현재 위치로부터 지정영역으로 주행경로를 산출하고 주행부(360)를 제어하여 지정영역으로 이동한다.
서버로부터 청소 패턴 정보를 수신하는 경우, 주행제어모듈(351)은 수신한 청소 패턴 정보에 따라, 전체 주행구역을 복수의 영역으로 나누고, 하나 이상의 영역을 지정영역으로 설정할 수 있다.
또한, 주행제어모듈(351)은 수신한 청소 패턴 정보에 따라 주행경로를 산출하고, 주행경로를 따라 주행하며, 청소를 수행할 수 있다.
제어부(350)는 설정된 지정영역에 대한 청소가 완료되면, 청소기록을 저장부(305)에 저장할 수 있다.
또한, 제어부(350)는 통신부(390)를 통해 이동 로봇(100)의 동작상태 또는 청소상태를 소정 주기로 외부 단말기, 서버로 전송할 수 있다.
그에 따라 외부 단말기는 수신되는 데이터를 바탕으로, 실행중인 애플리케이션의 화면상에 맵과 함께 이동 로봇의 위치를 표시하고, 또한 청소 상태에 대한 정보를 출력한다.
본 발명의 실시예에 따른 이동 로봇(100)은 일방향으로 장애물이나 벽면이 감지될 때까지 이동하다가, 장애물인식모듈(354)이 장애물을 인식하면, 인식된 장애물의 속성에 따라 직진, 회전 등 주행 패턴을 결정할 수 있다.
한편, 제어부(350)는 인식된 장애물의 속성에 기초하여 다른 패턴으로 회피주행을 수행하도록 제어할 수 있다. 제어부(350)는 비위험 장애물(일반 장애물), 위험 장애물, 이동 가능한 장애물 등 장애물의 속성에 따라 다른 패턴으로 회피 주행하도록 제어할 수 있다.
예를 들어, 제어부(350)는 위험 장애물은 더 긴 거리의 안전 거리를 확보한 상태에서 우회하여 회피하도록 제어할 수 있다.
또한, 제어부(350)는 이동 가능한 장애물의 경우에 소정 대기 시간 후에도 장애물이 이동하지 않으면, 일반 장애물에 대응하는 회피 주행 또는 위험 장애물에 대응하는 회피 주행을 수행하도록 제어할 수 있다. 또는, 제어부(350)는 이동 가능한 장애물에 대응하는 회피 주행 패턴이 별도로 설정된 경우에는 이에 따라 주행하도록 제어할 수 있다.
본 발명의 실시예에 따른 이동 로봇(100)은, 머신 러닝(machine learning) 기반의 장애물 인식 및 회피를 수행할 수 있다.
상기 제어부(350)는, 입력 영상에서 머신 러닝(machine learning)으로 기학습된 장애물을 인식하는 장애물인식모듈(354)과 상기 인식된 장애물의 속성에 기초하여, 상기 주행부(360)의 구동을 제어하는 주행제어모듈(351)을 포함할 수 있다.
한편, 도 3에서는 복수의 모듈(351, 352, 353, 354)이 제어부(350) 내에 별도로 구비되는 예를 도시하였으나, 본 발명은 이에 한정되지 않는다.
예를 들어, 위치인식모듈(353)과 장애물인식모듈(354)은 하나의 인식기로써 통합되어 하나의 인식모듈(355)로 구성될 수 있다. 이 경우에, 머신 러닝 등의 학습 기법을 이용하여 인식기를 학습시키고, 학습된 인식기는 이후에 입력되는 데이터를 분류하여 영역, 사물 등의 속성을 인식할 수 있다.
실시예에 따라서, 지도생성모듈(352), 위치인식모듈(353), 및, 장애물인식모듈(354)이 하나의 통합모듈로 구성될 수도 있다.
이하에서는, 위치인식모듈(353)과 장애물인식모듈(354)은 하나의 인식기로써 통합되어 하나의 인식모듈(355)로 구성되는 실시예를 중심으로 설명하지만, 위치인식모듈(353)과 장애물인식모듈(354)이 각각 구비되는 경우에도 동일한 방식으로 동작할 수 있다.
본 발명의 실시예에 따른 이동 로봇(100)은, 머신 러닝으로 사물, 공간의 속성이 학습된 인식모듈(355)을 포함할 수 있다.
머신 러닝은 컴퓨터에게 사람이 직접 로직(Logic)을 지시하지 않아도 데이터를 통해 컴퓨터가 학습을 하고 이를 통해 컴퓨터가 알아서 문제를 해결하게 하는 것을 의미한다.
딥러닝(Deep Learning)은. 인공지능(artificial intelligence)을 구성하기 위한 인공신경망(Artificial Neural Networks: ANN)에 기반으로 해 컴퓨터에게 사람의 사고방식을 가르치는 방법으로 사람이 가르치지 않아도 컴퓨터가 스스로 사람처럼 학습할 수 있는 인공지능 기술이다.
상기 인공신경망(ANN)은 소프트웨어 형태로 구현되거나 칩(chip) 등 하드웨어 형태로 구현될 수 있다.
인식모듈(355)은 공간의 속성, 장애물 등 사물의 속성이 학습된 소프트웨어 또는 하드웨어 형태의 인공신경망(ANN)을 포함할 수 있다.
예를 들어, 인식모듈(355)은 딥러닝(Deep Learning)으로 학습된 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등 심층신경망(Deep Neural Network: DNN)을 포함할 수 있다.
인식모듈(355)은 상기 심층신경망(DNN)에 포함된 노드들 사이의 가중치(weight)들에 기초하여 입력되는 영상 데이터에 포함되는 공간, 사물의 속성을 판별할 수 있다.
한편, 상기 주행제어모듈(351)은 상기 인식된 공간, 장애물의 속성에 기초하여 상기 주행부(360)의 구동을 제어할 수 있다.
한편, 인식모듈(355)은, 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 상기 선택된 특정 시점 영상에 포함되는 공간, 장애물의 속성을 인식할 수 있다.
한편, 저장부(305)에는 공간, 사물 속성 판별을 위한 입력 데이터, 상기 심층신경망(DNN)을 학습하기 위한 데이터가 저장될 수 있다.
저장부(305)에는 영상획득부(320)가 획득한 원본 영상과 소정 영역이 추출된 추출 영상들이 저장될 수 있다.
또한, 실시예에 따라서는, 저장부(305)에는 상기 심층신경망(DNN) 구조를 이루는 웨이트(weight), 바이어스(bias)들이 저장될 수 있다.
또는, 실시예에 따라서는, 상기 심층신경망 구조를 이루는 웨이트(weight), 바이어스(bias)들은 인식모듈(355)의 임베디드 메모리(embedded memory)에 저장될 수 있다.
한편, 상기 인식모듈(355)은 상기 영상획득부(320)가 영상을 획득하거나 영상의 일부 영역을 추출할 때마다 소정 영상을 트레이닝(training) 데이터로 사용하여 학습 과정을 수행하거나, 소정 개수 이상의 영상이 획득된 후 학습 과정을 수행할 수 있다.
또는, 이동 로봇(100)은 통신부(390)를 통하여 상기 소정 서버로부터 머신 러닝과 관련된 데이터를 수신할 수 있다.
이 경우에, 이동 로봇(100)은, 상기 소정 서버로부터 수신된 머신 러닝과 관련된 데이터에 기초하여 인식모듈(355)을 업데이트(update)할 수 있다.
도 4a 내지 4b 는 본 발명의 실시예에 따른 그리드 맵(gird map)을 도시한 도이다.
이동 로봇(100)이 자율적으로 이동하면서 임무를 수행하기 위해서는 주변 환경에 대한 인식이 필수적일 수 있다. 이동 로봇(100)의 주변 환경 인식은 맵(map)을 통해 이루어질 수 있다. 이러한 맵에는 주변 공간을 동일한 크기의 격자 또는 셀(이하 셀)로 표현하고 각 셀에 물체의 유무를 표시한 그리드 맵(grid map)이 대표적이다. 이동 로봇(100)은 거리 측정 센서를 이용하여 주변 환경에 대한 그리드 맵을 생성할 수 있다.
도 4a 내지 4b를 참조하면, 이동 로봇(100)이 주변 환경에 대한 그리드 맵(400)을 생성하기 위한 대표적인 방법으로써, 제자리에서 로봇이 회전을 하면서 거리 정보를 획득하고, 획득된 거리 정보를 이용해서 그리드 맵(400)을 생성할 수 있다.
그리드 맵(400)은 소정의 공간을 동일한 크기의 셀로 나누고 각 셀에 물체의 존재 유무를 표시한 지도가 될 수 있다. 예를 들어, 흰색 셀은 물체가 없는 영역을, 회색 셀은 물체가 있는 영역을 나타낼 수 있다. 따라서, 회색 셀을 연결한 선은 어떠한 공간의 경계선(벽, 장애물 등)을 나타낼 수 있다. 셀의 색상은 이미지 처리 과정을 통해 바뀔 수 있다.
셀의 크기는 다르게 설정할 수 있다. 예를 들면, 이동 로봇(100)의 길이와 폭이 모두 50cm이면, 셀의 가로와 세로의 길이를 25cm로 설정할 수 있다. 이경우, 이동 로봇(100)은 2 by 2 셀이 빈 공간의 영역일 때 위치할 수 있다. 셀의 가로와 세로의 길이를 10cm로 설정할 수 있다. 이경우, 이동 로봇(100)은 5 by 5 셀이 빈 공간의 영역일 때 위치할 수 있다.
본 발명의 실시예에 따르면, 도 4a를 참조하면, 로봇(100)은 주변에 대한 지도를 생성하고 생성된 지도를 바탕으로 특정한 임무를 수행하는 이동 로봇(예컨대, 청소 로봇)이 될 수 있다. 이동 로봇(100)에는 거리 측정 센서가 구비될 수 있다. 측정 센서는 주변 물체까지의 거리를 측정하고, 측정된 거리를 이용해서 지도를 생성하거나 장애물로부터 탈출을 할 수 있다.
도 4b를 참조하면, 그리드 맵(400)의 생성이란 거리 정보에 기초해서 주변 물체의 특정 지점을 회색 셀(403, 404)로 나타내는 것일 수 있다. 이동 로봇(100)이 라이다 센서로 센싱한 A(401) 지점 및 B(402) 지점은 그리드 맵(400)에서 A'(403) 셀 및 B'(404) 셀로 표현될 수 있다.
회색 셀을 연결한 선은 어떠한 공간의 벽 또는 장애물 등의 경계선을 나타낼 수 있다.
도 5는 본 발명의 실시예에 따른 이동 로봇의 맵 생성 방법의 플로우 차트이다.
도 5를 참조하면, 이동 로봇(100)은 거리 측정 센서를 통해 외부의 물체와의 거리에 관한 센서 데이터를 수신하는 단계(S100); 상기 센서 데이터를 기반으로 셀 단위의 그리드 맵을 생성하는 단계(S200); 상기 그리드 맵에서 영역을 구분하고, 상기 영역 사이에 경계선을 생성하는 이미지 처리 단계(S300); 하나 이상의 경계선이 존재하는지 판단하는 단계(S400); 하나 이상의 상기 경계선이 존재하면 최적의 경계선을 선택하는 단계(S500); 상기 최적의 경계선까지 경로를 계획하는 단계(S600); 및 상기 계획된 경로를 따라 이동하면서 상기 그리드 맵을 업데이트하는 단계(S700);를 통해 자동으로 맵을 생성할 수 있다.
이동 로봇(100)은 하나 이상의 경계선이 존재하는지 판단하는 단계(S400)에서 하나 이상의 상기 경계선이 존재하지 않으면 맵 생성을 완료(S800)하고, 저장부(305)에 상기 완료된 맵을 저장할 수 있다.
센서 데이터 수신 단계(S100)는 제어부(350)가 거리 측정 센서 중 라이다 센서(175)를 통해 센싱한 라이다 데이터를 수신하는 과정일 수 있다. 라이다 센서(175)는 레이저를 출력하여 레이저를 반사시킨 객체의 거리, 위치 방향, 재질 등의 정보를 제공하며 주행 구역의 지형 정보를 획득할 수 있다.
본 발명의 일 실시예에 따른 라이다 데이터는 라이다 센서(175)가 센싱한 장애물들의 거리와 위치, 방향 등의 정보를 의미할 수 있다.
그리드 맵 생성 단계(S200)는 라이다 데이터를 파악하여 맵을 생성할 수 있다. 상기 맵은 라이다 데이터를 기반으로 셀 단위의 그리드 맵일 수 있다. 셀 단위의 그리드 맵을 생성하는 과정은 도 4a 내지 도 4b를 통해 이해할 수 있다.
그리드 맵에 대한 이미지 처리 단계(S300)는 그리드 맵의 영역을 구분하는 단계(S301), 구분된 영역에 대해 색상을 통해 이미지 처리를 하는 단계(S302) 및 제1 영역과 제3 영역 사이에 선분을 표시하는 이미지 처리 단계(S303)를 포함할 수 있다. 이하 상세한 설명은 도 7을 참고할 수 있다.
본 발명의 실시예에 따르면, 그리드 맵에 대한 이미지 처리 단계(S300)를 통해 그리드 맵은 제1 영역(701), 제2 영역(702) 및 제3 영역(703)으로 구분되고, 제1 영역(701)은 흰색, 제2 영역(702)은 회색, 제3 영역(703)은 검은색으로 이미지 처리되며, 제어부(350)는 제1 영역과 제3 영역 사이에 선분(710, 720, 730)이 경계선으로 인식할 수 있다.
하나 이상의 경계선이 존재하는지 판단하는 단계(S400)는 선분(710, 720, 730)을 통해 인식된 경계선의 개수를 판단할 수 있다. 즉 이미지 처리된 선분(710, 720, 730)의 개수를 판단하는 것일 수 있다.
경계선이 하나 이상 존재하지 않으면, 제어부(350)는 맵 생성을 완료(S800)하고 저장부(305)에 저장할 수 있다.
경계선이 하나 이상 존재하는 경우, 그 중에서 최적의 경계선을 선택하는 단계(S500)로 넘어갈 수 있다. 최적의 경계선은 NBV(Next Best View)로 호칭될 수 있다.
최적의 경계선 선택 단계(S500)는 코스트 함수(Cost function)을 이용할 수 있다. 코스트 함수는 R(f)로 표현되고 이하 수학식 1에 의해 계산될 수 있다.
[수학식 1]
Figure 112019069255764-pat00001
수학식 1을 참조하면, I(f)는 Information Cost이며, 어느 하나의 경계선으로 이동하여 얻을 수 있는 경계선 주의의 환경 정보(이하 제1 정보)에 관한 함수이다.
I(f)는 경계선의 길이 및 제3 영역의 셀의 개수 또는 비율에 의해 계산될 수 있다. 경계선의 길이(l)가 길면, 큰 공간일 가능성이 크고 코스트 값은 커질 수 있다. 일정 반경 내의 제3 영역의 셀의 개수(u)가 많으면, 미탐색 영역 비율이 크고 코스트 값은 커질 수 있다.
즉, I(f)는 하나 이상의 경계선 중 어느 하나의 경계선으로 이동하였을 때, 상기 어느 하나의 경계선 주위의 공간이 넓거나 미탐색 영역의 비율이 커서 우선적으로 탐색할 필요성이 있는 지를 결정하는 환경 정보에 관한 함수일 수 있다.
I(f)는 경계선의 길이(l) 및 일정 반경 내의 제3 영역의 셀의 개수(u)에 대한 가중치 함수(weight function)일 수 있다.
[수학식 2]
Figure 112019069255764-pat00002
N(f)는 Navigation Cost이며, 현재 이동 로봇(100)의 위치로부터 어느 하나의 경계선의 중심점까지의 거리 정보(제2 정보)에 관한 함수이다. 현재 이동 로봇(100)의 위치로부터 어느 하나의 경계선의 중심점까지의 거리가 가까울수록 N(f)의 값은 커질 수 있다.
N(f)가 클수록 코스트 값이 크다면, 현재 이동 로봇(100)의 위치에서 가까운 지점부터 맵 생성할 수 있다. 사용자의 관점에서는 N(f)가 일정 수준 이상 큰 것이 유리할 수 있다. 그러나 N(f)가 너무 커지면, 협소한 공간까지 구석구석 탐색을 할 가능성이 높기 때문에, 효율적인 맵 생성을 위해서 I(f)와 가중치를 두어 계산할 수 있다.
a는 I(f)와 N(f)의 가중치를 의미한다. 다시 말해, 코스트 함수는 상기 제1 정보 및 상기 제2 정보에 관한 가중치 함수(weight function)이고, 상기 코스트 값은 상기 제1 정보 및 상기 제2 정보에 관한 가중치 함수(weight function)에 의해 결정될 수 있다. 가중치는 사용자의 입력 신호에 의해 선택될 수 있다.
사용자는 큰 공간 중심으로 빠른 맵 생성을 위해서 I(f)에 가중치를 둘 수 있고, 가까운 공간 중심으로 구석구석의 맵 생성을 위해서 N(f)에 가중치를 둘 수 있다. 이러한 원리는 맵 생성뿐만 아니라, 청소를 수행하는 과정에서도 적용될 수 있다.
H는 Hysteresis Gain이며, 센싱 범위에 따라 경계선이 어디에 위치하고 있는지에 따른 이득을 의미한다. 라이다 센서(175)의 센싱 반경은 11m일 수 있다.
경계선이 현재 이동 로봇(100) 위치 기준으로 센싱 범위 안에 있으면 H > 1이고 센싱 범위 밖에 있으면 H = 1 이다. H는 로봇의 진행방향에 있는 경계선을 선택할 수 있게 하여 방향을 이리저리 바꿔가는 비효율적인 주행을 방지할 수 있게 할 수 있다.
도 7을 참조하면, 최적의 경계선 선택 단계(S500)를 통해 복수의 경계선 중 코스트 값이 가장 큰 하나의 경계선을 선택할 수 있다. 제1 선분(710), 제2 선분(720) 및 제3 선분(730) 각각은 도시하지는 않았지만 제1 경계선(711), 제2 경계선(721) 및 제3 경계선(731)으로 인식될 수 있다.
제1 경계선(711)의 길이가 가장 길고, 제3 경계선(731)의 길이가 가장 짧을 수 있다.
최적의 경계선은 코스트 함수를 통해 복수의 경계선 중 코스트 값이 가장 큰 제1 경계선(711)으로 선택될 수 있다. N(f)값의 가중치를 크게 두지 않는다면, 제1 경계선(711)의 길이가 가장 길어 I(f)값이 크기 때문이다.
경로 계획 단계(S600)는 최적의 경계선(NBV)까지의 경로를 계획하는 단계일 수 있다. 상기 경로는 최적의 경계선(NBV)의 중심점을 설정하고, 현재 위치에서 상기 중심점까지의 경로를 의미할 수 있다. 경로 계획은 경로 생성을 포함할 수 있다.
최적의 경계선(NBV)의 중심점은 상기 경계선의 길이를 이등분하는 지점일 수 있다. 제어부(350)는 경계선의 길이를 이등분하는 지점을 중심점으로 설정하고, 현재 이동 로봇(100)의 위치에서 상기 중심점까지의 경로를 생성할 수 있다.
도 8은 본 발명의 실시예에 따른 그리드 웨이브 발생 단계를 이해하는데 도움이 되는 도이다.
도 8을 참조하면, 경로를 생성하는 단계는 그리드 웨이브(801)를 발생하여 상기 이동 로봇(100)이 위치할 공간이 존재하는지 여부를 우선적으로 확인하는 웨이브 발생 단계를 더 포함할 수 있다.
제어부(350)는 그리드 웨이브가 닫지 않는 공간은 상기 이동 로봇이 위치할 수 없는 공간으로 판단하고, 상기 그리드 웨이브가 닫는 공간 내에서만 경로를 생성할 수 있다.
예를 들면, 장애물(802, 803)에 의해서 웨이브가 끊겨 제1 공간(804)으로 그리드 웨이브(801)가 닫지 않을 수 있다. 그렇다면, 제1 공간 내에서의 경로 생성은 이루어지지 않을 수 있다.
제어부(350)는 그리드 웨이브가 닫지 않는 공간은 상기 이동 로봇이 위치할 수 없는 공간으로 판단하고, 그리드 웨이브가 닫지 않는 공간에 있는 제1 영역(601)과 제3 영역(603)의 사이에 선분을 표시하는 이미지 처리 단계(S303)를 거치지 않을 수 있다. 즉, 제어부(350)는 그리드 웨이브가 닫지 않는 공간에서 경계선을 인식할 수 없을 수 있다.
그리드 맵 업데이트 단계(S700)는 계획된 경로를 따라 이동하면서 상기 그리드 맵을 업데이트하는 단계일 수 있다. 최적의 경계선(NBV)의 중심점까지의 계획된 경로를 따라 이동하지만 기설정된 거리 전까지 이동할 수 있다. 예를 들면, 최적의 경계선(NBV)의 중심점 전 1m 까지만 이동할 수 있다.
라이다 센서(175)는 11m의 센싱 반경을 가질 수 있다. 그러므로 최적의 경계선(NBV)의 중심점 끝까지 가는 것은 불필요한 작업일 수 있다. 기설정된 거리 전까지만 이동하여 이동 시간을 줄여 효율적인 맵 생성을 수행할 수 있다.
이동 로봇(100)은 최적의 경계선(NBV)으로부터 기설정된 거리 전까지 이동하면서 센싱한 상기 라이다 데이터를 기반으로 상기 그리드 맵을 업데이트할 수 있다.
이동 로봇(100)은 업데이트된 그리드 맵을 다시 이미지 처리하고, 경계선을 인식하고, 최적의 경계선을 선택하여 경로 계획 및 맵 업데이트하는 과정을 반복할 수 있다.
이동 로봇(100)은 업데이트된 맵에서 하나 이상의 경계선이 인식되지 않는다고 판단되면 맵 생성을 완료(S800)하고, 업데이트된 맵을 저장부(305)에 저장할 수 있다.
도 6 내지 도 7은 본 발명의 실시예에 따른 그리드 맵에 대한 이미지 처리 단계(S300)를 상세하게 나타내는 도이다.
도 6을 참조하면, 그리드 맵에 대한 이미지 처리 단계(S300)는 그리드 맵의 영역을 구분하는 단계(S301), 구분된 영역에 대해 색상을 통해 이미지 처리를 하는 단계(S302) 및 제1 영역과 제3 영역 사이에 선분을 통해 이미지 처리하는 단계(S303)를 포함할 수 있다.
그리드 맵의 영역을 구분하는 단계(S301)는 그리드 맵 생성 단계(S200)에서 생성된 그리드 맵을 복수의 영역으로 구분할 수 있다. 센서부(370)가 센싱을 한 결과 빈 공간이면 제1 영역(701), 센서부(370)가 센싱을 한 결과 장애물이 존재하는 공간이면 제2 영역(702), 센서부(370)가 센싱하지 아니한 미탐색 공간이면 제3 영역(703)으로 구분할 수 있다. 상기 영역은 더 다양할 수 있다.
구분된 영역에 대해 색상을 통해 이미지 처리를 하는 단계(S302)는 각 영역별 색상을 다르게 표시하는 것일 수 있다. 상기 이미지 처리는 각 영역에 존재하는 셀에 색상을 표시하는 것일 수 있다. 이경우, 제1 영역(701)과 제3 영역(703)의 색상 차이는 다른 영역의 색상 차이보다 클 수 있다. 명도 차이를 통한 이미지 처리도 포함할 수 있다.
예를 들면, 그레이 스케일(Grey scale)을 통해 각 영역을 구분할 수 있다. 도 7을 참조하면, 제1 영역(701)은 흰색, 제2 영역(702)은 회색, 제3 영역(703)은 검은색으로 표시하면, 제1 영역(701)과 제3 영역(703)의 명도 차이가 다른 영역의 명도 차이보다 클 수 있다.
제1 영역(701)과 제3 영역(703) 사이에 선분(710, 720, 730)을 통해 이미지 처리하는 단계(S303)는 제1 영역(701)과 제3 영역(703) 사이를 구분하는 선분을 그리는 과정일 수 있다.
도 7을 참조하면, 흰색 처리된 제1 영역(701)과 검은색 처리된 제3 영역(703) 사이에 총 3개의 경계가 생기고, 경계에 선분(710, 720, 730)을 표시하는 이미지 처리 단계(S303)를 거칠 수 있다. 제어부(350)는 상기 선분(710, 720, 730)을 각각 제1 경계선(711), 제2 경계선(721) 및 제3 경계선(731)으로 인식할 수 있다.
선분을 표시하는 이미지 처리 단계(S303)는 경계선의 길이와 상기 이동 로봇(100)의 폭을 비교하는 단계를 더 포함할 수 있다. 경계선의 길이가 이동 로봇(100)의 폭보다 짧다면 해당 경계선은 선분을 표시하는 이미지 처리 단계(S303)를 생략할 수 있다.
이동 로봇(100)의 폭보다 길이가 긴 경계선만을 추출하여 상기 선분을 표시하는 이미지 처리를 수행할 수 있다. 이로써, 이동 로봇(100)이 이동할 수 있는 공간만을 목표로 설정하여 효율적인 맵 생성을 수행할 수 있는 효과가 있다.
선분을 표시하는 이미지 처리 단계(S303)는 그리드 웨이브를 발생하여 이동 로봇(100)이 위치할 공간이 존재하는지 여부를 확인하는 웨이브 발생 단계를 더 포함할 수 있다.
제어부(350)는 그리드 웨이브가 닫지 않는 공간을 상기 이동 로봇이 위치할 수 없는 공간으로 판단하고, 상기 그리드 웨이브가 닫지 않는 공간의 경계선은 선분을 표시하는 이미지 처리 단계(S303)를 거치지 않을 수 있다. 이로써, 이동 로봇(100)이 이동할 수 있는 공간만을 탐색하면서 효율적인 맵 생성을 수행할 수 있는 효과가 있다.
도 9a 내지 도 9f는 본 발명의 실시예에 따른 맵 생성 과정을 나타내는 도이다.
도 9a에서 도 9b, 도 9c, 도 9d, 도 9e 및 도 9f는 시간의 흐름에 따라 탐색된 빈 공간인 제1 영역(901), 탐색된 장애물이 존재하는 공간인 제2 영역(902) 및 미탐색된 공간인 제3 영역(903)이 변화되는 모습을 알 수 있다.
제1 영역(901)은 흰색, 제2 영역(902)은 회색, 제3 영역(903)은 검은색은 표시될 수 있고, 제1 영역(901)과 제3 영역(903) 사이의 선분(F1, F2, F3)은 경계선으로 인식될 수 있다.
도 9a는 이동 로봇(100)이 탐색을 시작하기 직전 단계를 나타낼 수 있다. 센싱을 시작하기 전이기 때문에 검은색의 제3 영역(903)만 존재할 수 있다.
도 9b는 이동 로봇(100)이 탐색을 시작한 단계를 나타낼 수 있다. 라이더 센서의 경우 센싱 반경이 11m일 수 있다. 라이더 센서를 통해 생성한 그리드 맵을 이미지 처리하면, 흰색의 제1 영역(901), 회색의 제2 영역(902), 검은색의 제3 영역(903)과 같이 구역이 구분될 수 있다.
또한, 그리드 맵을 이미지 처리하는 과정을 통해, 제1 경계선(F1), 제2 경계선(F2), 제3 경계선(F3)을 인식할 수 있다. 최적의 경계선(NBV)은 코스트 값이 가장 높은 경계선일 수 있다. 예를 들면, 경계선의 길이가 가장 긴 제1 경계선(F1)이 최적의 경계선으로 선택될 수 있다.
다음으로, 제어부(350)는 제1 경계선(F1)의 중심점까지 경로 계획을 세울 수 있다. 이경우, 그리드 웨이브를 통해 우선적으로 이동 로봇(100)이 위치할 수 있는 공간이 존재하는지 판단할 수 있다.
도 9c는 이동 로봇(100)이 계획된 경로를 따라 이동하면서 센싱한 데이터에 기반하여 그리드 맵을 업데이트 한 단계를 나타낼 수 있다. 업데이트된 그리드 맵을 이미지 처리하면, 흰색의 제1 영역(901), 회색의 제2 영역(902), 검은색의 제3 영역(903)과 같이 구역이 구분될 수 있다.
또한, 그리드 맵을 이미지 처리하는 과정을 통해, 제1 경계선(F1), 제2 경계선(F2), 제3 경계선(F3)을 인식할 수 있다. 이경우, 제1 영역(901)과 제3 영역(903) 사이의 이동 로봇(100)의 폭보다 좁은 제4 경계(F4)가 존재할 수 있다. 제어부(350)는 제4 경계(F4)애 선분을 표시하는 이미지 처리 단계(S303)를 생략할 수 있다. 그러므로, 제4 경계(F4)는 경계선으로 인식되지 않을 수 있다.
최적의 경계선(NBV)은 코스트 값이 가장 높은 경계선일 수 있다. 예를 들면, 경계선의 길이가 가장 긴 제1 경계선(F1)이 최적의 경계선으로 선택될 수 있다.
다음으로, 제어부(350)는 제1 경계선(F1)의 중심점까지 경로 계획을 세울 수 있다. 이경우, 그리드 웨이브를 통해 우선적으로 이동 로봇(100)이 위치할 수 있는 공간이 존재하는지 판단할 수 있다.
도 9d는 이동 로봇(100)이 계획된 경로를 따라 이동하면서 센싱한 데이터에 기반하여 그리드 맵을 업데이트한 단계를 나타낼 수 있다. 업데이트된 그리드 맵을 이미지 처리하면, 흰색의 제1 영역(901), 회색의 제2 영역(902), 검은색의 제3 영역(903)과 같이 구역이 구분될 수 있다.
또한, 그리드 맵을 이미지 처리하는 과정을 통해, 제2 경계선(F2), 제3 경계선(F3)을 인식할 수 있다. 최적의 경계선(NBV)은 코스트 값이 가장 높은 경계선일 수 있다. 예를 들면, 경계선의 길이가 가장 긴 제2 경계선(F2)이 최적의 경계선으로 선택될 수 있다.
라이더 센서의 센싱 반경은 11m일 수 있다. 그러므로, 제2 경계선(F2)의 중심점으로 경로 계획을 통해 이동하면서 제3 경계선(F3)의 위치까지 라이다 데이터를 수집할 수 있다. 결국, 이동 로봇(100)은 라이다 센서를 통해 제3 경계선(F3)의 위치까지 가지 않고 그리드 맵을 생성할 수 있어 효율적인 맵 생성을 수행할 수 있다.
다음으로, 제어부(350)는 제2 경계선(F2)의 중심점까지 경로 계획을 세울 수 있다. 이경우, 그리드 웨이브를 통해 우선적으로 이동 로봇(100)이 위치할 수 있는 공간이 존재하는지 판단할 수 있다.
도 9e는 이동 로봇(100)이 계획된 경로를 따라 이동하면서 센싱한 데이터에 기반하여 그리드 맵을 업데이트한 단계를 나타낼 수 있다. 업데이트된 그리드 맵을 이미지 처리하면, 흰색의 제1 영역(901), 회색의 제2 영역(902), 검은색의 제3 영역(903)과 같이 구역이 구분될 수 있다.
또한, 그리드 맵을 이미지 처리하는 과정을 통해, 제2 경계선(F2)을 인식할 수 있다. 경계선의 하나이기 ‹š문에 해당 경계선은 최적의 경계선(NBV) 일 수 있다. 다음으로, 제어부(350)는 제2 경계선(F2)의 중심점까지 경로 계획을 세울 수 있다. 이경우, 그리드 웨이브를 통해 우선적으로 이동 로봇(100)이 위치할 수 있는 공간이 존재하는지 판단할 수 있다.
도 9f는 이동 로봇(100)이 계획된 경로를 따라 이동하면서 센싱한 데이터에 기반하여 그리드 맵 생성을 완료한 단계를 나타낼 수 있다.
그리드 맵을 이미지 처리하면, 흰색의 제1 영역(901), 회색의 제2 영역(902), 검은색의 제3 영역(903)과 같이 구역이 구분될 수 있다. 이경우, 제1 영역(901)과 제3 영역(903) 사이 경계선이 더 이상 존재하지 않을 수 있다. 제어부(350)는 맵 생성을 완료하고, 업그레이드된 그리드 맵을 저장부(305)에 저장할 수 있다.
본 발명에 따른 이동 로봇은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나, 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.
한편, 본 발명의 실시예에 따른 이동 로봇의 제어 방법은, 프로세서가 읽을 수 있는 기록매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
이동 로봇: 100
본체: 110
저장부: 305
영상획득부: 320
입력부: 325
흡입유닛: 330
제어부: 350
주행부: 360
센서부: 370
센서 데이터 수신 단계: S100
그리드 맵 생성 단계: S200
그리드 맵에 대한 이미지 처리 단계: S300
하나 이상의 경계선이 존재하는지 판단 단계: S400
최적의 경계선 선택 단계: S500
경로 계획 단계: S600
그리드 맵 업데이트 단계: S700
맵 생성 완료: S800

Claims (15)

  1. 거리 측정 센서를 통해 외부의 물체와의 거리에 관한 센서 데이터를 수신하는 단계;
    상기 센서 데이터를 기반으로 셀 단위의 그리드 맵을 생성하는 단계;
    상기 그리드 맵에서 영역을 구분하고, 상기 영역 사이에 경계선을 생성하는 이미지 처리 단계;
    하나 이상의 경계선이 존재하면 최적의 경계선을 선택하는 단계;
    상기 최적의 경계선까지 경로 계획(Path planning)을 수행하는 단계; 및
    상기 경로를 따라 이동하면서 상기 그리드 맵을 업데이트하는 단계;를 포함하며,
    상기 최적의 경계선을 선택하는 단계는,
    상기 최적의 경계선을 코스트 값에 따라 선택하며, 상기 코스트 값은 환경 정보 및 거리 정보를 기초로 계산되는 것을 특징으로 하는 이동 로봇의 맵 생성 방법.
  2. 제 1 항에 있어서,
    상기 이미지 처리 단계에서,
    상기 영역은,
    상기 센서가 센싱한 결과 빈 공간인 제1 영역, 상기 센서가 센싱한 결과 장애물이 존재하는 공간인 제2 영역 및 상기 센서가 센싱하지 않은 제3 영역을 포함하는, 이동 로봇의 맵 생성 방법.
  3. 제 2 항에 있어서,
    상기 이미지 처리 단계는,
    각 영역의 색상을 다르게 나타내되, 상기 제1 영역의 색상과 상기 제3 영역의 색상 차이를 가장 크게 나타내고,
    상기 제1 영역과 상기 제3 영역 사이에 선분을 표시하는 이미지 처리를 통해 상기 경계선을 생성하는, 이동 로봇의 맵 생성 방법.
  4. 제 3 항에 있어서,
    상기 제1 영역과 상기 제3 영역 사이의 길이와 상기 이동 로봇의 폭을 비교하고,
    상기 제1 영역과 상기 제3 영역 사이의 길이가 상기 이동 로봇의 폭보다 길다고 판단하면, 상기 선분을 표시하는 이미지 처리를 수행하는, 이동 로봇의 맵 생성 방법.
  5. 제 1 항에 있어서,
    상기 최적의 경계선을 선택하는 단계에서
    상기 코스트 값은,
    상기 하나 이상의 경계선 중 어느 하나의 경계선으로 이동하여 획득할 수 있는 환경에 관한 정보인 제1 정보 및 상기 이동 로봇으로부터 상기 어느 하나의 경계선까지의 거리에 관한 정보인 제2 정보를 기반으로 계산하는, 이동 로봇의 맵 생성 방법.
  6. 제 5 항에 있어서,
    상기 코스트 값은,
    상기 제1 정보 및 상기 제2 정보에 관한 가중치 함수(weight function)에 의해 결정되는 값이고,
    상기 가중치는 사용자의 입력 신호에 따라 달라지는, 이동 로봇의 맵 생성 방법.
  7. 제 1 항에 있어서,
    상기 최적의 경계선까지 경로 계획을 수행하는 단계는,
    상기 최적의 경계선의 중심점을 설정하고,
    현재 위치에서 상기 중심점까지의 경로를 생성하는 단계;를 포함하는, 이동 로봇의 맵 생성 방법.
  8. 삭제
  9. 삭제
  10. 제 1 항에 있어서,
    상기 경로를 따라 이동하면서 상기 그리드 맵을 업데이트하는 단계는,
    상기 최적의 경계선으로부터 기설정된 거리 전까지 이동하면서 센싱한 상기 센서 데이터를 기반으로 상기 그리드 맵을 업데이트하는 것을 포함하는, 이동 로봇의 맵 생성 방법.
  11. 제 10 항에 있어서,
    상기 최적의 경계선으로부터 기설정된 거리 전까지 이동이 완료되면,
    상기 업데이트된 그리드 맵을 통해 상기 경계선을 인식하는, 이동 로봇의 맵 생성 방법.
  12. 제 11 항에 있어서,
    상기 경계선이 존재하지 않는다고 판단하면 상기 맵 생성을 완료하고, 상기 맵을 저장하는, 이동 로봇의 맵 생성 방법.
  13. 거리 측정 센서를 통해 외부의 물체와의 거리에 관한 센서 데이터를 생성하는 센서부;
    본체를 이동시키는 주행부; 및
    상기 센서 데이터를 기반으로 셀 단위의 그리드 맵을 생성하는 제어부;를 포함하고,
    상기 제어부는,
    상기 그리드 맵을 상기 센서가 센싱한 결과 빈 공간인 제1 영역, 상기 센서가 센싱한 결과 장애물이 존재하는 공간인 제2 영역 및 상기 센서가 센싱하지 않은 제3 영역으로 구분하고,
    상기 제1 영역과 상기 제3 영역의 사이에 경계선을 생성하는 이미지 처리를 하고,
    상기 경계선이 하나 이상이면 최적의 경계선을 선택하고,
    상기 최적의 경계선까지의 경로 계획을 수행하고,
    상기 경로를 따라 이동하면서 상기 그리드 맵을 업데이트하는, 자동으로 맵을 생성하며,
    상기 제어부는 상기 최적의 경계선을 코스트 값에 따라 선택하며, 상기 코스트 값은 환경 정보 및 거리 정보를 기초로 계산되는 것을 특징으로 하는 이동 로봇.
  14. 제 13 항에 있어서,
    상기 최적의 경계선은,
    상기 하나 이상의 경계선 중 어느 하나의 경계선에서 획득할 수 있는 환경에 관한 정보인 제1 정보 및 상기 어느 하나의 경계선까지의 거리에 관한 정보인 제2 정보를 통해 계산한 코스트 값에 기초하여,
    상기 코스트 값이 최대인 상기 어느 하나의 경계선인, 자동으로 맵을 생성하는 이동 로봇.
  15. 제 14 항에 있어서,
    상기 코스트 값은,
    상기 제1 정보 및 상기 제2 정보에 관한 가중치 함수(weight function)에 의해 결정되는 값이고,
    상기 이동 로봇은 입력부를 더 포함하고;
    상기 제어부는,
    상기 입력부를 통해 상기 가중치에 대한 사용자의 입력 신호를 수신하여 상기 코스트 값을 계산하는, 자동으로 맵을 생성하는 이동 로봇.
KR1020190081459A 2019-07-05 2019-07-05 이동 로봇 및 그 제어방법 Active KR102275300B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020190081459A KR102275300B1 (ko) 2019-07-05 2019-07-05 이동 로봇 및 그 제어방법
US16/920,082 US11674809B2 (en) 2019-07-05 2020-07-02 Moving robot and control method thereof
EP20836665.8A EP3993961B1 (en) 2019-07-05 2020-07-03 Moving robot and control method thereof
JP2022500059A JP7356566B2 (ja) 2019-07-05 2020-07-03 移動ロボット及びその制御方法
PCT/KR2020/008724 WO2021006556A1 (en) 2019-07-05 2020-07-03 Moving robot and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190081459A KR102275300B1 (ko) 2019-07-05 2019-07-05 이동 로봇 및 그 제어방법

Publications (2)

Publication Number Publication Date
KR20210004674A KR20210004674A (ko) 2021-01-13
KR102275300B1 true KR102275300B1 (ko) 2021-07-08

Family

ID=74065319

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190081459A Active KR102275300B1 (ko) 2019-07-05 2019-07-05 이동 로봇 및 그 제어방법

Country Status (5)

Country Link
US (1) US11674809B2 (ko)
EP (1) EP3993961B1 (ko)
JP (1) JP7356566B2 (ko)
KR (1) KR102275300B1 (ko)
WO (1) WO2021006556A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3039666C (en) 2016-10-28 2022-08-23 Ppg Industries Ohio, Inc. Coatings for increasing near-infrared detection distances
CN110023717B (zh) * 2016-12-13 2023-05-12 宝马股份公司 数字地图的更新
KR20240144457A (ko) 2018-11-13 2024-10-02 피피지 인더스트리즈 오하이오 인코포레이티드 은닉 패턴을 검출하는 방법
EP3901573A4 (en) * 2018-12-17 2022-07-06 Chiba Institute of Technology INFORMATION PROCESSING DEVICE AND MOBILE ROBOT
US11561329B2 (en) 2019-01-07 2023-01-24 Ppg Industries Ohio, Inc. Near infrared control coating, articles formed therefrom, and methods of making the same
CN113138593A (zh) * 2020-01-02 2021-07-20 苏州宝时得电动工具有限公司 自主机器人的地图创建方法、装置、设备及存储介质
US11216005B1 (en) * 2020-10-06 2022-01-04 Accenture Global Solutions Limited Generating a point cloud capture plan
KR102458952B1 (ko) * 2020-12-31 2022-10-26 한국전자통신연구원 다중 센서 정보 lstm 기반의 무인 로봇 충돌 감지/경고 방법 및 시스템
JP7589579B2 (ja) 2021-02-17 2024-11-26 日本精工株式会社 自律走行装置、通信システムおよび自律走行装置の制御方法
JP7538993B2 (ja) 2021-03-17 2024-08-23 パナソニックIpマネジメント株式会社 表示装置、自律走行型掃除機と表示装置を有するシステム、表示方法及びプログラム
CN113030960B (zh) * 2021-04-06 2023-07-04 陕西国防工业职业技术学院 一种基于单目视觉slam的车辆定位方法
US12007785B2 (en) 2021-08-31 2024-06-11 Samsung Electronics Co., Ltd. Cleaning robot capable of obtaining map of indoor space and operating method thereof
CN113822995B (zh) * 2021-09-26 2024-09-06 泰州擎朗智能科技有限公司 移动设备导航地图的创建方法、装置及存储介质
CN114577214B (zh) * 2022-03-02 2022-09-20 哈尔滨工业大学 一种应用于跨异构多层空间的轮式机器人路径规划方法
KR102713794B1 (ko) * 2022-03-15 2024-10-11 경북대학교 산학협력단 맵 생성용 이동 로봇 및 그 동작 방법
CN114859375B (zh) * 2022-04-13 2025-01-10 杭州电子科技大学 基于多机器人协作的自主探索建图系统及探索建图方法
CN114523486B (zh) * 2022-04-24 2022-07-19 东南大学 适用于隧洞水下破损表面附着物的清理机器人及使用方法
CN115016498B (zh) * 2022-07-05 2023-07-11 未岚大陆(北京)科技有限公司 割草机的建图方法、装置、存储介质及割草机
WO2024076020A1 (ko) * 2022-10-07 2024-04-11 삼성전자 주식회사 공간 맵을 생성하는 방법 및 서버
US20240168480A1 (en) * 2022-11-23 2024-05-23 Omron Corporation Autonomous mapping by a mobile robot
CN117870653B (zh) * 2024-03-13 2024-05-14 中国科学技术大学 一种二维差分欧几里得符号距离场地图的建立与更新方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101242252B1 (ko) * 2011-02-10 2013-03-11 고려대학교 산학협력단 시맨틱 격자 지도 생성 방법 및 시맨틱 격자 지도를 활용한 시맨틱 격자 지도 기반 탐사 방법
KR101553654B1 (ko) * 2009-02-13 2015-10-01 삼성전자 주식회사 이동 로봇 및 이동 로봇의 이동 방법

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3528200B2 (ja) 1993-05-24 2004-05-17 松下電器産業株式会社 自走式掃除機
DE4408329C2 (de) 1994-03-11 1996-04-18 Siemens Ag Verfahren zum Aufbau einer zellular strukturierten Umgebungskarte von einer selbstbeweglichen mobilen Einheit, welche sich mit Hilfe von auf Wellenreflexion basierenden Sensoren orientiert
DE4408328C2 (de) 1994-03-11 2002-09-26 Siemens Ag Verfahren zum Aufbau einer zellular strukturierten Umgebungskarte von einer selbstbeweglichen mobilen Einheit, welche sich mit Hilfe von auf Wellenreflexion basierenden Sensoren orientiert
EP0766846B1 (de) 1994-06-22 1998-03-04 Siemens Aktiengesellschaft Verfahren zur orientierung, fahrwegplanung und steuerung einer autonomen mobilen einheit
KR20020010257A (ko) 2000-07-28 2002-02-04 김인광 로봇 시스템에서의 자기위치 인식 장치 및 방법
US6667592B2 (en) 2001-08-13 2003-12-23 Intellibot, L.L.C. Mapped robot system
US6728608B2 (en) 2002-08-23 2004-04-27 Applied Perception, Inc. System and method for the creation of a terrain density model
US7805220B2 (en) 2003-03-14 2010-09-28 Sharper Image Acquisition Llc Robot vacuum with internal mapping system
US20040244138A1 (en) 2003-03-14 2004-12-09 Taylor Charles E. Robot vacuum
US20050010331A1 (en) 2003-03-14 2005-01-13 Taylor Charles E. Robot vacuum with floor type modes
US20050273967A1 (en) 2004-03-11 2005-12-15 Taylor Charles E Robot vacuum with boundary cones
US20060020369A1 (en) 2004-03-11 2006-01-26 Taylor Charles E Robot vacuum cleaner
KR100611328B1 (ko) 2005-06-30 2006-08-11 고려대학교 산학협력단 세선화 기반 위상지도의 작성방법 및 그 장치, 이동로봇의탐사를 통한 세선화 기반 위상지도 작성방법 및 그 장치
CN101297267B (zh) 2005-09-02 2012-01-11 Neato机器人技术公司 多功能机器人设备
KR100715609B1 (ko) 2006-01-13 2007-05-07 학교법인 포항공과대학교 가정환경에서의 이동로봇의 위상학적 지도형성 및 자율주행방법
KR100791384B1 (ko) 2006-07-05 2008-01-07 삼성전자주식회사 특징점을 이용한 영역 구분 방법 및 장치와 이를 이용한이동 청소 로봇
EP3311722B1 (en) 2008-04-24 2019-07-24 iRobot Corporation Application of localization, positioning & navigation systems for robotic enabled mobile products
KR101503903B1 (ko) * 2008-09-16 2015-03-19 삼성전자 주식회사 이동 로봇의 지도 구성 장치 및 방법
KR101037379B1 (ko) 2008-12-18 2011-05-27 한국과학기술연구원 거리센서로부터 얻은 주변환경의 거리정보를 바탕으로 한 이동로봇탐사시스템 및 이를 이용한 탐사방법
JP5212212B2 (ja) 2009-03-25 2013-06-19 株式会社Ihi 通路検出プログラム、通路検出装置及び方法
US8428776B2 (en) 2009-06-18 2013-04-23 Michael Todd Letsky Method for establishing a desired area of confinement for an autonomous robot and autonomous robot implementing a control system for executing the same
KR20110000848A (ko) 2009-06-29 2011-01-06 (주)실리콘화일 3차원 거리정보 및 영상 획득 장치
JP5803054B2 (ja) 2009-12-02 2015-11-04 村田機械株式会社 自律移動装置
DE102010017689A1 (de) 2010-07-01 2012-01-05 Vorwerk & Co. Interholding Gmbh Selbsttätig verfahrbares Gerät sowie Verfahren zur Orientierung eines solchen Gerätes
KR101750340B1 (ko) 2010-11-03 2017-06-26 엘지전자 주식회사 로봇 청소기 및 이의 제어 방법
KR101761313B1 (ko) 2010-12-06 2017-07-25 삼성전자주식회사 로봇 및 로봇의 경로생성방법
FR2977023B1 (fr) 2011-06-24 2014-02-21 Univ Angers Generation de donnees de carte
US8798840B2 (en) 2011-09-30 2014-08-05 Irobot Corporation Adaptive mapping with spatial summaries of sensor data
WO2013071190A1 (en) 2011-11-11 2013-05-16 Evolution Robotics, Inc. Scaling vector field slam to large environments
KR101179075B1 (ko) 2012-02-28 2012-09-03 국방과학연구소 자율로봇의 경로계획방법 및 이를 구비한 경로계획장치
KR20130112507A (ko) 2012-04-04 2013-10-14 인하대학교 산학협력단 S* 알고리즘을 이용한 이동로봇의 안전경로계획 수립방법
CN108661362A (zh) 2012-06-27 2018-10-16 滨特尔水池水疗公司 具有激光测距仪系统的水池清洁器和方法
KR20140009737A (ko) 2012-07-12 2014-01-23 한국과학기술원 하이브리드 맵 기반 로봇의 위치인식방법
JP5886502B2 (ja) 2012-12-20 2016-03-16 トヨタ自動車株式会社 移動体制御装置、移動体制御方法及び制御プログラム
KR101427186B1 (ko) 2013-06-12 2014-08-07 건국대학교 산학협력단 미지환경에서 지능형 로봇의 이동경로 생성을 위한 영역탐색 및 매핑 장치
JP5897517B2 (ja) 2013-08-21 2016-03-30 シャープ株式会社 自律移動体
US10045675B2 (en) 2013-12-19 2018-08-14 Aktiebolaget Electrolux Robotic vacuum cleaner with side brush moving in spiral pattern
US9436926B2 (en) 2014-02-25 2016-09-06 Savioke, Inc. Entryway based authentication system
US10068373B2 (en) 2014-07-01 2018-09-04 Samsung Electronics Co., Ltd. Electronic device for providing map information
KR102431994B1 (ko) 2014-09-24 2022-08-16 삼성전자주식회사 청소 로봇 및 청소 로봇의 제어 방법
US10488865B2 (en) 2014-12-16 2019-11-26 Al Incorporated Methods and systems for robotic surface coverage
US9704043B2 (en) 2014-12-16 2017-07-11 Irobot Corporation Systems and methods for capturing images and annotating the captured images with information
US11400595B2 (en) 2015-01-06 2022-08-02 Nexus Robotics Llc Robotic platform with area cleaning mode
US9630319B2 (en) * 2015-03-18 2017-04-25 Irobot Corporation Localization and mapping using physical features
JP6705636B2 (ja) 2015-10-14 2020-06-03 東芝ライフスタイル株式会社 電気掃除機
DE102015119501A1 (de) * 2015-11-11 2017-05-11 RobArt GmbH Unterteilung von Karten für die Roboternavigation
DE102015119865B4 (de) * 2015-11-17 2023-12-21 RobArt GmbH Robotergestützte Bearbeitung einer Oberfläche mittels eines Roboters
CN205671994U (zh) 2015-12-16 2016-11-09 小米科技有限责任公司 自动清洁设备
DE102016102644A1 (de) 2016-02-15 2017-08-17 RobArt GmbH Verfahren zur Steuerung eines autonomen mobilen Roboters
JP6711405B2 (ja) 2016-08-31 2020-06-17 村田機械株式会社 自律走行式床洗浄機
US10653282B2 (en) 2016-12-23 2020-05-19 Lg Electronics Inc. Cleaning robot
KR20180074537A (ko) 2016-12-30 2018-07-03 엘지전자 주식회사 청소 로봇
KR20180082264A (ko) 2017-01-10 2018-07-18 엘지전자 주식회사 이동 로봇 및 그 제어방법
CN108318046B (zh) 2017-01-18 2020-12-15 华为技术有限公司 路径规划方法和装置
KR102012550B1 (ko) 2017-02-20 2019-08-20 엘지전자 주식회사 돌발 장애물을 식별하는 방법 및 이를 구현하는 로봇
US10222215B2 (en) 2017-04-21 2019-03-05 X Development Llc Methods and systems for map generation and alignment
US9939814B1 (en) 2017-05-01 2018-04-10 Savioke, Inc. Computer system and method for automated mapping by robots
JP7087290B2 (ja) 2017-07-05 2022-06-21 カシオ計算機株式会社 自律移動装置、自律移動方法及びプログラム
US10482619B2 (en) 2017-07-27 2019-11-19 AI Incorporated Method and apparatus for combining data to construct a floor plan
US10583561B2 (en) 2017-08-31 2020-03-10 Neato Robotics, Inc. Robotic virtual boundaries
KR102219801B1 (ko) 2017-09-22 2021-02-23 엘지전자 주식회사 인공지능을 이용한 이동 로봇 및 이동 로봇의 제어방법
US20190113919A1 (en) 2017-10-18 2019-04-18 Luminar Technologies, Inc. Controlling an autonomous vehicle using smart control architecture selection
CN107806881A (zh) 2017-10-25 2018-03-16 上海思岚科技有限公司 移动机器人构建结构地图的方法与设备
CN118348509A (zh) * 2017-11-28 2024-07-16 应诺维思科技有限公司 Lidar系统和方法
KR20190103511A (ko) 2018-02-12 2019-09-05 엘지전자 주식회사 이동 로봇 및 그 제어방법
KR102561263B1 (ko) 2018-04-04 2023-07-28 삼성전자주식회사 지도 데이터를 생성하는 전자 장치 및 그 동작 방법
KR102466940B1 (ko) 2018-04-05 2022-11-14 한국전자통신연구원 로봇 주행용 위상 지도 생성 장치 및 방법
DE102019202702B3 (de) 2019-02-28 2020-08-13 Kuka Deutschland Gmbh Abfahren einer vorgegebenen Anordnung von Wegen mit einem mobilen Roboter
KR102296908B1 (ko) 2019-03-19 2021-09-02 한국전자통신연구원 특징점 지도 관리방법 및 장치
US11314254B2 (en) 2019-03-26 2022-04-26 Intel Corporation Methods and apparatus for dynamically routing robots based on exploratory on-board mapping

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101553654B1 (ko) * 2009-02-13 2015-10-01 삼성전자 주식회사 이동 로봇 및 이동 로봇의 이동 방법
KR101242252B1 (ko) * 2011-02-10 2013-03-11 고려대학교 산학협력단 시맨틱 격자 지도 생성 방법 및 시맨틱 격자 지도를 활용한 시맨틱 격자 지도 기반 탐사 방법

Also Published As

Publication number Publication date
US11674809B2 (en) 2023-06-13
EP3993961B1 (en) 2024-10-16
KR20210004674A (ko) 2021-01-13
JP7356566B2 (ja) 2023-10-04
EP3993961A4 (en) 2023-07-05
WO2021006556A1 (en) 2021-01-14
JP2022540387A (ja) 2022-09-15
EP3993961A1 (en) 2022-05-11
US20210003405A1 (en) 2021-01-07

Similar Documents

Publication Publication Date Title
KR102275300B1 (ko) 이동 로봇 및 그 제어방법
KR102302575B1 (ko) 이동 로봇 및 그 제어방법
KR102243179B1 (ko) 이동 로봇 및 그 제어방법
US12256887B2 (en) Mobile robot using artificial intelligence and controlling method thereof
KR20180023301A (ko) 이동 로봇 및 그 제어방법
US11055341B2 (en) Controlling method for artificial intelligence moving robot
JP7329125B2 (ja) 移動ロボット及びその制御方法
KR102147211B1 (ko) 인공지능 이동 로봇의 제어 방법
US20240377835A1 (en) Robotic cleaner and method for controlling robotic cleaner
KR102203438B1 (ko) 이동 로봇 및 이동 로봇의 제어방법
JP7432701B2 (ja) 移動ロボット及びその制御方法
KR102767727B1 (ko) 이동 로봇 및 이동 로봇의 제어방법
EP4506113A1 (en) Mobile robot and control method therefor
KR20230137080A (ko) 이동 로봇
KR20200091110A (ko) 이동 로봇 및 그 제어 방법

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20190705

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20201022

Patent event code: PE09021S01D

PG1501 Laying open of application
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20210413

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20210705

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20210705

End annual number: 3

Start annual number: 1

PG1601 Publication of registration