KR102021834B1 - 이동 로봇 시스템 및 그 제어방법 - Google Patents
이동 로봇 시스템 및 그 제어방법 Download PDFInfo
- Publication number
- KR102021834B1 KR102021834B1 KR1020170088535A KR20170088535A KR102021834B1 KR 102021834 B1 KR102021834 B1 KR 102021834B1 KR 1020170088535 A KR1020170088535 A KR 1020170088535A KR 20170088535 A KR20170088535 A KR 20170088535A KR 102021834 B1 KR102021834 B1 KR 102021834B1
- Authority
- KR
- South Korea
- Prior art keywords
- mobile robot
- isolated
- area
- map
- cleaning
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004140 cleaning Methods 0.000 claims abstract description 165
- 238000002955 isolation Methods 0.000 claims abstract description 57
- 230000004044 response Effects 0.000 claims description 14
- 239000000463 material Substances 0.000 claims description 12
- 238000009408 flooring Methods 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 239000000428 dust Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005283 ground state Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000002187 spin decoupling employing ultra-broadband-inversion sequences generated via simulated annealing Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0044—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with a computer generated representation of the environment of the vehicle, e.g. virtual reality, maps
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
- B25J11/0085—Cleaning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2836—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
- A47L9/2852—Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/081—Touching devices, e.g. pressure-sensitive
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/0003—Home robots, i.e. small robots for domestic use
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/04—Automatic control of the travelling movement; Automatic obstacle detection
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Electric Vacuum Cleaner (AREA)
Abstract
본 발명의 이동 로봇 시스템 및 그 제어방법은 이동 로봇 주행 중 더 이상 주행할 수 없는 고립상태에서 주변 영역에 대한 데이터를 수집하여, 다음 청소 시 고립위치로 진입하지 않도록 설정하고, 고립위치에 대한 데이터를 분석하여 이동 로봇이 주행할 수 없는 영역에 대하여 학습함으로써, 고립이 발생할 가능성이 있는 위치를 예상위치로 설정하여, 이동 로봇의 이동을 제한할 수 있으며, 고립이 발생한 위치와, 고립이 발생할 가능성이 있는 예상위치에 가상벽을 자동으로 설정하여 이동 로봇이 주행할 수 없는 상태가 되는 것을 방지하고, 보다 효과적으로 주행 가능한 영역을 이동하며 청소할 수 있도록 한다. 도한, 고립위치와 예상위치를 단말을 통해 편집함으로써, 불필요한 제한을 해제할 수 있고, 이동 로봇의 손상을 방지하면서 효과적으로 청소할 수 있게 된다.
Description
본 발명은 이동 로봇 시스템 및 그 제어방법에 관한 것으로, 청소영역을 주행하여 청소를 수행하는 이동 로봇 시스템 및 그 제어방법에 관한 것이다.
일반적으로 이동 로봇은 사용자의 조작 없이도 청소하고자 하는 구역 내를 스스로 주행하면서 바닥면으로부터 먼지 등의 이물질을 흡입하여 자동으로 청소하는 기기이다.
이러한 이동 로봇은 청소구역 내에 설치된 가구나 사무용품, 벽 등의 장애물까지의 거리를 감지하고, 장애물 회피 동작을 수행한다.
그러나 이동 로봇은 침대 밑이나, 좁은 영역에 진입하거나, 전원선에 엉켜 해당 위치로부터 빠져나오지 못하고 고립되는 경우가 발생한다. 이와 같은 고립상황에서 이동 로봇은 탈출을 시도하게 되는데, 반복된 탈출 시도로 인하여 배터리가 방전되어 청소를 완료하지 못하는 경우도 종종 발생한다.
그에 따라 고립 상태가 발생하지 않도록 이동 로봇의 주행을 제한하는 방안이 제안되고 있다.
출원번호 KR20140145256 에는, 기 설정된 패턴에 따라 지도를 생성하여 패턴과 일치하는 경우 구속 방지를 위해 회피주행하는 기술이 개시되어 있다. 그러나 패턴이 미리 설정되어 있지 않은 지역에서 구속이 발생할 경우 그 지역에서 매번 구속이 될 가능성이 있고, 지도에 구속 가능성이 있는 지역을 저장하는 것이 아닌 패턴을 저장하고 이를 감지하고 패턴과 비교하는 방식이기 때문에 감지가 정확하지 않은 경우 패턴에 해당되는 지역이라도 구속이 발생할 가능성이 있다는 문제점이 있다.
또한, 이동 로봇의 이동을 제한한다는 목적에 따라, 출원번호 KR20100092326A (2010-09-20)는 청소로봇과 외부장치와의 연동으로 가상벽을 설정하여, 해당 영역으로 청소 로봇이 접근하지 못하도록 청소 로봇의 동작을 제한한다.
이러한 외부장치를 이용한 가상벽의 설정은 사용자에게 전적으로 의존하기 때문에 실제 청소로봇이 고립되는 환경을 완벽하게 방지할 수 없다는 문제점이 있다. 가상벽 설정을 위한 외부장치는 별도의 전원이 요구되므로, 외부장치에 대한 전원공급을 고려하여 배치해야하므로 전원선의 연결 또는 배터리 장착 및 교환 등으로 인한 제약이 발생하게 된다.
또한, 이동 로봇이 주행할 수 없는 영역을 사용자가 판단하여, 외부장치를 청소할 때마다 사용자가 직접 설치(배치)하고 조작해야 하는 불편함을 감수해야하는 문제점이 있다.
본 발명이 해결하고자 하는 과제는, 청소영역 내에서 이동 로봇이 고립되지 않도록, 고립이 발생할 지역에 가상벽을 설정하여 이동 로봇의 주행을 제한하는 이동 로봇 시스템 및 그 제어방법을 제공하는 것이다.
본 발명이 일 실시예에 따른 이동 로봇 시스템은 청소영역을 주행하며, 상기 청소영역에 대한 지도를 생성하고, 상기 지도를 바탕으로 이동하며 이물질을 흡입하는 이동 로봇; 상기 지도를 바탕으로, 상기 이동 로봇으로 청소명령을 입력하는 단말;을 포함하고, 상기 이동 로봇은, 상기 청소영역을 주행하는 중, 주변의 장애물에 의해 이동이 불가능한 상태가 되면, 고립상태로 판단하여 고립위치와 주변영역에 대한 정보가 포함된 고립위치데이터를 상기 단말 또는 서버로 전송하는 것을 특징으로 한다. 상기 단말은, 상기 고립위치와, 상기 청소영역 중 고립이 발생될 것으로 판단되는 예상위치를 상기 지도에 매칭하여 표시하고, 상기 고립위치가 선택되면, 고립이 발생한 시간과 이유를 표시하고, 상기 예상위치가 선택되면, 고립이 발생할 것으로 예상되는 원인을 표시하는 것을 특징으로 한다. 또한, 상기 단말은, 상기 고립위치와 상기 예상위치를 상이한 형태로 표시하고, 색상과 무늬로 구분하여 표시하는 것을 특징으로 한다.
본 발명의 이동 로봇 시스템의 제어방법은, 이동 로봇이, 청소영역을 주행하며, 상기 청소영역에 대한 지도를 생성하고, 상기 지도를 바탕으로 청소를 수행하는 단계; 상기 이동 로봇이 주행 중, 제 1 영역에서 이동 불가능한 상태가 되면, 고립상태로 판단하는 단계; 고립위치 및 주변영역에 대한 정보가 포함된 고립위치데이터를 생성하는 단계; 및 상기 고립위치데이터를 단말 또는 서버로 전송하는 단계;를 포함한다. 또한, 상기 단말이 상기 고립위치와, 상기 청소영역 중 고립이 발생될 것으로 판단되는 예상위치를 상기 지도에 매칭하여 표시하는 단계; 상기 고립위치가 선택되면, 고립이 발생한 시간과 원인을 표시하는 단계; 및 상기 예상위치가 선택되면, 고립 원인을 표시하는 단계를 포함한다.
본 발명의 이동 로봇 시스템 및 그 제어방법은 이동 로봇 주행 중 더 이상 주행할 수 없는 고립상태에서 주변 영역에 대한 데이터를 수집하여, 다음 청소 시 고립위치로 진입하지 않도록 설정하고, 고립위치에 대한 데이터를 분석하여 이동 로봇이 주행할 수 없는 영역에 대하여 학습함으로써, 고립이 발생할 가능성이 있는 위치를 예상위치로 설정하여, 이동 로봇의 이동을 제한할 수 있다.
본 발명은 고립이 발생한 위치와, 고립이 발생할 가능성이 있는 예상위치에 가상벽을 자동으로 설정하여 이동 로봇이 주행할 수 없는 상태가 되는 것을 방지하고, 보다 효과적으로 주행 가능한 영역을 이동하며 청소할 수 있도록 한다. 도한, 고립위치와 예상위치를 단말을 통해 편집함으로써, 불필요한 제한을 해제할 수 있어, 이동 로봇의 손상을 방지하고 보다 효과적으로 청소할 수 있게 된다.
도 1 은 본 발명의 일 실시예에 따른 이동 로봇 시스템의 이동 로봇이 도시된 사시도이다.
도 2 는 도 1의 이동 로봇의 수평 화각을 도시한 도이다.
도 3 은 도 1의 이동 로봇의 전면도이다.
도 4 는 도 1의 이동 로봇의 저면을 도시한 도이다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇의 주요부들을 도시한 블록도이다.
도 6 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치가 도시된 예시도이다.
도 7 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립발생위치 및 그에 따른 예상위치가 도시된 예시도이다.
도 8 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치에 대한 청소영역의 주변환경을 설명하는데 참조되는 예시도이다.
도 9는 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치 표시 및 가상벽 설정방법을 설명하는데 참조되는 예시도이다.
도 10 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 가상벽 설정에 따른 이동경로가 도시된 예시도이다.
도 11 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치 설정방법이 도시된 순서도이다.
도 12 는 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치에 따른 가상벽 설정방법이 도시된 순서도이다.
도 2 는 도 1의 이동 로봇의 수평 화각을 도시한 도이다.
도 3 은 도 1의 이동 로봇의 전면도이다.
도 4 는 도 1의 이동 로봇의 저면을 도시한 도이다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇의 주요부들을 도시한 블록도이다.
도 6 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치가 도시된 예시도이다.
도 7 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립발생위치 및 그에 따른 예상위치가 도시된 예시도이다.
도 8 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치에 대한 청소영역의 주변환경을 설명하는데 참조되는 예시도이다.
도 9는 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치 표시 및 가상벽 설정방법을 설명하는데 참조되는 예시도이다.
도 10 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 가상벽 설정에 따른 이동경로가 도시된 예시도이다.
도 11 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치 설정방법이 도시된 순서도이다.
도 12 는 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치에 따른 가상벽 설정방법이 도시된 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
도 1은 본 발명의 일 실시예에 따른 이동 로봇의 사시도이다. 도 2는 도 1의 이동 로봇의 수평 화각을 도시한 것이다. 도 3은 도 1의 이동 로봇의 전면도이다. 도 4는 도 1의 이동 로봇의 저면을 도시한 것이다.
도 1 내지 도 4를 참조하면, 본 발명의 일 실시예에 따른 이동 로봇(1)은 청소구역의 바닥을 따라 이동하며, 바닥 상의 먼지 등의 이물질을 흡입하는 본체(10)와, 본체(10)의 전면에 배치되어 장애물을 감지하는 감지수단을 포함한다.
본체(10)는 외관을 형성하며 내측으로 본체(10)를 구성하는 부품들이 수납되는 공간을 형성하는 케이싱(11)과, 케이싱(11)에 배치되어 먼지나 쓰레기 등의 이물질을 흡입하는 흡입유닛(34)과, 케이싱(11)에 회전 가능하게 구비되는 좌륜(36(L))과 우륜(36(R))을 포함할 수 있다. 좌륜(36(L))과 우륜(36(R))이 회전함에 따라 본체(10)가 청소구역의 바닥을 따라 이동되며, 이 과정에서 흡입유닛(34)을 통해 이물질이 흡입된다.
흡입유닛(34)은 흡입력을 발생시키는 흡입 팬(미도시)과, 흡입 팬의 회전에 의해 생성된 기류가 흡입되는 흡입구(10h)를 포함할 수 있다. 흡입유닛(34)은 흡입구(10h)를 통해 흡입된 기류 중에서 이물질을 채집하는 필터(미도시)와, 필터에 의해 채집된 이물질들이 축적되는 이물질 채집통(미도시)을 포함할 수 있다.
또한, 본체(10)는 좌륜(36(L))과 우륜(36(R))을 구동시키는 주행구동부를 포함할 수 있다. 주행구동부는 적어도 하나의 구동모터를 포함할 수 있다. 적어도 하나의 구동모터는 좌륜(36(L))을 회전시키는 좌륜 구동모터와 우륜(36(R))을 회전시키는 우륜 구동모터를 포함할 수 있다.
좌륜 구동모터와 우륜 구동모터는 제어부의 주행제어부에 의해 작동이 독립적으로 제어됨으로써 본체(10)의 직진, 후진 또는 선회가 이루어질 수 있다. 예를들어, 본체(10)가 직진 주행하는 경우에는 좌륜 구동모터와 우륜 구동모터가 같은 방향으로 회전되나, 좌륜 구동모터와 우륜 구동모터가 다른 속도로 회전되거나, 서로 반대 방향으로 회전되는 경우에는 본체(10)의 주행 방향이 전환될 수 있다. 본체(10)의 안정적인 지지를 위한 적어도 하나의 보조륜(37)이 더 구비될 수 있다.
케이싱(11)의 저면부 전방측에 위치하며, 방사상으로 연장된 다수개의 날개로 이루어진 솔을 갖는 복수의 브러시(35)가 더 구비될 수 있다. 복수의 브러시(35)의 회전에 의해 청소구역의 바닥으로부터 먼지들이 제거되며, 이렇게 바닥으로부터 분리된 먼지들은 흡입구(10h)를 통해 흡입되어 채집통에 모인다.
케이싱(11)의 상면에는 사용자로부터 이동 로봇(1)의 제어를 위한 각종 명령을 입력받는 조작부(160)를 포함하는 컨트롤 패널이 구비될 수 있다.
감지수단은, 도 1의 (a)와 같이 복수의 센서를 이용하여 장애물을 감지하는 센서부(150), 영상을 촬영하는 영상 획득부(140)(170)를 포함한다.
또한, 감지수단은, 도 1의 (b)와 같이, 본체(10)의 전면에 배치되어, 광패턴을 조사하고 촬영되는 영상을 통해 장애물을 감지하는 장애물 감지유닛(100)을 포함할 수 있다. 장애물 감지유닛(100)은 영상 획득부(140)를 포함하고, 감지수단을 장애물감지유닛과 센서부(150)를 모두 포함할 수 있다.
영상 획득부(140)는 각각 도 2의 (a)와 같이, 천장을 향하도록 구비될 수 있고, 또한, 도 3의 (b)와 같이, 전방을 향하도록 구비될 수 있다. 경우에 따라 어느 하나의 영상 획득부(140)가 구비되거나, 또는 전방과 천장을 향하는 두개의 영상 획득부(140)가 모두 구비될 수도 있다.
장애물 감지유닛(100)은 본체(10)의 전면에 배치될 수 있다.
장애물 감지유닛(100)은 케이싱(11)의 전면에 고정되고, 제 1 패턴 조사부(120), 제 2 패턴 조사부(130) 및 영상 획득부(140)를 포함한다. 이때 영상 획득부는 도시된 바와 같이 패턴조사부의 하부에 설치되는 것을 기본으로 하나, 경우에 따라 제 1 및 제 2 패턴조사부 사이에 배치될 수 있다.
또한, 앞서 설명한 바와 같이 본체의 상단부에 제 2 영상 획득부(170)가 더 구비될 수 있다. 제 2 영상 획득부(170)는 본체의 상단부, 즉 천장의 영상을 촬영한다.
본체(10)에는 재충전이 가능한 배터리(38)가 구비되며, 배터리(38)의 충전 단자(33)가 상용 전원(예를 들어, 가정 내의 전원 콘센트)과 연결되거나, 상용 전원과 연결된 별도의 충전대(400)에 본체(10)가 도킹되어, 충전 단자(33)가 충전대의 단자(410)와의 접촉을 통해 상용 전원과 전기적으로 연결되고, 배터리(38)의 충전이 이루어질 수 있다. 이동 로봇(1)을 구성하는 전장 부품들은 배터리(38)로부터 전원을 공급받을 수 있으며, 따라서, 배터리(38)가 충전된 상태에서 이동 로봇(1)은 상용 전원과 전기적으로 분리된 상태에서 자력 주행이 가능하다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇의 주요부들을 도시한 블록도이다.
도 5에 도시된 바와 같이, 이동 로봇(1)은 주행 구동부(250), 청소부(260), 데이터부(280), 장애물 감지유닛(100), 센서부(150), 통신부(270), 조작부(160), 그리고 동작 전반을 제어하는 제어부(200)를 포함한다.
조작부(160)는 적어도 하나의 버튼, 스위치, 터치패드 등의 입력수단을 포함하여 사용자명령을 입력받는다. 조작부는 앞서 설명한 바와 같이 본체(10)의 상단부에 구비될 수 있다.
데이터부(280)에는 장애물 감지유닛(100) 또는 센서부(150)로부터 입력되는 장애물 감지신호가 저장하고, 장애물인식부(210)가 장애물을 판단하기 위한 기준데이터가 저장되며, 감지된 장애물에 대한 장애물정보가 저장된다. 또한, 데이터부(280)에는 이동 로봇의 동작을 제어하기 위한 제어데이터 및 이동 로봇의 청소모드에 따른 데이터가 저장되며, 맵생성부에 의해 생성된, 장애물정보가 포함된 지도가 저장된다. 데이터부(280)는, 기초맵, 청소맵, 사용자맵, 가이드맵이 저장될 수 있다. 장애물 감지신호는 센서부에 의한 초음파/레이저 등의 감지신호, 영상 획득부의 획득영상이 포함된다.
또한, 데이터부(280)는, 마이크로 프로세서(micro processor)에 의해 읽힐 수 있는 데이터를 저장하는 것으로, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치를 포함할 수 있다.
통신부(270)는, 무선통신 방식으로 단말(미도시)과 통신한다. 또한, 통신부(270)는 가정 내 네트워크를 통해, 인터넷망에 연결되어, 외부의 서버 또는 이동 로봇을 제어하는 단말과 통신할 수 있다.
통신부(270)는 생성되는 지도를 단말로 전송하고, 단말로부터 청소명령을 수신하며, 이동 로봇의 동작상태, 청소상태에 대한 데이터를 단말로 전송한다. 통신부(270)는 지그비, 블루투스 등의 근거리 무선통신 뿐 아니라, 와이파이, 와이브로 등의 통신모듈을 포함하여 데이터를 송수신한다.
한편, 단말은 통신모듈이 탑재되어 네트워크 접속이 가능하고 이동 로봇을 제어하기 위한 프로그램, 또는 이동 로봇 제어용 어플리케이션이 설치된 기기로, 컴퓨터, 랩탑, 스마트폰, PDA, 태블릿PC 등의 기기가 사용될 수 있다. 또한, 단말은, 스마트 워치 등의 웨어러블(wearable) 장치 또한 사용될 수 있다.
주행 구동부(250)는 적어도 하나의 구동모터를 포함하여 주행제어부(230)의 제어명령에 따라 이동 로봇이 주행하도록 한다. 주행 구동부(250)는 앞서 설명한 바와 같이, 좌륜(36(L))을 회전시키는 좌륜 구동모터와 우륜(36(R))을 회전시키는 우륜 구동모터를 포함할 수 있다.
청소부(260)는 브러쉬를 동작시켜 이동 로봇 주변의 먼지 또는 이물질을 흡입하기 쉬운 상태로 만들고, 흡입장치를 동작시켜 먼지 또는 이물질을 흡입한다. 청소부(260)는 먼지나 쓰레기 등의 이물질을 흡입하는 흡입유닛(34)에 구비되는 흡입 팬의 동작을 제어하여 먼지가 흡입구를 통해 이물질 채집통에 투입되도록 한다.
장애물 감지유닛(100)은 제 1 패턴 조사부(120), 제 2 패턴 조사부(130), 그리고 영상 획득부(140)를 포함한다.
센서부(150)는 복수의 센서를 포함하여 장애 감지를 보조한다. 센서부(150)는 레이저, 초음파, 적외선 중 적어도 하나를 이용하여 본체(10)의 전방, 즉 주행방향의 장애물을 감지한다. 센서부(150)는 송출되는 신호가 반사되어 입사되는 경우, 장애물의 존재여부 또는 장애물까지의 거리에 대한 정보를 장애물 감지신호로써 제어부(200)로 입력한다.
또한, 센서부(150)는 적어도 하나의 기울기센서를 포함하여 본체의 기울기를 감지한다. 기울기센서는 본체의 전, 후, 좌, 우 방향으로 기울어지는 경우, 기울어진 방향과 각도를 산출한다. 기울기센서는 틸트센서, 가속도센서 등이 사용될 수 있고, 가속도센서의 경우 자이로식, 관성식, 실리콘반도체식 중 어느 것이나 적용 가능하다.
장애물 감지유닛(100)은 제 1 패턴 조사부(120), 제 2 패턴 조사부(130) 및 영상 획득부(140)가, 앞서 설명한 바와 같이, 본체(10)의 전면에 설치되어, 이동 로봇의 전방에 제 1 및 제 2 패턴의 광(P1, P2)을 조사하고, 조사된 패턴의 광을 촬영하여 영상을 획득한다.
장애물 감지유닛(100)은 획득영상을 장애물 감지신호로써 제어부(200)로 입력한다.
장애물 감지유닛(100)의 제 1 및 제 2 패턴 조사부(120, 130)는 광원과, 광원으로부터 조사된 광이 투과됨으로써 소정의 패턴을 생성하는 패턴생성자(OPPE: Optical Pattern Projection Element)를 포함할 수 있다. 광원은 레이져 다이오드(Laser Diode, LD), 발광 다이오드(Light Emitteing Diode, LED) 등 일 수 있다. 레이져 광은 단색성, 직진성 및 접속 특성에 있어 다른 광원에 비해 월등해, 정밀한 거리 측정이 가능하며, 특히, 적외선 또는 가시광선은 대상체의 색상과 재질 등의 요인에 따라 거리 측정의 정밀도에 있어서 편차가 크게 발생되는 문제가 있기 때문에, 광원으로는 레이져 다이오드가 바람직하다. 패턴생성자는 렌즈, DOE(Diffractive optical element)를 포함할 수 있다. 각각의 패턴 조사부(120, 130)에 구비된 패턴 생성자의 구성에 따라 다양한 패턴의 광이 조사될 수 있다.
제 1 패턴 조사부(120)는 제 1 패턴의 광(P1, 이하, 제 1 패턴 광이라고 함.)을 본체(10)의 전방 하측을 향해 조사할 수 있다. 따라서, 제 1 패턴 광(P1)은 청소구역의 바닥에 입사될 수 있다.
제 1 패턴 광(P1)은 수평선(Ph)의 형태로 구성될 수 있다. 또한, 제 1 패턴 광(P1)은 수평선(Ph)과 수직선(Pv)이 교차하는 십자 패턴의 형태로 구성되는 것 또한 가능하다.
제 1 패턴 조사부(120), 제 2 패턴 조사부(130) 및 영상 획득부(140)는 수직으로, 일렬 배치될 수 있다. 영상 획득부(140)는, 제 1 패턴 조사부(120)와 제 2 패턴 조사부(130)의 하부에 배치되나, 반드시 이에 한정되는 것은 아니며, 제 1 패턴 조사부와 제 2 패턴 조사부의 상부에 배치될 수도 있다.
실시예에서, 제 1 패턴 조사부(120)는 상측에 위치하여 전방을 향해 하방으로 제 1 패턴 광(P1)을 조사하여, 제 1 패턴 조사부(120)보다 하측에 위치하는 장애물을 감지하고, 제 2 패턴 조사부(130)는 제 1 패턴 조사부(120)의 하측에 위치하여 전방을 향해 상방으로 제 2 패턴의 광(P2, 이하, 제 2 패턴 광이라고 함.)을 조사할 수 있다. 따라서, 제 2 패턴 광(P2)은 벽면이나, 청소구역의 바닥으로부터 적어도 제 2 패턴 조사부(130)보다 높이 위치하는 장애물 또는 장애물의 일정 부분에 입사될 수 있다.
제 2 패턴 광(P2)은 제 1 패턴 광(P1)과 다른 패턴으로 이루어질 수 있고, 바람직하게는 수평선을 포함하여 구성된다. 여기서, 수평선은 반드시 연속한 선분이어야 하는 것은 아니고, 점선으로 이루어질 수도 있다.
한편, 앞서 설명한 도 2에서, 표시된 조사각(θh)은 제 1 패턴 조사부(120)로부터 조사된 제 1 패턴 광(P1)의 수평조사각을 표시한 것으로, 수평선(Ph)의 양단이 제 1 패턴 조사부(120)와 이루는 각도를 나타내며, 130˚ 내지 140˚ 범위에서 정해지는 것이 바람직하나, 반드시 이에 한정되어야 하는 것은 아니다. 도 2에 표시된 점선은 이동 로봇(1)의 전방을 향하는 것이며, 제 1 패턴 광(P1)은 점선에 대해 대칭인 형태로 구성될 수 있다.
제 2 패턴 조사부(130) 역시 제 1 패턴 조사부(120)와 마찬가지로 수평 조사각이, 바람직하게는, 130˚ 내지 140˚ 범위에서 정해질 수 있으며, 실시예에 따라서는 제 1 패턴 조사부(120)와 동일한 수평 조사각으로 패턴 광(P2)을 조사할 수 있으며, 이 경우, 제 2 패턴 광(P1) 역시 도 2에 표시된 점선에 대해 대칭인 형태로 구성될 수 있다.
영상 획득부(140)는 본체(10) 전방의 영상을 획득할 수 있다. 특히, 영상 획득부(140)에 의해 획득된 영상(이하, 획득영상이라고 함.)에는 패턴 광(P1, P2)이 나타나며, 이하, 획득영상에 나타난 패턴 광(P1, P2)의 상을 광 패턴이라고 하고, 이는 실질적으로 실제 공간상에 입사된 패턴 광(P1, P2)이 이미지 센서에 맺힌 상이기 때문에, 패턴 광들(P1, P2)과 같은 도면 부호를 부여하여, 제 1 패턴 광(P1) 및 제 2 패턴 광(P2)과 각각 대응하는 상들을 제 1 광 패턴(P1) 및 제 2 광 패턴(P2)이라고 하기로 한다.
영상 획득부(140)는 피사체의 상을 전기적 신호로 변환시킨 후 다시 디지털 신호로 바꿔 메모리소자에 기억시키는 디지털 카메라를 포함할 수 있으며, 디지털 카메라는 이미지센서(미도시)와 영상처리부(미도시)를 포함할 수 있다.
이미지센서는 광학 영상(image)을 전기적 신호로 변환하는 장치로, 다수개의 광 다이오드(photo diode)가 집적된 칩으로 구성되며, 광 다이오드로는 픽셀(pixel)을 예로 들 수 있다. 렌즈를 통과한 광에 의해 칩에 맺힌 영상에 의해 각각의 픽셀들에 전하가 축적되며, 픽셀에 축적된 전하들은 전기적 신호(예를들어, 전압)로 변환된다. 이미지센서로는 CCD(Charge Coupled Device), CMOS(Complementary Metal Oxide Semiconductor) 등이 잘 알려져 있다.
영상처리부는 이미지센서로부터 출력된 아날로그 신호를 바탕으로 디지털 영상을 생성한다. 영상처리부는 아날로그 신호를 디지털 신호로 변환하는 AD컨버터와, AD컨버터로부터 출력된 디지털 신호에 따라 일시적으로 디지털 정보(digital data)를 기록하는 버퍼 메모리(buffer memory)와, 버퍼 메모리에 기록된 정보를 처리하여 디지털 영상을 구성하는 디지털 신호처리기(DSP:Digital Signal Processor)를 포함할 수 있다.
제어부(200)는 장애물인식부(210), 맵생성부(220), 주행제어부(230), 위치인식부(240)를 포함한다.
장애물인식부(210)는 장애물 감지유닛(100)으로부터 입력되는 획득영상을 통해 장애물을 판단하고, 주행제어부(230)는 장애물 정보에 대응하여 이동방향 또는 주행경로를 변경하여 장애물을 통과하거나 또는 장애물을 회피하여 주행하도록 주행 구동부(250)를 제어한다.
주행제어부(230)는 주행 구동부(250)를 제어하여 좌륜 구동모터와 우륜 구동모터의 작동을 독립적으로 제어함으로써 본체(10)가 직진 또는 회전하여 주행하도록 한다.
장애물인식부(210)는 센서부(150) 또는 장애물 감지유닛(100)으로부터 입력되는 장애물 감지신호를 데이터부(280)에 저장하고, 장애물 감지신호를 분석하여 장애물을 판단한다.
장애물인식부(210)는 센서부의 신호를 바탕으로 전방의 장애물 존재 여부를 판단하고, 획득영상을 분석하여 장애물의 위치, 크기, 형태를 판단한다.
장애물인식부(210)는 획득영상을 분석하여 패턴을 추출한다. 장애물인식부(210) 제 1 패턴 조사부 또는 제 2 패턴 조사부로부터 조사된 패턴의 광이 바닥 또는 장애물에 조사되어 나타나는 광 패턴을 추출하고, 추출된 광 패턴을 바탕으로 장애물을 판단한다.
장애물인식부(210)는 영상 획득부(140)에 의해 획득된 영상(획득영상)으로부터 광 패턴(P1, P2)을 검출한다. 장애물인식부(210)는 획득영상을 구성하는 소정의 픽셀들에 대해 점, 선, 면 등의 특징을 검출 (feature detection)하고, 이렇게 검출된 특징을 바탕으로 광 패턴(P1, P2) 또는 광 패턴(P1, P2)을 구성하는 점, 선, 면 등을 검출할 수 있다.
장애물인식부(210)는 주변보다 밝은 픽셀들이 연속됨으로써 구성되는 선분들을 추출하여, 제 1 광 패턴(P1)을 구성하는 수평선(Ph), 제 2 광 패턴(P2)을 구성하는 수평선을 추출할 수 있다. 그러나 이에 한정되지 않고, 디지털 영상으로부터 원하는 형태의 패턴을 추출하는 다양한 기법들이 이미 알려져 있는바, 장애물인식부(210)는 이들 공지된 기술들을 이용하여 제 1 광 패턴(P1)과 제 2 광 패턴(P2)을 추출할 수 있다.
또한, 장애물인식부(210)는 검출된 패턴을 바탕으로 장애물 유무를 판단하고, 장애물의 형태를 판단한다. 장애물인식부(210)는 제 1 광 패턴과 제 2 광 패턴을 통해 장애물을 판단하고, 장애물까지의 거리를 산출할 수 있다. 또한, 장애물인식부(210)는 제 1 광패턴과 제 2 광패턴의 형태, 장애물 접근 중 나타나는 광패턴을 변화를 통해 장애물의 크기(높이)와 형태를 판단할 수 있다.
장애물인식부(210)는 제 1 및 광패턴 및 제 2 광패턴에 대하여 기준위치와의 거리를 바탕으로 장애물을 판단한다. 장애물인식부(210)는 제 1 광 패턴(P1)이 기준위치보다 낮은 위치에 나타나는 경우, 내리막 경사로가 존재하는 것으로 판단할 수 있고, 제 1 광 패턴(P1)이 사라지는 경우 낭떠러지로 판단한다. 또한, 장애물인식부(210)는 제 2 광 패턴이 나타나는 경우, 전방의 장애물 또는 상부의 장애물을 판단할 수 있다.
장애물인식부(210)는 센서부(150)의 기울기센서로부터 입력되는 기울기정보를 바탕으로, 본체의 기울어짐 여부를 판단하고, 본체가 기울어진 경우, 획득영상의 광 패턴의 위치에 대하여 기울기를 보상한다.
주행제어부(230)는 청소영역 중 지정된 영역에 대하여 주행하며 청소가 수행되도록 주행 구동부(250)를 제어하고, 주행 중 먼지를 흡입하여 청소가 수행되도록 청소부(260)를 제어한다.
주행제어부(230)는 장애물인식부(210)로부터 인식되는 장애물에 대응하여, 주행 가능 여부 또는 진입가능 여부를 판단하여 장애물에 접근하여 주행하거나, 장애물을 통과하거나, 또는 장애물을 회피하도록 주행경로를 설정하여 주행 구동부(250)를 제어한다.
맵생성부(220)는, 장애물인식부(210)에 의해 판단되는 장애물에 대한 정보를 바탕으로, 청소영역에 대한 지도를 생성한다.
맵생성부(220)는 초기 동작 시, 또는 청소영역에 대한 지도가 저장되어 있지 않은 경우, 청소영역을 주행하면서 장애물 정보를 바탕으로 청소영역에 대한 지도를 생성한다. 또한, 맵생성부(220)는 주행중 획득되는 장애물 정보를 바탕으로, 기 생성된 지도를 갱신한다.
맵생성부(220)는 주행 중 장애물인식부(210)를 획득되는 정보를 바탕으로 기초맵을 생성하고, 기초맵으로부터 영역을 구분하여 청소맵을 생성한다. 또한 맵생성부(220)는 청소맵에 대하여 영역을 정리하고, 영역에 대한 속성을 설정하여 사용자맵과 가이드맵을 생성한다.
기초맵은, 주행을 통해 획득되는 청소영역의 형태가 외곽선으로 표시되는 지도이고, 청소맵은 기초맵에 영역이 구분된 지도이다. 기초맵과 청소맵에는 이동 로봇의 주행 가능한 영역과 장애물정보가 포함된다. 사용자맵은 청소맵의 영역을 단순화하고 외각선의 형태를 정리하여 가공한 것으로 시각적 효과를 가미한 지도이다. 가이드맵은 청소맵과 사용자맵이 중첩된 지도이다. 가이드맵에는 청소맵이 표시되므로, 이동 로봇이 실제 주행할 수 있는 영역을 바탕으로 청소명령이 입력될 수 있다.
맵생성부(220)는 기초맵 생성 후, 청소영역을 복수의 영역으로 구분하고, 복수의 영역을 연결하는 연결통로를 포함하며, 각 영역 내의 장애물에 대한 정보를 포함하여 지도를 생성한다. 맵생성부(220)는, 지도상의 영역 구분을 위해 소영역을 분리하여 대표영역을 설정하고, 분리된 소영역을 별도의 세부영역으로 설정하여 대표영역에 병합함으로써 영역이 구분된 지도를 생성한다.
맵생성부(220)는 구분된 각 영역에 대하여, 영역의 형태를 가공한다. 맵생성부(220)는 구분된 영역에 대하여 속성을 설정하고, 영역별 속성에 따라 영역의 형태를 가공한다.
맵생성부(220)는 구분된 각 영역에서, 다른 영역과의 접점의 수를 기준으로 메인영역을 우선 판단한다. 메인영역은 거실인 것을 기본으로 하나, 경우에 따라 메인영역을 복수의 방 중 어느 하나로 변경할 수 있다. 맵생성부(220)는 메인영역을 기준으로 나머지 영역에 대한 속성을 설정한다. 예를 들어 맵생성부(220)는 메인영역인, 거실을 중심으로 배치되는 일정 크기 이상의 영역은 방(room)으로 설정하고, 그외의 영역은 기타영역으로 설정할 수 있다.
맵생성부(220)는, 영역의 형태를 가공하는데 있어서, 영역의 속성에 따른 기준에 따라 각 영역이 특정 형태를 갖도록 가공한다. 예를 들어 맵생성부(220)는 일반적인 가정의 방의 형태, 예를 들어 사각형을 기준으로 영역의 형태를 가공한다. 또한, 맵생성부(220)는 기초맵의 최 외각 셀을 기준으로 영역의 형태를 확장하고, 장애물로 인하여 접근할 수 없는 영역에 대하여 영역을 삭제하거나 축소하여 영역의 형태를 가공한다.
또한, 맵생성부(220)는 기초맵에서, 장애물의 크기에 따라, 일정 크기 이상의 장애물은 지도에 표시하고, 일정 크기 미만의 장애물은 해당 셀을 삭제하여 장애물이 표시되지 않도록 한다. 예를 들어, 맵생성부는 일정크기 이상의 의자, 소파 등의 가구는 지도에 표시하고, 일시적으로 나타나는 장애물, 크기가 작은, 예를 들어 작은 장난감 등은 지도에서 삭제한다. 맵생성부(220)는 지도 생성 시, 충전대의 위치를 지도에 함께 저장한다.
맵생성부(220)는 지도가 생성된 이후, 감지되는 장애물에 대하여, 장애물인식부(21)로부터 입력되는 장애물정보를 바탕으로, 지도상에 장애물을 추가할 수 있다. 맵생성부(220)는 특정 장애물이 고정된 위치에서 반복적으로 감지되는 경우, 지도에 장애물을 추가하고, 장애물이 일시적으로 감지되는 경우에는 무시한다.
맵생성부(220)는 가공된 형태의 지도인 사용자맵과, 사용자맵과 청소맵이 중첩되어 표시되는 가이드맵을 모두 생성한다.
또한, 맵생성부(220)는 단말(300)에 의해 가상벽이 설정되는 경우, 통신부를 통해 수신되는 가상벽에 대한 데이터를 바탕으로 청소맵에 가상벽의 위치를 설정하고, 청소영역에 대응하는 가상벽의 좌표를 산출한다. 맵생성부(220)는 청소맵에 가상벽을 장애물로써 등록한다.
맵생성부(220)는 단말에 의해 설정된 가상벽을 확대하여 장애물로써 등록한다. 주행 중, 본체(10)가 가상벽에 접하거나 가상벽을 침범하지 않도록 설정된 가상벽을 확대하여 더 넓은 범위로 설정함으로써, 본체(10)가 가상벽에 접하지 않도록 한다.
맵생성부(220)는 위치인식부(240)에 의해 본체(10)의 현재 위치를 판단할 수 없는 경우, 청소영역에 대한 새로운 지도를 생성한다. 맵생성부(220)는 새로운 영역으로 이동한 것으로 판단하여 기 설정된 가상벽을 초기화한다.
이동 로봇은 청소맵을 기초로 청소를 수행하되, 단말로 사용자맵과 가이드맵을 전송한다. 단말(300)은 가이드맵과 사용자맵을 모두 저장하여 화면에 표시할 수 있으며, 설정에 따라 어느 하나를 출력한다. 이동 로봇(1)은 단말(300)로부터 사용자맵 또는 가이드맵에 기초한 청소명령이 입력되면, 청소맵을 바탕으로 주행하며 지정된 영역을 청소한다.
위치인식부(240)는 데이터부에 저장된 지도(청소맵, 가이드맵 또는 사용자맵)를 바탕으로 본체(10)의 현재 위치를 판단한다.
위치인식부(240)는 청소명령이 입력되면, 지도상의 위치와 본체의 현재위치가 일치하는지 여부를 판단한 후, 현재 위치가 맵 상의 위치와 일치하지 않는 경우, 또는 현재 위치를 확인할 수 없는 경우, 현재 위치를 인식하여 이동 로봇(1)의 현재 위치를 복구한다. 주행제어부(230)는 현재 위치를 복구하면, 현재 위치를 바탕으로 지정된 영역으로 이동하도록 주행 구동부를 제어한다. 청소명령은 리모컨(미도시), 조작부(160) 또는 단말(300)로부터 입력될 수 있다.
위치인식부(240)는 현재 위치가 지도상의 위치와 일치하지 않는 경우 또는 현재 위치를 확인할 수 없는 경우, 영상 획득부(140)로부터 입력되는 획득영상을 분석하여 지도를 바탕으로 현재 위치를 추정할 수 있다.
위치인식부(240)는 맵생성부(220)에 의해 지도 생성 중, 각 위치에서 획득된 획득영상을 처리하여, 지도와 연계시켜 본체의 전역위치를 인식한다.
위치인식부(240)는 영상 획득부(140)의 획득영상을 이용하여, 지도와 지도상의 각 위치에 대한 획득영상을 비교하여 본체의 현재 위치를 파악함으로써, 본체의 위치가 갑자기 변경되는 경우에도 현재 위치를 추정하여 인식할 수 있다.
위치인식부(240)는 획득영상에 포함되는, 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들을 분석하여 위치를 판단한다. 획득영상은 영상 획득부, 또는 본체의 상단부에 구비되는 제 2 영상 획득부로부터 입력될 수 있다.
위치인식부(240)는 획득영상들 각각으로부터 특징을 검출한다. 컴퓨터 비전(Computer Vision) 기술 분야에서 영상으로부터 특징을 검출하는 다양한 방법(Feature Detection)이 잘 알려져 있다. 이들 특징의 검출에 적합한 여러 특징검출기(feature detector)들이 알려져 있다. 예를들어, Canny, Sobel, Harris&Stephens/Plessey, SUSAN, Shi&Tomasi, Level curve curvature, FAST, Laplacian of Gaussian, Difference of Gaussians, Determinant of Hessian, MSER, PCBR, Grey-level blobs 검출기 등이 있다.
위치인식부(240)는 각 특징점을 근거로 디스크립터를 산출한다. 위치인식부(240)는 특징 검출을 위해 SIFT(Scale Invariant Feature Transform) 기법을 이용하여 특징점을 디스크립터(descriptor)로 변환할 수 있다. 디스크립터는 n차원 벡터(vector)로 표기될 수 있다. SIFT는 촬영 대상의 스케일(scale), 회전, 밝기변화에 대해서 불변하는 특징을 검출할 수 있어, 같은 영역을 이동 로봇(1)의 자세를 달리하며 촬영하더라도 불변하는(즉, 회전 불변한(Rotation-invariant)) 특징을 검출할 수 있다. 물론, 이에 한정되지 않고 다른 다양한 기법(예를들어, HOG: Histogram of Oriented Gradient, Haar feature, Fems, LBP:Local Binary Pattern, MCT:Modified Census Transform)들이 적용될 수도 있다.
위치인식부(240)는 각 위치의 획득영상을 통해 얻은 디스크립터 정보를 바탕으로, 획득영상마다 적어도 하나의 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하고, 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수 있다. 다른 예로, 실(room)과 같이 소정 구역내의 획득영상 들로부터 모인 모든 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하여 상기 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수도 있다.
위치인식부(240)는 이 같은 과정을 거쳐, 각 위치의 특징분포를 구할 수 있다. 각 위치 특징분포는 히스토그램 또는 n차원 벡터로 표현될 수 있다. 또 다른 예로, 학습모듈(143)은 소정 하위 분류규칙 및 소정 하위 대표규칙을 거치지 않고, 각 특징점으로부터 산출된 디스크립터를 바탕으로 미지의 현재위치를 추정할 수 있다.
또한, 위치 도약 등의 이유로 이동 로봇(1)의 현재 위치가 미지의 상태가 된 경우에, 위치인식부(240)는 기 저장된 디스크립터 또는 하위 대표 디스크립터 등의 데이터를 근거로 현재 위치를 추정할 수 있다.
위치인식부(240)는 미지의 현재 위치에서 영상 획득부(140)를 통해 획득영상을 획득하고, 영상을 통해 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 확인되면, 획득영상으로부터 특징들을 검출한다.
위치인식부(240)는 미지의 현재 위치의 획득영상을 통해 얻은 적어도 하나의 인식 디스크립터 정보를 근거로, 소정 하위 변환규칙에 따라 비교대상이 되는 위치 정보(예를 들면, 각 위치의 특징분포)와 비교 가능한 정보(하위 인식 특징분포)로 변환한다. 소정 하위 비교규칙에 따라, 각각의 위치 특징분포를 각각의 인식 특징분포와 비교하여 각각의 유사도를 산출할 수 있다. 각각의 위치에 해당하는 상기 위치 별로 유사도(확률)를 산출하고, 그 중 가장 큰 확률이 산출되는 위치를 현재위치로 결정할 수 있다.
제어부(200)는 맵생성부(220)에 의해 주행 중 지도가 갱신되는 경우, 갱신된 정보를 통신부를 통해 단말(300)로 전송하여 단말과 이동 로봇(1)에 저장되는 지도가 동일하도록 한다. 그에 따라, 단말(300)과 이동 로봇(1)에 저장된 맵이 동일하게 유지됨에 따라 단말로부터의 청소명령에 대하여, 이동 로봇(1)은 지정된 영역을 청소할 수 있으며, 또한, 단말은 이동 로봇의 현재 위치를 지도에 표시할 수 있다.
주행제어부(230)는 청소명령 입력 시, 청소 영역 중, 지정된 영역으로 이동하도록 주행 구동부를 제어하고, 청소부를 동작시켜, 주행과 함께 청소가 수행되도록 한다.
주행제어부(230)는 복수의 영역에 대한 청소명령 입력 시, 우선영역설정 여부, 또는 지정된 순서에 따라 영역을 이동하여 청소가 수행되도록 하고, 별도의 순서가 지정되지 않은 경우, 현재 위치를 기준으로, 거리에 따라 가까운 영역 또는 인접한 영역으로 이동하여 청소를 수행한다.
또한, 주행제어부(230)는 영역구분에 관계없이 임의의 영역에 대한 청소명령이 입력되는 경우, 임의의 영역에 포함되는 영역으로 이동하여 청소를 수행한다.
주행제어부(230)는 가상벽이 설정되는 경우, 맵생성부(220)로부터 입력되는 좌표값을 바탕으로, 가상벽을 회피하여 주행하도록 주행 구동부를 제어한다.
주행제어부(230)는, 장애물인식부(210)에 의해 장애물이 존재하지 않는 것으로 판단되더라도, 가상벽이 설정되어 있는 경우, 해당 위치에 장애물이 존재하는 것으로 인식하여 주행을 제한한다.
제어부(200)는 설정된 지정영역에 대한 청소가 완료되면, 청소기록을 데이터부에 저장한다.
또한, 제어부(200)는 통신부(190)를 통해 이동 로봇(1)의 동작상태 또는 청소상태를 소정 주기로 단말(300)로 전송한다.
단말(300)은 이동 로봇(1)으로부터 수신되는 데이터를 바탕으로, 실행중인 어플리케이션의 화면상에 지도와 함께 이동 로봇의 위치를 표시하고, 또한 청소상태에 대한 정보를 출력한다.
단말(300)은 설정에 따라 사용자맵과 가이드맵 중 어느 하나를 화면에 표시하며, 설정을 통해 변경하여 표시할 수 있다.
단말(300)은 수신되는 지도를 화면에 표시하며, 키입력 또는 터치입력을 통해 영역을 분리 또는 병합하여 변경할 수 있고, 영역의 속성을 변경하거나, 추가하여 설정할 수 있다. 또한, 단말은 특정 장애물에 대하여 지도상에 위치를 지정할 수 있고, 지정된 장애물에 대한 정보를 이동 로봇으로 전송되어, 기 저장된 지도에 추가된다.
단말(300)은 표시되는 지도에 대하여, 키입력 또는 터치입력에 대응하여 청소영역을 지정하고, 청소 순서를 설정할 수 있으며, 이동 로봇으로 청소명령을 전송한다.
또한, 단말(300)은 이동 로봇으로부터 수신되는 데이터를 바탕으로, 표시되는 지도(사용자맵과 가이드맵) 상에 청소 상태를 표시한다. 단말은 장애물에 대한 정보가 추가되는 경우, 수신되는 데이터를 바탕으로 지도를 갱신하여 표시한다.
또한, 제어부(200)는 충전대의 복귀신호를 통해 충전대가 감지되면, 이동 로봇의 현재 위치를 인식하고, 이동 로봇의 현재위치를 바탕으로 충전대의 위치를 산출하여 저장한다. 제어부(200)는 충전대의 위치가 지도상에 표시되도록 설정할 수 있다.
도 6 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치가 도시된 예시도이다.
이동 로봇(1)은 저장된 지도가 저장되어 있지 않은 경우, 또는 초기동작 시, 벽추종(월팔로윙, Wall Following) 등을 통해 청소영역을 주행하여 지도를 생성할 수 있다. 또한, 이동 로봇(1)은 지도가 없는 상태에서 청소영역에 대한 청소를 수행하며 획득되는 장애물정보를 통해 지도를 생성할 수 있다.
이동 로봇(1)은 기초맵에 영역을 구분하여 청소맵을 생성하고, 청소맵의 영역의 형태를 가공하여, 사용자가 청소영역을 용이하게 인식할 수 있도록 시각적 효과를 추가하여 사용자맵을 생성한다.
이동 로봇(1)이 청소영역을 주행하여 지도가 생성되면, 이동 로봇(1)은 생성된 지도를 단말(300)로 전송한다.
단말(300)은 이동 로봇(1)으로부터 수신되는 사용자맵 또는 청소맵을 화면에 표시할 수 있고, 또한, 사용자맵에 청소맵이 중첩된 형태인 가이드맵을 지도를 표시할 수 있다. 단말(300)은 이동 로봇에 의해 생성되는 지도뿐 아니라, 청소영역에 대한 평면도를 지도로써 화면에 표시할 수 있다.
도 6의 (a)에 도시된 바와 같이, 단말(300)은 이동 로봇(1)을 제어하기 위한 어플리케이션 또는 프로그램을 실행하고, 화면에 청소명령을 설정하기 위한 제어메뉴를 표시한다.
청소영역을 지정하여 청소명령을 입력하기 위한 제어메뉴(201)에는, 청소영역에 대한 지도(205), 청소시작키(204)가 구비된다. 또한, 제어메뉴에는 청소할 영역이 지정되면, 그에 대한 세부 설정, 예를 들어 주행 방식, 장애물에 대한 동작 등을 설정하는 설정키(미도시)를 더 포함할 수 있다.
단말(300)은 설정에 따라, 청소영역에 대한 평면도를 표시할 수 있고, 또한, 이동 로봇(1)에 의해 생성된 맵, 예를 들어 사용자맵 또는 가이드맵이 표시될 수 있다. 사용자맵 또는 가이드맵에는 장애물의 종류에 따라 장애물에 대한 이미지, 아이콘, 이모티콘 등이 표시될 수 있다.
평면도는 이동 로봇(1)의 주행 가능한 영역에 관계없이 사용자가 청소영역에 대한 위치, 룸별 상태, 가구배치 등을 판단하기 쉽도록 도시된 것이다.
이동 로봇(1)은 평면도를 기준으로 청소명령이 입력되면, 구비되는 맵과 매칭하여 청소할 영역을 판단하여 주행하며 청소를 수행한다.
이동 로봇(1)이 청소명령에 따라, 지정된 영역을 주행하며 청소를 수행하면, 이동 로봇(1)은 설정 주기로 청소상태, 청소진행상황에 대한 데이터를 단말(300)로 전송한다. 단말(300)은 이동 로봇(1)으로부터 수신되는 데이터에 따라 화면에 청소상태와 이동 로봇의 현재위치를 표시한다.
도 6의 (b)에 도시된 바와 같이, 이동 로봇(1)은 청소 중에, 고립상황이 발생하는 경우, 그에 대한 데이터를 저장하고, 단말(300)로 고립상황에 대한 데이터를 전송한다.
단말(300)은 수신되는 데이터에 따라, 이동 로봇(1)이 고립상황인 경우 그 위치를 지도에 표시한다. 단말(300)은 이동 로봇(1)의 위치정보를 바탕으로, 고립이 발생된 위치를 지도(205)와 매칭하여 고립위치(208, 209)를 표시한다. 고립위치는 경고 또는 위험을 나타내기 위한 것으로 이미지, 아이콘, 이모티콘, 숫자, 문자, 특수문자 또는 그 조합으로 표시될 수도 있다.
단말(300)은 지도상에 고립위치를 표시하고, 그에 대응하여 소정의 알림음 또는 경고음을 출력할 수 있고, 또한 경고메시지를 표시할 수 있다. 그에 따라 사용자는 단말에 표시되는 고립위치가 이동 로봇(1)의 고립상황을 확인할 수 있다.
이때, 단말(300) 또는 이동 로봇(1)은 고립위치를 저장하고, 해당 위치에 자동으로 가상벽을 설정할 수 있다. 이동 로봇(1)이 고립위치에 가상벽을 설정하는 경우 단말(300)로 고립위치 및 가상벽 설정에 대한 데이터를 전송하여 단말(300)이 가상벽 설정을 확인할 수 있다.
단말(300)은 고립위치로 인하여 이동 로봇(1)이 이동할 수 없는 위치가 청소하도록 선택된 경우, 고립위치에 대한 설명과 안내메시지를 출력한다.
도 6의 (c)에 도시된 바와 같이, 이동 로봇(1)은 고립위치에 대한 데이터를 바탕으로 고립이 발생에 대한 예상위치를 설정할 수 있다.
이동 로봇(1)은 고립위치의 주변 환경과 유사한 환경, 예를 들어 주변 장애물의 위치 이동 가능한 통로의 폭 등을 바탕으로 예상위치를 설정할 수 있다.
또한, 이동 로봇(1)은 고립위치에 대한 데이터는 서버로 전송하여, 서버로부터 데이터 분석을 통해 예상위치에 대한 데이터를 수신할 수 있다. 서버는, 이동 로봇의 데이터를 통해 청소영역 및 이동 로봇의 동작을 분석한다.
이동 로봇(1)은 설정에 따라 예상위치에 가상벽을 설정할 수 있다. 이동 로봇(1)은 고립위치와 예상위치로의 주행을 제한하기 위하여, 선, 점, 면 등의 형태가 사용될 수 있고, 면은 다각형, 원형 또는 자유형태(ex 하트, 별)로 설정될 수 있다.
이동 로봇(1)은 단말(300)로 예상위치에 대한 데이터는 전송한다. 이동 로봇(1)은 가상벽이 설정되는 경우 가상벽에 대한 데이터로 함께 전송한다.
단말(300)은 고립위치(208, 209)와 함께 예상위치(206, 207)를 지도에 표시한다. 단말(300)은 예상위치를 이미지, 아이콘, 이모티콘, 숫자, 문자, 특수문자 또는 그 조합으로 표시할 수 있다.
단말(300)은 고립이 발생한 고립위치와, 발생 가능성이 있는 예상위치를 상이하게 표시한다. 예를 들어 단말(300)은 고립위치와 예상위치의 아이콘을 상이하게 표시하거나, 또는 표시되는 색상이나 무늬를 상이하게 구성하여 표시할 수 있다.
도 7 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립발생위치 및 그에 따른 예상위치가 도시된 예시도이다.
도 7의 (a)에 도시된 바와 같이, 단말(300)은 청소설정을 위한 제어메뉴(211)를 화면에 표시한다. 제어메뉴에는 청소할 영역의 지도(212)가 표시되고, 명령입력을 위한 키가 복수개 표시된다.
단말(300)은 제어메뉴(211)에 표시되는 지도(212)에서 사용자의 키입력 또는 터치입력에 대응하여, 이동 로봇이 청소할 영역을 설정한다. 또한, 단말(300)은 제어메뉴를 통해 청소에 대한 세부사항, 예를 들어 청소순서, 우선순위 지정이 가능하고, 장애물 감지시 그에 대한 동작, 그리고 가상벽을 설정할 수 있다.
단말(300)은 제어메뉴(211)의 지도(212)에, 기 수행된 청소동작에서 고립이 발생한 경우, 고립위치(216, 217)를 표시하고, 또한, 고립위치에 대한 데이터를 바탕으로, 고립이 발생한 가능성이 높은 곳을 예상위치(214, 215)로 표시한다. 예상위치는 고립위치에 대한 데이터와 청소영역에 대한 데이터를 분석하여, 고립위치와 비슷한 형태의 영역, 주변의 장애물의 위치 및 구조에 따라 설정될 수 있다. 예상위치는 이동 로봇(1), 단말(300), 서버(9) 중 어느 하나로부터 설정될 수 있다.
단말(300)은 고립위치(216, 217)와 예상위치(214, 215)에 가상벽을 설정한다. 이때 고립위치와 예상위치에 따른 가상벽은 이동 로봇(1)에 의해 설정되어 그에 대한 데이터가 단말로 전송될 수 있고, 단말에서 설정하여 이동 로봇으로 전송할 수 있다.
예를 들어 고립위치의 경우 이동 로봇(1)이, 고립이 발생한 때에 즉시 가상벽을 설정하여 단말로 전송할 수 있고, 단말(300)은 고립위치(216, 217)를 화면에 표시한다. 또한, 고립위치에 대한 데이터를 바탕으로 서버에 의해 예상위치가 산출된 경우 단말(300)은 예상위치에 대한 데이터를 수신하여 예상위치에 가상벽을 설정할 수 있다. 예상위치(214, 215)에 대한 가상벽은, 사용자의 설정에 따라 해제될 수 있다.
도 7의 (b)에 도시된 바와 같이, 단말(300)은 제어메뉴(211)에서, 사용자의 키입력 또는 터치입력에 대응하여, 지도(212)상에 청소할 영역을 설정한다.
예를 들어, 지도의 일 영역이, 터치 후 드래그되면, 단말(300)은 터치 시작점으로부터 드래그된 마지막 지점, 즉 드래그가 멈춘 지점을 대각선으로 하는 사각형 형태의 선택영역(218)을 청소할 영역으로 설정한다.
또한, 단말(300)은 터치 후 드래그 되는 위치에 대응하여, 터치 시작점으로부터 드래그된 지점을 지름으로 하는 원형의 영역을 청소할 영역으로 설정할 수 있고, 드래그되는 위치에 따라 다각형 또는 자유형태로 청소할 영역을 설정할 수 있다. 단말(300)은 복수의 지점이 터치되는 경우, 지도상의 각 영역, 즉 방, 거실, 주방으로 구분되는 영역을 각각 선택하여 청소할 영역으로 설정한다.
도 7의 (c)에 도시된 바와 같이, 사용자의 입력에 따라 청소할 영역으로 선택영역(218)이 설정되면, 단말(300)은 고립위치와 예상위치를 회피하는 예상경로(219)를 생성하여 지도에 표시한다. 단말(300)은 예상경로(219)에 대한 청소를 확인하는 메시지를 출력할 수 있다.
단말(300)은 청소시작키(213)가 입력되면, 또는 메시지에 대응하여 사용자로부터 청소에 대한 응답이 입력되면, 이동 로봇(1)으로 청소명령을 전달한다.
이동 로봇(1)은 고립위치와 예상위치에 가상벽이 설정됨에 따라, 해당 위치로 진입하지 않고 회피하면서 청소를 수행한다. 이동 로봇(1)은 가상벽의 위치를 판단하여 가상벽에 인접하게 접근한 후 회피하거나, 가상벽으로부터 지정된 거리 이상은 접근하지 않고 지정된 거리를 유지하면서 청소하며, 가상벽을 회피할 수 있다.
도 8 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치에 대한 청소영역의 주변환경을 설명하는데 참조되는 예시도이다.
도 8에 도시된 바와 같이, 단말(300), 이동 로봇(1) 그리고 서버(9)는 상호 통신하여 데이터를 공유한다.
이동 로봇(1)이 청소명령에 따라 청소를 수행하는 중, 고립이 발생 되면, 이동 로봇(1)은 단말(30)과 통신하여, 고립위치에 대한 데이터를 전송한다.
고립위치에 대한 데이터, 이하 고립위치데이터는, 이동 로봇(1)이 주행하는 중에 고립이 발생한 위치에 대한 데이터로써, 고립이 발생한 시점의 이동 로봇의 위치, 고립이 발생한 위치에서의 주변영역의 형태와 크기, 주변의 장애물에 대한 정보가 포함된다.
예를 들어, 이동 로봇(1)은 의자 또는 테이블 밑, 침대 또는 서랍장 밑, 계단 등에서 고립이 발생할 수 있다. 의자 밑으로 이동 로봇(1)이 진입한 후, 의자 다리에 충돌하여 탈출하지 못하는 경우 고립이 발생할 수 있다. 이동 로봇(1)은 일정 횟수 탈출을 시도한 후에도 탈출에 실패하는 경우 고립이 발생한 것으로 판단하여 탈출위치를 저장하고, 탈출위치에 대한 데이터를 전송한다.
이동 로봇(1)은 탈출에 실패하는 경우 소정의 경고음을 출력하여 사용자가 고립상태를 인지할 수 있도록 한다.
단말(300)은 고립위치에 대한 데이터를 수신하여 고립위치(51)를 화면에 표시하고, 그에 대한 경고음을 출력하여, 사용자가 이동 로봇의 고립상태를 인지할 수 있도록 한다.
이동 로봇(1)은 일시적으로 고립된 후 탈출에 성공한 경우에도, 고립위치에 대한 데이터를 저장하고, 단말로 전송할 수 있다.
이동 로봇(1)은 고립이 발생된 경우, 구비되는 영상 획득부를 통해 주변을 촬영하여 이동 로봇의 현재위치와 촬영된 영상을 고립위치 데이터(53 내지 55)로써 전송한다.
이동 로봇(1)은 현재 위치에서 정지영상을 촬영할 수 있고, 현재위치에서 연속회전 또는 일정 각도 단위로 회전 후 정지하는 것을 반복하여 하며, 동영상 또는 파노라마영상을 촬영할 수 있다.
이동 로봇(1)이 단말로 고립위치 데이터를 전송하면, 단말(300)은 수신되는 데이터에 대응하여 고립위치(51)를 화면에 표시한다.
또한, 이동 로봇(1)은 고립위치에 대한 데이터를 서버(9)로 전송한다. 경우에 따라 이동 로봇(1)이 서버와 연결되지 않은 경우, 단말(300)은 이동 로봇으로부터 수신된 고립위치에 대한 데이터를 서버(9)로 전송한다.
서버뿐 아니라, 이동 로봇(1) 또는 단말(300)은, 저장된 데이터에 따라 자체적으로 고립위치에 대한 데이터를 분석하여 고립이 발생할 가능성이 있는 예상위치를 산출할 수 있다.
예상위치는 고립위치에 대한 데이터와 청소영역에 대한 데이터를 분석하여, 고립위치와 비슷한 형태의 영역, 주변의 장애물의 위치 및 구조, 바닥상태에 따라 설정될 수 있다.
이동 로봇(1)이 자체적으로 예상위치를 산출하는 경우, 산출된 예상위치에 대한 데이터 또한 단말(300)과 서버(9)로 전송할 수 있다.
이하 서버에서 분석하는 것을 예로하여 설명하며, 분석과정 및 예상위치 산출에 대한 과정은 이동 로봇(1) 또는 단말(300)에서도 동일하게 수행될 수 있음을 명시한다.
서버(9)는 고립위치데이터를 분석하여, 고립이 발생할 수 있는 예상위치를 산출한다.
서버는 고립위치데이터를 누적하여 저장하고, 고립이 발생된 영역의 형태, 크기 및 바닥재질, 주변의 장애물의 위치 및 크기, 이동 로봇의 크기를 분석하여, 청소 영역 중, 동일한 바닥재질, 동일한 크기의 영역, 및 장애물의 구조 중 적어도 하나를 만족하는 영역을 예상위치로 설정한다.
또한, 서버는 동일하지는 않으나 소정 비율 동일한 영역에 대하여 예상위치로 설정할 수 있다. 동일성에 대한 비율은 설정에 따라 변경될 수 있다.
서버(9)는 예상위치에 대한 데이터, 이하 예상위치데이터를 이동 로봇(1) 또는 단말(300)로 전송한다.
서버는 고립위치데이터 또는 예상위치에 대한 데이터를 누적하여 저장하고, 저장된 데이터를 분석하여 이동 로봇이 고립되는 상황에 대한 분석을 통해, 예상위치를 산출하여 저장하고, 연결되는 이동 로봇(1)으로 그에 대한 데이터를 전송할 수 있다.
서버는 복수의 이동 로봇에 대한 데이터를 누적하여 저장하고, 복수의 이동 로봇의 데이터를 바탕으로, 상기 이동 로봇의 주행 불가능한 영역을 학습한다.
서버는 이동 로봇과 유사한 환경의 청소영역을 청소하는 다른 이동 로봇으로 예상위치에 대한 데이터를 전송할 수 있다. 예를 들어 아파트의 경우 동일한 구조를 갖는 경우가 많으므로, 다른 이동 로봇에서도 유사한 고립상태가 발생할 수 있으므로 예상위치에 대한 데이터를 공유할 수 있다.
또한, 서버(9)는 이동 로봇(1)과 유사한 환경의 청소영역에 위치하는 다른 이동 로봇의 고립위치데이터를 바탕으로 산출되는 예상위치에 대한 데이터를 이동 로봇 또는 단말로 전송할 수 있다.
이동 로봇(1) 또는 단말(300)은 예상위치데이터를 바탕으로, 예상위치에 가상벽을 설정한다.
단말(300)은 청소영역에 대한 지도를 화면에 표시하고, 고립위치(51)와 예상위치(52)를 각각 지도상에 아이콘으로 표시한다.
단말(300)은, 사용자의 입력에 따른 청소명령을 이동 로봇(1)으로 전송하고, 이동 로봇(1)은 예상위치 및 고립위치를 회피하여 청소영역을 주행하며 청소를 수행한다.
도 9는 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치 표시 및 가상벽 설정방법을 설명하는데 참조되는 예시도이다.
도 9의 (a)에 도시된 바와 같이, 단말(300)에 표시되는, 이동 로봇의 청소를 제어하기 위한 제어메뉴(221)에는, 청소영역에 대한 지도(222)가 표시되고, 사용자의 키입력 또는 터치입력에 대응하여 청소할 영역이 설정되고, 청소영역에 가상벽이 설정되거나 또는 청소동작에 대한 설정이 입력된다.
앞서 설명한 바와 같이, 이동 로봇(1)이 청소명령에 따라 주행하며 청소를 수행하는 중에, 고립상태가 발생하는 경우, 단말(300)은 지도상에 고립위치(226, 228)(227, 229)를 표시한다. 또한, 단말(300)은 고립이 발생할 가능성이 있는 위치를 예상위치(227, 229)를 표시한다.
화면에 표시된 고립위치와 예상위치 중 어느 하나의 아이콘이 선택되면, 단말(300)은 선택된 아이콘에 대한 세부정보(232)를 화면에 표시한다. 세부정보는 말풍선 또는 팝업창의 형태로 표시될 수 있고, 경우에 따라 화면의 상단 또는 하단에 표시될 수도 있다.
세부정보(232)에는 해당 위치에서 발생된 이동 로봇(1)의 고립상태에 대한 정보가 포함된다. 고립위치인 경우에는 고립이 발생한 시간과 원인이 표시되고, 예상위치인 경우에는 고립이 발생할 가능성에 대한 원인이 표시된다.
예를 들어, 이동 로봇(1)이 의자 밑으로 진입한 후 의자 다리에 걸려서 이동 로봇이 고립상태가 된 경우, 고립위치의 아이콘이 선택되면, 고립이 발생한 시간과, 그 원인이 의자 걸림으로 장애발생에 대한 세부정보가 표시된다.
예상위치의 아이콘이 선택된 경우에는 고립이 발생할 것이라고 예측한 이유로써, 고립 원인이 표시된다. 예를들어 바닥재질에 따라 이동 로봇의 주행이 불가능한 경우 바닥재질에 의한 장애예상지역인 것으로 표시된다.
도 9의 (b)에 도시된 바와 같이, 단말(300)은 고립위치 또는 예상위치에 대하여 설정을 취소할 수 있다.
단말(300)은 고립위치(226, 228) 또는 예상위치(227, 229)의 아이콘이 일정시간 이상 터치되는 경우(롱키입력), 고립위치 또는 예상위치를 설정하거나 해제할 수 있다. 이때, 고립위치 또는 예상위치가 해제되면, 해당 위치의 가상벽 또한 해제된다. 이때 설정과 해제에 따른 롱키입력은 일 예로, 롱키입력뿐 아니라 터치되는 압력의 정도, 더블터치 등에 의해 기능이 동작할 수도 있다.
고립위치 또는 예상위치에 따른 설정이 해제되면, 고립위치 또는 예상위치의 아이콘은 비활성화된다. 고립위치 또는 예상위치의 아이콘은 다른 아이콘보다 흐리게 또는 무채색으로 표시될 수 있고, 경우에 따라 아이콘이 더 이상 표시되지 않을 수도 있다.
비활성화된 아이콘이, 다시 일정시간 이상 터치되어 롱키입력이 발생하는 경우, 단말(300)은 아이콘에 대응하는 고립위치 또는 예상위치를 다시 설정하고, 해당 위치에 가상벽을 설정한다. 단말(300)은 고립위치 또는 예상위치에 대한 아이콘을 활성화하여 아이콘을 표시한다.
고립위치 또는 예상위치에 대한 설정 또는 해제는, 설정아이콘(236)과 해제아이콘(237)으로 표시될 수 있고, 그에 대한 설정정보창(234)이 표시된다. 설정정보창(234)은 말풍선 또는 팝업창의 형태로 표시될 수 있고, 경우에 따라 화면의 상단 또는 하단에 표시될 수도 있다. 또한, 설정정보창(234)에는 고립위치 또는 예상위치로 설정되었는지 또는 해제되었는지 여부가 표시된다. 단말(300)은, 설정아이콘 및 해제아이콘과, 설정정보창 모두를 표시하거나 또는 어느 하나만 표시할 수 있다.
도 10 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 가상벽 설정에 따른 이동경로가 도시된 예시도이다.
도 10의 (a)에 도시된 바와 같이, 단말(300)은 고립위치(243, 244)와, 예상위치(245, 246)가 설정된 상태에서, 청소할 영역에 대하여 이동 로봇(1)의 이동경로(247)를 산출하여 화면에 표시한다. 단말은 고립위치와 예상위치가 활성화된 경우, 해당 위치에 가상벽이 설정되므로, 이동 로봇(1)이 고립위치와 예상위치를 회피하여 주행하는 경로를 표시한다.
단말(300)은 청소할 영역에서의 이동 로봇의 모든 움직임을 표시하는 것은 아니고, 청소의 순서와 이동하는 방향을 사용자가 확인할 수 있도록 선의 형태로 이동경로를 표시한다.
한편, 앞서 설명한 도 9의 (b)와 같이 고립위치와 예상위치 중 어느 하나가 해제되는 경우, 단말(300)은 지정된 가상벽을 해제하고 이동 가능한 영역으로 인식하게 된다.
그에 따라 단말(300)은 고립위치 중 하나가 해제된 경우, 해당 위치로의 이동이 가능해 지므로, 도 10의(b)에 도시된 바와 같이, 새로운 이동경로(248)를 산출하여 표시한다.
도 11 은 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치 설정방법이 도시된 순서도이다.
도 11에 도시된 바와 같이, 이동 로봇(1)은 설정에 따라 지정된 영역을 주행하면서 청소를 수행한다(S310).
이동 로봇(1)은 주행 중, 소정 영역에 진입 한 후, 이동이 불가능한 상태 되는 경우, 고립상태로 판단한다(S320).
예를 들어 이동 로봇(1)은 의자 밑, 테이블 밑, 좁은 공간 등을 청소하기 위해 진입했다가 의자 다리와 같은 주변 장애물에 막혀 다음 영역으로 주행할 수 없는 상태가 된다. 이동 로봇(1)은 소정 횟수 이동을 시도하여, 고립상태에서 빠져나오지 못하는 경우 고립상태로 판단하고 에러를 출력한다(S330).
이동 로봇(1)은 고립상태로 판단되면, 이동 로봇(1)의 고립상태에 대하여 사용자가 인지할 수 있도록 소정의 경고음을 출력할 수 있다.
이동 로봇(1)은 현재위치를 판단하고, 영상 획득부를 통해 주변에 대한 영상을 촬영한다(S340).
이동 로봇(1)은 정지상태에서, 정지영상을 촬영할 수 있고, 또한 소정 각도 단위로 회전 후 정지하는 것을 반복하면서 이동 로봇(1)의 주변 환경에 대한 정지영상을 복수회 촬영할 수 있다. 또한, 이동 로봇(1)은 제자리에서 연속으로 360도 회전하며 동영상 또는 파노라마영상을 촬영할 수 있다.
이동 로봇(1)은 고립상태로 판단된 이후에도 탈출모드를 설정하여 탈출을 시도한다(S350). 이동 로봇(1)은 탈출에 성공한 경우에도 해당 위치에 대하여 고립위치를 설정하고, 다음 주행시에는 접근하지 않도록 가상벽을 설정한다.
이동 로봇(1)은 고립상태에서 빠져나오기 위한 탈출을 일정 횟수 이상 시도하는데, 탈출에 성공하더라도 해당 위치에 대하여 고립위치인 것으로 판단하여 고립위치데이터를 저장한다.
이동 로봇(1)은 촬영된 영상과 현재 위치에 대한 정보를 포함하는 고립위치데이터를 단말(300)로 전송한다(S360). 또한, 이동 로봇(1)은 서버로 고립위치데이터를 전송할 수 있다. 고립위치데이터에는 고립위치에 설정된 가상벽에 대한 정보 또한 포함될 수 있다.
단말(300)은 수신되는 고립위치데이터에 대응하여, 표시되는 지도와 이동 로봇의 고립위치를 매칭하여 지도의 일 영역에 고립위치에 대한 아이콘을 표시한다.
또한, 서버는 고립위치데이터를 자체 분석하여 청소영역 중 고립이 발생할 가능성이 있는 지점을 예상위치로 산출한다. 이때, 고립위치데이터의 분석 및 예상위치 산출은, 이동 로봇(1) 또는 단말에서도 수행될 수 있다.
서버는 분석 결과에 따라, 이동 로봇이 주행하는 청소영역 중, 고립위치와 유사한 환경의 영역에 대하여 고립 예상위치를 설정한다. 또한, 서버는 이동 로봇의 과거 주행데이터와 고립위치데이터를 분석하여 청소영역 내에 바닥재질, 주변 장애물의 형상, 장애물의 위치에 따라 고립이 발생할 가능성이 있는 영역에 대하여 예상위치를 설정한다. 또한, 서버는 청소영역이 유사한 다른 이동 로봇의 데이터를 함께 비교 분석하여 고립이 발생할 예상위치를 추가 설정할 수 있다.
서버는 예상위치데이터를 이동 로봇(1) 또는 단말(300)로 전송한다.
이동 로봇(1) 또는 단말(300)은 수신되는 예상위치데이터에 따라, 고립이 발생한 가능성이 있는 예상위치를 설정하고(S370), 예상위치에 가상벽을 설정한다(S380).
단말(300)은 수신되는 예상위치데이터에 따라, 지도에 예상위치를 표시한다. 단말(300)은 고립위치와 예상위치를 상이하게 표시하고, 키입력 또는 터치입력에 대응하여 고입위치 또는 예상위치를 설정하거나 해제한다. 고입위치 또는 예상위치가 해제되는 경우 해당 위치에 설정된 가상벽 또한 해제된다.
도 12 는 본 발명의 일실시예에 따른 이동 로봇 시스템의 고립위치에 따른 가상벽 설정방법이 도시된 순서도이다.
도 12에 도시된 바와 같이, 단말(300)은, 이동 로봇의 청소 설정을 위한 제어메뉴를 화면에 표시한다.
단말(300)은 기 저장된 데이터를 바탕으로, 이동 로봇(1)의 고립상태 및 그에 따라 산출된 예상위치를 화면에 표시한다(S410). 과거 이동 로봇의 청소동작 중에 고립이 발생한 경우, 그에 따른 고립위치와, 예상되는 예상위치를 표시한다.
제어메뉴에서, 새로운 청소를 설정하는 경우, 지도상에 소정 영역이 선택(탭) 되거나, 터치 후 드래그되어 일정 크기의 영역이 선택되면, 단말(300)은 선택영역을 청소할 영역으로 설정한다(S420). 또한 청소 중 이동 로봇(1)의 동작 등에 대하여 설정할 수 있다.
단말(300)은 선택영역의 범위 내에서, 고립위치와 예상위치 그리고 장애물의 위치를 고려하여 예상경로를 산출하고, 지도에 표시한다(S430). 예상경로는 세부적인 위치까지 표시된 것은 아니고 이동 로봇의 주행 방향을 나타내기 위한 것이다.
단말(300)은 지도에 표시되는 고립위치 또는 예상위치 중 어느 하나가 변경되는 경우(S440), 예를 들어 고립위치 또는 예상위치가 새로 설정되거나 또는 해제되는 경우, 주행 가능한 영역이 변경됨에 따라 새로운 예상경로를 산출하여 표시한다(S450).
단말(300)은 청소시작키가 입력되면, 청소영역 및 설정에 대한 데이터를 이동 로봇(1)으로 전송하여 청소명령을 전달한다. 그에 따라 이동 로봇(1)은 지정된 영역에 대한 청소를 수행한다(S460). 이동 로봇(1)은 주행 중 장애물 또는 가상벽, 특히 고립위치 또는 예상위치에 따른 가상벽이 감지되면, 가상벽을 회피하여 다음 영역으로 이동한다(S470).
그에 따라 본 발명은 이동 로봇이, 특정 위치에서 빠져나올 수 없는 상태가 될 경우, 고립상태로 판단하여, 고립이 발생된 위치, 주변 장애물의 위치 및 크기, 배치구조, 장애물의 높이 그리고 재질에 대한 정보를 저장한다.
서버는 고립위치데이터를 분석하여 아직 고립이 발생된 적은 없으나, 발생 가능하다고 판단되는 영역을 예측하여 예상위치로 설정함으로써, 고립으로 인한 이동 로봇(1)의 동작 정지를 방지한다. 서버는 이동 로봇뿐 아니라 다른 이동 로봇의 데이터를 분석하여 고립이 발생되는 상황에 대한 데이터를 누적하고, 유사한 형태의 영역이 포함된 경우 예측위치로 설정함으로써 주행 또는 청소 불가능한 영역에 대하여 학습할 수 있다. 그에 따라 고립위치 또는 예상위치를 통해 해당 영역으로의 이동을 제한함에 따라 이동 로봇의 손상을 방지하고 보다 효과적으로 청소할 수 있게 된다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
1: 이동 로봇 10: 본체
60, 61 내지 73: 가상벽
100: 장애물 감지유닛 120: 제 1 패턴 조사부
130: 제 2 패턴 조사부 140: 영상 획득부
150: 센서부
200: 제어부 210: 장애물인식부
220: 맵생성부 230: 주행제어부
240: 위치인식부 250: 주행 구동부
280: 데이터부
300: 단말
60, 61 내지 73: 가상벽
100: 장애물 감지유닛 120: 제 1 패턴 조사부
130: 제 2 패턴 조사부 140: 영상 획득부
150: 센서부
200: 제어부 210: 장애물인식부
220: 맵생성부 230: 주행제어부
240: 위치인식부 250: 주행 구동부
280: 데이터부
300: 단말
Claims (30)
- 청소영역을 주행하며, 상기 청소영역에 대한 지도를 생성하고, 상기 지도를 바탕으로 이동하며 이물질을 흡입하는 이동 로봇; 및
상기 지도를 바탕으로, 상기 이동 로봇으로 청소명령을 입력하는 단말;을 포함하고,
상기 이동 로봇은, 상기 청소영역을 주행하는 중, 주변의 장애물에 의해 이동이 불가능한 상태가 되면, 고립상태로 판단하여 고립위치와 주변영역에 대한 정보가 포함된 고립위치데이터를 상기 단말 또는 서버로 전송하고,
상기 단말은, 상기 고립위치와, 상기 청소영역 중 고립이 발생될 것으로 판단되는 예상위치를 상기 지도에 매칭하여 표시하고, 상기 고립위치가 선택되면, 고립이 발생한 시간과 이유를 표시하고, 상기 예상위치가 선택되면, 고립이 발생할 것으로 예상되는 원인을 표시하는 것을 특징으로 하는 이동 로봇 시스템. - 제 1 항에 있어서,
상기 이동 로봇은, 상기 고립이 발생된, 상기 고립위치에 가상벽을 설정하여 다음 청소시 회피하여 주행하는 것을 특징으로 하는 이동 로봇 시스템. - 제 1 항에 있어서,
상기 이동 로봇은, 고립상태로 판단되면, 주변 영역의 장애물의 위치, 장애물의 높이, 바닥재질을 판단하여 상기 고립위치데이터에 포함하여 전송하는 것을 특징으로 하는 이동 로봇 시스템. - 제 3 항에 있어서,
상기 이동 로봇은, 고립상태로 판단되면, 현재 위치에서 영상을 촬영하는 것을 특징으로 하는 이동 로봇 시스템. - 제 4 항에 있어서,
상기 이동 로봇은, 소정 각도로 회전 후 정지하는 것을 반복하며 복수의 정지영상을 촬영하는 것을 특징으로 하는 이동 로봇 시스템. - 제 4 항에 있어서,
상기 이동 로봇은, 현재위치에서 연속으로 회전하며 동영상 또는 파노라마영상을 촬영하는 것을 특징으로 하는 이동 로봇 시스템. - 제 1 항에 있어서,
상기 이동 로봇의 데이터를 통해 상기 청소영역 및 상기 이동 로봇의 동작을 분석하는 서버를 더 포함하고,
상기 서버는 상기 고립위치데이터를 분석하여, 상기 청소영역 중 고립이 발생될 것으로 판단되는 상기 예상위치를 산출하여 상기 이동 로봇 또는 상기 단말로 전송하는 이동 로봇 시스템. - 제 7 항에 있어서,
상기 서버는 상기 고립위치데이터를 누적하여 저장하고,
고립이 발생된 영역의 형태, 크기 및 바닥재질, 주변의 장애물의 위치 및 크기, 이동 로봇의 크기를 분석하여, 상기 청소영역 중, 동일한 바닥재질, 동일한 크기의 영역, 및 장애물의 구조 중 적어도 하나를 만족하는 영역을 예상위치로 설정하는 것을 특징으로 하는 이동 로봇 시스템. - 제 7 항에 있어서,
상기 서버는 복수의 이동 로봇에 대한 데이터를 누적하여 저장하고,
상기 복수의 이동 로봇의 데이터를 바탕으로, 상기 이동 로봇의 주행 불가능한 영역을 학습하는 것을 특징으로 하는 이동 로봇 시스템. - 제 1 항에 있어서,
상기 이동 로봇은, 상기 예상위치에 가상벽을 설정하여 다음 주행 시 회피하여 주행하는 것을 특징으로 하는 이동 로봇 시스템. - 삭제
- 제 1 항에 있어서,
상기 단말은, 상기 고립위치와 상기 예상위치를 상이한 형태로 표시하고, 색상과 무늬로 구분하여 표시하는 것을 특징으로 하는 이동 로봇 시스템. - 제 1 항에 있어서,
상기 단말은, 청소할 영역이 설정되면, 상기 고립위치와 상기 예상위치를 회피하는 예상경로를 산출하여 상기 지도에 표시하고,
상기 이동 로봇으로 청소명령을 전송하는 것을 특징으로 하는 이동 로봇 시스템. - 삭제
- 제 1 항에 있어서,
상기 단말은, 키입력 또는 터치입력에 대응하여 상기 고립위치와 상기 예상위치를 설정 또는 해제하는 것을 특징으로 하는 이동 로봇 시스템. - 제 15 항에 있어서,
상기 단말은 상기 고립위치 또는 상기 예상위치 중 어느 하나가 해제되면, 설정된 가상벽을 해제하고, 주행 가능한 영역으로 판단하여 새로운 예상경로를 산출하여 표시하는 것을 특징으로 하는 이동 로봇 시스템. - 제 15 항에 있어서,
상기 단말은 상기 고립위치 또는 상기 예상위치 중, 어느 하나가 해제되면, 해제된 위치의 아이콘을 비활성화하여 표시하고,
비활성화된 상기 아이콘이 다시 선택되면, 상기 아이콘에 대응하는 상기 고립위치 또는 상기 예상위치를 재설정하는 것을 특징으로 하는 이동 로봇 시스템. - 이동 로봇이, 청소영역을 주행하며, 상기 청소영역에 대한 지도를 생성하고, 상기 지도를 바탕으로 청소를 수행하는 단계;
상기 이동 로봇이 주행 중, 제 1 영역에서 이동 불가능한 상태가 되면, 고립상태로 판단하는 단계;
고립위치 및 주변영역에 대한 정보가 포함된 고립위치데이터를 생성하는 단계;
상기 고립위치데이터를 단말 또는 서버로 전송하는 단계;
상기 단말이 상기 고립위치와, 상기 청소영역 중 고립이 발생될 것으로 판단되는 예상위치를 상기 지도에 매칭하여 표시하는 단계;
상기 고립위치가 선택되면, 고립이 발생한 시간과 원인을 표시하는 단계; 및
상기 예상위치가 선택되면, 고립 원인을 표시하는 단계를 포함하는 이동 로봇 시스템의 제어방법. - 제 18 항에 있어서,
상기 이동 로봇이, 다음 청소시 상기 고립위치를 회피하여 주행하도록 가상벽을 설정하는 단계;를 더 포함하는 이동 로봇 시스템의 제어방법. - 제 18 항에 있어서,
상기 고립상태로 판단되면, 상기 이동 로봇이, 주변 영역의 장애물의 위치, 장애물의 높이, 바닥재질을 판단하여 상기 고립위치데이터를 생성하는 단계를 더 포함하는 이동 로봇 시스템의 제어방법. - 제 18 항에 있어서,
상기 고립상태로 판단되면, 상기 이동 로봇이 정지영상, 동영상, 파노라마영상 중 어느 하나의 영상을 촬영하여 상기 고립위치데이터를 생성하는 것을 특징으로 하는 이동 로봇 시스템의 제어방법. - 제 18 항에 있어서,
상기 서버가, 상기 이동 로봇으로부터 수신되는 상기 고립위치데이터를 분석하여, 상기 청소영역 중 고립이 발생될 것으로 판단되는 상기 예상위치를 산출하는 단계; 및
상기 예상위치에 대한 데이터를 상기 이동 로봇 또는 상기 단말로 전송하는 단계를 더 포함하는 이동 로봇 시스템의 제어방법. - 제 22 항에 있어서,
상기 서버가 상기 고립위치데이터를 누적하여 저장하는 단계;를 더 포함하고,
상기 고립위치의 영역의 형태, 크기 및 바닥재질, 주변의 장애물의 위치 및 크기, 이동 로봇의 크기를 분석하여, 상기 청소영역 중, 동일한 바닥재질, 동일한 크기의 영역, 및 장애물의 구조 중 적어도 하나를 만족하는 영역을 상기 예상위치로 설정하는 것을 특징으로 하는 이동 로봇 시스템의 제어방법. - 제 18 항에 있어서,
상기 서버가, 복수의 이동 로봇에 대한 데이터를 누적하여 저장하는 단계;
상기 복수의 이동 로봇의 데이터를 바탕으로, 상기 이동 로봇의 주행 불가능한 영역을 학습하는 단계를 더 포함하는 이동 로봇 시스템의 제어방법. - 제 18 항에 있어서,
상기 이동 로봇이, 상기 예상위치에 가상벽을 설정하는 단계를 더 포함하는 이동 로봇 시스템의 제어방법. - 삭제
- 제 18 항에 있어서,
키입력 또는 터치입력에 대응하여 청소할 영역이 설정되면, 상기 단말이, 상기 고립위치와 상기 예상위치를 회피하는 예상경로를 산출하여 상기 지도에 표시하는 단계; 및
상기 이동 로봇으로 청소명령을 전송하는 단계를 더 포함하는 이동 로봇 시스템의 제어방법. - 삭제
- 제 18 항에 있어서,
상기 단말이, 키입력 또는 터치입력에 대응하여 상기 고립위치와 상기 예상위치를 설정 또는 해제하는 단계를 더 포함하는 이동 로봇 시스템의 제어방법. - 제 29 항에 있어서,
상기 고립위치 또는 상기 예상위치 중 어느 하나가 해제되면,
해제된 상기 고립위치 또는 상기 예상위치에 기 설정된 가상벽을 해제하는 단계; 및
주행 가능한 영역으로 판단하여 새로운 예상경로를 산출하여 표시하는 단계를 더 포함하는 이동 로봇 시스템의 제어방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170088535A KR102021834B1 (ko) | 2017-07-12 | 2017-07-12 | 이동 로봇 시스템 및 그 제어방법 |
EP18182949.0A EP3428762B1 (en) | 2017-07-12 | 2018-07-11 | Moving robot and controlling method |
US16/033,512 US10695906B2 (en) | 2017-07-12 | 2018-07-12 | Moving robot and controlling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170088535A KR102021834B1 (ko) | 2017-07-12 | 2017-07-12 | 이동 로봇 시스템 및 그 제어방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190007284A KR20190007284A (ko) | 2019-01-22 |
KR102021834B1 true KR102021834B1 (ko) | 2019-09-17 |
Family
ID=63047112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170088535A KR102021834B1 (ko) | 2017-07-12 | 2017-07-12 | 이동 로봇 시스템 및 그 제어방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10695906B2 (ko) |
EP (1) | EP3428762B1 (ko) |
KR (1) | KR102021834B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021141396A1 (en) * | 2020-01-08 | 2021-07-15 | Lg Electronics Inc. | Robot cleaner using artificial intelligence and control method thereof |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180082264A (ko) * | 2017-01-10 | 2018-07-18 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
US11274929B1 (en) * | 2017-10-17 | 2022-03-15 | AI Incorporated | Method for constructing a map while performing work |
USD872402S1 (en) * | 2018-04-23 | 2020-01-07 | Eozy International GmbH | Window cleaning robot |
US11340079B1 (en) * | 2018-05-21 | 2022-05-24 | AI Incorporated | Simultaneous collaboration, localization, and mapping |
US11007644B2 (en) * | 2018-09-04 | 2021-05-18 | Irobot Corporation | Mapping interface for mobile robots |
JP7180218B2 (ja) * | 2018-09-07 | 2022-11-30 | 株式会社豊田自動織機 | 自律走行台車 |
US11398309B2 (en) * | 2018-11-27 | 2022-07-26 | Alarm.Com Incorporated | Automated surface sterilization techniques |
KR102234641B1 (ko) * | 2019-01-17 | 2021-03-31 | 엘지전자 주식회사 | 이동 로봇 및 복수의 이동 로봇의 제어방법 |
CN109947094B (zh) * | 2019-01-31 | 2020-06-09 | 科沃斯机器人股份有限公司 | 行进方法、自移动设备及存储介质 |
US11347226B2 (en) * | 2019-04-25 | 2022-05-31 | Lg Electronics Inc. | Method of redefining position of robot using artificial intelligence and robot of implementing thereof |
KR102154434B1 (ko) * | 2019-04-30 | 2020-09-09 | 주식회사 엘지유플러스 | 영상 촬영 기기 및 이의 동작 방법 |
CN112123328B (zh) * | 2019-06-24 | 2022-03-08 | 北京极智嘉科技股份有限公司 | 人机协作控制方法和系统 |
KR102298582B1 (ko) | 2019-07-12 | 2021-09-08 | 엘지전자 주식회사 | 센서 데이터를 이용하여 청소 동선을 결정하는 인공 지능 로봇 및 그 방법 |
CN110385719B (zh) | 2019-07-23 | 2020-08-28 | 珠海市一微半导体有限公司 | 机器人判断是否碰撞虚拟墙的方法和芯片以及智能机器人 |
CN112294192A (zh) * | 2019-08-01 | 2021-02-02 | 惠州拓邦电气技术有限公司 | 一种机器人的控制方法与机器人 |
JP2021068152A (ja) * | 2019-10-23 | 2021-04-30 | 株式会社関電工 | 情報処理装置、情報処理装置を用いた方法及び情報処理装置に手順を実行させるプログラム |
EP4120120A4 (en) * | 2020-05-11 | 2023-08-09 | Dreame Innovation Technology (Suzhou) Co., Ltd. | METHOD AND DEVICE FOR OBTAINING A CLEANING WAY OF A CLEANING DEVICE AND STORAGE MEDIUM |
CN113693523B (zh) * | 2021-02-10 | 2022-12-09 | 北京石头创新科技有限公司 | 清洁机器人脱困方法及装置、介质及电子设备 |
CN113190009B (zh) * | 2021-05-08 | 2024-05-07 | 珠海一微半导体股份有限公司 | 基于栅格地图的机器人曲线虚拟墙实现方法 |
CN113467452A (zh) * | 2021-07-02 | 2021-10-01 | 追觅创新科技(苏州)有限公司 | 移动机器人的避让方法及装置、存储介质及电子装置 |
KR20230144380A (ko) * | 2022-04-07 | 2023-10-16 | 네이버랩스 주식회사 | 로봇 친화형 건물, 로봇 운영 모니터링 방법 및 시스템 |
CN115639820B (zh) * | 2022-10-18 | 2023-08-01 | 未岚大陆(北京)科技有限公司 | 虚拟墙的设置方法、自主移动设备和计算机可读存储介质 |
CN118617396A (zh) * | 2023-03-09 | 2024-09-10 | 天津望圆智能科技股份有限公司 | 水池清洁机器人的换向装置控制方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012239897A (ja) * | 2011-05-17 | 2012-12-10 | Msi Computer (Shenzhen) Co Ltd | 清掃ロボットの制御システムおよび制御方法 |
KR101297255B1 (ko) * | 2011-09-07 | 2013-08-19 | 엘지전자 주식회사 | 이동 로봇, 및 이동 로봇의 원격 제어 시스템 및 방법 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8386081B2 (en) * | 2002-09-13 | 2013-02-26 | Irobot Corporation | Navigational control system for a robotic device |
US7706917B1 (en) * | 2004-07-07 | 2010-04-27 | Irobot Corporation | Celestial navigation system for an autonomous robot |
US20090048727A1 (en) * | 2007-08-17 | 2009-02-19 | Samsung Electronics Co., Ltd. | Robot cleaner and control method and medium of the same |
KR101027834B1 (ko) | 2009-02-12 | 2011-04-07 | 안경모 | 다기능 멀티미디어 큐브 |
KR101752190B1 (ko) * | 2010-11-24 | 2017-06-30 | 삼성전자주식회사 | 로봇청소기 및 그 제어방법 |
US9233472B2 (en) * | 2013-01-18 | 2016-01-12 | Irobot Corporation | Mobile robot providing environmental mapping for household environmental control |
KR102071575B1 (ko) | 2013-04-23 | 2020-01-30 | 삼성전자 주식회사 | 이동로봇, 사용자단말장치 및 그들의 제어방법 |
CN104161487B (zh) | 2013-05-17 | 2018-09-04 | 恩斯迈电子(深圳)有限公司 | 移动装置 |
KR20140145256A (ko) | 2013-06-12 | 2014-12-23 | 주식회사 해머엔터테인먼트 | 네트워크를 사용하는 게임의 광고효과 분석데이터 제공 방법 |
KR102082757B1 (ko) | 2013-07-11 | 2020-02-28 | 삼성전자주식회사 | 청소 로봇 및 그 제어 방법 |
KR102094347B1 (ko) | 2013-07-29 | 2020-03-30 | 삼성전자주식회사 | 자동 청소 시스템, 청소 로봇 및 그 제어 방법 |
KR20150104311A (ko) | 2014-03-05 | 2015-09-15 | 엘지전자 주식회사 | 로봇 청소기 및 그의 제어방법 |
KR20170077756A (ko) | 2015-12-28 | 2017-07-06 | 삼성전자주식회사 | 청소 로봇 및 청소 로봇의 제어 방법 |
US10583561B2 (en) * | 2017-08-31 | 2020-03-10 | Neato Robotics, Inc. | Robotic virtual boundaries |
JP2019171001A (ja) * | 2017-09-29 | 2019-10-10 | パナソニックIpマネジメント株式会社 | 自律移動掃除機、掃除方法、及びプログラム |
-
2017
- 2017-07-12 KR KR1020170088535A patent/KR102021834B1/ko active IP Right Grant
-
2018
- 2018-07-11 EP EP18182949.0A patent/EP3428762B1/en active Active
- 2018-07-12 US US16/033,512 patent/US10695906B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012239897A (ja) * | 2011-05-17 | 2012-12-10 | Msi Computer (Shenzhen) Co Ltd | 清掃ロボットの制御システムおよび制御方法 |
KR101297255B1 (ko) * | 2011-09-07 | 2013-08-19 | 엘지전자 주식회사 | 이동 로봇, 및 이동 로봇의 원격 제어 시스템 및 방법 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021141396A1 (en) * | 2020-01-08 | 2021-07-15 | Lg Electronics Inc. | Robot cleaner using artificial intelligence and control method thereof |
KR20210089462A (ko) * | 2020-01-08 | 2021-07-16 | 엘지전자 주식회사 | 인공지능을 이용한 이동 로봇 및 이동 로봇의 제어방법 |
KR102423573B1 (ko) * | 2020-01-08 | 2022-07-20 | 엘지전자 주식회사 | 인공지능을 이용한 이동 로봇 및 이동 로봇의 제어방법 |
Also Published As
Publication number | Publication date |
---|---|
US10695906B2 (en) | 2020-06-30 |
EP3428762A1 (en) | 2019-01-16 |
US20190015984A1 (en) | 2019-01-17 |
EP3428762B1 (en) | 2024-03-27 |
KR20190007284A (ko) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102021834B1 (ko) | 이동 로봇 시스템 및 그 제어방법 | |
KR102024092B1 (ko) | 이동 로봇 시스템 및 그 제어방법 | |
US10946520B2 (en) | Mobile robot system and control method thereof | |
KR102032285B1 (ko) | 이동 로봇 및 그 제어방법 | |
KR102235271B1 (ko) | 이동 로봇 및 그 제어방법 | |
AU2017363769B2 (en) | Mobile robot and control method thereof | |
CN111479662B (zh) | 学习障碍物的人工智能移动机器人及其控制方法 | |
KR102070067B1 (ko) | 장애물을 학습하는 인공지능 이동 로봇 및 그 제어방법 | |
KR20180082264A (ko) | 이동 로봇 및 그 제어방법 | |
KR20190103511A (ko) | 이동 로봇 및 그 제어방법 | |
KR102500529B1 (ko) | 이동 로봇 및 그 제어방법 | |
KR20190119234A (ko) | 이동 로봇 및 그 제어방법 | |
KR102669126B1 (ko) | 이동 로봇 및 그 제어방법 | |
KR20190103512A (ko) | 장애물을 학습하는 인공지능 이동 로봇 및 그 제어방법 | |
US20240335080A1 (en) | Mobile robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |