KR20230011698A - 이동 로봇 - Google Patents
이동 로봇 Download PDFInfo
- Publication number
- KR20230011698A KR20230011698A KR1020210092293A KR20210092293A KR20230011698A KR 20230011698 A KR20230011698 A KR 20230011698A KR 1020210092293 A KR1020210092293 A KR 1020210092293A KR 20210092293 A KR20210092293 A KR 20210092293A KR 20230011698 A KR20230011698 A KR 20230011698A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual wall
- map
- cell
- unit
- area
- Prior art date
Links
- 238000001514 detection method Methods 0.000 claims abstract description 114
- 230000035939 shock Effects 0.000 claims abstract description 68
- 238000004140 cleaning Methods 0.000 claims description 152
- 238000004364 calculation method Methods 0.000 claims description 26
- 238000009434 installation Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 6
- 238000005192 partition Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 25
- 238000012545 processing Methods 0.000 description 12
- 239000000126 substance Substances 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 239000000428 dust Substances 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000009826 distribution Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012544 monitoring process Methods 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
- 230000006866 deterioration Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 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
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000001151 other effect 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
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- 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
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4011—Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
-
- 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
-
- 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
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4002—Installations of electric equipment
- A47L11/4008—Arrangements of switches, indicators or the like
-
- 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
-
- 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/2805—Parameters or conditions being sensed
-
- 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
-
- 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
- B25J5/00—Manipulators mounted on wheels or on carriages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
- B25J5/007—Manipulators mounted on wheels or on carriages mounted on wheels
-
- 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
-
- 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
-
- 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/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
-
- 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/02—Control of position or course in two dimensions
-
- 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/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
-
- 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/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- 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
-
- G05D2201/0203—
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Electromagnetism (AREA)
Abstract
본 발명은, 상기 충격감지 신호가 입력되면, 지도에서 상기 충격감지 신호가 입력된 위치를 바탕으로 복수의 셀을 포함하는 가상벽 등록 가능 영역을 산정하고, 등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀 중 하나를 상기 지도에 가상벽으로 등록하는 이동 로봇에 관한 것이다.
Description
본 발명은 이동 로봇에 관한 것으로, 청소영역 내에서 이동 로봇이 접근하지 못하도록 가상벽을 설정하는 이동로봇에 관한 것이다.
일반적으로 이동 로봇은 사용자의 조작 없이도 청소하고자 하는 구역 내를 스스로 주행하면서 바닥면으로부터 먼지 등의 이물질을 흡입하여 자동으로 청소하는 기기이다.
이러한 이동 로봇은 청소구역 내에 설치된 가구나 사무용품, 벽 등의 장애물까지의 거리를 감지하고, 그에 따라 청소구역을 매핑(mapping)하거나, 좌륜과 우륜의 구동을 제어하여 장애물 회피 동작을 수행한다.
이동 로봇은 장애물을 감지하더라도, 청소를 위해서는 장애물에 접근한 후에 다른 경로로 변경하거나 이동한다.
그러나 이동 로봇이 장애물에 접근하여 장애물이 손상되는 경우, 예를 들어 화분이나 화병에 접근하여 화분 또는 화병이 쓰러지는 경우, 쓰러져 파손되는 경우가 발생할 수 있다. 또한, 이동 로봇이 장애물에 접근하여, 계단 등에서 추락하거나, 문턱이나 일부 장애물에 올라가 고립되는 경우가 종종 발생한다.
이러한 문제로 이동 로봇이 장애물을 감지하면 무조건 회피하도록 설계한다면, 해당 영역에 대한 청소를 수행할 수 없게 된다.
그에 따라, 장애물에 대하여 접근 후 동작을 설정하는 것을 기본으로 하되, 청소영역 중 일부 영역에 접근할 수 없도록 하는 방안이 모색되고 있다.
청소영역에 내에, 이동 로봇이 접근하지 못하도록 소정 신호를 발생시키는 장치를 설치하여, 해당 장치에 의해 설정되는 영역에는 접근하지 못하도록 하고 있다.
그러나 이와 같이 신호를 발생시키는 장치를 별도로 구입하여야 하므로 추가 구입에 따른 비용이 발생하고, 신호를 발생시키는 장치는 실내에 설치해야 하므로 설치공간에 따른 제약이 발생한다. 또한, 신호를 발생시키는 장치를 사용하는 경우, 이동 로봇은 신호에 의해 설정되는 영역의 위치와 크기를 알 수 없으므로, 이동하면서 해당 신호를 반복적으로 탐지해야 하는 문제점이 있다.
사용자는 청소영역 내에서 이동하는데 있어서 하나의 장애물로써 작용하게 되므로 사용자의 불편을 초래한다. 또한, 필요한 영역마다 해당 장치를 설치해야 하므로 청소시마다 이동시켜 설치해야 하는 번거로움이 있다.
또한, 선행기술문헌과 같이, 사용자가 단말기를 통해 직접 가상벽의 위치를 설정하는 기술도 연구되고 있다. 그러나, 이와 같은 선행기술의 경우, 사용자가 직접 가상벽을 설정해줘야 하는 문제점이 존재한다. 특히, 단말 사용에 익숙하지 않는 사용자가의 경우, 지도에서 가상벽의 위치를 설정하는 것이 매우 어렵고, 사용자가 설정하는 경우, 가상벽의 위치 설정에 오류가 발생할 위험이 높은 문제점이 존재한다.
본 발명이 해결하고자 하는 과제는, 청소영역 내에서 이동 로봇이 접근하지 못하도록 가상벽을 설정하여, 이동 로봇의 주행을 제한하는 이동 로봇을 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 다른 과제는, 가상벽을 사용자가 설정하는 것이 아니고, 이동로봇이 센싱과 다양한 알고리즘에 의해 자동적으로 설정하는 이동 로봇을 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 또 다른 과제는, 그리드 맵 기반에서 범퍼 조건과 센싱 조건을 감안하여 예측하지 못한 범핑 시 향후 주행에서의 범핑을 예방하기 위하여 가장 합리적인 가상벽 등록 순서를 설정하는 이동 로봇을 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 또 다른 과제는, 지도에 가상벽 정보를 시간적, 공간적으로 업데이트하여서, 지속적으로 변하는 청소환경에 신속하게 대응하고, 청소 성능과 주행 성능이 향상된 이동 로봇을 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위하여, 또한, 본 발명의 일 실시예에 따른 이동 로봇은 상기 충격감지 신호가 입력되면, 상기 장애물 감지신호를 바탕으로 상기 본체와 충돌한 외부 물체가 장애물인지 판단하는 장애물 판단부, 상기 장애물 판단부에서 상기 본체와 충돌한 외부 물체가 장애물이 아니라고 판단하는 경우, 상기 지도에서 상기 충격감지 신호가 입력된 위치를 바탕으로 복수의 셀을 포함하는 가상벽 등록 가능 영역을 산정하는 영역 산정부 및 등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀 중 하나를 상기 지도에 가상벽으로 등록하는 가상벽 등록부를 포함한다.
본 발명의 다른 실시예에 따른 이동 로봇은, 상기 충격감지 신호가 입력되면, 지도에서 상기 충격감지 신호가 입력된 위치를 바탕으로 복수의 셀을 포함하는 가상벽 등록 가능 영역을 산정하고, 등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀 중 하나를 상기 지도에 가상벽으로 등록하는 것을 포함한다.
구체적으로, 본 발명의 일 실시예에 따른 이동 로봇은 본체, 상기 본체에 설치되어 상기 본체를 이동시키는 주행 구동부, 청소영역에 대한 지도가 저장되는 데이터부, 상기 본체의 전방에 대한 장애물을 감지하여 장애물 감지신호를 입력하는 장애물 감지유닛, 상기 본체에 배치되어 상기 본체와 외부 물체 사이의 충격을 감지하고 충격감지 신호를 생성하는 충격감지센서 및 상기 장애물 감지유닛으로부터 입력되는 장애물 감지신호에 대응하여 장애물을 판단하고, 상기 장애물에 대한 정보를 바탕으로 상기 청소영역 중 주행 가능한 영역에 대한 정보를 포함하는 상기 지도를 생성하는 제어유닛을 포함하고, 상기 제어유닛은, 상기 충격감지 신호가 입력되면, 상기 장애물 감지신호를 바탕으로 상기 본체와 충돌한 외부 물체가 장애물인지 판단하는 장애물 판단부, 상기 장애물 판단부에서 상기 본체와 충돌한 외부 물체가 장애물이 아니라고 판단하는 경우, 상기 지도에서 상기 충격감지 신호가 입력된 위치를 바탕으로 복수의 셀을 포함하는 가상벽 등록 가능 영역을 산정하는 영역 산정부, 및 등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀 중 하나를 상기 지도에 가상벽으로 등록하는 가상벽 등록부를 포함하는 것을 특징으로 한다.
상기 영역 산정부는, 상기 충격감지 신호가 입력된 위치에 대응하는 상기 지도 상의 신호 입력 셀 좌표를 산정하고, 상기 신호 입력 셀에서 인접한 적어도 하나의 주변 셀과 상기 신호 입력셀을 상기 가상벽 등록 가능 영역으로 산정할 수 있다.
상기 영역 산정부는, 상기 충격감지 신호가 입력된 위치에 대응하는 상기 지도 상의 신호 입력 셀 좌표를 산정하고, 상기 본체의 크기, 상기 본체의 형상 및 상기 충격감지센서의 설치 위치를 고려하여 상기 신호 입력 셀 주변의 적어도 하나의 주변 셀과 상기 신호 입력셀을 상기 가상벽 등록 가능 영역으로 산정할 수 있다.
상기 가상벽 등록부는, 상기 등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀에서 상기 제1순위 셀을 산정하고, 상기 지도에서 상기 제1순위 셀의 속성에 따라 상기 제1순위 셀을 가상벽으로 등록할 수 있다.
상기 가상벽 등록부는, 상기 등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀에서 제1순위 셀을 산정하고, 상기 지도에서 상기 제1순위 셀의 속성이 가상벽이 아닌 경우, 상기 제1순위 셀을 가상벽으로 등록할 수 있다.
상기 가상벽 등록부는 상기 제1순위 셀의 속성이 가상벽인 경우, 상기 등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀에서 제2순위 셀을 산정하고, 상기 제2순위 셀의 속성에 따라 상기 차 순위 셀을 가상벽으로 등록할 수 있다.
상기 가상벽 등록부는, 상기 등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀에서 상기 제n순위 셀을 산정하고, 상기 지도에서 상기 제n순위 셀의 속성에 따라 상기 제n순위 셀을 가상벽으로 등록하고, 상기 제n순위 셀의 속성에 따라 상기 제n순위 셀을 가상벽으로 등록하지 못하는 경우, 상기 등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀에서 상기 제n+1순위 셀을 산정하고, 상기 지도에서 상기 제n+1순위 셀의 속성에 따라 상기 제n+1순위 셀을 가상벽으로 등록할 수 있다.
상기 가상벽 등록부는, 상기 등록 우선순위를 상기 충격감지센서의 배치위치에 따른 충격 미 감지 확률이 높은 영역에서 낮은 영역의 순서로 결정할 수 있다.
상기 충격감지센서는 상기 본체의 전방단과 상기 본체의 좌측 단 사이의 상기 본체의 측면에 위치되는 제1충격감지센서와, 상기 본체의 전방단과 상기 본체의 우측 단 사이의 상기 본체의 측면에 위치되는 제2충격감지센서를 포함할 수 있다.
상기 영역 산정부는, 상기 제1충격감지센서와 상기 제2충격감지센서에서 동시에 충격감지 신호가 입력된 경우, 상기 제1충격감지센서와 상기 제2충격감지센서의 위치에 대응하는 상기 지도 상의 제1신호 입력 셀과 제2신호 입력 셀의 좌표를 산정하고, 상기 제1신호 입력셀과 상기 제2신호 입력 셀 사이의 셀들, 제1신호 입력 셀 및 제2신호 입력셀을 상기 가상벽 등록 가능 영역으로 산정할 수 있다.
상기 가상벽 등록부는, 상기 제1신호 입력셀과 상기 제2신호 입력 셀 사이의 셀들 중 상기 제1충격감지센서와 상기 제2충격감지센서 사이의 중심에서 먼 셀의 등록 우선순위를 높게 설정할 수 있다.
상기 영역 산정부는, 상기 제1충격감지센서와 상기 제2충격감지센서 중 하나의 충격감시센서에서 충격감지 신호가 입력된 경우, 충격감지 신호가 입력된 충격감지센서의 위치에 대응하는 상기 지도 상의 신호 입력 셀의 좌표를 산정하고, 상기 본체의 크기, 상기 본체의 형상 및 상기 충격감지센서의 설치 위치를 고려하여 상기 신호 입력 셀 주변의 적어도 하나의 주변 셀과 상기 신호 입력셀을 상기 가상벽 등록 가능 영역으로 산정할 수 있다.
상기 가상벽 등록부는, 상기 가상벽 등록 가능 영역의 셀들 중 상기 제1충격감지센서와 상기 제2충격감지센서 사이의 중심에서 먼 셀의 등록 우선순위를 높게 설정할 수 있다.
상기 제어유닛은, 상기 주행 구동부를 상기 지도에 등록된 가상벽을 회피하여 주행하도록 제어할 수 있다.
상기 가상벽 등록부는, 상기 지도에 가상벽 등록 시에 시간 정보 또는 청소 횟수 정보를 포함하는 속성 정보를 함께 등록할 수 있다.
상기 제어유닛은 상기 지도에 등록된 가상벽들 중 일정 시간이 지난 가상벽을 초기화할 수 있다.
상기 제어유닛은, 상기 지도에 등록된 가상벽들 중 일정 청소횟수가 지난 가상벽을 초기화할 수 있다.
상기 제어유닛은 상기 지도를 복수 개의 청소영역으로 구획하고, 청소를 시작할 경우, 상기 복수 개의 청소영역 중 랜덤으로 선택된 적어도 하나의 청소영역 내에 위치된 가상벽을 초기화할 수 있다.
상기 제어유닛은 청소 시작 시에, 상기 지도를 복수 개의 청소영역으로 구획하고, 청소를 시작할 경우, 청소 횟수에 따라 정해진 청소영역 내의 가상벽을 초기화할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이동 로봇에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
본 발명은, 청소영역 내에서 이동 로봇이 접근하지 못하도록 가상벽을 설정하여, 이동 로봇이 위험한 영역과, 청소가 필요 없는 영역에 접근하는 것을 제한하여서, 신속한 청소가 가능하고, 이동 로봇의 주행 시간이 길어지며, 이동 로봇의 파손을 줄이는 이점이 있다.
또한, 본 발명은, 가상벽을 사용자가 설정하는 것이 아니고, 이동로봇이 센싱과 다양한 알고리즘에 의해 자동적으로 설정하므로, 사용자에게 가상벽 설정의 부담을 줄일 수 있고, 사용자의 가상벽 설정 시 발생하는 오류로 인한 청소 성능의 저하를 방지할 수 있는 이점이 있다.
또한, 본 발명은, 그리드 맵 기반에서 범퍼 조건과 센싱 조건을 감안하여 예측하지 못한 범핑 시 향후 주행에서의 범핑을 예방하기 위하여 가장 합리적인 가상벽 등록 순서를 설정하므로, 청소 영역에 대한 청소를 진행할수록 스마트한 청소를 할 수 있고, 사용자에게 가상벽 설정 부담을 주지 않는 이점이 있다.
또한, 본 발명이 해결하고자 하는 또 다른 과제는, 지도에 가상벽 정보를 시간적, 공간적으로 업데이트하면서, 오래된 가상벽 정보를 초기화 하고, 오래된 가상벽 정보를 제거하고, 다시 가상벽을 설정하므로, 지속적으로 변하는 청소환경에 신속하게 대응하고, 청소 성능과 주행 성능이 향상시키는 이점이 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1 은 본 발명의 일 실시예에 따른 이동 로봇의 사시도이다.
도 2 는 도 1의 이동 로봇의 수평 화각을 도시한 도이다.
도 3 은 도 1의 이동 로봇의 전면도이다.
도 4 는 도 1의 이동 로봇의 저면을 도시한 도이다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇의 주요부들을 도시한 블록도이다.
도 6 은 본 발명의 일실시예에 따른 이동 로봇의 가상벽 설정하는 방법을 설명하는데 참조되는 도이다
도 7 및 도 8은 본 발명의 일실시예에 따른 이동 로봇의 지도생성방법을 설명하는데 참조되는 도이다.
도 9 는 본 발명의 일실시예에 따른 이동 로봇의 제어방법이 도시된 순서도이다.
도 10은 본 발명의 다른 실시예에 따른 이동 로봇의 제어방법이 도시된 순서도이다.
도 2 는 도 1의 이동 로봇의 수평 화각을 도시한 도이다.
도 3 은 도 1의 이동 로봇의 전면도이다.
도 4 는 도 1의 이동 로봇의 저면을 도시한 도이다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇의 주요부들을 도시한 블록도이다.
도 6 은 본 발명의 일실시예에 따른 이동 로봇의 가상벽 설정하는 방법을 설명하는데 참조되는 도이다
도 7 및 도 8은 본 발명의 일실시예에 따른 이동 로봇의 지도생성방법을 설명하는데 참조되는 도이다.
도 9 는 본 발명의 일실시예에 따른 이동 로봇의 제어방법이 도시된 순서도이다.
도 10은 본 발명의 다른 실시예에 따른 이동 로봇의 제어방법이 도시된 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성 요소들과 다른 구성 요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작 시 구성요소의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들면, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있고, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계 및/또는 동작은 하나 이상의 다른 구성요소, 단계 및/또는 동작의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.
도면에서 각 구성요소의 두께나 크기는 설명의 편의 및 명확성을 위하여 과장되거나 생략되거나 또는 개략적으로 도시되었다. 또한 각 구성요소의 크기와 면적은 실제크기나 면적을 전적으로 반영하는 것은 아니다.
이하, 첨부도면은 참조하여, 본 발명의 바람직한 실시예를 설명하면 다름과 같다.
이하, 본 발명의 실시예들에 의하여 이동 로봇을 설명하기 위한 도면들을 참고하여 본 발명에 대해 설명하도록 한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "~부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
한편, 본 발명에 대한 설명을 용이하게 하기 위하여 본 발명과 관련된 기본적인 개념을 정의하도록 한다.
도 1은 본 발명의 일 실시예에 따른 이동 로봇의 사시도이다. 도 2는 도 1의 이동 로봇의 수평 화각을 도시한 것이다. 도 3은 도 1의 이동 로봇의 전면도이다. 도 4는 도 1의 이동 로봇의 저면을 도시한 것이다.
도 1 내지 도 4를 참조하면, 본 발명의 일 실시예에 따른 이동 로봇(1)은 청소구역의 바닥을 따라 이동하며, 바닥 상의 먼지 등의 이물질을 흡입하는 본체(10)와, 본체(10)의 전면에 배치되는 장애물 감지유닛(100)과, 본체(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))을 회전시키는 우륜 구동모터를 포함할 수 있다.
다른 예로, 주행 구동부는 바닥과 교차되는 회전축을 중심으로 회전하는 2개의 걸레를 포함하고, 본체는 2개의 걸레의 회전으로 발생하는 바닥과의 마찰로 이동될 수도 있다.
좌륜 구동모터와 우륜 구동모터()는 제어유닛의 주행제어유닛에 의해 작동이 독립적으로 제어됨으로써 본체(10)의 직진, 후진 또는 선회가 이루어질 수 있다.
예를 들어, 본체(10)가 직진 주행하는 경우에는 좌륜 구동모터와 우륜 구동모터가 같은 방향으로 회전되나, 좌륜 구동모터와 우륜 구동모터가 다른 속도로 회전되거나, 서로 반대 방향으로 회전되는 경우에는 본체(10)의 주행 방향이 전환될 수 있다. 본체(10)의 안정적인 지지를 위한 적어도 하나의 보조륜(37)이 더 구비될 수 있다.
도시하지 않았지만, 케이싱(11)의 저면부 전방 측에 위치하며, 방사상으로 연장된 다수개의 날개로 이루어진 솔을 갖는 복수의 브러시(미도시)가 더 구비될 수 있다. 복수의 브러시의 회전에 의해 청소구역의 바닥으로부터 먼지들이 제거되며, 이렇게 바닥으로부터 분리된 먼지들은 흡입구(10h)를 통해 흡입되어 채집통에 모인다.
케이싱(11)의 상면에는 사용자로부터 이동 로봇(1)의 제어를 위한 각종 명령을 입력 받는 조작부(160)를 포함하는 컨트롤 패널이 구비될 수 있다.
장애물 감지유닛(100)은 본체(10)의 전면에 배치될 수 있다.
장애물 감지유닛(100)은 케이싱(11)의 전면에 고정되고, 제 1 패턴 조사부(120), 제 2 패턴 조사부(130) 및 영상 획득부(140)를 포함한다. 이때 영상 획득부는 도시된 바와 같이 패턴조사부의 하부에 설치되는 것을 기본으로 하나, 경우에 따라 제 1 및 제 2 패턴조사부 사이에 배치될 수 있다. 또한, 본체의 상단부에 제 2 영상 획득부(미도시)가 더 구비될 수 있다. 제 2 영상 획득부는 본체의 상단부, 즉 천장의 영상을 촬영한다.
다른 예로, 장애물 감지유닛(100)는 후술하는 센서부(150)를 포함할 수 있다.
본체(10)에는 재충전이 가능한 배터리(38)가 구비되며, 배터리(38)의 충전 단자(33)가 상용 전원(예를 들어, 가정 내의 전원 콘센트)과 연결되거나, 상용 전원과 연결된 별도의 충전대(미도시)에 본체(10)가 도킹되어, 충전 단자(33)가 상용 전원과 전기적으로 연결되고, 배터리(38)의 충전이 이루어질 수 있다. 이동 로봇(1)을 구성하는 전장 부품들은 배터리(38)로부터 전원을 공급받을 수 있으며, 따라서, 배터리(38)가 충전된 상태에서 이동 로봇(1)은 상용 전원과 전기적으로 분리된 상태에서 자력 주행이 가능하다.
충격감지센서(152)는 본체(10)에 배치되어 본체(10)와 외부 물체 사이의 충격을 감지하고 충격감지 신호를 생성하여 제어유닛(200)에 제공한다.
충격감지센서(152)의 경우 개수를 많이 설치하면 제조비용이 상승하므로, 센싱 성능을 향상하고 예상치 못한 범핑을 최대한 센싱하기 위해 2개가 설치되는 것이 바람직하다.
예를 들면, 충격감지센서(152)는 본체(10)의 전방의 물체와 충격을 감지하므로, 본체(10)의 전방단에 설치될 수 있다. 또한, 충격감지센서(152)는 전방과 측방의 충격을 감지하기 위해, 본체(10)의 전방 단과 좌측방 단 사이와, 본체(10)의 전방단과 우측방 단 사이에 배치될 수 있다.
구체적으로, 충격감지센서(152)는 본체(10)의 전방단과 본체(10)의 좌측 단 사이의 본체(10)의 측면에 위치되는 제1충격감지센서(152a)와, 본체(10)의 전방단과 본체(10)의 우측 단 사이의 본체(10)의 측면에 위치되는 제2충격감지센서(152b)를 포함할 수 있다.
도 2를 참조하면, 제1충격감지센서(152a)는 전방 기준점에서 반시계방향으로 40도 내지 50도 사이의 방위각의 위치에 배치될 수 있고, 제2충격감지센서(152b)는 전방 기준점에서 시계방향으로 40도 내지 50도 사이의 방위각의 위치에 배치될 수 있다.
여기서, 전방 기준점은 본체(10)의 중심(C)에서, 좌륜(36(L)) 또는 우륜(36(R))의 회전축과 나란한 중심 수평선(LH)와 직교하는 중심 수직선(LC)을 긋고, 그 선이 본체(10)의 전단과 만나는 지점으로 정의할 수 있다.
도 5는 본 발명의 일 실시예에 따른 이동 로봇의 주요부들을 도시한 블록도이다.
도 5에 도시된 바와 같이, 이동 로봇(1)은 주행 구동부(250), 청소부(260), 데이터부(280), 장애물 감지유닛(100), 센서부(150), 충격감지센서(152), 그리고 동작 전반을 제어하는 제어유닛(200)을 포함한다.
조작부(160)는 적어도 하나의 버튼, 스위치, 터치패드 등의 입력수단을 포함하여 사용자명령을 입력 받는다. 조작부는 앞서 설명한 바와 같이 본체(10)의 상단부에 구비될 수 있다.
데이터부(280)에는 장애물 감지유닛(100) 또는 센서부(150)로부터 입력되는 장애물 감지신호가 저장되고, 장애물인식부(210)가 장애물을 판단하기 위한 기준데이터가 저장되며, 감지된 장애물에 대한 장애물정보가 저장된다.
데이터부(280)에는 충격감지센서(152)로부터 입력되는 충격 감지신호가 저장되고, 제어유닛(200)이 충격 감지신호를 판단하기 위한 기준데이터가 저장되며, 충격 감시신호를 바탕으로 가상벽을 등록하는 가상벽 등록 정보가 저장되며, 등록된 가상벽에 대한 정보가 저장된다.
또한, 데이터부(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)는 적어도 하나의 기울기센서를 포함하여 본체(10)의 기울기를 감지한다. 기울기센서는 본체(10)의 전, 후, 좌, 우 방향으로 기울어지는 경우, 기울어진 방향과 각도를 산출한다. 기울기센서는 틸트센서, 가속도센서 등이 사용될 수 있고, 가속도센서의 경우 자이로식, 관성식, 실리콘반도체식 중 어느 것이나 적용 가능하다.
장애물 감지유닛(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 패턴 광(P2) 역시 도 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)의 기울기센서로부터 입력되는 기울기정보를 바탕으로, 본체(10)의 기울어짐 여부를 판단하고, 본체(10)가 기울어진 경우, 획득영상의 광 패턴의 위치에 대하여 기울기를 보상한다.
주행제어부(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)는 가상벽이 설정되는 경우, 가상벽에 대한 데이터를 바탕으로 청소맵에 가상벽의 위치를 설정하고, 청소영역에 대응하는 가상벽의 좌표를 산출한다. 맵생성부(220)는 청소맵에 가상벽을 장애물로써 등록한다.
맵생성부(220)는 위치인식부(240)에 의해 본체(10)의 현재 위치를 판단할 수 없는 경우, 청소영역에 대한 새로운 지도를 생성한다. 맵생성부(220)는 새로운 영역으로 이동한 것으로 판단하여 기 설정된 가상벽을 초기화한다.
이동 로봇은 청소맵을 기초로 청소를 수행하되, 단말로 사용자맵과 가이드맵을 전송한다. 단말은 가이드맵과 사용자맵을 모두 저장하여 화면에 표시할 수 있으며, 설정에 따라 어느 하나를 출력한다. 이동 로봇(1)은 단말로부터 사용자맵 또는 가이드맵에 기초한 청소명령이 입력되면, 청소맵을 바탕으로 주행하며 지정된 영역을 청소한다.
위치인식부(240)는 데이터부에 저장된 지도(청소맵, 가이드맵 또는 사용자맵)를 바탕으로 본체(10)의 현재 위치를 판단한다.
위치인식부(240)는 청소명령이 입력되면, 지도상의 위치와 본체(10)의 현재위치가 일치하는지 여부를 판단한 후, 현재 위치가 맵 상의 위치와 일치하지 않는 경우, 또는 현재 위치를 확인할 수 없는 경우, 현재 위치를 인식하여 이동 로봇(1)의 현재 위치를 복구한다. 주행제어부(230)는 현재 위치를 복구하면, 현재 위치를 바탕으로 지정된 영역으로 이동하도록 주행 구동부를 제어한다. 청소명령은 리모컨(미도시), 조작부(160) 또는 단말로부터 입력될 수 있다.
위치인식부(240)는 현재 위치가 지도상의 위치와 일치하지 않는 경우 또는 현재 위치를 확인할 수 없는 경우, 영상 획득부(140)로부터 입력되는 획득영상을 분석하여 지도를 바탕으로 현재 위치를 추정할 수 있다.
위치인식부(240)는 맵생성부(220)에 의해 지도 생성 중, 각 위치에서 획득된 획득영상을 처리하여, 지도와 연계시켜 본체(10)의 전역위치를 인식한다.
위치인식부(240)는 영상 획득부(140)의 획득영상을 이용하여, 지도와 지도상의 각 위치에 대한 획득영상을 비교하여 본체(10)의 현재 위치를 파악함으로써, 본체(10)의 위치가 갑자기 변경되는 경우에도 현재 위치를 추정하여 인식할 수 있다.
위치인식부(240)는 획득영상에 포함되는, 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들을 분석하여 위치를 판단한다. 획득영상은 영상 획득부, 또는 본체(10)의 상단부에 구비되는 제 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차원 벡터로 표현될 수 있다. 또 다른 예로, 위치인식부(240)는 소정 하위 분류규칙 및 소정 하위 대표규칙을 거치지 않고, 각 특징점으로부터 산출된 디스크립터를 바탕으로 미지의 현재위치를 추정할 수 있다.
또한, 위치 도약 등의 이유로 이동 로봇(1)의 현재 위치가 미지의 상태가 된 경우에, 위치인식부(240)는 기 저장된 디스크립터 또는 하위 대표 디스크립터 등의 데이터를 근거로 현재 위치를 추정할 수 있다.
위치인식부(240)는 미지의 현재 위치에서 영상 획득부(140)를 통해 획득영상을 획득하고, 영상을 통해 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 확인되면, 획득영상으로부터 특징들을 검출한다.
위치인식부(240)는 미지의 현재 위치의 획득영상을 통해 얻은 적어도 하나의 인식 디스크립터 정보를 근거로, 소정 하위 변환규칙에 따라 비교대상이 되는 위치 정보(예를 들면, 각 위치의 특징분포)와 비교 가능한 정보(하위 인식 특징분포)로 변환한다. 소정 하위 비교규칙에 따라, 각각의 위치 특징분포를 각각의 인식 특징분포와 비교하여 각각의 유사도를 산출할 수 있다. 각각의 위치에 해당하는 위치 별로 유사도(확률)를 산출하고, 그 중 가장 큰 확률이 산출되는 위치를 현재위치로 결정할 수 있다.
제어유닛(200)은 맵생성부(220)에 의해 주행 중 지도가 갱신되는 경우, 갱신된 정보를 통신부를 통해 단말로 전송하여 단말과 이동 로봇(1)에 저장되는 지도가 동일하도록 한다. 그에 따라, 단말과 이동 로봇(1)에 저장된 맵이 동일하게 유지됨에 따라 단말로부터의 청소명령에 대하여, 이동 로봇(1)은 지정된 영역을 청소할 수 있으며, 또한, 단말은 이동 로봇의 현재 위치를 지도에 표시할 수 있다.
주행제어부(230)는 청소명령 입력 시, 청소 영역 중, 지정된 영역으로 이동하도록 주행 구동부를 제어하고, 청소부를 동작시켜, 주행과 함께 청소가 수행되도록 한다.
주행제어부(230)는 복수의 영역에 대한 청소명령 입력 시, 우선영역설정 여부, 또는 지정된 순서에 따라 영역을 이동하여 청소가 수행되도록 하고, 별도의 순서가 지정되지 않은 경우, 현재 위치를 기준으로, 거리에 따라 가까운 영역 또는 인접한 영역으로 이동하여 청소를 수행한다.
또한, 주행제어부(230)는 영역구분에 관계없이 임의의 영역에 대한 청소명령이 입력되는 경우, 임의의 영역에 포함되는 영역으로 이동하여 청소를 수행한다.
주행제어부(230)는 가상벽이 설정되는 경우, 맵생성부(220)로부터 입력되는 좌표값을 바탕으로, 가상벽을 회피하여 주행하도록 주행 구동부를 제어한다.
주행제어부(230)는, 장애물인식부(210)에 의해 장애물이 존재하지 않는 것으로 판단되더라도, 가상벽이 설정되어 있는 경우, 해당 위치에 장애물이 존재하는 것으로 인식하여 주행을 제한한다.
제어유닛(200)은 설정된 지정영역에 대한 청소가 완료되면, 청소기록을 데이터부에 저장한다.
또한, 제어유닛(200)은 통신부(190)를 통해 이동 로봇(1)의 동작상태 또는 청소상태를 소정 주기로 단말로 전송한다.
단말은 이동 로봇(1)으로부터 수신되는 데이터를 바탕으로, 실행중인 어플리케이션의 화면상에 지도와 함께 이동 로봇의 위치를 표시하고, 또한 청소상태에 대한 정보를 출력한다.
단말은 설정에 따라 사용자맵과 가이드맵 중 어느 하나를 화면에 표시하며, 설정을 통해 변경하여 표시할 수 있다.
단말은 수신되는 지도를 화면에 표시하며, 키입력 또는 터치입력을 통해 영역을 분리 또는 병합하여 변경할 수 있고, 영역의 속성을 변경하거나, 추가하여 설정할 수 있다. 또한, 단말은 특정 장애물에 대하여 지도상에 위치를 지정할 수 있고, 지정된 장애물에 대한 정보를 이동 로봇으로 전송되어, 기 저장된 지도에 추가된다.
단말은 표시되는 지도에 대하여, 키입력 또는 터치입력에 대응하여 청소영역을 지정하고, 청소 순서를 설정할 수 있으며, 이동 로봇으로 청소명령을 전송한다.
또한, 단말은 이동 로봇으로부터 수신되는 데이터를 바탕으로, 표시되는 지도(사용자맵과 가이드맵) 상에 청소 상태를 표시한다. 단말은 장애물에 대한 정보가 추가되는 경우, 수신되는 데이터를 바탕으로 지도를 갱신하여 표시한다.
또한, 제어유닛(200)은 충전대의 복귀신호를 통해 충전대가 감지되면, 이동 로봇의 현재 위치를 인식하고, 이동 로봇의 현재위치를 바탕으로 충전대의 위치를 산출하여 저장한다. 제어유닛(200)은 충전대의 위치가 지도상에 표시되도록 설정할 수 있다.
일 예로, 제어유닛(200)은 장애물 판단부(222), 영역 산정부(224) 및 가상벽 등록부(226)를 포함할 수 있다.
장애물 감지유닛(100)에 감지되는 않는 낮은 물체가 존재하기 때문에, 이동 로봇이 장애물 감지신호를 분석한 주행만을 하는 경우, 높이가 낮은 물체를 장애물로 인식하지 못하여 주행성능과 청소성능이 저하되게 된다.
따라서, 본 발명은 높이가 낮은 물체를 충격감지 신호로 분석하여서, 지도에 가상벽을 등록하고, 적은 충격감지센서(152) 개수와 여러 변수를 고려하여 가상벽 위치 설정에 우선순위를 정하였다.
제어유닛(200)은 본체(10)의 주행 중에 충격감지 신호가 입력되면, 충격감지 신호가 장애물인지 외부물체인지 판단하고, 충격감지 신호가 장애물에 의한 것이 아니라고 판단되면, 가상벽 등록 가능 영역을 산정하고, 가상벽 등록 가능 영역 내에서 등록 우선순위에 따라 가상벽을 등록한다. 또한, 제어유닛(200)은 본체(10)를 제어하여 본체(10)가 등록된 가상벽을 회피 주행하게 한다.
구체적으로, 장애물 판단부(222)는 본체(10)의 주행 중 충격감지 신호가 입력되면, 센서부(150) 또는 장애물 감지유닛(100)으로부터 입력되는 장애물 감지신호를 바탕으로 본체(10)와 충돌한 외부 물체가 장애물인지 판단한다.
장애물 판단부(222)는, 외부에서 충격(범핑)이 발생되는 경우, 외부의 충격이 장애물 감지유닛(100)에 의해 미 감지된 물체인지 판단한다.
영역 산정부(224)는 장애물 판단부(222)에서 본체(10)와 충돌한 외부 물체가 장애물이 아니라고 판단하는 경우, 지도에서 충격감지 신호가 입력된 위치를 바탕으로 복수의 셀을 포함하는 가상벽 등록 가능 영역을 산정한다.
영역 산정부(224)는 충격감지 신호가 입력된 위치에 대응하는 지도 상의 신호 입력 셀 좌표(X, Y)를 산정하고, 신호 입력 셀에서 인접한 적어도 하나의 주변 셀과 신호 입력셀을 가상벽 등록 가능 영역으로 산정할 수 있다.
구체적으로, 영역 산정부(224)는, 본체(10)의 크기, 본체(10)의 형상 및 충격감지센서(152)의 설치 위치를 고려하여 신호 입력 셀 주변의 적어도 하나의 주변 셀과 신호 입력셀을 가상벽 등록 가능 영역으로 산정할 수 있다.
더욱 구체적으로, 데이터부(280)에 저장된 본체(10)의 크기 정보, 본체(10)의 형상 정보와, 본체(10)에서의 충격감지센서(152) 위치 정보를 바탕으로, 영역 산정부(224)는 가상벽 등록 가능 영역을 산정한다.
영역 산정부(224)는 충격감지 신호가 입력된 위치에 대응하는 지도 상의 신호 입력 셀 좌표를 산정할 수 있다. 신호 입력 셀 좌표는 충격 감지 신호가 입력될 때, 본체(10)에 설치된 충격감지센서(152)와 중첩되는 셀 좌표로 정의된다. 도 6을 참조하면, 충격감시센서가 전방에 1개가 설치된 경우, 신호 입력 셀 좌표는 (X3, Y2)이다.
영역 산정부(224)는 신호 입력 셀좌표를 확정한 후, 본체(10)의 크기 정보와 본체(10)의 형상 정보, 본체(10)의 이동 정보를 바탕으로, 평면상 본체(10)의 전면 영역의 테두리와 중첩되는 영역을 주변 셀로 산정한다. 본체(10)의 전면 영역의 테두리와 중첩되는 영역은 본체(10)의 테두리 중 본체(10)의 중심 보다 전방(중심 수평선(LH) 보다 전방)에 위치되는 영역과 수직적으로 중첩되는 셀들(도 6에서 채색된 셀들)이다.
물론, 영역 산정부(224)는, 신호 입력 셀 주변의 일정한 셀들을 주변 셀로 산정할 수 있다.
다른 예로, 충격감지센서(152)는 본체(10)의 전방단과 본체(10)의 좌측 단 사이의 본체(10)의 측면에 위치되는 제1충격감지센서(152a)와, 본체(10)의 전방단과 본체(10)의 우측 단 사이의 본체(10)의 측면에 위치되는 제2충격감지센서(152b)를 포함할 때, 영역 산정부(224)는 제1충격감지센서(152a)와 제2충격감지센서(152b)에서 동시에 충격감지 신호가 입력된 경우, 제1충격감지센서(152a)와 제2충격감지센서(152b)의 위치에 대응하는 지도 상의 제1신호 입력 셀과 제2신호 입력 셀의 좌표를 산정하고, 제1신호 입력셀과 제2신호 입력 셀 사이의 셀, 제1신호 입력 셀 및 제2신호 입력 셀들을 가상벽 등록 가능 영역으로 산정할 수 있다. 바람직하게는, 제1신호 입력셀과 제2신호 입력 셀 사이의 셀들을 중 본체(10)의 전면 영역의 테두리와 중첩되는 셀((X3,Y1), (X1,Y2), (X2,Y2), (X3,Y1), (X4,Y2), (X5,Y2), (X5,Y3))들일 수 있다.
여기서, 본체(10)의 전방단(FE)은 중심 수직선(LC)과 본체(10)의 전면이 만나는 지점으로 정의되고, 본체(10)의 좌측 단(LE)은 중심 수평선(LH)과 본체(10)의 좌측면이 만나는 지점을 의미하며, 본체(10)의 우측 단(RE)은 중심 수평선(LH)과 본체(10)의 우측면이 만나는 지점을 의미한다.
또한, 충격감지센서(152)가 제1충격감지센서(152a)와, 제2충격감지센서(152b)를 포함할 때, 영역 산정부(224)는 제1충격감지센서(152a)와 제2충격감지센서(152b) 중 하나의 충격감시센서에서 충격감지 신호가 입력된 경우, 충격감지 신호가 입력된 충격감지센서(152)의 위치에 대응하는 지도 상의 신호 입력 셀의 좌표를 산정하고, 본체(10)의 크기, 본체(10)의 형상 및 충격감지센서(152)의 설치 위치를 고려하여 신호 입력 셀 주변의 적어도 하나의 주변 셀과 신호 입력셀을 가상벽 등록 가능 영역으로 산정할 수 있다.
제1충격감지센서(152a)에서 충격감지신호가 입력되면, 도 6에서 도시한 바와 같이, 가상벽 등록 가능 영역은 신호 입력 셀과, 신호 입력 셀의 주변 셀들을 중 본체(10)의 전면 좌측영역의 테두리(기준점에서 반시계방향으로 90도 방위각 영역)와 중첩되는 셀((X3,Y1), (X1,Y2), (X2,Y2), (X3,Y1))들일 수 있다.
제2충격감지센서(152b)에서 충격감지신호가 입력되면, 도 6에서 도시한 바와 같이, 가상벽 등록 가능 영역은 신호 입력 셀과, 신호 입력 셀의 주변 셀들을 중 본체(10)의 전면 우측영역의 테두리(기준점에서 시계방향으로 90도 방위각 영역)와 중첩되는 셀((X3,Y1), (X4,Y2), (X5,Y2), (X5,Y3))들일 수 있다.
가상벽 등록부(226)는 등록 우선순위에 따라 가상벽 등록 가능 영역 내의 복수의 셀 중 하나를 지도에 가상벽으로 등록한다. 등록 우선순위는 기 설정될 수 있고, 기 저장된 테이블 일수도 있고, 학습된 데이터일 수도 있다.
가상벽 등록부(226)는 등록 우선순위에 따라 가상벽 등록 가능 영역 내의 복수의 셀에서 제1순위 셀을 산정하고, 지도에서 제1순위 셀의 속성에 따라 제1순위 셀을 가상벽으로 등록할 수 있다. 셀의 속성에는 셀이 장애물 인지에 관한 정보와, 셀이 가상벽 인지에 관한 정보, 가상벽의 시간 정보 등일 수 있다.
구체적으로, 가상벽 등록부(226)는 등록 우선순위에 따라 가상벽 등록 가능 영역 내의 복수의 셀에서 제1순위 셀을 산정하고, 지도에서 제1순위 셀의 속성이 가상벽이 아닌 경우, 제1순위 셀을 가상벽으로 등록할 수 있다.
그리고, 가상벽 등록부(226)는, 제1순위 셀의 속성이 가상벽인 경우, 등록 우선순위에 따라 가상벽 등록 가능 영역 내의 복수의 셀에서 제2순위 셀을 산정하고, 제2순위 셀의 속성에 따라 제2순위 셀을 가상벽으로 등록할 수 있다. 가상벽 등록부(226)는 제2순위 셀의 속성이 가상벽이 아닌 경우, 제2순위 셀을 가상벽으로 등록하고, 제2순위 셀의 속성이 가상벽인 경우, 제3순위 셀을 산정할 수 있다. 한편, 제1순위 셀부터 마지막 순위 셀까지 모두 속성이 가상벽인 경우, 가상벽을 등록하지 않고, 제어유닛(200)은 기 등록된 가상벽을 회피하여 주행하도록 본체(10)를 제어한다.
다른 예로, 가상벽 등록부(226)는 등록 우선순위에 따라 가상벽 등록 가능 영역 내의 복수의 셀에서 제n순위 셀을 산정하고, 지도에서 제n순위 셀의 속성에 따라 제n순위 셀을 가상벽으로 등록하고, 제n순위 셀의 속성에 따라 제n순위 셀을 가상벽으로 등록하지 못하는 경우, 등록 우선순위에 따라 가상벽 등록 가능 영역 내의 복수의 셀에서 제n+1순위 셀을 산정하고, 지도에서 제n+1순위 셀의 속성에 따라 제n+1순위 셀을 가상벽으로 등록한다.
가상벽 등록부(226)는 등록 우선순위를 충격감지센서(152)의 배치위치에 따른 충격 미 감지 확률이 높은 영역에서 낮은 영역의 순서로 결정할 수 있다. 충격 미 감지 확률은 기 저장될 수 있고, 학습될 수도 있다.
충격감시센서가 전방에 1개가 설치된 경우, 가상벽 등록부(226)는, 가상벽 등록 가능 영역 내에 셀 등 중 본체(10)의 전면 영역의 테두리 중에 좌측 단 또는 우측단과 중첩되는 셀들((X1,Y3), (X5,Y5))을 제1순위로 설정할 수 있다. 가상벽 등록부(226)는 제1순위가 복수인 경우, 복수의 제1순위 중 랜덤으로 하나를 선택할 수 있다. 제2순위는 셀 좌표 (X1,Y2), (X5,Y2)이고, 제3순위는 셀 좌표 (X2,Y2), (X4,Y2)이고, 제4순위는 셀 좌표 (X4,Y1)이다.
또한, 충격감지센서(152)가 제1충격감지센서(152a)와, 제2충격감지센서(152b)를 포함할 때, 영역 산정부(224)는 제1충격감지센서(152a)와 제2충격감지센서(152b) 중 하나의 충격감시센서에서 충격감지 신호가 입력된 경우, 신호 입력 셀 주변의 적어도 하나의 주변 셀과 신호 입력셀을 가상벽 등록 가능 영역으로 산정하고, 가상벽 등록부(226)는, 제1신호 입력셀과 제2신호 입력 셀 사이의 셀들 중 제1충격감지센서(152a)와 제2충격감지센서(152b) 사이의 중심에서 먼 셀의 등록 우선순위를 높게 설정할 수 있다.
구체적으로, 충격감지센서(152)가 제1충격감지센서(152a)와, 제2충격감지센서(152b)를 포함할 때, 제1충격감지센서(152a)에서 충격감지신호가 입력되면, 가상벽 등록 가능영역((X3,Y1), (X1,Y2), (X2,Y2), (X3,Y1))확정되고, 가상벽 등록부(226)는 가상벽 등록 가능영역((X3,Y1), (X1,Y2), (X2,Y2), (X3,Y1))중 제1충격감지센서(152a)와 제2충격감지센서(152b) 사이의 중심에서 가장 먼 셀((X3,Y1))을 제1순위로 설정할 수 있다. 제2순위는 셀 좌표 (X1,Y2)이고, 제3순위는 셀 좌표 (X2,Y2)이고, 제4순위는 셀 좌표 (X4,Y1)이다.
충격감지센서(152)가 제1충격감지센서(152a)와, 제2충격감지센서(152b)를 포함할 때, 제2충격감지센서(152b)에서 충격감지신호가 입력되면, 가상벽 등록 가능영역((X3,Y1), (X4,Y2), (X5,Y2), (X5,Y3))확정되고, 가상벽 등록부(226)는 가상벽 등록 가능영역((X3,Y1), (X4,Y2), (X5,Y2), (X5,Y3))중 제1충격감지센서(152a)와 제2충격감지센서(152b) 사이의 중심에서 가장 먼 셀((X5,Y3))을 제1순위로 설정할 수 있다. 제2순위는 셀 좌표 (X5,Y2)이고, 제3순위는 셀 좌표(X4,Y2)이고, 제4순위는 셀 좌표 (X4,Y1)이다.
가상벽 등록 우선순위는 상술한 바와 같이 학습에 의해 정해질 수도 있으나, 상술한 바와 같이 순서를 정하는 것이 바람직하다. 이유는 충격감지센서(152)가 2개인 경우, 도 6과 같이 배치하고, 상술한 바와 같이 가상벽 등록 우선순위를 설정하는 것이 가상벽 대응회피가 용이하고, 장애물 감지유닛(100)에 감지되지 않는 물체를 감지하는데 가장 유리하기 때문이다.
가상벽 등록부(226)는, 지도에 가상벽 등록 시에 시간 정보, 청소 횟수 정보, 청소 영역 정보 중 적어도 하나의 정보를 포함하는 속성 정보를 함께 등록할 수 있다. 여기서, 시간 정보는 가상벽의 등록 시기를 포함할 수 있고, 청수 횟수 정보는 가상벽 등록 시에 청소 영역에 대한 청소 횟수의 누적 합계일 수 있다.
한편, 제어유닛(200)은 지도에 등록된 가상벽들 중 일정 시간이 지난 가상벽을 초기화할 수 있다. 제어유닛(200)은 지도에 등록된 가상벽의 속성 정보 중 시간 정보를 검색하여서, 지도에 등록된 가상벽들 중 일정 시간이 지난 가상벽을 초기화할 수 있다. 여기서, 가상벽의 초기화는 가상벽을 지도에서 삭제하는 것을 의미한다.
제어유닛(200)은, 지도에 등록된 가상벽들 중 일정 청소횟수가 지난 가상벽을 초기화할 수 있다. 제어유닛(200)은 지도에 등록된 가상벽의 속성 정보 중 청소 횟수 검색하여서, 지도에 등록된 가상벽들 중 일정 청소횟수가 지난 가상벽을 초기화할 수 있다. 더욱 구체적으로, 제어유닛(200)은 가상벽 들 중 청소횟수가 현재 청소횟수기 일정 횟수 이상 차이가 나는 가상벽들을 지도에서 제거할 수 있다.
제어유닛(200)은, 지도를 복수 개의 청소영역으로 구획하고, 청소를 시작할 경우, 복수 개의 청소영역 중 랜덤으로 선택된 적어도 하나의 청소영역 내에 위치된 가상벽을 초기화할 수 있다.
제어유닛(200)은, 청소 시작 시에, 지도를 복수 개의 청소영역으로 구획하고, 청소를 시작할 경우, 청소 횟수에 따라 정해진 청소영역 내의 가상벽을 초기화 할 수 있다.
다른 예로, 제어유닛(200)은 영역 산정부(224)와 가상벽 등록부(226)를 포함할 수 있다.
제어유닛(200)이 장애물 판단부(222)가 제외되고 영역 산정부(224)와 가상벽 등록부(226)를 포함하면, 제어유닛(200)은 본체(10)의 주행 중에 충격감지 신호가 입력되면, 그 충격이 장애물인지 판단하지 않고, 가상벽 등록 가능 영역을 산정하고, 가상벽을 등록할 수 있다. 특별한 설명이 없으면, 영역 산정부(224)와, 가상벽 등록부(226)에 대한 설명은 위에 설명한 것과 동일하다.
구체적으로, 영역 산정부(224)는 본체(10)의 주행 중에 충격감지 신호가 입력되면, 지도에서 충격감지 신호가 입력된 위치를 바탕으로 복수의 셀을 포함하는 가상벽 등록 가능 영역을 산정한다.
가상벽 등록부(226)는 등록 우선순위에 따라 가상벽 등록 가능 영역 내의 복수의 셀 중 하나를 지도에 가상벽으로 등록할 수 있다.
도 7 및 도 8은 본 발명의 일실시예에 따른 이동 로봇의 지도생성방법을 설명하는데 참조되는 도이다.
도 7에 도시된 바와 같이, 이동 로봇(1)은 지도가 저장되어 있지 않은 경우, 또는 초기동작 시, 벽추종(월팔로윙, Wall Following) 등을 통해 청소영역을 주행하여 지도를 생성할 수 있다. 또한, 이동 로봇(1)은 지도가 없는 상태에서 청소영역에 대한 청소를 수행하며 획득되는 장애물정보를 통해 지도를 생성할 수 있다.
맵생성부(220)는, 주행 중, 장애물 감지유닛(100) 및 센서부(150)로부터 입력되는 데이터 및 장애물인식부(210)의 장애물정보를 바탕으로 지도를 생성한다.
맵생성부(220)는 벽추종(월팔로윙)을 통해 청소영역에 대한 외곽선으로 구성된 기초맵을 생성한다. 기초맵은 영역 전체에 대한 외곽선의 형태이므로, 영역이 구분되어 있지 않은 상태이다.
그리고, 맵생성부(220)는 기초맵을 복수의 영역으로 구분하여, 영역이 구분된 지도, 청소맵을 생성할 수도 있다.
도 8에 도시된 바와 같이, 제어유닛(200)은 충격감지 신호가 감지되면, 장애물인지 판단하고, 장애물이 아니면, 가상벽 등록 가능 영역을 산정하고, 등록 우선순위에 따라, 가상벽을 지도에 등록한다. 등록된 가상벽에는 시간 정보, 청소 횟수 정보 등의 속성 정보가 포함된다.
도 9 는 본 발명의 일실시예에 따른 이동 로봇의 제어방법이 도시된 순서도이다.
도 9를 참조하면, 제어유닛(200)은 청소 영역에 대한 주행을 시작한다.
제어유닛(200)은 본체(10)의 주행 중에 충격감지센서(152)를 통해 충격감지 신호가 입력되는 것을 감지한다(S410).
이후, 제어유닛(200)은 본체(10)의 주행 중 충격감지 신호가 입력되면, 센서부(150) 또는 장애물 감지유닛(100)으로부터 입력되는 장애물 감지신호를 바탕으로 본체(10)와 충돌한 외부 물체가 장애물인지 판단한다(S420).
제어유닛(200)은 본체(10)와 충돌한 외부 물체가 장애물이라고 판단하는 경우, 장애물을 회피하여 주행하도록 본체(10)를 제어한다(S470).
제어유닛(200)은 본체(10)와 충돌한 외부 물체가 장애물이 아니라고 판단하는 경우, 지도에서 충격감지 신호가 입력된 위치를 바탕으로 복수의 셀을 포함하는 가상벽 등록 가능 영역을 산정한다(S430). 물론, 제어유닛(200)은 충격감지 신호가 입력된 위치에 대응하는 지도 상의 신호 입력 셀 좌표(X, Y)를 산정하고, 신호 입력 셀에서 인접한 적어도 하나의 주변 셀과 신호 입력셀을 가상벽 등록 가능 영역으로 산정할 수 있다. 또한, 제어유닛(200)은 본체(10)의 크기, 본체(10)의 형상 및 충격감지센서(152)의 설치 위치를 고려하여 신호 입력 셀 주변의 적어도 하나의 주변 셀과 신호 입력셀을 가상벽 등록 가능 영역으로 산정할 수 있다.
한편, 충격감지센서(152)가 제1충격감지센서(152a)와, 제2충격감지센서(152b)를 포함할 때, 가상벽 등록 가능 영역의 산정방법은 상술한 바와 같다.
제어유닛(200)은 등록 우선순위에 따라 가상벽 등록 가능 영역 내의 복수의 셀 중 하나를 지도에 가상벽으로 등록한다(S440). 등록 우선순위는 기 설정될 수 있고, 기 저장된 테이블 일수도 있고, 학습된 데이터일 수고, 상술한 설명과 동일할 수도 있다. 제어유닛(200)은 가상벽 등록 시에 가상벽의 속성 정보를 함께 등록할 수 있다.
제어유닛(200)은 등록된 가상벽을 회피하여 주행하도록 본체(10)를 제어한다(S450). 이 때, 제어유닛(200)은 주행 중 등록한 가상벽과 기 등록된 가상벽 모두를 회피하여 주행하도록 본체(10)를 제어한다.
제어유닛(200)은 지도에 등록된 가상벽들 중 적어도 일부의 가상벽들을 초기화할 수 있다(S460). 제어유닛(200)은 지도에 등록된 가상벽의 속성 정보 중 시간 정보를 검색하여서, 지도에 등록된 가상벽들 중 일정 시간이 지난 가상벽을 초기화할 수 있다. 제어유닛(200)은, 지도에 등록된 가상벽들 중 일정 청소횟수가 지난 가상벽을 초기화할 수 있다. 제어유닛(200)은, 지도를 복수 개의 청소영역으로 구획하고, 청소를 시작할 경우, 복수 개의 청소영역 중 랜덤으로 선택된 적어도 하나의 청소영역 내에 위치된 가상벽을 초기화할 수 있다. 제어유닛(200)은, 청소 시작 시에, 지도를 복수 개의 청소영역으로 구획하고, 청소를 시작할 경우, 청소 횟수에 따라 정해진 청소영역 내의 가상벽을 초기화 할 수 있다.
도 10은 본 발명의 다른 실시예에 따른 이동 로봇의 제어방법이 도시된 순서도이다.
도 10를 참조하면, 제어유닛(200)은 청소 영역에 대한 주행을 시작한다.
제어유닛(200)은 본체(10)의 주행 중에 충격감지센서(152)를 통해 충격감지 신호가 입력되는 것을 감지한다(S310).
이후, 제어유닛(200)은 본체(10)의 주행 중 충격감지 신호가 입력되면, 지도에서 충격감지 신호가 입력된 위치를 바탕으로 복수의 셀을 포함하는 가상벽 등록 가능 영역을 산정한다(S320). 물론, 제어유닛(200)은 충격감지 신호가 입력된 위치에 대응하는 지도 상의 신호 입력 셀 좌표(X, Y)를 산정하고, 신호 입력 셀에서 인접한 적어도 하나의 주변 셀과 신호 입력셀을 가상벽 등록 가능 영역으로 산정할 수 있다. 또한, 제어유닛(200)은 본체(10)의 크기, 본체(10)의 형상 및 충격감지센서(152)의 설치 위치를 고려하여 신호 입력 셀 주변의 적어도 하나의 주변 셀과 신호 입력셀을 가상벽 등록 가능 영역으로 산정할 수 있다.
한편, 충격감지센서(152)가 제1충격감지센서(152a)와, 제2충격감지센서(152b)를 포함할 때, 가상벽 등록 가능 영역의 산정방법은 상술한 바와 같다.
이후, 제어유닛(200)은 등록 우선순위에 따라 가상벽 등록 가능 영역 내의 복수의 셀 중 하나를 지도에 가상벽으로 등록한다(S330). 등록 우선순위는 기 설정될 수 있고, 기 저장된 테이블 일수도 있고, 학습된 데이터일 수고, 상술한 설명과 동일할 수도 있다. 제어유닛(200)은 가상벽 등록 시에 가상벽의 속성 정보를 함께 등록할 수 있다.
제어유닛(200)은 등록된 가상벽을 회피하여 주행하도록 본체(10)를 제어한다(S340). 이 때, 제어유닛(200)은 주행 중 등록한 가상벽과 기 등록된 가상벽 모두를 회피하여 주행하도록 본체(10)를 제어한다.
제어유닛(200)은 지도에 등록된 가상벽들 중 적어도 일부의 가상벽들을 초기화할 수 있다(S350). 제어유닛(200)은 지도에 등록된 가상벽의 속성 정보 중 시간 정보를 검색하여서, 지도에 등록된 가상벽들 중 일정 시간이 지난 가상벽을 초기화할 수 있다. 제어유닛(200)은, 지도에 등록된 가상벽들 중 일정 청소횟수가 지난 가상벽을 초기화할 수 있다. 제어유닛(200)은, 지도를 복수 개의 청소영역으로 구획하고, 청소를 시작할 경우, 복수 개의 청소영역 중 랜덤으로 선택된 적어도 하나의 청소영역 내에 위치된 가상벽을 초기화할 수 있다. 제어유닛(200)은, 청소 시작 시에, 지도를 복수 개의 청소영역으로 구획하고, 청소를 시작할 경우, 청소 횟수에 따라 정해진 청소영역 내의 가상벽을 초기화 할 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
Claims (20)
- 본체;
상기 본체에 설치되어 상기 본체를 이동시키는 주행 구동부;
청소영역에 대한 지도가 저장되는 데이터부;
상기 본체의 전방에 대한 장애물을 감지하여 장애물 감지신호를 입력하는 장애물 감지유닛;
상기 본체에 배치되어 상기 본체와 외부 물체 사이의 충격을 감지하고 충격감지 신호를 생성하는 충격감지센서; 및
상기 장애물 감지유닛으로부터 입력되는 장애물 감지신호에 대응하여 장애물을 판단하고, 상기 장애물에 대한 정보를 바탕으로 상기 청소영역 중 주행 가능한 영역에 대한 정보를 포함하는 상기 지도를 생성하는 제어유닛;을 포함하고,
상기 제어유닛은,
상기 충격감지 신호가 입력되면, 상기 장애물 감지신호를 바탕으로 상기 본체와 충돌한 외부 물체가 장애물인지 판단하는 장애물 판단부;
상기 장애물 판단부에서 상기 본체와 충돌한 외부 물체가 장애물이 아니라고 판단하는 경우, 상기 지도에서 상기 충격감지 신호가 입력된 위치를 바탕으로 복수의 셀을 포함하는 가상벽 등록 가능 영역을 산정하는 영역 산정부; 및
등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀 중 하나를 상기 지도에 가상벽으로 등록하는 가상벽 등록부;를 포함하는 이동 로봇. - 제1항에 있어서,
상기 영역 산정부는,
상기 충격감지 신호가 입력된 위치에 대응하는 상기 지도 상의 신호 입력 셀 좌표를 산정하고, 상기 신호 입력 셀에서 인접한 적어도 하나의 주변 셀과 상기 신호 입력셀을 상기 가상벽 등록 가능 영역으로 산정하는 이동 로봇. - 제1항에 있어서,
상기 영역 산정부는,
상기 충격감지 신호가 입력된 위치에 대응하는 상기 지도 상의 신호 입력 셀 좌표를 산정하고, 상기 본체의 크기, 상기 본체의 형상 및 상기 충격감지센서의 설치 위치를 고려하여 상기 신호 입력 셀 주변의 적어도 하나의 주변 셀과 상기 신호 입력셀을 상기 가상벽 등록 가능 영역으로 산정하는 이동 로봇. - 제1항에 있어서,
상기 가상벽 등록부는,
상기 등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀에서 상기 제1순위 셀을 산정하고, 상기 지도에서 상기 제1순위 셀의 속성에 따라 상기 제1순위 셀을 가상벽으로 등록하는 이동 로봇. - 제1항에 있어서,
상기 가상벽 등록부는,
상기 등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀에서 제1순위 셀을 산정하고, 상기 지도에서 상기 제1순위 셀의 속성이 가상벽이 아닌 경우, 상기 제1순위 셀을 가상벽으로 등록하는 이동 로봇. - 제5항에 있어서,
상기 가상벽 등록부는,
상기 제1순위 셀의 속성이 가상벽인 경우, 상기 등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀에서 제2순위 셀을 산정하고, 상기 제2순위 셀의 속성에 따라 상기 차 순위 셀을 가상벽으로 등록하는 이동 로봇. - 제1항에 있어서,
상기 가상벽 등록부는,
상기 등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀에서 상기 제n순위 셀을 산정하고, 상기 지도에서 상기 제n순위 셀의 속성에 따라 상기 제n순위 셀을 가상벽으로 등록하고,
상기 제n순위 셀의 속성에 따라 상기 제n순위 셀을 가상벽으로 등록하지 못하는 경우, 상기 등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀에서 상기 제n+1순위 셀을 산정하고, 상기 지도에서 상기 제n+1순위 셀의 속성에 따라 상기 제n+1순위 셀을 가상벽으로 등록하는 이동 로봇. - 제1항에 있어서,
상기 가상벽 등록부는,
상기 등록 우선순위를 상기 충격감지센서의 배치위치에 따른 충격 미 감지 확률이 높은 영역에서 낮은 영역의 순서로 결정하는 이동 로봇. - 제1항에 있어서,
상기 충격감지센서는,
상기 본체의 전방단과 상기 본체의 좌측 단 사이의 상기 본체의 측면에 위치되는 제1충격감지센서와,
상기 본체의 전방단과 상기 본체의 우측 단 사이의 상기 본체의 측면에 위치되는 제2충격감지센서를 포함하는 이동 로봇. - 제9항에 있어서,
상기 영역 산정부는,
상기 제1충격감지센서와 상기 제2충격감지센서에서 동시에 충격감지 신호가 입력된 경우,
상기 제1충격감지센서와 상기 제2충격감지센서의 위치에 대응하는 상기 지도 상의 제1신호 입력 셀과 제2신호 입력 셀의 좌표를 산정하고, 상기 제1신호 입력셀과 상기 제2신호 입력 셀 사이의 셀들, 제1신호 입력 셀 및 제2신호 입력셀을 상기 가상벽 등록 가능 영역으로 산정하는 이동 로봇. - 제10항에 있어서,
상기 가상벽 등록부는,
상기 제1신호 입력셀과 상기 제2신호 입력 셀 사이의 셀들 중 상기 제1충격감지센서와 상기 제2충격감지센서 사이의 중심에서 먼 셀의 등록 우선순위를 높게 설정하는 이동 로봇. - 제9항에 있어서,
상기 영역 산정부는,
상기 제1충격감지센서와 상기 제2충격감지센서 중 하나의 충격감시센서에서 충격감지 신호가 입력된 경우,
충격감지 신호가 입력된 충격감지센서의 위치에 대응하는 상기 지도 상의 신호 입력 셀의 좌표를 산정하고, 상기 본체의 크기, 상기 본체의 형상 및 상기 충격감지센서의 설치 위치를 고려하여 상기 신호 입력 셀 주변의 적어도 하나의 주변 셀과 상기 신호 입력셀을 상기 가상벽 등록 가능 영역으로 산정하는 이동 로봇. - 제12항에 있어서,
상기 가상벽 등록부는,
상기 가상벽 등록 가능 영역의 셀들 중 상기 제1충격감지센서와 상기 제2충격감지센서 사이의 중심에서 먼 셀의 등록 우선순위를 높게 설정하는 이동 로봇. - 제1항에 있어서,
상기 제어유닛은,
상기 주행 구동부를 상기 지도에 등록된 가상벽을 회피하여 주행하도록 제어하는 이동 로봇. - 제1항에 있어서,
상기 가상벽 등록부는,
상기 지도에 가상벽 등록 시에 시간 정보 또는 청소 횟수 정보를 포함하는 속성 정보를 함께 등록하는 이동 로봇. - 제1항에 있어서,
상기 제어유닛은,
상기 지도에 등록된 가상벽들 중 일정 시간이 지난 가상벽을 초기화하는 이동 로봇. - 제1항에 있어서,
상기 제어유닛은,
상기 지도에 등록된 가상벽들 중 일정 청소횟수가 지난 가상벽을 초기화하는 이동 로봇. - 제1항에 있어서,
상기 제어유닛은,
상기 지도를 복수 개의 청소영역으로 구획하고, 청소를 시작할 경우, 상기 복수 개의 청소영역 중 랜덤으로 선택된 적어도 하나의 청소영역 내에 위치된 가상벽을 초기화하는 이동 로봇. - 제1항에 있어서,
상기 제어유닛은,
청소 시작 시에, 상기 지도를 복수 개의 청소영역으로 구획하고, 청소를 시작할 경우, 청소 횟수에 따라 정해진 청소영역 내의 가상벽을 초기화하는 이동 로봇. - 본체;
상기 본체에 설치되어 상기 본체를 이동시키는 주행 구동부;
청소영역에 대한 지도가 저장되는 데이터부;
상기 본체에 배치되어 상기 본체와 외부 물체 사이의 충격을 감지하고 충격감지 신호를 생성하는 충격감지센서;
상기 청소영역에 대한 정보를 포함하는 상기 지도를 생성하는 제어유닛;을 포함하고,
상기 제어유닛은,
상기 충격감지 신호가 입력되면, 지도에서 상기 충격감지 신호가 입력된 위치를 바탕으로 복수의 셀을 포함하는 가상벽 등록 가능 영역을 산정하고,
등록 우선순위에 따라 상기 가상벽 등록 가능 영역 내의 복수의 셀 중 하나를 상기 지도에 가상벽으로 등록하는 이동 로봇.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210092293A KR20230011698A (ko) | 2021-07-14 | 2021-07-14 | 이동 로봇 |
US18/579,101 US20240335080A1 (en) | 2021-07-14 | 2022-07-07 | Mobile robot |
PCT/KR2022/009824 WO2023287105A1 (ko) | 2021-07-14 | 2022-07-07 | 이동 로봇 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210092293A KR20230011698A (ko) | 2021-07-14 | 2021-07-14 | 이동 로봇 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230011698A true KR20230011698A (ko) | 2023-01-25 |
Family
ID=84920492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210092293A KR20230011698A (ko) | 2021-07-14 | 2021-07-14 | 이동 로봇 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240335080A1 (ko) |
KR (1) | KR20230011698A (ko) |
WO (1) | WO2023287105A1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180085309A (ko) | 2017-01-18 | 2018-07-26 | 엘지전자 주식회사 | 이동 로봇 시스템 및 그 제어방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140045025A (ko) * | 2012-10-08 | 2014-04-16 | 송세경 | 가상벽을 이용하는 이동형 로봇 및 이동형 로봇의 이동 방법 |
CN107340768B (zh) * | 2016-12-29 | 2020-08-28 | 珠海市一微半导体有限公司 | 一种智能机器人的路径规划方法 |
US11709489B2 (en) * | 2017-03-02 | 2023-07-25 | RobArt GmbH | Method for controlling an autonomous, mobile robot |
KR102298582B1 (ko) * | 2019-07-12 | 2021-09-08 | 엘지전자 주식회사 | 센서 데이터를 이용하여 청소 동선을 결정하는 인공 지능 로봇 및 그 방법 |
CN110385719B (zh) * | 2019-07-23 | 2020-08-28 | 珠海市一微半导体有限公司 | 机器人判断是否碰撞虚拟墙的方法和芯片以及智能机器人 |
-
2021
- 2021-07-14 KR KR1020210092293A patent/KR20230011698A/ko active Search and Examination
-
2022
- 2022-07-07 WO PCT/KR2022/009824 patent/WO2023287105A1/ko active Application Filing
- 2022-07-07 US US18/579,101 patent/US20240335080A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180085309A (ko) | 2017-01-18 | 2018-07-26 | 엘지전자 주식회사 | 이동 로봇 시스템 및 그 제어방법 |
Also Published As
Publication number | Publication date |
---|---|
US20240335080A1 (en) | 2024-10-10 |
WO2023287105A1 (ko) | 2023-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102235270B1 (ko) | 이동 로봇 시스템 및 그 제어방법 | |
EP3428762B1 (en) | Moving robot and controlling method | |
US10967512B2 (en) | Moving robot and controlling method | |
US11737635B2 (en) | Moving robot and control method thereof | |
US11400600B2 (en) | Mobile robot and method of controlling the same | |
TWI706763B (zh) | 移動式機器人及其控制方法 | |
KR102314539B1 (ko) | 인공지능 이동 로봇의 제어 방법 | |
KR102235271B1 (ko) | 이동 로봇 및 그 제어방법 | |
TWI661289B (zh) | 移動式清掃機器人及其控制方法 | |
KR102000067B1 (ko) | 이동 로봇 | |
US11348276B2 (en) | Mobile robot control method | |
KR20180037516A (ko) | 이동 로봇 및 그 제어방법 | |
KR102478283B1 (ko) | 이동 로봇 및 그 제어방법 | |
KR20230011698A (ko) | 이동 로봇 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |