KR102048363B1 - A moving-robot - Google Patents
A moving-robot Download PDFInfo
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
- B25J11/0085—Cleaning
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2836—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
- A47L9/2852—Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
- B25J5/007—Manipulators mounted on wheels or on carriages mounted on wheels
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
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
본 발명은, 이동 로봇의 감지 기술에 관한 것이다.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.
삭제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
2 is an elevation view of the
3 is an elevation view of the
4 is an elevation view of the
FIG. 5 is a block diagram illustrating a control relationship between main components of the
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
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
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
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
본 발명인 이동 로봇(100)은 바퀴 등을 이용하여 스스로 이동이 가능한 로봇을 의미하고, 가정 도우미 로봇 및 로봇 청소기 등이 될 수 있다. 이하 도 1 내지 도 5를 참조하여, 이동 로봇 중 로봇 청소기(100)를 예로들어 설명하나, 반드시 이에 한정될 필요는 없다.The
본 설명 전체에 걸쳐 언어적/수학적으로 표현된 대소비교에 있어서, '작거나 같음(이하)'과 '작음(미만)'은 통상의 기술자 입장에서 서로 용이하게 치환가능한 정도이며, '크거나 같음(이상)'과 '큼(초과)'은 통상의 기술자 입장에서 서로 용이하게 치환가능한 정도이며, 본 발명을 구현함에 있어서 치환하여도 그 효과 발휘에 문제가 되지 않음은 물론이다.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
이동 로봇(100)은, 외부의 상측 물체의 정보를 감지하는 센싱부(120)를 포함한다. 센싱부(120)는, 이동 로봇(100)의 이동 중 상기 외부의 상측 물체의 정보를 감지할 수 있다. 상기 외부의 상측 물체는, 상측 방향으로 공간을 제한하는 장애물을 의미한다. 상기 외부의 상측 물체는, 이동 로봇(100)의 상측 방향에 배치되는 천장이나 가구(3)의 하측면 등이 될 수 있다. 상기 외부의 상측 물체의 정보는, 이동 로봇(100)이 상측 방향으로 촬영한 영상 정보를 포함할 수 있다. 상기 외부의 상측 물체의 정보는, 이동 로봇(100)이 상기 외부의 상측 물체까지의 거리 정보를 포함할 수 있다.The
센싱부(120)는 본체(110)의 상면부에 구비될 수 있다. 센싱부(120)의 감지 방향은 상측 방향이다.The
센싱부(120)는, 외부의 상측 물체의 영상를 감지하거나 외부의 상측 물체까지의 거리를 감지할 수 있다. 센싱부(120)는 이동 중 시간(t)에 따른 각 위치에서 상기 영상을 감지할 수 있다. 센싱부(120)는 이동 중 시간(t)에 따른 각 위치에서 상기 거리를 감지할 수 있다. The
센싱부(120)는 외부의 상측 물체의 영상을 감지하는 영상 감지부(120)를 포함할 수 있다. 센싱부(120)는 외부의 상측 물체까지의 거리를 감지하는 거리 감지부(120)를 포함할 수 있다.The
영상획득부(120)는 주행구역을 촬영하는 것으로, 디지털 카메라를 포함할 수 있다. 상기 디지털 카메라는 적어도 하나의 광학렌즈와, 상기 광학렌즈를 통과한 광에 의해 상이 맺히는 다수개의 광다이오드(photodiode, 예를들어, pixel)를 포함하여 구성된 이미지센서(예를들어, CMOS image sensor)와, 상기 광다이오드들로부터 출력된 신호를 바탕으로 영상을 구성하는 디지털 신호 처리기(DSP: Digital Signal Processor)를 포함할 수 있다. 상기 디지털 신호 처리기는 정지영상은 물론이고, 정지영상으로 구성된 프레임들로 이루어진 동영상을 생성하는 것도 가능하다.The
이동 로봇(100)는 본체(110)를 이동시키는 주행부(160)를 포함한다. 주행부(160)는 바닥(1)에 대해 본체(110)를 이동시킨다. 주행부(160)는 본체(110)를 이동시키는 적어도 하나의 구동 바퀴(166)를 포함할 수 있다. 주행부(160)는 구동 모터를 포함할 수 있다. 구동 바퀴(166)는 본체(110)의 좌, 우 측에 각각 구비될 수 있으며, 이하, 각각 좌륜(166(L))과 우륜(166(R))이라고 한다.The
좌륜(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
이동 로봇(100)은 바닥(1)을 청소하는 청소부(180)를 포함한다. 이동 로봇(100)은 주행 구역을 이동하며 청소할 수 있다. 청소부(180)는, 이물질을 흡입하는 흡입 장치, 비질을 수행하는 브러시(184, 185), 흡입장치나 브러시에 의해 수거된 이물질을 저장하는 먼지통(미도시) 및/또는 걸레질을 수행하는 걸레부(미도시) 등을 포함할 수 있다.The
본체(110)의 저면부에는 공기의 흡입이 이루어지는 흡입구(180h)가 형성될 수 있다. 본체(110) 내에는 흡입구(180h)를 통해 공기가 흡입될 수 있도록 흡입력을 제공하는 흡입장치(미도시)와, 흡입구(180h)를 통해 공기와 함께 흡입된 먼지를 집진하는 먼지통(미도시)이 구비될 수 있다.A
케이스(111)에는 상기 먼지통의 삽입과 탈거를 위한 개구부가 형성될 수 있고, 상기 개구부를 여닫는 먼지통 커버(112)가 케이스(111)에 대해 회전 가능하게 구비될 수 있다.An opening for inserting and removing the dust container may be formed in the
흡입구(180h)를 통해 노출되는 솔들을 갖는 롤형의 메인 브러시(184)와, 본체(110)의 저면부 전방측에 위치하며, 방사상으로 연장된 다수개의 날개로 이루어진 솔을 갖는 보조 브러시(185)가 구비될 수 있다. 이들 브러시(184, 185)들의 회전에 의해 주행구역내 바닥으로부터 먼지들이 제거되며, 이렇게 바닥으로부터 분리된 먼지들은 흡입구(180h)를 통해 흡입되어 먼지통에 모인다.A roll-shaped
배터리(138)는 상기 구동 모터뿐만 아니라, 이동 로봇(100)의 작동 전반에 필요한 전원을 공급할 수 있다. 배터리(138)가 방전될 시, 이동 로봇(100)는 충전을 위해 충전대(200)로 복귀하는 주행을 실시할 수 있으며, 이러한 복귀 주행 중, 이동 로봇(100)는 스스로 충전대(200)의 위치를 탐지할 수 있다.The
충전대(200)는 소정의 복귀 신호를 송출하는 신호 송출부(미도시)를 포함할 수 있다. 상기 복귀 신호는 초음파 신호 또는 적외선 신호일 수 있으나, 반드시 이에 한정되어야하는 것은 아니다.
이동 로봇(100)은, 외부의 서버, 단말기 및/또는 충전대 등과 통신하게 구비된 통신부(190)를 포함할 수 있다. 통신부(190)는 상기 복귀 신호를 수신하는 신호 감지부(미도시)를 포함할 수 있다. 충전대(200)는 신호 송출부를 통해 적외선 신호를 송출하고, 상기 신호 감지부는 상기 적외선 신호를 감지하는 적외선 센서를 포함할 수 있다. 이동 로봇(100)는 충전대(200)로부터 송출된 적외선 신호에 따라 충전대(200)의 위치로 이동하여 충전대(200)와 도킹(docking)한다. 이러한 도킹에 의해 이동 로봇(100)의 충전 단자(133)와 충전대(200)의 충전 단자(210) 간에 충전에 이루어진다.The
또한, 이동 로봇(100)는 전방의 장애물을 감지하는 장애물 감지센서(131)를 더 포함할 수 있다. 이동 로봇(100)는 주행구역 내 바닥에 낭떠러지의 존재 여부를 감지하는 낭떠러지 감지센서(132)와, 바닥의 영상을 획득하는 하부 영상 센서(139)를 더 포함할 수 있다. In addition, the
또한, 이동 로봇(100)는 On/Off 또는 각종 명령을 입력할 수 있는 입력부(171)를 포함한다. 이동 로봇(100)은 각종 정보를 사용자에게 알리기 위한 출력부(173)를 포함할 수 있다. 출력부(173)는 스피커 및/또는 디스플레이를 포함할 수 있다.In addition, the
이동 로봇(100)는 현재 위치를 인식하는 등 각종 정보를 처리하고 판단하는 제어부(140)를 포함한다. 제어부(140)는 이동 로봇(100)를 구성하는 각종 구성들의 제어를 통해, 이동 로봇(100)의 동작 전반을 제어할 수 있다. 제어부(140)는, 상기 영상을 통해 주행 구역을 맵핑하고 현재 위치를 맵핑된 맵 상에서 인식 가능하게 구비될 수 있다. 즉, 제어부(140)는 슬램(SLAM : Simultaneous Localization and Mapping) 기능을 수행할 수 있다.The
제어부(140)는 입력부(171)로부터 정보를 입력받아 처리할 수 있다. 제어부(140)는 센싱부(120)로부터 감지 정보를 입력받아 처리할 수 있다. 감지 정보란 상기 외부의 상측 물체의 정보를 의미한다. 제어부(140)는 통신부(190)를 통해 정보를 수신하거나 정보를 송신할 수 있다.The
제어부(140)는 출력부(173)의 출력을 제어할 수 있다. 제어부(140)는 주행부(160)의 구동을 제어할 수 있다. 제어부(140)는 청소부(180)의 동작을 제어할 수 있다.The
이동 로봇(100)은 각종 데이터를 저장하는 저장부(150)를 포함한다. 저장부(150)는 이동 로봇(100)의 제어에 필요한 각종 정보들을 기록하는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다.The
저장부(150)에는 주행구역에 대한 맵이 저장될 수 있다. 상기 맵은 이동 로봇(100)과 통신부(190)을 통해 정보를 교환할 수 있는 외부 단말기에 의해 입력된 것일 수도 있고, 이동 로봇(100)이 스스로 학습을 하여 생성한 것일 수도 있다. 전자의 경우, 외부 단말기로는 맵 설정을 위한 어플리케이션(application)이 탑재된 리모콘, PDA, 랩탑(laptop), 스마트 폰, 태블렛 등을 예로 들 수 있다.The
현실의 주행구역은 맵상의 주행구역과 대응될 수 있다. 상기 주행구역은 이동 로봇(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
현실의 특수 구역(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
제어부(140)는 주행부(160)의 동작을 바탕으로 이동 로봇(100)의 이동 경로를 파악할 수도 있다. 예를들어, 주행제어모듈(141)은 구동 바퀴(166)의 회전속도를 바탕으로 이동 로봇(100)의 현재 또는 과거의 이동속도, 주행한 거리 등을 파악할 수 있으며, 각 구동 바퀴(166(L), 166(R))의 회전 방향에 따라 현재 또는 과거의 방향 전환 과정 또한 파악할 수 있다. 이렇게 파악된 이동 로봇(100)의 주행 정보를 바탕으로, 맵 상에서 이동 로봇(100)의 위치가 갱신될 수 있다. 또한, 상기 영상 정보를 이용하여, 맵 상에서 이동 로봇(100)의 위치가 갱신될 수도 있다.The
이하, 도 6 내지 19를 참고하여, 본 발명의 실시예들에 따른 이동 로봇(100)의 제어방법을 설명한다. 각 순서도들에서 서로 중복되는 내용은 동일한 도면 부호로 표기하고, 중복되는 설명은 생략한다.6 to 19, the control method of the
제어방법은 제어부(140)에 의해 수행될 수 있다. 본 발명은, 이동 로봇(100)의 제어방법이 될 수 있고, 상기 제어방법을 수행하는 제어부(140)를 포함하는 이동 로봇(100)이 될 수도 있다. 본 발명은, 상기 제어방법의 각 단계를 포함하는 컴퓨터 프로그램이 될 수도 있고, 상기 제어방법을 컴퓨터로 구현하기 위한 프로그램이 기록된 기록매체가 될 수도 있다. 상기 '기록매체'는 컴퓨터로 판독 가능한 기록매체를 의미한다. 본 발명은, 하드웨어와 소프트웨어를 모두 포함하는 이동 로봇 제어 시스템이 될 수도 있다. The control method may be performed by the
제어방법의 순서도 도면들의 각 단계와 순서도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션(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
제어부(140)는, 소정의 알고리즘을 이용하여, 주행 구역 중 일부를 특수 구역(As)으로 판단할 수 있다. 주행 구역 중 특수 구역(As)의 판단된 각 위치들이 모여 특수 구역(As)을 구성할 수 있다. 실시예에 따라, 제어부(140)는, 주행 구역 중 특수 구역(As)으로 판단된 각 위치들이 모여 특수 구역(As)의 경계를 형성할 수 있고, 상기 경계를 기준으로 일반 구역(Ag)의 건너편 구역을 특수 구역(As)으로 판단할 수도 있다.The
제어부(140)는, 센싱부(120)의 감지 정보를 근거로 하여, 주행 구역 중 일부를 가구의 아래 구역으로 판단되는 특수 구역(As)으로 구분한다. 제어부(140)는, 소정의 알고리즘에 의해 가구의 아래 구역으로 판단되는 특수 구역(As)을 지정할 수 있다. 제어부(140)의 소정의 알고리즘에 의한 판단이기 때문에, 맵 상의 특수 구역(As)이 실제 현실에서 가구의 아래 구역과 대응되는 부분도 있으나, 실제 현실에서 가구의 아래 구역과 대응되지 않는 부분이 있을 수도 있다. 상대적으로 높은 신뢰도로 실제 현실의 가구의 아래 구역이 맵 상의 특수 구역(As)으로 구분되도록, 상기 알고리즘은 기설정된다. 상기 구분 조건은, 가구의 아래 구역이 상기 특수 구역으로 판단되도록 기설정된다. 상기 구분 조건은, 가구의 아래 구역이 특수 구역(As)으로 판단될 확률이 상대적으로 높도록 기설정된다. 제어부(140)가 판단한 특수 구역(As)은, 실제 현실에서 가구의 아래 구역일 확률이 천장의 아래 구역일 확률보다 높다.The
제어부(140)는, 센싱부(120)의 감지 정보 및 소정의 구분 기준을 근거로하여, 주행 구역 중 일부를 특수 구역으로 판단한다. 상기 구분 기준은, 주행 구역 중 일 위치에서의 상기 감지 정보를 입력값으로 한 정보 처리에 있어서, 상기 일 위치를 특수 구역(As)으로 판단할지 여부를 결정하는 기준(threshold)이 된다. 상기 구분 기준은, 주행 구역을 일반 구역(Ag)과 특수 구역(As)으로 구분하는 기준이 될 수 있다.The
특수 구역(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
일반 구역(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
도 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
도 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
도 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
상기 탈출 이동은, 도 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
이동 로봇(100)은 센싱부(120)가 감지한 상방 영상의 밝기 정보를 근거로 상기 구분 조건의 만족 여부를 판단할 수 있다. 이동 로봇(100)은 일 위치의 상기 밝기 정보 및 상기 구분 기준을 근거로, 상기 일 위치가 특수 구역(As)에 속하는지 여부를 판단할 수 있다.The
이하, 도 9, 도 10 및 도 11을 참고하여, 제 1실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다. Hereinafter, a control method of the
제 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
밝기 대표값(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
밝기 기준값(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
상기 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
도 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
밝기 기준값(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
도 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
도 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
이하, 도 12, 도 13 및 도 14를 참고하여, 제 2실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다.Hereinafter, a control method of the
제 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
도 13을 참고하여, 제 2실시예에 따른 제어부(140)는, 일 영상을 m개의 영역으로 구분한다. 제어부(140)는, 상기 m개의 영역의 각각의 밝기 대표값을 각 차원의 수치로하는 m차원의 밝기 대표 벡터(FVr)를 생성한다. 여기서, 상기 밝기 대표 벡터(FVr)는, 생성된 데이터의 실제 형식과 관계없이, 벡터로 표현될 수 있는 데이터를 의미한다. Referring to FIG. 13, the
밝기 대표 벡터(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
밝기 기준 벡터군(FVs)이 이동 로봇(100)이 학습한 데이터를 근거로 변경되는 일 예를 설명하면 다음과 같다. 제어부(140)는, 주행 구역의 각각의 위치에서 SLAM(영상을 통한 위치 인식 및 학습) 동작의 성공 여부에 대한 데이터를 근거로, 밝기 기준 벡터군(FVs)을 변경시킬 수 있다.An example in which the brightness reference vector group FVs is changed based on the data learned by the
도 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
여기서, 밝기 기준 벡터군(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
도 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
도 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 < RTI ID = 0.0 > and < / RTI > 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
이하, 도 15를 참고하여, 제 3실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다.Hereinafter, a control method of the
제 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
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
상기 구분 조건은, 상기 특징점 조건이 연속하는 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
도 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
이하, 도 16을 참고하여, 제 4실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다.Hereinafter, referring to FIG. 16, a control method of the
제 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
이하, 도 17을 참고하여, 제 5실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다.Hereinafter, a control method of the
제 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
이하, 도 18을 참고하여 제 6실시예에 따른 이동 로봇(100)의 제어방법을 설명하면 다음과 같다.Hereinafter, a control method of the
제 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
제 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
거리 기준값(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
이하, 이동 로봇(100)이 특수 구역(As)을 학습하여 활용하는 실시예들을 설명한다. Hereinafter, embodiments in which the
일 예로, 특수 구역(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
상기 일반 모드 및 특수 모드는, 주행 계획(일정)에서 차이가 있을 수 있다. 제어부(140)는, ⅰ특수 구역(As) 및 ⅱ일반 구역(Ag) 중, 어느 하나보다 다른 하나에서 먼저 주행하게 하거나 어느 하나에서만 주행하게 제어할 수 있다. 예를 들어, 1회의 주행시 일반 구역(Ag)을 먼저 주행하고 특수 구역(As)을 나중에 주행하게 설정될 수도 있고, 1회의 주행시 일반 구역(Ag)만 주행하게 설정될 수도 있다.The normal mode and the special mode may differ in a driving plan (schedule). The
일반 모드 및 특수 모드는, 주행 모드에서 차이가 있을 수 있다. 제어부(140)는, ⅰ특수 구역(As) 및 ⅱ 일반 구역(Ag) 각각에서의 주행 모드를 서로 달리하게 제어할 수 있다. 주행 모드는, 장애물이 나올 때까지 직선 주행을 하다가 장애물에 근접하면 주행 방향을 바꿔 반대편 장애물이 나올 때까지 직선 주행을 하는, 지그재그식 패턴을 포함할 수 있다. 또한, 주행 모드는, 시계 방향 또는 반시계 방향으로 어느 영역의 가장자리부터 중심까지 나선식 패턴을 포함할 수 있다. 예를 들어, 상기 일반 구역(Ag)에서는 상기 지그재그식 패턴으로 주행하고, 상기 특수 구역(As)에서는 나선식 패턴으로 주행하게 설정될 수 있다.The normal mode and the special mode may be different from the driving mode. The
제어부(140)는, ⅰ특수 구역(As) 및 ⅱ 일반 구역(Ag) 중, 어느 하나를 다른 하나보다 먼저 청소하거나 어느 하나만 청소하게 제어할 수 있다. 주행 구역 전체 1회의 청소시, 제어부(140)는 특수 구역(As) 및 일반 구역(Ag) 중 어느 하나를 다른 하나보다 먼저 청소하게 제어할 수 있다. 예를 들어, 제어부(140)는, 주행 구역을 1회 청소할 때, 일반 구역(Ag) 먼저 청소하고 특수 구역(As)을 나중에 청소하게 제어할 수 있다. 또한, 제어부(140)는 1회의 주행 구역 청소시, 일반 구역(Ag)만 청소하게 제어할 수도 있다. 또한, 제어부(140)는 1회의 주행 구역 청소시, 특수 구역(As)만 청소하게 제어할 수 있다. 여기서, 1회의 청소 또는 1회의 주행이란, 이동 로봇(100)이 배터리가 부족하지 않은 상태에서도 충전대(200)를 떠난 후 최초로 상기 충전대(200)로 복귀하는 1회의 과정을 의미할 수 있다.The
도 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
상기 일반 모드 및 특수 모드는, 기타 스마트 기능의 활성화 여부에서 차이가 있을 수 있다. 예를 들어, 상기 스마트 기능은 후술할 물건 찾기 기능 및/또는 벌레 퇴치 기능을 포함할 수 있다.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.
상기 소정의 구분 조건은,
가구의 아래 구역이 상기 특수 구역으로 판단되도록 기설정되는 이동 로봇.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.
상기 제어부는,
일 위치에서의 상기 감지 정보를 근거로 상기 구분 조건이 만족되면 상기 일 위치가 상기 특수 구역에 속하는 것으로 판단하는 이동 로봇.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.
상기 제어부는,
이동 중 상기 특수 구역을 학습하면, 상기 특수 구역 밖으로 탈출 이동하게 제어하는 이동 로봇.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.
상기 제어부는,
상기 주행 구역 중 상기 특수 구역이 아닌 일반 구역을 소정의 일반 모드로 관리하고, 상기 특수 구역을 상기 일반 모드와 다른 소정의 특수 모드로 관리하게 제어하는 이동 로봇.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.
상기 제어부는,
ⅰ상기 특수 구역 및 ⅱ상기 주행 구역 중 상기 특수 구역이 아닌 일반 구역 각각에서의 주행 모드를 서로 달리하게 제어하는 이동 로봇.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.
상기 제어부는,
상기 특수 구역에서 벌레를 인식한 경우 사용자에게 알리기 위한 출력 신호를 송신하고, 상기 일반 구역에서 벌레를 인식한 경우 사용자에게 상기 출력 신호를 송신하지 않는 이동 로봇.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.
상기 센싱부는 상기 영상을 감지하고,
상기 구분 조건은,
일 위치에서 감지된 영상의 밝기 대표값이 밝기 기준값보다 작은 밝기 조건을 포함하는 이동 로봇.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.
상기 밝기 기준값은,
상기 이동 로봇이 상기 일 위치에 도착하기 전 최근 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.
상기 제어부는,
상기 영상을 통해 주행 구역을 맵핑하고 현재 위치를 맵핑된 맵 상에서 인식 가능하게 구비되고,
ⅰ상기 맵 상의 위치 인식에 성공한 지점들에 각각 대응하는 제 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.
상기 센싱부는 상기 영상을 감지하고,
상기 제어부는,
일 영상을 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.
상기 제어부는,
상기 영상을 통해 주행 구역을 맵핑하고 현재 위치를 맵핑된 맵 상에서 인식 가능하게 구비되고,
ⅰ상기 맵 상의 위치 인식에 성공한 지점들에 각각 대응하는 밝기 대표 벡터들과, ⅱ상기 맵 상의 위치 인식에 실패한 지점들에 각각 대응하는 밝기 대표 벡터들을 근거로 하여, 상기 밝기 기준 벡터군을 변경시키는 이동 로봇.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.
상기 제어부는,
ⅰ상기 맵 상의 위치 인식에 성공한 지점들에 각각 대응하는 제 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.
상기 센싱부는 상기 영상을 감지하고,
상기 구분 조건은,
ⅰ일 위치에서 감지된 영상에서 특징점이 추출되지 않는 특징점 조건, ⅱ 일 위치에서 감지된 영상이 최근 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.
상기 센싱부는 상기 거리를 감지하고,
상기 구분 조건은,
일 위치에서 감지된 거리값이 거리 기준값보다 작은 거리 조건을 포함하는 이동 로봇.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.
상기 제어부는,
상기 특수 구역에서 바닥에 놓여진 물건을 인식한 경우 사용자에게 알리기 위한 출력 신호를 송신하고, 상기 일반 구역에서 바닥에 놓여진 물건을 인식한 경우 사용자에게 상기 출력 신호를 송신하지 않는 이동 로봇.
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.
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)
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)
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 |
-
2017
- 2017-07-25 KR KR1020170094279A patent/KR102048363B1/en active IP Right Grant
Patent Citations (1)
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 |