KR20180023302A - Moving robot and control method thereof - Google Patents

Moving robot and control method thereof Download PDF

Info

Publication number
KR20180023302A
KR20180023302A KR1020160108385A KR20160108385A KR20180023302A KR 20180023302 A KR20180023302 A KR 20180023302A KR 1020160108385 A KR1020160108385 A KR 1020160108385A KR 20160108385 A KR20160108385 A KR 20160108385A KR 20180023302 A KR20180023302 A KR 20180023302A
Authority
KR
South Korea
Prior art keywords
obstacle
recognition result
recognition
current
mobile robot
Prior art date
Application number
KR1020160108385A
Other languages
Korean (ko)
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 KR1020160108385A priority Critical patent/KR20180023302A/en
Priority to US16/327,452 priority patent/US20190179333A1/en
Priority to CN201780066283.1A priority patent/CN109890576B/en
Priority to CN201780066252.6A priority patent/CN109890575B/en
Priority to PCT/KR2017/009258 priority patent/WO2018038552A1/en
Priority to EP17843971.7A priority patent/EP3505310B1/en
Priority to PCT/KR2017/009260 priority patent/WO2018038553A1/en
Priority to AU2017316089A priority patent/AU2017316089B2/en
Priority to EP17843973.3A priority patent/EP3505312B1/en
Priority to JP2019510776A priority patent/JP7055127B2/en
Priority to JP2019510871A priority patent/JP6785950B2/en
Priority to AU2017316091A priority patent/AU2017316091B2/en
Priority to AU2017316090A priority patent/AU2017316090B2/en
Priority to US16/327,454 priority patent/US11199852B2/en
Priority to EP17843972.5A priority patent/EP3505311B1/en
Priority to CN201780066246.0A priority patent/CN109890574B/en
Priority to PCT/KR2017/009257 priority patent/WO2018038551A1/en
Priority to JP2019510881A priority patent/JP6861797B2/en
Priority to US16/327,449 priority patent/US11150666B2/en
Publication of KR20180023302A publication Critical patent/KR20180023302A/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
    • B25J9/00Programme-controlled manipulators
    • B25J9/0003Home robots, i.e. small robots for domestic use
    • 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
    • B25J9/1666Avoiding collision or forbidden zones
    • 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
    • B25J9/1676Avoiding collision or forbidden zones
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Multimedia (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

One aspect of the present invention relates to a moving robot comprising: a driving unit to move a main body; an image acquisition unit to acquire an image around the main body; a sensor unit including one or more sensors to detect an obstacle during moving; a storage unit to store location information of the detected obstacle and location information of the moving robot when the sensor unit detects the obstacle, to register an area with a predetermined size with respect to a location of the detected obstacle as an obstacle area, and to store an image acquired in the obstacle area by the image acquisition unit; and a control unit including an obstacle recognition module to sequentially recognize an attribute of the obstacle with respect to the images acquired in the obstacle area through the image acquisition unit based on data previously trained by machine learning and to determine a final attribute of the obstacle based on a plurality of sequentially recognized recognition results. Accordingly, the attribute of the obstacle is able to be correctly recognized, and the obstacle area is able to be registered and managed.

Description

이동 로봇 및 그 제어방법{Moving robot and control method thereof}[0001] Moving robot and control method [0002]

본 발명은 이동 로봇 및 그 제어방법에 관한 것으로서, 더욱 상세하게는 머신 러닝(machine learning) 기반의 장애물 인식 및 회피를 수행하는 이동 로봇 및 그 제어 방법에 관한 것이다. The present invention relates to a mobile robot and a control method thereof, and more particularly, to a mobile robot performing obstacle recognition and avoidance based on machine learning and a control method thereof.

로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다. 이러한 로봇 중에서 자력으로 주행이 가능한 것을 이동 로봇이라고 한다. Robots have been developed for industrial use and have been part of factory automation. In recent years, medical robots, aerospace robots, and the like have been developed, and household robots that can be used in ordinary homes are being developed. Among these robots, mobile robots capable of traveling by magnetic force are called mobile robots.

가정에서 사용되는 이동 로봇의 대표적인 예는 로봇 청소기로, 로봇 청소기는 일정 영역을 스스로 주행하면서, 주변의 먼지 또는 이물질을 흡입함으로써, 해당 영역을 청소하는 기기이다. A typical example of a mobile robot used in the home is a robot cleaner. The robot cleaner is a device for cleaning a corresponding area by suctioning dust or foreign matter around the robot while running a certain area by itself.

이동 로봇은, 스스로 이동이 가능하여 이동이 자유롭고, 주행중 장애물 등을 피하기 위한 다수의 센서가 구비되어 장애물을 피해 주행할 수 있다.The mobile robot is capable of moving by itself, is free to move, and is equipped with a plurality of sensors for avoiding obstacles during running, and can travel without obstacles.

일반적으로 이동 로봇의 장애물 감지를 위해 적외선 센서 또는 초음파 센서가 이용된다. 적외선 센서는 장애물에 반사되어 돌아오는 반사광의 광량 또는 수신되는 시간을 통해 장애물의 존재와 거리를 판단하고, 초음파 센서는 소정 주기를 가지는 초음파를 발산하여 장애물에 의해 반사되는 초음파가 있을 경우 초음파 발산 시간과 장애물에 반사되어 되돌아오는 순간의 시간차를 이용하여 장애물과의 거리를 판단한다.In general, an infrared sensor or an ultrasonic sensor is used to detect an obstacle of a mobile robot. The infrared sensor senses the presence and distance of the obstacle through the amount of reflected light or the time of reflected light reflected by the obstacle, and when the ultrasonic sensor emits an ultrasonic wave having a predetermined period and there is an ultrasonic wave reflected by the obstacle, And the distance between the obstacle and the obstacle is determined using the time difference between the moment when the obstacle is reflected and the time when the obstacle is reflected.

한편, 장애물 인식 및 회피는 이동 로봇의 주행 성능 뿐만 아니라 청소 성능에 큰 영향을 미치므로, 장애물 인식 능력의 신뢰성 확보가 요구된다.On the other hand, obstacle recognition and avoidance have a great influence on the cleaning performance as well as the running performance of the mobile robot, and therefore it is required to secure the reliability of the obstacle recognition capability.

종래 기술(등록특허공보 10-0669892호)은 적외선 센서와 초음파 센서를 조합하여 신뢰성 높은 장애물 인식 기술을 구현하는 기술을 개시한다. The prior art (Patent Registration No. 10-0669892) discloses a technology for implementing a reliable obstacle recognition technology by combining an infrared sensor and an ultrasonic sensor.

하지만, 종래 기술(등록특허공보 10-0669892호)은 장애물의 속성을 판별하지 못한다는 문제점이 있다.However, the prior art (Patent Registration No. 10-0669892) has a problem that it can not discriminate the attribute of the obstacle.

도 1은 종래의 이동 로봇의 장애물 감지 및 회피 방법에 관한 설명에 참조되는 도면이다. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram for explaining an obstacle detection and avoidance method of a conventional mobile robot.

도 1을 참조하면, 로봇 청소기는 이동하면서 먼지 및 이물질을 흡입하며 청소를 수행한다(S11).Referring to FIG. 1, the robot cleaner sucks dust and foreign substances while moving and performs cleaning (S11).

초음파 센서에서 장애물에 의해 반사되는 초음파 신호를 감지하여 장애물의 존재를 인식하고(S12), 인식된 장애물의 높이가 넘을 수 있는 높이 인지 여부를 판단하게 된다(S13).The ultrasonic sensor senses the ultrasonic signal reflected by the obstacle and recognizes the existence of the obstacle (S12). It is determined whether the height of the obstacle exceeds the height of the recognized obstacle (S13).

로봇 청소기는, 넘을 수 있는 높이라고 판단되면 직진으로 이동하고(S14), 그렇지 않은 경우에는 90도 회전(S15)하여 이동할 수 있다. If it is determined that the robot cleaner is high enough, the robot cleaner moves straight (S14). Otherwise, the robot cleaner rotates the robot cleaner 90 degrees (S15).

예를 들어, 장애물이 낮은 문턱인 경우. 로봇 청소기는, 문턱을 인식하고, 인식 결과, 통과할 수 있다고 판단하면, 문턱을 넘어서 이동한다. For example, if the obstacle is a low threshold. The robot cleaner recognizes the threshold, and if the robot cleaner judges that the recognition result can pass, it moves beyond the threshold.

하지만, 넘을 수 있는 높이라고 판단한 장애물이 전선이라면 로봇 청소기는 전선을 넘어가다가 전선에 걸려 구속될 수 있다.However, if the obstacle judged to be high enough is a wire, the robot cleaner may pass over the wire and be caught by the wire to be restrained.

또한, 선풍기의 받침대는 문턱과 비슷하거나 낮은 높이를 가지므로, 로봇 청소기는 넘을 수 있는 장애물이라고 판단할 수 있다. 이 경우에, 로봇 청소기는 선풍기의 받침대를 타고 올라가다가 바퀴가 헛돌면서 구속될 수 있다.In addition, since the pedestal of the fan has a height similar to or lower than the threshold, it can be judged that the robot cleaner is an obstacle to overcome. In this case, the robot cleaner rides on the pedestal of the fan, and the wheels can be restrained while idling.

또한, 사람 전체를 인식하지 못하고, 머리카락 등 인모의 일부만 감지된 경우에, 인모를 넘을수 있는 높이라고 판단하고 직진 수행할 수 있으나, 이 경우에는 로봇 청소기가 인모를 흡입할 수 있고 안전 사고가 발생할 수 있다.In addition, if the entire human is not recognized and only a part of the human hair such as hair is detected, it can be determined that the human body is over the human body and straight forward. In this case, however, the robot cleaner can suck human hair, have.

따라서, 전방 장애물의 속성을 파악하여 속성에 맞게 이동 패턴을 변경할 수 있는 방안이 요구된다.Therefore, it is necessary to grasp the property of the front obstacle and to change the movement pattern according to the property.

한편, 최근에는 인공지능과 딥러닝 등 머신 러닝에 관한 관심이 크게 증가하고 있다.On the other hand, interest in machine learning such as artificial intelligence and deep running has greatly increased recently.

종래의 머신 러닝은 통계학 기반의 분류, 회귀, 군집 모델이 중심이었다. 특히, 분류, 회귀 모델의 지도 학습에서는 학습 데이터의 특성과 이러한 특성을 기반으로 새로운 데이터를 구별하는 학습 모델을 사람이 사전에 정의했다. 이와 달리, 딥러닝은 컴퓨터가 스스로 특성을 찾아내고 판별하는 것이다.Conventional machine learning was centered on statistical based classification, regression, and cluster models. In particular, in the learning of classification and regression model learning, a learning model that distinguishes the characteristics of learning data and new data based on these characteristics was defined by a person in advance. Deep learning, on the other hand, is one in which a computer identifies and identifies its own characteristics.

딥러닝의 발전을 가속화한 요인 중 하나로 오픈소스로 제공되는 딥러닝 프레임워크를 들 수 있다. 예를 들어, 딥러닝 프레임워크로는 캐나다 몬트리올 대학교의 시아노(Theano), 미국 뉴욕 대학교의 토치(Torch), 캘리포니아 버클리 대학교의 카페(Caffe), 구글의 텐서플로우(TensorFlow) 등이 있다.One of the factors that accelerated the development of deep learning is the deep-running framework that is provided as open source. For example, the deep learning frameworks include Theano at the University of Montreal, Toronto, Torch at New York University, Caffe at the University of California at Berkeley, and TensorFlow at Google.

딥러닝 프레임워크들의 공개에 따라, 효과적인 학습 및 인식을 위해, 딥러닝 알고리즘 외에 학습 과정, 학습 방법, 학습에 시용하는 데이터의 추출 및 선정이 더욱 중요해지고 있다.With the release of deep learning frameworks, in addition to deep learning algorithms, extraction and selection of data to apply to learning processes, learning methods, and learning are becoming more important for effective learning and recognition.

또한, 인공지능과 머신 러닝을 다양한 제품, 서비스에 이용하기 위한 연구가 증가하고 있다.Also, researches are being conducted to utilize artificial intelligence and machine learning in various products and services.

등록특허공보 10-0669892호 (등록일자 2007. 1. 10.)Patent Registration No. 10-0669892 (registered on January 10, 2007)

본 발명의 목적은, 장애물의 속성을 판단하고, 장애물 속성에 따라 주행 패턴을 조정할 수 있어, 신뢰성 높은 장애물 인식 및 회피 동작을 수행할 수 있는 이동 로봇 및 그 제어방법을 제공함에 있다.It is an object of the present invention to provide a mobile robot and its control method capable of performing obstacle recognition and avoidance operations by determining an attribute of an obstacle and adjusting a traveling pattern according to an obstacle property.

본 발명의 목적은, 장애물의 인식 결과에 따라 전진, 후퇴, 정지, 우회 등의 동작을 수행함으로써 이동 로봇 자체의 안정성 및 사용자의 편의성을 제고하고, 운전 효율, 청소 효율을 향상시킬 수 있는 이동 로봇 및 그 제어방법을 제공함에 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a mobile robot capable of improving the stability of the mobile robot itself and the convenience of the user by improving the operation efficiency and cleaning efficiency by performing actions such as forward, And a control method thereof.

본 발명의 목적은, 머신 러닝에 기반하여 장애물의 속성을 정확하게 인식할 수 있는 이동 로봇 및 그 제어방법을 제공함에 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a mobile robot and a control method thereof that can accurately recognize an attribute of an obstacle based on machine learning.

본 발명의 목적은, 효율적으로 머신 러닝을 수행할 수 있고, 장애물 속성 인식에 사용할 수 있는 데이터를 추출하는 이동 로봇 및 그 제어방법을 제공함에 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a mobile robot and a control method thereof that can efficiently perform machine learning and extract data that can be used for obstacle attribute recognition.

상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇은, 본체를 이동시키는 주행부, 본체 주변의 영상을 획득하는 영상획득부, 이동 중 장애물을 감지하는 하나 이상의 센서를 포함하는 센서부, 센서부가 장애물을 감지하면, 감지된 장애물의 위치 정보와 이동 로봇의 위치 정보를 저장하며, 감지된 장애물의 위치를 중심으로 소정 크기를 가지는 영역을 맵(map)에 장애물지역으로 등록하고, 장애물지역에서 영상획득부가 획득하는 영상을 저장하는 저장부, 및, 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여, 장애물지역에서 영상획득부를 통하여 획득되는 영상들에 대해서 순차적으로 장애물의 속성을 인식하고, 순차적으로 인식된 복수의 인식 결과에 기초하여 장애물의 최종 속성을 판별하는 장애물인식모듈을 포함하는 제어부를 포함함으로써, 정확하게 장애물의 속성을 인식하고 장애물지역을 등록, 관리할 수 있다.According to one aspect of the present invention, there is provided a mobile robot including a traveling unit for moving a main body, an image acquisition unit for acquiring an image around the main body, and a sensor including at least one sensor for sensing an obstacle The controller detects the obstacle and stores the position information of the detected obstacle and the position information of the mobile robot and registers an area having a predetermined size centered on the detected position of the obstacle as an obstacle area in a map, A storage unit for storing an image acquired by the image acquisition unit in an obstacle area, and a storage unit for storing the attributes of the obstacle in succession to the images acquired through the image acquisition unit in the obstacle region, based on the data learned in the machine learning And an obstacle recognition module for recognizing a final attribute of the obstacle based on a plurality of sequentially recognized recognition results By a control unit, it is possible to accurately recognize the attribute of the obstacle, register, and manage the obstacle region.

또한, 상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇은, 인식된 장애물의 최종 속성에 기초하여, 주행부의 구동을 제어하는 주행제어모듈을 포함함으로써, 안정성, 사용자의 편의성, 운전 효율, 청소 효율을 향상시킬 수 있다.In order to achieve the above and other objects, a mobile robot according to an aspect of the present invention includes a traveling control module that controls driving of a traveling part on the basis of a final property of a recognized obstacle, The operation efficiency and the cleaning efficiency can be improved.

또한, 상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇은, 본체를 이동시키는 주행부, 본체 주변의 영상을 획득하는 영상획득부, 이동 중 장애물을 감지하는 하나 이상의 센서를 포함하는 센서부, 센서부가 장애물을 감지하면, 감지된 장애물의 위치 정보와 이동 로봇의 위치 정보를 저장하며, 감지된 장애물의 위치를 중심으로 소정 크기를 가지는 영역을 맵(map)에 장애물지역으로 등록하고, 장애물지역에서 영상획득부가 획득하는 영상을 저장하는 저장부, 및, 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여, 장애물지역에서 영상획득부를 통하여 획득되는 복수의 영상들 각각에 대해서 장애물의 속성을 인식하고, 인식된 복수의 인식 결과에 기초하여 장애물의 최종 속성을 판별하는 장애물인식모듈을 포함하는 제어부를 포함함으로써, 정확하게 장애물의 속성을 인식하고 장애물지역을 등록, 관리할 수 있다.According to another aspect of the present invention, there is provided a mobile robot including a traveling unit for moving a main body, an image acquisition unit for acquiring an image around the main body, and at least one sensor for detecting an obstacle in a traveling state When the sensor unit and the sensor unit detect an obstacle, the position information of the detected obstacle and the position information of the mobile robot are stored, and an area having a predetermined size centered on the position of the detected obstacle is registered as an obstacle area in a map A storage unit for storing an image acquired by the image acquisition unit in the obstacle region, and a storage unit for storing the image acquired by the image acquisition unit in the obstacle region on the basis of the data learned in the machine learning And an obstacle recognition module for recognizing the property of the obstacle and discriminating the final property of the obstacle based on the recognized plurality of recognition results By including parts, it is possible to accurately recognize the attributes of obstacles and registration, managing the obstacle region.

또한, 상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇의 제어방법은, 센서부를 통하여, 이동 중 장애물을 감지하는 단계, 센서부가 장애물을 감지하면, 감지된 장애물의 위치 정보와 이동 로봇의 위치 정보를 저장하며, 감지된 장애물의 위치를 중심으로 소정 크기를 가지는 영역을 맵(map)에 장애물지역으로 등록하는 단계, 이동 중 장애물지역에서 복수의 영상을 획득하는 단계, 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여, 장애물지역을 이동하면서 영상획득부를 통하여 획득되는 영상들에 대해서 순차적으로 장애물의 속성을 인식하는 단계, 순차적으로 인식된 복수의 인식 결과에 기초하여 장애물의 최종 속성을 판별하는 단계, 및, 인식된 장애물의 최종 속성에 기초하여, 주행부의 구동을 제어하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a method of controlling a mobile robot including sensing a moving obstacle through a sensor unit, detecting position information of the detected obstacle when the sensor unit detects the obstacle, Storing a position information of the mobile robot, registering an area having a predetermined size centered on the detected obstacle as an obstacle area in a map, acquiring a plurality of images in an obstacle area during a moving, sequentially recognizing an attribute of an obstacle for images obtained through an image acquisition unit while moving through the obstacle area based on data learned in advance by machine learning; determining, based on a plurality of sequentially recognized recognition results, Determining a final attribute of the obstacle, and controlling the driving of the traveling section based on the final attribute of the recognized obstacle, .

본 발명의 실시 예들 중 적어도 하나에 의하면, 이동 로봇이, 장애물의 속성을 정확히 판단하고, 장애물 속성에 따라 주행 패턴을 조정할 수 있어, 신뢰성 높은 장애물 인식 및 회피 동작을 수행할 수 있다.According to at least one of the embodiments of the present invention, the mobile robot can accurately determine the property of the obstacle and adjust the traveling pattern according to the obstacle property, thereby performing highly reliable obstacle recognition and avoidance operations.

또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 장애물의 인식 결과에 따라 전진, 후퇴, 정지, 우회 등의 동작을 수행함으로써 이동 로봇 자체의 안정성 및 사용자의 편의성을 제고하고, 운전 효율, 청소 효율을 향상시킬 수 있는 이동 로봇 및 그 제어방법을 제공할 수 있다.According to at least one of the embodiments of the present invention, it is possible to improve the stability of the mobile robot itself and the user's convenience by performing operations such as forward, backward, stop, and bypass according to the recognition result of the obstacle, And a control method thereof can be provided.

또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 머신 러닝에 기반하여 장애물의 속성을 정확하게 인식할 수 있는 이동 로봇 및 그 제어방법을 제공할 수 있다.In addition, according to at least one embodiment of the present invention, it is possible to provide a mobile robot and a control method thereof that can accurately recognize an attribute of an obstacle based on machine learning.

또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 이동 로봇이, 효율적으로 머신 러닝을 수행할 수 있고, 장애물 속성 인식에 사용할 수 있는 데이터를 추출할 수 있다.In addition, according to at least one of the embodiments of the present invention, the mobile robot can efficiently perform machine learning and extract data that can be used for obstacle attribute recognition.

한편, 그 외의 다양한 효과는 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 것이다.Meanwhile, various other effects will be directly or implicitly disclosed in the detailed description according to the embodiment of the present invention to be described later.

도 1은 종래의 이동 로봇의 장애물 감지 및 회피 방법에 관한 설명에 참조되는 도면이다.
도 2는 본 발명의 일 실시예에 따른 이동 로봇 및 이동 로봇을 충전시키는 충전대를 도시한 사시도이다.
도 3은 도 2에 도시된 이동 로봇의 상면부를 도시한 도이다.
도 4는 도 2에 도시된 이동 로봇의 정면부를 도시한 도이다.
도 5는 도 2에 도시된 이동 로봇의 저면부를 도시한 도이다.
도 6과 도 7은 본 발명의 실시예에 따른 이동 로봇의 주요 구성들 간의 제어관계를 도시한 블록도이다.
도 8은 본 발명의 일 실시예에 따른 서버의 간략한 내부 블록도의 일예이다.
도 9 내지 도 12는 딥러닝(Deep Learning)에 대한 설명에 참조되는 도면이다.
도 13과 도 14는 장애물 인식에 관한 설명에 참조되는 도면이다.
도 15는 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.
도 16은 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.
도 17은 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.
도 18 내지 도 28은 본 발명의 실시예에 따른 이동 로봇의 제어 방법에 관한 설명에 참조되는 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram for explaining an obstacle detection and avoidance method of a conventional mobile robot.
2 is a perspective view illustrating a mobile robot and a charging base for charging the mobile robot according to an embodiment of the present invention.
FIG. 3 is a top view of the mobile robot shown in FIG. 2. FIG.
FIG. 4 is a front view of the mobile robot shown in FIG. 2. FIG.
FIG. 5 is a view showing a bottom portion of the mobile robot shown in FIG. 2. FIG.
FIG. 6 and FIG. 7 are block diagrams showing control relationships among main components of a mobile robot according to an embodiment of the present invention.
Figure 8 is an illustration of a simplified internal block diagram of a server in accordance with an embodiment of the present invention.
9 to 12 are diagrams referred to in explanation of Deep Learning.
13 and 14 are diagrams referred to in explaining the obstacle recognition.
15 is a flowchart illustrating a method of controlling a mobile robot according to an embodiment of the present invention.
16 is a flowchart illustrating a method of controlling a mobile robot according to an embodiment of the present invention.
17 is a flowchart illustrating a method of controlling a mobile robot according to an embodiment of the present invention.
18 to 28 are diagrams referred to in explaining the control method of the mobile robot according to the embodiment of the present invention.

이하에서는 첨부한 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나 본 발명이 이러한 실시예에 한정되는 것은 아니며 다양한 형태로 변형될 수 있음은 물론이다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, it is needless to say that the present invention is not limited to these embodiments and can be modified into various forms.

도면에서는 본 발명을 명확하고 간략하게 설명하기 위하여 설명과 관계 없는 부분의 도시를 생략하였으며, 명세서 전체를 통하여 동일 또는 극히 유사한 부분에 대해서는 동일한 도면 참조부호를 사용한다. In the drawings, the same reference numerals are used for the same or similar parts throughout the specification.

한편, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.The suffix "module" and " part "for components used in the following description are given merely for convenience of description and do not give special significance or role in themselves. Accordingly, the terms "module" and "part" may be used interchangeably.

본 발명의 일 실시예에 따른 이동 로봇(100)은 바퀴 등을 이용하여 스스로 이동이 가능한 로봇을 의미하고, 가정 도우미 로봇 및 로봇 청소기 등이 될 수 있다. 이하에서는, 도면들을 참조하여, 이동 로봇 중 청소 기능을 가지는 로봇 청소기를 예로 들어 설명하나, 본 발명은 이에 한정되지 않는다.The mobile robot 100 according to an embodiment of the present invention refers to a robot that can move by itself using wheels or the like, and may be a home helper robot and a robot cleaner. Hereinafter, a robot cleaner having a cleaning function of a mobile robot will be described with reference to the drawings, but the present invention is not limited thereto.

도 2는 본 발명의 일 실시예에 따른 이동 로봇 및 이동 로봇을 충전시키는 충전대를 도시한 사시도이다.2 is a perspective view illustrating a mobile robot and a charging base for charging the mobile robot according to an embodiment of the present invention.

도 3은 도 2에 도시된 이동 로봇의 상면부를 도시한 도이며, 도 4는 도 2에 도시된 이동 로봇의 정면부를 도시한 도이고, 도 5는 도 2에 도시된 이동 로봇의 저면부를 도시한 도이다. FIG. 3 is a view illustrating a top portion of the mobile robot shown in FIG. 2. FIG. 4 is a front view of the mobile robot shown in FIG. 2. FIG. It is a degree.

도 6과 도 7은 본 발명의 실시예에 따른 이동 로봇의 주요 구성들 간의 제어관계를 도시한 블록도이다.FIG. 6 and FIG. 7 are block diagrams showing control relationships among main components of a mobile robot according to an embodiment of the present invention.

도 3 내지 도 7을 참조하면, 이동 로봇(100, 100a, 100b)은 본체(110)와, 본체(110) 주변의 영상을 획득하는 영상획득부(120, 120a, 120b)를 포함한다. 3 to 7, the mobile robots 100, 100a, and 100b include a main body 110 and image acquisition units 120, 120a, and 120b that acquire images around the main body 110. FIG.

이하, 본체(110)의 각부분을 정의함에 있어서, 주행구역 내의 천장을 향하는 부분을 상면부(도 3 참조)로 정의하고, 주행구역 내의 바닥을 향하는 부분을 저면부(도 5 참조)로 정의하며, 상면부와 저면부 사이에서 본체(110)의 둘레를 이루는 부분 중 주행방향을 향하는 부분을 정면부(도 4 참조)라고 정의한다. Hereinafter, in defining each portion of the main body 110, a portion facing the ceiling in the running zone is defined as an upper surface portion (see Fig. 3), and a portion facing the floor in the running zone is defined as a bottom portion And a portion of the portion of the periphery of the main body 110 facing the running direction between the upper surface portion and the bottom surface portion is defined as a front surface portion (see FIG. 4).

이동 로봇(100, 100a, 100b)은 본체(110)를 이동시키는 주행부(160)를 포함한다. 주행부(160)는 본체(110)를 이동시키는 적어도 하나의 구동 바퀴(136)를 포함한다. 주행부(160)는 구동 바퀴(136)에 연결되어 구동 바퀴를 회전시키는 구동 모터(미도시)를 포함한다. 구동 바퀴(136)는 본체(110)의 좌, 우 측에 각각 구비될 수 있으며, 이하, 각각 좌륜(136(L))과 우륜(136(R))이라고 한다.The mobile robots 100, 100a and 100b include a traveling unit 160 for moving the main body 110. [ The driving unit 160 includes at least one driving wheel 136 for moving the main body 110. The driving unit 160 includes a driving motor (not shown) connected to the driving wheels 136 to rotate the driving wheels. The driving wheels 136 may be provided on the left and right sides of the main body 110 and will be referred to as the left wheel 136 (L) and the right wheel 136 (R), respectively.

좌륜(136(L))과 우륜(136(R))은 하나의 구동 모터에 의해 구동될 수도 있으나, 필요에 따라 좌륜(136(L))을 구동시키는 좌륜 구동 모터와 우륜(136(R))을 구동시키는 우륜 구동 모터가 각각 구비될 수도 있다. 좌륜(136(L))과 우륜(136(R))의 회전 속도에 차이를 두어 좌측 또는 우측으로 본체(110)의 주행방향을 전환할 수 있다.The left wheel 136 (L) and the right wheel 136 (R) may be driven by a single drive motor, but may be driven by a left wheel drive motor and a right wheel 136 (R) And a right wheel drive motor for driving the right wheel drive motor. The running direction of the main body 110 can be switched to the left or right side by making a difference in rotational speed between the left wheel 136 (L) and the right wheel 136 (R).

본체(110)의 저면부에는 공기의 흡입이 이루어지는 흡입구(110h)가 형성될 수 있으며, 본체(110) 내에는 흡입구(110h)를 통해 공기가 흡입될 수 있도록 흡입력을 제공하는 흡입장치(미도시)와, 흡입구(110h)를 통해 공기와 함께 흡입된 먼지를 집진하는 먼지통(미도시)이 구비될 수 있다.A suction port 110h for sucking in air may be formed on the bottom surface of the main body 110. A suction device for supplying suction force for sucking air through the suction port 110h is provided in the main body 110 And a dust container (not shown) for dust collecting with the air through the suction port 110h.

본체(110)는 이동 로봇(100, 100a, 100b)을 구성하는 각종 부품들이 수용되는 공간을 형성하는 케이스(111)를 포함할 수 있다. 케이스(111)에는 상기 먼지통의 삽입과 탈거를 위한 개구부가 형성될 수 있고, 개구부를 여닫는 먼지통 커버(112)가 케이스(111)에 대해 회전 가능하게 구비될 수 있다.The main body 110 may include a case 111 forming a space for accommodating various components constituting the mobile robots 100, 100a, and 100b. An opening for inserting and removing the dust container may be formed in the case 111, and a dust container cover 112 for opening and closing the opening may be rotatably provided with respect to the case 111.

흡입구(110h)를 통해 노출되는 솔들을 갖는 롤형의 메인 브러시(134)와, 본체(110)의 저면부 전방측에 위치하며, 방사상으로 연장된 다수개의 날개로 이루어진 솔을 갖는 보조 브러시(135)가 구비될 수 있다. 이들 브러시(134, 135)들의 회전에 의해 주행구역 내 바닥으로부터 먼지들이 분리되며, 이렇게 바닥으로부터 분리된 먼지들은 흡입구(110h)를 통해 흡입되어 먼지통에 모인다.An auxiliary brush 135 having a brush having a plurality of blades extending radially and located on the front side of the bottom surface of the main body 110, May be provided. By the rotation of the brushes 134 and 135, the dusts are separated from the floor in the traveling zone, and the dusts separated from the floor are sucked through the suction port 110h and collected in the dustbin.

배터리(138)는 구동 모터뿐만 아니라, 이동 로봇(100, 100a, 100b)의 작동 전반에 필요한 전원을 공급한다. 배터리(138)가 방전될 시, 이동 로봇(100, 100a, 100b)은 충전을 위해 충전대(200)로 복귀하는 주행을 실시할 수 있으며, 이러한 복귀 주행 중, 이동 로봇(100, 100a, 100b)은 스스로 충전대(200)의 위치를 탐지할 수 있다.The battery 138 supplies not only the drive motor but also the power required for the overall operation of the mobile robots 100, 100a and 100b. When the battery 138 is discharged, the mobile robots 100, 100a, and 100b can travel to return to the charging base 200 for charging. During the return travel, the mobile robots 100, 100a, Can detect the position of the charging stand 200 by itself.

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

이동 로봇(100, 100a, 100b)은 복귀 신호를 수신하는 신호 감지부(미도시)를 포함할 수 있다. 충전대(200)는 신호 송출부를 통해 적외선 신호를 송출하고, 신호 감지부는 적외선 신호를 감지하는 적외선 센서를 포함할 수 있다. 이동 로봇(100, 100a, 100b)은 충전대(200)로부터 송출된 적외선 신호에 따라 충전대(200)의 위치로 이동하여 충전대(200)와 도킹(docking)한다. 이러한 도킹에 의해 이동 로봇(100, 100a, 100b)의 충전 단자(133)와 충전대(200)의 충전 단자(210) 간에 충전에 이루어진다.The mobile robots 100, 100a and 100b may include a signal sensing unit (not shown) for receiving a return signal. The charging base 200 may transmit an infrared signal through a signal transmitting unit, and the signal sensing unit may include an infrared sensor that senses an infrared signal. The mobile robots 100, 100a and 100b move to the position of the charging base 200 according to the infrared signal transmitted from the charging base 200 and dock the charging base 200. [ The charging is performed between the charging terminal 133 of the mobile robots 100, 100a and 100b and the charging terminal 210 of the charging stand 200 by such docking.

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

바람직하게, 영상획득부(120)는, 본체(110) 전방의 영상을 획득하도록 구비되는 전면 카메라(120a)와 본체(110)의 상면부에 구비되어, 주행구역 내의 천장에 대한 영상을 획득하는 상부 카메라(120b)를 구비하나, 영상획득부(120)의 위치와 촬영범위가 반드시 이에 한정되어야 하는 것은 아니다. The image acquisition unit 120 may include a front camera 120a provided to acquire an image of the front of the main body 110 and an image acquisition unit 120b provided on the upper surface of the main body 110 to acquire images of the ceiling And the upper camera 120b, but the position and the photographing range of the image obtaining unit 120 are not necessarily limited thereto.

본 실시예의 경우, 이동 로봇의 일부 부위(ex, 전방, 후방, 저면)에 카메라가 설치되어 있으며, 청소 시에 촬상영상을 지속적으로 획득할 수 있다. 이러한 카메라는 촬영 효율을 위해 각 부위별로 여러 개가 설치될 수도 있다. 카메라에 의해 촬상된 영상은 해당 공간에 존재하는 먼지, 머리카락, 바닥 등과 같은 물질의 종류 인식,청소 여부, 또는 청소 시점을 확인하는데 사용할 수 있다.In the case of this embodiment, a camera is provided at a part (ex, front, rear, bottom) of the mobile robot, and the captured image can be continuously acquired at the time of cleaning. Several cameras may be installed for each part of the camera for photographing efficiency. The image captured by the camera can be used to identify the kind of material such as dust, hair, floor, etc. present in the space, whether it is cleaned, or to confirm the cleaning time.

전면 카메라(120a)는 이동 로봇(100, 100a, 100b)의 주행 방향 전면에 존재하는 장애물 또는 청소 영역의 상황을 촬영할 수 있다.The front camera 120a can photograph an obstacle present in the traveling direction of the mobile robots 100, 100a and 100b or a situation of the cleaning area.

본 발명의 일 실시예에 따르면, 상기 영상획득부(120)는 본체(110) 주변을 연속적으로 촬영하여 복수의 영상을 획득할 수 있고, 획득된 복수의 영상은 저장부(150)에 저장될 수 있다.According to an embodiment of the present invention, the image acquiring unit 120 may acquire a plurality of images by continuously photographing the periphery of the main body 110, and the obtained plurality of images may be stored in the storage unit 150 .

이동 로봇(100, 100a, 100b)은 복수의 영상을 이용하여 장애물 인식의 정확성을 높이거나, 복수의 영상 중 하나 이상의 영상을 선택하여 효과적인 데이터를 사용함으로써 장애물 인식의 정확성을 높일 수 있다.The mobile robots 100, 100a and 100b can improve accuracy of obstacle recognition by using a plurality of images, or by selecting one or more images from a plurality of images and using effective data.

또한, 이동 로봇(100, 100a, 100b)은 이동 로봇의 동작, 상태와 관련된 각종 데이터를 센싱하는 센서들을 포함하는 센서부(170)를 포함할 수 있다.In addition, the mobile robots 100, 100a, and 100b may include a sensor unit 170 including sensors for sensing various data related to the operation and state of the mobile robot.

예를 들어, 상기 센서부(170)는 전방의 장애물을 감지하는 장애물 감지센서(131)를 포함할 수 있다. 또한, 상기 센서부(170)는 주행구역 내 바닥에 낭떠러지의 존재 여부를 감지하는 낭떠러지 감지센서(132)와, 바닥의 영상을 획득하는 하부 카메라 센서(139)를 더 포함할 수 있다. For example, the sensor unit 170 may include an obstacle detection sensor 131 for sensing an obstacle ahead. The sensor unit 170 may further include a cliff detection sensor 132 for detecting the presence or absence of a cliff on the floor in the driving area and a lower camera sensor 139 for acquiring a bottom image.

도 2와 도 4를 참조하면, 상기 장애물 감지센서(131)는 이동 로봇(100)의 외주면에 일정 간격으로 설치되는 복수의 센서를 포함할 수 있다.  Referring to FIGS. 2 and 4, the obstacle detection sensor 131 may include a plurality of sensors installed on the outer circumferential surface of the mobile robot 100 at regular intervals.

예를 들어, 상기 센서부(170)는, 상기 본체(110)의 전면에 배치되는 제1 센서, 상기 제1 센서로부터 좌, 우로 이격되도록 배치되는 제2 센서 및 제3 센서를 포함할 수 있다.For example, the sensor unit 170 may include a first sensor disposed on the front surface of the main body 110, a second sensor disposed left and right from the first sensor, and a third sensor .

상기 장애물 감지센서(131)는, 적외선 센서, 초음파 센서, RF 센서, 지자기 센서, PSD(Position Sensitive Device) 센서 등을 포함할 수 있다.The obstacle detection sensor 131 may include an infrared sensor, an ultrasonic sensor, an RF sensor, a geomagnetic sensor, a position sensitive device (PSD) sensor, and the like.

한편, 상기 장애물 감지센서(131)에 포함되는 센서의 위치와 종류는 이동 로봇의 기종에 따라 달라질 수 있고, 상기 장애물 감지센서(131)는 더 다양한 센서를 포함할 수 있다.Meanwhile, the position and type of the sensor included in the obstacle detection sensor 131 may vary depending on the type of the mobile robot, and the obstacle detection sensor 131 may include more various sensors.

상기 장애물 감지센서(131)는 실내의 벽이나 장애물과의 거리를 감지하는 센서로, 본 발명은 그 종류에 한정되지 않으나, 이하에서는 초음파 센서를 예시하여 설명한다. The obstacle detection sensor 131 is a sensor for detecting a distance to a wall or an obstacle in a room, and the present invention is not limited to this type, but an ultrasonic sensor will be described below as an example.

상기 장애물 감지센서(131)는 이동 로봇의 주행(이동) 방향에 존재하는 물체, 특히 장애물을 감지하여 장애물 정보를 제어부(140)에 전달한다. 즉, 상기 장애물 감지센서(131)는, 이동 로봇의 이동 경로, 전방이나 측면에 존재하는 돌출물, 집안의 집기, 가구, 벽면, 벽 모서리 등을 감지하여 그 정보를 제어 유닛에 전달할 수 있다. The obstacle detection sensor 131 senses an object, particularly an obstacle, existing in a traveling direction (movement direction) of the mobile robot, and transmits the obstacle information to the control unit 140. That is, the obstacle detection sensor 131 can sense the moving path of the mobile robot, the protrusions present on the front or side of the robot, the furniture of the house, the furniture, the wall, the wall edge, and the like and transmit the information to the control unit.

이때, 제어부(140)는 초음파 센서를 통해 수신된 적어도 2 이상의 신호에 기초하여 장애물의 위치를 감지하고, 감지된 장애물의 위치에 따라 이동 로봇(100)의 움직임을 제어할 수 있다.At this time, the controller 140 detects the position of the obstacle based on at least two signals received through the ultrasonic sensor, and controls the movement of the mobile robot 100 according to the position of the detected obstacle.

실시예에 따라서는, 케이스(110)의 외측면에 구비되는 장애물 감지 센서(131)는 발신부와 수신부를 포함하여 구성될 수 있다. According to an embodiment, the obstacle detection sensor 131 provided on the outer surface of the case 110 may include a transmitter and a receiver.

예를 들어, 초음파 센서는 적어도 하나 이상의 발신부 및 적어도 2 이상의 수신부가 서로 엇갈리도록 구비될 수 있다. 이에 따라, 다양한 각도로 신호를 방사하고, 장애물에 반사된 신호를 다양한 각도에서 수신할 수 있다.For example, the ultrasonic sensor may be provided such that at least one transmitting portion and at least two receiving portions are staggered from each other. Accordingly, it is possible to radiate signals at various angles and to receive signals reflected from the obstacles at various angles.

실시예에 따라서는, 장애물 감지센서(131)에서 수신된 신호는, 증폭, 필터링 등의 신호 처리 과정을 거칠 수 있고, 이후 장애물까지의 거리 및 방향이 산출될 수 있다.According to an embodiment, the signal received by the obstacle detection sensor 131 may undergo signal processing such as amplification, filtering, and the like, and then the distance and direction to the obstacle may be calculated.

한편, 상기 센서부(170)는 본체(110)의 구동에 따른 이동 로봇(100, 100a, 100b)의 동작을 감지하고 동작 정보를 출력하는 동작 감지 센서를 더 포함할 수 있다. 동작 감지 센서로는, 자이로 센서(Gyro Sensor), 휠 센서(Wheel Sensor), 가속도 센서(Acceleration Sensor) 등을 사용할 수 있다. 동작 감지 센서에서 감지되는 데이터 또는 동작 감지 센서에서 감지되는 데이터에 기초하여 산출되는 데이터는 오도메트리(odometry) 정보를 구성할 수 있다.The sensor unit 170 may further include a motion detection sensor for sensing motion of the mobile robot 100, 100a, and 100b according to driving of the main body 110, and outputting motion information. As the motion detection sensor, a gyro sensor, a wheel sensor, an acceleration sensor, or the like can be used. The data detected based on the data detected by the motion detection sensor or the data detected by the motion detection sensor can constitute odometry information.

자이로 센서는, 이동 로봇(100, 100a, 100b)이 운전 모드에 따라 움직일 때 회전 방향을 감지하고 회전각을 검출한다. 자이로 센서는, 이동 로봇(100, 100a, 100b)의 각속도를 검출하여 각속도에 비례하는 전압 값을 출력한다. 제어부(140)는 자이로 센서로부터 출력되는 전압 값을 이용하여 회전 방향 및 회전각을 산출한다.The gyro sensor detects the rotation direction and detects the rotation angle when the mobile robots 100, 100a, 100b move according to the operation mode. The gyro sensor detects the angular velocity of the mobile robots 100, 100a and 100b and outputs a voltage value proportional to the angular velocity. The control unit 140 calculates the rotation direction and the rotation angle using the voltage value output from the gyro sensor.

휠 센서는, 좌륜(136(L))과 우륜(136(R))에 연결되어 바퀴의 회전수를 감지한다. 여기서, 휠 센서는 로터리 엔코더(Rotary Encoder)일 수 있다. 로터리 엔코더는 좌륜(136(L))과 우륜(136(R))의 회전수를 감지하여 출력한다. The wheel sensor is connected to the left wheel 136 (L) and the right wheel 136 (R) to sense the number of revolutions of the wheel. Here, the wheel sensor may be a rotary encoder. The rotary encoder senses and outputs the number of rotations of the left wheel 136 (L) and the right wheel 136 (R).

제어부(140)는 회전수를 이용하여 좌, 우측 바퀴의 회전 속도를 연산할 수 있다. 또한, 제어부(140)는 좌륜(136(L))과 우륜(136(R))의 회전수 차이를 이용하여 회전각을 연산할 수 있다.The control unit 140 can calculate the rotational speeds of the left and right wheels using the number of rotations. The control unit 140 can calculate the rotation angle using the difference in the number of revolutions of the left wheel 136 (L) and the right wheel 136 (R).

가속도 센서는, 이동 로봇(100, 100a, 100b)의 속도 변화, 예를 들어, 출발, 정지, 방향 전환, 물체와의 충돌 등에 따른 이동 로봇(100, 100a, 100b)의 변화를 감지한다. 가속도 센서는 주 바퀴나 보조바퀴의 인접 위치에 부착되어, 바퀴의 미끄러짐이나 공회전을 검출할 수 있다.The acceleration sensor senses a change in the speed of the mobile robots 100, 100a, 100b, for example, changes in the mobile robots 100, 100a, 100b due to start, stop, change of direction or collision with an object. The acceleration sensor is attached to the main wheel or the adjoining positions of the auxiliary wheels, so that the slip or idling of the wheel can be detected.

또한, 가속도 센서는 제어부(140)에 내장되어 이동 로봇(100, 100a, 100b)의 속도 변화를 감지할 수 있다. 즉, 가속도 센서는 속도 변화에 따른 충격량을 검출하여 이에 대응하는 전압 값을 출력한다. 따라서, 가속도 센서는 전자식 범퍼의 기능을 수행할 수 있다.In addition, the acceleration sensor is embedded in the control unit 140 and can detect a speed change of the mobile robots 100, 100a, and 100b. That is, the acceleration sensor detects the amount of impact according to the speed change and outputs a corresponding voltage value. Thus, the acceleration sensor can perform the function of an electronic bumper.

제어부(140)는 동작 감지 센서로부터 출력된 동작 정보에 기초하여 이동 로봇(100, 100a, 100b)의 위치 변화를 산출할 수 있다. 이러한 위치는 영상 정보를 이용한 절대 위치에 대응하여 상대 위치가 된다. 이동 로봇은 이러한 상대 위치 인식을 통해 영상 정보와 장애물 정보를 이용한 위치 인식의 성능을 향상시킬 수 있다.The control unit 140 can calculate the positional change of the mobile robots 100, 100a, and 100b based on the motion information output from the motion detection sensor. Such a position is a relative position corresponding to the absolute position using the image information. The mobile robot can improve the performance of the position recognition using the image information and the obstacle information through the relative position recognition.

한편, 이동 로봇(100, 100a, 100b)은 충전 가능한 배터리(138)를 구비하여 로봇 청소기 내로 전원을 공급하는 전원 공급부(미도시)를 포함할 수 있다.Meanwhile, the mobile robots 100, 100a, and 100b may include a power supply unit (not shown) that includes a rechargeable battery 138 to supply power to the robot cleaner.

상기 전원 공급부는 이동 로봇(100, 100a, 100b)의 각 구성 요소들에 구동 전원과, 동작 전원을 공급하며, 전원 잔량이 부족하면 충전대(200)에서 충전 전류를 공급받아 충전될 수 있다. The power supply unit supplies driving power and operating power to the respective components of the mobile robots 100, 100a and 100b, and can be charged by receiving a charging current from the charging stand 200 when the remaining power is insufficient.

이동 로봇(100, 100a, 100b)은 배터리(138)의 충전 상태를 감지하고, 감지 결과를 제어부(140)에 전송하는 배터리 감지부(미도시)를 더 포함할 수 있다. 배터리(138)는 배터리 감지부와 연결되어 배터리 잔량 및 충전 상태가 제어부(140)에 전달된다. 배터리 잔량은 출력부(미도시)의 화면에 표시될 수 있다.The mobile robots 100, 100a and 100b may further include a battery sensing unit (not shown) for sensing the state of charge of the battery 138 and transmitting the sensing result to the control unit 140. [ The battery 138 is connected to the battery sensing unit, and the battery remaining amount and charging state are transmitted to the control unit 140. The remaining battery level can be displayed on the screen of the output unit (not shown).

또한, 이동 로봇(100, 100a, 100b)은 온/오프(On/Off) 또는 각종 명령을 입력할 수 있는 조작부(137)를 포함한다. 조작부(137)를 통해 이동 로봇(100)의 작동 전반에 필요한 각종 제어명령을 입력받을 수 있다. 또한, 이동 로봇(100, 100a, 100b)은 출력부(미도시)를 포함하여, 예약 정보, 배터리 상태, 동작모드, 동작상태, 에러상태 등을 표시할 수 있다. In addition, the mobile robots 100, 100a, and 100b include an operation unit 137 that can turn on / off or input various commands. Various control commands necessary for the overall operation of the mobile robot 100 can be inputted through the operation unit 137. [ In addition, the mobile robots 100, 100a, and 100b can display reservation information, a battery state, an operation mode, an operation state, an error state, and the like, including an output unit (not shown).

도 6과 도 7을 참조하면, 이동 로봇(100a, 100b)은 현재 위치를 인식하는 등 각종 정보를 처리하고 판단하는 제어부(140), 및 각종 데이터를 저장하는 저장부(150)를 포함한다. 또한, 이동 로봇(100, 100a, 100b)은 외부 단말기와 데이터를 송수신하는 통신부(190)를 더 포함할 수 있다. Referring to FIGS. 6 and 7, the mobile robots 100a and 100b include a controller 140 for processing and determining various information such as recognizing a current position, and a storage unit 150 for storing various data. In addition, the mobile robots 100, 100a and 100b may further include a communication unit 190 for transmitting and receiving data to / from an external terminal.

외부 단말기는 이동 로봇(100a, 100b)을 제어하기 위한 애플리케이션을 구비하고, 애플리케이션의 실행을 통해 이동 로봇(100a, 100b)이 청소할 주행구역에 대한 맵을 표시하고, 맵 상에 특정 영역을 청소하도록 영역을 지정할 수 있다. 외부 단말기는 맵 설정을 위한 애플리케이션(application)이 탑재된 리모콘, PDA, 랩탑(laptop), 스마트 폰, 태블릿 등을 예로 들 수 있다. The external terminal is provided with an application for controlling the mobile robots 100a and 100b and displays a map of the traveling area to be cleaned by the mobile robots 100a and 100b through execution of the application and cleans a specific area on the map The area can be specified. The external terminal may be, for example, a remote controller, a PDA, a laptop, a smart phone, or a tablet on which an application for setting a map is mounted.

외부 단말기는 이동 로봇(100a, 100b)과 통신하여, 맵과 함께 이동 로봇의 현재 위치를 표시할 수 있으며, 복수의 영역에 대한 정보가 표시될 수 있다. 또한, 외부 단말기는 이동 로봇의 주행에 따라 그 위치를 갱신하여 표시한다. The external terminal can communicate with the mobile robots 100a and 100b to display the current position of the mobile robot together with the map, and information about a plurality of areas can be displayed. Further, the external terminal updates its position and displays it according to the traveling of the mobile robot.

제어부(140)는 이동 로봇(100a, 100b)를 구성하는 영상획득부(120), 조작부(137), 주행부(160)를 제어하여, 이동 로봇(100)의 동작 전반을 제어한다. The control unit 140 controls the overall operation of the mobile robot 100 by controlling the image acquisition unit 120, the operation unit 137 and the travel unit 160 constituting the mobile robots 100a and 100b.

저장부(150)는 이동 로봇(100)의 제어에 필요한 각종 정보들을 기록하는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 기록 매체는 마이크로 프로세서(micro processor)에 의해 읽힐 수 있는 데이터를 저장한 것으로, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등을 포함할 수 있다.The storage unit 150 records various types of information required for controlling the mobile robot 100, and may include a volatile or nonvolatile recording medium. The storage medium stores data that can be read by a microprocessor, and includes a hard disk drive (HDD), a solid state disk (SSD), a silicon disk drive (SDD), a ROM, a RAM, a CD- Tape, floppy disk, optical data storage, and the like.

또한, 저장부(150)에는 주행구역에 대한 맵(Map)이 저장될 수 있다. 맵은 이동 로봇(100a, 100b)과 유선 또는 무선 통신을 통해 정보를 교환할 수 있는 외부 단말기, 서버 등에 의해 입력된 것일 수도 있고, 이동 로봇(100a, 100b)이 스스로 학습을 하여 생성한 것일 수도 있다. Also, the storage unit 150 may store a map of the driving area. The map may be input by an external terminal, a server or the like capable of exchanging information with the mobile robots 100a and 100b through wired or wireless communication, or may be one generated by self-learning by the mobile robots 100a and 100b have.

맵에는 주행구역 내의 방들의 위치가 표시될 수 있다. 또한, 이동 로봇(100a, 100b)의 현재 위치가 맵 상에 표시될 수 있으며, 맵 상에서의 이동 로봇(100a, 100b)의 현재의 위치는 주행 과정에서 갱신될 수 있다. 외부 단말기는 저장부(150)에 저장된 맵과 동일한 맵을 저장한다. The map can display the location of the rooms in the driving area. In addition, the current position of the mobile robots 100a, 100b can be displayed on the map, and the current position of the mobile robots 100a, 100b on the map can be updated in the course of travel. The external terminal stores the same map as the map stored in the storage unit 150.

상기 저장부(150)는 청소 이력 정보를 저장할 수 있다. 이러한 청소 이력 정보는 청소를 수행할 때마다 생성될 수 있다.The storage unit 150 may store cleaning history information. Such cleaning history information can be generated each time cleaning is performed.

상기 저장부(150)에 저장되는 주행구역에 대한 맵(Map)은, 청소 중 주행에 사용되는 내비게이션 맵(Navigation map), 위치 인식에 사용되는SLAM(Simultaneous localization and mapping) 맵, 장애물 등에 부딪히면 해당 정보를 저장하여 학습 청소시 사용하는 학습 맵, 전역 위치 인식에 사용되는 전역 위치 맵, 인식된 장애물에 관한 정보가 기록되는 장애물 인식 맵 등일 수 있다. The map of the driving area stored in the storage unit 150 may be a navigation map used for traveling during cleaning, a simultaneous localization and mapping (SLAM) map used for position recognition, A learning map for storing information to be used for learning cleaning, a global location map used for global location recognition, an obstacle recognition map for recording information on recognized obstacles, and the like.

한편, 상술한 바와 같이 용도별로 상기 저장부(150)에 맵들을 구분하여 저장, 관리할 수 있지만, 맵이 용도별로 명확히 구분되지 않을 수도 있다. 예를 들어, 적어도 2 이상의 용도로 사용할 수 있도록 하나의 맵에 복수의 정보를 저장할 수도 있다.Meanwhile, although the maps can be separately stored and managed in the storage unit 150 according to the usage as described above, the maps may not be clearly classified for each use. For example, a plurality of pieces of information may be stored in one map for use in at least two applications.

제어부(140)는 주행제어모듈(141), 위치인식모듈(142), 지도생성모듈(143) 및 장애물인식모듈(144)을 포함할 수 있다. The control unit 140 may include a travel control module 141, a location recognition module 142, a map generation module 143, and an obstacle recognition module 144.

도 3 내지 도 7을 참조하면, 주행제어모듈(141)은 이동 로봇(100, 100a, 100b)의 주행을 제어하는 것으로, 주행 설정에 따라 주행부(160)의 구동을 제어한다. 또한, 주행제어모듈(141)은 주행부(160)의 동작을 바탕으로 이동 로봇(100, 100a, 100b)의 주행경로를 파악할 수 있다. 예를 들어, 주행제어모듈(141)은 구동 바퀴(136)의 회전속도를 바탕으로 이동 로봇(100)의 현재 또는 과거의 이동속도, 주행한 거리 등을 파악할 수 있으며, 각 구동 바퀴(136(L), 136(R))의 회전 방향에 따라 현재 또는 과거의 방향 전환 과정 또한 파악할 수 있다. 이렇게 파악된 이동 로봇(100, 100a, 100b)의 주행 정보를 바탕으로, 맵 상에서 이동 로봇(100, 100a, 100b)의 위치가 갱신될 수 있다. 3 to 7, the travel control module 141 controls traveling of the mobile robots 100, 100a, and 100b, and controls driving of the travel unit 160 according to the travel setting. In addition, the travel control module 141 can grasp the travel paths of the mobile robots 100, 100a, and 100b based on the operation of the travel unit 160. [ For example, the driving control module 141 can grasp the current or past traveling speed and the traveling distance of the mobile robot 100 based on the rotational speed of the driving wheel 136, L), 136 (R)), the current or past direction change process can be grasped. The positions of the mobile robots 100, 100a, and 100b on the map can be updated based on the travel information of the mobile robots 100, 100a, and 100b thus identified.

지도생성모듈(143)은 주행구역의 맵을 생성할 수 있다. 지도생성모듈(143)은 영상획득부(120)를 통해 획득한 영상을 처리하여 맵을 작성할 수 있다. 즉, 청소 영역과 대응되는 청소 맵을 작성할 수 있다.The map generating module 143 may generate a map of the running area. The map generation module 143 can process the image acquired through the image acquisition unit 120 to generate a map. That is, a cleaning map corresponding to the cleaning area can be created.

또한, 지도생성모듈(143)은 각 위치에서 영상획득부(120)를 통해 획득한 영상을 처리하여 맵과 연계시켜 전역위치를 인식할 수 있다.Also, the map generation module 143 can process the image acquired through the image acquisition unit 120 at each position and recognize the global position in association with the map.

위치인식모듈(142)은 현재 위치를 추정하여 인식한다. 위치인식모듈(142)은 영상획득부(120)의 영상 정보를 이용하여 지도생성모듈(143)과 연계하여 위치를 파악함으로써, 이동 로봇(100, 100a, 100b)의 위치가 갑자기 변경되는 경우에도 현재 위치를 추정하여 인식할 수 있다.The position recognition module 142 estimates and recognizes the current position. The position recognition module 142 grasps the position in association with the map generation module 143 using the image information of the image acquisition unit 120 so that even when the positions of the mobile robots 100, 100a, 100b suddenly change The current position can be estimated and recognized.

이동 로봇(100, 100a, 100b)은 위치인식모듈(142)을 통해 연속적인 주행 중에 위치 인식이 가능하고 또한, 위치인식모듈(142) 없이 주행제어모듈(141), 지도생성모듈(143), 장애물인식모듈(144)을 통해, 맵을 학습하고 현재 위치를 추정할 수 있다. The mobile robots 100, 100a and 100b are capable of recognizing the position during the continuous running through the position recognition module 142 and are also capable of executing the driving control module 141, the map generation module 143, Through the obstacle recognition module 144, the map can be learned and the current position can be estimated.

이동 로봇(100, 100a, 100b)이 주행하는 중에, 영상획득부(120)는 이동 로봇(100) 주변의 영상들을 획득한다. 이하, 영상획득부(120)에 의해 획득된 영상을 '획득영상'이라고 정의한다. The image acquisition unit 120 acquires images of the surroundings of the mobile robot 100 while the mobile robots 100, 100a, and 100b are traveling. Hereinafter, the image acquired by the image acquisition unit 120 is defined as an 'acquired image'.

획득영상에는 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 포함된다. The acquired image includes various features such as lights, edges, corners, blobs, ridges, etc., located on the ceiling.

지도생성모듈(143)은 획득영상들 각각으로부터 특징을 검출한다. 컴퓨터 비전(Computer Vision) 기술 분야에서 영상으로부터 특징을 검출하는 다양한 방법(Feature Detection)이 잘 알려져 있다. 이들 특징의 검출에 적합한 여러 특징검출기(feature detector)들이 알려져 있다. 예를 들어, Canny, Sobel, Harris&Stephens/Plessey, SUSAN, Shi&Tomasi, Level curve curvature, FAST, Laplacian of Gaussian, Difference of Gaussians, Determinant of Hessian, MSER, PCBR, Grey-level blobs 검출기 등이 있다.The map generation module 143 detects the feature from each of the acquired images. Various methods for detecting features from an image in the field of Computer Vision (Feature Detection) are well known. Several feature detectors suitable for detecting these features are known. For example, Canny, Sobel, Harris & Stephens / Plessey, SUSAN, Shi & Tomasi, Level curve curvature, FAST, Laplacian of Gaussian, Difference of Gaussians, Determinant of Hessian, MSER, PCBR and Gray-level blobs detector.

지도생성모듈(143)은 각 특징점을 근거로 디스크립터를 산출한다. 지도생성모듈(143)은 특징 검출을 위해 SIFT(Scale Invariant Feature Transform) 기법을 이용하여 특징점을 디스크립터(descriptor)로 변환할 수 있다. 디스크립터는 n차원 벡터(vector)로 표기될 수 있다.The map generation module 143 calculates a descriptor based on each minutiae point. The map generation module 143 may convert a feature point into a descriptor using a Scale Invariant Feature Transform (SIFT) technique for feature detection. The descriptor may be denoted by an n-dimensional vector.

SIFT는 촬영 대상의 스케일(scale), 회전, 밝기변화에 대해서 불변하는 특징을 검출할 수 있어, 같은 영역을 이동 로봇(100)의 자세를 달리하며 촬영하더라도 불변하는(즉, 회전 불변한(Rotation-invariant)) 특징을 검출할 수 있다. 물론, 이에 한정되지 않고 다른 다양한 기법(예를 들어, HOG: Histogram of Oriented Gradient, Haar feature, Fems, LBP:Local Binary Pattern, MCT:Modified Census Transform)들이 적용될 수도 있다.The SIFT can detect unchanging features with respect to changes in scale, rotation, and brightness of an object to be photographed. Even if the same region is photographed with a different attitude of the mobile robot 100 (i.e., -invariant) can be detected. Of course, various other techniques (e.g., HOG: Histogram of Oriented Gradient, Haar feature, Fems, Local Binary Pattern (LBP), Modified Census Transform (MCT)) may be applied.

지도생성모듈(143)은 각 위치의 획득영상을 통해 얻은 디스크립터 정보를 바탕으로, 획득영상마다 적어도 하나의 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하고, 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수 있다.The map generation module 143 classifies at least one descriptor for each acquired image into a plurality of groups according to a predetermined lower classification rule on the basis of the descriptor information obtained through the acquired image of each position, Can be converted into lower representative descriptors, respectively.

다른 예로, 실(room)과 같이 소정 구역내의 획득영상 들로부터 모인 모든 디스크립터를 소정 하위 분류규칙에 따라 복수의 군으로 분류하여 상기 소정 하위 대표규칙에 따라 같은 군에 포함된 디스크립터들을 각각 하위 대표 디스크립터로 변환할 수도 있다. As another example, it is also possible to classify all descriptors gathered from acquired images in a predetermined area, such as a room, into a plurality of groups according to a predetermined sub-classification rule, and write descriptors included in the same group according to the predetermined lower representative rule, . ≪ / RTI >

지도생성모듈(143)은 이 같은 과정을 거쳐, 각 위치의 특징분포를 구할 수 있다. 각 위치 특징분포는 히스토그램 또는 n차원 벡터로 표현될 수 있다. 또 다른 예로, 지도생성모듈(143)은 소정 하위 분류규칙 및 소정 하위 대표규칙을 거치지 않고, 각 특징점으로부터 산출된 디스크립터를 바탕으로 미지의 현재위치를 추정할 수 있다. The map generation module 143 can obtain the feature distribution of each position through such a process. Each position feature distribution can be represented as a histogram or an n-dimensional vector. As another example, the map generation module 143 can estimate an unknown current position based on descriptors calculated from each feature point, without going through a predetermined lower classification rule and a predetermined lower representative rule.

또한, 위치 도약 등의 이유로 이동 로봇(100, 100a, 100b)의 현재 위치가 미지의 상태가 된 경우에, 기 저장된 디스크립터 또는 하위 대표 디스크립터 등의 데이터를 근거로 현재 위치를 추정할 수 있다. In addition, when the current position of the mobile robots 100, 100a, 100b is in an unknown state due to a positional jump or the like, the current position can be estimated based on data such as a pre-stored descriptor or a lower representative descriptor.

이동 로봇(100, 100a, 100b)은, 미지의 현재 위치에서 영상획득부(120)를 통해 획득영상을 획득한다. 영상을 통해 천장에 위치하는 조명들, 경계(edge), 코너(corner), 얼룩(blob), 굴곡(ridge) 등의 여러가지 특징(feature)들이 확인된다.The mobile robots 100, 100a, and 100b acquire an acquired image through the image acquisition unit 120 at an unknown current position. Through the image, various features such as lights, edges, corners, blobs, ridges, etc., are found on the ceiling.

위치인식모듈(142)은 획득영상으로부터 특징들을 검출한다. 컴퓨터 비전 기술 분야에서 영상으로부터 특징을 검출하는 다양한 방법 및 이들 특징의 검출에 적합한 여러 특징검출기들에 대한 설명은 상기한 바와 같다.The position recognition module 142 detects the features from the acquired image. Various methods of detecting features from an image in the field of computer vision technology and descriptions of various feature detectors suitable for detecting these features are as described above.

위치인식모듈(142)은 각 인식 특징점을 근거로 인식 디스크립터 산출단계를 거쳐 인식 디스크립터를 산출한다. 이때 인식 특징점 및 인식 디스크립터는 장애물인식모듈(144)에서 수행하는 과정을 설명하기 위한 것으로 지도생성모듈(143)에서 수행하는 과정을 설명하는 용어와 구분하기 위한 것이다. 다만, 이동 로봇(100, 100a, 100b)의 외부 세계의 특징이 각각 다른 용어로 정의되는 것에 불과하다. The position recognition module 142 calculates the recognition descriptor through the recognition descriptor calculation step based on each recognition feature point. Here, the recognition minutiae and the recognition descriptor are used to describe the process performed by the obstacle recognition module 144, which is to distinguish the terms used to describe the process performed by the map generation module 143. [ However, the characteristics of the outside world of the mobile robots 100, 100a, and 100b are merely defined by different terms.

위치인식모듈(142)은 본 특징 검출을 위해 SIFT(Scale Invariant Feature Transform) 기법을 이용하여 인식 특징점을 인식 디스크립터로 변환할 수 있다. 인식 디스크립터는 n차원 벡터(vector)로 표기될 수 있다. The location recognition module 142 may convert the recognized minutiae point into the recognition descriptor using the Scale Invariant Feature Transform (SIFT) technique for detecting the feature. The recognition descriptor may be denoted by an n-dimensional vector.

SIFT는 앞서 설명한 바와 같이, 획득영상에서 코너점 등 식별이 용이한 특징점을 선택한 후, 각 특징점 주변의 일정한 구역에 속한 픽셀들의 밝기 구배(gradient)의 분포 특성(밝기 변화의 방향 및 변화의 급격한 정도)에 대해, 각 방향에 대한 변화의 급격한 정도를 각 차원에 대한 수치로 하는 n차원 벡터(vector)를 구하는 영상인식기법이다. As described above, the SIFT selects characteristic points that are easily distinguishable, such as corner points, from the acquired image, and then determines the distribution characteristics of the brightness gradient of pixels belonging to a certain region around each characteristic point ) Is an image recognition technique that obtains an n-dimensional vector (vector) in which the degree of change in each direction is a numerical value for each dimension.

위치인식모듈(142)은 미지의 현재 위치의 획득영상을 통해 얻은 적어도 하나의 인식 디스크립터 정보를 근거로, 소정 하위 변환규칙에 따라 비교대상이 되는 위치 정보(예를 들면, 각 위치의 특징분포)와 비교 가능한 정보(하위 인식 특징분포)로 변환한다.Based on at least one recognition descriptor information obtained through an acquired image of an unknown current position, the position recognition module 142 generates position information (for example, feature distribution of each position) (Lower recognition feature distribution).

소정 하위 비교규칙에 따라, 각각의 위치 특징분포를 각각의 인식 특징분포와 비교하여 각각의 유사도를 산출할 수 있다. 각각의 위치에 해당하는 상기 위치 별로 유사도(확률)를 산출하고, 그 중 가장 큰 확률이 산출되는 위치를 현재위치로 결정할 수 있다.According to a predetermined lower comparison rule, each position feature distribution can be compared with each recognition feature distribution to calculate each similarity. The similarity degree (probability) is calculated for each position corresponding to each position, and the position where the greatest probability is calculated can be determined as the current position.

이와 같이, 제어부(140)는 주행구역을 구분하고 복수의 영역으로 구성된 맵을 생성하거나, 기저장된 맵을 바탕으로 본체(110)의 현재 위치를 인식할 수 있다. In this way, the control unit 140 can distinguish the driving zone, generate a map composed of a plurality of areas, or recognize the current position of the main body 110 based on the pre-stored map.

제어부(140)는 맵이 생성되면, 생성된 맵을 통신부(190)를 통해 외부 단말기, 서버 등으로 전송할 수 있다. 또한, 제어부(140)는 앞서 설명한 바와 같이, 외부 단말기, 서버 등으로부터 맵이 수신되면, 저장부에 저장할 수 있다. When the map is generated, the control unit 140 can transmit the generated map to an external terminal, a server, or the like through the communication unit 190. [ Also, as described above, the control unit 140 can store the map in the storage unit when the map is received from an external terminal, a server, or the like.

또한 제어부(140)는 주행 중 맵이 갱신되는 경우 갱신된 정보를 외부 단말기로 전송하여 외부 단말기와 이동 로봇(100, 100a, 100b)에 저장되는 맵이 동일하도록 한다. 외부 단말기와 이동 로봇(100, 100a, 100b)에 저장된 맵이 동일하게 유지됨에 따라 이동 단말기로부터의 청소명령에 대하여, 이동 로봇(100, 100a, 100b)이 지정된 영역을 청소할 수 있으며, 또한, 외부 단말기에 이동 로봇의 현재 위치가 표시될 수 있도록 하기 위함이다. In addition, when the map is updated during travel, the controller 140 transmits the updated information to the external terminal so that the map stored in the external terminal and the mobile robots 100, 100a, and 100b is the same. As the map stored in the external terminal and the mobile robots 100, 100a, and 100b are kept the same, the mobile robot 100, 100a, and 100b can clean the designated area with respect to the cleaning command from the mobile terminal, So that the current position of the mobile robot can be displayed on the terminal.

이때, 맵은 청소 영역을 복수의 영역으로 구분되고, 복수의 영역을 연결하는 연결통로가 포함하며, 영역 내의 장애물에 대한 정보를 포함할 수 있다. At this time, the map is divided into a plurality of areas for the cleaning area, and includes a connection path for connecting the plurality of areas, and may include information about the obstacles in the area.

제어부(140)는 청소명령이 입력되면, 맵 상의 위치와 이동 로봇의 현재위치가 일치하는지 여부를 판단한다. 청소명령은 리모컨, 조작부 또는 외부 단말기로부터 입력될 수 있다. When the cleaning command is inputted, the control unit 140 determines whether or not the position on the map matches the current position of the mobile robot. The cleaning command can be input from the remote controller, the operation unit, or an external terminal.

제어부(140)는 현재 위치가 맵 상의 위치와 일치하지 않는 경우, 또는 현재 위치를 확인할 수 없는 경우, 현재 위치를 인식하여 이동 로봇(100)의 현재 위치를 복구한 한 후, 현재 위치를 바탕으로 지정영역으로 이동하도록 주행부(160)를 제어할 수 있다. If the current position does not coincide with the current position on the map or the current position can not be confirmed, the controller 140 recognizes the current position and restores the current position of the mobile robot 100, The traveling section 160 can be controlled to move to the designated area.

현재 위치가 맵 상의 위치와 일치하지 않는 경우 또는 현재 위치를 확인 할 수 없는 경우, 위치인식모듈(142)은 영상획득부(120)로부터 입력되는 획득영상을 분석하여 맵을 바탕으로 현재 위치를 추정할 수 있다. 또한, 장애물인식모듈(144) 또는 지도생성모듈(143) 또한, 같은 방식으로 현재 위치를 인식할 수 있다. If the current position does not coincide with the position on the map or the current position can not be confirmed, the position recognition module 142 analyzes the acquired image input from the image obtaining unit 120 and estimates the current position based on the map can do. In addition, the obstacle recognition module 144 or the map generation module 143 may also recognize the current position in the same manner.

위치를 인식하여 이동 로봇(100, 100a, 100b)의 현재 위치를 복구한 후, 주행제어모듈(141)은 현재 위치로부터 지정영역으로 주행경로를 산출하고 주행부(160)를 제어하여 지정영역으로 이동한다. After the current position of the mobile robots 100, 100a, 100b is recognized and the driving control module 141 calculates the traveling route from the current position to the designated area and controls the traveling unit 160 to be the designated area Move.

서버로부터 청소 패턴 정보를 수신하는 경우, 주행제어모듈(141)은 수신한 청소 패턴 정보에 따라, 전체 주행구역을 복수의 영역으로 나누고, 하나 이상의 영역을 지정영역으로 설정할 수 있다.In the case of receiving the cleaning pattern information from the server, the travel control module 141 can divide the entire traveling area into a plurality of areas and set one or more areas as designated areas according to the received cleaning pattern information.

또한, 주행제어모듈(141)은 수신한 청소 패턴 정보에 따라 주행경로를 산출하고, 주행경로를 따라 주행하며, 청소를 수행할 수 있다. Also, the travel control module 141 may calculate the travel route in accordance with the received cleaning pattern information, travel along the travel route, and perform cleaning.

제어부(140)는 설정된 지정영역에 대한 청소가 완료되면, 청소기록을 저장부(150)에 저장할 수 있다. The control unit 140 may store the cleaning history in the storage unit 150 when the cleaning of the designated area is completed.

또한, 제어부(140)는 통신부(190)를 통해 이동 로봇(100)의 동작상태 또는 청소상태를 소정 주기로 외부 단말기, 서버로 전송할 수 있다. The control unit 140 may transmit the operation state or the cleaning state of the mobile robot 100 to the external terminal and the server through the communication unit 190 at predetermined intervals.

그에 따라 외부 단말기는 수신되는 데이터를 바탕으로, 실행중인 애플리케이션의 화면상에 맵과 함께 이동 로봇의 위치를 표시하고, 또한 청소 상태에 대한 정보를 출력한다.Based on the received data, the external terminal displays the position of the mobile robot together with the map on the screen of the application being executed, and also outputs information on the cleaning state.

본 발명의 실시예에 따른 이동 로봇(100, 100a, 100b)은 일방향으로 장애물이나 벽면이 감지될 때까지 이동하다가, 장애물인식모듈(144)이 장애물을 인식하면, 인식된 장애물의 속성에 따라 직진, 회전 등 주행 패턴을 결정할 수 있다.The mobile robots 100, 100a and 100b according to the embodiment of the present invention move until an obstacle or a wall surface is detected in one direction. When the obstacle recognition module 144 recognizes an obstacle, , And the like can be determined.

예를 들어, 인식된 장애물의 속성이 넘어갈 수 있는 종류의 장애물이면, 이동 로봇(100, 100a, 100b)은 계속 직진할 수 있다. 또는, 인식된 장애물의 속성이 넘어갈 수 없는 종류의 장애물이면, 이동 로봇(100, 100a, 100b)은 회전하여 일정거리 이동하고, 다시 최초 이동 방향의 반대방향으로 장애물이 감지되는 거리까지 이동하여 지그재그 형태로 주행할 수 있다For example, if the recognized obstacle is an obstacle of a kind that can be passed over, the mobile robots 100, 100a, 100b can continue straight ahead. Alternatively, if the recognized obstacle is an obstacle of a kind that can not be surpassed, the mobile robots 100, 100a and 100b rotate and move a certain distance, move to a distance in which the obstacle is sensed in the opposite direction of the initial moving direction, Can travel in the form of

본 발명의 실시예에 따른 이동 로봇(100, 100a, 100b)은, 머신 러닝(machine learning) 기반의 장애물 인식 및 회피를 수행할 수 있다. The mobile robots 100, 100a and 100b according to the embodiment of the present invention can perform obstacle recognition and avoidance based on machine learning.

상기 제어부(140)는, 입력 영상에서 머신 러닝(machine learning)으로 기학습된 장애물을 인식하는 장애물인식모듈(144)과 상기 인식된 장애물의 속성에 기초하여, 상기 주행부(160)의 구동을 제어하는 주행제어모듈(141)을 포함할 수 있다.The control unit 140 includes an obstacle recognition module 144 for recognizing an obstacle learned through machine learning in the input image and a driving unit for driving the driving unit 160 based on the recognized obstacle characteristics And a travel control module 141 for controlling the vehicle.

본 발명의 실시예에 따른 이동 로봇(100, 100a, 100b)은, 머신 러닝으로 장애물의 속성이 학습된 장애물인식모듈(144)을 포함할 수 있다.The mobile robots 100, 100a and 100b according to the embodiment of the present invention may include an obstacle recognition module 144 in which the attributes of obstacles are learned by machine learning.

머신 러닝은 컴퓨터에게 사람이 직접 로직(Logic)을 지시하지 않아도 데이터를 통해 컴퓨터가 학습을 하고 이를 통해 컴퓨터가 알아서 문제를 해결하게 하는 것을 의미한다.Machine learning means that the computer learns from the data through the computer, and the computer takes care of the problem, even though the computer does not instruct the person directly with the logic.

딥러닝(Deep Learning)은. 인공지능을 구성하기 위한 인공신경망(Artificial Neural Networks: ANN)에 기반으로 해 컴퓨터에게 사람의 사고방식을 가르치는 방법으로 사람이 가르치지 않아도 컴퓨터가 스스로 사람처럼 학습할 수 있는 인공지능 기술이다.Deep Learning (Deep Learning). It is based on Artificial Neural Networks (ANN) for constructing artificial intelligence. It is an artificial intelligence technology that allows a computer to learn like a human being without learning it as a way of teaching people how to think.

상기 인공신경망(ANN)은 소프트웨어 형태로 구현되거나 칩(chip) 등 하드웨어 형태로 구현될 수 있다.The ANN may be implemented in a software form or a hardware form such as a chip.

장애물인식모듈(144)은 장애물의 속성이 학습된 소프트웨어 또는 하드웨어 형태의 인공신경망(ANN)을 포함할 수 있다. The obstacle recognition module 144 may include an artificial neural network (ANN) in the form of software or hardware in which the property of the obstacle is learned.

예를 들어, 장애물인식모듈(144)은 딥러닝(Deep Learning)으로 학습된 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등 심층신경망(Deep Neural Network: DNN)을 포함할 수 있다.For example, the obstacle recognition module 144 may include a Deep Neural Network (DNN) such as CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), DBN (Deep Belief Network) . ≪ / RTI >

딥러닝(Deep Learning)에 대해서는 도 9 내지 도 12 등을 참조하여 상세히 후술한다.Deep learning will be described later in detail with reference to Figs. 9 to 12 and the like.

장애물인식모듈(144)은 상기 심층신경망(DNN)에 포함된 노드들 사이의 가중치(weight)들에 기초하여 입력되는 영상 데이터에 포함되는 장애물의 속성을 판별할 수 있다.The obstacle recognition module 144 may determine an attribute of the obstacle included in the input image data based on the weights among the nodes included in the DNN.

한편, 이동 로봇(100, 100a, 100b)이 이동 중 센서부(170)가 장애물을 감지하면, 제어부(140)는 상기 본체(110)의 이동 방향과 이동 속도에 기초하여, 상기 영상획득부(120)가 획득하는 연속된 복수의 영상 중 상기 센서부(170)의 장애물 감지 시점 이전의 특정 시점 영상을 선택하도록 제어할 수 있다.If the sensor unit 170 senses an obstacle while the mobile robots 100, 100a and 100b are moving, the control unit 140 controls the image acquisition unit (not shown) based on the moving direction and the moving speed of the main body 110 120 may select a specific view image before the obstacle detection point of the sensor unit 170 among the plurality of consecutive images acquired by the sensor unit 170.

센서부(170)의 장애물 감지 시점을 트리거(trigger) 신호로 하여, 영상획득부(120)가 영상을 획득하는 경우에는, 이동 로봇이 계속 이동하고 있어, 장애물이 획득영상에 포함되지 않거나 작게 포함될 수 있다.When the image acquisition unit 120 acquires an image using the obstacle detection point of the sensor unit 170 as a trigger signal, the obstacle is not included in the acquired image or is included small .

따라서, 본 발명의 일 실시예는, 상기 본체(110)의 이동 방향과 이동 속도에 기초하여, 상기 영상획득부(120)가 획득하는 연속된 복수의 영상 중 상기 센서부(170)의 장애물 감지 시점 이전의 특정 시점 영상을 선택하여, 장애물 인식용 데이터로 사용할 수 있다.Therefore, an embodiment of the present invention can detect obstacles of the sensor unit 170 among a plurality of consecutive images acquired by the image acquisition unit 120, based on the moving direction and the moving speed of the main body 110 A point-in-time image before the point-in-time can be selected and used as data for obstacle recognition.

한편, 장애물인식모듈(144)은, 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 상기 선택된 특정 시점 영상에 포함되는 장애물의 속성을 인식할 수 있다.On the other hand, the obstacle recognition module 144 can recognize the attributes of the obstacle included in the selected point-in-time image based on the data learned through machine learning.

또한, 이동 로봇(100, 100a, 100b)이 이동 중 센서부(170)가 장애물을 감지하면, 제어부(140)는 상기 센서부(170)가 감지하는 장애물의 방향에 대응하여 상기 영상획득부(120)가 획득하는 영상의 일부 영역을 추출하도록 제어할 수 있다.If the sensor unit 170 senses an obstacle while the mobile robots 100, 100a and 100b are moving, the control unit 140 controls the image acquisition unit (not shown) corresponding to the direction of the obstacle detected by the sensor unit 170 120 to extract a part of the image to be acquired.

상기 영상획득부(120), 특히 전면 카메라(120a)는 상기 이동 로봇(100, 100a, 100b)의 이동 방향에서 소정 각도 범위 내의 영상을 획득할 수 있다.The image acquisition unit 120, particularly the front camera 120a, can acquire images within a predetermined angle range in the moving direction of the mobile robots 100, 100a, and 100b.

상기 제어부(140)는, 상기 영상획득부(120), 특히 전면 카메라(120a)가 획득한 영상 전체를 사용하는 것이 아니라 일부 영역만을 사용하여 이동 방향에 존재하는 장애물의 속성을 판별할 수 있다.The control unit 140 may not use the entire image acquired by the image acquisition unit 120, in particular, the front camera 120a, but may determine an attribute of an obstacle existing in a moving direction using only a part of the image.

도 6의 실시예를 참조하면, 상기 제어부(140)는, 상기 센서부(170)가 감지하는 장애물의 방향에 대응하여 상기 영상획득부(120)가 획득하는 영상의 일부 영역을 추출하는 영상처리모듈(145)을 더 포함할 수 있다.6, the controller 140 may perform image processing for extracting a partial area of an image acquired by the image acquiring unit 120 corresponding to the direction of an obstacle sensed by the sensor unit 170 Module 145 may be further included.

또는, 도 7의 실시예를 참조하면, 이동 로봇(100b)은, 상기 센서부(170)가 감지하는 장애물의 방향에 대응하여 상기 영상획득부(120)가 획득하는 영상의 일부 영역을 추출하는 별도의 영상처리부(125)를 더 포함할 수 있다.7, the mobile robot 100b extracts a portion of the image acquired by the image acquisition unit 120 corresponding to the direction of the obstacle detected by the sensor unit 170 And may further include a separate image processing unit 125.

도 6의 실시예에 따른 이동 로봇(100a)과 도 7의 실시예를 실시예에 따른 이동 로봇(100b)은 영상처리모듈(145), 영상처리부(125) 외에 다른 구성은 동일하다.The mobile robot 100a according to the embodiment of FIG. 6 and the mobile robot 100b according to the embodiment of FIG. 7 have the same configuration except for the image processing module 145 and the image processing unit 125. FIG.

또는, 실시예에 따라서는, 도 6과 도 7의 실시예와는 달리 상기 영상획득부(120)가 직접 상기 영상의 일부 영역을 추출할 수도 있다.Alternatively, in some embodiments, the image acquisition unit 120 may directly extract a portion of the image, unlike the embodiments of FIGS.

상기 머신 러닝으로 학습된 장애물인식모듈(144)은 그 특성상 학습한 대상이 입력 영상 데이터에서 많은 부분을 차지할수록 인식률이 높다.The obstacle recognition module 144 learned by the machine learning has a high recognition rate as the learned object occupies a large portion of the input image data.

따라서, 본 발명은 초음파 센서 등 센서부(170)가 감지하는 장애물의 방향에 따라 영상획득부(120)가 획득한 영상 중 다른 영역을 추출하여 인식용 데이터로 사용함으로써, 인식률을 높일 수 있다.Accordingly, the present invention can enhance the recognition rate by extracting another region of the image acquired by the image acquisition unit 120 according to the direction of an obstacle detected by the sensor unit 170, such as an ultrasonic sensor, and using the extracted region as recognition data.

상기 장애물인식모듈(144)은 추출된 영상에서 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 장애물을 인식할 수 있다.The obstacle recognition module 144 can recognize the obstacle based on the data learned by the machine learning in the extracted image.

또한, 상기 주행제어모듈(141)은 상기 인식된 장애물의 속성에 기초하여 상기 주행부(160)의 구동을 제어할 수 있다.The driving control module 141 may control driving of the driving unit 160 based on the recognized attributes of the obstacle.

한편, 상기 제어부(140)는, 상기 장애물이 상기 본체 전면의 우측 방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 우측하단 영역을 추출하고, 상기 장애물이 상기 본체 전면의 좌측 방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 좌측하단 영역을 추출하며, 상기 장애물이 상기 본체 전면 방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 중앙(center)하단 영역을 추출하도록 제어할 수 있다.If the obstacle is sensed in the right direction of the front surface of the main body, the control unit 140 extracts a lower right area of the image acquired by the image acquiring unit, detects the obstacle in the left direction of the front surface of the main body A lower left region of the image obtained by the image obtaining unit is extracted and a center lower region of the image obtained by the image obtaining unit is extracted when the obstacle is detected in the front direction of the main body can do.

또한, 상기 제어부(140)는, 상기 영상획득부가 획득하는 영상에서의 추출 대상 영역을, 상기 감지되는 장애물의 방향에 대응하도록 이동(shift)시켜 추출하도록 제어할 수 있다.In addition, the control unit 140 may control the extraction of the extraction target region in the image acquired by the image acquisition unit so as to correspond to the direction of the detected obstacle.

한편, 저장부(150)에는 장애물 속성 판별을 위한 입력 데이터, 상기 심층신경망(DNN)을 학습하기 위한 데이터가 저장될 수 있다. Meanwhile, the storage unit 150 may store input data for determining an obstacle attribute and data for learning the DNN.

저장부(150)에는 영상획득부(120)가 획득한 원본 영상과 소정 영역이 추출된 추출 영상들이 저장될 수 있다. The storage unit 150 may store an original image acquired by the image acquisition unit 120 and extracted images from which a predetermined region is extracted.

또한, 실시예에 따라서는, 저장부(150)에는 상기 심층신경망(DNN) 구조를 이루는 웨이트(weight), 바이어스(bias)들이 저장될 수 있다.In addition, according to the embodiment, the weight and the biases constituting the DNN structure may be stored in the storage unit 150. [

또는, 실시예에 따라서는, 상기 심층신경망 구조를 이루는 웨이트(weight), 바이어스(bias)들은 상기 장애물인식모듈(144)의 임베디드 메모리(embedded memory)에 저장될 수 있다.Alternatively, according to an embodiment, the weight and the biases constituting the depth-based neural network structure may be stored in an embedded memory of the obstacle recognition module 144.

한편, 상기 장애물인식모듈(144)은 상기 영상획득부(120)가 획득하는 영상의 일부 영역을 추출할 때마다 상기 추출된 영상을 트레이닝(training) 데이터로 사용하여 학습 과정을 수행하거나, 소정 개수 이상의 추출 영상이 획득된 후 학습 과정을 수행할 수 있다.The obstacle recognizing module 144 may perform a learning process by using the extracted image as training data every time a part of an image acquired by the image acquiring unit 120 is extracted, After the extracted image is acquired, the learning process can be performed.

즉, 상기 장애물인식모듈(144)은 장애물을 인식할 때마다 인식 결과를 추가하여 웨이트(weight) 등 심층신경망(DNN) 구조를 업데이트(update)하거나, 소정 횟수의 트레이닝 데이터가 확보된 후에 확보된 트레이닝 데이터로 학습 과정을 수행하여 웨이트(weight) 등 심층신경망(DNN) 구조를 업데이트할 수 있다.That is, the obstacle recognition module 144 updates the DNN structure such as a weight by adding a recognition result every time an obstacle is recognized, or acquires a predetermined number of training data The learning process can be performed with the training data to update the DNN structure such as the weight.

또는, 이동 로봇(100, 100a, 100b)은 통신부(190)를 통하여 상기 영상획득부(120)가 획득한 원본 영상 또는 추출된 영상을 소정 서버로 전송하고, 상기 소정 서버로부터 머신 러닝과 관련된 데이터를 수신할 수 있다.Alternatively, the mobile robots 100, 100a, and 100b may transmit the original image or the extracted image acquired by the image acquisition unit 120 to the predetermined server through the communication unit 190, and may receive data related to machine learning from the predetermined server Lt; / RTI >

이 경우에, 이동 로봇(100, 100a, 100b)은, 상기 소정 서버로부터 수신된 머신 러닝과 관련된 데이터에 기초하여 장애물인식모듈(141)을 업데이트(update)할 수 있다.In this case, the mobile robots 100, 100a, and 100b may update the obstacle recognition module 141 based on the data related to the machine learning received from the predetermined server.

도 8은 본 발명의 일 실시예에 따른 서버의 간략한 내부 블록도의 일예이다.Figure 8 is an illustration of a simplified internal block diagram of a server in accordance with an embodiment of the present invention.

도 8을 참조하면, 서버(70)는, 통신부(820), 저장부(830), 학습모듈(840), 및 프로세서(810)를 구비할 수 있다.8, the server 70 may include a communication unit 820, a storage unit 830, a learning module 840, and a processor 810.

프로세서(810)는, 서버(70)의 전반적인 동작을 제어할 수 있다.The processor 810 can control the overall operation of the server 70. [

한편, 서버(70)는, 상기 이동 로봇(100, 100a, 100b) 등 홈 어플라이언스 제조사가 운영하는 서버 또는 서비스 제공자가 운영하는 서버일 수 있고, 일종의 클라우드(Cloud) 서버일 수 있다.The server 70 may be a server operated by a home appliance manufacturer such as the mobile robots 100, 100a, 100b or a server operated by a service provider, or may be a kind of a cloud server.

통신부(820)는, 휴대 단말기, 이동 로봇(100, 100a, 100b) 등 홈 어플라이언스, 게이트웨이 등으로부터 상태 정보, 동작 정보, 조작 정보 등 각종 데이터를 수신할 수 있다. The communication unit 820 can receive various data such as state information, operation information, operation information, and the like from a home appliance such as a mobile terminal, a mobile robot 100, 100a, and 100b, and a gateway.

그리고 통신부(820)는 수신되는 각종 정보에 대응하는 데이터를 휴대 단말기, 이동 로봇(100, 100a, 100b) 등 홈 어플라이언스, 게이트웨이 등으로 송신할 수 있다.The communication unit 820 can transmit data corresponding to the received various information to a home appliance such as a portable terminal, a mobile robot 100, 100a, or 100b, a gateway, and the like.

이를 위해, 통신부(820)는 인터넷 모듈, 이동 통신 모듈 등 하나 이상의 통신 모듈을 구비할 수 있다.To this end, the communication unit 820 may include one or more communication modules such as an Internet module, a mobile communication module, and the like.

저장부(830)는, 수신되는 정보를 저장하고, 이에 대응하는 결과 정보 생성을 위한 데이터를 구비할 수 있다.The storage unit 830 may store the received information and may include data for generating the corresponding result information.

또한, 저장부(830)는, 머신 러닝에 사용되는 데이터, 결과 데이터 등을 저장할 수 있다.In addition, the storage unit 830 may store data used for machine learning, result data, and the like.

학습모듈(840)은 상기 이동 로봇(100, 100a, 100b) 등 홈 어플라이언스의 학습기 역할을 수행할 수 있다.The learning module 840 may serve as a learning appliance of the home appliances such as the mobile robots 100, 100a, and 100b.

상기 학습모듈(840)에는 인공신경망, 예를 들어, CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등 심층신경망(Deep Neural Network: DNN)을 포함될 수 있고, 심층신경망을 학습할 수 있다.The learning module 840 may include an artificial neural network such as a CNN (Convolutional Neural Network), a RNN (Recurrent Neural Network), a Deep Belief Network (DBN), and a Deep Neural Network (DNN) Neural networks can be learned.

상기 학습모듈(840)의 학습 방법으로는 자율학습(unsupervised learning)과 지도학습(supervised learning)이 모두 사용될 수 있다.As the learning method of the learning module 840, both unsupervised learning and supervised learning can be used.

한편, 상기 제어부(810)는 설정에 따라 학습 후 상기 이동 로봇(100, 100a, 100b) 등 홈 어플라이언스의 인공신경망 구조를 학습된 인공신경망 구조로 업데이트시키도록 제어할 수 있다.Meanwhile, the controller 810 may control the artificial neural network structure of the home appliances such as the mobile robots 100, 100a, and 100b to be updated to the learned neural network structure after learning according to the setting.

도 9 내지 도 12는 딥러닝(Deep Learning)에 대한 설명에 참조되는 도면이다. 9 to 12 are diagrams referred to in explanation of Deep Learning.

머신 러닝(Machine Learning)의 일종인 딥러닝(Deep Learning) 기술은 데이터를 기반으로 다단계로 깊은 수준까지 내려가 학습하는 것이다.Deep Learning, a type of machine learning, is a multi-level, deep learning process based on data.

딥러닝(Deep learning)은 단계를 높여갈수록 복수의 데이터들로부터 핵심적인 데이터를 추출하는 머신 러닝(Machine Learning) 알고리즘의 집합을 나타낼 수 있다. Deep learning can represent a set of machine learning algorithms that extract key data from multiple sets of data as they step up.

딥러닝 구조는 인공신경망(ANN)를 포함할 수 있으며, 예를 들어 딥러닝 구조는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등 심층신경망(DNN)으로 구성될 수 있다The deep learning structure may include an artificial neural network (ANN). For example, the deep learning structure may include a deep neural network (DNN) such as CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), DBN Be able to

도 9를 참조하면, 인공신경망(ANN)은 입력 레이어(Input Layer), 히든 레이어(Hiddent Layer), 및 출력 레이어(Output Layer)를 포함할 수 있다. 각 레이어는 복수의 노드들을 포함하고, 각 레이어는 다음 레이어와 연결된다. 인접한 레이어 사이의 노드들은 웨이트(weight)를 가지고 서로 연결될 수 있다. Referring to FIG. 9, the ANN may include an input layer, a hidden layer, and an output layer. Each layer contains a plurality of nodes, and each layer is associated with the next layer. The nodes between adjacent layers can be connected to each other with a weight.

도 10을 참조하면, 컴퓨터(머신)는 투입된 입력 데이터(1010)로부터 일정한 패턴을 발견해 특징맵(Feature Map)을 형성한다. 컴퓨터(머신)는 하위레벨 특징(1020)부터, 중간레벨 특징(1030), 상위레벨 특징(1040)까지 추출하여, 대상을 인식하고 그 결과를 출력(1050)할 수 있다. Referring to FIG. 10, a computer (machine) finds a certain pattern from inputted input data 1010 and forms a feature map. The computer (machine) can extract the low-level features 1020, the intermediate-level features 1030, and the high-level features 1040, recognize the objects, and output the results 1050.

인공신경망은 다음 순서의 레이어로 갈수록 더욱 상위레벨의 특징으로 추상화할 수 있다. The artificial neural network can be abstracted into higher-level features as it goes to the next layer.

도 9와 도 10을 참조하면, 각 노드들은 활성화 모델에 기초하여 동작할 수 있고, 활성화 모델에 따라 입력값에 대응하는 출력값이 결정될 수 있다. 9 and 10, each node may operate based on an activation model, and an output value corresponding to an input value may be determined according to an activation model.

임의의 노드, 예를 들어, 하위레벨 특징(1020)의 출력값은 해당 노드와 연결된 다음 레이어, 예를 들어, 중간레벨 특징(1030)의 노드로 입력될 수 있다. 다음 레이어의 노드, 예를 들어, 중간레벨 특징(1030)의 노드는 하위레벨 특징(1020)의 복수의 노드로부터 출력되는 값들을 입력받을 수 있다. The output value of any node, e.g., lower level feature 1020, may be input to the next layer associated with that node, e.g., a node of the intermediate level feature 1030. A node of the next layer, for example, a node of the intermediate level feature 1030, may receive values output from a plurality of nodes of the lower level feature 1020.

이 때, 각 노드의 입력값은 이전 레이어의 노드의 출력값에 웨이트(weight)가 적용된 값일 수 있다. 웨이트(weight)는 노드간의 연결 강도를 의미할 수 있다.In this case, the input value of each node may be a value to which a weight is applied to the output value of the node of the previous layer. The weight can mean the link strength between nodes.

또한, 딥러닝 과정은 적절한 웨이트(weight)를 찾아내는 과정으로도 볼 수 있다.Also, the deep running process can be seen as a process of finding an appropriate weight.

한편, 임의의 노드, 예를 들어, 중간레벨 특징(1030)의 출력값은 해당 노드와 연결된 다음 레이어, 예를 들어, 상위레벨 특징(1040)의 노드로 입력될 수 있다. 다음 레이어의 노드, 예를 들어, 상위레벨 특징(1040)의 노드는 중간레벨 특징(1030)의 복수의 노드로부터 출력되는 값들을 입력받을 수 있다. On the other hand, the output value of any node, e.g., the intermediate level feature 1030, may be input to the next layer, e.g., the node of the higher level feature 1040, associated with that node. A node of the next layer, e.g., a node of the higher level feature 1040, may receive values output from a plurality of nodes of the intermediate level feature 1030.

인공신경망은 각 레벨에 대응하는 학습된 레이어(layer)를 이용하여, 각 레벨에 대응하는 특징 정보를 추출할 수 있다. 인공신경망은 순차적으로 추상화하여, 가장 상위 레벨의 특징 정보를 활용하여 소정 대상을 인식할 수 있다. The artificial neural network can extract feature information corresponding to each level using a learned layer corresponding to each level. The artificial neural network is sequentially abstracted, and a predetermined object can be recognized using the feature information of the highest level.

예를 들어, 딥러닝에 의한 얼굴인식 과정을 살펴보면, 컴퓨터는 입력 영상으로부터, 픽셀의 밝기에 따라 밝은 픽셀과 어두운 픽셀을 구분하고, 테두리, 에지 등 단순한 형태를 구분한 후, 조금 더 복잡한 형태와 사물을 구분할 수 있다. 최종적으로 컴퓨터는 인간의 얼굴을 규정하는 형태를 파악할 수 있다.For example, if we look at the face recognition process by deep learning, the computer distinguishes between bright pixels and dark pixels according to the brightness of a pixel from the input image, distinguishes simple forms such as a border and an edge, You can distinguish things. Finally, the computer can grasp the form that defines the human face.

본 발명에 따른 딥러닝 구조는 공지된 다양한 구조를 이용할 수 있다. 예를 들어, 본 발명에 따른 딥러닝 구조는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등일 수 있다.The deep running structure according to the present invention can utilize various known structures. For example, the deep learning structure according to the present invention may be a Convolutional Neural Network (CNN), a Recurrent Neural Network (RNN), a Deep Belief Network (DBN), or the like.

RNN(Recurrent Neural Network)은, 자연어 처리 등에 많이 이용되고 있으며, 시간의 흐름에 따라 변하는 시계열 데이터(Time-series data) 처리에 효과적인 구조로 매 순간마다 레이어를 쌓아올려 인공신경망 구조를 구성할 수 있다.Recurrent Neural Network (RNN) is widely used in natural language processing, and it is possible to construct an artificial neural network structure by stacking layers at each moment with an effective structure for time-series data processing that varies with time .

DBN(Deep Belief Network)은 딥러닝 기법인 RBM(Restricted Boltzman Machine)을 다층으로 쌓아 구성되는 딥러닝 구조이다. RBM(Restricted Boltzman Machine) 학습을 반복하여, 일정 수의 레이어가 되면 해당 개수의 레이어를 가지는 DBN(Deep Belief Network)를 구성할 수 있다. Deep Belief Network (DBN) is a deep-run structure consisting of multiple layers of deep-running RBM (Restricted Boltzman Machine). The Restricted Boltzman Machine (RBM) learning is repeated, and a DBN (Deep Belief Network) having a corresponding number of layers can be constituted by a certain number of layers.

CNN(Convolutional Neural Network)은, 특히 객체 인식 분야에서 많이 사용되는 구조로써, 도 11과 도 12를 참조하여 설명한다.CNN (Convolutional Neural Network) is a structure widely used in the field of object recognition, and will be described with reference to FIGS. 11 and 12. FIG.

CNN(Convolutional Neural Network)은 사람이 물체를 인식할 때 물체의 기본적인 특징들을 추출한 다음 뇌 속에서 복잡한 계산을 거쳐 그 결과를 기반으로 물체를 인식한다는 가정을 기반으로 만들어진 사람의 뇌 기능을 모사한 모델이다. CNN (Convolutional Neural Network) is a model that simulates a person's brain function based on the assumption that when a person recognizes an object, it extracts the basic features of the object, then undergoes complicated calculations in the brain and recognizes the object based on the result to be.

도 11은 CNN(Convolutional Neural Network) 구조를 도시한 도면이다.11 is a view showing a CNN (Convolutional Neural Network) structure.

CNN(Convolutional Neural Network)도 입력 레이어(Input Layer), 히든 레이어(Hiddent Layer), 및 출력 레이어(Output Layer)를 포함할 수 있다. The CNN (Convolutional Neural Network) may also include an input layer, a hidden layer, and an output layer.

입력 레이어(Input Layer)에는 소정 이미지(1100)가 입력된다. A predetermined image 1100 is input to an input layer.

도 11을 참조하면, 히든 레이어(Hiddent Layer)는 복수의 레이어로 구성되고, 컨볼루션 레이어(convolution layer)와 서브-샘플링 레이어(sub-sampling layer)를 포함할 수 있다. Referring to FIG. 11, a hidden layer is composed of a plurality of layers, and may include a convolution layer and a sub-sampling layer.

CNN(Convolutional Neural Network)에서는 기본적으로 컨볼루션(convolution) 연산을 통해 영상의 특징을 추출하기 위한 다양한 필터와 비선형적인 특성을 더하기 위한 풀링(pooling) 또는 비선형 활성화(non-linear activation) 함수 등이 함께 사용된다.In the CNN (Convolutional Neural Network), various filters for extracting features of images through convolution operations and pooling or non-linear activation functions for adding nonlinear characteristics Is used.

컨볼루션(convolution)은 영상 처리 분야에서 주로 필터 연산에 사용되며 영상으로부터 특징(feature)을 추출하기 위한 필터를 구현하는데 사용된다.Convolution is mainly used in filter processing in image processing and is used to implement a filter for extracting features from an image.

예를 들어, 도 12와 같이, 3X3 윈도우를 이동하면서 영상 전체에 대해서 컨볼루션 연산을 반복적으로 수행하게 되면 윈도우의 가중치(weight) 값에 따라 적정한 결과를 얻을 수 있다.For example, as shown in FIG. 12, when the convolution operation is repeatedly performed on the whole image while moving the 3 × 3 window, a proper result can be obtained according to the weight value of the window.

도 12의 (a)를 참조하면 전체 이미지 중 소정 영역(1210)에 대해 3X3 윈도우를 이용하여, 컨볼루션 연산을 수행하면, 결과값(1201)이 나온다.Referring to FIG. 12A, when a convolution operation is performed on a predetermined area 1210 of a whole image using a 3 × 3 window, a result 1201 is displayed.

도 12의 (b)를 참조하면 3X3 윈도우를 우측으로 1 이동시킨 영역(1220)에 대해 다시 결과를 구하면 소정 결과값(1202)이 나오게 된다.Referring to FIG. 12 (b), when the area 1220 in which the 3X3 window is shifted to the right by 1 is obtained again, a predetermined result 1202 is obtained.

즉, 도 12의 (c)와 같이, 소정 윈도우를 이동시키면서 영상 전체에 대해서 연산을 수행하면 최종적인 결과를 얻을 수 있다. That is, as shown in (c) of FIG. 12, the final result can be obtained by performing an operation on the entire image while moving a predetermined window.

컨볼루션 레이어(convolution layer)는 미리 정한 크기의 필터(예를 들어, 도 12에서 예시된 3X3 윈도우)를 이용하여 이전 레이어에서 추출된 정보를 필터링하는 컨볼루션 필터링을 수행하는데 사용될 수 있다.The convolution layer can be used to perform convolutional filtering to filter information extracted from the previous layer using a filter of a predetermined size (e.g., the 3X3 window illustrated in FIG. 12).

컨볼루션 레이어(convolution layer)는 컨볼루션 필터를 이용하여 입력된 영상 데이터(1100, 1102)에 컨볼루션 연산을 수행하고, 입력 이미지(1100)의 특징이 표현된 특징맵(1101, 1103)을 생성한다. The convolution layer performs a convolution operation on the input image data 1100 and 1102 using a convolution filter and generates feature maps 1101 and 1103 in which features of the input image 1100 are expressed do.

컨볼루션 필터링의 결과로서, 컨볼루션 레이어(convolution layer)에 포함된 필터의 개수에 따라 필터 개수만큼의 필터링 영상들이 생성될 수 있다. 컨볼루션 레이어는 필터링 영상들에 포함된 노드들로 구성될 수 있다.As a result of the convolutional filtering, filtering images corresponding to the number of filters can be generated according to the number of filters included in the convolution layer. The convolution layer may consist of the nodes included in the filtered images.

또한, 컨볼루션 레이어(convolution layer)와 쌍을 이루는 서브-샘플링 레이어(sub-sampling layer)는 쌍을 이루는 컨볼루션 레이어(convolution layer)와 동일한 수의 특징맵들을 포함할 수 있다. In addition, a sub-sampling layer paired with a convolution layer may include the same number of feature maps as a convolution layer that forms a pair.

서브-샘플링 레이어(sub-sampling layer)는 샘플링 또는 풀링(pooling)을 통해 특징맵(1101, 1103)의 차원을 감소시킨다.The sub-sampling layer reduces the dimension of feature maps 1101 and 1103 through sampling or pooling.

출력 레이어(Output Layer)는 특징맵(1104)에 표현된 다양한 특징을 조합하여 입력 이미지(1100)를 인식한다. The output layer recognizes the input image 1100 by combining various features expressed in the feature map 1104.

본 발명에 따른 이동 로봇의 장애물 인식 모듈은 상술한 다양한 딥러닝 구조를 이용할 수 있다. 예를 들어, 본 발명이 한정되는 것은 아니나, 영상 내 객체 인식에서 많이 사용되고 있는 CNN(Convolutional Neural Network) 구조를 이용할 수 있다.The obstacle recognizing module of the mobile robot according to the present invention can use the various deep learning structures described above. For example, although the present invention is not limited, a CNN (Convolutional Neural Network) structure widely used in object recognition in an image can be used.

한편, 인공신경망의 학습은 주어진 입력에 대하여 원하는 출력이 나오도록 노드간 연결선의 웨이트(weight)를 조정함으로써 이루어질 수 있다. 또한, 인공신경망은 학습에 의해 웨이트(weight) 값을 지속적으로 업데이트시킬 수 있다. 또한, 인공신경망의 학습에는 역전파(Back Propagation) 등의 방법이 사용될 수 있다.On the other hand, the learning of the artificial neural network can be achieved by adjusting the weight of the inter-node connection line so that the desired output is obtained for a given input. Also, the artificial neural network can continuously update the weight value by learning. Back propagation can be used for artificial neural network learning.

도 13과 도 14는 장애물인식모듈(144)의 장애물 인식에 관한 설명에 참조되는 도면이다.Figs. 13 and 14 are diagrams referred to in explaining the obstacle recognition of the obstacle recognition module 144. Fig.

도 13을 참조하면, 장애물인식모듈(144)은, 장애물들을 선풍기, 홈씨어터, 멀티탭, 램프받침, 인모, 둔턱 등 클래스(class)로 분류하고 구분하여 인식할 수 있다.Referring to FIG. 13, the obstacle recognition module 144 can classify obstacles classified into classes such as an electric fan, a home theater, a multi-tap, a lamp base, a human body, and a barrier.

또한, 장애물인식모듈(144)은, 선풍기, 홈씨어터, 멀티탭, 램프받침, 인모 등의 클래스는 상위 개념으로 위험 장애물 슈퍼-클래스(Super-class)로 분류하고 구분하여 인식할 수 있다.In addition, the obstacle recognition module 144 classifies and classifies the classes of the fan, the home theater, the multi-tap, the lamp base, and the humanoid as a dangerous obstacle super-class in a superordinate concept.

또한, 장애물인식모듈(144)은, 둔턱 등의 직진 주행 가능한 장애물을 비위험 장애물 슈퍼-클래스(Super-class)로 분류하고 구분하여 인식할 수 있다.Also, the obstacle recognition module 144 can classify obstacle obstacles that can run straight, such as a barrier, into non-hazardous obstacle super-class, and recognize them.

도 14의 (a)를 참조하면, 장애물인식모듈(144)은, 입력된 영상을 인식하여, 선풍기는 0.95의 신뢰값(confidence), 홈씨어터는 0.7의 신뢰값을 가지는 인식 결과를 얻을 수 있다. 이 경우에, 장애물인식모듈(144)은, 더 높은 신뢰값을 가지는 인식 결과인 선풍기를 입력 영상에 대한 인식 결과로 출력할 수 있다.Referring to FIG. 14A, the obstacle recognition module 144 recognizes the input image, and the recognition result that the fan has a confidence value of 0.95 and the home theater has a confidence value of 0.7 can be obtained . In this case, the obstacle recognition module 144 can output the fan, which is the recognition result having the higher confidence value, as the recognition result on the input image.

한편, 신뢰값(confidence)은 0.0 내지 1.0의 범위로 정규화될 수 있다.On the other hand, the confidence may be normalized to a range of 0.0 to 1.0.

도 14의 (b)를 참조하면, 장애물인식모듈(144)은, 입력된 영상을 인식하여, 선풍기는 0.35의 신뢰값, 홈씨어터는 0.4의 신뢰값을 가지는 인식 결과를 얻을 수 있다. Referring to FIG. 14B, the obstacle recognition module 144 recognizes the input image, and the recognition result that the fan has a confidence value of 0.35 and the home theater has a confidence value of 0.4 can be obtained.

예를 들어, 0.6 이하의 신뢰값은 인정하지 않도록 설정된 경우, 장애물인식모듈(144)은, 두 인식 결과의 신뢰값들이 모두 기준치보다 낮으므로 특정 인식 결과를 선택하지 않고, unknown data로 판정할 수 있다.For example, when the confidence value of 0.6 or less is set to not be recognized, the obstacle recognition module 144 can determine that the unknown data is not selected because the confidence values of the two recognition results are lower than the reference value have.

도 14의 (c)를 참조하면, 장애물인식모듈(144)은, 입력된 영상을 인식하여, 선풍기는 0.95의 신뢰값, 홈씨어터는 0.9의 신뢰값을 가지는 인식 결과를 얻을 수 있다. Referring to FIG. 14 (c), the obstacle recognition module 144 recognizes the input image, and the recognition result that the fan has a confidence value of 0.95 and the home theater has a confidence value of 0.9 can be obtained.

예를 들어, 0.9 이상의 신뢰값을 가지는 인식 결과를 최종 인식 결과로 선택하도록 설정된 경우에, 장애물인식모듈(144)은, 두 인식 결과의 신뢰값들이 모두 기준치보다 높으므로 특정 인식 결과를 선택하지 않고, 상위 개념인 위험 장애물로 판정할 수 있다. For example, when the recognition result having the confidence value of 0.9 or more is set to be selected as the final recognition result, the obstacle recognition module 144 does not select a specific recognition result because the trust values of the two recognition results are higher than the reference value , It can be judged as a dangerous obstacle, which is an upper concept.

또는, 신뢰값의 차이가 0.15 이상인 경우에 가장 높은 신뢰값의 인식 결과를 인정하도록 설정된 경우에도, 상위 개념인 위험 장애물로 판정할 수 있다. Alternatively, even when the recognition result of the highest confidence value is set to be recognized when the difference in the confidence value is 0.15 or more, it can be determined that the dangerous obstacle is an upper concept.

한편, 위험 장애물로 판단한 경우에도, 주행제어모듈(141)은 위험 장애물을 회피하여 이동하도록 구동부(160)를 제어할 수 있다.On the other hand, the driving control module 141 can also control the driving unit 160 to avoid the dangerous obstacle and move the dangerous obstacle.

도 15는 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.15 is a flowchart illustrating a method of controlling a mobile robot according to an embodiment of the present invention.

도 2 내지 도 7, 및, 도 15를 참조하면, 먼저, 이동 로봇(100, 100a, 100b)은 명령 또는 설정에 따라서 이동하며 청소를 수행할 수 있다(S1510).Referring to FIGS. 2 to 7 and 15, first, the mobile robots 100, 100a and 100b move according to commands or settings and perform cleaning (S1510).

센서부(170)는 장애물감지센서(131)를 포함하며, 이동 방향 전방의 소정 범위 내의 장애물을 감지할 수 있다(S1520). The sensor unit 170 includes an obstacle detection sensor 131 and can detect an obstacle within a predetermined range in the moving direction (S1520).

이동 중에 센서부(170)를 통하여 장애물이 감지되면(S1520), 상기 감지된 장애물의 위치 정보와 이동 로봇(100, 100a, 100b)의 위치 정보를 저장부(150)에 저장할 수 있다(S1530). If an obstacle is sensed through the sensor unit 170 during movement (S1520), the position information of the detected obstacle and the position information of the mobile robots 100, 100a and 100b may be stored in the storage unit 150 (S1530) .

또한, 상기 감지된 장애물의 위치를 중심으로 소정 크기를 가지는 영역을 상기 저장부(150)에 저장되는 맵(map)에 장애물지역으로 등록하여 저장, 관리할 수 있다(S1530).In addition, a region having a predetermined size centered on the detected position of the obstacle may be registered as an obstacle region in a map stored in the storage unit 150, and may be stored and managed (S1530).

상기 이동 로봇의 위치 정보는, 오도메트리(odometry) 정보로부터 산출될 수 있고, 상기 오도메트리(odometry) 정보는 상술한 센서부(170)의 동작 감지 센서에서 감지되는 데이터에 기초하여 구성될 수 있다.The position information of the mobile robot can be calculated from odometry information, and the odometry information is configured based on data sensed by the motion sensor of the sensor unit 170 .

한편, 영상획득부(120)는 이동 중 상기 장애물지역에서 복수의 영상을 획득할 수 있다(S1540). Meanwhile, the image acquisition unit 120 may acquire a plurality of images in the obstacle region during movement (S1540).

상기 영상획득부(120)는 상기 장애물지역을 등록하고 상기 이동 로봇(100, 100a, 100b)이 상기 장애물지역 외부로 이탈하기 전 상기 장애물지역 내에서 연속적으로 촬영하여 복수의 영상을 획득할 수 있다.The image acquisition unit 120 may register the obstacle area and continuously photograph the obstacle area in the obstacle area before the mobile robot 100, 100a, or 100b leaves the obstacle area to acquire a plurality of images .

또한, 상기 이동 로봇(100, 100a, 100b)은 상기 감지된 장애물에 대한 회피 주행을 수행하면서 전체 장애물지역에 대한 영상을 획득할 수 있다.In addition, the mobile robots 100, 100a, and 100b may acquire images of the entire obstacle region while avoiding the detected obstacle.

한편, 전체 장애물지역에 대한 탐색을 위해, 일련의 동작으로 상기 장애물지역 내를 주행하면서 장애물지역을 촬영하는 것은, 이동 로봇(100, 100a, 100b)의 주행 경로에 상당한 변화를 가져올 수 있다.On the other hand, photographing the obstacle area while traveling in the obstacle area by a series of motions for searching for the entire obstacle area may significantly change the traveling path of the mobile robots 100, 100a, 100b.

따라서, 이동 로봇(100, 100a, 100b)이 통상적으로 주행하면서, 상기 장애물지역을 통과할 때마다, 상기 장애물지역을 촬영하여, 장애물에 대한 영상들을 획득하는 것이 바람직하다.Therefore, it is preferable that the moving robot 100, 100a, 100b normally travels and takes an image of the obstacle area and acquires images of the obstacle every time the robot 100 passes the obstacle area.

예를 들어, 직진, 방향 전환 후 다시 최초 이동 방향의 반대방향으로 장애물이 감지되는 거리까지 이동하는 기본 지그재그 패턴으로 이동 로봇(100, 100a, 100b)이 주행하는 경우를 가정하면, 최초 직진시 장애물지역을 통과하면서 촬영하여 소정 개수의 영상을 획득하고, 반대방향까지 주행한 후 되돌아올 때 다시 장애물지역을 통과하면서 촬영하여 소정 개수의 영상을 획득하는 방식으로 나누어서 복수의 영상들을 획득할 수 있다.For example, assuming that the mobile robots 100, 100a, and 100b travel in a basic zigzag pattern that moves to a distance at which an obstacle is sensed in the direction opposite to the initial movement direction after straight forward, A plurality of images can be obtained by capturing a predetermined number of images while passing through the region, moving to the opposite direction, and then taking a picture while passing through the obstacle region again to acquire a predetermined number of images.

한편, 장애물인식모듈(144)은, 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여, 상기 장애물지역을 이동하면서 상기 영상획득부(120)를 통하여 획득되는 영상들에 대해서 순차적으로 장애물의 속성을 인식할 수 있다(S1550).On the other hand, the obstacle recognizing module 144 sequentially recognizes obstacles to be obtained through the image acquiring unit 120 while moving the obstacle area based on the data learned by the machine learning Attribute (S1550).

장애물인식모듈(144)은 머신 러닝으로 장애물의 종류 등 속성을 인식하도록 학습된 인공신경망을 포함할 수 있고, 기학습된 데이터에 기초하여 장애물의 속성을 인식할 수 있다(S1550). The obstacle recognition module 144 may include an artificial neural network that is learned to recognize attributes such as the type of obstacle by machine learning, and may recognize the attributes of the obstacle based on the learned data (S1550).

예를 들어, 장애물인식모듈(144)에는 딥러닝 구조 중 하나인 CNN(Convolutional Neural Network)이 탑재되고, 기학습된 CNN(Convolutional Neural Network)은 입력 데이터에 포함된 장애물의 속성을 인식하여 그 결과를 출력할 수 있다.For example, CNN (Convolutional Neural Network), which is one of the deep learning structures, is installed in the obstacle recognition module 144, and CNN (Convolutional Neural Network) learned the attributes of the obstacles included in the input data, Can be output.

장애물인식모듈(144)은 상기 장애물지역에서 획득된 하나의 영상에 대해서 장애물 인식을 수행하고, 다른 영상에 대해서도 장애물 인식을 수행한 후에, 두 영상에 대한 두 인식 결과 중 더 정확한 인식 결과를 선정하고 저장할 수 있다.The obstacle recognition module 144 performs obstacle recognition on one image obtained in the obstacle region and performs obstacle recognition on another image and then selects a more accurate recognition result from the two recognition results on the two images Can be stored.

한편, 장애물인식모듈(144)은 두 인식 결과에 포함되는 신뢰값(confidence)을 비교하여 인식 결과 중 더 정확한 인식 결과를 선정할 수 있다. 가장 마지막에 수행된 인식 결과를 현재의 장애물 인식 결과로 할 수 있고, 다음 영상에 대한 장애물 인식이 수행되면, 현재의 장애물 인식 결과는 이전의 장애물 인식 결과가 되고, 상기 다음 영상에 대한 장애물 인식 결과가 현재의 장애물 인식 결과가 될 수 있다.Meanwhile, the obstacle recognition module 144 may compare the confidence values included in the two recognition results to select a more accurate recognition result among the recognition results. The current obstacle recognition result may be the current obstacle recognition result and the current obstacle recognition result may be the previous obstacle recognition result if the obstacle recognition is performed on the next image, Can be the current obstacle recognition result.

한편, 장애물인식모듈(144)은 상기 영상획득부(120)를 통하여 획득되는 영상들에 대해서 순차적으로 장애물의 속성을 인식할 때(S1550), 현재의 장애물 인식 결과와 이전의 장애물 인식 결과를 비교하는 과정을 반복적으로 수행할 수 있다.On the other hand, when the obstacle recognition module 144 recognizes the attributes of the obstacles sequentially with respect to the images obtained through the image acquisition unit 120 (S1550), the current obstacle recognition result is compared with the previous obstacle recognition result Can be repeatedly performed.

이동 로봇(100, 100a, 100b)이 통상적으로 주행하면서, 상기 장애물지역을 통과할 때마다, 상기 장애물지역을 촬영하여 영상을 획득할 수 있다.Whenever the mobile robots 100, 100a, 100b are traveling while passing through the obstacle area, the obstacle area can be photographed and images can be acquired.

장애물인식모듈(144)은 획득되는 영상들에 대해서 순차적으로 영상 인식 과정을 수행한 후에 이전의 장애물 인식 결과와 비교하여 더 높은 신뢰값을 가지는 인식 결과를 선택할 수 있다.The obstacle recognition module 144 may sequentially perform an image recognition process on the acquired images, and then compare the recognition results with previous obstacle recognition results to select a recognition result having a higher confidence value.

바람직하게는 장애물인식모듈(144)은 현재의 장애물 인식 결과와 이전의 장애물 인식 결과를 비교하여, 상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과가 동일하면, 상기 현재의 장애물 인식 결과를 유지하고, 신뢰값(confidence)은 소정 가중치를 반영하여 상향할 수 있다.Preferably, the obstacle recognition module 144 compares the current obstacle recognition result with the previous obstacle recognition result, and if the current obstacle recognition result and the previous obstacle recognition result are the same, And the confidence may be raised to reflect a predetermined weight.

즉, 상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과가 동일하면, 장애물 인식 결과를 변경할 필요가 없으므로, 그 결과는 유지하면서, 인식 결과에 대응하는 신뢰값(confidence)은 소정 가중치를 반영하여 상향할 수 있다.That is, if the current obstacle recognition result and the previous obstacle recognition result are the same, there is no need to change the obstacle recognition result. Therefore, while maintaining the result, the confidence value corresponding to the recognition result reflects the predetermined weight Can be increased.

따라서, 동일한 인식 결과가 나올 때마다 장애물인식모듈(144)은 소정 가중치를 반영하여 신뢰값(confidence)을 높혀 저장하도록 제어할 수 있다.Therefore, each time the same recognition result is obtained, the obstacle recognizing module 144 can control to store a confidence value by reflecting a predetermined weight.

또한, 장애물인식모듈(144)은, 상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과가 동일하지 않으면, 상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과 중 신뢰값이 높은 인식 결과를 상기 새로운 현재 장애물 인식 결과로 등록할 수 있다. If the current obstacle recognition result and the previous obstacle recognition result are not the same, the obstacle recognition module 144 may output a recognition result having a higher confidence value out of the current obstacle recognition result and the previous obstacle recognition result, The new obstacle recognition result can be registered.

즉, 장애물인식모듈(144)은, 두 인식 결과를 비교하여, 더 신뢰값이 높은 인식 결과를 남겨두고, 이후의 인식 결과와 비교할 수 있다.That is, the obstacle recognition module 144 compares the two recognition results, and compares the recognition result with a later recognition result, leaving a recognition result with a higher confidence value.

한편, 장애물인식모듈(144)은, 상기 순차적으로 인식된 복수의 인식 결과에 기초하여 상기 장애물의 최종 속성을 판별할 수 있다(S1560).Meanwhile, the obstacle recognition module 144 may determine the final property of the obstacle based on the sequentially recognized recognition results (S1560).

장애물인식모듈(144)은, 순차적으로 장애물을 인식하다가 소정 기준이 만족되면 장애물의 최종 속성을 결정할 수 있다. 즉, 장애물인식모듈(144)은, 소정 기준이 만족되는 순간의 현재 인식 결과를 최종 인식 결과로 출력할 수 있다. The obstacle recognition module 144 recognizes the obstacles sequentially and can determine the final property of the obstacle when the predetermined criterion is satisfied. That is, the obstacle recognition module 144 can output the current recognition result at the moment when the predetermined criterion is satisfied, as the final recognition result.

상기 소정 기준이 만족되는 순간 이후에는 더 이상 장애물 인식 과정을 수행하지 않으므로, 상기 소정 기준이 만족되는 순간의 현재 인식 결과는 마지막 현재 인식 결과일 수 있다.Since the obstacle recognition process is no longer performed after the predetermined criterion is satisfied, the current recognition result at the moment when the predetermined criterion is satisfied may be the last current recognition result.

예를 들어, 상기 장애물지역의 모든 영역에 대하여 장애물 인식이 완료되는 순간, 즉, 상기 장애물지역에 대한 인식 커버리지(Coverage)가 100%되는 순간에 마지막 현재 인식 결과를 상기 장애물의 최종 속성으로 판별할 수 있다.For example, at the moment when the obstacle recognition is completed for all the areas of the obstacle area, that is, when the coverage of the obstacle area is 100%, the final current recognition result is determined as the final attribute of the obstacle .

실시예에 따라서는, 상기 인식 커버리지(Coverage)가 90%, 95% 등 소정 기준치에 도달하면, 장애물 인식 과정을 종료하도록 설정될 수 있다.According to an embodiment, the obstacle recognition process may be set to end when the recognition coverage reaches a predetermined reference value such as 90% or 95%.

또는, 상기 장애물인식모듈(144)은, 현재의 장애물 인식 결과와 이전의 장애물 인식 결과를 비교하여, 상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과가 동일하면, 상기 현재의 장애물 인식 결과를 유지하고, 신뢰값(confidence)은 상기 현재의 장애물 인식 결과의 신뢰값과 상기 이전의 장애물 인식 결과의 신뢰값의 평균값으로 변경할 수 있다. Alternatively, the obstacle recognition module 144 compares the current obstacle recognition result with the previous obstacle recognition result, and if the current obstacle recognition result and the previous obstacle recognition result are the same, And the confidence value may be changed to a mean value of the confidence value of the current obstacle recognition result and the confidence value of the previous obstacle recognition result.

본 실시예는 상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과가 동일한 경우에, 동일한 인식 결과에 대한 신뢰값을 두 인식 결과의 기존 신뢰값들의 평균값으로 결정하는 것이다. In this embodiment, when the current obstacle recognition result is identical to the previous obstacle recognition result, the confidence value for the same recognition result is determined as an average value of the existing confidence values of the two recognition results.

본 실시예에서도, 상기 장애물인식모듈(144)은, 상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과가 동일하지 않으면, 상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과 중 신뢰값이 높은 인식 결과를 상기 새로운 현재 장애물 인식 결과로 등록하도록 제어할 수 있다.In the present embodiment, if the current obstacle recognition result and the previous obstacle recognition result are not the same, the obstacle recognition module 144 may determine that the current obstacle recognition result and the previous obstacle recognition result And to register the recognition result as the new current obstacle recognition result.

한편, 주행제어모듈(141)은, 상기 인식된 장애물의 최종 속성에 기초하여, 주행부(160)의 구동을 제어할 수 있다(S1580).On the other hand, the driving control module 141 can control driving of the driving unit 160 based on the final attribute of the recognized obstacle (S1580).

예를 들어, 주행제어모듈(141)은 상기 인식된 장애물이 넘을 수 없는 높이의 장애물인 경우에, 장애물을 우회하여 주행하도록 제어할 수 있다.For example, the travel control module 141 can control to travel by bypassing the obstacle when the recognized obstacle is an obstacle of a height not exceedable.

또한, 주행제어모듈(141)은 낮은 높이의 둔턱과 같이 상기 인식된 장애물이 넘을 수 있는 높이의 장애물인 경우에, 계속해서 직진 주행하도록 제어할 수 있다.In addition, the travel control module 141 can be controlled so as to continuously travel straight ahead in the case of an obstacle of a height such that the recognized obstacle can pass, such as a low-level barrier.

또한, 주행제어모듈(141)은 선풍기의 받침대, 인모, 멀티탭, 전선 등 낮은 높이의 장애물이라도 이동시 구속 가능성이 있는 장애물이 인식되면, 장애물을 우회하여 주행하도록 제어할 수 있다.In addition, the travel control module 141 can control the obstacle to travel while bypassing obstacles that are likely to be restrained even if the obstacle is a low-level obstacle such as a pedestal of a fan, human hair, a multi-tap, or a wire.

한편, 상기 장애물인식모듈(144)은, 상기 판별된 장애물의 최종 속성에 따라, 해당 장애물을 위험 장애물 또는 비위험 장애물로 상기 맵에 등록하여 관리할 수 있다(S1570). In step S1570, the obstacle recognition module 144 registers the obstacle as a dangerous obstacle or a non-hazardous obstacle in the map according to the final attribute of the determined obstacle.

예를 들어, 상기 장애물인식모듈(144)은, 상기 인식된 장애물이 넘을 수 없는 높이의 장애물이거나 풍기의 받침대, 인모, 멀티탭, 전선 등 낮은 높이의 장애물이라도 이동시 구속 가능성이 있는 장애물인 경우에, 인식된 장애물을 위험 장애물로 맵에 등록할 수 있다.For example, if the recognized obstacle is an obstacle of a height that can not be exceeded by the recognized obstacle, or if the obstacle is a low-height obstacle such as a pedestal, a human hair, a multi-tap, Recognized obstacles can be registered on the map as dangerous obstacles.

또한, 직진으로 주행해도 넘을 수 있는 둔턱과 같은 장애물은 비위험 장애물로 맵에 등록할 수 있다.In addition, obstacles such as barriers that can be crossed even when driving straight ahead can be registered on the map as non-hazardous obstacles.

이후에, 이동 로봇(100)은, 맵에 등록된 위험 장애물, 비위험 장애물 정보에 기초하여, 비위험 장애물은 회피하도록 주행할 수 있다.Thereafter, the mobile robot 100 can travel on the basis of the dangerous obstacles and the non-hazardous obstacle information registered in the map to avoid the non-hazardous obstacles.

도 16은 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.16 is a flowchart illustrating a method of controlling a mobile robot according to an embodiment of the present invention.

도 16을 참조하면, 도 15를 참조하여 설명한 실시예와 같이, 이동 로봇(100, 100a, 100b)은 명령 또는 설정에 따라서 이동하며(S1610), 이동 중에 센서부(170)를 통하여 장애물이 감지되면(S1620), 상기 감지된 장애물의 위치 정보와 이동 로봇(100, 100a, 100b)의 위치 정보를 저장부(150)에 저장할 수 있다(S1630). 16, the mobile robots 100, 100a, and 100b move according to an instruction or a setting (S1610). When an obstacle is detected through the sensor unit 170 during movement The location information of the detected obstacle and the location information of the mobile robots 100, 100a, and 100b may be stored in the storage unit 150 (S1630).

또한, 상기 감지된 장애물의 위치를 중심으로 소정 크기를 가지는 영역을 상기 저장부(150)에 저장되는 맵(map)에 장애물지역으로 등록하여 저장, 관리할 수 있다(S1630).In operation S1630, an area having a predetermined size centered on the detected location of the obstacle may be registered as an obstacle area in a map stored in the storage unit 150, and may be stored and managed.

또한, 영상획득부(120)는 이동 중 상기 장애물지역에서 복수의 영상을 획득할 수 있다(S1640). In addition, the image acquisition unit 120 may acquire a plurality of images in the obstacle area during movement (S1640).

한편, 장애물인식모듈(144)은, 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여, 상기 장애물지역에서 상기 영상획득부(120)를 통하여 획득되는 복수의 영상들 각각에 대해서 장애물의 속성을 인식하고(S1650), 상기 인식된 복수의 인식 결과에 기초하여 상기 장애물의 최종 속성을 판별할 수 있다(S1660).On the other hand, the obstacle recognition module 144 determines the obstacle property of each of the plurality of images obtained through the image acquisition unit 120 in the obstacle region, based on the data learned by the machine learning (S1650), and the final attribute of the obstacle can be determined based on the recognized plurality of recognition results (S1660).

즉, 본 실시예에서는, 장애물인식모듈(144)이 순차적으로 획득되는 영상에 대해 장애물을 인식하고, 그 결과를 이전의 인식 결과와 비교하는 과정을 수행하는 것이 아니라, 장애물인식모듈(144)은 획득되는 복수의 영상 모두에 대해서 장애물을 인식한 후, 복수의 인식 결과에 기초하여 최종적으로 상기 장애물의 최종 속성을 판별할 수 있다.That is, in the present embodiment, the obstacle recognition module 144 does not perform the process of recognizing the obstacle to the image sequentially acquired by the obstacle recognition module 144 and comparing the result to the previous recognition result, After recognizing the obstacle for all of the acquired images, the final attribute of the obstacle can be finally determined based on the plurality of recognition results.

장애물인식모듈(144)은, 상기 인식된 복수의 인식 결과에서, 인식 결과의 빈도수, 신뢰값, 신뢰값들의 평균값 중 적어도 하나에 기초하여, 상기 장애물의 최종 속성을 판별할 수 있다.The obstacle recognition module 144 can determine the final attribute of the obstacle based on at least one of the frequency of the recognition result, the confidence value, and the average value of the confidence values, from the recognized plurality of recognition results.

예를 들어, 장애물인식모듈(144)은, 상기 인식된 복수의 인식 결과에서, 가장 많은 빈도수를 가지는 인식 결과를 상기 장애물의 최종 속성으로 판별할 수 있다. 즉, 복수의 인식 결과 중 가장 많이 판정된 장애물 속성을 최종 속성으로 선정할 수 있다.For example, the obstacle recognition module 144 can determine, as the final attribute of the obstacle, the recognition result having the highest frequency from the recognized plurality of recognition results. That is, the obstacle attribute that is determined the most among the plurality of recognition results can be selected as the final attribute.

또는 장애물인식모듈(144)은, 신뢰값이 가장 높은 인식 결과를 상기 장애물의 최종 속성으로 판별할 수 있다. 즉, 복수의 인식 결과 중 가장 높은 신뢰값을 보이는 인식 결과에서 판정된 장애물 속성을 최종 속성으로 선정할 수 있다. Or the obstacle recognition module 144 can determine the recognition result with the highest confidence value as the final attribute of the obstacle. That is, the obstacle attribute determined in the recognition result having the highest confidence value among the plurality of recognition results can be selected as the final attribute.

또는 장애물인식모듈(144)은, 동일한 인식 결과들에 대응하는 신뢰값의 평균값들 중에서 가장 높은 평균값에 대응하는 인식 결과를 상기 장애물의 최종 속성으로 판별할 수 있다. 즉, 장애물인식모듈(144)은, 복수의 인식 결과들을 동일한 인식 결과를 가지는 것들끼리 그룹핑(grouping)하고, 신뢰값들을 평균한 후에, 평균값이 가장 높은 그룹의 인식 결과를 최종 속성으로 판별할 수 있다. Or the obstacle recognition module 144 may determine the recognition result corresponding to the highest average value among the average values of the confidence values corresponding to the same recognition results as the final attribute of the obstacle. That is, the obstacle recognition module 144 may group the plurality of recognition results among those having the same recognition result, average the trust values, and then determine the recognition result of the group having the highest average value as the final property have.

본 실시예에서도, 상기 장애물인식모듈(144)은, 상기 판별된 장애물의 최종 속성에 따라, 해당 장애물을 위험 장애물 또는 비위험 장애물로 상기 맵에 등록하여 관리할 수 있다(S1670).Also in this embodiment, the obstacle recognition module 144 may register and manage the obstacle as a dangerous obstacle or a non-hazardous obstacle according to the final attribute of the discriminated obstacle (S1670).

또한, 주행제어모듈(141)은, 상기 인식된 장애물의 최종 속성에 기초하여, 주행부(160)의 구동을 제어할 수 있다(S1680).In addition, the driving control module 141 may control the driving of the driving unit 160 based on the final attribute of the recognized obstacle (S1680).

도 17은 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다.17 is a flowchart illustrating a method of controlling a mobile robot according to an embodiment of the present invention.

도 2 내지 도 7, 및 도 17을 참조하면, 먼저, 이동 로봇(100, 100a, 100b)은 명령 또는 설정에 따라서 이동할 수 있다(S1710).Referring to FIGS. 2 to 7 and 17, first, the mobile robots 100, 100a and 100b can move according to an instruction or a setting (S1710).

센서부(170)가 초음파 센서를 포함하는 경우에, 반사되는 초음파 신호를 감지함으로써 장애물을 인식하고(S1720), 이동 로봇(100, 100a, 100b)은 센서부(170)의 동작 감지 센서에서 감지하는 데이터에 기초하여 위치 정보를 획득할 수 있다(S1730).When the sensor unit 170 includes the ultrasonic sensor, the obstacle is recognized by sensing the reflected ultrasonic signal in step S1720. The mobile robots 100, 100a, and 100b detect the obstacle by the motion sensor of the sensor unit 170 The location information can be obtained based on the data (S1730).

제어부(140)는 상기 영상획득부(120)를 통하여 상기 장애물이 감지되는 위치를 포함하는 소정 영역에서 획득한 복수의 영상에 대해서 도 15와 도 16을 참조하여 설명한 과정을 거쳐 장애물을 인식할 수 있다.The control unit 140 can recognize an obstacle through a process described with reference to FIGS. 15 and 16 on a plurality of images acquired in a predetermined area including a position where the obstacle is detected through the image obtaining unit 120 have.

제어부(140)는 머신 러닝으로 기학습된 데이터에 기초하여, 상기 장애물이 감지되는 위치를 포함하는 소정 영역에서 획득한 복수의 영상에서 감지된 장애물의 속성을 판별할 수 있다.The controller 140 can determine the attribute of the obstacle detected in the plurality of images acquired in the predetermined area including the position where the obstacle is sensed, based on the data learned by the machine learning.

또한, 제어부(140)는 감지된 장애물이 넘을 수 있는 높이인지 여부를 판단할 수 있다(S1740). In addition, the controller 140 can determine whether the detected obstacle is at a height that can be exceeded (S1740).

만약 상기 인식된 장애물이 넘을 수 없는 높이의 장애물인 경우에(S1740), 제어부(140)는 90도 회전한 후 장애물을 우회하여 주행하도록 제어할 수 있다(S1775).If the recognized obstacle is an obstacle of a height that can not be exceeded (S1740), the control unit 140 may control to turn around the obstacle after traveling 90 degrees (S1775).

한편, 상기 인식된 장애물이 넘을 수 있는 높이의 장애물인 경우에(S1740), 어부(140)는 감지된 장애물의 속성 정보를 판단할 수 있다(S1750). 즉, 제어부(140)는 상기 인식된 장애물이 구속 가능성이 작아 진행해도 되는 장애물인지 여부를 판단할 수 있다.Meanwhile, if the recognized obstacle is an obstacle of a height that can be exceeded (S1740), the fisher 140 can determine the attribute information of the detected obstacle (S1750). That is, the control unit 140 can determine whether the recognized obstacle is an obstacle that may be proceeded because the possibility of restraint is small.

진행해도 되는 장애물로 판단되면, 제어부(140)는 계속해서 직진 이동하도록 제어할 수 있다(S1770).If it is determined that the obstacle can be proceeded, the control unit 140 may control to continue to move straight (S1770).

종래에는 감지된 장애물이 넘을 수 있는 높이인지 여부를 판단하여, 낮은 높이의 장애물의 경우에 직진 주행하였다.Conventionally, it is determined whether or not the detected obstacle is a height that can be exceeded, and the vehicle runs straight in the case of a low-height obstacle.

하지만, 전선 등과 같은 장애물의 경우, 이동 로봇이 전선에 감겨 구속되는 경우가 발생하였다.However, in the case of an obstacle such as a wire, the mobile robot is wound around the wire and constrained.

또한, 이동 로봇은 구속되는 경우에 좌/우로 흔드는 모션(motion) 등을 적용하여 구속 상태를 벗어나려고 하나, 전선의 피복이 벗겨지는 안전사고 등이 발생할 수 있었다.In addition, the mobile robot attempts to escape from the restrained state by applying motion, which is shaken to the left or to the right, when it is restrained, but a safety accident such as peeling of the covering of the wire may occur.

하지만, 본 발명은 머신 러닝과 영상 정보를 활용하여 장애물 속성 정보를 인식하고, 인식된 장애물 속성에 따라 주행 패턴을 결정함으로써, 신뢰성을 향상시킬 수 있다.However, the present invention can improve the reliability by recognizing the obstacle attribute information using the machine learning and the image information, and determining the driving pattern according to the recognized obstacle attribute.

또한, 한편, 상기 장애물인식모듈(144)은, 상기 판별된 장애물의 최종 속성에 따라, 해당 장애물을 비위험 장애물 또는 위험 장애물로 상기 맵에 등록하여 관리할 수 있다(S1760, S1765). In addition, the obstacle recognition module 144 may register the obstacle as a non-hazardous obstacle or a dangerous obstacle in the map according to the final attribute of the determined obstacle (S1760, S1765).

예를 들어, 상기 장애물인식모듈(144)은, 상기 인식된 장애물이 넘을 수 없는 높이의 장애물이거나 풍기의 받침대, 인모, 멀티탭, 전선 등 낮은 높이의 장애물이라도 이동시 구속 가능성이 있는 장애물인 경우에, 인식된 장애물을 위험 장애물로 맵에 등록할 수 있다(S1765).For example, if the recognized obstacle is an obstacle of a height that can not be exceeded by the recognized obstacle, or if the obstacle is a low-height obstacle such as a pedestal, a human hair, a multi-tap, The recognized obstacle can be registered in the map as a dangerous obstacle (S1765).

또한, 직진으로 주행해도 넘을 수 있는 둔턱과 같은 장애물은 비위험 장애물로 맵에 등록할 수 있다(S1760).In addition, an obstacle such as a barrier that can be traversed even when traveling straight ahead can be registered in the map as a non-hazardous obstacle (S1760).

이후에, 이동 로봇(100)은, 맵에 등록된 위험 장애물, 비위험 장애물 정보에 기초하여, 비위험 장애물은 회피하도록 주행할 수 있다.Thereafter, the mobile robot 100 can travel on the basis of the dangerous obstacles and the non-hazardous obstacle information registered in the map to avoid the non-hazardous obstacles.

도 18 내지 도 28은 본 발명의 실시예에 따른 이동 로봇의 제어 방법에 관한 설명에 참조되는 도면이다. 18 to 28 are diagrams referred to in explaining the control method of the mobile robot according to the embodiment of the present invention.

도 18을 참조하면, 이동 로봇(100)은 주행하면서 장애물(1800)을 감지할 수 있다. 이동 로봇(100)이 장애물(1800)을 감지하면, 인식된 장애물 주변을 포함하도록 장애물지역을 설정 등록할 수 있다. Referring to FIG. 18, the mobile robot 100 can sense the obstacle 1800 while traveling. When the mobile robot 100 detects the obstacle 1800, the obstacle region can be set and registered so as to include the recognized obstacle vicinity.

도 19를 참조하면, 장애물인식모듈(144)은 전체 영역(1900) 중 장애물(1800)을 중심으로 소정 크기(aXb)를 가지는 장애물지역(1910)을 저장부(150)에 저장되는 맵 상에 등록하도록 제어할 수 있다.19, the obstacle recognizing module 144 detects an obstacle area 1910 having a predetermined size (aXb) around the obstacle 1800 in the entire area 1900 on a map stored in the storage unit 150 It can be controlled to register.

예를 들어, 장애물지역(1910)은 장애물(1800)을 중심으로 전후 각 50cm, 좌우 각 50m 로 하여 총 1m x 1m 의 크기의 사각형 형태로 설정될 수 있다.For example, the obstacle area 1910 may be set to a rectangular shape having a total size of 1m x 1m with the front and rear angles of 50cm and the left and right angles of 50m around the obstacle 1800.

한편, 장애물인식모듈(144)은 상기 장애물지역(1910)의 등록과 함께 장애물(1800)을 인식할 당시의 이동 로봇(100)의 위치 정보를 저장하도록 제어할 수 있다. 한편, 상기 이동 로봇(100)의 위치 정보는 오도메트리(Odometry) 정보에 기초한 정보일 수 있다.Meanwhile, the obstacle recognizing module 144 may control to store the position information of the mobile robot 100 at the time of recognizing the obstacle 1800 together with the registration of the obstacle area 1910. [ On the other hand, the position information of the mobile robot 100 may be information based on odometry information.

예를 들어, 상기 장애물인식모듈(144)은 아래와 같은 저장 포맷으로 장애물의 위치와 이동 로봇의 위치 정보를 저장하도록 제어할 수 있다. For example, the obstacle recognition module 144 may control to store the location of the obstacle and the location information of the mobile robot in the following storage format.

저장 포맷 : (Op, Rp),Storage format: (Op, Rp),

Op(X,Y) = 장애물(Object) 위치(Position), Op (X, Y) = Object Position,

Rp(X,Y) = 로봇(Robot) 위치(Position)Rp (X, Y) = Robot Position

한편, 영상획득부(120)는 이동 중 상기 장애물지역(1910)에서 복수의 영상을 획득할 수 있다. Meanwhile, the image acquisition unit 120 may acquire a plurality of images in the obstacle region 1910 during movement.

상기 영상획득부(120)는 상기 이동 로봇(100)이 상기 장애물지역(1910) 외부로 이탈하기 전 상기 장애물지역(1910) 내에서 연속적으로 촬영하여 복수의 영상을 획득할 수 있다.The image obtaining unit 120 may continuously photograph the obstacle region 1910 before the mobile robot 100 leaves the obstacle region 1910 to acquire a plurality of images.

도 20은 두 차례의 촬영으로 상기 장애물지역(1910)의 소정 영역이 인식되었음을 나타낸 것이다. 도 20에서 도시된 원(2010, 2020)은 각각 인식 커버리지를 나타낸 것으로, 그 크기와 형태는 영상획득부(120)의 구성과 성능에 따라 달라질 수 있다.FIG. 20 shows that a predetermined region of the obstacle region 1910 is recognized by two photographs. The circles 2010 and 2020 shown in FIG. 20 represent recognition coverage, respectively, and their sizes and shapes may be changed according to the configuration and performance of the image acquisition unit 120. [

한편, 도 21을 참조하면, 상기 이동 로봇(100)은 상기 장애물지역(1910)의 다른 위치에서 상기 장애물(1800)을 촬영할 수 있다.Referring to FIG. 21, the mobile robot 100 may photograph the obstacle 1800 at another position of the obstacle region 1910.

본 발명에 따르면, 상기 장애물지역(1910)을 이동하면서 다양한 위치에서 상기 장애물(1800)을 촬영한 영상을 획득하고, 획득한 영상 각각에 대해서 장애물 인식 과정을 수행함으로써, 장애물 인식의 정확성을 향상시킬 수 있다.According to the present invention, it is possible to improve the accuracy of obstacle recognition by acquiring an image of the obstacle 1800 taken at various positions while moving the obstacle region 1910 and performing an obstacle recognition process for each of the acquired images .

한편, 장애물인식모듈(144)은 상기 장애물지역(1910)의 내부 영역을 격자 모양으로 가로, 세로로 각각 일정한 간격으로 구분하여 관리할 수 있다.Meanwhile, the obstacle recognizing module 144 can manage the inner area of the obstacle area 1910 by dividing the inner area of the obstacle area 1910 into a grid shape at regular intervals.

도 22는 4X4의 격자 형태로 구성되는 장애물지역(2200)을 예시한다.22 illustrates an obstacle region 2200 constructed in the form of a 4X4 grid.

장애물인식모듈(144)은 장애물지역(2200) 내의 영상이 촬영되어 장애물이 인식된 영역을 구분하여 저장할 수 있다. The obstacle recognizing module 144 can distinguish and store an area in which an image within the obstacle region 2200 is captured and an obstacle is recognized.

예를 들어, 도 22의 (a)와 같이, 인식된 소정 영역(2210)의 값을 변경하여 전체 장애물지역(2200)에서 인식된 영역과 인식되지 않은 영역을 구분할 수 있고, 전체 장애물지역(2200)에서 어느 정도까지 인식 완료되었는지 판별할 수 있다.For example, as shown in FIG. 22 (a), it is possible to distinguish the recognized area from the unrecognized area in the entire obstacle area 2200 by changing the value of the recognized predetermined area 2210, ) To a certain extent.

한편, 이동 로봇(100)의 주행 및 장애물 인식에 따라, 도 22의 (b)와 같이, 인식된 영역(2210, 2220, 2230, 2240)이 증가할 수 있다.On the other hand, the recognized areas 2210, 2220, 2230, and 2240 may increase as the mobile robot 100 travels and recognizes an obstacle, as shown in FIG. 22 (b).

또한, 도 22의 (c)와 같이, 인식 커버리지가 100%가 되면, 즉, 전체 장애물지역(2200)에서의 장애물 인식이 완료되면, 장애물 인식 과정이 종료될 수 있다.22C, when the recognition coverage reaches 100%, that is, when the obstacle recognition in the entire obstacle region 2200 is completed, the obstacle recognition process can be terminated.

또는, 설정에 따라서, 인식 커버리지가 90%, 95%가 되면, 장애물 인식 과정이 종료될 수 있다.Or, according to the setting, when the recognized coverage becomes 90% or 95%, the obstacle recognition process may be terminated.

도 23의 (a)와 (b)는, 다른 크기의 인식 커버리지(2310, 2320)로 장애물지역(1910)이 100%까지 인식된 예를 도시한 것으로, 인식 커버리지(2310, 2320)의 크기와 형태는 영상획득부(120)의 구성과 성능에 따라 달라질 수 있다.23A and 23B illustrate an example in which the obstacle region 1910 is recognized up to 100% by the recognition coverage areas 2310 and 2320 of different sizes and the size of the recognition coverage areas 2310 and 2320 The shape may be changed according to the configuration and performance of the image acquiring unit 120.

또한, 본 발명은 장애물지역(1910)에서 장애물이 촬영되어 장애물이 인식되는 순서와 무관하며 인식 커버리지가 90%, 95%, 100% 등 소정 기준치에 도달하면, 장애물 인식 과정을 종료하도록 설정될 수 있다.In addition, the present invention can be set to end the obstacle recognition process when the obstacle is not related to the order in which the obstacle is photographed and the obstacle is recognized in the obstacle area 1910 and the predetermined coverage value reaches 90%, 95%, 100% have.

한편, 도 15, 도 16을 참조하여 설명한 것과 같이, 장애물인식모듈(144)은, 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여, 상기 장애물지역에서 상기 영상획득부(120)를 통하여 획득되는 복수의 영상들에 대하여 장애물 인식 과정을 수행할 수 있다.As described with reference to FIGS. 15 and 16, the obstacle recognition module 144 may be configured to determine, based on data learned through machine learning, The obstacle recognizing process can be performed on the plurality of acquired images.

실시예에 따라서는, 순차적으로 장애물을 인식하면서, 현재 인식 결과와 과거에 인식된 장애물 결과를 비교하고, 만약 두 인식 결과가 같으면 그 결과에 대한 신뢰값(Confidence)을 올려주고, 만약 다르다면 신뢰값이 높은 인식 값을 현재 장애물로 등록할 수 있다. According to an embodiment, it is possible to sequentially recognize recognition of an obstacle, compare a current recognition result with an obstacle result recognized in the past, and if two recognition results are the same, increase a confidence value of the recognition result, A higher recognition value can be registered as a current obstacle.

이러한 과정을 반복하여 장애물 주변의 인식 커버리지(Coverage)가 풀(Full)이 되는 순간 최종적으로 신뢰값이 가장 높은 인식값으로 장애물을 등록할 수 있다.The obstacle can be registered with the recognition value with the highest confidence value at the moment when the recognition coverage around the obstacle becomes full by repeating this process.

장애물의 최종 등록 후에는 동일 지역 주행 시 장애물 인식은 진행하지 않고, 통상적인 초음파 센서 기반의 주행을 할 수 있다.After the final registration of the obstacle, the obstacle recognition is not proceeded while traveling in the same area, so that the ultrasonic sensor based travel can be performed.

이동 로봇은 초음파 센서 등 센서부(170)로 장애물의 존재를 인식하면서 주행할 수 있다. 이 때, 등록된 장애물과 동일한 위치에서 장애물이 감지되면 추가적인 장애물 인식을 진행하지 않고 주행할 수 있다. 또한, 등록된 장애물과 다른 위치에서 장애물이 감지되거나 미등록된 장애물이 감지되는 경우에 상술한 장애물 인식 과정을 수행할 수 있다.The mobile robot can travel while recognizing the presence of an obstacle by the sensor unit 170 such as an ultrasonic sensor. At this time, if an obstacle is detected at the same position as the registered obstacle, it is possible to travel without proceeding to recognize additional obstacle. In addition, when an obstacle is detected or an unregistered obstacle is detected at a position different from the registered obstacle, the obstacle recognition process described above can be performed.

본 발명에 따른 이동 로봇의 제어 방법은, 센서부(170)가 감지하는 현재의 장애물 상황뿐만 아니라, 이전에 인식되어 저장부(150)의 맵 상에 등록된 장애물 정보를 이용함으로써, 동일한 장애물에 반복적으로 구속, 충돌되 것을 방지할 ㅅn 있다.The control method of the mobile robot according to the present invention can be applied not only to the current obstacle situation detected by the sensor unit 170 but also to the same obstacle by using the obstacle information previously recognized and registered on the map of the storage unit 150 It prevents repeated collision and collision.

또한, 본 발명에 따른 이동 로봇의 제어 방법은, 이전에 등록된 장애물에 대해서, 불필요한 추가 장애물 인식 수행을 방지할 수 있다.In addition, the control method of the mobile robot according to the present invention can prevent unnecessary additional obstacle recognition from being performed for previously registered obstacles.

도 24와 도 25는 본 발명의 실시예에 따른 동일한 장애물에 대한 순차적인 장애물 인식 과정 중 일부를 예시한다.24 and 25 illustrate some of the sequential obstacle recognition processes for the same obstacle according to the embodiment of the present invention.

도 24와 도 25를 참조하면, 먼저 장애물인식모듈(144)은 이동 로봇이 제1 위치(Rp1)에서 획득한 영상을 인식하여 장애물을 선풍기로 인식할 수 있다. 예를 들어, 선풍기로 인식한 현 인식 결과의 신뢰값은 0.8일 수 있다.Referring to FIGS. 24 and 25, the obstacle recognition module 144 recognizes the obstacle as a fan by recognizing the image acquired by the mobile robot in the first position Rp1. For example, the confidence value of the current recognition result recognized as a fan may be 0.8.

한편, 상기 인식 결과는 최초의 인식 결과이므로, 비교 대상이 없어 현재 인식 결과에 대응하는 등록 결과도 선풍기가 될 수 있다.On the other hand, since the recognition result is the first recognition result, there is no comparison target, and the registration result corresponding to the current recognition result can also be a fan.

한편, 두번째로 이동 로봇이 제2 위치(Rp2)에서 획득한 영상에 기초하여 장애물인식모듈(144)은 신뢰값 0.7을 가지는 선풍기로 판정한 인식 결과를 얻을 수 있다. On the other hand, the obstacle recognition module 144 can obtain the recognition result determined by the fan having the confidence value of 0.7 based on the image acquired by the mobile robot at the second position Rp2.

장애물인식모듈(144)은 첫번째 인식 결과와 두번째 인식 결과가 동일하므로 현재 인식 결과에 대응하는 등록 결과로 선풍기를 유지할 수 있다. The obstacle recognition module 144 can maintain the fan with the registration result corresponding to the current recognition result because the first recognition result and the second recognition result are the same.

이 경우에 현재 인식 결과에 대응하는 신뢰값은 두 인식 결과의 신뢰값 중 하나를 그대로 사용할 수 있다.In this case, the trust value corresponding to the current recognition result can use one of the trust values of the two recognition results as it is.

또는 도 24와 같이 현재 인식 결과에 대응하는 신뢰값으로 첫번째 인식 결과와 두번째 인식 결과의 신뢰값을 평균한 평균값 0.75를 사용할 수 있다.Alternatively, as shown in FIG. 24, an average value 0.75 obtained by averaging the first recognition result and the second recognition result using the confidence value corresponding to the current recognition result may be used.

더욱 바람직하게는, 첫번째 인식 결과와 두번째 인식 결과가 동일한 선풍기 인식 결과를 얻었으므로, 도 25와 같이 소정 가중치를 반영하여 상향한 0.835의 신뢰값을 현재 인식 결과에 대응하는 신뢰값으로 사용할 수 있다.More preferably, since the first recognition result and the second recognition result are the same, a confidence value of 0.835 upwards reflecting the predetermined weight value can be used as the confidence value corresponding to the current recognition result as shown in FIG.

도 24와 도 25를 참조하면, 장애물인식모듈(144)은 세번째로 이동 로봇이 제3 위치(Rp3)에서 획득한 영상에 기초하여 장애물인식모듈(144)은 신뢰값 0.7을 가지는 램프 받침으로 판정한 인식 결과를 얻을 수 있다. Referring to FIGS. 24 and 25, the obstacle recognition module 144 determines that the obstacle recognition module 144 is determined as a lamp support having a reliability value of 0.7 based on the image acquired by the mobile robot in the third position Rp3. A recognition result can be obtained.

도 24와 도 25를 참조하면, 장애물인식모듈(144)은 세번째 인식 결과를 이전의 인식 결과와 비교할 수 있다.Referring to FIGS. 24 and 25, the obstacle recognition module 144 may compare the third recognition result with the previous recognition result.

세번째 인식 결과의 신뢰값은 0.7로 이전의 인식 결과 0.75 또는 0.835보다 낮으므로, 장애물인식모듈(144)은 더 높은 신뢰값을 가지는 선풍기를 현재 인식 결과에 대응하는 등록 결과로 선택할 수 있다.Since the confidence value of the third recognition result is 0.7 and is lower than the previous recognition result 0.75 or 0.835, the obstacle recognition module 144 can select the fan having the higher confidence value as the registration result corresponding to the current recognition result.

한편, 도 23과 도 24를 참조하여 순차적으로 장애물을 인식하고 인식 결과를 비교하는 과정을 설명하였지만, 본 발명은 도 16 등을 참조하여 설명한 것과 같이 복수의 인식 결과를 취합하여 최종 인식 결과를 선정할 수도 있다.23 and 24, the process of recognizing the obstacles and comparing the recognition results sequentially has been described. However, the present invention is not limited to the processes of collecting a plurality of recognition results as described with reference to FIG. 16, You may.

도 26 내지 도 28은 이동 로봇이 장애물 지역을 주행하면서 장애물에 대한 영상을 획득하고 인식 커버리지를 채우는 과정에 대한 설명에 참조되는 도면이다.26 to 28 are diagrams referred to in explaining a process of acquiring an image of an obstacle while the mobile robot is traveling in an obstacle area and filling the recognition coverage.

도 26을 참조하면, 영상획득부(120)는 장애물이 감지된 위치(op)를 중심으로 소정 크기로 등록된 장애물지역(2600)에 대해서 촬영하고 복수의 영상을 획득할 수 있다.Referring to FIG. 26, the image acquiring unit 120 may acquire a plurality of images by photographing an obstacle region 2600 registered at a predetermined size around a detected position (op) of the obstacle.

한편, 이동 로봇(100)이 상기 장애물지역(2600)에 진입하고 이탈하는 1회의 주행 내에서도 영상획득부(120)는 하나 이상의 영상을 획득할 수 있다. Meanwhile, the image acquisition unit 120 may acquire one or more images even during one travel in which the mobile robot 100 enters and leaves the obstacle region 2600.

예를 들어, 이동 로봇(100)이 상기 장애물지역(2600)에 진입(2611)한 후 이탈(2615)하기까지의 주행을 1회의 주행으로 구분할 수 있다.For example, the travel until the mobile robot 100 enters the obstacle area 2600 (2611) and then departs (2615) can be divided into one travel.

도 26은 이동 로봇(100)이 상기 장애물지역(2600)에 진입하고 이탈하는 2회의 주행(2610, 2620)을 예시한다.FIG. 26 illustrates two travels 2610 and 2620 in which the mobile robot 100 enters and leaves the obstacle area 2600. FIG.

한편, 도 26을 참조하면, 상기 이동 로봇(100, 100a, 100b)은 감지된 장애물을 회피하며 우회 주행(2612, 2613, 2614)을 수행하면서 장애물지역(2600)에 대한 영상을 획득할 수 있다.26, the mobile robots 100, 100a, and 100b can acquire images of the obstacle region 2600 while avoiding the detected obstacles and performing bypass travels 2612, 2613, and 2614 .

도 27은 이동 로봇(100)이 등록된 장애물지역(2700)에 진입하고 이탈하는 4회의 주행(2710, 2720, 2730, 2740)을 예시한다.27 illustrates four traveling (2710, 2720, 2730, 2740) in which the mobile robot 100 enters and leaves an obstacle area 2700 in which the mobile robot 100 is registered.

영상획득부(120)는 상기 4회의 주행(2710, 2720, 2730, 2740)에서 상기 장애물지역(2700)에 대한 인식 커버리지가 90%, 95%, 100% 등 설정된 기준치 이상이 될 때까지 복수의 영상을 획득할 수 있다. The image acquiring unit 120 acquires a plurality of images of the obstacle region 2700 until the recognized coverage of the obstacle region 2700 is equal to or greater than a reference value set at 90%, 95%, 100%, etc. in the four travels 2710, 2720, 2730, Images can be acquired.

도 28은 이동 로봇(100)이 등록된 장애물지역(2800)에 진입(2811)하고 이탈(2815)하는 1회의 주행 중에 감지된 장애물을 회피하며 우회 주행(2812, 2813, 2814)을 수행하면서 장애물지역(2800)에 대한 영상을 획득하는 예를 도시한 것이다.28 shows a state in which the obstacle area 2800 of the mobile robot 100 is registered in the obstacle area 2800 while avoiding the obstacle detected during one travel while leaving the obstacle area 2800 and performing detour travels 2812, 2813, And an image for the region 2800 is obtained.

전체 장애물지역에 대한 탐색을 위해, 일련의 동작으로 상기 장애물지역 내를 주행하면서 장애물지역을 촬영하는 것은, 이동 로봇(100)의 주행 경로에 상당한 변화를 가져올 수 있다.Photographing the obstacle area while traveling in the obstacle area by a series of motions for searching for the entire obstacle area may significantly change the traveling path of the mobile robot 100. [

따라서, 이동 로봇(100)이 통상적으로 주행하면서, 상기 장애물지역을 통과할 때마다, 상기 장애물지역을 촬영하여, 장애물에 대한 영상들을 획득하는 것이 바람직하다.Therefore, it is preferable to photograph the obstacle area and obtain images of the obstacle every time the mobile robot 100 normally travels and passes through the obstacle area.

예를 들어, 직진, 방향 전환 후 다시 최초 이동 방향의 반대방향으로 장애물이 감지되는 거리까지 이동하는 기본 지그재그 패턴으로 이동 로봇(100)이 주행하는 경우를 가정하면, 최초 직진시 장애물지역을 통과하면서 촬영하여 소정 개수의 영상을 획득하고, 반대방향까지 주행한 후 되돌아올 때 다시 장애물지역을 통과하면서 촬영하여 소정 개수의 영상을 획득하는 방식으로 나누어서 복수의 영상들을 획득할 수 있다.For example, assuming that the mobile robot 100 travels in a basic zigzag pattern in which the obstacle is detected in a direction opposite to the first movement direction after the straight ahead, the direction change, and the like, A plurality of images can be acquired by capturing a predetermined number of images, traveling to the opposite direction, and then returning to the obstacle area and capturing a predetermined number of images.

본 발명의 실시 예들 중 적어도 하나에 의하면, 이동 로봇이, 장애물의 속성을 정확히 판단하고, 장애물 속성에 따라 주행 패턴을 조정할 수 있어, 신뢰성 높은 장애물 인식 및 회피 동작을 수행할 수 있다.According to at least one of the embodiments of the present invention, the mobile robot can accurately determine the property of the obstacle and adjust the traveling pattern according to the obstacle property, thereby performing highly reliable obstacle recognition and avoidance operations.

또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 장애물의 인식 결과에 따라 전진, 후퇴, 정지, 우회 등의 동작을 수행함으로써 이동 로봇 자체의 안정성 및 사용자의 편의성을 제고하고, 운전 효율, 청소 효율을 향상시킬 수 있는 이동 로봇 및 그 제어방법을 제공할 수 있다.According to at least one of the embodiments of the present invention, it is possible to improve the stability of the mobile robot itself and the user's convenience by performing operations such as forward, backward, stop, and bypass according to the recognition result of the obstacle, And a control method thereof can be provided.

또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 머신 러닝에 기반하여 장애물의 속성을 정확하게 인식할 수 있는 이동 로봇 및 그 제어방법을 제공할 수 있다.In addition, according to at least one embodiment of the present invention, it is possible to provide a mobile robot and a control method thereof that can accurately recognize an attribute of an obstacle based on machine learning.

또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 이동 로봇이, 효율적으로 머신 러닝을 수행할 수 있고, 장애물 속성 인식에 사용할 수 있는 데이터를 추출할 수 있다.In addition, according to at least one of the embodiments of the present invention, the mobile robot can efficiently perform machine learning and extract data that can be used for obstacle attribute recognition.

본 발명에 따른 이동 로봇은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.The mobile robot according to the present invention is not limited to the configuration and method of the embodiments described above, but the embodiments may be modified such that all or some of the embodiments are selectively combined .

한편, 본 발명의 실시예에 따른 이동 로봇의 제어 방법은, 프로세서가 읽을 수 있는 기록매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Meanwhile, the control method of the mobile robot according to the embodiment of the present invention can be implemented as a code that can be read by a processor on a recording medium readable by the processor. The processor-readable recording medium includes all kinds of recording apparatuses in which data that can be read by the processor is stored. Examples of the recording medium that can be read by the processor include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may also be implemented in the form of a carrier wave such as transmission over the Internet . In addition, the processor-readable recording medium may be distributed over network-connected computer systems so that code readable by the processor in a distributed fashion can be stored and executed.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It should be understood that various modifications may be made by those skilled in the art without departing from the spirit and scope of the present invention.

본체: 110
영상획득부: 120
전면 카메라: 120a
상부 카메라: 120b
조작부: 137
제어부: 140
저장부: 150
주행부: 160
센서부: 170
통신부: 190
Body: 110
Image acquisition unit: 120
Front camera: 120a
Upper camera: 120b
Control panel: 137
Control section: 140
Storage: 150
Driving section: 160
Sensor part: 170
Communication department: 190

Claims (19)

본체를 이동시키는 주행부;
상기 본체 주변의 영상을 획득하는 영상획득부;
상기 이동 중 장애물을 감지하는 하나 이상의 센서를 포함하는 센서부;
상기 센서부가 장애물을 감지하면, 상기 감지된 장애물의 위치 정보와 이동 로봇의 위치 정보를 저장하며, 상기 감지된 장애물의 위치를 중심으로 소정 크기를 가지는 영역을 맵(map)에 장애물지역으로 등록하고, 상기 장애물지역에서 상기 영상획득부가 획득하는 영상을 저장하는 저장부; 및
머신 러닝(machine learning)으로 기학습된 데이터에 기초하여, 상기 장애물지역에서 상기 영상획득부를 통하여 획득되는 영상들에 대해서 순차적으로 장애물의 속성을 인식하고, 상기 순차적으로 인식된 복수의 인식 결과에 기초하여 상기 장애물의 최종 속성을 판별하는 장애물인식모듈을 포함하는 제어부;를 포함하는 이동 로봇.
A traveling part for moving the main body;
An image acquiring unit acquiring an image around the main body;
A sensor unit including at least one sensor for detecting an obstacle during the movement;
When the sensor unit detects an obstacle, the position information of the detected obstacle and the position information of the mobile robot are stored, and a region having a predetermined size centered on the detected position of the obstacle is registered as an obstacle region in a map A storage unit for storing an image acquired by the image acquisition unit in the obstacle area; And
An apparatus for recognizing an obstacle, comprising: an obstacle recognition unit for recognizing an obstacle property sequentially for images obtained through the image acquisition unit in the obstacle area based on data learned by machine learning; And an obstacle recognition module for determining a final property of the obstacle based on the obstacle recognition result.
제1항에 있어서,
상기 장애물인식모듈은,
상기 영상획득부를 통하여 획득되는 영상들에 대해서 순차적으로 장애물의 속성을 인식할 때, 현재의 장애물 인식 결과와 이전의 장애물 인식 결과를 비교하는 과정을 반복적으로 수행하는 것을 특징으로 하는 이동 로봇.
The method according to claim 1,
The obstacle recognition module includes:
And repeatedly performing a process of comparing the current obstacle recognition result and the previous obstacle recognition result when the attributes of the obstacle are sequentially recognized for the images obtained through the image acquisition unit.
제2항에 있어서,
상기 장애물인식모듈은,
현재의 장애물 인식 결과와 이전의 장애물 인식 결과를 비교하여,
상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과가 동일하면, 상기 현재의 장애물 인식 결과를 유지하고, 신뢰값(confidence)은 소정 가중치를 반영하여 상향하며,
상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과가 동일하지 않으면, 상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과 중 신뢰값이 높은 인식 결과를 상기 새로운 현재 장애물 인식 결과로 등록하도록 제어하는 것을 특징으로 하는 이동 로봇.
3. The method of claim 2,
The obstacle recognition module includes:
By comparing the current obstacle recognition result with the previous obstacle recognition result,
Wherein if the current obstacle recognition result and the previous obstacle recognition result are the same, the current obstacle recognition result is maintained, and the confidence value is increased by reflecting a predetermined weight,
If the current obstacle recognition result and the previous obstacle recognition result are not the same, control to register a recognition result having a higher confidence value in the current obstacle recognition result and the previous obstacle recognition result as the new current obstacle recognition result Wherein the mobile robot is a mobile robot.
제2항에 있어서,
상기 장애물인식모듈은,
상기 장애물지역의 모든 영역에 대하여 장애물 인식이 완료되는 순간, 마지막 현재 인식 결과를 상기 장애물의 최종 속성으로 판별하는 것을 특징으로 하는 이동 로봇.
3. The method of claim 2,
The obstacle recognition module includes:
And the final current recognition result is determined as the final property of the obstacle when the obstacle recognition is completed for all the areas of the obstacle area.
제2항에 있어서,
상기 장애물인식모듈은,
현재의 장애물 인식 결과와 이전의 장애물 인식 결과를 비교하여,
상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과가 동일하면, 상기 현재의 장애물 인식 결과를 유지하고, 신뢰값(confidence)은 상기 현재의 장애물 인식 결과의 신뢰값과 상기 이전의 장애물 인식 결과의 신뢰값의 평균값으로 변경하며,
상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과가 동일하지 않으면, 상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과 중 신뢰값이 높은 인식 결과를 상기 새로운 현재 장애물 인식 결과로 등록하도록 제어하는 것을 특징으로 하는 이동 로봇.
3. The method of claim 2,
The obstacle recognition module includes:
By comparing the current obstacle recognition result with the previous obstacle recognition result,
Wherein if the current obstacle recognition result and the previous obstacle recognition result are the same, the current obstacle recognition result is maintained, and the confidence value is the confidence value of the current obstacle recognition result and the previous obstacle recognition result To an average value of the trust values,
If the current obstacle recognition result and the previous obstacle recognition result are not the same, control to register a recognition result having a higher confidence value in the current obstacle recognition result and the previous obstacle recognition result as the new current obstacle recognition result Wherein the mobile robot is a mobile robot.
제1항에 있어서,
상기 장애물인식모듈은,
상기 판별된 장애물의 최종 속성에 따라, 해당 장애물을 위험 장애물 또는 비위험 장애물로 상기 맵에 등록하도록 제어하는 것을 특징으로 하는 이동 로봇.
The method according to claim 1,
The obstacle recognition module includes:
And registers the obstacle as a dangerous obstacle or a non-hazardous obstacle in the map according to a final attribute of the discriminated obstacle.
제1항에 있어서,
상기 제어부는,
상기 판별된 장애물의 최종 속성에 따라, 상기 주행부의 구동을 제어하는 주행제어모듈을 더 포함하는 것을 특징으로 하는 이동 로봇.
The method according to claim 1,
Wherein,
And a traveling control module for controlling the driving of the traveling part according to a final property of the determined obstacle.
제1항에 있어서,
상기 이동 로봇의 위치 정보는,
오도메트리(odometry) 정보로부터 산출되는 것을 특징으로 하는 이동 로봇.
The method according to claim 1,
The location information of the mobile robot may include:
And the odometry information is calculated from the odometry information.
본체를 이동시키는 주행부;
상기 본체 주변의 영상을 획득하는 영상획득부;
상기 이동 중 장애물을 감지하는 하나 이상의 센서를 포함하는 센서부;
상기 이동 중 장애물을 감지하는 하나 이상의 센서를 포함하는 센서부;
상기 센서부가 장애물을 감지하면, 상기 감지된 장애물의 위치 정보와 이동 로봇의 위치 정보를 저장하며, 상기 감지된 장애물의 위치를 중심으로 소정 크기를 가지는 영역을 맵(map)에 장애물지역으로 등록하고, 상기 장애물지역에서 상기 영상획득부가 획득하는 영상을 저장하는 저장부; 및
머신 러닝(machine learning)으로 기학습된 데이터에 기초하여, 상기 장애물지역에서 상기 영상획득부를 통하여 획득되는 복수의 영상들 각각에 대해서 장애물의 속성을 인식하고, 상기 인식된 복수의 인식 결과에 기초하여 상기 장애물의 최종 속성을 판별하는 장애물인식모듈을 포함하는 제어부;를 포함하는 이동 로봇.
A traveling part for moving the main body;
An image acquiring unit acquiring an image around the main body;
A sensor unit including at least one sensor for detecting an obstacle during the movement;
A sensor unit including at least one sensor for detecting an obstacle during the movement;
When the sensor unit detects an obstacle, the position information of the detected obstacle and the position information of the mobile robot are stored, and a region having a predetermined size centered on the detected position of the obstacle is registered as an obstacle region in a map A storage unit for storing an image acquired by the image acquisition unit in the obstacle area; And
An obstacle detection apparatus for recognizing an obstacle attribute for each of a plurality of images acquired through the image acquisition unit in the obstacle region based on data learned by machine learning, And an obstacle recognition module for determining a final property of the obstacle.
제9항에 있어서,
상기 장애물인식모듈은,
상기 인식된 복수의 인식 결과에서, 인식 결과의 빈도수, 신뢰값, 신뢰값들의 평균값 중 적어도 하나에 기초하여, 상기 장애물의 최종 속성을 판별하는 것을 특징으로 하는 이동 로봇.
10. The method of claim 9,
The obstacle recognition module includes:
And judges a final attribute of the obstacle based on at least one of the frequency of the recognition result, the confidence value, and the average value of the confidence values, from the recognized plurality of recognition results.
제9항에 있어서,
상기 장애물인식모듈은,
상기 인식된 복수의 인식 결과에서, 가장 많은 빈도수를 가지는 인식 결과 또는 신뢰값이 가장 높은 인식 결과 또는 동일한 인식 결과들에 대응하는 신뢰값의 평균값들 중에서 가장 높은 평균값에 대응하는 인식 결과를 상기 장애물의 최종 속성으로 판별하는 것을 특징으로 하는 이동 로봇.
10. The method of claim 9,
The obstacle recognition module includes:
A recognition result corresponding to the highest average value among the recognition results having the highest frequency or the average value of the confidence values corresponding to the same recognition results with the highest confidence value or the same recognition results is obtained from the recognized plurality of recognition results, And judges it as a final attribute.
제9항에 있어서,
상기 장애물인식모듈은,
상기 판별된 장애물의 최종 속성에 따라, 해당 장애물을 위험 장애물 또는 비위험 장애물로 상기 맵에 등록하도록 제어하는 것을 특징으로 하는 이동 로봇.
10. The method of claim 9,
The obstacle recognition module includes:
And registers the obstacle as a dangerous obstacle or a non-hazardous obstacle in the map according to a final attribute of the discriminated obstacle.
제9항에 있어서,
상기 제어부는,
상기 판별된 장애물의 최종 속성에 따라, 상기 주행부의 구동을 제어하는 주행제어모듈을 더 포함하는 것을 특징으로 하는 이동 로봇.
10. The method of claim 9,
Wherein,
And a traveling control module for controlling the driving of the traveling part according to a final property of the determined obstacle.
제9항에 있어서,
상기 이동 로봇의 위치 정보는,
오도메트리(odometry) 정보로부터 산출되는 것을 특징으로 하는 이동 로봇.
10. The method of claim 9,
The location information of the mobile robot may include:
And the odometry information is calculated from the odometry information.
센서부를 통하여, 이동 중 장애물을 감지하는 단계;
상기 센서부가 장애물을 감지하면, 상기 감지된 장애물의 위치 정보와 이동 로봇의 위치 정보를 저장하며, 상기 감지된 장애물의 위치를 중심으로 소정 크기를 가지는 영역을 맵(map)에 장애물지역으로 등록하는 단계;
이동 중 상기 장애물지역에서 복수의 영상을 획득하는 단계;
머신 러닝(machine learning)으로 기학습된 데이터에 기초하여, 상기 장애물지역을 이동하면서 상기 영상획득부를 통하여 획득되는 영상들에 대해서 순차적으로 장애물의 속성을 인식하는 단계;
상기 순차적으로 인식된 복수의 인식 결과에 기초하여 상기 장애물의 최종 속성을 판별하는 단계; 및,
상기 인식된 장애물의 최종 속성에 기초하여, 주행부의 구동을 제어하는 단계;를 포함하는 이동 로봇의 제어방법.
Sensing an obstacle while moving through the sensor unit;
When the sensor unit detects an obstacle, it stores position information of the detected obstacle and position information of the mobile robot, and registers an area having a predetermined size centering on the detected position of the obstacle as an obstacle area in a map step;
Obtaining a plurality of images in the obstacle area during movement;
Recognizing an attribute of an obstacle sequentially for images obtained through the image acquiring unit while moving in the obstacle area based on data learned by machine learning;
Determining a final attribute of the obstacle based on the sequentially recognized plurality of recognition results; And
And controlling driving of the traveling section based on the final attribute of the recognized obstacle.
제15항에 있어서,
상기 순차적으로 장애물의 속성을 인식하는 단계는,
상기 영상획득부를 통하여 획득되는 영상들에 대해서 순차적으로 장애물의 속성을 인식할 때, 현재의 장애물 인식 결과와 이전의 장애물 인식 결과를 비교하는 과정을 반복적으로 수행하는 것을 특징으로 하는 이동 로봇의 제어방법.
16. The method of claim 15,
The step of recognizing the attributes of the obstacles sequentially includes:
And a step of repeatedly performing a process of comparing the current obstacle recognition result and the previous obstacle recognition result when the attributes of the obstacle are sequentially recognized for the images obtained through the image acquisition unit .
제16항에 있어서,
상기 순차적으로 장애물의 속성을 인식하는 단계는,
현재의 장애물 인식 결과와 이전의 장애물 인식 결과를 비교하여,
상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과가 동일하면, 상기 현재의 장애물 인식 결과를 유지하고, 신뢰값(confidence)은 소정 가중치를 반영하여 상향하며,
상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과가 동일하지 않으면, 상기 현재의 장애물 인식 결과와 상기 이전의 장애물 인식 결과 중 신뢰값이 높은 인식 결과를 상기 새로운 현재 장애물 인식 결과로 등록하는 것을 특징으로 하는 이동 로봇의 제어방법.
17. The method of claim 16,
The step of recognizing the attributes of the obstacles sequentially includes:
By comparing the current obstacle recognition result with the previous obstacle recognition result,
Wherein if the current obstacle recognition result and the previous obstacle recognition result are the same, the current obstacle recognition result is maintained, and the confidence value is increased by reflecting a predetermined weight,
And a recognition result having a higher confidence value than the current obstacle recognition result and the previous obstacle recognition result is registered as the new current obstacle recognition result if the current obstacle recognition result and the previous obstacle recognition result are not the same Of the mobile robot.
제16항에 있어서,
상기 장애물의 최종 속성을 판별하는 단계는,
상기 장애물지역의 모든 영역에 대하여 장애물 인식이 완료되는 순간, 마지막 현재 인식 결과를 상기 장애물의 최종 속성으로 판별하는 것을 특징으로 하는 이동 로봇의 제어방법.
17. The method of claim 16,
Wherein the step of determining a final attribute of the obstacle comprises:
And the final current recognition result is determined as the final property of the obstacle when the obstacle recognition is completed for all the areas of the obstacle area.
제15항에 있어서,
상기 판별된 장애물의 최종 속성에 따라, 해당 장애물을 위험 장애물 또는 비위험 장애물로 상기 맵에 등록하는 단계;를 더 포함하는 이동 로봇의 제어방법.

16. The method of claim 15,
And registering the obstacle as a dangerous obstacle or a non-dangerous obstacle in the map according to a final attribute of the discriminated obstacle.

KR1020160108385A 2016-08-25 2016-08-25 Moving robot and control method thereof KR20180023302A (en)

Priority Applications (19)

Application Number Priority Date Filing Date Title
KR1020160108385A KR20180023302A (en) 2016-08-25 2016-08-25 Moving robot and control method thereof
US16/327,452 US20190179333A1 (en) 2016-08-25 2017-08-24 Mobile robot and control method for controlling the same
CN201780066283.1A CN109890576B (en) 2016-08-25 2017-08-24 Mobile robot and control method thereof
CN201780066252.6A CN109890575B (en) 2016-08-25 2017-08-24 Mobile robot and control method thereof
PCT/KR2017/009258 WO2018038552A1 (en) 2016-08-25 2017-08-24 Mobile robot and control method therefor
EP17843971.7A EP3505310B1 (en) 2016-08-25 2017-08-24 Mobile robot and control method therefor
PCT/KR2017/009260 WO2018038553A1 (en) 2016-08-25 2017-08-24 Mobile robot and control method therefor
AU2017316089A AU2017316089B2 (en) 2016-08-25 2017-08-24 Mobile robot and control method therefor
EP17843973.3A EP3505312B1 (en) 2016-08-25 2017-08-24 Mobile robot and control method therefor
JP2019510776A JP7055127B2 (en) 2016-08-25 2017-08-24 Mobile robots and their control methods
JP2019510871A JP6785950B2 (en) 2016-08-25 2017-08-24 Mobile robot and its control method
AU2017316091A AU2017316091B2 (en) 2016-08-25 2017-08-24 Mobile robot and control method therefor
AU2017316090A AU2017316090B2 (en) 2016-08-25 2017-08-24 Mobile robot and control method therefor
US16/327,454 US11199852B2 (en) 2016-08-25 2017-08-24 Mobile robot and control method for controlling the same
EP17843972.5A EP3505311B1 (en) 2016-08-25 2017-08-24 Mobile robot and control method therefor
CN201780066246.0A CN109890574B (en) 2016-08-25 2017-08-24 Mobile robot and control method thereof
PCT/KR2017/009257 WO2018038551A1 (en) 2016-08-25 2017-08-24 Mobile robot and control method therefor
JP2019510881A JP6861797B2 (en) 2016-08-25 2017-08-24 Mobile robot and its control method
US16/327,449 US11150666B2 (en) 2016-08-25 2017-08-24 Mobile robot and control method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160108385A KR20180023302A (en) 2016-08-25 2016-08-25 Moving robot and control method thereof

Publications (1)

Publication Number Publication Date
KR20180023302A true KR20180023302A (en) 2018-03-07

Family

ID=61688880

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160108385A KR20180023302A (en) 2016-08-25 2016-08-25 Moving robot and control method thereof

Country Status (1)

Country Link
KR (1) KR20180023302A (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019212174A1 (en) * 2018-04-30 2019-11-07 엘지전자 주식회사 Artificial intelligence vacuum cleaner and control method therefor
KR20200052388A (en) * 2018-10-22 2020-05-15 엘지전자 주식회사 Controlling method for Artificial intelligence Moving robot
KR102143349B1 (en) * 2019-03-27 2020-08-11 엘지전자 주식회사 Controlling method for Moving robot
KR20200115696A (en) * 2019-03-07 2020-10-08 삼성전자주식회사 Electronic apparatus and controlling method thereof
KR20200127019A (en) * 2018-03-19 2020-11-09 아미크로 세미컨덕터 씨오., 엘티디. How to reposition the robot
WO2021172936A1 (en) * 2020-02-28 2021-09-02 Lg Electronics Inc. Moving robot and control method thereof
KR20220090732A (en) * 2020-12-23 2022-06-30 네이버 주식회사 Method and system for determining action of device for given state using model trained based on risk measure parameter
US11385655B2 (en) 2019-09-04 2022-07-12 Lg Electronics Inc. Robot cleaner and method for controlling the same
WO2022181901A1 (en) * 2021-02-25 2022-09-01 엘지전자 주식회사 Intelligent map generation method and mobile robot therefor
KR102449047B1 (en) * 2021-04-12 2022-09-29 주식회사 클로봇 Method and Server for Obstacle Avoidance Driving Control of Moving Vehicle
WO2024071673A1 (en) * 2022-09-29 2024-04-04 삼성전자주식회사 Robot cleaner that detects abnormal object and control method thereof
US12140954B2 (en) 2018-09-20 2024-11-12 Samsung Electronics Co., Ltd. Cleaning robot and method for performing task thereof

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200127019A (en) * 2018-03-19 2020-11-09 아미크로 세미컨덕터 씨오., 엘티디. How to reposition the robot
KR20190134872A (en) * 2018-04-30 2019-12-05 엘지전자 주식회사 Cleaner and controlling method thereof
WO2019212174A1 (en) * 2018-04-30 2019-11-07 엘지전자 주식회사 Artificial intelligence vacuum cleaner and control method therefor
US12140954B2 (en) 2018-09-20 2024-11-12 Samsung Electronics Co., Ltd. Cleaning robot and method for performing task thereof
KR20200052388A (en) * 2018-10-22 2020-05-15 엘지전자 주식회사 Controlling method for Artificial intelligence Moving robot
US11055341B2 (en) 2018-10-22 2021-07-06 Lg Electronics Inc. Controlling method for artificial intelligence moving robot
KR20200115696A (en) * 2019-03-07 2020-10-08 삼성전자주식회사 Electronic apparatus and controlling method thereof
KR102143349B1 (en) * 2019-03-27 2020-08-11 엘지전자 주식회사 Controlling method for Moving robot
WO2020197303A1 (en) * 2019-03-27 2020-10-01 Lg Electronics Inc. Mobile robot control method
US11348276B2 (en) 2019-03-27 2022-05-31 Lg Electronics Inc. Mobile robot control method
US11385655B2 (en) 2019-09-04 2022-07-12 Lg Electronics Inc. Robot cleaner and method for controlling the same
WO2021172936A1 (en) * 2020-02-28 2021-09-02 Lg Electronics Inc. Moving robot and control method thereof
KR20220090732A (en) * 2020-12-23 2022-06-30 네이버 주식회사 Method and system for determining action of device for given state using model trained based on risk measure parameter
WO2022181901A1 (en) * 2021-02-25 2022-09-01 엘지전자 주식회사 Intelligent map generation method and mobile robot therefor
KR102449047B1 (en) * 2021-04-12 2022-09-29 주식회사 클로봇 Method and Server for Obstacle Avoidance Driving Control of Moving Vehicle
KR20220141261A (en) * 2021-04-12 2022-10-19 주식회사 클로봇 Server for controlling movement of mobile robot against non-avoidable obstacles, method and program
KR20220166235A (en) * 2021-04-12 2022-12-16 주식회사 클로봇 Server for controlling autonomous driving of mobile robot in non-avoidable obstacles that are not damaged when hit, method and program
KR20230042674A (en) * 2021-04-12 2023-03-29 주식회사 클로봇 Moving device equipped with obstacle avoidance self-determination solution based artificial intelligence and point cloud, method thereof
WO2024071673A1 (en) * 2022-09-29 2024-04-04 삼성전자주식회사 Robot cleaner that detects abnormal object and control method thereof

Similar Documents

Publication Publication Date Title
JP6785950B2 (en) Mobile robot and its control method
KR102688528B1 (en) Moving robot and control method therof
KR102314539B1 (en) Controlling method for Artificial intelligence Moving robot
JP2019528535A5 (en)
KR20180023302A (en) Moving robot and control method thereof
KR102548936B1 (en) Artificial intelligence Moving robot and control method thereof
KR20180058511A (en) Moving robot and control method thereof
EP3349087A1 (en) Moving robot
KR20180023303A (en) Moving robot and control method thereof
KR20180037516A (en) Moving robot and control method thereof
KR20180089660A (en) Lighting control system
KR20180048088A (en) Robot cleaner and control method thereof
KR102500525B1 (en) Moving robot
KR102048363B1 (en) A moving-robot
KR20200091110A (en) Moving Robot and controlling method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal