KR20230115158A - A moving robot using artificial intelligence and control method thereof - Google Patents
A moving robot using artificial intelligence and control method thereof Download PDFInfo
- Publication number
- KR20230115158A KR20230115158A KR1020220011821A KR20220011821A KR20230115158A KR 20230115158 A KR20230115158 A KR 20230115158A KR 1020220011821 A KR1020220011821 A KR 1020220011821A KR 20220011821 A KR20220011821 A KR 20220011821A KR 20230115158 A KR20230115158 A KR 20230115158A
- Authority
- KR
- South Korea
- Prior art keywords
- driving
- map
- speed
- mobile robot
- area
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 41
- 238000013473 artificial intelligence Methods 0.000 title abstract description 3
- 238000001514 detection method Methods 0.000 claims description 42
- 239000000428 dust Substances 0.000 claims description 28
- 238000010801 machine learning Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 7
- 238000004140 cleaning Methods 0.000 abstract description 62
- 238000006073 displacement reaction Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
Classifications
-
- 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
- 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/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- 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
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- 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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- 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/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Electric Vacuum Cleaner (AREA)
Abstract
본 발명에 따른 인공지능을 이용한 이동 로봇은 본 발명의 실시예에 따르면, 본체를 이동시키는 주행부; 소정 기능을 수행하는 작업부; 주변 환경을 감지하는 센싱부; 상기 주변 환경을 촬영하여 영상 데이터를 수득하는 영상 감지부; 및 주행 구역에 해당하는 기초 맵에 따라 주행하면서 상기 센싱부 및 영상 감지부를 통해 감지된 정보 및 상기 영상 데이터를 기초로 상기 주행 구역에 대한 속도맵을 생성하고, 생성된 상기 속도 맵에 따라 상기 주행 구역을 주행하도록 제어하는 제어부;를 포함한다. 따라서, 실제 실내 공간의 변화에 대한 실시간 감지와 그에 따른 맵 작성이 가능하다. 또한, 각 영역에 따라 이동 로봇의 최적의 속도를 산출하여 해당 영역을 주행하는 속도를 최적화할 수 있으며, 청소 능률을 향상시킬 수 있다. According to an embodiment of the present invention, a mobile robot using artificial intelligence according to the present invention includes a driving unit for moving a main body; a work unit that performs a predetermined function; a sensing unit that senses the surrounding environment; an image sensor for obtaining image data by photographing the surrounding environment; and driving according to the basic map corresponding to the driving zone, generating a speed map for the driving zone based on the information detected through the sensing unit and the image detector and the image data, and performing the driving according to the generated speed map. It includes; a control unit that controls to drive in the area. Therefore, it is possible to detect changes in the actual indoor space in real time and create a map accordingly. In addition, it is possible to optimize the driving speed of the mobile robot by calculating the optimal speed for each area, and improve cleaning efficiency.
Description
본 발명은, 이동 로봇 및 그의 제어방법에 관한 것으로, 보다 상세하게는 인공지능을 이용한 이동 로봇의 감지 및 그에 따른 주행 기술에 관한 것이다.The present invention relates to a mobile robot and a control method thereof, and more particularly, to detection of a mobile robot using artificial intelligence and driving technology accordingly.
최근 로봇은 다양한 분야에 응용되고 있으며, 일 예로, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다. 이러한 로봇 중에서 자력으로 주행이 가능한 것을 이동 로봇이라고 한다. 가정에서 사용되는 이동 로봇의 대표적인 예는 로봇 청소기이다.Recently, robots are applied in various fields, and for example, medical robots, space robots, etc. are being developed, and household robots that can be used in general households are also being made. Among these robots, those capable of driving on their own are called mobile robots. A typical example of a mobile robot used at home is a robot vacuum cleaner.
로봇 청소기에 구비된 여러 센서를 통하여 로봇 청소기 주변의 환경 및 사용자를 감지하는 여러 기술들이 알려져 있다. 또한, 로봇 청소기가 스스로 청소 구역을 학습하여 맵핑하고, 맵 상에서 현재 위치를 파악하는 기술들이 알려져 있다. 청소 구역을 기설정된 방식으로 주행하며 청소하는 로봇 청소기가 알려져 있다.Various technologies are known for sensing an environment around the robot cleaner and a user through various sensors provided in the robot cleaner. In addition, technologies are known in which a robot cleaner learns and maps a cleaning area by itself and determines a current location on a map. A robot cleaner that cleans while driving in a cleaning area in a preset manner is known.
또한, 종래 기술(한국특허등록번호 10-2017-0003764)에는, 청소영역에 대한 지도(격자지도)를 사용자가 확인하기 용이한 형태로 가공하고 (외곽선 변경 등), 지도를 통해 입력되는 청소명령에 따라 청소영역에 대한 청소가 수행되도록 하는 방법이 개시되어 있다.In addition, in the prior art (Korean Patent Registration No. 10-2017-0003764), the map (grid map) for the cleaning area is processed into a form that is easy for the user to check (change of outline, etc.), and the cleaning command input through the map According to the above, a method for cleaning a cleaning area is disclosed.
한편, 종래 기술(한국등록특허번호 10-0791384)에는, 특징점을 이용한 영역 구분 방법 및 이를 이용한 이동 청소로봇에 대한 것으로, 격자 지도로부터 특징점을 이용하여 공간을 나누어 사용자가 편리하게 청소 명령을 내릴 수 있는 기술이 개시되어 있다.On the other hand, in the prior art (Korean Patent Registration No. 10-0791384), a method for dividing areas using feature points and a mobile cleaning robot using the feature points are divided into spaces using feature points from a lattice map, so that a user can conveniently issue a cleaning command. A technology is disclosed.
그리고, 한편, 종래 기술(한국등록특허번호 10-2115193)에는, 주행하면서 제1맵에 기초하여 청소를 수행하고, 주행이 복잡했던 영역을 청소 방해 영역으로 지정하는 제2 맵을 생성하는 기술이 개시되어 있다.On the other hand, in the prior art (Korean Patent Registration No. 10-2115193), there is a technique of performing cleaning based on the first map while driving and generating a second map designating an area where driving was complicated as a cleaning obstruction area. has been initiated.
그러나, 앞서 설명한 종래 기술의 경우, 이분법적으로 공간을 정의하는 경우, 실시간으로 이동하는 이동 장애물 등에 대해 정의하지 못하는 오류가 발생하며, 이동 로봇의 대응 모션도 일반 구역과 청소 방해 구역에 대응하는 모션 2가지로 존재하여 유연한 대응이 불가능한 어려움이 있다.However, in the case of the prior art described above, when a space is defined in a dichotomous manner, an error that cannot be defined for a moving obstacle that moves in real time occurs, and the corresponding motion of the mobile robot also corresponds to the general area and the cleaning obstruction area. There are two types of difficulties that make it impossible to respond flexibly.
제1 과제는 실제 실내 공간에 대한 머신 러닝을 통해 속도 맵을 제공하는 것이다. The first task is to provide a speed map through machine learning for an actual indoor space.
상기 종래기술은 청소영역에 대한 지도를 사용자가 확인하기 용이한 형태로 가공하고 (외곽선 변경 등), 지도를 통해 입력되는 청소명령에 따라 청소영역에 대한 청소가 수행되도록 하는 방법을 개시하고는 있으나, 실시간으로 변화하는 환경에 대한 반영이 어렵다.The prior art discloses a method of processing a map of a cleaning area into a form that is easy for a user to check (e.g., changing an outline) and performing cleaning of the cleaning area according to a cleaning command input through the map. , it is difficult to reflect the environment changing in real time.
따라서, 제2 과제는 실제 공간에 대한 실시간 변화를 감지하여 이를 속도에반영하는 속도맵을 별도로 작성하여 주행 속도를 제어하는 이동 로봇을 제공하는 것이다.Therefore, a second task is to provide a mobile robot that controls the driving speed by separately creating a speed map that detects real-time changes in real space and reflects them to the speed.
본 발명의 실시예에 따르면, 본체를 이동시키는 주행부; 소정 기능을 수행하는 작업부; 주변 환경을 감지하는 센싱부; 상기 주변 환경을 촬영하여 영상 데이터를 수득하는 영상 감지부; 및 주행 구역에 해당하는 기초 맵에 따라 주행하면서 상기 센싱부 및 영상 감지부를 통해 감지된 정보 및 상기 영상 데이터를 기초로 상기 주행 구역에 대한 속도맵을 생성하고, 생성된 상기 속도 맵에 따라 상기 주행 구역을 주행하도록 제어하는 제어부;를 포함하는 이동 로봇을 제공한다.According to an embodiment of the present invention, the driving unit for moving the main body; a work unit that performs a predetermined function; a sensing unit that senses the surrounding environment; an image sensor for obtaining image data by photographing the surrounding environment; and driving according to the basic map corresponding to the driving zone, generating a speed map for the driving zone based on the information detected through the sensing unit and the image detector and the image data, and performing the driving according to the generated speed map. It provides a mobile robot including a control unit for controlling to travel in a zone.
상기 이동 로봇은, 엣지 모드 또는 지그재그 모드로 선행 주행을 진행하면서 상기 주행 구역에 대한 정보 및 영상 데이터를 수집할 수 있다.The mobile robot may collect information and image data about the driving area while driving ahead in an edge mode or a zigzag mode.
상기 제어부는, 상기 센싱부로부터 수득된 감지된 정보로부터 상기 주행 구역에 대한 기초 맵을 작성할 수 있다.The control unit may create a basic map for the driving area from sensed information obtained from the sensing unit.
상기 제어부는, 상기 주행 구역의 기초 맵에 따라 복수회 주행하면서 상기 감지 신호 및 상기 영상 데이터를 축적할 수 있다.The control unit may accumulate the detection signal and the image data while driving a plurality of times according to the basic map of the driving area.
상기 기초 맵은 격자 맵이며, 상기 속도 맵은 상기 기초 맵의 각 격자마다 속도를 설정하여 기록할 수 있다.The base map is a lattice map, and the speed map may be recorded by setting a speed for each lattice of the base map.
상기 이동 로봇은 상기 감지 신호 및 상기 영상 데이터를 저장하는 저장부를 더 포함하며, 제어부는 상기 저장부에 저장되어 있는 상기 감지 신호 및 상기 영상 데이터가 소정량 이상 축적되면 머신 러닝을 수행하여 상기 속도 맵을 생성할 수 있다.The mobile robot further includes a storage unit for storing the detection signal and the image data, and the control unit performs machine learning to obtain the speed map when the detection signal and the image data stored in the storage unit accumulate a predetermined amount or more. can create
상기 제어부는, 상기 속도 맵이 생성되면 상기 저장부에 상기 속도 맵을 갱신하여 저장할 수 있다.When the speed map is generated, the control unit may update and store the speed map in the storage unit.
상기 속도 맵은 상기 기초 맵에 장애물 영역이 표시되고, 상기 장애물 영역을 둘러싸는 격자에 속도가 최소값을 갖도록 설정할 수 있다.The speed map may be set so that an obstacle area is displayed on the basic map and a speed has a minimum value in a grid surrounding the obstacle area.
상기 속도 맵은 상기 기초 맵에 바닥 특성이 표시되고, 상기 바닥 특성에 따라 속도 값이 변경되어 설정될 수 있다.The speed map may be set by displaying floor characteristics on the basic map and changing a speed value according to the floor characteristics.
상기 바닥 특성은 이전 주행에서의 먼지량과 현재 주행에서의 먼지량에 따라판단될 수 있다.The floor characteristics may be determined according to the amount of dust in the previous driving and the amount of dust in the current driving.
한편, 실시예는 주행 구역에 주행를 진행하여, 센싱부를 통해 감지 신호를 수득하고, 영상 감지부로부터 주변 환경을 촬영하여 영상 데이터를 수득하는 단계; 상기 감지 신호 및 상기 영상 데이터를 기초로 주행 구역에 대한 속도 맵을생성하는 단계; 및 생성된 상기 속도 맵에 따라 주행 속도를 가변하여 상기 주행 구역을 주행하는 단계를 포함하는 이동 로봇의 제어 방법을 제공한다.Meanwhile, the embodiment includes the steps of driving in a driving zone, obtaining a detection signal through a sensing unit, and obtaining image data by photographing a surrounding environment from an image sensor; generating a speed map for a driving area based on the detection signal and the image data; and varying a driving speed according to the generated speed map to travel in the driving area.
엣지 모드 또는 지그재그 모드로 선행 주행을 진행하면서 상기 주행 구역에 대한 상기 감지 신호 및 영상 데이터를 수집할 수 있다.The sensing signal and image data for the driving area may be collected while driving ahead in the edge mode or the zigzag mode.
상기 센싱부로부터 수득된 감지 신호로부터 상기 주행 구역에 대한 기초 맵을 작성하는 단계를 더 포함할 수 있다.The method may further include creating a basic map for the driving area from the detection signal obtained from the sensing unit.
상기 영상 데이터 수득 단계는, 상기 주행 구역의 기초 맵에 따라 복수회 주행하면서 상기 감지 신호 및 상기 영상 데이터를 축적할 수 있다.In the obtaining of the image data, the detection signal and the image data may be accumulated while driving a plurality of times according to the basic map of the driving area.
상기 기초 맵은 격자 맵이며, 상기 속도 맵은 상기 기초 맵의 각 격자마다 속도를 설정하도록 생성할 수 있다.The base map is a lattice map, and the speed map may be generated to set a speed for each lattice of the base map.
상기 감지 신호 및 상기 영상 데이터를 저장하는 단계를 더 포함하며, 저장되어 있는 상기 감지 신호 및 상기 영상 데이터가 소정량 이상 축적되면 머신 러닝을 수행하여 상기 속도 맵을 생성할 수 있다.The method may further include storing the sensing signal and the image data, and when the stored sensing signal and the image data are accumulated over a predetermined amount, machine learning may be performed to generate the speed map.
새로운 속도 맵이 생성되면 저장되어 있는 이전 속도 맵을 상기 새로운 속도 맵으로 갱신하는 단계를 더 포함할 수 있다.When a new speed map is generated, the method may further include updating a stored previous speed map with the new speed map.
상기 속도 맵은, 상기 기초 맵에 장애물 영역이 표시되고, 상기 장애물 영역을 둘러싸는 격자에 최소값의 속도값이 설정되도록 생성할 수 있다.The speed map may be generated such that an obstacle area is displayed on the basic map and a minimum speed value is set in a grid surrounding the obstacle area.
상기 속도 맵은, 상기 기초 맵에 바닥 특성이 표시되고, 상기 바닥 특성에 따라 속도값이 변경되어 설정될 수 있다.The speed map may be set by displaying floor characteristics on the basic map and changing a speed value according to the floor characteristics.
상기 바닥 특성은 이전 주행에서의 먼지량과 현재 주행에서의 먼지량에 따라판단할 수 있다.The floor characteristics may be determined according to the amount of dust in the previous driving and the amount of dust in the current driving.
상기 해결 수단을 통하여, 본 발명은 실제 실내 공간의 변화에 대한 실시간감지와 그에 따른 맵 작성이 가능하다.Through the above solution, the present invention can detect real-time changes in an actual indoor space and create a map accordingly.
또한, 각 영역에 따라 이동 로봇의 최적의 속도를 산출하여 해당 영역을 주행하는 청소 시간을 단축할 수 있으며, 장애물에 대한 정확한 판단에 따라 속도를 잘못 제어하는 오판단을 줄임으로써 청소 능률을 향상시킬 수 있다. In addition, by calculating the optimal speed of the mobile robot for each area, the cleaning time for traveling in the area can be shortened, and the cleaning efficiency can be improved by reducing the misjudgment that incorrectly controls the speed according to the accurate judgment about the obstacle. can
도 1은 본 발명의 일 실시예에 따른 로봇 청소기 및 로봇 청소기를 충전시키는 충전대를 도시한 사시도이다.
도 2는 도 1의 로봇 청소기를 상측에서 바라본 입면도이다.
도 3은 도 1의 로봇 청소기를 정면에서 바라본 입면도이다.
도 4는 도 1의 로봇 청소기를 하측에서 바라본 입면도이다.
도 5는 도 1의 로봇 청소기의 주요 구성들 간의 제어관계를 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 로봇 청소기의 제어방법을 도시한 순서도이다.
도 7은 도 6의 제어방법에 따라 진행되는 기초맵을 도시한 것이다.
도 8a 내지 도 8c는 도 7의 A구역에 대한 속도맵을 작성한 것이다.
도 9는 로봇 청소기의 주행 상황을 나타내는 도면이다.1 is a perspective view illustrating a robot cleaner and a charging stand for charging the robot cleaner according to an embodiment of the present invention.
2 is an elevational view of the robot cleaner of FIG. 1 viewed from above.
3 is an elevational view of the robot cleaner of FIG. 1 viewed from the front;
4 is an elevational view of the robot cleaner of FIG. 1 viewed from a lower side.
FIG. 5 is a block diagram illustrating a control relationship between major components of the robot cleaner of FIG. 1 .
6 is a flowchart illustrating a control method of a robot cleaner according to an embodiment of the present invention.
FIG. 7 shows a basic map performed according to the control method of FIG. 6 .
8A to 8C are speed maps for area A of FIG. 7 .
9 is a diagram illustrating a driving condition of the robot cleaner.
본 설명 전체에 걸쳐 언어적/수학적으로 표현된 대소비교에 있어서, '작거나 같음(이하)'과 '작음(미만)'은 통상의 기술자 입장에서 서로 용이하게 치환가능한 정도이며, '크거나 같음(이상)'과 '큼(초과)'은 통상의 기술자 입장에서 서로 용이하게 치환가능한 정도이며, 본 발명을 구현함에 있어서 치환하여도 그 효과 발휘에 문제가 되지 않음은 물론이다.In the relative comparison expressed linguistically/mathematically throughout this description, 'less than or equal to (less than)' and 'less than (less than)' are degrees that can be easily substituted for each other from the point of view of a person skilled in the art, and 'greater than or equal to' (more)' and 'greater than (exceeding)' are degrees that can be easily substituted for each other from the standpoint of a person skilled in the art, and it is of course that there is no problem in exerting the effect even if they are substituted in implementing the present invention.
본 발명의 이동 로봇(100)은 바퀴 등을 이용하여 스스로 이동이 가능한 로봇을 의미하고, 가정 도우미 로봇 및 로봇 청소기 등이 될 수 있다.The mobile robot 100 of the present invention refers to a robot capable of moving by itself using wheels and the like, and may be a home helper robot and a robot vacuum cleaner.
이하 도 1 내지 도 5를 참조하여, 이동 로봇 중 로봇 청소기(100)를 예로 들어 설명하나, 이에 한정되지 않는다.Referring to FIGS. 1 to 5 , the robot cleaner 100 among mobile robots will be described as an example, but is not limited thereto.
로봇 청소기(100)는 본체(110)를 포함한다. 이하, 본체(110)의 각부분을 정의함에 있어서, 주행구역 내의 천장을 향하는 부분을 상면부(도 2 참조)로 정의하고, 주행구역 내의 바닥을 향하는 부분을 저면부(도 4 참조)로 정의하고, 상기 상면부와 저면부 사이에서 본체(110)의 둘레를 이루는 부분 중 주행방향을 향하는 부분을 정면부(도 3 참조)라고 정의한다. 또한, 본체(110)의 정면부와 반대 방향을 향하는 부분을 후면부로 정의할 수 있다. 본체(110)는 로봇 청소기(100)를 구성하는 각종 부품들이 수용되는 공간을 형성하는 케이스(111)를 포함할 수 있다.The robot cleaner 100 includes a body 110. Hereinafter, in defining each part of the main body 110, the part facing the ceiling in the driving area is defined as the upper part (see FIG. 2), and the part facing the floor in the driving area is defined as the bottom part (see FIG. 4). And, of the part forming the circumference of the body 110 between the upper and lower surfaces, the part facing the driving direction is defined as the front part (see FIG. 3). In addition, a portion facing the opposite direction to the front portion of the main body 110 may be defined as a rear portion. The main body 110 may include a case 111 forming a space in which various parts constituting the robot cleaner 100 are accommodated.
로봇 청소기(100)는 주변의 상황을 감지하는 센싱부(130)를 포함한다. 센싱부(130)는 로봇 청소기(100) 외부의 정보를 감지할 수 있다. 센싱부(130)는 로봇 청소기(100) 주변의 사용자를 감지한다. 센싱부(130)는 로봇 청소기(100) 주변의 물체를 감지할 수 있다.The robot cleaner 100 includes a sensing unit 130 that senses a surrounding situation. The sensing unit 130 may detect information outside the robot cleaner 100 . The sensing unit 130 detects users around the robot cleaner 100 . The sensing unit 130 may detect objects around the robot cleaner 100 .
센싱부(130)는 청소 구역에 대한 정보를 감지할 수 있다. 센싱부(130)는 주행면 상의 벽체, 가구 및 낭떠러지 등의 장애물을 감지할 수 있다. 센싱부(130)는 천장에 대한 정보를 감지할 수 있다. 센싱부(130)는, 주행면 상에 놓여진 물건 및/또는 외부의 상측 물체를 포함할 수 있다. 외부의 상측 물체는, 로봇 청소기(100)의 상측 방향에 배치되는 천장이나 가구의 하측면 등을 포함할 수 있다. 센싱부(130)가 감지한 정보를 통해, 로봇 청소기(100)는 청소 구역을 맵핑(Mapping)할 수 있다.The sensing unit 130 may detect information about the cleaning area. The sensing unit 130 may detect obstacles such as walls, furniture, and cliffs on the driving surface. The sensing unit 130 may detect information about the ceiling. The sensing unit 130 may include an object placed on the driving surface and/or an external upper object. The external upper object may include a ceiling or a lower surface of furniture disposed in an upward direction of the robot cleaner 100 . The robot cleaner 100 may map a cleaning area through information detected by the sensing unit 130 .
센싱부(130)는, 로봇 청소기(100) 주변의 사용자에 대한 정보를 감지할 수 있다. 센싱부(130)는, 상기 사용자의 위치 정보를 감지할 수 있다. 상기 위치 정보는, 로봇 청소기(100)에 대한 방향 정보를 포함할 수 있다. 상기 위치 정보는, 로봇 청소기(100)와 사용자 사이의 거리 정보를 포함할 수 있다. 센싱부(130)는 상기 사용자의 상기 로봇 청소기(100)에 대한 방향을 감지할 수 있다. 센싱부(130)는 상기 사용자와 로봇 청소기(100) 사이의 거리를 감지할 수 있다.The sensing unit 130 may detect information about a user around the robot cleaner 100 . The sensing unit 130 may detect the location information of the user. The location information may include direction information about the robot cleaner 100. The location information may include distance information between the robot cleaner 100 and the user. The sensing unit 130 may detect a direction of the user toward the robot cleaner 100 . The sensing unit 130 may detect a distance between the user and the robot cleaner 100 .
상기 위치 정보는, 센싱부(130)의 감지에 의해 곧바로 획득될 수도 있고, 제어부(140)에 의해 처리되어 획득될 수도 있다. The location information may be directly obtained by detection of the sensing unit 130 or may be obtained through processing by the control unit 140 .
센싱부(130)는 주변의 영상을 감지하는 영상 감지부(135)를 포함할 수 있다. 영상 감지부(135)는 로봇 청소기(100)에 대한 특정 방향으로 영상을 감지할 수 있다. 예를 들어, 영상 감지부(135)는, 로봇 청소기(100)의 전방으로 영상을 감지할 수 있다. 영상 감지부(135)는 주행구역을 촬영하는 것으로, 디지털 카메라를 포함할 수 있다. 상기 디지털 카메라는 적어도 하나의 광학렌즈와, 상기 광학렌즈를 통과한 광에 의해 상이 맺히는 다수개의 광다이오드(photodiode, 예를 들어, pixel)를 포함하여 구성된 이미지센서(예를 들어, CMOS image sensor)와, 상기 광다이오드들로부터 출력된 신호를 바탕으로 영상을 구성하는 디지털 신호 처리기(DSP: Digital Signal Processor)를 포함할 수 있다. 상기 디지털 신호 처리기는 정지영상은 물론이고, 정지영상으로 구성된 프레임들로 이루어진 동영상을 생성하는 것도 가능하다.The sensing unit 130 may include an image sensing unit 135 that senses a surrounding image. The image sensor 135 may detect an image in a specific direction with respect to the robot cleaner 100 . For example, the image sensor 135 may detect an image in front of the robot cleaner 100 . The image detector 135 captures the driving area and may include a digital camera. The digital camera is an image sensor (eg, CMOS image sensor) including at least one optical lens and a plurality of photodiodes (eg, pixels) forming images by light passing through the optical lens. and a digital signal processor (DSP) that composes an image based on the signals output from the photodiodes. The digital signal processor can generate not only still images, but also moving images composed of frames composed of still images.
센싱부(130)는 주변의 벽까지의 거리를 감지하는 거리 감지부(131)를 포함할 수 있다. 거리 감지부(131)를 통해 로봇 청소기(100)와 주변의 벽까지의 거리를 감지할 수 있다. 거리 감지부(131)는, 로봇 청소기(100)의 특정 방향으로 사용자까지의 거리를 감지한다. 거리 감지부(131)는 카메라, 초음파 센서 또는 IR(적외선) 센서 등을 포함할 수 있다.The sensing unit 130 may include a distance sensing unit 131 that detects a distance to a wall around it. The distance between the robot cleaner 100 and the surrounding wall may be detected through the distance sensor 131 . The distance detector 131 detects the distance to the user in a specific direction of the robot cleaner 100 . The distance detector 131 may include a camera, an ultrasonic sensor, or an infrared (IR) sensor.
거리 감지부(131)는 본체(110)의 정면부에 배치될 수 있고, 측방부에 배치될 수도 있다. The distance sensor 131 may be disposed on the front part of the main body 110 or may be disposed on the side part.
거리 감지부(131)는 주변의 장애물을 감지할 수 있다. 복수의 거리 감지부(131)가 구비될 수 있다. The distance detector 131 may detect surrounding obstacles. A plurality of distance detectors 131 may be provided.
센싱부(130)는 주행구역 내 바닥에 낭떠러지의 존재 여부를 감지하는 낭떠러지 감지부(132)를 포함할 수 있다. 복수의 낭떠러지 감지부(132)가 구비될 수 있다.The sensing unit 130 may include a cliff detection unit 132 that detects whether a cliff exists on the floor in the driving area. A plurality of cliff detection units 132 may be provided.
센싱부(130)는 바닥의 영상을 획득하는 하부 영상 센서(137)를 더 포함할 수 있다.The sensing unit 130 may further include a lower image sensor 137 that acquires an image of the floor.
로봇 청소기(100)는 본체(110)를 이동시키는 주행부(160)를 포함한다. 주행부(160)는 바닥에 대해 본체(110)를 이동시킨다. 주행부(160)는 본체(110)를 이동시키는 적어도 하나의 구동 바퀴(166)를 포함할 수 있다. 주행부(160)는 구동 모터를 포함할 수 있다. 구동 바퀴(166)는 본체(110)의 좌, 우 측에 각각 구비될 수 있으며, 이하, 각각 좌륜(166(L))과 우륜(166(R))이라고 한다.The robot cleaner 100 includes a driving unit 160 that moves the main body 110 . The driving part 160 moves the main body 110 with respect to the floor. The driving unit 160 may include at least one driving wheel 166 for moving the main body 110 . The driving unit 160 may include a driving motor. The driving wheels 166 may be provided on the left and right sides of the main body 110, respectively, and are hereinafter referred to as a left wheel 166(L) and a right wheel 166(R), respectively.
좌륜(166(L))과 우륜(166(R))은 하나의 구동 모터에 의해 구동될 수도 있으나, 필요에 따라 좌륜(166(L))을 구동시키는 좌륜 구동 모터와 우륜(166(R))을 구동시키는 우륜 구동 모터가 각각 구비될 수도 있다. 좌륜(166(L))과 우륜(166(R))의 회전 속도에 차이를 두어 좌측 또는 우측으로 본체(110)의 주행방향을 전환할 수 있다.The left wheel 166(L) and the right wheel 166(R) may be driven by a single drive motor, but the left wheel drive motor and the right wheel 166(R) driving the left wheel 166(L) as needed ) may be provided respectively with a right wheel drive motor for driving. The driving direction of the main body 110 can be switched to the left or right by making a difference between the rotation speeds of the left wheel 166 (L) and the right wheel 166 (R).
로봇 청소기(100)는 청소 기능을 수행하는 청소부(180)를 포함한다.The robot cleaner 100 includes a cleaner 180 that performs a cleaning function.
로봇 청소기(100)는 청소 구역을 이동하며 청소부(180)에 의해 바닥을 청소할 수 있다. 청소부(180)는, 이물질을 흡입하는 흡입 장치, 비질을 수행하는 브러시(184, 185), 흡입장치나 브러시에 의해 수거된 이물질을 저장하는 먼지통(미도시) 및/또는 걸레질을 수행하는 걸레부(미도시) 등을 포함할 수 있다.The robot cleaner 100 may clean the floor by the cleaner 180 while moving in the cleaning area. The cleaning unit 180 includes a suction device for sucking foreign substances, brushes 184 and 185 for sweeping, a dust bin (not shown) for storing foreign substances collected by the suction device or brush, and/or a mop unit for wiping. (not shown) and the like.
본체(110)의 저면부에는 공기의 흡입이 이루어지는 흡입구(180h)가 형성될 수 있다. 본체(110) 내에는 흡입구(180h)를 통해 공기가 흡입될 수 있도록 흡입력을 제공하는 흡입장치(미도시)와, 흡입구(180h)를 통해 공기와 함께 흡입된 먼지를 집진하는 먼지통(미도시)이 구비될 수 있다.A suction hole 180h through which air is sucked may be formed on the bottom of the main body 110 . In the main body 110, a suction device (not shown) that provides suction power so that air can be sucked through the suction hole 180h, and a dust bin (not shown) that collects dust sucked together with the air through the suction hole 180h. may be provided.
케이스(111)에는 상기 먼지통의 삽입과 탈거를 위한 개구부가 형성될 수 있고, 상기 개구부를 여닫는 먼지통 커버(112)가 케이스(111)에 대해 회전 가능하게 구비될 수 있다.An opening for insertion and removal of the dust bin may be formed in the case 111 , and a dust box cover 112 that opens and closes the opening may be rotatably provided with respect to the case 111 .
흡입구(180h)를 통해 노출되는 솔들을 갖는 롤형의 메인 브러시(184)와, 본체(110)의 저면부 전방측에 위치하며, 방사상으로 연장된 다수개의 날개로 이루어진 솔을 갖는 보조 브러시(185)가 구비될 수 있다. 이들 브러시(184, 185)들의 회전에 의해 주행구역 내 바닥으로부터 먼지들이 제거되며, 이렇게 바닥으로부터 분리된 먼지들은 흡입구(180h)를 통해 흡입되어 먼지통에 모인다.A roll-type main brush 184 having brushes exposed through the suction port 180h, and an auxiliary brush 185 located on the front side of the bottom surface of the main body 110 and having a brush made of a plurality of wings extending radially may be provided. The rotation of the brushes 184 and 185 removes dust from the floor in the driving area, and the dust separated from the floor is sucked through the suction port 180h and collected in the dust bin.
배터리(138)는 상기 구동 모터뿐만 아니라, 로봇 청소기(100)의 작동 전반에 필요한 전원을 공급할 수 있다. 배터리(138)가 방전될 시, 로봇 청소기(100)는 충전을 위해 충전대(200)로 복귀하는 주행을 실시할 수 있으며, 이러한 복귀 주행 중, 로봇 청소기(100)는 스스로 충전대(200)의 위치를 탐지할 수 있다.The battery 138 may supply not only the driving motor, but also power necessary for the overall operation of the robot cleaner 100. When the battery 138 is discharged, the robot cleaner 100 may return to the charging station 200 for charging. can detect
충전대(200)는 소정의 복귀 신호를 송출하는 신호 송출부(미도시)를 포함할 수 있다. 상기 복귀 신호는 초음파 신호 또는 적외선 신호일 수 있으나, 반드시 이에 한정되어야 하는 것은 아니다.The charging station 200 may include a signal transmission unit (not shown) that transmits a predetermined return signal. The return signal may be an ultrasonic signal or an infrared signal, but is not necessarily limited thereto.
한편, 영상감지부(135)는 본체(110)의 상면부에 구비되어, 청지역 내의 천장에 대한 영상을 획득하나, 영상감지부(135)의 위치와 촬영범위가 반드시 이에 한정되어야 하는 것은 아니다. 예를 들어, 영상감지부(135)는 본체(110) 전방의 영상을 획득하도록 구비될 수도 있다.On the other hand, the image sensor 135 is provided on the upper surface of the main body 110 to obtain an image of the ceiling in the blue area, but the location and shooting range of the image sensor 135 are not necessarily limited thereto. . For example, the image sensor 135 may be provided to obtain an image of the front of the main body 110 .
또한, 로봇 청소기(100)는 On/Off 또는 각종 명령을 입력할 수 있는 조작부(도시하지 않음)를 더 포함할 수 있다.In addition, the robot cleaner 100 may further include a manipulation unit (not shown) capable of inputting On/Off or various commands.
도 5를 참고하여, 로봇 청소기(100)은 각종 데이터를 저장하는 저장부(150)를 포함한다. 저장부(150)에는 로봇 청소기(100)의 제어에 필요한 각종 데이터 들이 기록될 수 있다. 저장부(150)는 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 상기 기록 매체는 마이크로 프로세서(micro processor)에 의해 읽힐 수 있는 데이터를 저장한 것으로, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등을 포함할 수 있다.Referring to FIG. 5 , the robot cleaner 100 includes a storage unit 150 for storing various data. Various data necessary for controlling the robot cleaner 100 may be recorded in the storage unit 150 . The storage unit 150 may include a volatile or non-volatile recording medium. The recording medium stores data that can be read by a microprocessor, and includes Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tapes, floppy disks, optical data storage devices, and the like.
저장부(150)에는 청소 구역의 맵이 저장될 수 있다. 상기 맵은 로봇 청소기(100)와 유선 또는 무선 통신을 통해 정보를 교환할 수 있는 외부 단말기에 의해 입력된 것일 수도 있고, 로봇 청소기(100)가 스스로 학습을 하여 생성한 것일 수도 있다. 전자의 경우, 외부 단말기로는 맵 설정을 위한 어플리케이션(application)이 탑재된 리모컨, PDA, 랩탑(laptop), 스마트 폰, 태블렛 등을 예로 들 수 있다.A map of the cleaning area may be stored in the storage unit 150 . The map may be input by an external terminal capable of exchanging information with the robot cleaner 100 through wired or wireless communication, or may be generated by the robot cleaner 100 through self-learning. In the former case, examples of the external terminal include a remote control, a PDA, a laptop, a smart phone, a tablet, etc. loaded with an application for setting a map.
상기 맵에는 청소 구역 내의 복수의 지점에 대응(일대일대응)하는 복수의 노드의 위치가 표시될 수 있다. 상기 맵에는 청소 구역 내의 각 지역이 표시될 수 있다. 또한, 로봇 청소기(100)의 현재 위치가 상기 맵 상에 표시될 수 있다. 상기 맵 상에서의 로봇 청소기(100)의 현재 위치는 주행 과정에서 갱신될 수 있다.Locations of a plurality of nodes corresponding to a plurality of points in the cleaning area (one-to-one correspondence) may be displayed on the map. Each area within the cleaning area may be displayed on the map. Also, the current location of the robot cleaner 100 may be displayed on the map. The current location of the robot cleaner 100 on the map may be updated during driving.
주행 변위 측정부(165)는 상기 영상 감지부(135)에서 획득된 영상을 근거로 주행 변위를 측정할 수 있다. 주행 변위는, 로봇 청소기(100)의 이동 방향과 이동 거리를 포함하는 개념이다. 예를 들어, 주행 변위 측정부(165)는 로봇 청소기(100)의 연속적인 이동에 따라 달라지는 바닥 영상의 연속적인 픽셀(pixel) 비교를 통해서 주행 변위를 측정할 수 있다. The driving displacement measurer 165 may measure the driving displacement based on the image acquired by the image sensor 135 . The traveling displacement is a concept including the moving direction and the moving distance of the robot cleaner 100 . For example, the driving displacement measurer 165 may measure the driving displacement by comparing successive pixels of the floor image that vary according to the continuous movement of the robot cleaner 100 .
또한, 주행 변위 측정부(165)는 주행부(160)의 동작을 근거로 로봇 청소기(100)의 주행 변위를 측정할 수 있다. 예를 들어, 제어부(140)는 구동 바퀴(136)의 회전속도를 근거로 로봇 청소기(100)의 현재 또는 과거의 이동속도, 주행한 거리 등을 측정할 수 있으며, 각 구동 바퀴(136(L), 136(R))의 회전 방향에 따라 현재 또는 과거의 방향 전환 과정 또한 측정할 수 있다. Also, the driving displacement measuring unit 165 may measure the driving displacement of the robot cleaner 100 based on the operation of the driving unit 160 . For example, the controller 140 may measure the current or past moving speed of the robot cleaner 100, the distance traveled, etc. based on the rotational speed of the driving wheel 136, and each driving wheel 136 (L ), the current or past direction change process can also be measured according to the direction of rotation of 136(R)).
주행 변위 측정부(165)는 거리 감지부(131) 및 영상 감지부(135) 중 적어도 어느 하나를 이용하여 상기 주행 변위를 측정하는 것도 가능하다.The driving displacement measurement unit 165 may measure the driving displacement using at least one of the distance sensor 131 and the image sensor 135 .
제어부(140)는 이렇게 측정된 주행 변위를 바탕으로, 맵 상에서 로봇 청소기(100)의 위치를 인식할 수 있다.The controller 140 may recognize the location of the robot cleaner 100 on the map based on the measured driving displacement.
송신부(170)는 로봇 청소기의 정보를 다른 로봇 청소기나 중앙 서버에 송신해줄 수 있다. 수신부(190)는 다른 로봇 청소기나 중앙 서버로부터 정보를 수신할 수 있다. 송신부(170)가 송신하는 정보 또는 수신부(190)가 수신하는 정보는 로봇 청소기의 구성 정보를 포함할 수 있다.The transmission unit 170 may transmit information about the robot cleaner to other robot cleaners or a central server. The receiving unit 190 may receive information from other robot cleaners or a central server. Information transmitted by the transmitter 170 or information received by the receiver 190 may include configuration information of the robot cleaner.
로봇 청소기(100)는 각종 정보를 처리하고 판단하는 제어부(140)를 포함한다. 제어부(140)는 청소 구역을 학습하는 정보 처리를 수행할 수 있다. 제어부(140)는 맵 상의 현재 위치를 인식하는 정보 처리를 수행할 수 있다. 제어부(140)는 로봇 청소기(100)을 구성하는 각종 구성들(예를 들어, 주행 변위 측정부(165), 거리 감지부(131), 영상감지부(135), 주행부(160), 송신부(170), 수신부(190) 등)의 제어를 통해, 로봇 청소기(100)의 동작 전반을 제어할 수 있다. The robot cleaner 100 includes a controller 140 that processes and determines various types of information. The controller 140 may perform information processing to learn the cleaning area. The controller 140 may perform information processing for recognizing a current location on the map. The control unit 140 includes various components constituting the robot cleaner 100 (eg, the driving displacement measuring unit 165, the distance sensing unit 131, the image sensing unit 135, the driving unit 160, and the transmitting unit). 170, receiver 190, etc.), it is possible to control the overall operation of the robot cleaner 100.
본 실시예에 따른 제어방법은 제어부(140)에 의해 수행될 수 있다. 본 발명은 로봇 청소기(100)의 제어방법일 수 있으며, 상기 제어방법을 수행하는 제어부(140)를 포함하는 로봇 청소기(100)일 수도 있다. 본 발명은 상기 제어방법의 각 단계를 포함하는 컴퓨터 프로그램일 수 있고, 상기 제어방법을 컴퓨터로 구현하기 위한 프로그램이 기록된 기록매체일 수도 있다. 상기 '기록매체'는 컴퓨터로 판독 가능한 기록매체를 의미한다. 본 발명은 하드웨어와 소프트웨어를 모두 포함하는 이동 로봇 제어 시스템일 수 있다.The control method according to this embodiment may be performed by the control unit 140 . The present invention may be a control method of the robot cleaner 100, or may be a robot cleaner 100 including a controller 140 that performs the control method. The present invention may be a computer program including each step of the control method, or a recording medium on which a program for implementing the control method by a computer is recorded. The 'recording medium' refers to a computer-readable recording medium. The present invention may be a mobile robot control system including both hardware and software.
로봇 청소기(100)의 제어부(140)는 맵핑 및/또는 현재 위치를 인식하는 등 각종 정보를 처리하고 판단한다. 제어부(140)는 상기 영상 및 학습(Machine Learning)을 통해 청소 구역을 맵핑하고 현재 위치를 맵 상에서 인식 가능하게 구비될 수 있다. 즉, 제어부(140)는 슬램(SLAM : Simultaneous Localization and Mapping) 기능을 수행할 수 있다.The controller 140 of the robot cleaner 100 processes and determines various information such as mapping and/or recognizing a current location. The control unit 140 may map the cleaning area through the image and machine learning and recognize the current location on the map. That is, the controller 140 may perform a Simultaneous Localization and Mapping (SLAM) function.
제어부(140)는 주행부(160)의 구동을 제어할 수 있다. 제어부(140)는 청소부(180)의 동작을 제어할 수 있다.The controller 140 may control driving of the driving unit 160 . The controller 140 may control the operation of the cleaner 180 .
로봇 청소기(100)는 각종 데이터를 저장하는 저장부(150)를 포함한다. 저장부(150)는 로봇 청소기(100)의 제어에 필요한 각종 정보들을 기록하는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다.The robot cleaner 100 includes a storage unit 150 for storing various data. The storage unit 150 records various information necessary for controlling the robot cleaner 100, and may include a volatile or non-volatile recording medium.
현실의 청소 구역은 맵 상의 청소 구역과 대응될 수 있다. 상기 청소 구역은 로봇 청소기(100)가 주행 경험이 있는 모든 평면 상의 구역 및 현재 주행하고 있는 평면 상의 구역을 모두 합한 범위로 정의될 수 있다.A real cleaning area may correspond to a cleaning area on the map. The cleaning area may be defined as a sum of areas on all planes in which the robot cleaner 100 has driving experience and areas on the plane in which the robot cleaner 100 is currently traveling.
제어부(140)는 주행부(160)의 동작을 바탕으로 로봇 청소기(100)의 이동 경로를 파악할 수도 있다. 예를 들어, 제어부(140)는 구동 바퀴(166)의 회전속도를 바탕으로 로봇 청소기(100)의 현재 또는 과거의 이동속도, 주행한 거리 등을 파악할 수 있으며, 각 구동 바퀴(166(L), 166(R))의 회전 방향에 따라 현재 또는 과거의 방향 전환 과정 또한 파악할 수 있다. 이렇게 파악된 로봇 청소기(100)의 주행 정보를 바탕으로, 맵 상에서 로봇 청소기(100)의 위치가 갱신될 수 있다. 또한, 상기 영상 정보를 이용하여, 맵 상에서 로봇 청소기(100)의 위치가 갱신될 수도 있다.The controller 140 may determine the moving path of the robot cleaner 100 based on the operation of the driving unit 160 . For example, the controller 140 may determine the current or past moving speed, the distance traveled, etc. of the robot cleaner 100 based on the rotational speed of the driving wheel 166, and each driving wheel 166 (L) , 166(R)), the current or past direction change process can also be grasped. The position of the robot cleaner 100 on the map may be updated based on the driving information of the robot cleaner 100 identified in this way. Also, the location of the robot cleaner 100 on the map may be updated using the image information.
구체적으로, 제어부(140)는 로봇 청소기(100)의 주행을 제어하고, 설정되는 주행 모드에 따라 주행부(160)의 구동을 제어한다. 주행부(160)의 주행 모드로서, 지그재그 모드, 엣지 모드, 나선형 모드 또는 복합형 모드 등을 선택적으로 설정할 수 있다.Specifically, the controller 140 controls driving of the robot cleaner 100 and controls driving of the driving unit 160 according to a set driving mode. As the driving mode of the driving unit 160, a zigzag mode, an edge mode, a spiral mode, or a complex mode may be selectively set.
지그재그 모드는 벽면이나 장애물로부터 소정 거리 이상으로 이격되어 지그재그로 주행하면서 청소하는 모드로 정의한다. 엣지 모드는 벽면에 붙어서 지그재그로 주행하면서 청소하는 모드로 정의한다. 나선형 모드는 대기 중의 한 곳을 중심으로 일정 영역 내에서 나선형으로 청소하는 모드로 정의한다. The zigzag mode is defined as a mode in which cleaning is performed while traveling in a zigzag manner at a distance greater than a predetermined distance from a wall or an obstacle. The edge mode is defined as a mode that cleans while adhering to a wall and driving in a zigzag pattern. The spiral mode is defined as a mode that spirally cleans within a certain area centered on one place in the air.
한편, 제어부(140)는 청소 구역의 맵을 생성한다. 즉, 제어부(140)는 선행 청소를 통해 인식된 위치 및 각 지점에서 획득한 영상을 통해 청소 구역의 기초 맵을 형성할 수 있다. 제어부(140)는 또한 기 생성된 맵을 주기적으로 갱신할 수 있다.Meanwhile, the controller 140 creates a map of the cleaning area. That is, the controller 140 may form a basic map of the cleaning area through the location recognized through the preceding cleaning and the image acquired at each point. The controller 140 may also periodically update the previously created map.
제어부(140)은 조건에 따라 생성된 기초 맵의 청소 구역의 형태를 분류하고, 분류된 형태에 따라 청소 방법을 매칭할 수 있다. 또한, 이러한 제어부(140)는 기본 모드로 청소를 진행하는 것과 매칭된 청소 방법으로 청소를 진행하는 것의 효율을 연산하여 효율이 높은 방법으로 로봇 청소기(100)의 청소를 실행한다.The controller 140 may classify the cleaning area types of the basic map generated according to conditions and match cleaning methods according to the classified types. In addition, the control unit 140 performs cleaning of the robot cleaner 100 in a highly efficient method by calculating the efficiency of cleaning in the basic mode and cleaning in a matched cleaning method.
이러한 제어부(140)는 센싱부(130)의 감지신호, 구체적으로는 거리 감지부(131) 및 낭떠러지 감지부(132)로부터의 감지 신호에 따라 기초 맵을 생성한다. 이와 같은 기초 맵은 일반적인 격자 맵일 수 있으며, 실질적으로 로봇 청소기(100)가 주행을 하면서 회전하는 방향, 직진 이동 거리, 벽으로부터의 이격 거리 등을 기초로 작성될 수 있다.The control unit 140 generates a basic map according to detection signals of the sensing unit 130, specifically, detection signals from the distance detection unit 131 and the cliff detection unit 132. Such a basic map may be a general grid map, and may be substantially created based on a rotation direction of the robot cleaner 100 while driving, a straight-line movement distance, a separation distance from a wall, and the like.
이러한 제어부(140)는 영상 감지부(135)로부터의 영상 데이터로부터 공간 정보를 추출하고, 기초 맵과 대응하여 각 공간에 대한 속도맵을 생성한다.The control unit 140 extracts space information from the image data from the image sensor 135 and generates a speed map for each space in correspondence with the basic map.
제어부(140)는 상기 기초 맵 및 속도 맵을 형성하기 위한 맵 형성부를 더 포함할 수 있으나, 제어부(140) 내에서 함께 프로세싱 가능하다.The control unit 140 may further include a map forming unit for forming the base map and the speed map, but they may be processed together within the control unit 140.
맵 생성부는 선행 청소를 통해 획득되는 감지 신호를 통해 기초 맵을 생성하고, 기초 맵에 영상 데이터로부터의 공간 정보를 반영하고, 이전 공간 정보를 함께 머신 러닝 수행하여, 각 공간에 대한 최적의 속도를 산정하는 속도 맵을 생성한다.The map generator generates a basic map through detection signals obtained through pre-cleaning, reflects spatial information from image data on the basic map, and performs machine learning with previous spatial information to determine the optimal speed for each space. Create a speed map to estimate.
. 이때, 맵 생성부는 연속적으로 촬영되어 생성되는 영상 데이터로부터 공간에 대한 상세 정보인 공간 정보를 추출하여 활용 가능하다.. At this time, the map generator may extract and utilize spatial information, which is detailed information about a space, from image data that is continuously photographed and generated.
구체적으로, 맵 생성부는 연속적인 영상 데이터에서 직선 추출을 수행하고, 소실점을 추출하는 것이 가능하다. 또한, 직선을 정합하여 모서리를 추출할 수 있으며, 각도 계산이 가능하다. 또한 직선 깊이를 추측할 수 있도록 삼각 측량이 가능하다. 이와 같은 공간 정보에 의해 공간의 넓이, 공간의 높이 등도 추출이 가능하다. 또한, 맵 생성부는 영상 데이터로부터 장애물이 검출되면, 이와 같은 장애물을 컴볼루션 신경망 기법 등의 알고리즘을 통해 장애물의 크기를 폭과 길이뿐만 아니라 높이까지 판단가능하며, 해당 장애물이 어떠한 물품인지에 대한 정보까지 추출 가능하다. 이와 같이 장애물에 대한 명명과 크기가 정의 가능하며 장애물에 대한 정보를 바탕으로 이동가능한 장애물인지에 대하여 판단할 수 있다.Specifically, the map generator may perform straight line extraction from continuous image data and extract vanishing points. In addition, edges can be extracted by matching straight lines, and angles can be calculated. It can also be triangulated so that line depth can be guessed. The area of the space and the height of the space can also be extracted from such spatial information. In addition, when an obstacle is detected from the image data, the map generator can determine the size of the obstacle not only in width and length but also in height through an algorithm such as a convolutional neural network technique, and information on what kind of object the obstacle is. can be extracted up to In this way, the name and size of the obstacle can be defined, and based on the information about the obstacle, it can be determined whether it is a movable obstacle.
또한, 각 공간에서의 먼지량을 분석하여 먼지량이 급격히 증가한 영역에 대한 속도 제어를 수행할 수 있다. In addition, by analyzing the amount of dust in each space, it is possible to perform speed control for an area where the amount of dust rapidly increases.
이와 같은 속도 맵은 일반적인 격자 구조를 가지는 2차원의 기초 맵과 달리, 맵의 각 격자, 즉 그리드에 대하여 최적 속도를 산출하여 매칭되어 있다.Unlike the two-dimensional basic map having a general lattice structure, such a speed map is matched by calculating an optimal speed for each lattice of the map, that is, the grid.
이와 같은 속도 맵의 형성 및 청소 구역 구획은 맵 생성부에서 진행 가능하나, 앞서 설명한 바와 같이 제어부(140)에서 일괄적으로 진행 가능하다.The formation of the speed map and the division of the cleaning area can be performed in the map generator, but as described above, the control unit 140 can collectively proceed.
제어부(140)는 맵핑된 청소 구역의 면적에 따라 청소 구역을 구획하여 구획된 각 서브 청소 구역의 형태에 따른 최적의 청소 방법을 매칭할 수 있다. 또한, 제어부(140)는 속도 맵에 따라 각 구역을 매칭된 속도로 이동하며 청소를 수행할 수 있다. The controller 140 may partition the cleaning zone according to the area of the mapped cleaning zone and match an optimal cleaning method according to the shape of each sub-cleaning zone. In addition, the controller 140 may perform cleaning while moving each zone at a matched speed according to the speed map.
제어부(140)는 거리 감지부(131) 및 영상감지부(135) 중 적어도 어느 하나를 이용하여, 현재 위치를 인식할 수 있으며, 맵 상에서 현재 위치를 인식할 수 있다. The controller 140 may use at least one of the distance detector 131 and the image detector 135 to recognize the current location and recognize the current location on the map.
입력부(171)는 On/Off 또는 각종 명령을 입력 받을 수 있다. 입력부(171)는 버튼, 키 또는 터치형 디스플레이 등을 포함할 수 있다. 입력부(171)는 음성 인식을 위한 마이크를 포함할 수 있다.The input unit 171 may receive On/Off or various commands. The input unit 171 may include a button, key, or touch type display. The input unit 171 may include a microphone for voice recognition.
출력부(173)는 각종 정보를 사용자에게 알릴 수 있다. 출력부(173)는 스피커 및/또는 디스플레이를 포함할 수 있다.The output unit 173 may inform the user of various types of information. The output unit 173 may include a speaker and/or a display.
이와 같이, 제어부(140)는 선행 청소를 수행하고 수득한 정보를 이용하여 청소 구역을 맵핑하며, 맵핑된 지도를 가공하여 사용자 단말에 제공할 수 있고, 속도 맵을 활용하여 주행에 적용할 수 있다.In this way, the control unit 140 performs preliminary cleaning, maps the cleaning area using the obtained information, processes the mapped map and provides it to the user terminal, and utilizes the speed map to apply it to driving. .
이하에서는 도 6 내지 도 9를 참고하여 본 발명의 실시예에 따른 로봇 청소기의 청소 동작을 설명한다.Hereinafter, a cleaning operation of the robot cleaner according to an embodiment of the present invention will be described with reference to FIGS. 6 to 9 .
도 6은 본 발명의 일 실시예에 따른 로봇 청소기의 제어방법을 도시한 순서도이고, 도 7은 도 6의 제어방법에 따라 진행되는 기초맵을 도시한 것이고, 도 8a 내지 도 8c는 도 7의 A구역에 대한 속도맵을 작성한 것이며, 도 9는 로봇 청소기의 주행 상황을 나타내는 도면이다.6 is a flowchart illustrating a control method of a robot cleaner according to an embodiment of the present invention, FIG. 7 shows a basic map performed according to the control method of FIG. 6, and FIGS. A speed map for area A is created, and FIG. 9 is a diagram showing a driving situation of the robot cleaner.
각 순서도들에서 서로 중복되는 내용은 동일한 도면 부호로 표기하고, 중복되는 설명은 생략한다.In each flowchart, overlapping contents are denoted by the same reference numerals, and overlapping descriptions are omitted.
제어방법은 제어부(140)에 의해 수행될 수 있다. 제어방법의 순서도 도면들의 각 단계와 순서도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션(instruction)들에 의해 수행될 수 있다. 상기 인스트럭션들은 범용 컴퓨터 또는 특수용 컴퓨터 등에 탑재될 수 있고, 상기 인스트럭션들이 순서도 단계(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다.The control method may be performed by the control unit 140. Each step of the flowchart drawings of the control method and combinations of the flowchart drawings may be performed by computer program instructions. The instructions may be implemented on a general purpose computer or a special purpose computer or the like, and the instructions create means for performing the functions described in the flowchart step(s).
또한, 몇 가지 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능하다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Also, in some embodiments, it is possible for the functions mentioned in the steps to occur out of order. For example, two steps shown in succession may in fact be performed substantially concurrently, or the steps may sometimes be performed in reverse order depending on the function in question.
도 6을 참고하면, 일 실시예에 따른 제어방법은 선행 청소를 통한 기초 맵 생성 단계, 기초 맵을 따라 감지 신호 수신 단계, 속도맵 생성 단계, 속도맵 갱신 단계 및 속도맵으로 주행하는 단계 등을 포함할 수 있다.Referring to FIG. 6 , the control method according to an embodiment includes generating a basic map through preliminary cleaning, receiving a detection signal along the basic map, generating a speed map, updating a speed map, and driving with a speed map. can include
상기 로봇 청소기(100)는 동작이 시작되면, 선행 청소를 통한 청소 구역에 대한 맵핑 진행하여 기초맵을 생성한다(S10). When the operation of the robot cleaner 100 starts, mapping of the cleaning area through preliminary cleaning is performed to generate a basic map (S10).
선행 청소는 청소 구역의 형태를 파악하기 위한 것으로, 청소를 진행할 공간의 크기 및 형태를 파악하기 위한 주행 모드로서, 엣지 모드 또는 지그재그 모드로 주행이 진행될 수 있다.Preceding cleaning is to determine the shape of a cleaning area, and as a driving mode to determine the size and shape of a space to be cleaned, driving may be performed in an edge mode or a zigzag mode.
구체적으로 로봇 청소기(100)는 초음파 센서 등을 통한 거리 감지부(131)를 통해 주변 환경을 감지함으로써 도 7과 같이 일반적인 격자 지도를 위한 데이터를 획득한다. 이때, 각 격자는 소정 면적의 공간을 나타내며, 각 격자가 동일한 면적의 공간을 정의한다. 격자가 나타내는 면적의 크기는 센서의 스케일에 따라 상이할 수 있다. 이웃한 격자는 실제 이웃한 공간을 나타내는 것이다.Specifically, the robot cleaner 100 acquires data for a general grid map as shown in FIG. 7 by detecting the surrounding environment through the distance sensor 131 using an ultrasonic sensor or the like. At this time, each lattice represents a space of a predetermined area, and each lattice defines a space of the same area. The size of the area represented by the grid may be different depending on the scale of the sensor. Neighbor grids represent actual neighborhood spaces.
로봇 청소기(100)는 엣지 모드 또는 지그재그 모드로 진행하면서 장애물 감지 센서를 통해 거리 감지부로부터 주행 가능 영역 및 주행 불가능 영역을 구분하면서 도 7과 같은 격자 지도를 작성할 수 있으며, 이때 작성된 격자 지도를 기초 맵으로 정의할 수 있다.The robot cleaner 100 may create a grid map as shown in FIG. 7 while proceeding in edge mode or zigzag mode and classifying a drivable area and a drivable area from a distance sensor through an obstacle detection sensor. map can be defined.
이때, 제어부(140)는 상기 기초 맵의 구역 형상을 기초로 한번에 주행 가능한 복수의 블록으로 분할하여 영역 구분을 진행할 수 있다. 기초 맵에서 형상이 크게 변화하는 영역으로 분할 가능하며, 이때, 꼭지점의 개수에 따라 분할 가능하다. At this time, the control unit 140 may divide the area into a plurality of blocks that can be driven at once based on the area shape of the basic map, and proceed with the area division. The base map can be divided into regions whose shapes change greatly, and at this time, it can be divided according to the number of vertices.
한편, 제어부(140)는 기초 맵을 형성하기 위한 선행 청소에서 거리 감지부(131)뿐만 아니라 영상 감지부(135)를 통해 카메라 모듈로부터 획득된 영상 데이터 및 먼지량에 대한 감지 신호를 수득한다.Meanwhile, the controller 140 obtains image data obtained from the camera module and a detection signal for the amount of dust through the image detector 135 as well as the distance detector 131 in pre-cleaning to form a basic map.
다음으로, 로봇 청소기(100)가 청소 구역을 기초 맵에 따라 주행하면서 다시 각 영역에서의 감지 신호를 수신한다.Next, while the robot cleaner 100 travels through the cleaning area according to the basic map, it receives detection signals from each area again.
감지 신호는 거리 감지부(131), 영상 감지부(135), 주행변위 측정부(165) 및 먼지통으로부터의 먼지량에 대한 감지 신호를 포함할 수 있다(S11). The detection signal may include the distance detection unit 131, the image detection unit 135, the driving displacement measurement unit 165, and a detection signal for the amount of dust from the dust bin (S11).
제어부(140)는 복수회에 걸친 청소 구역의 주행에 대하여 상기 감지 신호를 수득하고, 저장부(150)에 저장하여 축적한다.The control unit 140 obtains the detection signal for multiple times of driving in the cleaning area, stores it in the storage unit 150, and accumulates it.
이때, 축적된 감지 신호의 양이 임계값 이상이 되는 경우(S12), 제어부(140)는 머신 러닝을 통해 각 격자에 대한 속도값을 산출하여 속도 맵을 생성한다(S13).At this time, when the amount of the accumulated detection signals exceeds the threshold value (S12), the controller 140 calculates the speed value for each grid through machine learning and generates a speed map (S13).
도 8a는 도 7의 기초 맵에서 A 영역을 확대하여 도시한 것으로서, 각 격자는 앞서 설명한 바와 같이 실제 공간의 소정 크기의 면적을 나타낸다.FIG. 8A is an enlarged view of area A in the basic map of FIG. 7 , and each lattice represents an area of a predetermined size in a real space as described above.
각 격자에 나타나는 색상은 기초 맵에서 영상 데이터 등의 감지 신호를 토대로 반영된 장애물 영역을 나타낼 수 있다.A color appearing on each lattice may represent an obstacle area reflected based on a detection signal such as image data in the basic map.
일 예로, 가장 어두운 영역은 장애물로서 벽 등과 같이 이동할 수 없는 영역을 나타내고, 회색 영역은 카펫 영역을 나타낼 수 있다. 백색의 영역이 일반 바닥 영역으로서, 이동 가능한 영역으로 표시될 수 있다.For example, the darkest area may indicate an unmovable area such as a wall as an obstacle, and the gray area may indicate a carpet area. A white area is a general floor area and may be displayed as a movable area.
색깔 구분 이외에, 각 격자에는 각 격자가 나타내는 영역을 이동 로봇(100)이 주행할 최적의 속도값이 설정될 수 있다(S13).In addition to color classification, an optimal speed value for the mobile robot 100 to travel in the area indicated by each grid may be set in each grid (S13).
제어부(140)는 이와 같이 소정 량의 감지 신호가 저장부(150)에 축적되면, 축적된 감지 신호를 머신 러닝을 수행하여 각 격자가 나타내는 영역에 최적의 속도값을 산출한다.When a predetermined amount of detection signals are accumulated in the storage unit 150, the control unit 140 performs machine learning on the accumulated detection signals to calculate an optimal speed value for a region indicated by each grid.
이와 같은 속도값은 소정의 레벨로 분산되어 있을 수 있다.These speed values may be distributed at a predetermined level.
즉, 속도값 1이 나타내는 속도는 가장 낮은 레벨의 속도를 나타내며, 속도값 10이 나타내는 속도가 로봇 청소기(100)가 주행가능한 가장 빠른 속도를 나타낼 수 있다.That is, the speed indicated by the speed value 1 may indicate the lowest level speed, and the speed indicated by the speed value 10 may indicate the fastest speed at which the robot cleaner 100 can run.
따라서, 속도 맵에서 각 격자에 산출된 속도값이 클수록 빠른 속도로 해당 영역을 주행할 수 있다.Therefore, as the speed value calculated for each grid in the speed map increases, the corresponding area can be driven at a faster speed.
제어부(140)는 축적된 감지 신호를 바탕으로, 머신 러닝을 수행하여 각 영역에서의 이벤트 발생 여부, 각 영역에서의 주행 속도 변화, 먼지량, 상대 위치 등을 판독한다.Based on the accumulated detection signals, the controller 140 performs machine learning to read whether an event has occurred in each area, a change in driving speed in each area, an amount of dust, a relative position, and the like.
일 예로, 도 8b와 같이 현재 주행에서 B영역에서 장애물과 충돌이 발생한 경우, 도 8a의 이전 속도 맵을 참고하여 해당 장애물이 이동하는 장애물인지 새로 위치하는 장애물인지 판단한다.For example, as shown in FIG. 8B , when a collision with an obstacle occurs in area B in current driving, it is determined whether the obstacle is moving or newly positioned with reference to the previous speed map of FIG. 8A .
해당 장애물이 새로 배치된 장애물인 경우, 상기 B 영역을 장애물 영역으로 정의한다. 또한, 도 8b에서 C영역에서 먼지량이 급격히 증가한 경우, 즉, 이전 주행에서의 해당 영역에서의 먼지량과 현재 주행에서의 먼지량이 임계값 이상으로 차이가 발생하면, 해당 영역의 영상 데이터를 함께 판독하면서 해당 영역을 카펫 영역으로 정의한다. 이에 따라 C영역의 속도값을 카펫 영역에 대한 속도값 3으로 변경할 수 있다.If the corresponding obstacle is a newly placed obstacle, the area B is defined as an obstacle area. In addition, in FIG. 8B , when the amount of dust increases rapidly in area C, that is, when the difference between the amount of dust in the corresponding area in the previous driving and the amount of dust in the current driving exceeds a threshold value, while reading the image data of the corresponding area The corresponding area is defined as a carpet area. Accordingly, the speed value of area C may be changed to a speed value of 3 for the carpet area.
이와 같이, 머신 러닝으로 변경된 각 격자에 해당하는 영역의 속도값은 도 8c와 같이 변경된다.In this way, the speed value of the area corresponding to each lattice changed by machine learning is changed as shown in FIG. 8C.
도 8c를 참고하면, 도 8b와 같이 장애물 영역으로 신규 정의된 B 영역의 주변으로 속도가 저감하여 최소 속도값 1로 변화하고, 먼지량이 증가한 영역은 카펫 영역으로 정의되어 속도값 3으로 변화한다. 그 밖에 각 감지 신호에 따라 격자의 속도값이 산출되어 변경된다.Referring to FIG. 8C , as shown in FIG. 8B , the speed decreases around the area B newly defined as an obstacle area and changes to a minimum speed value of 1, and the area where the amount of dust increases is defined as a carpet area and changes to a speed value of 3. In addition, the speed value of the grating is calculated and changed according to each detection signal.
따라서, 벽 또는 장애물 영역 주변에서 최적의 속도로 대응 모션을 통해 장애물 손상을 최소화할 수 있고, 카펫 등의 환경에서 감속 주행하여 더욱 높은 청소 성능 제공할 수 있다. 또한, 새로운 장애물인 경우, 해당 장애물의 속성을 판단하여, 단순 이동 장애물인 경우에는 불필요한 감속 주행을 수행하지 않고, 새로 배치된 고정 장애물인 경우에만 속도 맵에 장애물 영역으로 정의함으로써 불필요한 감속 주행을 줄일 수 있다.Therefore, obstacle damage can be minimized through a corresponding motion at an optimal speed around a wall or an obstacle area, and higher cleaning performance can be provided by traveling at a reduced speed in an environment such as a carpet. In addition, in the case of a new obstacle, the property of the corresponding obstacle is determined, and unnecessary deceleration is not performed in the case of a simple moving obstacle, and unnecessary deceleration is reduced by defining only a newly placed fixed obstacle as an obstacle area in the speed map. can
이와 같이 새로운 속도 맵이 생성되면, 제어부(140)는 저장부(150)에 저장되어 있는 이전 속도 맵을 도 8c의 새로운 속도 맵으로 갱신하고, 저장한다(S14).When the new speed map is generated in this way, the control unit 140 updates the previous speed map stored in the storage unit 150 into the new speed map of FIG. 8C and stores it (S14).
이때, 이전 속도 맵은 폐기하지 않고 소정 시간 동안 유지한다.At this time, the previous speed map is maintained for a predetermined time without being discarded.
다음으로, 제어부(140)는 새로운 속도 맵이 갱신되면, 갱신된 속도 맵에 따라 주행 시에 각 격자에 대한 영역을 주행하면서 설정된 속도로 주행을 수행한다(S15). 즉, 속도 맵에 설정된 속도에 따라 해당 격자의 영역을 주행함으로써 각 영역에 대한 최적의 속도로 주행하면서 청소를 수행할 수 있다.Next, when the new speed map is updated, the controller 140 performs driving at the set speed while driving in the area for each grid while driving according to the updated speed map (S15). That is, cleaning can be performed while driving at the optimal speed for each area by driving the area of the corresponding grid according to the speed set in the speed map.
도 9와 같이, 청소 구역에 새로운 장애물인 선풍기가 B 영역에 놓여진 경우, B 영역을 장애물 영역으로 새롭게 정의하면서, 해당 B 영역의 주변을 장애물 주변 영역으로서 최소 속도값 1로 주행함으로써 장애물과 부딪히지 않고 주행이 가능하다. 또한, 기존 카펫 영역 D 주변에 먼지량이 급격히 증가한 C 영역이 존재하는 경우, 해당 C 영역이 카펫 영역 D가 확장된 것으로 판단하여 해당 영역을 카펫 영역을 주행하는 속도로 조정하여 주행한다. 따라서, 카펫 영역 위에서 저속 주행함으로써 먼지를 더 많이 흡입가능하며, 카펫 영역의 확장으로 그 주변 영역의 속도 변화도 진행함으로써 일반 바닥과 카펫 바닥의 연결 이동 시에 최적의 속도 변화 값으로 주행할 수 있다.As shown in FIG. 9, when an electric fan, which is a new obstacle in the cleaning area, is placed in area B, area B is newly defined as an obstacle area, and the area around B is driven at a minimum speed value of 1 as an area around the obstacle without colliding with the obstacle. it is possible to drive In addition, if there is an area C where the amount of dust rapidly increases around the existing carpet area D, the corresponding area C determines that the carpet area D is expanded, and adjusts the area to the carpet area driving speed and travels. Therefore, it is possible to inhale more dust by driving at a low speed on the carpet area, and the expansion of the carpet area also progresses the speed change in the surrounding area, so that the vehicle can travel at the optimal speed change value when the normal floor and the carpet floor are connected. .
따라서, 큰 영역으로 분할하여 속도를 제어하는 것과 달리, 각 격자에 해당하는 작은 영역에 대하여 각각 속도값이 설정됨으로써 한 공간 내에서의 다양한 바닥 상황 및 주변 상황에 대하여 다양하게 속도값을 변경하면서 주행이 가능하다. Therefore, unlike controlling the speed by dividing it into large areas, each speed value is set for a small area corresponding to each grid, thereby driving while changing the speed value in various ways for various floor and surrounding situations in one space. this is possible
100 : 로봇 청소기
120 : 센싱부
140 : 제어부
150 : 저장부
160 : 주행부 135: 영상 감지부
180 : 청소부
200 : 충전대100: robot cleaner 120: sensing unit
140: control unit 150: storage unit
160: driving unit 135: image detection unit
180: cleaner 200: charging stand
Claims (20)
소정 기능을 수행하는 작업부;
주변 환경을 감지하는 센싱부;
상기 주변 환경을 촬영하여 영상 데이터를 수득하는 영상 감지부; 및
주행 구역에 해당하는 기초 맵에 따라 주행하면서 상기 센싱부 및 영상 감지부를 통해 감지된 정보 및 상기 영상 데이터를 기초로 상기 주행 구역에 대한 속도맵을 생성하고, 생성된 상기 속도 맵에 따라 상기 주행 구역을 주행하도록 제어하는 제어부;
를 포함하는 이동 로봇.a driving unit for moving the main body;
a work unit that performs a predetermined function;
a sensing unit that senses the surrounding environment;
an image sensor for obtaining image data by photographing the surrounding environment; and
While driving according to the basic map corresponding to the driving zone, a speed map for the driving zone is generated based on information detected through the sensing unit and the image detector and the image data, and the driving zone is generated according to the generated speed map. A control unit for controlling to drive;
A mobile robot comprising a.
상기 이동 로봇은,
엣지 모드 또는 지그재그 모드로 선행 주행을 진행하면서 상기 주행 구역에 대한 정보 및 영상 데이터를 수집하는 것을 특징으로 하는, 이동 로봇.According to claim 1,
The mobile robot,
A mobile robot characterized in that it collects information and image data about the driving area while proceeding with preceding driving in edge mode or zigzag mode.
상기 제어부는,
상기 센싱부로부터 수득된 감지된 정보로부터 상기 주행 구역에 대한 기초 맵을 작성하는 것을 특징으로 하는, 이동 로봇. According to claim 1,
The control unit,
Characterized in that, the mobile robot creates a basic map for the driving area from the sensed information obtained from the sensing unit.
상기 제어부는,
상기 주행 구역의 기초 맵에 따라 복수회 주행하면서 상기 감지 신호 및 상기 영상 데이터를 축적하는 것을 특징으로 하는, 이동 로봇.According to claim 3,
The control unit,
The mobile robot, characterized in that accumulating the detection signal and the image data while driving a plurality of times according to the basic map of the driving area.
상기 기초 맵은 격자 맵이며,
상기 속도 맵은 상기 기초 맵의 각 격자마다 속도를 설정하여 기록하는 것을 특징으로 하는, 이동 로봇.According to claim 4,
The base map is a lattice map,
The mobile robot, characterized in that the speed map is recorded by setting the speed for each grid of the basic map.
상기 이동 로봇은 상기 감지 신호 및 상기 영상 데이터를 저장하는 저장부를 더 포함하며,
제어부는 상기 저장부에 저장되어 있는 상기 감지 신호 및 상기 영상 데이터가 소정량 이상 축적되면 머신 러닝을 수행하여 상기 속도 맵을 생성하는 것을 특징으로 하는, 이동 로봇.According to claim 5,
The mobile robot further includes a storage unit for storing the detection signal and the image data,
The mobile robot, characterized in that the control unit generates the speed map by performing machine learning when the detection signal and the image data stored in the storage unit accumulate a predetermined amount or more.
상기 제어부는, 상기 속도 맵이 생성되면 상기 저장부에 상기 속도 맵을 갱신하여 저장하는 것을 특징으로 하는, 이동 로봇.According to claim 6,
The mobile robot, characterized in that, when the speed map is generated, the control unit updates and stores the speed map in the storage unit.
상기 속도 맵은 상기 기초 맵에 장애물 영역이 표시되고, 상기 장애물 영역을 둘러싸는 격자에 속도가 최소값을 갖도록 설정되는 것을 특징으로 하는, 이동 로봇.According to claim 7,
The mobile robot, characterized in that the speed map is set so that an obstacle area is displayed on the basic map and a speed has a minimum value in a grid surrounding the obstacle area.
상기 속도 맵은 상기 기초 맵에 바닥 특성이 표시되고, 상기 바닥 특성에 따라 속도 값이 변경되어 설정되는 것을 특징으로 하는, 이동 로봇.According to claim 8,
The mobile robot, characterized in that the speed map is set by displaying floor characteristics on the basic map and changing speed values according to the floor characteristics.
상기 바닥 특성은 이전 주행에서의 먼지량과 현재 주행에서의 먼지량에 따라판단되는 것을 특징으로 하는, 이동 로봇.According to claim 9,
Characterized in that the floor characteristics are determined according to the amount of dust in the previous driving and the amount of dust in the current driving, the mobile robot.
상기 감지 신호 및 상기 영상 데이터를 기초로 주행 구역에 대한 속도 맵을생성하는 단계; 및
생성된 상기 속도 맵에 따라 주행 속도를 가변하여 상기 주행 구역을 주행하는 단계
를 포함하는 이동 로봇의 제어 방법.driving in a driving zone, obtaining a detection signal through a sensing unit, and obtaining image data by photographing a surrounding environment from an image sensor;
generating a speed map for a driving area based on the detection signal and the image data; and
Driving in the driving zone by varying a driving speed according to the generated speed map
Control method of a mobile robot comprising a.
엣지 모드 또는 지그재그 모드로 선행 주행을 진행하면서 상기 주행 구역에 대한 상기 감지 신호 및 영상 데이터를 수집하는 것을 특징으로 하는, 이동 로봇의 제어 방법.According to claim 11,
A control method of a mobile robot, characterized in that collecting the detection signal and image data for the driving area while proceeding ahead driving in an edge mode or a zigzag mode.
상기 센싱부로부터 수득된 감지 신호로부터 상기 주행 구역에 대한 기초 맵을 작성하는 단계를 더 포함하는 이동 로봇의 제어 방법.According to claim 11,
The control method of the mobile robot further comprising the step of creating a basic map for the driving area from the detection signal obtained from the sensing unit.
상기 영상 데이터 수득 단계는, 상기 주행 구역의 기초 맵에 따라 복수회 주행하면서 상기 감지 신호 및 상기 영상 데이터를 축적하는 것을 특징으로 하는, 이동 로봇의 제어 방법.According to claim 13,
The method of controlling a mobile robot, characterized in that the step of obtaining image data accumulates the detection signal and the image data while traveling a plurality of times according to the basic map of the driving area.
상기 기초 맵은 격자 맵이며,
상기 속도 맵은 상기 기초 맵의 각 격자마다 속도를 설정하도록 생성하는 것을 특징으로 하는, 이동 로봇의 제어 방법.According to claim 14,
The base map is a lattice map,
The control method of the mobile robot, characterized in that the speed map is generated to set the speed for each grid of the basic map.
상기 감지 신호 및 상기 영상 데이터를 저장하는 단계를 더 포함하며,
저장되어 있는 상기 감지 신호 및 상기 영상 데이터가 소정량 이상 축적되면 머신 러닝을 수행하여 상기 속도 맵을 생성하는 것을 특징으로 하는, 이동 로봇의 제어 방법.According to claim 15,
Further comprising the step of storing the detection signal and the image data,
The method of controlling a mobile robot, characterized in that generating the speed map by performing machine learning when the stored detection signal and the image data are accumulated by a predetermined amount or more.
새로운 속도 맵이 생성되면 저장되어 있는 이전 속도 맵을 상기 새로운 속도 맵으로 갱신하는 단계를 더 포함하는, 이동 로봇의 제어 방법.According to claim 16,
The method of controlling a mobile robot further comprising updating a stored previous speed map with the new speed map when a new speed map is generated.
상기 속도 맵은, 상기 기초 맵에 장애물 영역이 표시되고, 상기 장애물 영역을 둘러싸는 격자에 최소값의 속도값이 설정되도록 생성하는 것을 특징으로 하는, 이동 로봇의 제어 방법.According to claim 17,
The method of controlling a mobile robot, characterized in that the speed map is generated such that an obstacle area is displayed on the basic map and a minimum speed value is set in a grid surrounding the obstacle area.
상기 속도 맵은, 상기 기초 맵에 바닥 특성이 표시되고, 상기 바닥 특성에 따라 속도값이 변경되어 설정되는 것을 특징으로 하는, 이동 로봇의 제어 방법.According to claim 18,
The control method of the mobile robot, characterized in that the speed map is set by displaying floor characteristics on the basic map and changing a speed value according to the floor characteristics.
상기 바닥 특성은 이전 주행에서의 먼지량과 현재 주행에서의 먼지량에 따라판단하는 것을 특징으로 하는 이동 로봇의 제어 방법.
According to claim 19,
The control method of the mobile robot, characterized in that the floor characteristics are determined according to the amount of dust in the previous driving and the amount of dust in the current driving.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220011821A KR20230115158A (en) | 2022-01-26 | 2022-01-26 | A moving robot using artificial intelligence and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220011821A KR20230115158A (en) | 2022-01-26 | 2022-01-26 | A moving robot using artificial intelligence and control method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230115158A true KR20230115158A (en) | 2023-08-02 |
Family
ID=87566704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220011821A KR20230115158A (en) | 2022-01-26 | 2022-01-26 | A moving robot using artificial intelligence and control method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230115158A (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100791384B1 (en) | 2006-07-05 | 2008-01-07 | 삼성전자주식회사 | Method for dividing regions by feature points and apparatus thereof and mobile cleaning robot |
KR20170003764A (en) | 2015-06-30 | 2017-01-10 | 넥서스환경디자인연구원(주) | Narrow-mouth frog habitat restoration facilities |
KR102115193B1 (en) | 2018-12-12 | 2020-05-27 | 엘지전자 주식회사 | A robot cleaner and an operation method for the same |
-
2022
- 2022-01-26 KR KR1020220011821A patent/KR20230115158A/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100791384B1 (en) | 2006-07-05 | 2008-01-07 | 삼성전자주식회사 | Method for dividing regions by feature points and apparatus thereof and mobile cleaning robot |
KR20170003764A (en) | 2015-06-30 | 2017-01-10 | 넥서스환경디자인연구원(주) | Narrow-mouth frog habitat restoration facilities |
KR102115193B1 (en) | 2018-12-12 | 2020-05-27 | 엘지전자 주식회사 | A robot cleaner and an operation method for the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11700989B2 (en) | Mobile robot using artificial intelligence and controlling method thereof | |
KR102275300B1 (en) | Moving robot and control method thereof | |
KR101366860B1 (en) | Mobile robot and controlling method of the same | |
EP3575046A1 (en) | Mobile robot and method for controlling same | |
KR102021833B1 (en) | A ROBOT CLEANER Using artificial intelligence AND CONTROL METHOD THEREOF | |
WO2017141536A1 (en) | Autonomous travelling body | |
KR20180134683A (en) | Moving robot and control method thereof | |
TW201818175A (en) | Autonomous traveling body | |
JP2017143983A (en) | Autonomous travel body | |
KR102423573B1 (en) | A robot cleaner using artificial intelligence and control method thereof | |
US20220257074A1 (en) | Mobile robot using artificial intelligence and controlling method thereof | |
KR20180023302A (en) | Moving robot and control method thereof | |
KR20180015928A (en) | Robot cleaner system and method for operating the same | |
US20220280007A1 (en) | Mobile robot and method of controlling the same | |
KR102243178B1 (en) | A ROBOT CLEANER Using artificial intelligence AND CONTROL METHOD THEREOF | |
KR20200100019A (en) | Moving Robot and controlling method | |
KR20180023303A (en) | Moving robot and control method thereof | |
KR20200142865A (en) | A robot cleaner using artificial intelligence and control method thereof | |
KR102467990B1 (en) | Robot cleaner | |
KR20230115158A (en) | A moving robot using artificial intelligence and control method thereof | |
KR20210113902A (en) | A robot cleaner using artificial intelligence and control method thereof | |
KR102203438B1 (en) | a Moving robot and Controlling method for the moving robot | |
KR20180048088A (en) | Robot cleaner and control method thereof | |
KR20210089461A (en) | A robot cleaner using artificial intelligence and control method thereof | |
CN111225592B (en) | Autonomous traveling dust collector and extended area identification method |