KR102048363B1 - A moving-robot - Google Patents

A moving-robot Download PDF

Info

Publication number
KR102048363B1
KR102048363B1 KR1020170094279A KR20170094279A KR102048363B1 KR 102048363 B1 KR102048363 B1 KR 102048363B1 KR 1020170094279 A KR1020170094279 A KR 1020170094279A KR 20170094279 A KR20170094279 A KR 20170094279A KR 102048363 B1 KR102048363 B1 KR 102048363B1
Authority
KR
South Korea
Prior art keywords
brightness
mobile robot
image
condition
value
Prior art date
Application number
KR1020170094279A
Other languages
Korean (ko)
Other versions
KR20190011576A (en
Inventor
임승욱
이태경
노동기
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020170094279A priority Critical patent/KR102048363B1/en
Publication of KR20190011576A publication Critical patent/KR20190011576A/en
Application granted granted Critical
Publication of KR102048363B1 publication Critical patent/KR102048363B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details 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/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2836Installation 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/2852Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic

Abstract

본 발명에 따른 이동 로봇은, 바닥에 대해 본체를 이동시키는 주행부; 이동 중, 외부의 상측 물체의 영상를 감지하거나 외부의 상측 물체까지의 거리를 감지하는 센싱부; 및 상기 센싱부의 감지 정보를 근거로 한 각 위치에서의 소정 구분 조건의 만족여부에 따라, 주행 구역의 일부를 특수 구역으로 구분하는 제어부를 포함한다.The mobile robot according to the present invention includes a traveling unit for moving the main body relative to the floor; A sensing unit which senses an image of an external upper object or a distance to an external upper object while moving; And a controller for dividing a part of the driving zone into a special zone according to whether a predetermined division condition is satisfied at each position based on the sensing information of the sensing unit.

Description

이동 로봇 {A MOVING-ROBOT }Mobile Robot {A MOVING-ROBOT}

본 발명은, 이동 로봇의 감지 기술에 관한 것이다.The present invention relates to a sensing technology of a mobile robot.

로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다. 이러한 로봇 중에서 자력으로 주행이 가능한 것을 이동 로봇이라고 한다. 가정에서 사용되는 이동 로봇의 대표적인 예는 로봇 청소기이다. Robots have been developed for industrial use and have been a part of factory automation. Recently, the application of robots has been further expanded, medical robots, aerospace robots, and the like have been developed, and home robots that can be used in general homes have also been made. Among these robots, a moving robot capable of traveling by magnetic force is called a mobile robot. A representative example of a mobile robot used at home is a robot cleaner.

종래 기술(한국공개특허공보 10-2010-0104581)은 현재 위치에서 카메라를 통해 촬영된 영상을 이용하여 미지의 현재 위치를 인식하는 기술을 개시한다. The prior art (Korean Patent Laid-Open Publication No. 10-2010-0104581) discloses a technique of recognizing an unknown current position using an image captured by a camera at a current position.

상기 종래 기술에서는, 주행구역 내에서 촬영된 영상으로부터 추출된 특징점 들로부터 3차원 지도를 생성하고, 미지의 현재 위치에서 촬영된 영상 내의 특징점들 중 3차원 지도 내의 특징점들과 매칭되는 3 쌍 이상의 특징점 쌍을 검출한다. 그 후, 현재 위치에서 촬영된 영상내의 매칭된 3개 이상의 특징점의 2차원 좌표, 3차원 지도 상의 매칭된 3개 이상의 특징점의 3차원 좌표, 및 현재 위치에서 카메라의 초점거리 정보를 이용하여, 상기 매칭된 3개 이상의 특징점으로부터 거리를 산출하고, 이로 부터 현재 위치를 인식하는 기술이, 상기 종래기술에 개시되어 있다.In the prior art, a three-dimensional map is generated from feature points extracted from an image photographed in a driving zone, and three or more pairs of feature points matched with feature points in a three-dimensional map among feature points in an image captured at an unknown current location. Detect pairs. Then, using the two-dimensional coordinates of the matched three or more feature points in the image taken at the current position, the three-dimensional coordinates of the matched three or more feature points on the three-dimensional map, and the focal length information of the camera at the current position, A technique for calculating a distance from three or more matched feature points and recognizing a current position therefrom is disclosed in the prior art.

그 외에도, 현 위치에서의 영상을 이용하여 주행 구역을 맵핑하는 여러 기술들이 알려져 있고, 현 위치에서의 영상을 이용하여 저장된 맵 상에서 현재 위치를 인식하는 여러 기술들이 알려져 있다.In addition, various techniques are known for mapping driving zones using an image at the current position, and various techniques are known for recognizing the current position on a stored map using the image at the current position.

공개특허공보 공개번호 10-2010-0104581 (공개일자 2010. 9. 29.)Publication No. 10-2010-0104581 (published September 29, 2010)

삭제delete

본 발명의 제 1과제는, 이동 로봇이 구역의 성질 차이를 인식하게 하여, 구역별 기능의 차이가 발생될 수 있는 다양한 가능성을 열어주는 것이다. 이를 통해, 보다 스마트한 이동 로봇을 제공할 수 있다.The first task of the present invention is to allow the mobile robot to recognize the difference in the properties of the zones, thereby opening up various possibilities in which the differences in the functions of the zones can occur. Through this, it is possible to provide a smarter mobile robot.

본 발명의 제 2과제는, 기 주행시 인식한 구역의 성칠 차이를 저장하여, 이후의 주행에서 이를 활용할 수 있는 가능성을 열어주고, 사용자의 이동 로봇 활용 가능성을 더욱 다양화시키는 것이다.The second task of the present invention is to store the difference in the roughness of the area recognized during the pre-driving, to open the possibility to utilize it in the subsequent driving, and to further diversify the possibility of using the mobile robot of the user.

종래의 기술에서는, 이동 로봇이 가구의 아래 영역에 위치한 경우, 해당 영역이 상대적으로 어두운 까닭에 영상을 통해 맵핑하거나 현위치를 인식하는 것에 제한이 있다. 본 발명의 제 3과제는, 가구의 아래 영역을 별도의 구역으로 구분하여, 문제가 되는 맵핑 장애 요인 또는 현위치 인식 장애 요인을 사전에 배제하거나, 맵핑 또는 현위치 인식의 효율성을 상승시키는 것이다.In the related art, when the mobile robot is located in the lower area of the furniture, the area is relatively dark, so that there is a limitation in mapping through the image or recognizing the current position. The third task of the present invention is to divide the lower area of the furniture into separate zones, to exclude the problematic mapping obstacles or current location recognition obstacles in advance, or to increase the efficiency of mapping or current location recognition.

가구의 아래 영역에는, 일반적으로 가구의 지지부나 부피가 큰 이물질 등의 장애물이 많아, 이동 로봇의 주행에 방해가 된다. 제 4과제는, 가구의 아래 영역을 별도의 구역으로 구분하여, 문제가 되는 주행 장애 요인을 사전에 배제하거나, 주행의 효율성을 상승시키는 것이다.In the lower region of the furniture, there are generally many obstacles such as support of the furniture and bulky foreign matters, which hinders the running of the mobile robot. The fourth task is to divide the lower area of the furniture into separate zones, to eliminate the problematic driving obstacles in advance, or to increase the driving efficiency.

본 발명의 제 5과제는, 가구의 아래 영역에 대한 별도의 관리가 용이하도록 하는 것이다.The fifth task of the present invention is to facilitate separate management of the lower area of the furniture.

본 발명의 제 6과제는, 가구의 아래 영역이 아닌 구역의 청소의 효율성을 상승시키는 것이다.The sixth task of the present invention is to increase the efficiency of cleaning of areas that are not underneath the furniture.

본 발명의 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.

상기 과제들을 해결하기 위하여, 본 발명의 해결 수단에 따른 이동 로봇은, 바닥에 대해 본체를 이동시키는 주행부, 이동 중, 외부의 상측 물체의 영상를 감지하거나 외부의 상측 물체까지의 거리를 감지하는 센싱부, 및 주행 구역의 일부를 특수 구역으로 구분하는 제어부를 포함한다. 상기 제어부는, 상기 센싱부의 감지 정보를 근거로 한 각 위치에서의 소정 구분 조건의 만족여부에 따라, 주행 구역의 일부를 특수 구역으로 구분한다.In order to solve the above problems, the mobile robot according to the solution of the present invention, a moving unit for moving the main body with respect to the floor, during sensing, sensing the image of the external upper object or sensing the distance to the external upper object And a control unit for dividing a part of the driving zone into a special zone. The controller divides a part of the driving zone into a special zone according to whether a predetermined division condition is satisfied at each position based on the sensing information of the sensing unit.

상기 소정의 구분 조건은, 가구의 아래 구역이 상기 특수 구역으로 판단되도록 기설정될 수 있다.The predetermined division condition may be preset such that the lower section of the furniture is determined as the special zone.

상기 제어부는, 일 위치에서의 상기 감지 정보를 근거로 상기 구분 조건이 만족되면 상기 일 위치가 상기 특수 구역에 속하는 것으로 판단할 수 있다.The controller may determine that the one location belongs to the special zone when the classification condition is satisfied based on the detection information at one location.

상기 제어부는, 이동 중 상기 특수 구역을 학습하면, 상기 특수 구역 밖으로 탈출 이동하게 제어할 수 있다.The controller may control the escape of the special zone when the special zone is learned while moving.

상기 제어부는, 상기 주행 구역 중 상기 특수 구역이 아닌 일반 구역을 소정의 일반 모드로 관리하고, 상기 특수 구역을 상기 일반 모드와 다른 소정의 특수 모드로 관리하게 제어할 수 있다.The controller may be configured to manage a general zone other than the special zone among the driving zones in a predetermined general mode, and manage the special zone in a predetermined special mode different from the normal mode.

상기 제어부는, ⅰ상기 특수 구역 및 ⅱ상기 주행 구역 중 상기 특수 구역이 아닌 일반 구역 각각에서의 주행 모드를 서로 달리하게 제어할 수 있다.The controller may control the driving modes differently in the general zones other than the special zone among the special zones and the driving zones.

상기 바닥을 청소하는 청소부를 더 포함할 수 있다. 상기 제어부는, ⅰ상기 특수 구역 및 ⅱ상기 주행 구역 중 상기 특수 구역이 아닌 일반 구역 중, 어느 하나를 다른 하나보다 먼저 청소하거나 어느 하나만 청소하게 제어할 수 있다.It may further include a cleaning unit for cleaning the floor. The control unit may control to clean any one of the special zones and the general zones other than the special zones of the driving zones before the other one or only one of the driving zones.

상기 구분 조건은, 일 위치에서 감지된 영상의 밝기 대표값이 밝기 기준값보다 작은 밝기 조건을 포함할 수 있다.The classification condition may include a brightness condition in which the brightness representative value of the image detected at one location is smaller than the brightness reference value.

상기 밝기 기준값은, 상기 이동 로봇이 상기 일 위치에 도착하기 전 최근 n개의 위치에서 각각 감지된 n개의 영상의 밝기 종합값으로 설정될 수 있다. 여기서, n은 2이상의 자연수이다.The brightness reference value may be set as a total brightness value of n images respectively detected at the latest n locations before the mobile robot arrives at the one location. N is a natural number of 2 or more.

상기 제어부는, 상기 영상을 통해 주행 구역을 맵핑하고 현재 위치를 맵핑된 맵 상에서 인식 가능하게 구비될 수 있다. 상기 제어부는, ⅰ상기 맵 상의 위치 인식에 성공한 지점들에 각각 대응하는 제 1밝기 대표값들과, ⅱ상기 맵 상의 위치 인식에 실패한 지점들에 각각 대응하는 제 2밝기 대표값들을 근거로 하여, 상기 밝기 기준값을 변경시킬 수 있다.The controller may be configured to map the driving zone through the image and to recognize the current location on the mapped map. The controller may be configured based on first brightness representative values respectively corresponding to points successfully recognized for location on the map, and second brightness representative values respectively corresponding to points failed to recognize location on the map. The brightness reference value may be changed.

상기 제어부는, 일 영상을 m개의 영역으로 구분하고, 상기 m개의 영역의 각각의 밝기 대표값을 각 차원의 수치로하는 m차원의 밝기 대표 벡터를 생성할 수 있다. 상기 구분 조건은, 일 위치에서 감지된 영상의 상기 밝기 대표 벡터가 m차원상 연속하는 밝기 기준 벡터군을 m차원상에서 넘어서지 않는 밝기 조건을 포함할 수 있다. 여기서 m은 2이상의 자연수이다.The controller may classify one image into m regions and generate an m-dimensional brightness representative vector in which the brightness representative values of the m regions are numerical values of each dimension. The classification condition may include a brightness condition in which the brightness representative vector of the image detected at one location does not exceed a group of brightness reference vectors continuous in m-dimension in m-dimension. Where m is a natural number of two or more.

상기 제어부는, 상기 영상을 통해 주행 구역을 맵핑하고 현재 위치를 맵핑된 맵 상에서 인식 가능하게 구비될 수 있다. 상기 제어부는, ⅰ상기 맵 상의 위치 인식에 성공한 지점들에 각각 대응하는 밝기 대표 벡터들과, ⅱ상기 맵 상의 위치 인식에 실패한 지점들에 각각 대응하는 밝기 대표 벡터들을 근거로 하여, 상기 밝기 기준 벡터군을 변경시킬 수 있다.The controller may be configured to map the driving zone through the image and to recognize the current location on the mapped map. The controller may be configured based on the brightness representative vectors respectively corresponding to the points that successfully recognize the position on the map and the brightness representative vectors respectively corresponding to the points that fail to recognize the position on the map. You can change the group.

상기 제어부는, ⅰ상기 맵 상의 위치 인식에 성공한 지점들에 각각 대응하는 제 1밝기 대표 벡터들과 ⅱ상기 맵 상에서 위치 인식에 실패한 지점들에 각각 대응하는 제 2밝기 대표 벡터들이, 상기 밝기 기준 벡터군을 기준으로 오류(False)가 최소화된 상태로 양분되도록, 상기 밝기 기준 벡터군을 변경시킬 수 있다.The controller may include: ⅰ first brightness representative vectors respectively corresponding to the points that successfully recognize the position on the map and ii second brightness representative vectors respectively corresponding to the points that fail to recognize the position on the map; The brightness reference vector group may be changed to be divided into a state in which a false is minimized based on the group.

상기 구분 조건은, ⅰ일 위치에서 감지된 영상에서 특징점이 추출되지 않는 특징점 조건, ⅱ 일 위치에서 감지된 영상이 최근 p개의 위치에서 각각 감지된 p개의 영상과 소정 기준치 이상으로 매칭되지 않는 영상 조건, 및 ⅲ 최근 q개의 위치에서 각각 감지된 q개의 영상으로부터 생성된 3D 포인트가 일 위치에서 감지된 영상에서 소정 기준치 이상 인식되지 않는 3D 포인트 조건 중, 적어도 하나를 포함할 수 있다. 여기서, p는 자연수이고, q는 2이상의 자연수이다.The classification condition may include a feature point condition in which a feature point is not extracted from an image detected at a single location, and an image condition in which an image detected at one location does not match the p images detected at a recent p position or more than a predetermined reference value. , And 3 3D points generated from q images respectively detected at the latest q positions may include at least one of 3D point conditions in which an image detected at one position is not recognized above a predetermined reference value. Where p is a natural number and q is a natural number of two or more.

상기 구분 조건은, 일 위치에서 감지된 거리값이 거리 기준값보다 작은 거리 조건을 포함 수 있다.The classification condition may include a distance condition in which a distance value detected at one location is smaller than a distance reference value.

주행 구역의 일부를 특수 구역으로 구분하여, 서로 다른 구역에서 서로 다른 기능을 발휘하게 할 가능성을 열어주는 효과가 있다. Part of the driving zone is divided into special zones, opening up the possibility of having different functions in different zones.

가구의 아래 구역이 상기 특수 구역으로 판단되도록 함으로써, 다음의 다양한 유리한 가능성들이 제공될 수 있다. 일 예로, 이물질이 상대적으로 많이 쌓이는 상기 특수 구역을 별도로 관리하거나 청소할 수 있는 효과가 있다. 다른 예로, 가구의 아래 영역이 아닌 일반 구역의 맵핑 시간을 단축할 수 있는 효과가 있다. 또 다른 예로, 사람의 직접 접촉할 수 있는 상기 일반 구역을, 보다 깨끗이 청소하거나 보다 자주 청소하여, 사용자 입장에게 보다 쾌적한 환경을 제공할 수 있는 효과가 있다. 또 다른 예로, 상기 특수 구역 및 상기 일반 구역에서 주행 모드를 달리하여, 서로 다른 성질의 구역에 따라 효율적인 주행 방식을 설정할 수 있는 효과가 있다. 또 다른 예로, 상기 특수 구역에서만, 후술할 물건 찾기 기능 및/또는 벌레 퇴치 기능 등이 발휘되게 하여, 보다 스마트한 이동 로봇이 구현될 수 있다.By allowing the lower section of the furniture to be considered the special zone, the following various advantageous possibilities can be provided. For example, there is an effect that can separately manage or clean the special zone where a relatively large amount of foreign matter. As another example, it is possible to shorten the mapping time of the general area, not the lower area of the furniture. As another example, the general area, which may be directly contacted by a person, may be cleaned more or more frequently, thereby providing a more comfortable environment for the user. As another example, by varying the driving mode in the special zone and the general zone, it is possible to set an efficient driving method according to different zones. As another example, the smarter mobile robot may be implemented in such a special zone that the object search function and / or the insect worm control function to be described later are exerted.

상기 제어부가 이동 로봇의 상기 탈출 이동을 제어함으로써, 상기 일반 구역의 맵핑 시간을 단축하게 할 수 있다. 또한, 어두움으로 인해 영상을 통해 맵상 위치 인식이 곤란하고, 상대적으로 많은 이물질에 의한 슬립(slip)으로 인해 상기 주행부를 통한 위치 인식도 곤란한 상기 특수 영역을 일단 회피함으로써, 일반 구역을 먼저 맵핑하게 할 수 있고, 먼저 맵핑된 일반 구역을 이용하여 상기 특수 구역의 경계 부분을 인식할 수 있는 효과도 있다.By controlling the escape movement of the mobile robot, the controller may shorten the mapping time of the general area. In addition, it is difficult to recognize the position on the map through the image due to the darkness, and by avoiding the special area, which is difficult to recognize the position through the driving part due to the slip due to relatively many foreign substances, the general area can be mapped first. In addition, there is an effect of recognizing the boundary portion of the special zone using the mapped general zone.

상기 밝기 조건, 특징점 조건, 영상 조건, 3D 포인트 조건 및/또는 거리 조건을 통해, 효율적으로 가구의 아래 영역을 특수 영역으로 구분할 수 있는 효과가 있다.Through the brightness condition, the feature point condition, the image condition, the 3D point condition and / or the distance condition, the lower area of the furniture can be effectively divided into a special area.

또한, 상기 제어부가 상기 해결 수단에 따라 상기 밝기 기준값 또는 상기 밝기 기준 벡터군을 변경시킴으로써, 주거 환경에 따른 인자를 고려하여, 상기 특수 영역인지 여부를 판단할 수 있게 해준다.In addition, the controller may determine whether the special area is in consideration of a factor according to a living environment by changing the brightness reference value or the brightness reference vector group according to the solving means.

도 1은 본 발명의 일 실시예에 따른 이동 로봇(100) 및 이동 로봇을 충전시키는 충전대(200)를 도시한 사시도이다.
도 2는 도 1의 이동 로봇(100)을 상측에서 바라본 입면도이다.
도 3은 도 1의 이동 로봇(100)을 정면에서 바라본 입면도이다.
도 4는 도 1의 이동 로봇(100)을 하측에서 바라본 입면도이다.
도 5는 도 1의 이동 로봇(100)의 주요 구성들 간의 제어관계를 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 이동 로봇의 제어방법을 도시한 순서도이다.
도 7은 본 발명의 다른 실시예에 따른 이동 로봇의 제어방법을 도시한 순서도이다.
도 8은 도 7의 제어방법에 따른 이동 로봇(100)의 탈출 이동 과정을 도시한 평면 개념도이다.
도 9는, 본 발명의 제 1실시예에 따른 이동 로봇의 제어방법을 도시한 순서도이다.
도 10은, 도 9의 제어방법에 따른 이동 로봇(100)의 영상을 도시한 개념도로서, 시간(t)의 흐름에 따른 각 위치에서 감지된 영상과, 각 영상의 밝기 대표값(Fr)을 도시한다.
도 11은, ⅰ맵 상의 위치 인식에 성공한 지점들에 각각 대응하는 제 1밝기 대표값들(So)과 ⅱ상기 맵 상의 위치 인식에 실패한 지점들에 각각 대응하는 제 2밝기 대표값들(Sx)을 근거로, 도 9의 밝기 기준값(Fs)이 설정되는 것을 도시한 개념도이다.
도 12는, 본 발명의 제 2실시예에 따른 이동 로봇의 제어방법을 도시한 순서도이다.
도 13은, 도 12의 제어방법에 따른 이동 로봇(100)의 영상을 도시한 개념도로서, 일 위치에서 감지된 영상을 6개의 영역으로 구분하고, 상기 6개의 영역의 각각의 밝기 대표값(f1, f2, f3, f4, f5, f6)을 각 차원의 수치로 하는 6차원의 밝기 대표 벡터를 도시한 개념도이다.
도 14는, ⅰ맵 상의 위치 인식에 성공한 지점들에 각각 대응하는 제 1밝기 대표 벡터들(So)과 ⅱ상기 맵 상의 위치 인식에 실패한 지점들에 각각 대응하는 제 2밝기 대표 벡터들(Sx)을 근거로, 도 12의 밝기 기준 벡터군(FVs)이 설정되는 것을 도시한 개념도이다.
도 15는, 본 발명의 제 3실시예에 따른 이동 로봇의 제어방법을 도시한 순서도이다.
도 16은, 본 발명의 제 4실시예에 따른 이동 로봇의 제어방법을 도시한 순서도이다.
도 17은, 본 발명의 제 5실시예에 따른 이동 로봇의 제어방법을 도시한 순서도이다.
도 18은, 본 발명의 제 6실시예에 따른 이동 로봇의 제어방법을 도시한 순서도로서, 제 1 내지 5실시예를 조합하는 예시를 보여준다.
도 19는, 본 발명의 또 다른 실시예에 따른 이동 로봇의 제어방법을 도시한 순서도이다.
도 20은, 도 19의 제어방법에 따라 일반 구역(Ag)을 먼저 청소하고 있는 이동 로봇(100)을 주거 평면상에 도시한 개념도이다.
1 is a perspective view showing a mobile robot 100 and a charging table 200 for charging a mobile robot according to an embodiment of the present invention.
2 is an elevation view of the mobile robot 100 of FIG. 1 as viewed from above.
3 is an elevation view of the mobile robot 100 of FIG. 1 viewed from the front.
4 is an elevation view of the mobile robot 100 of FIG. 1 as viewed from below.
FIG. 5 is a block diagram illustrating a control relationship between main components of the mobile robot 100 of FIG. 1.
6 is a flowchart illustrating a control method of a mobile robot according to an embodiment of the present invention.
7 is a flowchart illustrating a control method of a mobile robot according to another embodiment of the present invention.
8 is a plane conceptual view illustrating an escape movement process of the mobile robot 100 according to the control method of FIG. 7.
9 is a flowchart illustrating a control method of a mobile robot according to a first embodiment of the present invention.
FIG. 10 is a conceptual diagram illustrating an image of the mobile robot 100 according to the control method of FIG. 9. The image detected at each position according to the flow of time t and the brightness representative value Fr of each image are shown. Illustrated.
FIG. 11 shows first brightness representative values So respectively corresponding to the points which successfully recognize the position on the m-map, and ii second brightness representative values Sx respectively corresponding to the points where the position recognition failed on the map. Based on this, it is a conceptual diagram showing that the brightness reference value Fs of FIG. 9 is set.
12 is a flowchart illustrating a control method of a mobile robot according to a second embodiment of the present invention.
FIG. 13 is a conceptual diagram illustrating an image of the mobile robot 100 according to the control method of FIG. 12. The image detected at one position is divided into six regions, and respective brightness representative values f1 of the six regions are illustrated. is a conceptual diagram showing a six-dimensional brightness representative vector in which, f2, f3, f4, f5, and f6) are numerical values of each dimension.
FIG. 14 shows first brightness representative vectors So respectively corresponding to the points which successfully recognize the position on the m-map, and ii second brightness representative vectors Sx respectively corresponding to the points where the position recognition failed on the map. Based on this, it is a conceptual diagram illustrating that the brightness reference vector group FVs of FIG. 12 is set.
15 is a flowchart showing a control method of a mobile robot according to a third embodiment of the present invention.
16 is a flowchart showing a control method of a mobile robot according to a fourth embodiment of the present invention.
17 is a flowchart illustrating a control method of a mobile robot according to a fifth embodiment of the present invention.
18 is a flowchart illustrating a method for controlling a mobile robot according to a sixth embodiment of the present invention, and shows an example of combining the first to fifth embodiments.
19 is a flowchart illustrating a control method of a mobile robot according to still another embodiment of the present invention.
FIG. 20 is a conceptual diagram showing a mobile robot 100 cleaning the general area Ag first according to the control method of FIG. 19 on a residential plane.

본 발명인 이동 로봇(100)은 바퀴 등을 이용하여 스스로 이동이 가능한 로봇을 의미하고, 가정 도우미 로봇 및 로봇 청소기 등이 될 수 있다. 이하 도 1 내지 도 5를 참조하여, 이동 로봇 중 로봇 청소기(100)를 예로들어 설명하나, 반드시 이에 한정될 필요는 없다.The mobile robot 100 of the present invention means a robot that can move itself by using a wheel or the like, and may be a home helper robot or a robot cleaner. Hereinafter, referring to FIGS. 1 to 5, the robot cleaner 100 of the mobile robot is described as an example, but is not necessarily limited thereto.

본 설명 전체에 걸쳐 언어적/수학적으로 표현된 대소비교에 있어서, '작거나 같음(이하)'과 '작음(미만)'은 통상의 기술자 입장에서 서로 용이하게 치환가능한 정도이며, '크거나 같음(이상)'과 '큼(초과)'은 통상의 기술자 입장에서 서로 용이하게 치환가능한 정도이며, 본 발명을 구현함에 있어서 치환하여도 그 효과 발휘에 문제가 되지 않음은 물론이다.In the comparison of verbal / mathematical expressions throughout this description, 'small or equal' and 'small' are less than or equal to each other and can be easily substituted for a person of ordinary skill in the art. (Above) and "greater than" are the extent to which a person skilled in the art can easily replace each other, and of course, the substitution of the present invention does not cause any problem in exerting the effect.

이동 로봇(100)은 본체(110)를 포함한다. 이하, 본체(110)의 각부분을 정의함에 있어서, 주행구역 내의 천장을 향하는 부분을 상면부(도 2 참조)로 정의하고, 주행구역 내의 바닥(1)을 향하는 부분을 저면부(도 4 참조)로 정의하고, 상기 상면부와 저면부 사이에서 본체(110)의 둘레를 이루는 부분 중 주행방향을 향하는 부분을 정면부(도 3 참조)라고 정의한다. 또한, 본체(110)의 정면부와 반대 방향을 향하는 부분을 후면부로 정의할 수 있다. 본체(110)는 이동 로봇(100)를 구성하는 각종 부품들이 수용되는 공간을 형성하는 케이스(111)를 포함할 수 있다.The mobile robot 100 includes a main body 110. Hereinafter, in defining the respective parts of the main body 110, the portion facing the ceiling in the driving zone is defined as the upper surface portion (see FIG. 2), and the portion facing the bottom 1 in the driving zone is the bottom portion (see FIG. 4). ), And a portion facing the traveling direction among the portions forming the circumference of the main body 110 between the upper surface portion and the lower surface portion is defined as a front portion (see FIG. 3). In addition, a portion of the main body 110 facing in the opposite direction to the front portion may be defined as the rear portion. The main body 110 may include a case 111 forming a space in which various components of the mobile robot 100 are accommodated.

이동 로봇(100)은, 외부의 상측 물체의 정보를 감지하는 센싱부(120)를 포함한다. 센싱부(120)는, 이동 로봇(100)의 이동 중 상기 외부의 상측 물체의 정보를 감지할 수 있다. 상기 외부의 상측 물체는, 상측 방향으로 공간을 제한하는 장애물을 의미한다. 상기 외부의 상측 물체는, 이동 로봇(100)의 상측 방향에 배치되는 천장이나 가구(3)의 하측면 등이 될 수 있다. 상기 외부의 상측 물체의 정보는, 이동 로봇(100)이 상측 방향으로 촬영한 영상 정보를 포함할 수 있다. 상기 외부의 상측 물체의 정보는, 이동 로봇(100)이 상기 외부의 상측 물체까지의 거리 정보를 포함할 수 있다.The mobile robot 100 includes a sensing unit 120 for sensing information of an external upper object. The sensing unit 120 may detect information of the external upper object during the movement of the mobile robot 100. The external upper object means an obstacle limiting a space in an upward direction. The external upper object may be a ceiling or a lower surface of the furniture 3 disposed in an upward direction of the mobile robot 100. The external object information may include image information photographed by the mobile robot 100 in an upward direction. The information on the external upper object may include distance information from the mobile robot 100 to the external upper object.

센싱부(120)는 본체(110)의 상면부에 구비될 수 있다. 센싱부(120)의 감지 방향은 상측 방향이다.The sensing unit 120 may be provided at an upper surface of the main body 110. The sensing direction of the sensing unit 120 is an upward direction.

센싱부(120)는, 외부의 상측 물체의 영상를 감지하거나 외부의 상측 물체까지의 거리를 감지할 수 있다. 센싱부(120)는 이동 중 시간(t)에 따른 각 위치에서 상기 영상을 감지할 수 있다. 센싱부(120)는 이동 중 시간(t)에 따른 각 위치에서 상기 거리를 감지할 수 있다. The sensing unit 120 may detect an image of an external upper object or detect a distance to an external upper object. The sensing unit 120 may detect the image at each position according to the time t during the movement. The sensing unit 120 may detect the distance at each position according to the time t during the movement.

센싱부(120)는 외부의 상측 물체의 영상을 감지하는 영상 감지부(120)를 포함할 수 있다. 센싱부(120)는 외부의 상측 물체까지의 거리를 감지하는 거리 감지부(120)를 포함할 수 있다.The sensing unit 120 may include an image sensing unit 120 for sensing an image of an external upper object. The sensing unit 120 may include a distance detecting unit 120 that detects a distance to an external upper object.

영상획득부(120)는 주행구역을 촬영하는 것으로, 디지털 카메라를 포함할 수 있다. 상기 디지털 카메라는 적어도 하나의 광학렌즈와, 상기 광학렌즈를 통과한 광에 의해 상이 맺히는 다수개의 광다이오드(photodiode, 예를들어, pixel)를 포함하여 구성된 이미지센서(예를들어, CMOS image sensor)와, 상기 광다이오드들로부터 출력된 신호를 바탕으로 영상을 구성하는 디지털 신호 처리기(DSP: Digital Signal Processor)를 포함할 수 있다. 상기 디지털 신호 처리기는 정지영상은 물론이고, 정지영상으로 구성된 프레임들로 이루어진 동영상을 생성하는 것도 가능하다.The image acquisition unit 120 photographs the driving zone, and may include a digital camera. The digital camera includes at least one optical lens and a plurality of photodiodes (eg, pixels) formed by the light passing through the optical lens, for example, a CMOS image sensor. And a digital signal processor (DSP) for constructing an image based on the signals output from the photodiodes. The digital signal processor may generate not only a still image but also a moving image including frames composed of still images.

이동 로봇(100)는 본체(110)를 이동시키는 주행부(160)를 포함한다. 주행부(160)는 바닥(1)에 대해 본체(110)를 이동시킨다. 주행부(160)는 본체(110)를 이동시키는 적어도 하나의 구동 바퀴(166)를 포함할 수 있다. 주행부(160)는 구동 모터를 포함할 수 있다. 구동 바퀴(166)는 본체(110)의 좌, 우 측에 각각 구비될 수 있으며, 이하, 각각 좌륜(166(L))과 우륜(166(R))이라고 한다.The mobile robot 100 includes a driving unit 160 for moving the main body 110. The driving unit 160 moves the main body 110 with respect to the floor 1. The driving unit 160 may include at least one driving wheel 166 to move 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, hereinafter referred to as left wheels 166 (L) and right wheels 166 (R).

좌륜(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) which drive the left wheel 166 (L) as necessary. Each right wheel drive motor for driving) may be provided. The driving direction of the main body 110 can be switched to the left or the right by varying the rotational speeds of the left wheel 166 (L) and the right wheel 166 (R).

이동 로봇(100)은 바닥(1)을 청소하는 청소부(180)를 포함한다. 이동 로봇(100)은 주행 구역을 이동하며 청소할 수 있다. 청소부(180)는, 이물질을 흡입하는 흡입 장치, 비질을 수행하는 브러시(184, 185), 흡입장치나 브러시에 의해 수거된 이물질을 저장하는 먼지통(미도시) 및/또는 걸레질을 수행하는 걸레부(미도시) 등을 포함할 수 있다.The mobile robot 100 includes a cleaning unit 180 for cleaning the floor 1. The mobile robot 100 may move and clean the traveling area. The cleaning unit 180 may include a suction device for suctioning foreign substances, brushes 184 and 185 for dusting, a dust container (not shown) for storing the foreign matter collected by the suction apparatus or brush, and / or a mop for dusting. (Not shown) and the like.

본체(110)의 저면부에는 공기의 흡입이 이루어지는 흡입구(180h)가 형성될 수 있다. 본체(110) 내에는 흡입구(180h)를 통해 공기가 흡입될 수 있도록 흡입력을 제공하는 흡입장치(미도시)와, 흡입구(180h)를 통해 공기와 함께 흡입된 먼지를 집진하는 먼지통(미도시)이 구비될 수 있다.A suction port 180h through which air is sucked may be formed at 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 port 180h, and a dust container (not shown) that collects dust sucked with air through the suction port 180h. It may be provided.

케이스(111)에는 상기 먼지통의 삽입과 탈거를 위한 개구부가 형성될 수 있고, 상기 개구부를 여닫는 먼지통 커버(112)가 케이스(111)에 대해 회전 가능하게 구비될 수 있다.An opening for inserting and removing the dust container may be formed in the case 111, and a dust container 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-shaped main brush 184 having brushes exposed through the suction port 180h, and an auxiliary brush 185 having a brush composed of a plurality of radially extending wings positioned at the front side of the bottom of the main body 110. It may be provided. The rotation of these brushes 184 and 185 removes dust from the floor in the travel zone, and the dust separated from the floor is sucked through the inlet 180h and collected in the dust bin.

배터리(138)는 상기 구동 모터뿐만 아니라, 이동 로봇(100)의 작동 전반에 필요한 전원을 공급할 수 있다. 배터리(138)가 방전될 시, 이동 로봇(100)는 충전을 위해 충전대(200)로 복귀하는 주행을 실시할 수 있으며, 이러한 복귀 주행 중, 이동 로봇(100)는 스스로 충전대(200)의 위치를 탐지할 수 있다.The battery 138 may supply power required for the overall operation of the mobile robot 100 as well as the driving motor. When the battery 138 is discharged, the mobile robot 100 may travel to return to the charging station 200 for charging, and during such a return travel, the mobile robot 100 itself positions the charging station 200. Can be detected.

충전대(200)는 소정의 복귀 신호를 송출하는 신호 송출부(미도시)를 포함할 수 있다. 상기 복귀 신호는 초음파 신호 또는 적외선 신호일 수 있으나, 반드시 이에 한정되어야하는 것은 아니다.Charging station 200 may include a signal transmitter (not shown) for transmitting a predetermined return signal. The return signal may be an ultrasonic signal or an infrared signal, but is not necessarily limited thereto.

이동 로봇(100)은, 외부의 서버, 단말기 및/또는 충전대 등과 통신하게 구비된 통신부(190)를 포함할 수 있다. 통신부(190)는 상기 복귀 신호를 수신하는 신호 감지부(미도시)를 포함할 수 있다. 충전대(200)는 신호 송출부를 통해 적외선 신호를 송출하고, 상기 신호 감지부는 상기 적외선 신호를 감지하는 적외선 센서를 포함할 수 있다. 이동 로봇(100)는 충전대(200)로부터 송출된 적외선 신호에 따라 충전대(200)의 위치로 이동하여 충전대(200)와 도킹(docking)한다. 이러한 도킹에 의해 이동 로봇(100)의 충전 단자(133)와 충전대(200)의 충전 단자(210) 간에 충전에 이루어진다.The mobile robot 100 may include a communication unit 190 provided to communicate with an external server, a terminal, and / or a charging stand. The communicator 190 may include a signal detector (not shown) that receives the return signal. The charging unit 200 may transmit an infrared signal through a signal transmitter, and the signal detector may include an infrared sensor that detects the infrared signal. The mobile robot 100 moves to the position of the charging stand 200 according to the infrared signal transmitted from the charging stand 200 and docks with the charging stand 200. The docking is performed between the charging terminal 133 of the mobile robot 100 and the charging terminal 210 of the charging table 200.

또한, 이동 로봇(100)는 전방의 장애물을 감지하는 장애물 감지센서(131)를 더 포함할 수 있다. 이동 로봇(100)는 주행구역 내 바닥에 낭떠러지의 존재 여부를 감지하는 낭떠러지 감지센서(132)와, 바닥의 영상을 획득하는 하부 영상 센서(139)를 더 포함할 수 있다. In addition, the mobile robot 100 may further include an obstacle detecting sensor 131 for detecting an obstacle in front of the moving robot 100. The mobile robot 100 may further include a cliff detection sensor 132 for detecting the presence of a cliff on the floor in the driving zone, and a lower image sensor 139 for acquiring an image of the floor.

또한, 이동 로봇(100)는 On/Off 또는 각종 명령을 입력할 수 있는 입력부(171)를 포함한다. 이동 로봇(100)은 각종 정보를 사용자에게 알리기 위한 출력부(173)를 포함할 수 있다. 출력부(173)는 스피커 및/또는 디스플레이를 포함할 수 있다.In addition, the mobile robot 100 includes an input unit 171 for inputting On / Off or various commands. The mobile robot 100 may include an output unit 173 for notifying the user of various kinds of information. The output unit 173 may include a speaker and / or a display.

이동 로봇(100)는 현재 위치를 인식하는 등 각종 정보를 처리하고 판단하는 제어부(140)를 포함한다. 제어부(140)는 이동 로봇(100)를 구성하는 각종 구성들의 제어를 통해, 이동 로봇(100)의 동작 전반을 제어할 수 있다. 제어부(140)는, 상기 영상을 통해 주행 구역을 맵핑하고 현재 위치를 맵핑된 맵 상에서 인식 가능하게 구비될 수 있다. 즉, 제어부(140)는 슬램(SLAM : Simultaneous Localization and Mapping) 기능을 수행할 수 있다.The mobile robot 100 includes a controller 140 for processing and determining various information such as recognizing a current position. The controller 140 may control overall operations of the mobile robot 100 through control of various components of the mobile robot 100. The controller 140 may map the driving zone through the image and may be provided to recognize the current location on the mapped map. That is, the controller 140 may perform a slam (SLAM: Simultaneous Localization and Mapping) function.

제어부(140)는 입력부(171)로부터 정보를 입력받아 처리할 수 있다. 제어부(140)는 센싱부(120)로부터 감지 정보를 입력받아 처리할 수 있다. 감지 정보란 상기 외부의 상측 물체의 정보를 의미한다. 제어부(140)는 통신부(190)를 통해 정보를 수신하거나 정보를 송신할 수 있다.The controller 140 may receive information from the input unit 171 and process the information. The controller 140 may receive and process the sensing information from the sensing unit 120. The sensing information means information of the external upper object. The controller 140 may receive information or transmit information through the communication unit 190.

제어부(140)는 출력부(173)의 출력을 제어할 수 있다. 제어부(140)는 주행부(160)의 구동을 제어할 수 있다. 제어부(140)는 청소부(180)의 동작을 제어할 수 있다.The controller 140 may control the output of the output unit 173. The controller 140 may control the driving of the driving unit 160. The controller 140 may control the operation of the cleaner 180.

이동 로봇(100)은 각종 데이터를 저장하는 저장부(150)를 포함한다. 저장부(150)는 이동 로봇(100)의 제어에 필요한 각종 정보들을 기록하는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다.The mobile robot 100 includes a storage unit 150 for storing various data. The storage unit 150 records various types of information necessary for the control of the mobile robot 100 and may include a volatile or nonvolatile recording medium.

저장부(150)에는 주행구역에 대한 맵이 저장될 수 있다. 상기 맵은 이동 로봇(100)과 통신부(190)을 통해 정보를 교환할 수 있는 외부 단말기에 의해 입력된 것일 수도 있고, 이동 로봇(100)이 스스로 학습을 하여 생성한 것일 수도 있다. 전자의 경우, 외부 단말기로는 맵 설정을 위한 어플리케이션(application)이 탑재된 리모콘, PDA, 랩탑(laptop), 스마트 폰, 태블렛 등을 예로 들 수 있다.The storage unit 150 may store a map of the driving zone. The map may be input by an external terminal capable of exchanging information through the mobile robot 100 and the communication unit 190, or may be generated by the mobile robot 100 by learning itself. In the former case, examples of the external terminal may include a remote controller, a PDA, a laptop, a smartphone, a tablet, and the like equipped with an application for setting a map.

현실의 주행구역은 맵상의 주행구역과 대응될 수 있다. 상기 주행구역은 이동 로봇(100)이 주행 경험이 있는 모든 평면상의 구역 및 현재 주행하고 있는 평면상의 구역을 모두 합한 범위로 정의될 수 있다.The actual driving zone may correspond to the driving zone on the map. The driving zone may be defined as the sum of all the plane zones in which the mobile robot 100 has a driving experience and the zones on the plane in which the mobile robot 100 is currently traveling.

현실의 특수 구역(As)과 맵 상의 특수 구역(As)은 대응된다. 현실의 일반 구역(Ag)과 대응되는 맵 상의 일반 구역(Ag)은 대응된다. 상기 맵에는 방들의 위치가 표시될 수 있다. 또한, 이동 로봇(100)의 현재 위치가 상기 맵 상에 표시될 수 있으며, 상기 맵 상의 이동 로봇(100)의 현재 위치는 주행 과정에서 갱신될 수 있다.The special zone As in reality and the special zone As on the map correspond. The general area Ag on the map that corresponds to the general area Ag in reality corresponds. The location of the rooms may be displayed on the map. In addition, the current position of the mobile robot 100 may be displayed on the map, and the current position of the mobile robot 100 on the map may be updated during the driving process.

제어부(140)는 주행부(160)의 동작을 바탕으로 이동 로봇(100)의 이동 경로를 파악할 수도 있다. 예를들어, 주행제어모듈(141)은 구동 바퀴(166)의 회전속도를 바탕으로 이동 로봇(100)의 현재 또는 과거의 이동속도, 주행한 거리 등을 파악할 수 있으며, 각 구동 바퀴(166(L), 166(R))의 회전 방향에 따라 현재 또는 과거의 방향 전환 과정 또한 파악할 수 있다. 이렇게 파악된 이동 로봇(100)의 주행 정보를 바탕으로, 맵 상에서 이동 로봇(100)의 위치가 갱신될 수 있다. 또한, 상기 영상 정보를 이용하여, 맵 상에서 이동 로봇(100)의 위치가 갱신될 수도 있다.The controller 140 may determine the movement path of the mobile robot 100 based on the operation of the driving unit 160. For example, the driving control module 141 may grasp the current or past moving speed of the mobile robot 100, the distance traveled, and the like based on the rotational speed of the driving wheel 166, and each driving wheel 166 ( L) and 166 (R) may also determine the current or past direction change process. Based on the driving information of the mobile robot 100 thus identified, the position of the mobile robot 100 on the map may be updated. In addition, by using the image information, the position of the mobile robot 100 on the map may be updated.

이하, 도 6 내지 19를 참고하여, 본 발명의 실시예들에 따른 이동 로봇(100)의 제어방법을 설명한다. 각 순서도들에서 서로 중복되는 내용은 동일한 도면 부호로 표기하고, 중복되는 설명은 생략한다.6 to 19, the control method of the mobile robot 100 according to embodiments of the present invention will be described. Contents overlapping each other in the flowcharts are denoted by the same reference numerals, and redundant descriptions are omitted.

제어방법은 제어부(140)에 의해 수행될 수 있다. 본 발명은, 이동 로봇(100)의 제어방법이 될 수 있고, 상기 제어방법을 수행하는 제어부(140)를 포함하는 이동 로봇(100)이 될 수도 있다. 본 발명은, 상기 제어방법의 각 단계를 포함하는 컴퓨터 프로그램이 될 수도 있고, 상기 제어방법을 컴퓨터로 구현하기 위한 프로그램이 기록된 기록매체가 될 수도 있다. 상기 '기록매체'는 컴퓨터로 판독 가능한 기록매체를 의미한다. 본 발명은, 하드웨어와 소프트웨어를 모두 포함하는 이동 로봇 제어 시스템이 될 수도 있다. The control method may be performed by the controller 140. The present invention may be a control method of the mobile robot 100 or may be a mobile robot 100 including a control unit 140 performing the control method. The present invention may be a computer program including each step of the control method, or may be a recording medium on which a program for implementing the control method with a computer is recorded. The term 'recording medium' means a computer-readable recording medium. The present invention may be a mobile robot control system including both hardware and software.

제어방법의 순서도 도면들의 각 단계와 순서도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션(instruction)들에 의해 수행될 수 있다. 상기 인스트럭션들은 범용 컴퓨터 또는 특수용 컴퓨터 등에 탑재될 수 있고, 상기 인스트럭션들이 순서도 단계(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다.Flowchart of the control method Each step of the flowchart drawings and combinations of the flowchart drawings may be performed by computer program instructions. The instructions may be mounted on a general purpose computer or special purpose computer, etc., such that the instructions create means for performing the functions described in the flowchart step (s).

또한, 몇 가지 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능하다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.It is also possible in some embodiments that the functions mentioned in the steps occur out of order. For example, the two steps shown in succession may in fact be performed substantially simultaneously or the steps may sometimes be performed in the reverse order, depending on the function in question.

제어부(140)는, 센싱부(120)의 감지 정보를 근거로 한 각 위치에서의 소정 구분 조건의 만족 여부에 따라, 주행 구역의 일부를 특수 구역(As)으로 구분한다. 제어부(140)는, 일 위치에서의 상기 감지 정보를 근거로 상기 구분 조건이 만족되면, 상기 일 위치가 특수 구역(As)에 속하는 것으로 판단한다. 제어부(140)는, 현 위치에서의 상기 감지 정보를 근거로 상기 구분 조건이 만족되면, 현 위치가 특수 구역(As)에 속하는 것으로 판단할 수 있다. The controller 140 divides a part of the driving zone into a special zone As according to whether a predetermined division condition is satisfied at each location based on the sensing information of the sensing unit 120. The controller 140 determines that the one location belongs to the special zone As when the classification condition is satisfied based on the detection information at one location. The controller 140 may determine that the current location belongs to the special zone As when the classification condition is satisfied based on the detection information at the current location.

제어부(140)는, 소정의 알고리즘을 이용하여, 주행 구역 중 일부를 특수 구역(As)으로 판단할 수 있다. 주행 구역 중 특수 구역(As)의 판단된 각 위치들이 모여 특수 구역(As)을 구성할 수 있다. 실시예에 따라, 제어부(140)는, 주행 구역 중 특수 구역(As)으로 판단된 각 위치들이 모여 특수 구역(As)의 경계를 형성할 수 있고, 상기 경계를 기준으로 일반 구역(Ag)의 건너편 구역을 특수 구역(As)으로 판단할 수도 있다.The control unit 140 may determine a part of the driving zone as the special zone As using a predetermined algorithm. The determined positions of the special zone As among the driving zones may be gathered to form the special zone As. According to an exemplary embodiment, the controller 140 may form a boundary of the special zone As by gathering respective positions determined as the special zone As among the driving zones, and based on the boundary, The area across may be considered a special zone (As).

제어부(140)는, 센싱부(120)의 감지 정보를 근거로 하여, 주행 구역 중 일부를 가구의 아래 구역으로 판단되는 특수 구역(As)으로 구분한다. 제어부(140)는, 소정의 알고리즘에 의해 가구의 아래 구역으로 판단되는 특수 구역(As)을 지정할 수 있다. 제어부(140)의 소정의 알고리즘에 의한 판단이기 때문에, 맵 상의 특수 구역(As)이 실제 현실에서 가구의 아래 구역과 대응되는 부분도 있으나, 실제 현실에서 가구의 아래 구역과 대응되지 않는 부분이 있을 수도 있다. 상대적으로 높은 신뢰도로 실제 현실의 가구의 아래 구역이 맵 상의 특수 구역(As)으로 구분되도록, 상기 알고리즘은 기설정된다. 상기 구분 조건은, 가구의 아래 구역이 상기 특수 구역으로 판단되도록 기설정된다. 상기 구분 조건은, 가구의 아래 구역이 특수 구역(As)으로 판단될 확률이 상대적으로 높도록 기설정된다. 제어부(140)가 판단한 특수 구역(As)은, 실제 현실에서 가구의 아래 구역일 확률이 천장의 아래 구역일 확률보다 높다.The controller 140 divides some of the driving zones into a special zone As determined to be a lower zone of the furniture, based on the sensing information of the sensing unit 120. The control unit 140 may designate a special area As determined to be a lower area of the furniture by a predetermined algorithm. Because the determination is based on a predetermined algorithm of the controller 140, the special area As on the map corresponds to the lower area of the furniture in the real world, but there may be a part that does not correspond to the lower area of the furniture in the real world. It may be. The algorithm is preset so that, with a relatively high degree of confidence, the lower area of the household in the real world is divided into a special area As on the map. The division condition is preset so that the lower section of the furniture is determined as the special section. The dividing condition is preset so that the probability that the lower section of the household is determined to be a special section As is relatively high. The special zone As determined by the controller 140 has a higher probability that the lower section of the furniture is a lower section of the ceiling in real life.

제어부(140)는, 센싱부(120)의 감지 정보 및 소정의 구분 기준을 근거로하여, 주행 구역 중 일부를 특수 구역으로 판단한다. 상기 구분 기준은, 주행 구역 중 일 위치에서의 상기 감지 정보를 입력값으로 한 정보 처리에 있어서, 상기 일 위치를 특수 구역(As)으로 판단할지 여부를 결정하는 기준(threshold)이 된다. 상기 구분 기준은, 주행 구역을 일반 구역(Ag)과 특수 구역(As)으로 구분하는 기준이 될 수 있다.The controller 140 determines a part of the driving zone as a special zone based on the sensing information of the sensing unit 120 and a predetermined division criterion. The division criterion is a threshold for determining whether to determine the one position as a special zone As in the information processing using the sensed information at one position in the driving zone as an input value. The division criteria may be a criterion for dividing the driving zone into a general zone Ag and a special zone As.

특수 구역(As)은 주행 구역 중 일반 구역(Ag)을 제외한 구역일 수 있다. 특수 구역(As)은 가구의 아래 구역을 포함한다. 특수 구역(As)은 가구의 아래 구역에 대응되는 구역이다. 특수 구역(As)은, 실내의 조명을 on시킨 상태에서 상대적으로 어두운 구역이 될 수 있다. 특수 구역(As)은, 이동 로봇(100)과 외부의 상측 물체 사이의 거리가 소정 기준 이하가 되는 구역이 될 수 있다. 특수 구역(As)에서, 이동 로봇(100)과 외부의 상측 물체 사이의 거리는 상대적으로 작다.The special zone As may be a zone other than the general zone Ag of the driving zone. Special Areas (As) include the lower areas of the household. Special Areas (As) correspond to areas below the furniture. The special zone As may be a relatively dark zone with the lighting of the room turned on. The special area As may be an area in which the distance between the mobile robot 100 and an external upper object is equal to or less than a predetermined reference. In the special zone As, the distance between the mobile robot 100 and the external upper object is relatively small.

일반 구역(Ag)은 주행 구역 중 특수 구역(As)을 제외한 구역일 수 있다. 일반 구역(Ag)은 천장의 아래 구역을 포함할 수 있다. 일반 구역(Ag)은, 이동 로봇(100)과 천장 사이에 가구 등의 장애물이 배치되지 않은 구역일 수 있다. 일반 구역(Ag)은, 실내의 조명을 on시킨 상태에서 상대적으로 밝은 구역이 될 수 있다. 일반 구역(Ag)은, 이동 로봇(100)과 외부의 상측 물체 사이의 거리가 소정 기준 이상이 되는 구역이 될 수 있다. 일반 구역(Ag)에서, 이동 로봇(100)과 외부의 상측 물체 사이의 거리는 상대적으로 크다.The general zone Ag may be a zone excluding the special zone As of the driving zone. The general zone Ag may comprise the lower zone of the ceiling. The general area Ag may be an area in which no obstacle such as furniture is disposed between the mobile robot 100 and the ceiling. The general area Ag may be a relatively bright area with the lighting of the room turned on. The general area Ag may be an area in which the distance between the mobile robot 100 and an external upper object becomes a predetermined reference or more. In the general area Ag, the distance between the mobile robot 100 and the external upper object is relatively large.

도 6을 참고하여, 일 실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다. 먼저, 이동 로봇(100)이 이동 중 상기 외부의 상측 물체의 정보를 감지하는 과정(S10)이 진행된다. 상과 과정(S10)에서 일 위치의 상기 감지 정보를 근거로 하여, 상기 구분 조건의 만족 여부를 판단하는 과정(S30)이 진행된다. 상기 과정(S30)에서, 상기 구분 조건이 만족하면, 이동 로봇(100)은 특수 구역(As)을 학습한다. (S50) 상기 과정(S50)에서, 상기 구분 조건의 만족 여부 판단의 근거가 된 감지 정보를 획득한 일 위치가 특수 구역(As)에 속하는 것으로 학습할 수 있다. 여기서, '학습'이란, 이동 로봇(100)이 스스로 인식을 통해 기존에 없었던 정보를 새롭게 생성하거나 기존의 정보를 갱신하는 것을 포괄하는 의미이다. 주행이 종료되지 않은 경우, 상기 과정(S30)에서 상기 구분 조건이 불만족하면, 새로운 특수 구역(As)의 학습 없이, 다시 상기 과정(S10)이 진행될 수 있다. 상기 구분 조건의 만족 여부 판단의 근거가 된 감지 정보를 획득한 일 위치가 일반 구역(Ag)에 속하는 것으로 학습할 수도 있다. 기설정된 조건 또는 사용자의 입력에 따라, 이동 로봇(100)의 주행 종료 여부를 판단하는 과정(S80)이 진행될 수 있다. 주행이 종료되지 않은 경우, 상기 과정(S50) 이후 다시 상기 과정(S10)이 진행된다. 주행이 종료되지 않은 경우, 상기 과정(S30)에서 상기 구분 조건이 불만족하면, 다시 상기 과정(S10)이 진행된다.Referring to Figure 6, the control method of the mobile robot 100 according to an embodiment are as follows. First, the mobile robot 100 detects information of the external upper object during the movement (S10). In operation S10, a process of determining whether the division condition is satisfied based on the sensing information of one position is performed (S30). In the process (S30), if the classification condition is satisfied, the mobile robot 100 learns a special zone (As). In operation S50, it may be learned that one location from which the detection information, which is the basis for determining whether the division condition is satisfied, belongs to a special zone As. Here, the term 'learning' means that the mobile robot 100 generates new information or updates existing information through self-recognition. If the driving is not finished, if the classification condition is not satisfied in the process (S30), the process (S10) may proceed again without learning a new special zone (As). It is also possible to learn that one location from which the sensing information on which the classification condition is satisfied is belonged to the general area Ag. According to a preset condition or a user input, a process (S80) of determining whether the driving of the mobile robot 100 is terminated may be performed. If the driving is not finished, the process S10 is performed again after the process S50. If the driving is not finished, if the classification condition is not satisfied in the process (S30), the process (S10) proceeds again.

도 7 및 도 8을 참고하여, 다른 실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다. 제어부(140)는, 이동 중 특수 구역(As)을 학습하면, 특수 구역(As) 밖으로 탈출 이동하게 제어할 수 있다. 상기 과정(S30)에서 상기 구분 조건이 만족되는 것으로 판단되면, 이동 로봇(100)의 현 위치가 속하는 특수 구역(As) 밖으로 이동 로봇(100)이 탈출 이동하는 과정(S55)이 진행된다. 상기 과정(S55) 이후, 이동 로봇(100)은 계속해서 이동하며 상기 과정(S10)이 다시 진행된다. 상기 과정(S30)에서 상기 구분 조건이 불만족되는 것으로 판단되면, 상기 과정(S10)이 다시 진행된다.Referring to FIGS. 7 and 8, a control method of the mobile robot 100 according to another embodiment is as follows. When the controller 140 learns the special zone As during the movement, the controller 140 may control to escape from the special zone As. If it is determined in step S30 that the division condition is satisfied, step S55 is performed in which the mobile robot 100 escapes and moves out of the special area As belonging to the current position of the mobile robot 100. After the process (S55), the mobile robot 100 continues to move and the process (S10) proceeds again. If it is determined in step S30 that the division condition is unsatisfactory, step S10 is performed again.

도 8을 참고하여, 이동 로봇(100)의 상기 탈출 이동의 시나리오를 설명하면 다음과 같다. 도 8은, 바닥(1)을 주행 중인 이동 로봇(100)과, 하측면이 바닥(1)으로부터 이격된 가구(3)를 도시한 평면 개념도로서, 화살표는 이동 로봇(100)의 주행 경로를 의미한다. 도 8a에는, 이동 로봇(100)이 가구(3)의 아래 구역으로 진입하기 직전의 모습이 도시된다. 도 8b에는, 이동 로봇(100)이 가구(3)의 아래 구역으로 진입한 직후의 모습을 도시한다. 이동 로봇(100)이 가구(3)의 아래 구역으로 진입한 상태의 현 위치에서 상기 감지 정보를 획득하고, 현 위치의 상기 감지 정보를 근거로 상기 구분 조건의 만족 여부를 판단한다. 도 8b에서, 제어부(140)는, 가구(3)의 아래 구역의 일 위치의 감지 정보를 근거로 하여, 상기 구분 조건이 만족한다고 판단한다. 이에 따라, 이동 로봇(100)은 새로운 특수 구역(As)를 학습한다. 그 후, 도 8c를 참고하여, 이동 로봇(100)은 특수 구역(As)으로부터 일반 구역(Ag)으로 탈출 이동을 수행한다. Referring to Figure 8, the scenario of the escape movement of the mobile robot 100 will be described as follows. FIG. 8 is a plan conceptual view showing the mobile robot 100 traveling on the floor 1 and the furniture 3 spaced apart from the floor 1 with arrows indicating the travel path of the mobile robot 100. it means. In FIG. 8A, the mobile robot 100 is shown just before entering the lower section of the furniture 3. In FIG. 8B, the mobile robot 100 is shown immediately after entering the lower section of the furniture 3. The mobile robot 100 obtains the sensing information at the current position in the state where the mobile robot enters the lower area of the furniture 3, and determines whether the division condition is satisfied based on the sensing information of the current position. In FIG. 8B, the control unit 140 determines that the division condition is satisfied based on the sensing information of one position of the lower area of the furniture 3. Accordingly, the mobile robot 100 learns a new special zone As. Then, referring to FIG. 8C, the mobile robot 100 performs an escape movement from the special zone As to the general zone Ag.

상기 탈출 이동은, 도 8(c)에 도시된 바와 같이 기존의 진행 방향(도 8b에서의 이동 로봇의 진행 방향)에서 180도 회전하며 이동하게 구현될 수 있다. 다른 예로, 상기 탈출 이동은, 상기 기존의 진행 방향에서 이동 로봇(100)이 후진하며 이동하게 구현될 수 있다.As shown in FIG. 8C, the escape movement may be implemented by rotating 180 degrees in the existing traveling direction (the moving direction of the mobile robot in FIG. 8B). As another example, the escape movement may be implemented such that the moving robot 100 moves backward in the existing traveling direction.

이동 로봇(100)은 센싱부(120)가 감지한 상방 영상의 밝기 정보를 근거로 상기 구분 조건의 만족 여부를 판단할 수 있다. 이동 로봇(100)은 일 위치의 상기 밝기 정보 및 상기 구분 기준을 근거로, 상기 일 위치가 특수 구역(As)에 속하는지 여부를 판단할 수 있다.The mobile robot 100 may determine whether the classification condition is satisfied based on brightness information of the upper image sensed by the sensing unit 120. The mobile robot 100 may determine whether the one location belongs to the special zone As based on the brightness information of the one location and the classification criteria.

이하, 도 9, 도 10 및 도 11을 참고하여, 제 1실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다. Hereinafter, a control method of the mobile robot 100 according to the first embodiment will be described with reference to FIGS. 9, 10, and 11 as follows.

제 1실시예에 따른 상기 구분 조건은, 일 위치에서 감지된 영상의 밝기 대표값(Fr)이 밝기 기준값(Fs)보다 작은 밝기 조건을 포함한다. 밝기 대표값(Fr)이 밝기 기준값(Fs)보다 작으면 상기 밝기 조건이 만족된다. The classification condition according to the first embodiment includes a brightness condition in which the brightness representative value Fr of the image detected at one position is smaller than the brightness reference value Fs. When the brightness representative value Fr is smaller than the brightness reference value Fs, the brightness condition is satisfied.

상기 밝기 조건을 판단하기 위해, 센싱부(120)는 상방의 영상을 감지한다.In order to determine the brightness condition, the sensing unit 120 detects an upper image.

밝기 대표값(Fr)은, 일 위치에서 감지된 일 영상의 밝기를 대표할 수 있는 값을 의미한다. 본 실시예에서, 밝기 대표값(Fr)은 일 영상의 평균 밝기값이다. 다른 예로, 밝기 대표값(Fr)은 일 영상의 각 영역별 밝기값들의 중간값 등이 될 수 있다. 또 다른 예로, 밝기 대표값(Fr)은, 일 영상의 각 영역별 밝기값들 중 소정치를 초과하거나 소정치 미만인 밝기값(들)을 제외하고 남은 밝기값 들의 평균값 또는 중간값일 수도 있다. 또 다른 예로, 밝기 대표값(Fr)은 상기 평균값 또는 중간값에 보정을 가한 값일 수도 있다.The brightness representative value Fr means a value that can represent the brightness of one image detected at one position. In the present embodiment, the brightness representative value Fr is an average brightness value of one image. As another example, the brightness representative value Fr may be an intermediate value of brightness values of each region of an image. As another example, the brightness representative value Fr may be an average value or a median value of remaining brightness values except for brightness value (s) that exceed or fall below a predetermined value among brightness values of each region of one image. As another example, the brightness representative value Fr may be a value obtained by correcting the average value or the median value.

밝기 기준값(Fs)은 밝기 대표값(Fr)의 비교 대상이 되는 값을 의미한다. 밝기 기준값(Fs)은 상기 구분 기준이 된다. 밝기 기준값(Fs)은 일정 값으로 기설정될 수 있다. 밝기 기준값(Fs)은, 이동 로봇(100)이 학습한 데이터를 근거로 변경될 수도 있다.The brightness reference value Fs means a value to be compared with the brightness representative value Fr. Brightness reference value Fs becomes the said division reference. The brightness reference value Fs may be preset to a predetermined value. The brightness reference value Fs may be changed based on the data learned by the mobile robot 100.

밝기 기준값(Fs)이 이동 로봇(100)이 학습한 데이터를 근거로 변경되는 일 예를 설명하면 다음과 같다. 밝기 기준값(Fs)은, 이동 로봇(100)이 일 위치에 도착하기 전 최근 n개의 위치에서 각각 감지된 n개의 영상의 밝기 종합값으로 설정될 수 있다. (여기서, n은 2이상의 자연수이다.) 여기서, 이동 로봇(100)의 일 위치는, 상기 밝기 조건의 만족 여부 판단의 근거가 되는 일 영상이 감지된 위치를 의미한다. 또한, 최근 n개의 위치는, 상기 일 영상이 감지되기 전 최근 감지된 n개의 영상에 각각 대응되는 위치들을 의미한다. An example in which the brightness reference value Fs is changed based on the data learned by the mobile robot 100 will be described below. The brightness reference value Fs may be set as a total brightness value of the n images respectively detected at the latest n locations before the mobile robot 100 arrives at one location. Here, n is a natural number of 2 or more. Here, one position of the mobile robot 100 means a position at which one image on which the brightness condition is satisfied is detected. In addition, the recent n positions mean positions corresponding to the recently detected n images before the one image is detected.

상기 n개의 영상의 밝기 종합값이란, n개의 영상의 각각의 밝기 대표값(Fr)들을 대표할 수 있는 값을 의미한다. 일 예로, 상기 밝기 종합값은, n개의 영상의 각각의 밝기 대표값(Fr)들의 평균값일 수 있다. 다른 예로, 상기 밝기 종합값은 n개의 영상의 각각의 밝기 대표값(Fr)들의 중간값 등이 될 수 있다. 또 다른 예로, 상기 밝기 종합값은, n개의 영상의 각각의 밝기 대표값(Fr)들 중 소정치를 초과하거나 소정치 미만인 밝기 대표값(들)을 제외하고 남은 밝기 대표값들의 평균값 또는 중간값일 수도 있다. 또 다른 예로, 상기 밝기 종합값은 n개의 영상의 각각의 밝기 대표값(Fr)들의 상기 평균값 또는 중간값에 보정을 가한 값일 수도 있다.The total brightness values of the n images mean a value that can represent the respective brightness representative values Fr of the n images. For example, the overall brightness value may be an average value of brightness representative values Fr of the n images. As another example, the overall brightness value may be a median value of brightness representative values Fr of the n images. As another example, the brightness total value may be an average value or a median value of the remaining brightness representative values except for the brightness representative value (s) that exceeds or falls below a predetermined value among the brightness representative values Fr of the n images. It may be. As another example, the brightness total value may be a value obtained by correcting the average value or the median value of the brightness representative values Fr of the n images.

밝기 기준값(Fs)이 이동 로봇(100)이 학습한 데이터를 근거로 변경되는 다른 예를 설명하면 다음과 같다. 제어부(140)는, 주행 구역의 각각의 위치에서 SLAM(영상을 통한 위치 인식 및 학습) 동작의 성공 여부에 대한 데이터를 근거로, 밝기 기준값(Fs)을 변경시킬 수 있다.Another example of changing the brightness reference value Fs based on the data learned by the mobile robot 100 is as follows. The controller 140 may change the brightness reference value Fs based on data on whether the SLAM operation is performed at each position of the driving zone.

도 11을 참고하여, 제어부(140)는, ⅰ맵 상의 위치 인식에 성공한 지점들에 각각 대응하는 제 1밝기 대표값(So)들과, ⅱ맵 상의 위치 인식에 실패한 지점들에 각각 대응하는 제 2밝기 대표값(Sx)들을 근거로 하여, 밝기 기준값(Fs)을 변경시킨다. 제어부(140)는, ⅰ상기 제 1밝기 대표값(So)과 ⅱ상기 제 2밝기 대표값들(Sx)이, 상기 밝기 기준값(Fs)을 기준으로 오류(False)가 최소화된 상태로 양분되도록, 밝기 기준값(Fs)을 변경시킬 수 있다. 도 11에서, 제 1밝기 대표값들(So)과 제 2밝기 대표값들(Sx)의 산포를 1차원의 직선상에 도시한 것이다. 여기서, 밝기 기준값(Fs)은 오류(False)를 최소화하는 값으로 설정된다. 여기서, 오류(False)란, 밝기 기준값(Fs)을 초과한 제 2밝기 대표값(Sx) 및 밝기 기준값(Fs)을 넘어서지 못한 제 1밝기 대표값(So)을 의미한다. 상기 오류(False)를 최소화하기 위해서, 밝기 기준값(Fs)이 도 11과 같이 설정된다. 만약 도 11의 밝기 기준값(Fs)이 인접한 제 2밝기 대표값(Sx)보다 작아지거나 인접한 제 1밝기 대표값(So)보다 커지면, 오류(False)의 개수가 늘어나므로, 도 11의 밝기 기준값(Fs)의 설정은 오류(False)가 최소화된 상태로 설정된 것이다. 여기서, 밝기 기준값(Fs)은, 상기 인접한 제 2밝기 대표값(Sx)과 상기 인접한 제 1밝기 대표값(So)의 중간값으로 설정될 수 있다. 제 1밝기 대표값(So) 및/또는 제 2밝기 대표값(Sx)은 추후 학습을 통해 추가될 수 있고, 이에 따라 밝기 기준값(Fs)이 변경될 수 있다.Referring to FIG. 11, the control unit 140 may include first brightness representative values So corresponding to points successfully recognized for position on the map, and points corresponding to positions failing to recognize position on the ii map, respectively. Based on the two brightness representative values Sx, the brightness reference value Fs is changed. The controller 140 is configured such that the first brightness representative value So and ii the second brightness representative values Sx are divided in a state where the error is minimized based on the brightness reference value Fs. , The brightness reference value (Fs) can be changed. In FIG. 11, a distribution of the first brightness representative values So and the second brightness representative values Sx is illustrated on a straight line in one dimension. Here, the brightness reference value Fs is set to a value that minimizes the error (False). Here, the error False means the second brightness representative value Sx exceeding the brightness reference value Fs and the first brightness representative value So that does not exceed the brightness reference value Fs. In order to minimize the error (False), the brightness reference value (Fs) is set as shown in FIG. If the brightness reference value Fs of FIG. 11 is smaller than the adjacent second brightness representative value Sx or larger than the adjacent first brightness representative value So, the number of false increases, and thus the brightness reference value of FIG. Fs) is set to minimize the error. Here, the brightness reference value Fs may be set to an intermediate value between the adjacent second brightness representative value Sx and the adjacent first brightness representative value So. The first brightness representative value So and / or the second brightness representative value Sx may be added through later learning, and thus the brightness reference value Fs may be changed.

밝기 기준값(Fs)이 변경되는 과정을 보다 자세히 설명하면 다음과 같다. 제어부(140)는 임의의 값(s1)을 밝기 기준값(Fs)으로 가정하여 오류(False)의 개수(e1)를 산출하고, 그 후 밝기 기준값(Fs)을 증가 또는 감소된 다른 값(s2)으로 가정하여 오류(False)의 개수(e2)를 산출한다. 산출된 오류(False)의 개수(e1, e2)를 비교하여, 개수(e2)가 개수(e1)보다 줄어들면 밝기 기준값(Fs)의 가정값을 값(s2)로 변경시킨다. 이러한 과정을 반복하여, 오류(False)의 개수가 줄어드는 방향으로 밝기 기준값(Fs)을 수렴시켜, 수렴된 값으로 밝기 기준값(Fs)을 변경시킬 수 있다.The process of changing the brightness reference value Fs will be described in more detail as follows. The controller 140 calculates the number e1 of errors F1 by assuming an arbitrary value s1 as the brightness reference value Fs, and then increases or decreases the brightness reference value Fs by another value s2. It is assumed that the number of errors e2 is calculated. By comparing the calculated number of errors False and e2, if the number e2 is smaller than the number e1, the hypothetical value of the brightness reference value Fs is changed to the value s2. By repeating this process, the brightness reference value Fs may be converged in a direction in which the number of errors is reduced, and the brightness reference value Fs may be changed to the converged value.

도 9를 참고하여 제 1실시예에 따른 제어 방법에서, 이동 로봇(100)의 이동 중 현 위치의 상측 영상을 감지하는 과정(S11)이 진행된다. 상기 과정(S11) 후, 현위치의 상기 영상의 밝기 대표값(Fr)을 생성하는 과정(S21)이 진행된다. 상기 과정(S21) 후, 현위치의 밝기 대표값(Fr)이 밝기 기준값(Fs)보다 작은지 여부를 판단하는 과정(S31)이 진행된다. 상기 과정(S31)에서 밝기 조건이 만족되면, 상기 과정(S50)이 진행되고, 이후 다시 상기 과정(S11)이 진행된다. 상기 과정(S31)에서 밝기 조건이 불만족되면, 상기 과정(S50)없이 다시 상기 과정(S11)이 진행된다.In the control method according to the first embodiment with reference to FIG. 9, a process (S11) of detecting an upper image of a current position during the movement of the mobile robot 100 is performed. After the process S11, a process S21 of generating the brightness representative value Fr of the image at the current position is performed. After the process S21, a process S31 of determining whether the brightness representative value Fr of the current position is smaller than the brightness reference value Fs is performed. When the brightness condition is satisfied in the process S31, the process S50 is performed, and then the process S11 is performed again. If the brightness condition is not satisfied in the step S31, the step S11 is performed again without the step S50.

도 10을 참고하여, 상기 제 1실시예의 시나리오를 설명하면 다음과 같다. 이동 로봇은 일정 시간 간격으로 각 위치에서 상기 영상을 감지한다. 여기서, 밝기 대표값(Fr)의 수치는 조도에 비례하는 값일 수 있다. 본 시나리오에서 밝기 기준값(Fs)은 30으로 설정된다. 일 시점(T)의 일 위치에서 감지된 영상의 밝기 대표값(Fr)은 140이고, 이후 일 시점(T+1)의 일 위치에서 감지된 영상의 밝기 대표값(Fr)은 140이며, 이후 일 시점(T+2)의 일 위치에서 감지된 영상의 밝기 대표값(Fr)은 2로서 급격히 줄어든다. 상기 일 시점(T) 및 일 시점(T+1)의 밝기 대표값(Fr) 140은 밝기 기준값(Fs) 30보다 크므로, 상기 일 시점(T) 및 일 시점(T+1)의 위치들에서 밝기 조건이 불만족된다. 상기 일 시점(T+2)의 밝기 대표값(Fr) 2가 밝기 기준값(Fs) 30보다 작으로므, 상기 일 시점(T+2)의 위치에서 밝기 조건이 만족된다. 이에 따라, 상기 일 시점(T+2)의 일 위치는 특수 구역(As)에 속하는 것으로 학습된다. 이후, 다시 주행 과정(S11)을 수행하며 영상을 획득한다. 그 후, 일 시점(T+a)의 일 위치에서 감지된 영상의 밝기 대표값(Fr)은 100이고, 이후 일 시점(T+a+1)의 일 위치에서 감지된 영상의 밝기 대표값(Fr)은 40이며, 이후 일 시점(T+a+2)의 일 위치에서 감지된 영상의 밝기 대표값(Fr)은 0이다. 상기 일 시점(T+a) 및 일 시점(T+a+1)의 밝기 대표값(Fr) 100 및 40은 밝기 기준값(Fs) 30보다 크므로, 상기 일 시점(T+a) 및 일 시점(T+a+1)의 위치들에서 밝기 조건이 불만족된다. 상기 일 시점(T+a+2)의 밝기 대표값(Fr) 0이 밝기 기준값(Fs) 30보다 작으로므, 상기 일 시점(T+a+2)의 위치에서 밝기 조건이 만족된다. 이에 따라, 상기 일 시점(T+a+2)의 일 위치는 특수 구역(As)에 속하는 것으로 학습된다.Referring to FIG. 10, the scenario of the first embodiment will be described below. The mobile robot detects the image at each location at regular time intervals. Here, the numerical value of the brightness representative value Fr may be a value proportional to the illuminance. In this scenario, the brightness reference value Fs is set to 30. The brightness representative value Fr of the image detected at one position at one time point T is 140, and the brightness representative value Fr of the image detected at one position at one time point T + 1 is 140, after The brightness representative value Fr of the image detected at one position at one time point T + 2 decreases rapidly to two. Since the brightness representative value Fr 140 of the one point T and the one point T + 1 is greater than the brightness reference value Fs 30, the positions of the one point T and the one point T + 1 are represented. The brightness condition is unsatisfactory. Since the brightness representative value Fr 2 of the one time point T + 2 is smaller than the brightness reference value Fs 30, the brightness condition is satisfied at the position of the one time point T + 2. Accordingly, one position of the one time point T + 2 is learned to belong to the special zone As. After that, the driving process (S11) is performed again to obtain an image. Thereafter, the brightness representative value Fr of the image detected at one position at one time point T + a is 100, and thereafter, the brightness representative value of the image detected at one position at one time point T + a + 1 ( Fr) is 40, and the brightness representative value Fr of the image detected at one position at one time point T + a + 2 is zero. Since the brightness representative values Fr 100 and 40 of the one point T + a and the one point T + a + 1 are greater than the brightness reference value Fs 30, the one point T + a and one point The brightness condition is unsatisfactory at the positions of (T + a + 1). Since the brightness representative value Fr 0 of the one time point T + a + 2 is smaller than the brightness reference value Fs 30, the brightness condition is satisfied at the position of the one time point T + a + 2. Accordingly, one position of the one time point T + a + 2 is learned to belong to the special zone As.

이하, 도 12, 도 13 및 도 14를 참고하여, 제 2실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다.Hereinafter, a control method of the mobile robot 100 according to the second embodiment will be described with reference to FIGS. 12, 13, and 14 as follows.

제 2실시예에 따른 상기 구분 조건은, 일 위치에서 감지된 영상의 밝기 대표 벡터(FVr)가 m차원상 연속하는 밝기 기준 벡터군(FVs)을 m차원상에서 넘어서지 않는 밝기 조건(밝기벡터 조건)을 포함한다. 여기서, m은 2이상의 자연수이다. 밝기 대표 벡터(FVr)가 m차원상에서 밝기 기준 벡터군(FVs)을 넘어서지 않으면 상기 밝기 벡터 조건이 만족된다. 밝기 기준 벡터군(FVs)이 m차원상의 공간을 양분할 때, 밝기 대표 벡터(FVr)가 밝기 기준 벡터군(FVs)을 기준으로 기설정된 일측에 존재하면 상기 밝기 벡터 조건이 만족되고, 밝기 대표 벡터(FVr)가 밝기 기준 벡터군(FVs)을 기준으로 타측에 존재하면 상기 밝기 벡터 조건이 불만족된다.The classification condition according to the second embodiment is a brightness condition (brightness vector condition) in which the brightness representative vector (FVr) of the image detected at one position does not exceed the brightness reference vector group (FVs) continuously m-dimensionally (m-dimension). It includes. M is a natural number of 2 or more. If the brightness representative vector FVr does not exceed the brightness reference vector group FVs on the m-dimensionality, the brightness vector condition is satisfied. When the brightness reference vector group FVs divides the m-dimensional space, the brightness vector condition is satisfied when the brightness representative vector FVr exists on one side preset based on the brightness reference vector group FVs. If the vector FVr exists on the other side of the brightness reference vector group FVs, the brightness vector condition is unsatisfactory.

상기 밝기 벡터 조건을 판단하기 위해, 센싱부(120)는 상방의 영상을 감지한다.In order to determine the brightness vector condition, the sensing unit 120 senses an upper image.

도 13을 참고하여, 제 2실시예에 따른 제어부(140)는, 일 영상을 m개의 영역으로 구분한다. 제어부(140)는, 상기 m개의 영역의 각각의 밝기 대표값을 각 차원의 수치로하는 m차원의 밝기 대표 벡터(FVr)를 생성한다. 여기서, 상기 밝기 대표 벡터(FVr)는, 생성된 데이터의 실제 형식과 관계없이, 벡터로 표현될 수 있는 데이터를 의미한다. Referring to FIG. 13, the controller 140 according to the second embodiment divides an image into m regions. The control unit 140 generates an m-dimensional brightness representative vector FVr in which the brightness representative values of the m areas are numerical values of each dimension. Here, the brightness representative vector FVr refers to data that can be represented as a vector, regardless of the actual format of the generated data.

밝기 대표 벡터(FVr)의 각 차원의 수치인 상기 m개의 영역 중 일 영역의 밝기 대표값은, 상기 일 영역의 밝기를 대표할 수 있는 값을 의미한다. 상기 일 영역의 밝기 대표값은 일 영역의 평균 밝기값이다. 다른 예로, 상기 일 영역의 밝기 대표값은 일 영역의 각 소영역별 밝기값들의 중간값 등이 될 수 있다. 또 다른 예로, 상기 일 영역의 밝기 대표값은, 일 영역의 각 소영역별 밝기값들 중 소정치를 초과하거나 소정치 미만인 밝기값(들)을 제외하고 남은 밝기값 들의 평균값 또는 중간값일 수도 있다. 또 다른 예로, 상기 일 영역의 밝기 대표값은 상기 평균값 또는 중간값에 보정을 가한 값일 수도 있다.The brightness representative value of one region among the m regions, which are numerical values of each dimension of the brightness representative vector FVr, means a value that can represent the brightness of the one region. The brightness representative value of the one area is an average brightness value of one area. As another example, the brightness representative value of the one region may be a median value of brightness values of each small region of the one region. As another example, the brightness representative value of the one area may be an average value or a median value of remaining brightness values except for brightness value (s) that exceed or fall below a predetermined value among brightness values of each small area of the one area. As another example, the brightness representative value of the one region may be a value obtained by correcting the average value or the median value.

밝기 기준 벡터군(FVs)은 밝기 대표값(Fr)의 비교 대상이 되는 벡터의 집합을 의미한다. 밝기 기준 벡터군(FVs)은 m차원상의 한계치(threshold)이다. 밝기 기준 벡터군(FVs)은 상기 구분 기준이 된다. 밝기 기준 벡터군(FVs)은 일정 값으로 기설정될 수 있다. 밝기 기준 벡터군(FVs)은, 이동 로봇(100)이 학습한 데이터를 근거로 변경될 수도 있다.The brightness reference vector group FVs means a set of vectors to which the brightness representative value Fr is compared. The brightness reference vector group FVs is a threshold on the m-dimensional surface. Brightness reference vector group FVs becomes the said division reference. The brightness reference vector group FVs may be preset to a predetermined value. The brightness reference vector group FVs may be changed based on the data learned by the mobile robot 100.

밝기 기준 벡터군(FVs)이 이동 로봇(100)이 학습한 데이터를 근거로 변경되는 일 예를 설명하면 다음과 같다. 제어부(140)는, 주행 구역의 각각의 위치에서 SLAM(영상을 통한 위치 인식 및 학습) 동작의 성공 여부에 대한 데이터를 근거로, 밝기 기준 벡터군(FVs)을 변경시킬 수 있다.An example in which the brightness reference vector group FVs is changed based on the data learned by the mobile robot 100 will be described below. The controller 140 may change the brightness reference vector group FVs based on data on whether the SLAM operation is performed at each location of the driving zone.

도 14를 참고하여, 제어부(140)는, ⅰ맵 상의 위치 인식에 성공한 지점들에 각각 대응하는 제 1밝기 대표 벡터들(So)과, ⅱ맵 상의 위치 인식에 실패한 지점들에 각각 대응하는 제 2밝기 대표 벡터들(Sx)을 근거로 하여, 밝기 기준 벡터군(FVs)을 변경시킨다. 제어부(140)는, ⅰ맵 상의 위치 인식에 성공한 지점들에 각각 대응하는 제 1밝기 대표 벡터들(So)과 ⅱ맵 상의 위치 인식에 실패한 지점들에 각각 대응하는 제 2밝기 대표 벡터들(Sx)이, 밝기 기준 벡터군(FVs)을 기준으로 오류(False)가 최소화된 상태로 양분되도록, 밝기 기준 벡터군(FVs)을 변경시킬 수 있다. 도 14는, 표현의 편의상 m차원 벡터 중 2개의 차원만 추출하여 도시한 개념도이나, 실제로는 m차원의 공간 상에서 밝기 기준 벡터군(FVs), 제 1밝기 대표 벡터들(So) 및 제 2밝기 대표 벡터들(Sx)이 배치된다. 여기서, 밝기 기준값(Fs)은 오류(False)를 최소화하는 값으로 설정된다. 여기서, 오류(False)란, 밝기 기준 벡터군(FVs)을 넘어선 제 2밝기 대표 벡터(Sx) 및 밝기 기준 벡터군(FVs)을 넘어서지 못한 제 1밝기 대표 벡터(So)를 의미한다. Referring to FIG. 14, the controller 140 may include first brightness representative vectors So respectively corresponding to the points that successfully recognize the position on the map, and second points corresponding to the points that fail to recognize the position on the ii map. The brightness reference vector group FVs is changed based on the two brightness representative vectors Sx. The controller 140 may include first brightness representative vectors So corresponding to the points that successfully recognize the position on the m-map and second brightness representative vectors Sx respectively corresponding to the points that fail to recognize the position on the ii map. ) May change the brightness reference vector group FVs so that the error is divided into a state where the error is minimized based on the brightness reference vector group FVs. FIG. 14 is a conceptual diagram illustrating only two dimensions of m-dimensional vectors for convenience of expression, but in fact, in the m-dimensional space, the brightness reference vector group FVs, the first brightness representative vectors So, and the second brightness are shown. Representative vectors Sx are disposed. Here, the brightness reference value Fs is set to a value that minimizes the error (False). Here, the error False means the second brightness representative vector Sx that exceeds the brightness reference vector group FVs and the first brightness representative vector So that does not exceed the brightness reference vector group FVs.

여기서, 밝기 기준 벡터군(FVs)은, 상기 인접한 제 2밝기 대표 벡터(Sx)와 상기 인접한 제 1밝기 대표 벡터(So)의 중간값으로 설정될 수 있다. 제 1밝기 대표 벡터(So) 및/또는 제 2밝기 대표 벡터(Sx)는 추후 학습을 통해 추가될 수 있고, 이에 따라 밝기 기준 벡터군(FVs)이 변경될 수 있다.Here, the brightness reference vector group FVs may be set to a median value between the adjacent second brightness representative vector Sx and the adjacent first brightness representative vector So. The first brightness representative vector So and / or the second brightness representative vector Sx may be added through later learning, and thus the brightness reference vector group FVs may be changed.

예를 들어, 밝기 기준 벡터군(FVs)은 기준 함수 f(f1, f2, f3, f4, f5, f6)=0으로 표현될 수 있고, 상기 기준 함수에 제 1밝기 대표 벡터(So)를 입력할 때 f(f1, f2, f3, f4, f5, f6)<0이 나오는 오류(False) 및 상기 기준 함수에 제 2밝기 대표 벡터(Sx)를 입력할 때 f(f1, f2, f3, f4, f5, f6)>0 오류(False)를 최소화하도록, 상기 기준 함수를 구성하는 계수들이 변경될 수 있다. 상기 오류(False)를 최소화하기 위해서, 밝기 기준 벡터군(FVs)이 도 14와 같이 설정된다. 밝기 기준 벡터군(FVs)은, 선형적인 상기 기준 함수에 의해 정의될 수 있다.For example, the brightness reference vector group FVs may be represented by a reference function f (f1, f2, f3, f4, f5, f6) = 0, and the first brightness representative vector So is input to the reference function. Error (False) with f (f1, f2, f3, f4, f5, f6) <0 and f (f1, f2, f3, f4 when inputting the second brightness representative vector (Sx) to the reference function. , f5, f6)> 0 Coefficients constituting the reference function may be changed to minimize the false (False). In order to minimize the error (False), the brightness reference vector group (FVs) is set as shown in FIG. The brightness reference vector group FVs may be defined by the linear reference function.

밝기 기준 벡터군(FVs)이 변경되는 과정을 보다 자세히 설명하면 다음과 같다. 제어부(140)는, 임의의 계수(s1)를 가정한 상기 기준 함수를 밝기 기준 벡터군(FVs)으로 하여 오류(False)의 개수(e1)를 산출하고, 상기 기준 함수의 계수를 증가 또는 감소된 다른 값(s2)으로 가정하여 오류(False)의 개수(e2)를 산출한다. 산출된 오류(False)의 개수(e1, e2)를 비교하여, 개수(e2)가 개수(e1)보다 줄어들면, 상기 기준 함수의 상기 계수의 가정값을 값(s2)로 변경시킨다. 상기 기준 함수의 복수의 계수의 각각의 가정값을 위와 같은 방법으로 변경시킬 수 있다. 이러한 과정을 반복하여, 오류(False)의 개수가 줄어드는 방향으로 밝기 기준 벡터군(FVs)을 수렴시켜, 수렴된 값으로 밝기 기준 벡터군(FVs)을 변경시킬 수 있다.The process of changing the brightness reference vector group (FVs) will be described in more detail as follows. The control unit 140 calculates the number of errors e1 using the reference function assuming the arbitrary coefficient s1 as the brightness reference vector group FVs, and increases or decreases the coefficient of the reference function. Assuming a different value s2, the number e2 of errors is calculated. By comparing the calculated number of errors (e1, e2), if the number e2 is smaller than the number e1, the hypothesized value of the coefficient of the reference function is changed to the value s2. Each hypothesis of the plurality of coefficients of the reference function may be changed in the above manner. By repeating this process, the brightness reference vector group FVs may be converged in a direction in which the number of errors is reduced, and the brightness reference vector group FVs may be changed to the converged value.

도 12를 참고하여 제 2실시예에 따른 제어 방법에서, 이동 로봇(100)의 이동 중 현 위치의 상측 영상을 감지하는 과정(S11)이 진행된다. 상기 과정(S11) 후, 현 위치의 상기 영상의 밝기 대표 벡터(FVr)를 생성하는 과정(S22)이 진행된다. 상기 과정(S22) 후, 현위치의 밝기 대표 벡터(FVr)가 밝기 기준 벡터군(FVs)을 넘어서지 않는지 판단하는 과정(S32)이 진행된다. 상기 과정(S32)에서 상기 밝기 벡터 조건이 만족되면, 상기 과정(S50)이 진행되고, 이후 다시 상기 과정(S11)이 진행된다. 상기 과정(S31)에서 상기 밝기 벡터 조건이 불만족되면, 상기 과정(S50)없이 다시 상기 과정(S11)이 진행된다.In the control method according to the second embodiment with reference to FIG. 12, a process (S11) of detecting an upper image of a current position during the movement of the mobile robot 100 is performed. After the process S11, a process S22 of generating the brightness representative vector FVr of the image at the current position is performed. After the process S22, the process of determining whether the brightness representative vector FVr at the current position does not exceed the brightness reference vector group FVs is performed (S32). If the brightness vector condition is satisfied in step S32, step S50 is performed, and then step S11 is performed again. If the brightness vector condition is unsatisfactory in step S31, step S11 is performed again without step S50.

도 15 내지 도 18을 참고하여, 제 3 내지 6실시예에 따른 상기 구분 조건은, ⅰ일 위치에서 감지된 영상에서 특징점이 추출되지 않는 특징점 조건, ⅱ 일 위치에서 감지된 영상이 최근 p개의 위치에서 각각 감지된 p개의 영상과 소정 기준치 이상으로 매칭되지 않는 영상 조건, 및 ⅲ 최근 q개의 위치에서 각각 감지된 q개의 영상으로부터 생성된 3D 포인트가 일 위치에서 감지된 영상에서 소정 기준치 이상 인식되지 않는 3D 포인트 조건 중, 적어도 하나를 포함한다. 여기서, p는 자연수이고, q는 2이상의 자연수이다. 제 3 내지 6실시예에 따른 상기 구분 조건은, ⅰ상기 특징점 조건이 연속하는 x개의 위치에서 모두 만족하는 조건, ⅱ상기 영상 조건이 연속하는 y개의 위치에서 모두 만족하는 조건, 및 ⅲ상기 3D 포인트 조건이 연속하는 z개의 위치에서 모두 만족하는 조건 중 적어도 하나를 포함할 수 있다. 여기서, x, y 및 z는 자연수이다.15 to 18, the classification condition according to the third to sixth embodiments may include a feature point condition in which the feature point is not extracted from the image detected at the single location, and ii the p position of the image detected at the one location. An image condition that does not match each of the p images detected at &lt; RTI ID = 0.0 &gt; and &lt; / RTI &gt; At least one of 3D point conditions is included. Where p is a natural number and q is a natural number of two or more. The division conditions according to the third to sixth embodiments may include a condition that all of the feature point conditions are satisfied at x consecutive positions, ii a condition that the image condition satisfies all y consecutive positions, and the 3D point. The condition may include at least one of conditions satisfying all of the consecutive z positions. Where x, y and z are natural numbers.

상기 특징점 조건을 판단하기 위해, 센싱부(120)는 상방의 영상을 감지한다. 상기 영상 조건을 판단하기 위해, 센싱부(120)는 상방의 영상을 감지한다. 상기 3D 포인트 조건을 판단하기 위해, 센싱부(120)는 상방의 영상을 감지한다.In order to determine the feature point condition, the sensing unit 120 senses an upper image. In order to determine the image condition, the sensing unit 120 detects an image from above. In order to determine the 3D point condition, the sensing unit 120 detects an upper image.

이하, 도 15를 참고하여, 제 3실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다.Hereinafter, a control method of the mobile robot 100 according to the third embodiment will be described with reference to FIG. 15.

제 3실시예에 따른 상기 구분 조건은, 일 위치에서 감지된 영상에서 특징점이 추출되지 않는 특징점 조건을 포함한다. 상기 특징점 조건은, 제어부(140)가 SIFT 등의 기설정된 특징점 추출 방법에 의해서, 일 위치의 영상에서 특징점을 추출하지 못하는 조건이다. 일 위치의 영상에서 특징점을 추출하지 못하면, 상기 특징점 조건이 만족된다.The classification condition according to the third embodiment includes a feature point condition in which the feature point is not extracted from the image detected at one location. The feature point condition is a condition in which the controller 140 cannot extract the feature point from an image of one position by a predetermined feature point extraction method such as SIFT. If the feature point is not extracted from the image of one position, the feature point condition is satisfied.

SIFT(Scale Invariant Feature Transform) 기법은 영상 내 특징점을 디스크립터(descriptor)로 변환하는 방법이다. 예를들면, SIFT는 영상에서 코너점 등 식별이 용이한 특징점들을 선택한 후, 각 특징점들 주변의 일정한 구역에 속한 픽셀들의 밝기 구배(gradient)의 분포 특성(밝기 변화의 방향 및 변화의 급격한 정도)에 대해, 각 방향에 대한 변화의 급격한 정도를 각 차원에 대한 수치로 하는 n차원 벡터(vector)를 구하는 영상인식기법이다. SIFT는 촬영 대상의 스케일(scale), 회전, 밝기변화에 대해서 불변하는 특징을 검출할 수 있어, 같은 영역을 로봇 청소기(100)의 자세를 달리하며 촬영하더라도 불변하는(즉, 회전 불변한(Rotation-invariant)) 특징을 검출할 수 있다. 물론, 영상 내 특징점 추출을 위하여, 이에 한정되지 않고 다른 다양한 기법(예를들어, HOG: Histogram of Oriented Gradient, Haar feature, Fems, LBP:Local Binary Pattern, MCT:Modified Census Transform)들이 적용될 수도 있다.The Scale Invariant Feature Transform (SIFT) technique is a method of transforming feature points in an image into a descriptor. For example, SIFT selects easy-to-identify feature points such as corner points in an image, and then distributes the gradients of brightness gradients of pixels belonging to a certain area around each feature point (the direction of the change in brightness and the degree of change of brightness). Is an image recognition technique that obtains an n-dimensional vector whose value is a numerical value for each dimension as a sudden degree of change in each direction. SIFT can detect invariant features of scale, rotation, and brightness change of a photographing target, and thus the same area is unchanged even when the robot cleaner 100 is photographed with different postures (ie, rotation invariant (Rotation) -invariant)) feature can be detected. Of course, for extracting feature points in an image, other various techniques (eg, HOG: Histogram of Oriented Gradient, Haar feature, Fems, LBP: Local Binary Pattern, MCT: Modified Census Transform) may be applied.

상기 구분 조건은, 상기 특징점 조건이 연속하는 x개의 위치에서 모두 만족하는 조건(추가 특징점 조건)을 포함할 수 있다. 여기서, x는 2이상의 자연수이다. 예를 들어, x=3일 때, 일 시점(T)의 일 위치에서 감지된 영상 내 특징점이 추출되지 않고, 그 다음으로 촬영된 일 시점(T+1)의 일 위치에서 감지된 영상 내 특징점이 추출되지 않으며, 그 다음으로 촬영된 일 시점(T+2)의 일 위치에서 감지된 영상 내 특징점이 추출되지 않으면, 상기 추가 특징점 조건이 만족된다.The classification condition may include a condition (additional feature point condition) that all of the feature point conditions satisfy at x consecutive positions. Where x is a natural number of two or more. For example, when x = 3, the feature point in the image detected at one position of one point in time T is not extracted, and the feature point in the image detected at one position in the next captured point in time T + 1. Is not extracted, and if the feature point in the image sensed at one position of the next photographed time point T + 2 is not extracted, the additional feature point condition is satisfied.

도 15를 참고하여 제 3실시예에 따른 제어 방법에서, 먼저, i값이 0으로 설정되는 과정(S33a)이 진행된다. 그 후, 이동 로봇(100)의 이동 중 현 위치의 상측 영상을 감지하는 과정(S11)이 진행된다. 상기 과정(S11) 후, 현위치의 영상 내 특징점 개수가 0인지 여부를 판단하는 과정(S33b)이 진행된다. 상기 과정(S33b)에서 상기 특징점 조건이 만족되면, i값이 +1 증가하고(S33c), 증가된 i값이 x값과 일치하는지 여부를 판단하는 과정(S33d)이 진행된다. 상기 과정(33d)에서 i값이 x값과 일치하지 않으면, 다시 상기 과정(S11)부터 진행된다. 연속적으로 x회 상기 특징점 조건이 만족하면, 상기 과정(S33c)이 x회 반복되므로 i값은 x값이 된다. 상기 과정(S33d)에서 i값이 x값과 일치하면, 현 위치가 특수 구역(As)에 속하는 것으로 학습하는 과정(S50)이 진행된다. 주행이 종료되지 않은 상태에서(S80), 상기 과정(S50) 이후, i값이 0으로 재설정되고(S33a), 상기 과정(S11)부터 다시 진행된다. 상기 과정(S33b)에서 특징점 조건이 불만족되면(현위치의 영상내 특징점이 추출되면), 상기 과정(S50)없이, i값이 0으로 설정되는 상기 과정(S33a)부터 다시 진행된다.In the control method according to the third embodiment with reference to FIG. 15, first, a process (S33a) of setting the i value to 0 is performed. Thereafter, a process (S11) of detecting an upper image of the current position during the movement of the mobile robot 100 is performed. After the process S11, a process of determining whether the number of feature points in the image of the current position is 0 is performed (S33b). If the feature point condition is satisfied in the step S33b, the i value increases by +1 (S33c), and a process of determining whether the increased i value matches the x value is performed (S33d). If the i value does not coincide with the x value in step 33d, the process proceeds from step S11 again. If the feature point condition is satisfied x times in succession, the process (S33c) is repeated x times, so the i value becomes the x value. If the i value coincides with the x value in the process S33d, the process S50 of learning that the current position belongs to the special zone As is performed. In the state where the driving is not finished (S80), after the step S50, the i value is reset to 0 (S33a), and proceeds again from the step S11. If the feature point condition is not satisfied in the process (S33b) (when the feature point in the image of the current position is extracted), the process proceeds again from the process (S33a) where the i value is set to 0 without the process (S50).

이하, 도 16을 참고하여, 제 4실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다.Hereinafter, referring to FIG. 16, a control method of the mobile robot 100 according to the fourth embodiment is as follows.

제 4실시예에 따른 상기 구분 조건은, 일 위치에서 감지된 영상이 최근 p개의 위치에서 각각 감지된 p개의 영상과 소정 기준치 이상으로 매칭되지 않는 영상 조건을 포함한다. 여기서, p는 자연수이다. 예를 들어, '일 위치에서 감지된 영상'과 '상기 p개의 영상' 사이 각각의 유사도를 산출하고, 산출된 유사도들 모두가 소정치 미만이면, 상기 추가 영상 조건이 만족된다. 두 영상간의 유사도 판단을 위해서, 공지된 다양한 수단을 이용할 수 있다.The classification condition according to the fourth embodiment includes an image condition in which an image detected at one position does not match the p images detected at the latest p positions, respectively, by more than a predetermined reference value. Where p is a natural number. For example, when the similarity is calculated between the 'image detected at one position' and the 'p images', and all of the calculated similarities are less than a predetermined value, the additional image condition is satisfied. In order to determine similarity between two images, various known means may be used.

상기 구분 조건은, 상기 영상 조건이 연속하는 y개의 위치에서 모두 만족하는 조건(추가 영상 조건)을 포함할 수 있다. 여기서, y는 2이상의 자연수이다. 예를 들어, y=3일 때, 일 시점(T)의 일 위치에서 감지된 영상을 기준으로 상기 영상 조건이 만족되고, 그 다음으로 촬영된 일 시점(T+1)의 일 위치에서 감지된 영상을 기준으로 상기 영상 조건이 만족되고, 그 다음으로 촬영된 일 시점(T+2)의 일 위치에서 감지된 영상을 기준으로 상기 영상 조건이 만족되면, 상기 추가 영상 조건이 만족된다.The classification condition may include a condition (additional image condition) in which the image condition satisfies all y consecutive positions. Here, y is a natural number of two or more. For example, when y = 3, the image condition is satisfied based on the image detected at one position of one point in time T, and then detected at one position of one point in time T + 1 captured next. The additional image condition is satisfied when the image condition is satisfied based on an image and the image condition is satisfied based on an image sensed at a position at a time point T + 2 captured next.

도 16을 참고하여 제 4실시예에 따른 제어 방법에서, 먼저, j값이 0으로 설정되는 과정(S34a)이 진행된다. 그 후, 이동 로봇(100)의 이동 중 현 위치의 상측 영상을 감지하는 과정(S11)이 진행된다. 상기 과정(S11) 후, 현위치의 영상과 최근 p개 영상의 매칭 실패 여부를 판단하는 과정(S34b)이 진행된다. 상기 과정(S34b)에서 상기 영상 조건이 만족되면, j값이 +1 증가하고(S34c), 증가된 j값이 y값과 일치하는지 여부를 판단하는 과정(S34d)이 진행된다. 상기 과정(34d)에서 j값이 y값과 일치하지 않으면, 다시 상기 과정(S11)부터 진행된다. 연속적으로 y회 상기 특징점 조건이 만족하면, 상기 과정(S34c)이 y회 반복되므로 j값은 y값이 된다. 상기 과정(S34d)에서 j값이 y값과 일치하면, 현 위치가 특수 구역(As)에 속하는 것으로 학습하는 과정(S50)이 진행된다. 주행이 종료되지 않은 상태에서(S80), 상기 과정(S50) 이후, j값이 0으로 재설정되고(S34a), 상기 과정(S11)부터 다시 진행된다. 상기 과정(S34b)에서 영상 조건이 불만족되면, 상기 과정(S50)없이, j값이 0으로 설정되는 상기 과정(S34a)부터 다시 진행된다.In the control method according to the fourth embodiment with reference to FIG. 16, first, a process (S34a) of setting a j value to 0 is performed. Thereafter, a process (S11) of detecting an upper image of the current position during the movement of the mobile robot 100 is performed. After the process S11, a process (S34b) of determining whether or not the matching of the current position of the image and the recent p images is in progress. When the image condition is satisfied in the step S34b, the j value increases by +1 (S34c), and a process of determining whether the increased j value matches the y value is performed (S34d). If the j value does not coincide with the y value in step 34d, the process proceeds again from step S11. If the feature point condition is satisfied y times in succession, the process (S34c) is repeated y times so that the j value becomes the y value. If the j value coincides with the y value in the process S34d, the process S50 of learning that the current position belongs to the special zone As is performed. In the state where the driving is not finished (S80), after the step S50, the j value is reset to 0 (S34a), and proceeds again from the step S11. If the image condition is not satisfied in the step S34b, the process proceeds again from the step S34a in which the j value is set to 0 without the step S50.

이하, 도 17을 참고하여, 제 5실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다.Hereinafter, a control method of the mobile robot 100 according to the fifth embodiment will be described with reference to FIG. 17.

제 5실시예에 따른 상기 구분 조건은, 최근 q개의 위치에서 각각 감지된 q개의 영상으로부터 생성된 3D 포인트가 일 위치에서 감지된 영상에서 소정 기준치 이상 인식되지 않는 3D 포인트 조건을 포함한다. 여기서, q는 2이상의 자연수이다. 예를 들어, 상기 3차원 지도를 만드는 과정을 통해, 3D 포인트(들)를 생성할 수 있다. q개의 서로 다른 영상에서 인식된 특징점의 위치차를 이용하여, 3D 포인트(들)를 생성할 수 있다. 예를 들어, 일 위치의 영상에서 기 생성된 3D 포인트가 인식되는지 여부를 판단할 수 있다. 일 위치의 영상에서, q개의 영상으로부터 기생성된 복수의 3D 포인트와 매칭되는 특징점이 C개 미만이면, 상기 3D 포인트 조건이 만족된다. 여기서, C는 자연수이다.The classification condition according to the fifth embodiment includes a 3D point condition in which a 3D point generated from q images recently detected at q locations is not recognized above a predetermined reference value in the image detected at one location. Where q is a natural number of 2 or more. For example, 3D point (s) may be generated by creating the 3D map. 3D point (s) may be generated by using the positional difference between the feature points recognized in q different images. For example, it may be determined whether a pre-generated 3D point is recognized in an image of one location. In the image at one position, if the feature point matching the plurality of 3D points generated from q images is less than C, the 3D point condition is satisfied. Where C is a natural number.

상기 구분 조건은, 상기 3D 포인트 조건이 연속하는 z개의 위치에서 모두 만족하는 조건(추가 3D 포인트 조건)을 포함할 수 있다. 여기서 z는 2이상의 자연수이다. 예를 들어, z=3일 때, 일 시점(T)의 일 위치에서 감지된 영상을 기준으로 상기 3D 포인트 조건이 만족되고, 그 다음으로 촬영된 일 시점(T+1)의 일 위치에서 감지된 영상을 기준으로 상기 3D 포인트 조건이 만족되고, 그 다음으로 촬영된 일 시점(T+2)의 일 위치에서 감지된 영상을 기준으로 상기 3D 포인트 조건이 만족되면, 상기 추가 3D 포인트 조건이 만족된다.The classification condition may include a condition (additional 3D point condition) that all of the 3D point conditions satisfy at z consecutive positions. Where z is a natural number of two or more. For example, when z = 3, the 3D point condition is satisfied based on an image detected at one position of one point in time T, and then detected at one position of one point of time T + 1 captured next. If the 3D point condition is satisfied based on the captured image and the 3D point condition is satisfied based on the image detected at one position of the next time point (T + 2), the additional 3D point condition is satisfied. do.

도 17을 참고하여 제 5실시예에 따른 제어 방법에서, 먼저, k값이 0으로 설정되는 과정(S35a)이 진행된다. 그 후, 이동 로봇(100)의 이동 중 최근 q개의 영상으로부터 3D 포인트를 생성하는 과정(S35b)이 진행된다. 그 후, 이동 중 현 위치의 상측 영상을 감지하는 과정(S11)이 진행된다. 상기 과정(S11) 후, 현 위치의 영상에서 상기 3D 포인트에 매칭되는 특징점 개수가 C개 미만인지 여부를 판단하는 과정(S35c)이 진행된다. (여기서, C는 자연수임.) 상기 과정(S35c)에서 상기 3D 포인트 조건이 만족되면, k값이 +1 증가하고(S35d), 증가된 k값이 z값과 일치하는지 여부를 판단하는 과정(S35e)이 진행된다. 상기 과정(35e)에서 k값이 z값과 일치하지 않으면, 다시 상기 과정(S35b)부터 진행된다. 연속적으로 z회 상기 특징점 조건이 만족하면, 상기 과정(S35d)이 z회 반복되므로 k값은 z값이 된다. 상기 과정(S35e)에서 k값이 z값과 일치하면, 현 위치가 특수 구역(As)에 속하는 것으로 학습하는 과정(S50)이 진행된다. 주행이 종료되지 않은 상태에서(S80), 상기 과정(S50) 이후, k값이 0으로 재설정되고(S35a), 상기 과정(S35b)부터 다시 진행된다. 상기 과정(S35c)에서 3D 포인트 조건이 불만족되면, 상기 과정(S50)없이, k값이 0으로 설정되는 상기 과정(S35a)부터 다시 진행된다.In the control method according to the fifth embodiment with reference to FIG. 17, first, a process (S35a) of setting a k value to 0 is performed. Thereafter, a process (S35b) of generating 3D points from the latest q images during the movement of the mobile robot 100 is performed. Thereafter, a process (S11) of detecting an upper image of the current position during the movement is performed. After the process S11, the process of determining whether the number of feature points matching the 3D point in the image of the current position is less than C (S35c) is performed. (Where C is a natural number) In step S35c, if the 3D point condition is satisfied, a value of k increases by +1 (S35d) and a process of determining whether the increased k value coincides with the value of z ( S35e) proceeds. If the k value does not coincide with the z value in the process 35e, the process proceeds again from the process S35b. If the feature point condition is satisfied z times in succession, the process (S35d) is repeated z times, so the k value becomes a z value. If the k value coincides with the z value in the process S35e, the process S50 of learning that the current position belongs to the special zone As is performed. In the state in which the driving is not finished (S80), after the process S50, the k value is reset to 0 (S35a), and proceeds again from the process (S35b). If the 3D point condition is not satisfied in the process S35c, the process proceeds again from the process S35a in which the k value is set to 0 without the process S50.

이하, 도 18을 참고하여 제 6실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다.Hereinafter, a control method of the mobile robot 100 according to the sixth embodiment will be described with reference to FIG. 18.

제 6실시예에 따른 상기 구분 조건은, ⅰ 상기 특징점 조건, ⅱ 상기 영상 조건, 및 ⅲ 상기 3D 포인트 조건 중 적어도 하나를 만족하는 제 1조건을 포함한다. 상기 구분 조건은, 상기 제 1조건 및 상기 밝기 조건이 모두 만족하는 조건을 포함한다. 상기 제 1조건은, ⅰ 상기 추가 특징점 조건, ⅱ 상기 추가 영상 조건, 및 ⅲ 상기 추가 3D 포인트 조건 중 적어도 하나를 만족하는 조건일 수도 있다. The classification condition according to the sixth embodiment includes a first condition that satisfies at least one of the feature point condition, the image condition, and the 3D point condition. The classification condition includes a condition in which both the first condition and the brightness condition are satisfied. The first condition may be a condition satisfying at least one of 하나 the additional feature point condition, ii the additional image condition, and, the additional 3D point condition.

도 18을 참고하여 제 6실시예에 따른 제어 방법에서, 먼저 이동 중 현 위치의 상측 영상을 감지하는 과정(S11)이 진행된다. 그 후, 상기 특징점 조건(또는 상기 추가 특징점 조건)의 만족 여부를 판단하는 과정(S33)이 진행된다. 상기 과정(S33)에서 상기 특징점 조건이 불만족되면, 상기 영상 조건(상기 추가 영상 조건)의 만족 여부를 판단하는 과정(S34)이 진행된다. 상기 과정(S34)에서 상기 영상 조건이 불만족되면, 상기 3D 포인트 조건(상기 추가 3D 포인트 조건)의 만족 여부를 판단하는 과정(S35)이 진행된다. 주행이 종료되지 않은 상태에서(S80), 상기 과정(S35)에서 상기 3D 포인트 조건이 불만족되면, 상기 과정(S11)부터 다시 진행된다. 즉, 상기 제 1조건이 불만족되면, 특수 구역(As)의 학습 없이 상기 과정(S11)부터 다시 진행된다. 상기 과정들(S33, S34, S35) 중 적어도 어느 하나의 과정에서, ⅰ 상기 특징점 조건, ⅱ 상기 영상 조건, 및 ⅲ 상기 3D 포인트 조건 중 적어도 하나가 만족되면, 상기 밝기 조건의 만족 여부를 판단하는 과정(S31 or S32)이 진행된다. 여기서, 상기 밝기 조건의 만족 여부를 판단하는 과정은, 상기 과정(S31 ) 및 상기 과정(S32) 중 어느 하나로 기설정될 수 있다. 상기 과정(S31 or S32)에서 상기 밝기 조건이 만족되면, 현 위치가 특수 구역(As)에 속하는 것으로 학습하는 과정(S50)이 진행된다. 그 후, 주행이 종료되지 않은 상태에서(S80), 상기 과정(S11)부터 다시 진행된다.In the control method according to the sixth embodiment with reference to FIG. 18, a process (S11) of first detecting an upper image of a current position during a movement is performed. Thereafter, the process of determining whether the feature point condition (or the additional feature point condition) is satisfied (S33) is performed. If the feature point condition is unsatisfactory in step S33, a step S34 of determining whether the image condition (the additional image condition) is satisfied is performed. If the image condition is unsatisfactory in the step S34, the process of determining whether the 3D point condition (the additional 3D point condition) is satisfied (S35) is performed. When the driving is not finished (S80), if the 3D point condition is not satisfied in the process (S35), the process proceeds again from the process (S11). That is, if the first condition is not satisfied, the process proceeds again from the process S11 without learning the special zone As. In at least one of the processes S33, S34, and S35, if at least one of the feature point condition, the image condition, and the 3D point condition is satisfied, the brightness condition is determined. Process S31 or S32 is performed. Here, the process of determining whether the brightness condition is satisfied may be preset to any one of the process S31 and the process S32. When the brightness condition is satisfied in the process S31 or S32, a process S50 of learning that the current position belongs to the special zone As is performed. Thereafter, in the state in which the driving is not finished (S80), the process proceeds again from the process S11.

도시되진 않았으나, 제 7실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다.Although not shown, a control method of the mobile robot 100 according to the seventh embodiment will be described below.

제 7실시예에 따른 상기 구분 조건은, 일 위치에서 감지된 거리값(Dr)이 거리 기준값(Ds)보다 작은 거리 조건을 포함한다. 거리값(Dr)이 거리 기준값(Ds)보다 작으면 상기 거리 조건이 만족된다.The classification condition according to the seventh embodiment includes a distance condition in which the distance value Dr detected at one position is smaller than the distance reference value Ds. If the distance value Dr is smaller than the distance reference value Ds, the distance condition is satisfied.

상기 거리 조건을 판단하기 위해, 센싱부(120)는 상방의 외부 물체까지의 거리를 감지한다.In order to determine the distance condition, the sensing unit 120 detects a distance to an upper external object.

거리 기준값(Ds)은 거리값(Dr)의 비교 대상이 되는 값을 의미한다. 거리 기준값(Ds)은 상기 구분 기준이 된다. 거리 기준값(Ds)은 일정 값으로 기설정될 수 있다.The distance reference value Ds means a value to be compared with the distance value Dr. The distance reference value Ds becomes the said division reference. The distance reference value Ds may be preset to a predetermined value.

제 7실시예에 따른 제어 방법에서, 이동 로봇(100)의 이동 중 현 위치의 상측 물체까지의 거리값(Dr)을 감지하는 과정(S11)이 진행된다. 그 후, 현위치의 상기 거리값(Dr)이 거리 기준값(Ds)보다 작은지 여부를 판단하는 과정(미도시)이 진행된다. 상기 거리 조건이 만족되면, 상기 과정(S50)이 진행된다. 이후 다시 상기 과정(S11)이 진행된다. 상기 거리 조건이 불만족되면, 상기 과정(S50)없이 다시 상기 과정(S11)이 진행된다.In the control method according to the seventh exemplary embodiment, a process (S11) of detecting a distance value Dr to an upper object of a current position during the movement of the mobile robot 100 is performed. Thereafter, a process (not shown) for determining whether the distance value Dr at the current position is smaller than the distance reference value Ds is performed. If the distance condition is satisfied, the process (S50) proceeds. Thereafter, the process S11 is performed again. If the distance condition is not satisfied, the process S11 is performed again without the process S50.

이하, 이동 로봇(100)이 특수 구역(As)을 학습하여 활용하는 실시예들을 설명한다. Hereinafter, embodiments in which the mobile robot 100 learns and utilizes a special zone As are described.

일 예로, 특수 구역(As)을 발견하면(특수 구역을 최초로 인식하면), 상술한 탈출 이동이 진행될 수 있다.For example, if a special zone As is found (first recognition of the special zone), the above-described escape movement may proceed.

다른 예로, 제어부(140)는, 주행 구역 중 특수 구역(As)이 아닌 일반 구역(Ag)을 소정의 일반 모드로 관리하고, 특수 구역(As)을 상기 일반 모드와 다른 소정의 특수 모드로 관리하게 제어할 수 있다.As another example, the controller 140 manages the general zone Ag, not the special zone As, of the driving zone in a predetermined general mode, and manages the special zone As in a predetermined special mode different from the normal mode. Can be controlled.

상기 일반 모드 및 특수 모드는, 주행 계획(일정)에서 차이가 있을 수 있다. 제어부(140)는, ⅰ특수 구역(As) 및 ⅱ일반 구역(Ag) 중, 어느 하나보다 다른 하나에서 먼저 주행하게 하거나 어느 하나에서만 주행하게 제어할 수 있다. 예를 들어, 1회의 주행시 일반 구역(Ag)을 먼저 주행하고 특수 구역(As)을 나중에 주행하게 설정될 수도 있고, 1회의 주행시 일반 구역(Ag)만 주행하게 설정될 수도 있다.The normal mode and the special mode may differ in a driving plan (schedule). The control unit 140 may control the vehicle to travel ahead of any one of the ⅰspecial zone As and the ii general zone Ag or to travel only in any one of them. For example, in one driving, the general zone Ag may be driven first and the special zone As may be driven later, or in one driving, the general zone Ag may be set to travel.

일반 모드 및 특수 모드는, 주행 모드에서 차이가 있을 수 있다. 제어부(140)는, ⅰ특수 구역(As) 및 ⅱ 일반 구역(Ag) 각각에서의 주행 모드를 서로 달리하게 제어할 수 있다. 주행 모드는, 장애물이 나올 때까지 직선 주행을 하다가 장애물에 근접하면 주행 방향을 바꿔 반대편 장애물이 나올 때까지 직선 주행을 하는, 지그재그식 패턴을 포함할 수 있다. 또한, 주행 모드는, 시계 방향 또는 반시계 방향으로 어느 영역의 가장자리부터 중심까지 나선식 패턴을 포함할 수 있다. 예를 들어, 상기 일반 구역(Ag)에서는 상기 지그재그식 패턴으로 주행하고, 상기 특수 구역(As)에서는 나선식 패턴으로 주행하게 설정될 수 있다.The normal mode and the special mode may be different from the driving mode. The controller 140 may control the driving mode in each of the ⅰspecial zone As and the ii general zone Ag differently. The driving mode may include a zigzag pattern in which the vehicle travels in a straight line until an obstacle comes out, and changes the driving direction when the vehicle approaches the obstacle and runs in a straight line until an opposite obstacle comes out. In addition, the driving mode may include a spiral pattern from an edge to a center of a region in a clockwise or counterclockwise direction. For example, the general area Ag may be set to travel in the zigzag pattern, and the special area As may be set to travel in a spiral pattern.

제어부(140)는, ⅰ특수 구역(As) 및 ⅱ 일반 구역(Ag) 중, 어느 하나를 다른 하나보다 먼저 청소하거나 어느 하나만 청소하게 제어할 수 있다. 주행 구역 전체 1회의 청소시, 제어부(140)는 특수 구역(As) 및 일반 구역(Ag) 중 어느 하나를 다른 하나보다 먼저 청소하게 제어할 수 있다. 예를 들어, 제어부(140)는, 주행 구역을 1회 청소할 때, 일반 구역(Ag) 먼저 청소하고 특수 구역(As)을 나중에 청소하게 제어할 수 있다. 또한, 제어부(140)는 1회의 주행 구역 청소시, 일반 구역(Ag)만 청소하게 제어할 수도 있다. 또한, 제어부(140)는 1회의 주행 구역 청소시, 특수 구역(As)만 청소하게 제어할 수 있다. 여기서, 1회의 청소 또는 1회의 주행이란, 이동 로봇(100)이 배터리가 부족하지 않은 상태에서도 충전대(200)를 떠난 후 최초로 상기 충전대(200)로 복귀하는 1회의 과정을 의미할 수 있다.The control unit 140 may control to clean any one of the ⅰspecial zone As and the ii general zone Ag before the other, or to clean only one. In one cleaning of the entire driving zone, the controller 140 may control to clean any one of the special zone As and the general zone Ag before the other one. For example, the controller 140 may control to clean the general area Ag first and the special area As later when the driving area is cleaned once. In addition, the controller 140 may control to clean only the general zone Ag during one driving zone cleaning. In addition, the controller 140 may control to clean only the special zone As during one driving zone cleaning. Here, one cleaning or one driving may mean a one-time process of returning to the charging stand 200 after the mobile robot 100 leaves the charging stand 200 even when the battery is not low.

도 19를 참고한 제어 방법에서, 이동 로봇(100)이 먼저 일반 구역(Ag)을 청소하는 과정(S91)이 진행되고, 그 후 이동 로봇(100)이 특수 구역(As)을 청소하는 과정(S93)이 진행된다. 도 20에서는, 상기 과정(S91)이 진행 중인 상태에서, 이동 로봇(100)의 주행 경로를 보여준다. 이동 로봇(100)은 벽체(2) 및 특수 구역(As)에 의해 경계가 정의된 일반 구역(Ag)부터 주행을 진행한다. 도 20에선, 이동 로봇(100)이 일반 구역(Ag)을 주행할 때, 상기 지그재그식 주행을 하는 경로를 도시한다.In the control method referring to FIG. 19, a process S91 of cleaning the general area Ag is performed by the mobile robot 100 first, and then a process of cleaning the special area As by the mobile robot 100 ( S93) proceeds. In FIG. 20, the driving route of the mobile robot 100 is shown while the process S91 is in progress. The mobile robot 100 travels from the general area Ag defined by the wall 2 and the special area As. In FIG. 20, when the mobile robot 100 travels in the general area Ag, the zigzag driving path is shown.

상기 일반 모드 및 특수 모드는, 기타 스마트 기능의 활성화 여부에서 차이가 있을 수 있다. 예를 들어, 상기 스마트 기능은 후술할 물건 찾기 기능 및/또는 벌레 퇴치 기능을 포함할 수 있다.The normal mode and the special mode may differ in whether other smart functions are activated. For example, the smart function may include an object search function and / or a bug fighting function to be described later.

상기 특수 구역(As)에서만 물건 찾기 기능이 활성화되게 설정될 수 있다. 특수 구역(As)에서 바닥에 놓여진 물건을 인식한 경우 사용자에게 알리기 위한 출력 신호를 송신하게 설정되고, 일반 구역(Ag)에서 바닥에 놓여진 물건을 인식한 경우 사용자에게 상기 출력 신호를 송신하지 않게 설정될 수 있다. 인식 대상의 상기 물건은, 기설정된 규모 이하의 소형의 물건으로 설정될 수 있다. 인식 대상의 상기 물건은, 사용자에 의해 입력된 물건 정보에 의해 설정될 수도 있다. 인식 대상의 상기 물건은, 소정의 데이터 베이스 상에 저장된 물건 정보에 의해 설정될 수도 있다. 인식 대상의 상기 물건은, 소정의 데이터 베이스를 저장한 서버로부터 수신된 물건 정보에 의해 설정될 수도 있다. The object search function may be set to be activated only in the special zone As. Set to transmit an output signal for notifying the user when the object placed on the floor is recognized in the special zone As, and not to transmit the output signal to the user when the object placed on the floor is recognized in the general zone As Can be. The object to be recognized may be set to a small object having a predetermined scale or less. The object to be recognized may be set by object information input by the user. The object to be recognized may be set by object information stored on a predetermined database. The object to be recognized may be set by product information received from a server storing a predetermined database.

상기 특수 구역(As)에서만 벌레 퇴치 기능이 활성화되게 설정될 수 있다. 특수 구역(As)에서 벌레를 인식한 경우 사용자에게 알리기 위한 출력 신호를 송신하게 설정되고, 일반 구역(Ag)에서 벌레를 인식한 경우 사용자에게 상기 출력 신호를 송신하지 않게 설정될 수 있다. 인식 대상의 상기 벌레는, 사용자에 의해 입력된 벌레 정보에 의해 설정될 수 있다. 인식 대상의 상기 벌레는, 소정의 데이터 베이스 상에 저장된 벌레 정보에 의해 설정될 수도 있다. 인식 대상의 상기 벌레는, 소정의 데이터 베이스를 저장한 서버로부터 수신된 벌레 정보에 의해 설정될 수도 있다.Only in the special zone As can be set to activate the worm fighting function. When the worm is recognized in the special zone As, it may be set to transmit an output signal for notifying the user, and when the worm is recognized in the general zone As, the output signal may not be transmitted to the user. The worm of the object to be recognized may be set by worm information input by a user. The worm to be recognized may be set by worm information stored on a predetermined database. The worm to be recognized may be set by worm information received from a server storing a predetermined database.

100 : 이동 로봇 120 : 센싱부
140 : 제어부 160 : 주행부
180 : 청소부 200 : 충전대
Ag : 일반 구역 As : 특수 구역
Fr : 밝기 대표값 Fs : 밝기 기준값
FVr : 밝기 대표 벡터 FVs : 밝기 기준 벡터군
100: mobile robot 120: sensing unit
140: control unit 160: driving unit
180: cleaning unit 200: charging stand
Ag: General Area As: Special Area
Fr: Brightness representative value Fs: Brightness reference value
FVr: Brightness representative vector FVs: Brightness reference vector

Claims (16)

바닥에 대해 본체를 이동시키는 주행부;
이동 중, 외부의 상측 물체의 영상를 감지하거나 외부의 상측 물체까지의 거리를 감지하는 센싱부;
상기 센싱부의 감지 정보를 근거로 한 각 위치에서의 소정 구분 조건의 만족여부에 따라, 주행 구역의 일부를 특수 구역으로 구분하는 제어부; 및,
상기 바닥을 청소하는 청소부를 포함하고,
상기 제어부는,
ⅰ상기 특수 구역 및 ⅱ상기 주행 구역 중 상기 특수 구역이 아닌 일반 구역 중, 어느 하나를 다른 하나보다 먼저 청소하거나 어느 하나만 청소하게 제어하는 이동 로봇.
A traveling part for moving the main body relative to the floor;
A sensing unit which senses an image of an external upper object or a distance to an external upper object while moving;
A controller for classifying a part of a driving zone into a special zone according to whether a predetermined division condition is satisfied at each position based on the sensing information of the sensing unit; And,
It includes a cleaning unit for cleaning the floor,
The control unit,
이동 A mobile robot which controls to clean any one of the special zones and ii the general zones other than the special zones before the other one or to clean only one.
제 1항에 있어서,
상기 소정의 구분 조건은,
가구의 아래 구역이 상기 특수 구역으로 판단되도록 기설정되는 이동 로봇.
The method of claim 1,
The predetermined classification condition is,
A mobile robot preset to determine that the lower section of the furniture is said special zone.
제 1항에 있어서,
상기 제어부는,
일 위치에서의 상기 감지 정보를 근거로 상기 구분 조건이 만족되면 상기 일 위치가 상기 특수 구역에 속하는 것으로 판단하는 이동 로봇.
The method of claim 1,
The control unit,
The mobile robot determines that the one position belongs to the special zone when the classification condition is satisfied based on the detection information at one position.
제 1항에 있어서,
상기 제어부는,
이동 중 상기 특수 구역을 학습하면, 상기 특수 구역 밖으로 탈출 이동하게 제어하는 이동 로봇.
The method of claim 1,
The control unit,
A mobile robot that controls the escape of the special area when the special area is learned while moving.
제 1항에 있어서,
상기 제어부는,
상기 주행 구역 중 상기 특수 구역이 아닌 일반 구역을 소정의 일반 모드로 관리하고, 상기 특수 구역을 상기 일반 모드와 다른 소정의 특수 모드로 관리하게 제어하는 이동 로봇.
The method of claim 1,
The control unit,
A mobile robot for controlling a general zone other than the special zone among the driving zones in a predetermined general mode, and managing the special zone in a predetermined special mode different from the normal mode.
제 1항에 있어서,
상기 제어부는,
ⅰ상기 특수 구역 및 ⅱ상기 주행 구역 중 상기 특수 구역이 아닌 일반 구역 각각에서의 주행 모드를 서로 달리하게 제어하는 이동 로봇.
The method of claim 1,
The control unit,
이동 A mobile robot that controls driving modes differently in each of the special zones and the general zones other than the special zones of the driving zones.
제 5항 또는 제 6항에 있어서,
상기 제어부는,
상기 특수 구역에서 벌레를 인식한 경우 사용자에게 알리기 위한 출력 신호를 송신하고, 상기 일반 구역에서 벌레를 인식한 경우 사용자에게 상기 출력 신호를 송신하지 않는 이동 로봇.
The method according to claim 5 or 6,
The control unit,
The mobile robot transmits an output signal for notifying the user when the bug is detected in the special zone, and does not transmit the output signal to the user when the bug is recognized in the general area.
제 1항에 있어서,
상기 센싱부는 상기 영상을 감지하고,
상기 구분 조건은,
일 위치에서 감지된 영상의 밝기 대표값이 밝기 기준값보다 작은 밝기 조건을 포함하는 이동 로봇.
The method of claim 1,
The sensing unit detects the image,
The division condition is,
A mobile robot including a brightness condition in which the brightness representative value of the image detected at one position is smaller than the brightness reference value.
제 8항에 있어서,
상기 밝기 기준값은,
상기 이동 로봇이 상기 일 위치에 도착하기 전 최근 n개의 위치에서 각각 감지된 n개의 영상의 밝기 종합값으로 설정되는 이동 로봇.
여기서, n은 2이상의 자연수임.
The method of claim 8,
The brightness reference value,
The mobile robot is set to the combined brightness value of the n images respectively detected at the last n locations before the mobile robot arrives at the one location.
Where n is a natural number of 2 or more.
제 8항에 있어서,
상기 제어부는,
상기 영상을 통해 주행 구역을 맵핑하고 현재 위치를 맵핑된 맵 상에서 인식 가능하게 구비되고,
ⅰ상기 맵 상의 위치 인식에 성공한 지점들에 각각 대응하는 제 1밝기 대표값들과, ⅱ상기 맵 상의 위치 인식에 실패한 지점들에 각각 대응하는 제 2밝기 대표값들을 근거로 하여, 상기 밝기 기준값을 변경시키는 이동 로봇.
The method of claim 8,
The control unit,
The driving zone is mapped through the image and the current location is recognizable on the mapped map,
밝기 the brightness reference value is based on first brightness representative values respectively corresponding to the points on which the position recognition on the map has succeeded, and ii second brightness representative values respectively corresponding to the points on which the position recognition on the map has failed. Modified mobile robot.
제 1항에 있어서,
상기 센싱부는 상기 영상을 감지하고,
상기 제어부는,
일 영상을 m개의 영역으로 구분하고, 상기 m개의 영역의 각각의 밝기 대표값을 각 차원의 수치로하는 m차원의 밝기 대표 벡터를 생성하고,
상기 구분 조건은,
일 위치에서 감지된 영상의 상기 밝기 대표 벡터가 m차원상 연속하는 밝기 기준 벡터군을 m차원상에서 넘어서지 않는 밝기 조건을 포함하는 이동 로봇.
여기서 m은 2이상의 자연수임.
The method of claim 1,
The sensing unit detects the image,
The control unit,
Dividing one image into m regions, and generating an m-dimensional brightness representative vector in which the brightness representative values of the m regions are numerical values of each dimension,
The division condition is,
And a brightness condition in which the brightness representative vector of the image detected at one position does not exceed a group of brightness reference vectors continuous in m dimensions in m dimensions.
Where m is a natural number equal to or greater than 2.
제 11항에 있어서,
상기 제어부는,
상기 영상을 통해 주행 구역을 맵핑하고 현재 위치를 맵핑된 맵 상에서 인식 가능하게 구비되고,
ⅰ상기 맵 상의 위치 인식에 성공한 지점들에 각각 대응하는 밝기 대표 벡터들과, ⅱ상기 맵 상의 위치 인식에 실패한 지점들에 각각 대응하는 밝기 대표 벡터들을 근거로 하여, 상기 밝기 기준 벡터군을 변경시키는 이동 로봇.
The method of claim 11,
The control unit,
The driving zone is mapped through the image and the current location is recognizable on the mapped map,
Change the brightness reference vector group based on the brightness representative vectors respectively corresponding to the points that successfully recognize the position on the map, and the brightness representative vectors respectively corresponding to the points which fail to recognize the position on the map. Mobile robot.
제 12항에 있어서,
상기 제어부는,
ⅰ상기 맵 상의 위치 인식에 성공한 지점들에 각각 대응하는 제 1밝기 대표 벡터들과 ⅱ상기 맵 상에서 위치 인식에 실패한 지점들에 각각 대응하는 제 2밝기 대표 벡터들이, 상기 밝기 기준 벡터군을 기준으로 오류(False)가 최소화된 상태로 양분되도록, 상기 밝기 기준 벡터군을 변경시키는 이동 로봇.
The method of claim 12,
The control unit,
제 first brightness representative vectors respectively corresponding to the points on which the location recognition succeeds on the map, and ii second brightness representative vectors respectively corresponding to the points on which the location recognition failed on the map, based on the brightness reference vector group. A mobile robot for changing the brightness reference vector group so that the error is bisected in a minimized state.
제 1항에 있어서,
상기 센싱부는 상기 영상을 감지하고,
상기 구분 조건은,
ⅰ일 위치에서 감지된 영상에서 특징점이 추출되지 않는 특징점 조건, ⅱ 일 위치에서 감지된 영상이 최근 p개의 위치에서 각각 감지된 p개의 영상과 소정 기준치 이상으로 매칭되지 않는 영상 조건, 및 ⅲ 최근 q개의 위치에서 각각 감지된 q개의 영상으로부터 생성된 3D 포인트가 일 위치에서 감지된 영상에서 소정 기준치 이상 인식되지 않는 3D 포인트 조건 중, 적어도 하나를 포함하는 이동 로봇.
여기서, p는 자연수이고, q는 2이상의 자연수임.
The method of claim 1,
The sensing unit detects the image,
The division condition is,
A feature point condition in which the feature point is not extracted from the image detected at the single position, ii an image condition in which the image detected at one position does not match the p images detected at the recent p positions more than a predetermined reference value, and And at least one of 3D point conditions in which 3D points generated from q images respectively detected at the two positions are not recognized above a predetermined reference value in the image detected at one position.
Where p is a natural number and q is a natural number of two or more.
제 1항에 있어서,
상기 센싱부는 상기 거리를 감지하고,
상기 구분 조건은,
일 위치에서 감지된 거리값이 거리 기준값보다 작은 거리 조건을 포함하는 이동 로봇.
The method of claim 1,
The sensing unit detects the distance,
The division condition is,
A mobile robot including a distance condition in which a distance value detected at one position is smaller than a distance reference value.
제 7항에 있어서,
상기 제어부는,
상기 특수 구역에서 바닥에 놓여진 물건을 인식한 경우 사용자에게 알리기 위한 출력 신호를 송신하고, 상기 일반 구역에서 바닥에 놓여진 물건을 인식한 경우 사용자에게 상기 출력 신호를 송신하지 않는 이동 로봇.
The method of claim 7, wherein
The control unit,
The mobile robot transmits an output signal for notifying the user when the object placed on the floor is recognized in the special zone, and does not transmit the output signal to the user when the object placed on the floor is recognized in the general zone.
KR1020170094279A 2017-07-25 2017-07-25 A moving-robot KR102048363B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170094279A KR102048363B1 (en) 2017-07-25 2017-07-25 A moving-robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170094279A KR102048363B1 (en) 2017-07-25 2017-07-25 A moving-robot

Publications (2)

Publication Number Publication Date
KR20190011576A KR20190011576A (en) 2019-02-07
KR102048363B1 true KR102048363B1 (en) 2019-11-25

Family

ID=65367196

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170094279A KR102048363B1 (en) 2017-07-25 2017-07-25 A moving-robot

Country Status (1)

Country Link
KR (1) KR102048363B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101306501B1 (en) * 2013-04-26 2013-09-09 주식회사 모뉴엘 A robot vacuum cleaner and its control method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100641119B1 (en) * 2005-02-16 2006-11-06 엘지전자 주식회사 Furniture bottom clean apparatus and method for robot cleaner
KR101072876B1 (en) 2009-03-18 2011-10-17 연세대학교 산학협력단 Method and apparatus for estimating position in a mobile robot
KR101618030B1 (en) * 2009-07-28 2016-05-09 주식회사 유진로봇 Method for Recognizing Position and Controlling Movement of a Mobile Robot, and the Mobile Robot Using the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101306501B1 (en) * 2013-04-26 2013-09-09 주식회사 모뉴엘 A robot vacuum cleaner and its control method

Also Published As

Publication number Publication date
KR20190011576A (en) 2019-02-07

Similar Documents

Publication Publication Date Title
KR102314539B1 (en) Controlling method for Artificial intelligence Moving robot
US9798957B2 (en) Robot cleaner and control method thereof
JP7055127B2 (en) Mobile robots and their control methods
EP3349087B1 (en) Moving robot
US11547261B2 (en) Moving robot and control method thereof
US10939791B2 (en) Mobile robot and mobile robot control method
US20180114064A1 (en) Systems and Methods for Capturing Images and Annotating the Captured Images with Information
KR20180087798A (en) Moving robot and control method therof
KR102143349B1 (en) Controlling method for Moving robot
KR20190035377A (en) Moving Robot and controlling method
KR20180023301A (en) Moving robot and control method thereof
KR20160048750A (en) A robot cleaner and control method thereof
KR20180023302A (en) Moving robot and control method thereof
KR102024094B1 (en) A moving-robot using artificial intelligence and a controlling method for the same
KR20180015928A (en) Robot cleaner system and method for operating the same
US20200326722A1 (en) Mobile robot, system for multiple mobile robot, and map learning method of mobile robot using artificial intelligence
KR20180023303A (en) Moving robot and control method thereof
US11055341B2 (en) Controlling method for artificial intelligence moving robot
KR101922953B1 (en) Moving Robot and controlling method
KR102048363B1 (en) A moving-robot
KR20180037516A (en) Moving robot and control method thereof
KR20180048088A (en) Robot cleaner and control method thereof
KR20200091110A (en) Moving Robot and controlling method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant