KR102548936B1 - Artificial intelligence Moving robot and control method thereof - Google Patents

Artificial intelligence Moving robot and control method thereof Download PDF

Info

Publication number
KR102548936B1
KR102548936B1 KR1020160108384A KR20160108384A KR102548936B1 KR 102548936 B1 KR102548936 B1 KR 102548936B1 KR 1020160108384 A KR1020160108384 A KR 1020160108384A KR 20160108384 A KR20160108384 A KR 20160108384A KR 102548936 B1 KR102548936 B1 KR 102548936B1
Authority
KR
South Korea
Prior art keywords
obstacle
image
sensor
unit
mobile robot
Prior art date
Application number
KR1020160108384A
Other languages
Korean (ko)
Other versions
KR20180023301A (en
Inventor
노동기
이주현
김정환
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to KR1020160108384A priority Critical patent/KR102548936B1/en
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to EP17843971.7A priority patent/EP3505310B1/en
Priority to JP2019510776A priority patent/JP7055127B2/en
Priority to US16/327,452 priority patent/US20190179333A1/en
Priority to AU2017316090A priority patent/AU2017316090B2/en
Priority to US16/327,454 priority patent/US11199852B2/en
Priority to PCT/KR2017/009257 priority patent/WO2018038551A1/en
Priority to CN201780066252.6A priority patent/CN109890575B/en
Priority to PCT/KR2017/009260 priority patent/WO2018038553A1/en
Priority to EP17843972.5A priority patent/EP3505311B1/en
Priority to JP2019510881A priority patent/JP6861797B2/en
Priority to JP2019510871A priority patent/JP6785950B2/en
Priority to AU2017316091A priority patent/AU2017316091B2/en
Priority to AU2017316089A priority patent/AU2017316089B2/en
Priority to US16/327,449 priority patent/US11150666B2/en
Priority to CN201780066283.1A priority patent/CN109890576B/en
Priority to CN201780066246.0A priority patent/CN109890574B/en
Priority to PCT/KR2017/009258 priority patent/WO2018038552A1/en
Priority to EP17843973.3A priority patent/EP3505312B1/en
Publication of KR20180023301A publication Critical patent/KR20180023301A/en
Application granted granted Critical
Publication of KR102548936B1 publication Critical patent/KR102548936B1/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

Abstract

본 발명의 일 측면에 따른 인공지능 이동 로봇은, 본체를 이동시키는 주행부, 본체 주변의 영상을 획득하는 영상획득부, 영상획득부가 획득하는 영상을 저장하는 저장부, 이동 중 장애물을 감지하는 하나 이상의 센서를 포함하는 센서부, 및, 센서부가 감지하는 장애물의 방향에 대응하여 영상획득부가 획득하는 영상의 일부 영역을 추출하도록 제어하는 제어부를 포함함으로써, 머신 러닝 및 장애물 속성 인식에 효율적인 데이터를 추출할 수 있다.An artificial intelligent mobile robot according to an aspect of the present invention includes a driving unit for moving the body, an image acquisition unit for acquiring an image around the body, a storage unit for storing the image obtained by the image acquisition unit, and one for detecting obstacles during movement. By including a sensor unit including the above sensors, and a control unit that controls to extract a part of the image obtained by the image acquisition unit in response to the direction of the obstacle detected by the sensor unit, extracting data effective for machine learning and obstacle attribute recognition can do.

Description

인공지능 이동 로봇 및 그 제어방법{Artificial intelligence Moving robot and control method thereof}Artificial intelligence moving robot and control method thereof {Artificial intelligence Moving robot and control method thereof}

본 발명은 이동 로봇 및 그 제어방법에 관한 것으로서, 더욱 상세하게는 머신 러닝(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 in charge of a part of factory automation. In recent years, the field of application of robots has been further expanded, and medical robots, space robots, etc. have been developed, and household robots that can be used at home are also being made. Among these robots, those capable of driving on their own are called mobile robots.

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

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

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

한편, 장애물 인식 및 회피는 이동 로봇의 주행 성능 뿐만 아니라 청소 성능에 큰 영향을 미치므로, 장애물 인식 능력의 신뢰성 확보가 요구된다.On the other hand, since obstacle recognition and avoidance greatly affect not only the driving performance of the mobile robot but also the cleaning performance, it is required to secure the reliability of the obstacle recognition capability.

종래 기술(등록특허공보 10-0669892호)은 적외선 센서와 초음파 센서를 조합하여 신뢰성 높은 장애물 인식 기술을 구현하는 기술을 개시한다. The prior art (Patent Registration No. 10-0669892) discloses a technique for implementing highly 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 in that the attribute of the obstacle cannot be determined.

도 1은 종래의 이동 로봇의 장애물 감지 및 회피 방법에 관한 설명에 참조되는 도면이다. 1 is a diagram referenced in a description of a method of detecting and avoiding an obstacle of a conventional mobile robot.

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

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

로봇 청소기는, 넘을 수 있는 높이라고 판단되면 직진으로 이동하고(S14), 그렇지 않은 경우에는 90도 회전(S15)하여 이동할 수 있다. If it is determined that the height can be crossed, the robot cleaner moves straight ahead (S14), and if not, it may rotate 90 degrees (S15) and move.

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

하지만, 넘을 수 있는 높이라고 판단한 장애물이 전선이라면 로봇 청소기는 전선을 넘어가다가 전선에 걸려 구속될 수 있다.However, if the obstacle determined to be a height that can be crossed is a wire, the robot cleaner may get caught in the wire while crossing the wire and be constrained.

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

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

따라서, 전방 장애물의 속성을 파악하여 속성에 맞게 이동 패턴을 변경할 수 있는 방안이 요구된다.Therefore, there is a need for a way to change the movement pattern to match the property by identifying the property of the front obstacle.

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

종래의 머신 러닝은 통계학 기반의 분류, 회귀, 군집 모델이 중심이었다. 특히, 분류, 회귀 모델의 지도 학습에서는 학습 데이터의 특성과 이러한 특성을 기반으로 새로운 데이터를 구별하는 학습 모델을 사람이 사전에 정의했다. 이와 달리, 딥러닝은 컴퓨터가 스스로 특성을 찾아내고 판별하는 것이다.Conventional machine learning has focused on classification, regression, and cluster models based on statistics. In particular, in the supervised learning of classification and regression models, humans pre-defined the characteristics of learning data and the learning model that distinguishes new data based on these characteristics. In contrast, in deep learning, computers find and discriminate characteristics on their own.

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

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

또한, 인공지능과 머신 러닝을 다양한 제품, 서비스에 이용하기 위한 연구가 증가하고 있다.In addition, research to use artificial intelligence and machine learning for various products and services is increasing.

등록특허공보 10-0669892호 (등록일자 2007. 1. 10.)Registered Patent Publication No. 10-0669892 (registration date: 2007. 1. 10.)

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

본 발명의 목적은, 장애물의 인식 결과에 따라 전진, 후퇴, 정지, 우회 등의 동작을 수행함으로써 이동 로봇 자체의 안정성 및 사용자의 편의성을 제고하고, 운전 효율, 청소 효율을 향상시킬 수 있는 이동 로봇 및 그 제어방법을 제공함에 있다.An object of the present invention is to improve the stability of the mobile robot itself and the user's convenience by performing operations such as forward, backward, stop, and detour according to the result of recognizing an obstacle, and to improve driving efficiency and cleaning efficiency. And it is to provide a control method.

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

본 발명의 목적은, 효율적으로 머신 러닝을 수행할 수 있고, 장애물 속성 인식에 사용할 수 있는 데이터를 추출하는 이동 로봇 및 그 제어방법을 제공함에 있다.An object of the present invention is to provide a mobile robot capable of efficiently performing machine learning and extracting data usable for recognizing obstacle attributes and a control method thereof.

상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇은, 본체를 이동시키는 주행부, 본체 주변의 영상을 획득하는 영상획득부, 영상획득부가 획득하는 영상을 저장하는 저장부, 이동 중 장애물을 감지하는 하나 이상의 센서를 포함하는 센서부, 및, 센서부가 감지하는 장애물의 방향에 대응하여 영상획득부가 획득하는 영상의 일부 영역을 추출하도록 제어하는 제어부를 포함함으로써, 머신 러닝 및 장애물 속성 인식에 효율적인 데이터를 추출할 수 있다.In order to achieve the above or other objects, a mobile robot according to an aspect of the present invention includes a driving unit for moving the body, an image acquisition unit for acquiring an image around the body, a storage unit for storing the image acquired by the image acquisition unit, and moving A sensor unit including one or more sensors for detecting obstacles, and a control unit for controlling extraction of a part of an image acquired by the image acquisition unit in response to the direction of the obstacle detected by the sensor unit, thereby enabling machine learning and obstacle properties Efficient data can be extracted for recognition.

또한, 상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇은, 추출된 영상에서 머신 러닝(machine learning)으로 기학습된 장애물을 인식하는 장애물인식모듈과 인식된 장애물의 속성에 기초하여, 주행부의 구동을 제어하는 주행제어모듈을 포함함으로써, 안정성, 사용자의 편의성, 운전 효율, 청소 효율을 향상시킬 수 있다.In addition, in order to achieve the above or other objects, the mobile robot according to one aspect of the present invention is based on an obstacle recognition module for recognizing an obstacle pre-learned by machine learning from an extracted image and an attribute of the recognized obstacle Thus, stability, user's convenience, driving efficiency, and cleaning efficiency may be improved by including a driving control module for controlling driving of the driving unit.

또한, 상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따른 이동 로봇의 제어방법은, 센서부를 통하여, 이동 중 장애물을 감지하는 단계, 센서부가 감지하는 장애물의 방향에 대응하여 영상획득부가 획득하는 영상의 일부 영역을 추출하는 단계, 추출된 영상에서 머신 러닝(machine learning)으로 기학습된 장애물을 인식하는 단계, 및, 인식된 장애물의 속성에 기초하여, 주행부의 구동을 제어하는 단계를 포함할 수 있다.In addition, in order to achieve the above or other objects, a control method of a mobile robot according to an aspect of the present invention includes detecting an obstacle during movement through a sensor unit, and obtaining an image acquisition unit in response to the direction of the obstacle detected by the sensor unit. Extracting a partial region of an image to be played, recognizing an obstacle pre-learned through machine learning in the extracted image, and controlling the driving of the driving unit based on the attribute of the recognized obstacle. can do.

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

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

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

또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 이동 로봇이, 효율적으로 머신 러닝을 수행할 수 있고, 장애물 속성 인식에 사용할 수 있는 데이터를 추출할 수 있다.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 usable for obstacle attribute recognition.

한편, 그 외의 다양한 효과는 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 것이다.Meanwhile, other various effects will be disclosed directly or implicitly in detailed descriptions according to embodiments 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 내지 도 21은 본 발명의 실시예에 따른 이동 로봇의 제어 방법에 관한 설명에 참조되는 도면이다.
도 22는 본 발명의 일 실시예에 따른 이동 로봇과 서버의 동작 방법에 관한 설명에 참조되는 도면이다.
도 23은 본 발명의 일 실시예에 따른 이동 로봇과 서버의 동작 방법을 도시한 순서도이다.
도 24 내지 도 26은 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법에 관한 설명에 참조되는 도면이다.
1 is a diagram referenced in a description of a method of detecting and avoiding an obstacle of a conventional mobile robot.
2 is a perspective view showing a mobile robot and a charging stand for charging the mobile robot according to an embodiment of the present invention.
FIG. 3 is a diagram showing an upper surface of the mobile robot shown in FIG. 2;
FIG. 4 is a view showing the front of the mobile robot shown in FIG. 2;
FIG. 5 is a diagram illustrating a bottom portion of the mobile robot shown in FIG. 2;
6 and 7 are block diagrams showing a control relationship between major components of a mobile robot according to an embodiment of the present invention.
8 is an example of a simplified internal block diagram of a server according to an embodiment of the present invention.
9 to 12 are diagrams referenced for description of deep learning.
13 is a flowchart illustrating a control method of a mobile robot according to an embodiment of the present invention.
14 is a flowchart illustrating a control method of a mobile robot according to an embodiment of the present invention.
15 to 21 are views referenced for description of a control method of a mobile robot according to an embodiment of the present invention.
22 is a diagram referenced in a description of a method of operating a mobile robot and a server according to an embodiment of the present invention.
23 is a flowchart illustrating a method of operating a mobile robot and a server according to an embodiment of the present invention.
24 to 26 are views referenced for description of a control method of a mobile robot according to an embodiment of the present invention.

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

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

한편, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.On the other hand, the suffixes "module" and "unit" for components used in the following description are simply given in consideration of the ease of preparation of this specification, and do not themselves give a particularly important meaning or role. Accordingly, the “module” and “unit” may be used interchangeably.

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

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

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

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

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

이하, 본체(110)의 각부분을 정의함에 있어서, 주행구역 내의 천장을 향하는 부분을 상면부(도 3 참조)로 정의하고, 주행구역 내의 바닥을 향하는 부분을 저면부(도 5 참조)로 정의하며, 상면부와 저면부 사이에서 본체(110)의 둘레를 이루는 부분 중 주행방향을 향하는 부분을 정면부(도 4 참조)라고 정의한다. Hereinafter, in defining each part of the main body 110, the part facing the ceiling in the driving area is defined as an upper part (see FIG. 3), and the part facing the floor in the driving area is defined as a bottom part (see FIG. 5). And, among the parts forming the circumference of the main body 110 between the upper and lower surfaces, the part facing the driving direction is defined as the front part (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 driving unit 160 that moves the main body 110. The driving part 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 wheel 136 to rotate the driving wheel. The driving wheels 136 may be provided on the left and right sides of the body 110, respectively, and are hereinafter referred to as a left wheel 136(L) and a 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 the left wheel drive motor and the right wheel 136(R) driving the left wheel 136(L) as needed ) may be provided respectively with a right wheel drive motor for driving. The running direction of the main body 110 can be switched to the left or right by making a difference between the rotation speeds of the left wheel 136 (L) and the right wheel 136 (R).

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

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

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

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

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

이동 로봇(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 detector (not shown) for receiving a return signal. The charging station 200 may transmit an infrared signal through a signal transmission unit, and the signal detection unit may include an infrared sensor for detecting the infrared signal. The mobile robots 100, 100a, and 100b move to the location of the charging station 200 according to the infrared signal transmitted from the charging station 200 and dock with the charging station 200. Due to this docking, charging is performed between the charging terminals 133 of the mobile robots 100, 100a, and 100b and the charging terminals 210 of the charging base 200.

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

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

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

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

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

이동 로봇(100, 100a, 100b)은 복수의 영상을 이용하여 장애물 인식의 정확성을 높이거나, 복수의 영상 중 하나 이상의 영상을 선택하여 효과적인 데이터를 사용함으로써 장애물 인식의 정확성을 높일 수 있다.The mobile robots 100, 100a, and 100b can increase the accuracy of obstacle recognition by using a plurality of images or by selecting one or more images from among the 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 detecting an obstacle in front. In addition, the sensor unit 170 may further include a cliff detection sensor 132 for detecting whether a cliff exists on the floor in the driving area and a lower camera sensor 139 for obtaining an image of the floor.

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

예를 들어, 상기 센서부(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, and a second sensor and a third sensor disposed to be spaced apart from the first sensor in left and right directions. .

상기 장애물 감지센서(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 location and type of sensors included in the obstacle detection sensor 131 may vary depending on the type of mobile robot, and the obstacle detection sensor 131 may include more various sensors.

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

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

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

실시예에 따라서는, 케이스(110)의 외측면에 구비되는 장애물 감지 센서(131)는 발신부와 수신부를 포함하여 구성될 수 있다. Depending on the 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, in the ultrasonic sensor, at least one transmitting unit and at least two receiving units may be provided so that they are crossed with each other. Accordingly, signals can be radiated at various angles and signals reflected by obstacles can be received at various angles.

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

한편, 상기 센서부(170)는 본체(110)의 구동에 따른 이동 로봇(100, 100a, 100b)의 동작을 감지하고 동작 정보를 출력하는 동작 감지 센서를 더 포함할 수 있다. 동작 감지 센서로는, 자이로 센서(Gyro Sensor), 휠 센서(Wheel Sensor), 가속도 센서(Acceleration Sensor) 등을 사용할 수 있다.Meanwhile, the sensor unit 170 may further include a motion detection sensor that detects motions of the mobile robots 100, 100a, and 100b according to the driving of the main body 110 and outputs motion information. As the motion detection sensor, a gyro sensor, a wheel sensor, an acceleration sensor, or the like may be used.

자이로 센서는, 이동 로봇(100, 100a, 100b)이 운전 모드에 따라 움직일 때 회전 방향을 감지하고 회전각을 검출한다. 자이로 센서는, 이동 로봇(100, 100a, 100b)의 각속도를 검출하여 각속도에 비례하는 전압 값을 출력한다. 제어부(140)는 자이로 센서로부터 출력되는 전압 값을 이용하여 회전 방향 및 회전각을 산출한다.The gyro sensor detects a rotation direction and a rotation angle when the mobile robots 100, 100a, and 100b move according to the driving 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 controller 140 calculates the rotation direction and 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 detect the number of revolutions of the wheel. Here, the wheel sensor may be a rotary encoder. The rotary encoder detects and outputs the number of revolutions of the left wheel 136(L) and the right wheel 136(R).

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

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

또한, 가속도 센서는 제어부(140)에 내장되어 이동 로봇(100, 100a, 100b)의 속도 변화를 감지할 수 있다. 즉, 가속도 센서는 속도 변화에 따른 충격량을 검출하여 이에 대응하는 전압 값을 출력한다. 따라서, 가속도 센서는 전자식 범퍼의 기능을 수행할 수 있다.In addition, the acceleration sensor may be built into the control unit 140 to detect a change in speed 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. Accordingly, the acceleration sensor may perform a function of an electronic bumper.

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

한편, 이동 로봇(100, 100a, 100b)은 충전 가능한 배터리(138)를 구비하여 로봇 청소기 내로 전원을 공급하는 전원 공급부(미도시)를 포함할 수 있다.Meanwhile, the mobile robots 100, 100a, and 100b may include a power supply unit (not shown) having 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 each component of the mobile robots 100, 100a, and 100b, and when the remaining power is insufficient, it can be charged by receiving charging current from the charging station 200.

이동 로봇(100, 100a, 100b)은 배터리(138)의 충전 상태를 감지하고, 감지 결과를 제어부(140)에 전송하는 배터리 감지부(미도시)를 더 포함할 수 있다. 배터리(138)는 배터리 감지부와 연결되어 배터리 잔량 및 충전 상태가 제어부(140)에 전달된다. 배터리 잔량은 출력부(미도시)의 화면에 표시될 수 있다.The mobile robots 100, 100a, and 100b may further include a battery detector (not shown) that detects the state of charge of the battery 138 and transmits the detection result to the controller 140. The battery 138 is connected to the battery detection unit, and the battery remaining amount and charging state are transmitted to the controller 140 . The remaining battery capacity may be displayed on a screen of an 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 a manipulation unit 137 capable of inputting on/off or various commands. Various control commands necessary for the overall operation of the mobile robot 100 may be received through the control unit 137 . In addition, the mobile robots 100, 100a, and 100b may display reservation information, battery status, operation mode, operation status, error status, 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 that processes and determines various information such as recognizing a current location, and a storage unit 150 that stores various data. In addition, the mobile robots 100, 100a, and 100b may further include a communication unit 190 that transmits and receives data with an external terminal.

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

외부 단말기는 이동 로봇(100a, 100b)과 통신하여, 맵과 함께 이동 로봇의 현재 위치를 표시할 수 있으며, 복수의 영역에 대한 정보가 표시될 수 있다. 또한, 외부 단말기는 이동 로봇의 주행에 따라 그 위치를 갱신하여 표시한다. The external terminal may communicate with the mobile robots 100a and 100b to display the current location of the mobile robot along with a map, and information on a plurality of areas may be displayed. In addition, the external terminal updates and displays its location according to the movement 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 manipulation unit 137, and the driving 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 information necessary for controlling the mobile robot 100, and may include a volatile or non-volatile recording medium. Recording media stores data that can be read by a microprocessor, such as HDD (Hard Disk Drive), SSD (Solid State Disk), SDD (Silicon Disk Drive), ROM, RAM, CD-ROM, magnetic tapes, floppy disks, optical data storage devices, and the like.

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

맵에는 주행구역 내의 방들의 위치가 표시될 수 있다. 또한, 이동 로봇(100a, 100b)의 현재 위치가 맵 상에 표시될 수 있으며, 맵 상에서의 이동 로봇(100a, 100b)의 현재의 위치는 주행 과정에서 갱신될 수 있다. 외부 단말기는 저장부(150)에 저장된 맵과 동일한 맵을 저장한다. Locations of rooms within the driving area may be displayed on the map. Also, the current positions of the mobile robots 100a and 100b may be displayed on a map, and the current positions of the mobile robots 100a and 100b on the map may be updated during driving. 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 may be generated whenever cleaning is performed.

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

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

제어부(140)는 주행제어모듈(141), 위치인식모듈(142), 지도생성모듈(143) 및 장애물인식모듈(144)을 포함할 수 있다. The control unit 140 may include a driving 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 the travel of the mobile robots 100, 100a, and 100b, and controls the driving of the travel unit 160 according to travel settings. In addition, the driving control module 141 may determine the driving path of the mobile robots 100, 100a, and 100b based on the operation of the driving unit 160. For example, the driving control module 141 can determine the current or past moving speed of the mobile robot 100, the distance traveled, etc. based on the rotational speed of the driving wheels 136, and each driving wheel 136 ( According to the rotation direction of L) and 136(R)), the current or past direction change process can also be grasped. Based on the driving information of the mobile robots 100, 100a, and 100b identified in this way, the location of the mobile robots 100, 100a, and 100b may be updated on the map.

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

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

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

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

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

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

지도생성모듈(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 generating module 143 detects features from each of the acquired images. Various methods (Feature Detection) of detecting a feature from an image are well known in the field of computer vision technology. Several feature detectors suitable for detection of 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, Gray-level blobs detector, etc.

지도생성모듈(143)은 각 특징점을 근거로 디스크립터를 산출한다. 지도생성모듈(143)은 특징 검출을 위해 SIFT(Scale Invariant Feature Transform) 기법을 이용하여 특징점을 디스크립터(descriptor)로 변환할 수 있다. 디스크립터는 n차원 벡터(vector)로 표기될 수 있다.The map generating module 143 calculates a descriptor based on each feature point. The map generating 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 expressed as 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)들이 적용될 수도 있다.SIFT can detect features that are invariant with respect to changes in scale, rotation, and brightness of the subject to be photographed, so that even if the same area is photographed with different postures of the mobile robot 100, it is invariant (i.e., rotation invariant (Rotation)). -invariant)) features can be detected. Of course, it is not limited thereto, and various other techniques (eg, HOG: Histogram of Oriented Gradient, Haar feature, Fems, LBP: Local Binary Pattern, MCT: Modified Census Transform) 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 sub-classification rule, based on the descriptor information obtained through the acquired image of each location, and the same group according to a predetermined sub-representative rule. The descriptors included in may be converted into sub-representative descriptors, respectively.

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

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

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

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

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

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

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

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

위치인식모듈(142)은 미지의 현재 위치의 획득영상을 통해 얻은 적어도 하나의 인식 디스크립터 정보를 근거로, 소정 하위 변환규칙에 따라 비교대상이 되는 위치 정보(예를 들면, 각 위치의 특징분포)와 비교 가능한 정보(하위 인식 특징분포)로 변환한다.The location recognition module 142 is based on at least one recognition descriptor information obtained through an acquired image of an unknown current location, and location information (eg, feature distribution of each location) to be compared according to a predetermined sub-conversion rule. It is converted into information (lower recognition feature distribution) that can be compared with .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

예를 들어, 인식된 장애물의 속성이 넘어갈 수 있는 종류의 장애물이면, 이동 로봇(100, 100a, 100b)은 계속 직진할 수 있다. 또는, 인식된 장애물의 속성이 넘어갈 수 없는 종류의 장애물이면, 이동 로봇(100, 100a, 100b)은 회전하여 일정거리 이동하고, 다시 최초 이동 방향의 반대방향으로 장애물이 감지되는 거리까지 이동하여 지그재그 형태로 주행할 수 있다For example, if the attribute of the recognized obstacle is a surmountable type of obstacle, the mobile robots 100, 100a, and 100b may continue to move forward. Alternatively, if the attribute of the recognized obstacle is a type of obstacle that cannot be crossed, the mobile robots 100, 100a, and 100b rotate and move a certain distance, and move again in the opposite direction to the initial movement direction to the distance at which the obstacle is detected, zigzag can run in the form

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

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

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

머신 러닝은 컴퓨터에게 사람이 직접 로직(Logic)을 지시하지 않아도 데이터를 통해 컴퓨터가 학습을 하고 이를 통해 컴퓨터가 알아서 문제를 해결하게 하는 것을 의미한다.Machine learning means that a computer learns through data without a person directly instructing the computer with logic, and through this, the computer solves the problem on its own.

딥러닝(Deep Learning)은. 인공지능을 구성하기 위한 인공신경망(Artificial Neural Networks: ANN)에 기반으로 해 컴퓨터에게 사람의 사고방식을 가르치는 방법으로 사람이 가르치지 않아도 컴퓨터가 스스로 사람처럼 학습할 수 있는 인공지능 기술이다.Deep Learning is. Based on artificial neural networks (ANNs) to construct artificial intelligence, it is an artificial intelligence technology that allows computers to learn like humans on their own without being taught by humans as a method of teaching computers how to think.

상기 인공신경망(ANN)은 소프트웨어 형태로 구현되거나 칩(chip) 등 하드웨어 형태로 구현될 수 있다.The artificial neural network (ANN) may be implemented in the form of software or hardware 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 attributes of obstacles are 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 uses a deep neural network (DNN) such as a convolutional neural network (CNN), a recurrent neural network (RNN), and a deep belief network (DBN) learned by deep learning. can include

딥러닝(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 attributes of obstacles included in input image data based on weights between nodes included in the deep neural network (DNN).

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

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

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

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

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

도 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 other than the image processing module 145 and the image processing unit 125.

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

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

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

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

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

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

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

상기 영상획득부(120)가 획득한 영상 중 일부 영역을 잘라내어(cropping) 추출하는 구성에 대해서는 도 15 내지 도 21 등을 참조하여 상세히 후술한다.A configuration of cropping and extracting a portion of an image obtained by the image acquisition unit 120 will be described later in detail with reference to FIGS. 15 to 21 and the like.

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

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

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

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

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

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

또한, 실시예에 따라서는, 저장부(150)에는 상기 심층신경망(DNN) 구조를 이루는 웨이트(weight), 바이어스(bias)들이 저장될 수 있다.Also, depending on embodiments, weights and biases constituting the deep neural network (DNN) structure may be stored in the storage unit 150 .

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

한편, 상기 장애물인식모듈(144)은 상기 영상획득부(120)가 획득하는 영상의 일부 영역을 추출할 때마다 상기 추출된 영상을 트레이닝(training) 데이터로 사용하여 학습 과정을 수행하거나, 소정 개수 이상의 추출 영상이 획득된 후 학습 과정을 수행할 수 있다.On the other hand, whenever the obstacle recognition module 144 extracts a partial region of the image acquired by the image acquisition unit 120, it performs a learning process using the extracted image as training data, or a predetermined number of After the above extracted images are obtained, a learning process may be performed.

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

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

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

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

도 8을 참조하면, 서버(70)는, 통신부(820), 저장부(830), 학습모듈(840), 및 프로세서(810)를 구비할 수 있다.Referring to FIG. 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 may control overall operations of the server 70 .

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

통신부(820)는, 휴대 단말기, 이동 로봇(100, 100a, 100b) 등 홈 어플라이언스, 게이트웨이 등으로부터 상태 정보, 동작 정보, 조작 정보 등 각종 데이터를 수신할 수 있다. The communication unit 820 may receive various types of data, such as status information, operation information, and operation information, from home appliances such as portable terminals and mobile robots 100, 100a, and 100b, and gateways.

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

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

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

또한, 저장부(830)는, 머신 러닝에 사용되는 데이터, 결과 데이터 등을 저장할 수 있다.Also, 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 learner for 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, for example, a deep neural network (DNN) such as a convolutional neural network (CNN), a recurrent neural network (RNN), and a deep belief network (DBN). Neural networks can be trained.

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

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

도 9 내지 도 12는 딥러닝(Deep Learning)에 대한 설명에 참조되는 도면이다. 9 to 12 are diagrams referenced for description of deep learning.

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

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

딥러닝 구조는 인공신경망(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 is composed of a deep neural network (DNN) such as a convolutional neural network (CNN), a recurrent neural network (RNN), and a deep belief network (DBN). can be

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

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

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

도 9와 도 10을 참조하면, 각 노드들은 활성화 모델에 기초하여 동작할 수 있고, 활성화 모델에 따라 입력값에 대응하는 출력값이 결정될 수 있다. Referring to FIGS. 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 the activation model.

임의의 노드, 예를 들어, 하위레벨 특징(1020)의 출력값은 해당 노드와 연결된 다음 레이어, 예를 들어, 중간레벨 특징(1030)의 노드로 입력될 수 있다. 다음 레이어의 노드, 예를 들어, 중간레벨 특징(1030)의 노드는 하위레벨 특징(1020)의 복수의 노드로부터 출력되는 값들을 입력받을 수 있다. An output value of an arbitrary node, eg, a low-level feature 1020 , may be input to a node of a next layer connected to the corresponding node, eg, a node of a mid-level feature 1030 . A node of the next layer, for example, a node of the mid-level feature 1030 may receive values output from a plurality of nodes of the low-level feature 1020 as input.

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

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

한편, 임의의 노드, 예를 들어, 중간레벨 특징(1030)의 출력값은 해당 노드와 연결된 다음 레이어, 예를 들어, 상위레벨 특징(1040)의 노드로 입력될 수 있다. 다음 레이어의 노드, 예를 들어, 상위레벨 특징(1040)의 노드는 중간레벨 특징(1030)의 복수의 노드로부터 출력되는 값들을 입력받을 수 있다. Meanwhile, an output value of an arbitrary node, for example, the mid-level feature 1030, may be input to a next layer connected to the corresponding node, for example, a node of a higher-level feature 1040. A node of the next layer, for example, a node of the high-level feature 1040 may receive values output from a plurality of nodes of the mid-level feature 1030 as input.

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

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

본 발명에 따른 딥러닝 구조는 공지된 다양한 구조를 이용할 수 있다. 예를 들어, 본 발명에 따른 딥러닝 구조는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등일 수 있다.The deep learning structure according to the present invention may use 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), and the like.

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

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

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

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

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

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

입력 레이어(Input Layer)에는 소정 이미지(1100)가 입력된다. A predetermined image 1100 is input to the 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 CNN (Convolutional Neural Network), various filters for extracting features of an image through convolution operation are basically combined with pooling or non-linear activation functions to add nonlinear characteristics. used

컨볼루션(convolution)은 영상 처리 분야에서 주로 필터 연산에 사용되며 영상으로부터 특징(feature)을 추출하기 위한 필터를 구현하는데 사용된다.Convolution is mainly used for filter calculation in the field of 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, if the convolution operation is repeatedly performed on the entire image while moving a 3X3 window, an appropriate result can be obtained according to the weight value of the window.

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

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

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

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

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

컨볼루션 필터링의 결과로서, 컨볼루션 레이어(convolution layer)에 포함된 필터의 개수에 따라 필터 개수만큼의 필터링 영상들이 생성될 수 있다. 컨볼루션 레이어는 필터링 영상들에 포함된 노드들로 구성될 수 있다.As a result of convolution filtering, as many filtered images as the number of filters may be generated according to the number of filters included in the convolution layer. A convolution layer may be composed of nodes included in 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 the paired convolution layer.

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

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

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

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

도 13과 도 14는 본 발명의 실시예에 따른 이동 로봇의 제어 방법을 도시한 순서도이다. 13 and 14 are flowcharts illustrating a control method of a mobile robot according to an embodiment of the present invention.

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

센서부(170)는 장애물감지센서(131)를 포함하며, 전방의 장애물을 감지할 수 있다. The sensor unit 170 includes an obstacle detection sensor 131 and can detect an obstacle in front.

이동 중에 센서부(170)를 통하여 장애물이 감지되면(S1320), 영상획득부(120)는 본체(110) 전방의 영상을 획득할 수 있다(S1330).When an obstacle is detected through the sensor unit 170 during movement (S1320), the image acquisition unit 120 may obtain an image of the front of the main body 110 (S1330).

이 경우에, 제어부(140)는, 상기 센서부(170)가 감지하는 장애물의 방향에 대응하여 영상획득부(120)가 획득하는 영상의 일부 영역을 잘라내어 추출하도록 제어할 수 있다(S1340).In this case, the controller 140 may control to cut and extract a partial region of the image obtained by the image acquisition unit 120 in response to the direction of the obstacle detected by the sensor unit 170 (S1340).

실시예에 따라서, 상기 제어부(140) 내의 영상처리모듈(145)이 상기 영상의 일부 영역을 추출할 수 있다. 또는 상기 제어부(140)는 별도로 구비되는 영상처리부(125)가 일부 영역을 추출하도록 제어할 수 있다. 또는 상기 제어부(140)는 영상획득부(120)가 일부 영역을 추출하도록 제어할 수 있다. Depending on the embodiment, the image processing module 145 in the control unit 140 may extract a partial region of the image. Alternatively, the control unit 140 may control the separately provided image processing unit 125 to extract a partial area. Alternatively, the control unit 140 may control the image acquisition unit 120 to extract a partial area.

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

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

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

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

따라서, 본 발명은 센서부(170)가 감지하는 장애물의 방향에 따라 영상획득부(120)가 획득한 영상 중 다른 영역을 추출하여 인식용 데이터로 사용함으로써, 인식률을 높일 수 있다.Therefore, according to the present invention, the recognition rate can be increased by extracting different regions from images acquired by the image acquisition unit 120 according to the direction of the obstacle detected by the sensor unit 170 and using them as data for recognition.

상기 영상획득부(120)가 획득한 영상 중 일부 영역을 잘라내어(cropping) 추출하는 구성에 대해서는 도 15 내지 도 21 등을 참조하여 상세히 후술한다.A configuration of cropping and extracting a portion of an image obtained by the image acquisition unit 120 will be described later in detail with reference to FIGS. 15 to 21 and the like.

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

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

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

또한, 주행제어모듈(141)은 선풍기의 받침대, 인모, 멀티탭, 전선 등 낮은 높이의 장애물이라도 이동시 구속 가능성이 있는 장애물이 인식되면, 장애물을 우회하여 주행하도록 제어할 수 있다.In addition, the driving control module 141 may control the vehicle to drive while bypassing the obstacle when an obstacle of low height, such as a pedestal of a fan, human hair, a power strip, or an electric wire, is recognized.

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

센서부(170)가 초음파 센서를 포함하는 경우에, 반사되는 초음파 신호를 감지함으로써 장애물을 인식할 수 있다(S1420).When the sensor unit 170 includes an ultrasonic sensor, an obstacle may be recognized by detecting a reflected ultrasonic signal (S1420).

한편, 영상획득부(120)는 지속적으로 이동 로봇(100, 100a, 100b) 전방 및 주변을 촬영하거나, 상기 센서부(170)의 장애물 감지에 따라 전방 및 주변을 촬영하여 영상을 획득할 수 있다.On the other hand, the image acquisition unit 120 may acquire images by continuously photographing the front and surroundings of the mobile robots 100, 100a, and 100b, or by photographing the front and surroundings according to the detection of obstacles by the sensor unit 170. .

제어부(140)는 상기 영상획득부(120)를 통하여 획득한 영상 중 상기 초음파 신호가 감지된 영역에 대응하는 영역을 추출하도록 제어할 수 있다(S1430). 예를 들어, 제어부(140)는 상기 초음파 신호가 감지된 영역이 전방 우측 영역인 경우에 상기 영상획득부(120)를 통하여 획득한 영상 중 우측 영역을 추출하도록 제어할 수 있다. 또한, 제어부(140)는 상기 초음파 신호가 감지된 영역이 전방 중앙 영역인 경우에 상기 영상획득부(120)를 통하여 획득한 영상 중 중앙 영역을 추출하도록 제어할 수 있다. The control unit 140 may control to extract an area corresponding to the area where the ultrasound signal is detected from among the images acquired through the image acquisition unit 120 (S1430). For example, when the area where the ultrasound signal is detected is the front right area, the controller 140 may control to extract the right area from among the images acquired through the image acquisition unit 120. In addition, the controller 140 may control to extract a central region from among images obtained through the image acquisition unit 120 when the region where the ultrasonic signal is detected is the front center region.

한편, 제어부(140)는 머신 러닝으로 기학습된 데이터에 기초하여, 상기 추출된 영상에서 감지된 장애물의 속성을 판별할 수 있다.Meanwhile, the controller 140 may determine the attribute of the obstacle detected in the extracted image based on data pre-learned through machine learning.

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

만약 상기 인식된 장애물이 넘을 수 없는 높이의 장애물인 경우에(S1440), 제어부(140)는 90도 회전한 후 장애물을 우회하여 주행하도록 제어할 수 있다(S1455).If the recognized obstacle is an obstacle of an insurmountable height (S1440), the controller 140 may rotate 90 degrees and then control the vehicle to drive around the obstacle (S1455).

한편, 상기 인식된 장애물이 넘을 수 있는 높이의 장애물인 경우에(S1440), 어부(140)는 감지된 장애물의 속성 정보를 판단할 수 있다(S1445). 즉, 제어부(140)는 상기 인식된 장애물이 구속 가능성이 작아 진행해도 되는 장애물인지 여부를 판단할 수 있다.On the other hand, if the recognized obstacle is an obstacle of a height that can be overcome (S1440), the fisherman 140 may determine attribute information of the detected obstacle (S1445). That is, the controller 140 may determine whether the recognized obstacle is an obstacle that may proceed because the possibility of restraint is low.

진행해도 되는 장애물로 판단되면, 제어부(140)는 계속해서 직진 이동하도록 제어할 수 있다(S1450).If it is determined that the obstacle is acceptable to proceed, the controller 140 may control the object to continuously move in a straight line (S1450).

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

하지만, 전선 등과 같은 장애물의 경우, 이동 로봇이 전선에 감겨 구속되는 경우가 발생하였다.However, in the case of obstacles such as electric wires, there have been cases where the mobile robot is wrapped around the electric wires and is constrained.

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

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

도 15 내지 도 21은 본 발명의 실시예에 따른 이동 로봇의 제어 방법에 관한 설명에 참조되는 도면으로, 영상획득부(120)가 획득한 영상 중 일부 영역을 잘라내어(cropping) 추출하는 구체적인 예들을 도시한 것이다.15 to 21 are diagrams referred to in the description of the method for controlling a mobile robot according to an embodiment of the present invention, and show specific examples of cropping and extracting a part of an image obtained by the image acquisition unit 120. it is depicted

도 15를 참조하면, 이동 로봇(100)은 센서부(170)를 통하여 이동 중에 선풍기 등 장애물(1500)을 감지할 수 있다. 도 15는 장애물(1500)이 이동 로봇(100)의 이동 방향 중앙에서 감지되는 경우를 예시한다.Referring to FIG. 15 , the mobile robot 100 may detect an obstacle 1500 such as a fan while moving through a sensor unit 170 . 15 illustrates a case where an obstacle 1500 is detected in the center of the movement direction of the mobile robot 100.

이동 로봇(100)이 이동 중에 장애물(1500)의 존재를 감지하면, 도 16의 (a)와 같이, 영상획득부(120)는 이동 로봇(100)의 전방을 촬영하여 장애물(1500)의 적어도 일부가 포함되는 영상(1600)을 획득할 수 있다.When the mobile robot 100 detects the presence of an obstacle 1500 while moving, as shown in FIG. An image 1600 including a part thereof may be obtained.

제어부(140)는 상기 센서부(170)가 감지하는 장애물(1500)의 방향에 대응하여 영상획득부(120)가 획득한 영상(1600) 중 일부 영역(1610)을 추출하도록 제어할 수 있다.The controller 140 may control to extract a partial area 1610 from the image 1600 obtained by the image acquisition unit 120 in response to the direction of the obstacle 1500 detected by the sensor unit 170.

도 15와 도 16을 참조하면, 제어부(140)는 상기 장애물(1500)이 본체(110) 전면 방향에서 감지되는 경우에, 상기 영상획득부(120)가 획득하는 영상의 중앙(center)하단 영역(1610)을 추출하도록 제어할 수 있다.Referring to FIGS. 15 and 16 , the controller 140 controls the lower center area of the image obtained by the image acquisition unit 120 when the obstacle 1500 is detected from the front direction of the main body 110. (1610) can be controlled to extract.

한편, 제어부(140)는, 도 16의 (b)와 같이 추출된 영상(1620)을 장애물의 속성을 인식하기 위한 입력 데이터로 사용할 수 있다.Meanwhile, the controller 140 may use the image 1620 extracted as shown in (b) of FIG. 16 as input data for recognizing the property of the obstacle.

장애물인식모듈(144)은 머신러닝으로 기학습된 데이터에 기초하여 상기 장애물(1500)이 선풍기라는 것을 인식할 수 있다. 예를 들어, 장애물인식모듈(144)에는 딥러닝 구조 중 하나인 CNN(Convolutional Neural Network)이 탑재되고, 기학습된 CNN(Convolutional Neural Network)은 입력 데이터에 포함된 장애물의 속성을 인식하여 그 결과를 출력할 수 있다.The obstacle recognition module 144 may recognize that the obstacle 1500 is an electric fan based on data pre-learned through machine learning. For example, the obstacle recognition module 144 is equipped with a convolutional neural network (CNN), which is one of the deep learning structures, and the pre-learned convolutional neural network (CNN) recognizes the attributes of obstacles included in the input data, and as a result can output

한편, 주행제어모듈(141)은 상기 감지된 장애물이 진행해도 되는 장애물이 아닌 경우에, 회전 후 진행 등 회피 동작을 수행하도록 주행부(160)를 제어할 수 있다.Meanwhile, the driving control module 141 may control the driving unit 160 to perform an avoidance operation, such as moving after turning, when the detected obstacle is not an obstacle that may be passed.

한편, 상기 추출된 영상(1620)은 저장부(150)에 저장될 수 있다. 또한, 영상획득부(120)가 획득한 원본 영상(1600)도 상기 저장부(150)에 저장될 수 있다. Meanwhile, the extracted image 1620 may be stored in the storage unit 150 . In addition, the original image 1600 acquired by the image acquisition unit 120 may also be stored in the storage unit 150 .

상기 저장부(150)에 저장된 추출된 영상(1620)은 트레이닝 데이터로 활용될 수 있다.The extracted image 1620 stored in the storage unit 150 may be used as training data.

한편, 제어부(140)는 장애물이 본체(110) 전면의 우측 방향에서 감지되는 경우에, 상기 영상획득부(120)가 획득하는 영상의 우측하단 영역을 추출하고, 장애물이 상기 본체(110) 전면의 좌측 방향에서 감지되는 경우에, 상기 영상획득부(120)가 획득하는 영상의 좌측하단 영역을 추출하도록 제어할 수 있다.,Meanwhile, when an obstacle is detected from the right side of the front of the main body 110, the control unit 140 extracts the lower right area of the image acquired by the image acquisition unit 120, and the obstacle is located in the front side of the main body 110. When it is sensed in the left direction of , it can be controlled to extract the lower left area of the image acquired by the image acquisition unit 120.,

도 17은 장애물(1500)이 이동 로봇(100)의 이동 방향 우측에서 감지되는 경우를 예시한다.17 illustrates a case in which an obstacle 1500 is detected on the right side of the movement direction of the mobile robot 100.

도 18의 (a)를 참조하면, 장애물(1500)이 본체(110) 전면의 우측 방향에서 감지되는 경우에, 제어부(140)는 상기 영상획득부(120)가 획득하는 영상(1800)의 우측하단 영역(1810)을 추출하도록 제어할 수 있다.Referring to (a) of FIG. 18 , when an obstacle 1500 is detected from the right side of the front of the main body 110, the controller 140 controls the right side of the image 1800 acquired by the image acquisition unit 120. It is possible to control to extract the lower area 1810.

제어부(140)는, 도 18의 (b)와 같이 추출된 영상(1820)을 장애물의 속성을 인식하기 위한 입력 데이터로 사용할 수 있다.The controller 140 may use the image 1820 extracted as shown in (b) of FIG. 18 as input data for recognizing the property of the obstacle.

본 발명은 단순히 전체 영상의 중심 영역을 기준으로 미리 설정된 크기로 크로핑(cropping)하는 것이 아니라, 장애물이 감지되는 방향에 기초하여, 영상 중 중앙, 좌측, 우측 영역을 추출할 수 있다.In the present invention, the center, left, and right regions of the image may be extracted based on the direction in which an obstacle is detected, rather than simply cropping the central region of the entire image to a preset size.

이에 따라, 인식을 위한 입력 데이터에 장애물이 최대한 많이 포함될 수 있다. 머신은 영상 내 비중이 가장 많은 것을 인식하므로, 장애물의 속성 인식률을 향상시킬 수 있다.Accordingly, as many obstacles as possible can be included in the input data for recognition. Since the machine recognizes the highest weight in the image, the attribute recognition rate of the obstacle can be improved.

한편, 이동 로봇(100)은 소정 공간의 바닥에서 주행하므로 획득영상의 하단부를 추출하여 인식을 위한 입력 데이터에 장애물이 더 많이 포함되도록 할 수 있다. Meanwhile, since the mobile robot 100 travels on the floor of a predetermined space, it is possible to include more obstacles in the input data for recognition by extracting the lower part of the acquired image.

한편, 도 19의 (a), 도 20의 (a), 도 21의 (a)를 참조하면, 본 발명의 일 실시예에 따른 센서부(170)는, 이동 로봇(100)의 본체 전면에 배치되는 제1 센서(S1), 상기 제1 센서(S1)로부터 좌, 우로 이격되도록 배치되는 제2 센서(S2) 및 제3 센서(S3)를 포함할 수 있다.Meanwhile, referring to FIG. 19 (a), FIG. 20 (a), and FIG. 21 (a), the sensor unit 170 according to an embodiment of the present invention is located on the front of the main body of the mobile robot 100. It may include a first sensor (S1) disposed, and a second sensor (S2) and a third sensor (S3) disposed to be spaced apart from the first sensor (S1) to the left and right.

이 경우에, 상기 제1 센서(S1)는 발신부로 동작하고, 제2 센서(S2) 및 제3 센서(S3)는 수신부로 동작할 수 있다. 예를 들어, 상기 제1 센서(S1)는 초음파 신호를 방사하고, 제2 센서(S2) 및 제3 센서(S3)는 장애물에 반사된 신호를 수신할 수 있다. 장애물에 반사된 신호를 수신하면, 공지된 초음파를 이용한 인식 방법들을 이용하여 장애물이 있는 방향, 장애물과의 거리를 판단할 수 있다.In this case, the first sensor S1 may operate as a transmitting unit, and the second sensor S2 and the third sensor S3 may operate as receiving units. For example, the first sensor S1 may emit an ultrasonic signal, and the second sensor S2 and the third sensor S3 may receive signals reflected from an obstacle. When a signal reflected by an obstacle is received, the direction of the obstacle and the distance to the obstacle may be determined using known ultrasonic recognition methods.

도 19의 (a)는 장애물(X1)이 이동 로봇(100)의 전면 방향 중앙에서 감지되는 경우를 예시한다. 상기 감지되는 장애물(X1)과 상기 제2 센서(S2) 사이의 거리(l1)와 상기 감지되는 장애물(X1)과 상기 제3 센서(S3) 사이의 거리(l2)가 동일(l1=l2)하면, 장애물(X1)이 이동 로봇(100)의 전면 방향 중앙에서 감지된 것으로 판단할 수 있다.19(a) illustrates a case in which the obstacle X1 is detected in the center of the front direction of the mobile robot 100. The distance (l1) between the detected obstacle (X1) and the second sensor (S2) and the distance (l2) between the detected obstacle (X1) and the third sensor (S3) are the same (l1 = l2) If so, it can be determined that the obstacle X1 is detected in the center of the front direction of the mobile robot 100.

이 경우에, 도 19의 (b)와 같이 a1Xb1의 크기를 가지는 영상획득부(120)가 획득한 원본 영상 전체(1900)의 중앙(center)하단에서 a2Xb2의 크기를 가지는 소정 영역(1910)을 추출할 수 있다.In this case, as shown in (b) of FIG. 19, a predetermined area 1910 having a size of a2Xb2 is located at the lower center of the entire original image 1900 acquired by the image acquisition unit 120 having a size of a1Xb1. can be extracted.

한편, 제어부(140)는, 상기 영상획득부(120)가 획득하는 영상에서의 추출 대상 영역을, 상기 감지되는 장애물(X1)과 상기 제2 센서(S2) 사이의 거리(l1)와 상기 감지되는 장애물(X1)과 상기 제3 센서(S3) 사이의 거리(l2) 차이에 비례하도록 이동(shift)시켜 추출하도록 제어할 수 있다.Meanwhile, the controller 140 determines the region to be extracted from the image acquired by the image acquisition unit 120 as the distance l1 between the detected obstacle X1 and the second sensor S2 and the detected It can be controlled to extract by shifting in proportion to the difference in the distance l2 between the obstacle X1 and the third sensor S3.

도 20의 (a)는 장애물(X1)이 이동 로봇(100)의 전면 우측 방향에서 감지되는 경우를 예시한다. 상기 감지되는 장애물(X1)과 상기 제2 센서(S2) 사이의 거리(l1)가 상기 감지되는 장애물(X1)과 상기 제3 센서(S3) 사이의 거리(l2)보다 크면(l1>l2), 장애물(X1)이 이동 로봇(100)의 전면 우측 방향에서 감지된 것으로 판단할 수 있다.(a) of FIG. 20 illustrates a case in which an obstacle X1 is detected from the front right side of the mobile robot 100. When the distance l1 between the detected obstacle X1 and the second sensor S2 is greater than the distance l2 between the detected obstacle X1 and the third sensor S3 (l1 > l2) , it may be determined that the obstacle X1 is detected in the front right direction of the mobile robot 100.

이 경우에, 도 20의 (b)와 같이 a1Xb1의 크기를 가지는 영상획득부(120)가 획득한 원본 영상 전체(1900)의 우측하단에서 a2Xb2의 크기를 가지는 소정 영역(1920)을 추출할 수 있다.In this case, as shown in (b) of FIG. 20, a predetermined area 1920 having a size of a2Xb2 may be extracted from the lower right corner of the entire original image 1900 acquired by the image acquisition unit 120 having a size of a1Xb1. there is.

도 19의 (b)와 도 20의 (b)를 비교하면, 장애물(X1)이 우측에서 감지될 때의추출 대상 영역(1920)의 중앙점(CP2), 시작점(SP2)이 장애물(X1)이 중앙에서 감지될 때의 추출 대상 영역(1910)의 중앙점(CP1), 시작점(SP1)에서 소정값(d1)만큼 우측으로 이동(shift)된 것을 확인할 수 있다. Comparing (b) of FIG. 19 with (b) of FIG. 20 , the center point CP2 and the starting point SP2 of the extraction target area 1920 when the obstacle X1 is detected from the right side are the obstacle X1 It can be seen that the region to be extracted 1910 is shifted to the right by a predetermined value d1 from the central point CP1 and the starting point SP1 of the region to be extracted 1910 when detected at the center.

이 경우에, 이동(shift)되는 소정값(d1)은 상기 감지되는 장애물(X1)과 상기 제2 센서(S2) 사이의 거리(l1)와 상기 감지되는 장애물(X1)과 상기 제3 센서(S3) 사이의 거리(l2) 차이(l1-l2)에 비례할 수 있다. In this case, the shifted predetermined value d1 is the distance l1 between the detected obstacle X1 and the second sensor S2 and the detected obstacle X1 and the third sensor ( S3) may be proportional to the difference (l1-l2) of the distance l2.

도 21의 (a)는 장애물(X1)이 이동 로봇(100)의 전면 좌측 방향에서 감지되는 경우를 예시한다. 상기 감지되는 장애물(X1)과 상기 제2 센서(S2) 사이의 거리(l1)가 상기 감지되는 장애물(X1)과 상기 제3 센서(S3) 사이의 거리(l2)보다 작으면(l1<l2), 장애물(X1)이 이동 로봇(100)의 전면 좌측 방향에서 감지된 것으로 판단할 수 있다.21(a) illustrates a case in which an obstacle X1 is sensed from the front left side of the mobile robot 100. If the distance l1 between the detected obstacle X1 and the second sensor S2 is smaller than the distance l2 between the detected obstacle X1 and the third sensor S3 (l1 < l2 ), it can be determined that the obstacle X1 is detected from the front left side of the mobile robot 100.

이 경우에, 도 21의 (b)와 같이 a1Xb1의 크기를 가지는 영상획득부(120)가 획득한 원본 영상 전체(1900)의 좌측하단에서 a2Xb2의 크기를 가지는 소정 영역(1930)을 추출할 수 있다.In this case, as shown in (b) of FIG. 21, a predetermined area 1930 having a size of a2Xb2 may be extracted from the lower left of the entire original image 1900 acquired by the image acquisition unit 120 having a size of a1Xb1. there is.

도 19의 (b)와 도 21의 (b)를 비교하면, 장애물(X1)이 좌측에서 감지될 때의추출 대상 영역(1930)의 중앙점(CP3), 시작점(SP3)이 장애물(X1)이 중앙에서 감지될 때의 추출 대상 영역(1910)의 중앙점(CP1), 시작점(SP1)에서 소정값(d2)만큼 좌측으로 이동(shift)된 것을 확인할 수 있다. Comparing (b) of FIG. 19 with (b) of FIG. 21 , the center point CP3 and the starting point SP3 of the extraction target region 1930 when the obstacle X1 is detected from the left side are the obstacle X1 It can be confirmed that the region to be extracted 1910 is shifted to the left by a predetermined value d2 from the central point CP1 and the starting point SP1 of the region to be extracted 1910 when detected in the center.

이 경우에, 이동(shift)되는 소정값(d2)은 상기 감지되는 장애물(X1)과 상기 제2 센서(S2) 사이의 거리(l1)와 상기 감지되는 장애물(X1)과 상기 제3 센서(S3) 사이의 거리(l2) 차이(l2-l1)에 비례할 수 있다. In this case, the shifted predetermined value d2 is the distance l1 between the detected obstacle X1 and the second sensor S2 and the detected obstacle X1 and the third sensor ( S3) may be proportional to the difference (l2-l1) of the distance (l2) between them.

한편, 본 발명의 일 실시예에 따른 이동 로봇은, 상기 추출된 영상을 트레이닝(training) 데이터로 사용하여 학습 과정을 수행함으로써, 인공신경망(ANN), 심층신경망(DNN) 구조를 지속적으로 업데이트할 수 있다.Meanwhile, the mobile robot according to an embodiment of the present invention performs a learning process using the extracted image as training data, thereby continuously updating an artificial neural network (ANN) and a deep neural network (DNN) structure. can

또는, 상기 추출된 영상을 소정 서버로 전송하고, 상기 소정 서버로부터 머신 러닝과 관련된 데이터를 수신할 수 있다. 이후, 이동 로봇은, 상기 소정 서버로부터 수신된 머신 러닝과 관련된 데이터에 기초하여 상기 장애물인식모듈을 업데이트(update)할 수 있다.Alternatively, the extracted image may be transmitted to a predetermined server, and data related to machine learning may be received from the predetermined server. Thereafter, the mobile robot may update the obstacle recognition module based on data related to machine learning received from the predetermined server.

도 22는 본 발명의 일 실시예에 따른 이동 로봇과 서버의 동작 방법에 관한 설명에 참조되는 도면이고, 도 23은 본 발명의 일 실시예에 따른 이동 로봇과 서버의 동작 방법을 도시한 순서도이다.22 is a diagram referenced in the description of a method of operating a mobile robot and a server according to an embodiment of the present invention, and FIG. 23 is a flowchart illustrating a method of operating a mobile robot and a server according to an embodiment of the present invention. .

도 22와 도 23을 참조하면, 이동 로봇(100)의 장애물인식모듈(144)에는 CNN(Convolutional Neural Network)등 심층신경망(DNN) 구조(144a)가 탑재될 수 있다.Referring to FIGS. 22 and 23 , a deep neural network (DNN) structure 144a such as a Convolutional Neural Network (CNN) may be installed in the obstacle recognition module 144 of the mobile robot 100.

기학습된 심층신경망(DNN) 구조(144a)는 인식용 입력 데이터를 입력받고(S2310), 입력 데이터에 포함된 장애물의 속성을 인식하여(S2320), 그 결과를 출력할 수 있다(S2330).The pre-learned deep neural network (DNN) structure 144a may receive input data for recognition (S2310), recognize attributes of an obstacle included in the input data (S2320), and output the result (S2330).

심층신경망(DNN) 구조(144a)가 인식하지 못하는 데이터(unknown data)는 저장부(150) 또는 장애물인식모듈(144) 내의 자체 저장공간(144b)에 저장될 수 있다(S2340).Unknown data that is not recognized by the deep neural network (DNN) structure 144a may be stored in the storage unit 150 or its own storage space 144b in the obstacle recognition module 144 (S2340).

한편, 장애물인식모듈(144)이 인식하지 못하는 데이터(unknown data)는 통신부(190)를 통하여 서버(70)로 전송될 수 있다(S2341). 또한, 장애물인식모듈(144)이 인식에 성공한 데이터도 서버(70)로 전송될 수 있다.Meanwhile, data that the obstacle recognition module 144 cannot recognize (unknown data) may be transmitted to the server 70 through the communication unit 190 (S2341). In addition, data successfully recognized by the obstacle recognition module 144 may also be transmitted to the server 70 .

서버(70)는 학습된 웨이트(weight)들의 구성을 생성할 수 있고, 서버(70)는 심층신경망(DNN) 구조를 트레이닝(training) 데이터를 사용하여 학습할 수 있다. The server 70 may create a configuration of learned weights, and the server 70 may learn a deep neural network (DNN) structure using training data.

서버(70)는 수신한 데이터에 기초하여, 심층신경망(DNN)을 학습시킨 후(S2342), 업데이트된 심층신경망(DNN) 구조 데이터를 이동 로봇(100)으로 전송하여 업데이트하게 할 수 있다.The server 70 may learn the deep neural network (DNN) based on the received data (S2342), and then transmit the updated deep neural network (DNN) structure data to the mobile robot 100 to update.

도 24 내지 도 26은 본 발명의 일 실시예에 따른 이동 로봇의 제어 방법에 관한 설명에 참조되는 도면이다. 24 to 26 are views referenced for description of a control method of a mobile robot according to an embodiment of the present invention.

본 발명의 실시예에 따른 이동 로봇의 장애물을 감지하는 영역을 중앙, 좌측, 우측의 3영역으로 구분하여 식별할 수 있을 뿐만 아니라, 그 이상의 개수로 영역들을 구분할 수 있다.The area for detecting the obstacle of the mobile robot according to the embodiment of the present invention can be identified by dividing it into three areas of the center, left, and right areas, and the areas can be divided into more than that number.

도 24는 6개의 영역으로 나누어 장애물을 감지하는 경우를 예시한 것이다.24 illustrates an example of detecting an obstacle by dividing it into six areas.

도 24 의 (a)를 참조하면, 장애물 감지 영역(2400)을 중앙 상부 영역(CU), 중앙 하부 영역(CD), 우측 상부 영역(RU), 우측 하부 영역(RD), 좌측 상부 영역(LU), 좌측 하부 영역(LD)의 6개의 영역으로 나누어 장애물을 감지할 수 있다.Referring to (a) of FIG. 24 , the obstacle sensing area 2400 is an upper center area (CU), a lower center area (CD), an upper right area (RU), a lower right area (RD), and an upper left area (LU). ), an obstacle can be detected by dividing it into six areas of the lower left area LD.

또한, 본 발명의 실시예에 따른 이동 로봇은 영상획득부(120)가 획득하는 전체 영상 중 장애물이 감지되는 영역에 대응하여 일부 영역을 추출할 수 있다.In addition, the mobile robot according to an embodiment of the present invention may extract a partial region corresponding to the region where the obstacle is detected from among the entire image acquired by the image acquisition unit 120 .

도 24 의 (b)를 참조하면, 장애물(2410)이 중앙 상부 영역(CU)과 우측 상부 영역(RU)에 걸쳐 감지될 수 있다. 이 경우에 영상획득부(120)가 획득하는 전체 영상 중 중앙 상부 영역과 우측 상부 영역을 크로핑(cropping)할 수 있다.Referring to (b) of FIG. 24 , an obstacle 2410 may be detected over the central upper area CU and the right upper area RU. In this case, of the entire image obtained by the image acquisition unit 120, the upper center region and the upper right region may be cropped.

도 24 의 (c)를 참조하면, 장애물(2420)이 중앙 하부 영역(CD), 우측 하부 영역(RD), 좌측 하부 영역(LD)에 걸쳐 감지될 수 있다. 이 경우에 영상획득부(120)가 획득하는 전체 영상 중 하부 영역(CD, RD, LD)을 크로핑(cropping)할 수 있다.Referring to (c) of FIG. 24 , an obstacle 2420 may be detected across the lower center area CD, the lower right area RD, and the lower left area LD. In this case, the lower regions (CD, RD, LD) of the entire image obtained by the image acquisition unit 120 may be cropped.

또는 장애물 감지 영역에 할당된 영역별로 크로핑(cropping)하는 것이 아니라, 영역을 더 세분화하여 크로핑(cropping)할 수 있다.Alternatively, instead of cropping for each area allocated to the obstacle detection area, the area may be further subdivided and cropped.

예를 들어, 도 24 의 (c)를 참조하면, 장애물(2420)이 중앙 하부 영역(CD), 우측 하부 영역(RD), 좌측 하부 영역(LD)에 걸쳐 감지되는 경우에, 중앙 하부 영역(CD), 우측 하부 영역(RD), 좌측 하부 영역(LD) 내의 하부 영역(2325)을 크로핑(cropping)할 수 있다.For example, referring to (c) of FIG. 24 , when the obstacle 2420 is detected across the lower center area CD, the lower right area RD, and the lower left area LD, the lower center area ( The lower region 2325 in the CD, lower right region RD, and lower left region LD may be cropped.

도 25와 도 26은 장애물인식모듈(144)의 장애물 인식에 관한 설명에 참조되는 도면이다.25 and 26 are diagrams referenced for description of the obstacle recognition of the obstacle recognition module 144.

도 25를 참조하면, 장애물인식모듈(144)은, 장애물들을 선풍기, 홈씨어터, 멀티탭, 램프받침, 인모, 둔턱 등 클래스(class)로 분류하고 구분하여 인식할 수 있다.Referring to FIG. 25 , the obstacle recognition module 144 classifies and classifies obstacles into classes such as electric fans, home theaters, power strips, lamp supports, human hair, and bumps, and can recognize them.

또한, 장애물인식모듈(144)은, 선풍기, 홈씨어터, 멀티탭, 램프받침, 인모 등의 클래스는 상위 개념으로 위험 장애물 슈퍼-클래스(Super-class)로 분류하고 구분하여 인식할 수 있다.In addition, the obstacle recognition module 144 classifies and distinguishes classes such as electric fans, home theaters, power strips, lamp supports, and human hair into dangerous obstacle super-classes as a higher level concept and can recognize them.

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

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

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

도 26의 (b)를 참조하면, 장애물인식모듈(144)은, 입력된 영상을 인식하여, 선풍기는 0.35의 신뢰값, 홈씨어터는 0.4의 신뢰값을 가지는 인식 결과를 얻을 수 있다. Referring to (b) of FIG. 26 , the obstacle recognition module 144 recognizes an input image and obtains a recognition result having a reliability value of 0.35 for electric fans and a reliability value of 0.4 for home theaters.

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

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

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

또는, 신뢰값의 차이가 0.15 이상인 경우에 가장 높은 신뢰값의 인식 결과를 인정하도록 설정된 경우에도, 상위 개념인 위험 장애물로 판정할 수 있다.Alternatively, even when the recognition result with the highest confidence value is recognized when the difference between the confidence values is 0.15 or more, it may be determined as a high-order concept, a dangerous obstacle.

한편, 위험 장애물로 판단한 경우에도, 주행제어모듈(141)은 위험 장애물을 회피하여 이동하도록 구동부(160)를 제어할 수 있다. Meanwhile, even when it is determined as a dangerous obstacle, the driving control module 141 may control the driving unit 160 to move while avoiding the dangerous obstacle.

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

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

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

또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 이동 로봇이, 효율적으로 머신 러닝을 수행할 수 있고, 장애물 속성 인식에 사용할 수 있는 데이터를 추출할 수 있다.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 usable 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 all or part of each embodiment is selectively combined so that various modifications can be made. may be configured.

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

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.In addition, although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the claims. Of course, various modifications are possible by those skilled in the art, and these modifications should not be individually understood from the technical spirit or perspective of the present invention.

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

Claims (17)

본체를 이동시키는 주행부;
상기 본체 주변의 영상을 획득하는 영상획득부;
상기 영상획득부가 획득하는 영상을 저장하는 저장부;
상기 이동 중 장애물을 감지하는 하나 이상의 센서를 포함하는 센서부; 및
상기 센서부가 감지하는 장애물의 방향에 대응하여 상기 영상획득부가 획득하는 영상의 일부 영역을 추출하도록 제어하는 제어부;를 포함하고,
상기 센서부는,
상기 본체의 전면에 배치되는 제1 센서;
상기 제1 센서로부터 좌, 우로 이격되도록 배치되는 제2 센서 및 제3 센서;를 포함하고,
상기 제어부는, 상기 영상획득부가 획득하는 영상에서의 추출 대상 영역을, 상기 감지되는 장애물과 상기 제2 센서 사이의 거리와 상기 감지되는 장애물과 상기 제3 센서 사이의 거리 차이에 비례하여 상기 영상의 중앙 영역으로부터 일부를 이동(shift)시켜 상기 추출 대상 영역을 추출하도록 제어하는 이동 로봇.
a driving unit for moving the main body;
an image acquisition unit acquiring an image around the main body;
a storage unit for storing the image acquired by the image acquisition unit;
a sensor unit including one or more sensors for detecting an obstacle during the movement; and
Including; a control unit for controlling to extract a partial area of the image acquired by the image acquisition unit in response to the direction of the obstacle detected by the sensor unit;
The sensor unit,
a first sensor disposed on the front surface of the main body;
A second sensor and a third sensor disposed to be spaced apart from the first sensor to the left and right;
The control unit determines an area to be extracted from an image obtained by the image acquisition unit in proportion to a difference between a distance between the detected obstacle and the second sensor and a distance between the detected obstacle and the third sensor. A mobile robot controlling to extract the extraction target region by shifting a part from the central region.
제1항에 있어서,
상기 제어부는,
상기 추출된 영상에서 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 장애물을 인식하는 장애물인식모듈과
상기 인식된 장애물의 속성에 기초하여, 상기 주행부의 구동을 제어하는 주행제어모듈을 포함하는 이동 로봇.
According to claim 1,
The control unit,
An obstacle recognition module for recognizing an obstacle based on data pre-learned by machine learning from the extracted image; and
and a driving control module for controlling driving of the driving unit based on the recognized attribute of the obstacle.
제2항에 있어서,
상기 제어부는,
상기 센서부가 감지하는 장애물의 방향에 대응하여 상기 영상획득부가 획득하는 영상의 일부 영역을 추출하는 영상처리모듈을 더 포함하는 것을 특징으로 하는 이동 로봇.
According to claim 2,
The control unit,
The mobile robot, characterized in that it further comprises an image processing module for extracting a partial region of the image acquired by the image acquisition unit in response to the direction of the obstacle detected by the sensor unit.
제2항에 있어서,
상기 장애물인식모듈은,
상기 영상획득부가 획득하는 영상의 일부 영역을 추출할 때마다 상기 추출된 영상을 트레이닝(training) 데이터로 사용하여 학습 과정을 수행하거나, 소정 개수 이상의 추출 영상이 획득된 후 학습 과정을 수행하는 것을 특징으로 하는 이동 로봇.
According to claim 2,
The obstacle recognition module,
Each time a partial region of an image acquired by the image acquisition unit is extracted, a learning process is performed using the extracted image as training data, or a learning process is performed after a predetermined number or more of the extracted images are acquired. A mobile robot that does.
제2항에 있어서,
상기 추출된 영상을 소정 서버로 전송하고, 상기 소정 서버로부터 머신 러닝과 관련된 데이터를 수신하는 통신부;를 더 포함하는 것을 특징으로 하는 이동 로봇.
According to claim 2,
The mobile robot further comprising a communication unit for transmitting the extracted image to a predetermined server and receiving data related to machine learning from the predetermined server.
제5항에 있어서,
상기 소정 서버로부터 수신된 머신 러닝과 관련된 데이터에 기초하여 상기 장애물인식모듈을 업데이트(update)하는 것을 특징으로 하는 이동 로봇.
According to claim 5,
The mobile robot characterized in that the obstacle recognition module is updated based on data related to machine learning received from the predetermined server.
제1항에 있어서,
상기 센서부가 감지하는 장애물의 방향에 대응하여 상기 영상획득부가 획득하는 영상의 일부 영역을 추출하는 영상처리부;를 더 포함하는 것을 특징으로 하는 이동 로봇.
According to claim 1,
The mobile robot further comprising: an image processing unit that extracts a partial area of the image acquired by the image acquisition unit in response to the direction of the obstacle detected by the sensor unit.
제1항에 있어서,
상기 제어부는,
상기 장애물이 상기 본체 전면의 우측 방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 우측하단 영역을 추출하고,
상기 장애물이 상기 본체 전면의 좌측 방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 좌측하단 영역을 추출하며,
상기 장애물이 상기 본체 전면 방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 중앙(center)하단 영역을 추출하도록 제어하는 것을 특징으로 하는 이동 로봇.
According to claim 1,
The control unit,
When the obstacle is detected in the right direction of the front of the main body, extracting the lower right area of the image acquired by the image acquisition unit,
When the obstacle is detected in the left direction of the front of the main body, extracting the lower left area of the image acquired by the image acquisition unit;
The mobile robot characterized in that when the obstacle is detected in the front direction of the main body, control is performed to extract a lower center area of the image acquired by the image acquisition unit.
삭제delete 삭제delete 본체의 전면에 배치되는 제1 센서 및 상기 제1 센서로부터 좌, 우로 이격되도록 배치되는 제2 센서 및 제3 센서를 포함하는 센서부를 통하여, 이동 중 장애물을 감지하는 단계;
상기 센서부가 감지하는 장애물의 방향에 대응하여 영상획득부가 획득하는 영상의 일부 영역을 추출하는 단계;
상기 추출된 영상에서 머신 러닝(machine learning)으로 기학습된 데이터에 기초하여 장애물을 인식하는 단계; 및,
상기 인식된 장애물의 속성에 기초하여, 주행부의 구동을 제어하는 단계;를 포함하며,
상기 영상의 일부 영역을 추출하는 단계는 상기 영상획득부가 획득하는 영상에서 상기 감지되는 장애물과 상기 제2 센서 사이의 거리와 상기 감지되는 장애물과 상기 제3 센서 사이의 거리 차이에 비례하여 상기 영상의 중앙 영역으로부터 일부를 이동(shift)시켜 상기 일부 영역을 추출하는 이동 로봇의 제어방법.
Sensing an obstacle during movement through a sensor unit including a first sensor disposed on the front surface of the main body and a second sensor and a third sensor disposed to be left and right spaced apart from the first sensor;
extracting a partial region of an image acquired by an image acquisition unit in response to the direction of the obstacle detected by the sensor unit;
Recognizing an obstacle based on data pre-learned through machine learning in the extracted image; and,
Based on the attribute of the recognized obstacle, controlling the driving of the driving unit; includes,
In the step of extracting a partial region of the image, the image obtained by the image acquisition unit is proportional to a difference between a distance between the detected obstacle and the second sensor and a distance between the detected obstacle and the third sensor. A method of controlling a mobile robot for extracting a partial area by shifting a portion from a central area.
제11항에 있어서,
상기 추출된 영상을 트레이닝(training) 데이터로 사용하여 학습 과정을 수행하는 단계;를 더 포함하는 이동 로봇의 제어방법.
According to claim 11,
A method for controlling a mobile robot further comprising performing a learning process using the extracted image as training data.
제11항에 있어서,
상기 추출된 영상을 소정 서버로 전송하는 단계;
상기 소정 서버로부터 머신 러닝과 관련된 데이터를 수신하는 단계;를 더 포함하는 이동 로봇의 제어방법.
According to claim 11,
transmitting the extracted video to a predetermined server;
The method of controlling a mobile robot further comprising receiving data related to machine learning from the predetermined server.
제13항에 있어서,
상기 소정 서버로부터 수신된 머신 러닝과 관련된 데이터에 기초하여 상기 기학습된 데이터를 업데이트(update)하는 단계;를 더 포함하는 이동 로봇의 제어방법.
According to claim 13,
The method of controlling a mobile robot further comprising updating the pre-learned data based on data related to machine learning received from the predetermined server.
제11항에 있어서,
상기 영상획득부가 획득하는 영상에서 일부 영역을 추출하는 단계는,
상기 장애물이 본체 전면의 우측 방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 우측하단 영역을 추출하고,
상기 장애물이 상기 본체 전면의 좌측 방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 좌측하단 영역을 추출하며,
상기 장애물이 상기 본체 전면 방향에서 감지되는 경우에, 상기 영상획득부가 획득하는 영상의 중앙(center)하단 영역을 추출하는 것을 특징으로 하는 이동 로봇의 제어방법.
According to claim 11,
The step of extracting a partial region from the image acquired by the image acquisition unit,
When the obstacle is detected in the right direction of the front of the main body, extracting the lower right area of the image acquired by the image acquisition unit,
When the obstacle is detected in the left direction of the front of the main body, extracting the lower left area of the image acquired by the image acquisition unit;
The control method of the mobile robot, characterized in that, when the obstacle is detected in the front direction of the main body, a lower center area of the image acquired by the image acquisition unit is extracted.
제11항에 있어서,
상기 추출된 영상을 저장하는 단계;를 더 포함하는 이동 로봇의 제어방법.
According to claim 11,
The method of controlling a mobile robot further comprising storing the extracted image.
제11항에 있어서,
상기 구동 제어 단계는,
상기 감지된 장애물이 진행해도 되는 장애물이 아닌 경우에, 회피 동작을 수행하도록 제어하는 것을 특징으로 하는 이동 로봇의 제어방법.
According to claim 11,
In the driving control step,
A method of controlling a mobile robot, characterized in that controlling to perform an avoidance operation when the detected obstacle is not an obstacle that can be advanced.
KR1020160108384A 2016-08-25 2016-08-25 Artificial intelligence Moving robot and control method thereof KR102548936B1 (en)

Priority Applications (19)

Application Number Priority Date Filing Date Title
KR1020160108384A KR102548936B1 (en) 2016-08-25 2016-08-25 Artificial intelligence Moving robot and control method thereof
AU2017316091A AU2017316091B2 (en) 2016-08-25 2017-08-24 Mobile robot and control method therefor
US16/327,452 US20190179333A1 (en) 2016-08-25 2017-08-24 Mobile robot and control method for controlling the same
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
PCT/KR2017/009257 WO2018038551A1 (en) 2016-08-25 2017-08-24 Mobile robot and control method therefor
CN201780066252.6A CN109890575B (en) 2016-08-25 2017-08-24 Mobile robot and control method thereof
PCT/KR2017/009260 WO2018038553A1 (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
JP2019510881A JP6861797B2 (en) 2016-08-25 2017-08-24 Mobile robot and its control method
JP2019510871A JP6785950B2 (en) 2016-08-25 2017-08-24 Mobile robot and its control method
JP2019510776A JP7055127B2 (en) 2016-08-25 2017-08-24 Mobile robots and their control methods
AU2017316089A AU2017316089B2 (en) 2016-08-25 2017-08-24 Mobile robot and control method therefor
US16/327,449 US11150666B2 (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
CN201780066246.0A CN109890574B (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
EP17843973.3A EP3505312B1 (en) 2016-08-25 2017-08-24 Mobile robot and control method therefor
EP17843972.5A EP3505311B1 (en) 2016-08-25 2017-08-24 Mobile robot and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160108384A KR102548936B1 (en) 2016-08-25 2016-08-25 Artificial intelligence Moving robot and control method thereof

Publications (2)

Publication Number Publication Date
KR20180023301A KR20180023301A (en) 2018-03-07
KR102548936B1 true KR102548936B1 (en) 2023-06-27

Family

ID=61688877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160108384A KR102548936B1 (en) 2016-08-25 2016-08-25 Artificial intelligence Moving robot and control method thereof

Country Status (1)

Country Link
KR (1) KR102548936B1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019199027A1 (en) * 2018-04-09 2019-10-17 엘지전자 주식회사 Robot cleaner
KR102565250B1 (en) * 2018-04-09 2023-08-08 엘지전자 주식회사 Robot cleaner
KR102492947B1 (en) * 2018-04-09 2023-01-27 엘지전자 주식회사 Robot cleaner
KR102519064B1 (en) * 2018-04-25 2023-04-06 삼성전자주식회사 Mobile robot device and method for providing a service to a user
KR102283022B1 (en) * 2019-06-07 2021-07-28 엘지전자 주식회사 Method for driving robot baesd on external image, robot and server implementing thereof
EP3949380A4 (en) 2019-07-09 2022-05-25 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
KR102254157B1 (en) * 2019-07-09 2021-05-21 삼성전자주식회사 Warped image based ground object recognition electronic apparatus and controlling method thereof
US11650597B2 (en) * 2019-07-09 2023-05-16 Samsung Electronics Co., Ltd. Electronic apparatus for identifying object through warped image and control method thereof
KR102269053B1 (en) * 2019-07-09 2021-06-24 삼성전자주식회사 Electronic apparatus and controlling method thereof
KR102317727B1 (en) * 2019-09-03 2021-10-26 엘지전자 주식회사 Moving robot and Controlling method for the moving robot
KR20210148739A (en) * 2020-06-01 2021-12-08 삼성전자주식회사 Cleaning robot and controlling method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100669892B1 (en) 2005-05-11 2007-01-19 엘지전자 주식회사 Moving robot having function of avoidance obstacle and its method
US20150336274A1 (en) 2014-05-20 2015-11-26 International Business Machines Corporation Information Technology Asset Type Identification Using a Mobile Vision-Enabled Robot

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100997656B1 (en) * 2008-06-18 2010-12-01 한양대학교 산학협력단 Obstacle detecting method of robot and apparatus therefor
KR101495333B1 (en) * 2008-07-02 2015-02-25 삼성전자 주식회사 Apparatus and method for detecting obstacles
KR101303161B1 (en) * 2011-10-18 2013-09-09 엘지전자 주식회사 Mobile robot and controlling method of the same
KR20140031742A (en) * 2012-09-05 2014-03-13 삼성전기주식회사 Apparatus and method for feature extraction of image, and image processing system using the same
KR20150142475A (en) * 2014-06-12 2015-12-22 연세대학교 산학협력단 Apparatus for obstacle detection and method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100669892B1 (en) 2005-05-11 2007-01-19 엘지전자 주식회사 Moving robot having function of avoidance obstacle and its method
US20150336274A1 (en) 2014-05-20 2015-11-26 International Business Machines Corporation Information Technology Asset Type Identification Using a Mobile Vision-Enabled Robot

Also Published As

Publication number Publication date
KR20180023301A (en) 2018-03-07

Similar Documents

Publication Publication Date Title
JP6861797B2 (en) Mobile robot and its control method
KR102548936B1 (en) Artificial intelligence Moving robot and control method thereof
KR102314539B1 (en) Controlling method for Artificial intelligence Moving robot
JP2019528535A5 (en)
US10852729B2 (en) Moving robot and control method thereof
TWI660703B (en) Moving robot and control method thereof
US10921806B2 (en) Moving robot
KR20180023302A (en) Moving robot and control method thereof
KR20180023303A (en) Moving robot and control method thereof
KR102662949B1 (en) Artificial intelligence Moving robot and control method thereof
KR102500525B1 (en) 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
E701 Decision to grant or registration of patent right
GRNT Written decision to grant