KR20180058303A - Mobile robot and system having the same and controlling method of mobile robot - Google Patents
Mobile robot and system having the same and controlling method of mobile robot Download PDFInfo
- Publication number
- KR20180058303A KR20180058303A KR1020160157071A KR20160157071A KR20180058303A KR 20180058303 A KR20180058303 A KR 20180058303A KR 1020160157071 A KR1020160157071 A KR 1020160157071A KR 20160157071 A KR20160157071 A KR 20160157071A KR 20180058303 A KR20180058303 A KR 20180058303A
- Authority
- KR
- South Korea
- Prior art keywords
- map
- mobile robot
- user
- data
- generated
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004891 communication Methods 0.000 claims abstract description 52
- 238000013135 deep learning Methods 0.000 claims abstract description 11
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 238000004088 simulation Methods 0.000 claims description 9
- 238000002372 labelling Methods 0.000 claims 2
- 230000008569 process Effects 0.000 abstract description 8
- 230000003993 interaction Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 6
- 238000004140 cleaning Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 241000282326 Felis catus Species 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 210000000857 visual cortex Anatomy 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
- B25J11/0085—Cleaning
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2836—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
- A47L9/2852—Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/0003—Home robots, i.e. small robots for domestic use
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/04—Automatic control of the travelling movement; Automatic obstacle detection
Abstract
Description
개시된 발명은 이동 로봇이 생성하는 격자 지도를 개량하여 사용자에게 제공할 수 있는 수준의 지도를 생성하는 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법에 관한 것이다.The present invention relates to a mobile robot for improving a grid map generated by a mobile robot and generating a map of a level that can be provided to a user, a system including the mobile robot, and a control method for the mobile robot.
일반적으로, 이동 로봇은 사용자의 조작 없이도 주행하고자 하는 영역을 자율적으로 이동하면서 작업을 수행하는 장치이다. 이동 로봇은 청소 로봇이나 홈 로봇과 같은 형태로 실생활에 보급되고 있다. 더욱이 기술 발전과 함께 이동 로봇은 가정, 기업, 공공 장소에 널리 보급될 것이라 예상된다.Generally, a mobile robot is a device that autonomously moves an area to be traveled without a user's operation. Mobile robots are spreading in real life like cleaning robots or home robots. Moreover, along with technological advancement, mobile robots are expected to be widely used in homes, businesses and public places.
자율 주행하는 이동 로봇은 위치 인식 및 주행 경로를 파악하기 위해 주변 공간에 대한 지도를 만든다. 그러나 이동 로봇이 생성하는 로봇 지도는 주행 공간에 관한 데이터를 수집하는 센서의 성능 부족으로 인해 사용자가 인식하기 어려운 수준이다. The autonomous mobile robot makes a map of the surrounding space in order to grasp the position recognition and the travel route. However, the robot map generated by the mobile robot is difficult for the user to recognize because of the lack of performance of the sensor for collecting the data about the travel space.
이러한 문제로 인해서 종래의 이동 로봇은 생성한 로봇 지도를 사용자에게 공개하지 않는다. 이 때문에 사용자는 이동 로봇과의 인터랙션(Interaction)에 제약을 받는다. 일 예로 사용자가 이동 로봇이 주행할 목적지를 설정하는 경우, 로봇 지도와 사용자가 인식하는 공간의 불일치가 발생하고, 이동 로봇은 사용자가 원하는 목적지에 도달하지 못할 수 있다.Due to such a problem, the conventional mobile robot does not disclose the created robot map to the user. Therefore, the user is limited in the interaction with the mobile robot. For example, when the user sets a destination for the mobile robot to travel, a mismatch occurs between the robot map and the space recognized by the user, and the mobile robot may not reach the destination desired by the user.
이러한 인터랙션의 제약은 사용자에게 이동 로봇의 제어의 불편함을 초래하고, 나아가 사용자의 만족도를 하락시키는 문제점이 있었다. Such a restriction of the interaction causes the inconvenience of the control of the mobile robot to the user, and further, the user's satisfaction is lowered.
개시된 발명의 일 측면은 이동 로봇이 생성하는 로봇 지도를 사용자가 인식할 수 있는 수준의 사용자 지도로 개량하는 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법을 제공한다.According to an aspect of the present invention, there is provided a mobile robot for improving a robot map generated by a mobile robot to a user map that can be recognized by a user, a system including the same, and a control method for the mobile robot.
개시된 일 예에 따른 이동 로봇은 본체; 상기 본체가 주행하는 공간에 대한 데이터를 수집하는 센서; 외부로 통신을 수행하는 통신부; 상기 데이터에 기초하여 상기 제 1지도를 생성하고, 상기 통신부를 통해 상기 제 2지도를 요청하는 제어부;를 포함하고, 상기 제 2지도는 상기 제 1지도를 기초로 심층 학습(Deep Learning)에 의해 생성한다.The mobile robot according to the disclosed example includes a main body; A sensor for collecting data on a space in which the main body travels; A communication unit for performing communication to the outside; And a controller for generating the first map based on the data and requesting the second map through the communication unit, wherein the second map is generated by Deep Learning based on the first map, .
상기 제 2지도를 출력하는 유저 인터페이스;를 더 포함하고, 상기 제어부는, 상기 통신부를 통해 상기 제 2지도를 송신하도록 제어하고, 상기 유저 인터페이스를 제어하여 상기 제 2지도를 출력할 수 있다.The control unit may control to transmit the second map through the communication unit and to output the second map by controlling the user interface.
상기 심층 학습은, CNN(Convolution Neural Network)을 포함하고, 상기 제 2지도는 상기 CNN에 기초하여 생성할 수 있다.The deep learning includes a CNN (Convolution Neural Network), and the second map can be generated based on the CNN.
상기 제어부는, 상기 제 2지도를 라벨링(labeling)할 수 있다.The control unit may label the second map.
상기 제 2지도는, 3차원 시뮬레이션 환경에 기초하여 생성할 수 있다.The second map can be generated based on a three-dimensional simulation environment.
상기 제어부는, 상기 제 2지도에 기초하여 상기 본체의 이동 경로를 판단하고, 상기 이동 경로에 기초하여 상기 본체를 주행할 수 있다.The control unit may determine the travel route of the main body based on the second map, and may drive the main body based on the travel route.
개시된 다른 실시예에 따른 시스템은 심층 학습에 필요한 학습 데이터를 수집하는 서버; 주행하면서 데이터를 수집하고, 상기 데이터에 기초하여 제 1 지도를 생성하는 이동 로봇; 상기 서버로부터 전달받은 상기 학습 데이터를 기초로 상기 심층 학습하는 심층 학습기;를 포함하고, 상기 이동 로봇은, 상기 제 1 지도를 기초로 심층 학습에 의해 생성되는 제 2지도를 상기 심층 학습기에 요청한다.A system according to another disclosed embodiment includes a server for collecting learning data necessary for in-depth learning; A mobile robot for collecting data while traveling and generating a first map based on the data; And an in-depth learning device for performing in-depth learning based on the learning data received from the server, wherein the mobile robot requests the in-depth learning device for a second map generated by in-depth learning based on the first map .
상기 이동 로봇은, 상기 제 2지도를 수신하고, 상기 수신한 제 2지도에 기초하여 주행할 수 있다.The mobile robot may receive the second map and travel based on the received second map.
상기 이동 로봇과 통신하는 사용자 단말;을 더 포함하고, 상기 이동 로봇은, 제 2지도를 상기 사용자 단말로 전달할 수 있다.And a user terminal communicating with the mobile robot, wherein the mobile robot can transmit the second map to the user terminal.
상기 심층 학습기는, 상기 제 2지도에서 포함된 의미 정보를 라벨링(labeling)하고, 상기 이동 로봇으로 전달할 수 있다.The deep layer learning device may label semantic information included in the second map and transmit the label information to the mobile robot.
상기 이동 로봇은, 상기 사용자 단말이 전달하는 이동 경로에 관한 명령을 수신하고, 상기 이동 경로를 기초하여 주행할 수 있다.The mobile robot may receive a command related to a travel route transmitted by the user terminal, and may travel based on the travel route.
상기 서버는, 상기 심층 학습기가 전달하는 상기 제 2지도를 수신하고, 상기 이동 로봇으로 상기 제 2지도를 전달할 수 있다.The server may receive the second map transmitted by the deep layer learning device, and may transmit the second map to the mobile robot.
상기 학습 데이터는, 상기 3차원 시뮬레이션 환경에서 가상으로 주행하여 생성되는 정보를 포함할 수 있다.The learning data may include information generated by virtually driving in the three-dimensional simulation environment.
상기 심층 학습은, CNN(Convolution Neural Network)을 포함할 수 있다.The deep learning may include CNN (Convolution Neural Network).
개시된 또 다른 실시예에 따른 이동 로봇의 제어방법은 주행하면서 공간에 관한 데이터를 수집하고; 상기 데이터에 기초하여 제 1지도를 생성하고; 상기 제 1지도를 외부로 전달하고; 상기 제 1지도에 기초로 심층 학습에 의해 생성되는 제 2 지도를 요청하는 것;을 포함한다.According to another aspect of the present invention, there is provided a control method for a mobile robot, the method comprising: collecting data on a space while traveling; Generate a first map based on the data; Transferring the first map to the outside; And requesting a second map generated by in-depth learning based on the first map.
상시 제 2지도를 수신하고; 상기 제 2지도에 기초하여 주행하는 것;을 더 포함할 수 있다.The second map is always received; And traveling on the basis of the second map.
상기 제 2지도를 사용자의 입력 명령을 수신하는 사용자 단말로 전달하는 것;을 더 포함할 수 있다.And transmitting the second map to a user terminal receiving the input command of the user.
상기 사용자 단말이 전달하는 이동 경로를 수신하고; 상기 주행하는 것은, 상기 이동 경로를 상기 제 2지도에 매칭시켜 주행하는 것;을 포함할 수 있다.Receiving a movement route transmitted by the user terminal; The traveling may include running the traveling route by matching the traveling route to the second map.
상기 제 1지도는, 격자 지도를 포함할 수 있다.The first map may include a grid map.
상기 제 2지도는, 상기 격자 지도 및 평면도를 기초로 상기 심층 학습에 의해 생성될 수 있다.The second map may be generated by the depth learning based on the grid map and the plan view.
개시된 발명의 일 측면에 따른 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법은 이동 로봇이 생성하는 로봇 지도를 사용자가 인식할 수 있는 수준의 사용자 지도로 개량함으로써, 사용자에게 이동 로봇이 인식하는 공간의 이해를 높이고, 이동 로봇과 사용자 간의 인터랙션을 증가시켜 이동 로봇 제어의 편리함을 제공한다.According to an aspect of the present invention, there is provided a mobile robot, a system including the mobile robot, and a control method of the mobile robot, wherein the robot map generated by the mobile robot is improved to a user- And provides the convenience of the mobile robot control by increasing the interaction between the mobile robot and the user.
도 1은 일 실시예에 의한 이동 로봇 시스템의 전체 구성을 도시한 도면이다.
도 2는 일 실시예에 따른 이동 로봇의 외관을 개략적으로 도시한 도면이다.
도 3은 개시된 일 예에 따른 이동 로봇의 제어 블록도이다.
도 4는 개시된 일 예에 따른 이동 로봇의 동작을 설명하기 위한 순서도이다.
도 5a는 이동 로봇의 실제 주행 공간을 간략하게 도시한 것이고, 도 5b는 이동 로봇이 생성한 격자 지도를 도시한 것이며, 도 5c는 격자지도를 간소화한 로봇 지도를 도시한 것이다.
도 6은 일 예에 따른 이동 로봇이 사용자에게 제공하는 평면도를 도시한 것이다.
도 7은 개시된 일 예에 따른 시스템에 관한 구성을 설명하기 위한 도면이다.
도 8은 일 예에 따른 시스템의 동작을 설명하기 위한 순서도이다.
도 9는 심층 학습에 관한 일 예를 설명하기 위한 순서도이다.
도 10은 심층 학습의 일 예를 설명하기 위한 도면이다.
도 11은 개시된 일 예에 따른 이동 로봇과 사용자의 인터랙션을 설명하기 위한 도면이다.
도 12는 다른 일 예에 따른 이동 로봇과 사용자의 인터랙션을 설명하기 위한 도면이다.FIG. 1 is a diagram showing the overall configuration of a mobile robot system according to an embodiment.
2 is a view schematically showing an appearance of a mobile robot according to an embodiment.
FIG. 3 is a control block diagram of a mobile robot according to an example disclosed. FIG.
4 is a flowchart illustrating an operation of the mobile robot according to an embodiment of the present invention.
FIG. 5A is a schematic view of an actual traveling space of the mobile robot, FIG. 5B is a grid map generated by the mobile robot, and FIG. 5C is a robot map in which a grid map is simplified.
FIG. 6 is a plan view of a mobile robot according to an exemplary embodiment of the present invention.
FIG. 7 is a diagram for explaining a configuration of a system according to an example disclosed. FIG.
8 is a flowchart for explaining the operation of the system according to an example.
9 is a flowchart for explaining an example of in-depth learning.
10 is a diagram for explaining an example of in-depth learning.
11 is a diagram for explaining interaction between a mobile robot and a user according to an example of the present invention.
12 is a diagram for explaining interaction between a mobile robot and a user according to another example.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다. Like reference numerals refer to like elements throughout the specification. The present specification does not describe all elements of the embodiments, and redundant description between general contents or embodiments in the technical field of the present invention will be omitted. The term 'part, module, member, or block' used in the specification may be embodied in software or hardware, and a plurality of 'part, module, member, and block' may be embodied as one component, It is also possible that a single 'part, module, member, block' includes a plurality of components.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only the case directly connected but also the case where the connection is indirectly connected, and the indirect connection includes connection through the wireless communication network do.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout the specification, when a member is located on another member, it includes not only when a member is in contact with another member but also when another member exists between the two members.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다. The terms first, second, etc. are used to distinguish one element from another, and the elements are not limited by the above-mentioned terms.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.The singular forms " a " include plural referents unless the context clearly dictates otherwise.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다. In each step, the identification code is used for convenience of explanation, and the identification code does not describe the order of the steps, and each step may be performed differently from the stated order unless clearly specified in the context. have.
이하 첨부된 도면들을 참고하여 개시된 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법의 작용 원리 및 실시예들에 대해 설명한다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: FIG.
도 1은 일 실시예에 의한 이동 로봇의 구성을 도시한 도면이다.FIG. 1 is a diagram showing a configuration of a mobile robot according to an embodiment.
이동 로봇(100)은 이동 일정 영역을 자율적으로 이동하면서 작업을 수행하는 로봇(Robot)을 의미한다. 이러한 이동 로봇(100)은 도 1에서 도시된 바와 같이 바퀴를 주행 수단으로 할 수도 있으며, 사람과 같이 자립하여 다리로 이동할 수도 있다. 이하에서는 이동 로봇(100)이 바퀴를 이용하여 주행하는 로봇을 일 예로 설명한다.The
도 1은 바퀴를 이용하여 주행하는 이동 로봇(100)과 이동 로봇(100)과 분리되어 이동 로봇(100)을 원격으로 제어하는 디바이스(101), 이동 로봇(100)과 분리되어 이동 로봇(100)의 배터리(Battery) 전원을 충전하는 충전 스테이션(102)을 도시한 것이다.1 shows a
구체적으로 이동 로봇(100)은 디바이스(101)의 제어 명령을 전달받아 제어 명령에 대응하는 동작을 수행하고, 충전 가능한 배터리를 구비하며, 주행 중 장애물을 피할 수 있는 장애물 센서를 구비하여 작업 영역을 자율적으로 주행하며 작업할 수 있다.Specifically, the
디바이스(101)는 이동 로봇(100)의 이동을 제어하거나 이동 로봇(100)의 작업을 수행하기 위한 제어 명령을 무선으로 송신하는 원격 제어 장치를 의미한다. 디바이스(101)는 유,무선을 통해 이동 로봇(100)과 이후에서 후술하는 여러 데이터 및 정보를 주고 받는다. The
도 1에서는 디바이스(101)의 일 예를 간단한 형태의 일반적인 리모컨으로 도시하였다. 리모컨은 일반적으로 적외선 통신(IrDA, infrared Data Association)을 이용하여 이동 로봇(100)과 신호를 송수신한다. In FIG. 1, an example of the
구체적으로, 디바이스(101)는 이동 로봇(100)의 전원을 온/오프 제어하기 위한 전원 버튼과, 이동 로봇(100)의 배터리 충전을 위해 충전 스테이션(103)으로 복귀하도록 지시하기 위한 충전 복귀 버튼과, 이동 로봇(100)의 제어 모드를 변경하기 위한 모드 버튼과, 이동 로봇(100)의 동작을 시작/정지하거나 제어 명령의 개시, 취소 및 확인을 위한 시작/정지 버튼과, 다이얼 등을 포함할 수 있다.Specifically, the
한편, 디바이스(101)는 휴대폰(Cellphone, PCS phone), 스마트 폰(smart phone), 휴대 단말기(Personal Digital Assistants: PDA), 휴대용 멀티미디어 플레이어(Portable Multimedia Player: PMP), 노트북 컴퓨터(laptop computer), 디지털 방송용 단말기, 넷북, 태블릿, 네비게이션(Navigation) 등과 같은 사용자 단말(200)을 포함할 수 있다.The
이외에도, 디바이스(101)는 무선 통신 기능이 내장된 디지털 카메라, 캠코더 등과 같이 여러 응용 프로그램을 이용한 다양한 기능의 구현이 가능한 모든 장치를 포함한다.In addition, the
즉, 디바이스(101)는 RF(Radio Frequency), 와이파이(Wireless Fidelity, Wi-Fi), 블루투스(Bluetooth), 지그비(Zigbee), 엔에프씨(near field communication: NFC), 초광대역(Ultra Wide Band: UWB) 통신 등 다양한 방식을 이용하여 이동 로봇(100)과 무선 통신 신호를 송수신할 수 있으면, 충분하고 제한은 없다.That is, the
충전 스테이션(102)은 이동 로봇(100)의 배터리 충전을 위한 것으로, 이동 로봇(100)이 도킹되는 것을 안내하는 가이드 부재(미도시)가 마련되어 있고, 가이드 부재(미도시)에는 이동 로봇(100)에 구비된 전원부(170, 도 2 참조)를 충전시키기 위해 접속 단자(미도시)가 마련되어 있을 수 있다.The charging
도 2는 일 실시예에 따른 이동 로봇의 외관을 개략적으로 도시한 도면이다.2 is a view schematically showing an appearance of a mobile robot according to an embodiment.
도 2를 참조하면, 이동 로봇(100)은 외관을 형성하는 본체(104)와, 본체(104)의 상부를 덮는 커버(105)와, 본체(104)를 구동시키기 위한 구동 전원을 공급하는 전원부(170)와, 본체(101)를 이동시키는 주행부(160)를 포함하여 구성된다. 또한, 본체(104)는 이동 로봇(100)이 주행하면서 주행 공간에 대한 데이터를 수집하는 센서(130)를 더 포함한다.2, the
본체(104)는 이동 로봇(100)의 외관을 형성하는 한편, 그 내부에 설치되는 각종 부품들을 지지한다.The
전원부(170)는 주행부(160) 및 그 외 본체(104)를 구동시키기 위한 각 부하와 전기적으로 연결되어 구동 전원을 공급하는 배터리를 포함한다. 배터리는 재충전이 가능한 2차 배터리로 마련되며, 본체(104)가 작업을 완료하고 충전 스테이션(103)에 결합된 경우, 충전 스테이션(103)으로부터 전력을 공급받아 충전된다. 또한, 전원부(170)는 충전 잔량이 부족하면 충전 스테이션(103)으로부터 충전 전류를 공급받아 충전된다.The
주행부(160)는 본체(101)의 중앙부 양측에 각각 마련되어 본체(101)가 작업을 수행하는 과정에서 전진, 후진 및 회전주행 등의 이동 동작이 가능하도록 한다.The traveling
도 2에서 도시된 일 예에 따른 주행부(160)는 이동 로봇(100)이 이동하는 바닥 면의 상태에 따라 회전하는 각도가 변화하는 캐스터 휠을 포함할 수 있다. 캐스터 휠은 이동 로봇(100)의 자세 안정 및 추락 방지 등에 활용되어 이동 로봇(100)을 지지하며, 롤러나 캐스터 형상의 휠로 구성된다.The traveling
주행부(160)는 후술하는 제어부(110, 도 3 참조)의 명령에 따라 전진 또는 후진 방향으로 각각 회전하여 이동 로봇(100)이 전진 또는 후진하거나 회전할 수 있도록 한다. 예를 들면 양 캐스터 휠을 전진 또는 후진 방향으로 회전시켜 이동 로봇(100)이 전진 또는 후진 주행하도록 한다. The traveling
센서(130)는 본체(104)의 정면에 마련되어, 이동 로봇(100)이 이동하는 공간의 정보를 수집한다.The
센서(130)는 이동 로봇(100)에 장착될 수 있는 각종 레이더(Radar) 및 라이더(Lidar) 등을 포함할 수 있으며, 주변 영상을 촬영하는 카메라(Camera)를 포함할 수도 있다. 즉, 센서(130)는 이동 로봇(100)의 주변 환경에 대한 데이터를 수집하는 장치이면 충분하고, 제한은 없다.The
한편, 센서(130)가 반드시 이동 로봇(100)의 정면에 장착될 필요는 없으며, 다양한 위치에 마련될 수 있고, 복수 개로 마련될 수 있다.On the other hand, the
도 3은 개시된 일 예에 따른 이동 로봇의 제어 블록도이다.FIG. 3 is a control block diagram of a mobile robot according to an example disclosed. FIG.
도 3을 참조하면, 개시된 이동 로봇(100)은 유저 인터페이스(120), 영상 획득부(130), 통신부(140), 저장부(180) 및 제어부(110)를 포함한다.Referring to FIG. 3, the
유저 인터페이스(120)는 이동 로봇(100)의 본체(104) 상면에 마련될 수 있으며, 사용자로부터 제어 명령을 수신하는 입력 버튼(121)과 이동 로봇(100)의 동작 정보를 표시하는 디스플레이(123)를 포함할 수 있다.The
입력 버튼(121)은 이동 로봇(100)를 턴온 또는 턴오프시키는 전원 버튼, 이동 로봇(100)를 동작시키거나 정지시키는 동작/정지 버튼, 이동 로봇(100)를 충전 스테이션(103)으로 복귀시키는 복귀 버튼 등을 포함할 수 있다.The
또한, 입력 버튼(121)은 사용자의 가압을 감지하는 푸시 스위치(push switch), 멤브레인 스위치(membrane) 또는 사용자의 신체 일부의 접촉을 감지하는 터치 스위치(touch switch)를 채용할 수 있다.The
디스플레이(123)는 사용자가 입력한 제어 명령에 대응하여 이동 로봇(100)의 정보를 표시한다, 예를 들어, 디스플레이(123)는 이동 로봇(100)의 동작 상태, 전원의 상태, 사용자가 선택한 청소 모드, 충전 스테이션(102)으로의 복귀 여부 등을 표시할 수 있다.The
개시된 일 예에 따른 디스플레이(123)는 이동 로봇(100)의 인식하는 주변 공간에 대한 지도를 표시할 수 있다. 구체적으로 디스플레이(123)가 표시하는 지도는 사용자가 인식할 수 있는 수준의 지도를 의미한다. 즉, 개시된 이동 로봇은 사용자가 인식할 수 있는 수준의 지도를 제공함으로써, 사용자와 인터랙션(Interaction)을 수행한다.The
그러나, 이동 로봇(100)의 디스플레이(123)가 반드시 지도를 표시해야 하는 것은 아니며, 통신부(140)를 이용하여 사용자 단말(200)로 지도를 전송할 수도 있다.However, the
한편, 디스플레이(123)는 자체 발광이 가능한 발광 다이오드(Light Emitting Diode: LED)와 유기 발광 다이오드(Organic Light Emitting Diode: OLED) 또는 별도의 발원을 구비하는 액정 디스플레이(Liquid Crystal Display) 등을 채용하여 구성될 수 있으며, 제한은 없다.The
도면에는 도시되지 않았으나, 실시 형태에 따라 유저 인터페이스(120)는 사용자로부터 제어 명령을 입력받고, 입력받은 제어 명령에 대응하는 동작 정보를 표시하는 터치 스크린 패널(Touch Screen Panel:TSP)을 포함할 수 있다.Although not shown in the drawing, according to an embodiment, the
터치 스크린 패널은 동작 정보 및 사용자가 입력할 수 있는 제어 명령을 표시하는 디스플레이, 사용자의 신체 일부가 접촉한 좌표를 검출하는 터치 패널(Touch Panel), 터치 패널이 검출한 접촉 좌표를 기초로 사용자가 입력한 제여 명령을 판단하는 터치 스크린 컨트롤러를 포함할 수 있다.The touch screen panel includes a display for displaying operation information and a control command that can be input by a user, a touch panel for detecting coordinates of a part of the user's body contacted, And a touch screen controller for determining the input command.
센서(130)는 이동 로봇(100)이 현재 위치하고 있는 공간에 관한 데이터를 획득하는 정보 획득 장치를 의미한다.The
구체적으로 센서(130)는 스캔에 따라 측정 대상까지의 거리를 측정하여 이동 로봇(100)이 위치한 실제 환경의 거리 데이터를 획득하는 2D 센서 또는 3D센서일 수 있다. 또한, 센서(130)는 외부의 영상 이미지인 프레임을 포착(capture)하여 이를 디지털 신호로 변환해주는 CCD(Charge Coupled Device) 모듈이나 CMOS(Complementary Metal Oxide Semiconductor) 모듈일 수도 있다.Specifically, the
한편, 센서(130)가 수집하는 공간에 대한 영상과 정보를 이용하여, 이동 로봇(100)은 스스로의 위치를 검출하기 위한 지도를 생성한다. 센서(130)가 수집하는 데이터에 기초하여 생성하는 1차적인 로봇 지도는 이하 다른 도면을 통해 구체적으로 후술한다.On the other hand, the
통신부(140)는 이동 로봇(100)가 이하에서 후술할 시스템(1000)의 구성과 상호 연결을 수행하는 모듈을 의미한다. 즉, 이동 로봇(100)은 통신부(140)를 이용하여 외부 장치와 통신을 수행한다.The
구체적으로 통신부(140)는 이동 로봇(100)이 1차적으로 생성하는 로봇 지도를 외부로 전송하고, 로봇 지도를 기초로 생성되는 2차적 지도를 외부에 요청할 수도 있다. 또한, 통신부(140)는 수신된 2차적 지도를 제어부(110)로 전달하고, 다시 사용자 단말(200)로 송신할 수도 있다. 이와 관련된 자세한 설명은 이하 다른 도면을 통해 후술한다.Specifically, the
한편, 통신부(140)는 여러 통신 모듈로 구성될 수 있다. 예를 들어 통신부(140)는 근거리 통신 모듈, 무선 통신 모듈 및 유선 통신 모듈 중 적어도 하나를 포함할 수 있다.Meanwhile, the
근거리 통신 모듈은 블루투스 모듈, 적외선 통신 모듈, RFID(Radio Frequency Identification) 통신 모듈, WLAN(Wireless Local Access Network) 통신 모듈, NFC 통신 모듈, 직비(Zigbee) 통신 모듈 등 근거리에서 무선 통신망을 이용하여 신호를 송수신하는 다양한 근거리 통신 모듈을 포함할 수 있다.The short-range communication module uses a wireless communication network, such as a Bluetooth module, an infrared communication module, an RFID (Radio Frequency Identification) communication module, a WLAN (Wireless Local Access Network) communication module, an NFC communication module, and a Zigbee communication module, And may include various short range communication modules for transmitting and receiving.
무선 통신 모듈은 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution) 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.In addition to the Wifi module and the wireless broadband module, the wireless communication module may be a GSM (Global System for Mobile Communication), a CDMA (Code Division Multiple Access), a WCDMA (Wideband Code Division Multiple Access) ), Time Division Multiple Access (TDMA), Long Term Evolution (LTE), and the like.
무선 통신 모듈은 무선 신호를 송신하는 안테나 및 송신기(Transmitter)를 포함하는 무선 통신 인터페이스를 포함할 수 있다. 또한, 무선 통신 모듈은 제어부(110)의 제어에 따라 무선 통신 인터페이스를 통해 제어부(110)로부터 출력된 디지털 제어 신호, 예를 들어 1차적 로봇 지도를 아날로그 형태의 무선 신호로 변조하는 신호 변환 모듈을 더 포함할 수 있다. The wireless communication module may include a wireless communication interface including an antenna and a transmitter for transmitting wireless signals. The wireless communication module also includes a signal conversion module for modulating a digital control signal output from the
이러한 무선 통신 모듈은 외부 신호를 수신하는 안테나 및 수신기(Receiver)를 포함할 수 있다. 또한, 무선 통신 모듈은 아날로그 형태의 무선 신호를 디지털 제어 신호로 변,복조하는 신호 변환 모듈을 더 포함할 수 있다.Such a wireless communication module may include an antenna and a receiver for receiving an external signal. The wireless communication module may further include a signal conversion module that demodulates an analog type wireless signal into a digital control signal.
유선 통신 모듈은 이동 로봇(100)이 충전 스테이션(102)에 결합하면, 충전 스테이션(102)을 통해 유선으로 외부와 통신할 수 있다. 일 예로 유선 통신 모듈은 지역 통신(Local Area Network; LAN) 모듈, 광역 통신(Wide Area Network; WAN) 모듈 또는 부가가치 통신(Value Added Network; VAN) 모듈 등 다양한 유선 통신 모듈뿐만 아니라, USB(Universal Serial Bus), HDMI(High Definition Multimedia Interface), DVI(Digital Visual Interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 다양한 케이블 통신 모듈을 포함할 수 있다.When the
저장부(180)는 센서(130)가 수집한 데이터를 실 시간으로 저장하고, 이동 로봇(100)이 동작하는 환경의 지도, 이동 로봇(100)의 동작을 위한 운영 프로그램과 주행 패턴, 주행 과정에서 획득한 이동 로봇(100)의 위치 정보 및 장애물 정보 등을 저장하는 메모리이다.The
구체적으로 저장부(180)는 제어부(110)가 생성한 로봇 지도 및 통신부(140)가 외부에서 수신한 지도를 저장한다. 외부에서 수신한 지도는 전술한 바와 같이 로봇 지도를 기초로 생성된 2차적 지도를 의미하고, 이 지도는 사용자에게 제공할 수 있는 수준의 지도를 의미한다. 지도와 관련된 자세한 설명은 다른 도면을 통해 후술한다.Specifically, the
이 외에도 저장부(180)는 이동 로봇(100)의 동작을 제어하기 위한 제어 데이터, 이동 로봇(100)의 동작 제어 중 사용되는 기준 데이터, 이동 로봇(100)이 소정의 동작을 수행하는 중에 발생되는 동작 데이터, 이동 로봇(100)이 소정 동작을 수행하도록 디바이스(200)에 의해 입력된 설정 데이터 등과 같은 사용자 입력 정보가 저장될 수 있다. In addition, the
한편, 제어부(180)는 아래에서 설명할 제어부(110)에 포함된 메모리(115)를 보조하는 보조 기억 장치로서 동작할 수 있으며, 이동 로봇(100)가 전원이 차단되더라도 저장된 데이터가 소멸되지 않는 비 휘발성 저장 매체로 구성될 수 있다.The
저장부(180)는 반도체 소자에 데이터를 저장하는 반도체 소자 드라이브(181), 자기 디스크에 데이터를 저장하는 자기 디스크 드라이브(183) 등을 포함할 수 있다.The
주행부(160)는 이동 로봇(100)를 이동시키며, 도 2 에 도시된 바와 같이 주행 바퀴, 주행 바퀴를 구동시키는 구동 모터 등을 포함할 수 있다.The traveling
주행부(160)는 제어부(110)의 제어 신호에 따라 구동 모터에 구동 전류를 공급하는 모터 구동 회로(미도시), 구동 모터의 회전력을 주행 바퀴에 전달하는 동력 전달 모듈(미도시), 구동 모터 또는 주행 바퀴의 회전 변위 및 회전 속도를 검출하는 회전 감지 센서(미도시) 등을 더 포함할 수 있다.The driving
한편, 주행부(160)가 반드시 바퀴 등에 한정되는 것은 아니며, 다리형 이동 로봇의 경우 주행부(160)는 다리를 동작시키는 다른 모듈을 포함할 수 있다.Meanwhile, the traveling
전원부(170)는 이동 로봇(100)에 동력을 공급하는 구성을 의미한다. 앞서 언급한 바와 같이 전원부(170)는 주행부(160) 및 그 외 본체(101)를 구동시키기 위한 각 부하와 전기적으로 연결되어 구동 전원을 공급하는 배터리를 포함할 수 있다 The
한편, 전원부(170)는 다양한 형태의 에너지를 공급하는 구성이면 충분하고, 제한이 없다.The
제어부(110)는 이동 로봇(100)의 동작을 총괄적으로 제어한다.The
구체적으로, 제어부(110)는 이동 로봇(100)에 포함된 각종 구성 장치와 제어부(110) 사이에서 데이터 출입을 매개하는 입출력 인터페이스(117), 프로그램 및 데이터를 기억하는 메모리(115), 영상 처리를 수행하는 그래픽 프로세서(113) 및 메모리(113)에 기억된 프로그램 및 데이터에 따라 연산 동작을 수행하고 이동 로봇(100)의 주행 공간에 대한 로봇 지도를 생성하는 메인 프로세서(111), 입출력 인터페이스(117), 메모리(115), 그래픽 프로세서(113) 및 메인 프로세서(111) 사이의 데이터 송수신의 통로가 되는 시스템 버스(119)를 포함할 수 있다.Specifically, the
입출력 인터페이스(117)는 센서(130)로부터 수집한 데이터 등을 수신하고, 이를 시스템 버스(119)를 통하여 메인 프로세서(111), 그래픽 프로세서(113), 메모리(115) 등으로 전송한다. 또한, 입출력 인터페이스(117)는 메인 프로세서(111)가 출력하는 각종 제어 신호를 주행부(160) 및 이동 로봇(100)의 각종 제어 구성에 전달할 수 있다.The input /
메모리(115)는 이동 로봇(100)의 동작을 제어하기 위한 제어 프로그램 및 제어 데이터를 저장부(180)로부터 불러와 기억하거나, 센서(130)가 획득한 데이터에 기초하여 그래픽 프로세서(113)가 생성한 지도 및 결과 등을 임시로 기억할 수 있다.The
메모리(115)는 S램, D랩 등의 휘발성 메모리를 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 경우에 따라서 메모리(115)는 플래시 메모리, 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read Only Memory: EEPROM) 등의 비휘발성 메모리를 포함할 수도 있다. The
그래픽 프로세서(113)는 센서(130)가 획득한 데이터를 변환시켜 생성되는 로봇 지도, 예를 들어 격자 지도를 생성한다. 그래픽 프로세서(113)는 생성된 격자 지도를 메모리(115) 또는 저장부(180)에 저장할 수 있는 포맷으로 변환하거나, 영상의 해상도 또는 크기를 변경할 수 있다.The
메인 프로세서(111)는 메모리(115)에 저장된 프로그램 및 데이터에 따라 센서(130)의 감지 결과를 처리하고, 주행부(160)를 제어하며, 이동 로봇(100)의 위치를 보정하거나 이에 따른 지도를 보정하기 위한 연산동작을 수행한다. 또한, 메인 프로세서(111)는 통신부(140)가 전달하는 2차적 지도를 사용자 단말(200) 등으로 전달한다.The
이하에서 설명할 메인 프로세서(111)의 처리나 연산과정은 제어부(110)의 처리나 연산과정으로 해석할 수 있다. The process and operation process of the
한편, 개시된 이동 로봇은 개시된 구성 이외에도 다양한 구성을 포함할 수 있으며, 제한은 없다.On the other hand, the disclosed mobile robot may include various configurations other than the disclosed configurations, and there is no limitation.
도 4는 개시된 일 예에 따른 이동 로봇의 동작을 설명하기 위한 순서도이다.4 is a flowchart illustrating an operation of the mobile robot according to an embodiment of the present invention.
도 4를 참조하면, 개시된 일 예에 따른 이동 로봇(100)은 사용자의 입력 명령에 의해서 자율적으로 주행한다(510).Referring to FIG. 4, the
이동 로봇(100)이 자율적으로 주행하기 위해서는 기본적으로 스스로의 위치를 인식하는 것이 필요하다. 위치 인식을 위해서 이동 로봇(100)은 센서(130)를 이용하여 주행 공간의 데이터를 수집하고, 데이터를 기초하여 지도를 생성한다(511).In order for the
이동 로봇(100)이 생성하는 지도(이하 제 1지도)는 격자 지도(도 5b 참조)와 같이 사용자가 인식할 수 있는 수준의 지도가 아니다. 제 1지도는 단순히 이동 로봇(100) 스스로 자신의 위치를 인식하는데 사용되기 때문에 격자 지도에서 외곽선만을 추출하는 등의 간소화 처리를 거친다.The map generated by the mobile robot 100 (hereinafter, referred to as a first map) is not a level map recognizable by the user, such as a grid map (see FIG. 5B). Since the first map is simply used to recognize the position of the
따라서 제 1지도는 이동 로봇(100)이 주행하는 실제의 주행 공간과 큰 차이가 있으며, 사용자가 알아보기 어렵다. 사용자가 인식하는 실제 공간과 제 1지도와의 차이는 사용자와 이동 로봇(100)간의 인터랙션(Interaction)을 방해하고, 사용자가 이동 로봇(100)을 제어할 때 어려움을 야기한다. Therefore, the first map is significantly different from the actual traveling space traveled by the
일 예로 사용자는 디바이스(101), 구체적으로 사용자 단말(200) 등에 표시될 수 있는 인식 가능한 정도의 지도를 이용하여, 이동 로봇(100)이 어느 지점으로 이동하도록 명령할 수 있다. For example, the user can instruct the
그러나 만약 이동 로봇(100)이 제 1지도를 사용자에게 제공하면, 사용자는 제 1지도를 인식할 수 없다. 또한, 제 1지도는 사용자가 실질적으로 인식하는 공간과 상이하므로 사용자가 제 1지도를 통해 입력한 명령은 사용자가 실제 원하는 이동 로봇(100)의 이동 지점과 상이할 수 있다.However, if the
이러한 문제점에 의해서 종래 이동 로봇(100)은 스스로 생성한 제 1지도를 사용자에게 공개하지 않았다. 그러나 개시된 일 예에 따른 이동 로봇(100)은 사용자와의 인터랙션을 방해하는 제 1지도를 개량하여 사용자가 인식할 수 있는 수준의 지도(이하 제 2지도)를 제공함으로써 전술한 문제점을 해결한다.Due to such a problem, the conventional
제 2지도는 심층 학습을 통해서 생성된다(512).The second map is generated through in-depth learning (512).
심층 학습(Deep Learning)은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계학습(machine learning)에 관한 알고리즘의 집합을 의미한다. Deep Learning is a combination of several nonlinear transformation techniques that allows for a high level of abstraction (machine learning) that attempts to summarize key content or functions in large amounts of data or complex data, And the like.
구체적으로 심층 학습은 어떠한 학습 데이터를 컴퓨터가 이해할 수 있는 형태(예를 들어 이미지의 경우는 픽셀(Pixel)정보를 열 벡터로 표현하는 등)로 표현(Representation)하고 이를 학습에 적용하기 위해 많은 연구(어떻게 하면 더 좋은 표현기법을 만들고 또 어떻게 이것들을 학습할 모델을 만들지에 대한)에 대한 학습 기법으로, DNN(Deep Neural Networks) 및DBN(Deep Belief Networks)등을 포함한다.Specifically, in-depth learning is represented by a form in which the learning data can be understood by the computer (for example, in the case of an image, pixel information is represented by a column vector), and many studies (How to make better expression techniques and how to model them). It includes Deep Neural Networks (DNN) and Deep Belief Networks (DBN).
개시된 이동 로봇 및 이동 로봇을 포함하는 시스템은 이동 로봇이 생성한 제 1지도 및 실제 공간에 관한 설계지도(심층학습의 학습 데이터에 해당)를 비교하고, 제 1지도로부터 제 2지도를 유추하는 방법을 학습한다. 이후 이동 로봇을 포함하는 시스템은 이동 로봇(100)이 새로운 제 1지도를 제공할 때, 그와 관련된 제 2지도를 생성한다. A system including the mobile robot and the mobile robot disclosed herein compares a design map (corresponding to learning data of in-depth learning) about the first map and the actual space generated by the mobile robot, and a method of inferring the second map from the first map . Then, the system including the mobile robot generates a second map associated with the
제 2지도를 생성하는 심층 학습의 일 예는 CNN(Convolutional Neural Networks)이 있다. CNN에 관한 구체적인 설명은 도 9에서 후술한다.One example of in-depth learning to generate a second map is CNN (Convolutional Neural Networks). A detailed description of CNN will be described later with reference to FIG.
다시 도 4를 참조하면, 이동 로봇(100)은 심층 학습에 의해 생성된 제 2지도를 표시하거나 사용자 단말(200) 또는 디바이스(101)로 전달한다(513).Referring again to FIG. 4, the
제 2지도는 사용자가 인식할 수 있는 정도의 다양한 정보를 포함하는 사용자 지도를 의미한다. 사용자는 이동 로봇(100)이 제공하는 제 2지도를 기초로 이동 로봇(100)을 제어하고, 이동 로봇(100)은 제 2지도에 기초하여 자율 주행을 실시함으로써, 사용자와의 인터랙션을 강화한다The second map means a user map including various information that the user can perceive. The user controls the
도 5a는 이동 로봇의 실제 주행 공간을 간략하게 도시한 것이고, 도 5b는 이동 로봇이 생성한 격자 지도를 도시한 것이며, 도 5c는 격자지도를 간소화한 제 1지도를 도시한 것이다. 중복되는 설명을 피하기 위해서 이하 함께 설명한다.FIG. 5A is a schematic view showing an actual traveling space of the mobile robot, FIG. 5B is a grid map generated by a mobile robot, and FIG. 5C is a first map in which a grid map is simplified. To avoid redundant explanations, the following will be described together.
도 5a를 먼저 참조하면, 개시된 이동 로봇(100)은 사용자가 머무는 주변 환경(1)에서 특정 지점에 위치할 수 있다. 일 예에 따른 이동 로봇(100)은 청소 로봇일 수 있으며, 주변 환경(1)은 아파트의 내부일 수 있다.Referring first to FIG. 5A, the disclosed
이동 로봇(100)은 사용자의 명령에 기초하여 도 5a에 도시된 굵은 선을 따라 이동하면서 청소 작업을 수행할 수 있다. 이동 로봇(100)이 사용자의 명령에 따라 자율 주행을 수행하기 위해서는 주변 환경(1)에 대한 지도를 생성하고, 자신의 위치를 파악해야 한다.The
생성하는 지도는 이동 로봇(100)이 주행을 실시하면서 센서(130)에 의해 수집하는 데이터에 기초한다.The generated map is based on data collected by the
이동 로봇(100)은 수집한 데이터에 기초하여 도 5b에서 도시된 격자 지도(2)를 생성한다. 생성된 격자 지도(2)를 주변 환경(1)과 비교하면 그 위치 및 구조가 상이하다.The
이는 격자 지도(2)가 이동 로봇(100)이 실질적으로 주행한 영역에서 한정되어 수집된 데이터를 기초로 하고 있으며, 이동 로봇(100)에 마련된 센서(130)의 성능 부족에 기인하다. 즉, 이동 로봇(100)이 주행하는 실제 주변 환경(1)과 이동 로봇이 인식하는 공간에 대한 지도는 서로 다를 수 있다.This is due to the lack of performance of the
한편, 이동 로봇(100)은 격자 지도(2)를 간소화하여 도 5c와 같은 로봇 지도(3)를 생성한다. 구체적으로 로봇 지도(3)는 격자 지도(2)의 외곽선을 추출하여 생성될 수 있다. 일반적인 이동 로봇(100)는 로봇 지도(3)와 같은 제 1지도를 통해서 자신의 위치를 인식한다.On the other hand, the
만약 로봇 지도(3)와 같은 제 1지도가 사용자에게 제공된다면, 사용자는 실제 환경(1)과 큰 차이를 보이는 로봇 지도(3)를 알아보기 어렵고, 로봇 지도(3)를 통해서 이동 로봇(100)과 인터랙션을 수행하는 것은 현실적으로 불가능하다.If a first map such as the
따라서 개시된 이동 로봇(100)는 심층 학습을 통해 도 6에서 도시된 바와 같은 제 2지도를 사용자에게 제공한다.Thus, the disclosed
도 6은 일 예에 따른 이동 로봇이 사용자에게 제공하는 평면도를 도시한 것이다.FIG. 6 is a plan view of a mobile robot according to an exemplary embodiment of the present invention.
일 예에 따른 제 2지도는 도 6과 같이 평면도(Plane Figure, 4) 형태를 포함할 수 있다. 구체적으로 평면도(4)는 각 공간에 명칭 및 수치를 포함한다. 즉 평면도(4)는 침실(4a, 4b), 거실(4c), 발코니(Balcony, 4d) 및 복도(4e)과 같은 공간에 의미를 부여하는 명칭을 포함하고, 각 공간의 크기를 알 수 있는 여러 수치를 포함할 수 있다. 또한, 평면도(4)는 문의 위치, 통로의 위치 등을 포함할 수도 있다.The second map according to an example may include a plan view (4) as shown in FIG. Specifically, the
개시된 이동 로봇(100)은 도 6과 같은 평면도(4)를 사용자에게 제공하고, 사용자는 평면도(4)와 같은 제 2지도를 이용하여 이동 로봇(100)의 위치 및 필요한 서비스를 실행하도록 이동 로봇(100)에게 정확한 명령을 내릴 수 있다.The
한편, 개시된 이동 로봇(100)은 제 1지도로부터 평면도(6)와 같은 제 2지도를 사용자에게 제공한다. 제 2지도는 심층 학습을 통해 생성된다. 심층 학습에 관한 구체적인 설명은 이하 도 7 내지 도 10을 통해 후술한다. On the other hand, the disclosed
도 7은 개시된 일 예에 따른 시스템에 관한 구성을 설명하기 위한 도면이다.FIG. 7 is a diagram for explaining a configuration of a system according to an example disclosed. FIG.
도 7을 참조하면, 일 예에 따른 시스템(1000)은 이동 로봇(100), 이동 로봇(100)을 제어하는 디바이스(102), 이동 로봇(100)이 제공하는 제 1지도를 수신하고, 심층 학습을 통해 제 2지도를 생성하는 심층 학습기(300), 생성한 제 2지도를 제공받아 이동 로봇과 사용자가 인터랙션을 수행하도록 연결하는 사용자 단말(200) 및 전술한 각 구성을 연결시켜 주는 서버(400)를 포함한다.7, a
구체적으로 이동 로봇(100)은 전술한 바와 같이, 스스로의 위치를 인식하기 위한 제 1지도를 생성한다.Specifically, the
제 1지도는 다양할 수 있으며, 사용자에게 제공하기 부족한 정도인 격자 지도(2) 등을 포함할 수 있다.The first map may be various and may include a
이동 로봇(100)은 생성한 제 1지도를 통신부(140)를 통해 심층 학습기(300) 또는 서버(400)로 전달한다. The
심층 학습기(300)는 심층 학습을 통해 학습한 후, 제공되는 제 1지도를 제 2지도로 변경하는 장치를 의미한다.The in-
심층 학습기(300)는 심층 학습에 필요한 정보를 서버(400)등을 통해서 제공받아 미리 심층 학습을 수행한다.The in-
일 예로 이동 로봇(100)이 사용자에게 판매되면서, 제조사는 이동 로봇(100)이 주행하는 사용자의 공간에 대한 평면도(4)를 미리 입수하여 제공할 수 있다. 이동 로봇(100)은 스스로 주행하면서 생성한 제 1 지도를 제공하고, 제조사는 서버를 통해 이동 로봇(100)이 주행하는 공간에 대한 평면도(4)를 심층 학습기(300)에 전달할 수 있다. 즉, 심층 학습기(300)는 심층 학습에 필요한 데이터 쌍(제 1지도와 제 1지도와 관련된 제 2지도)를 수집한다.For example, while the
심층 학습기(300)는 제공되는 여러 데이터 쌍을 기초로 심층 학습을 수행하고, 제 1지도로부터 평면도를 생성하는 방법을 학습할 수 있다. The in-
학습을 마친 심층 학습기(300)는 이동 로봇(100)이 새로이 전달하는 사용자 공간에 대한 정보, 즉 제 1지도를 기초로 제 1지도와 매칭되는 제 2지도를 생성한다.After the learning, the in-
심층 학습기(300)는 생성된 제 2지도를 이동 로봇(100) 또는 서버(400)로 전달하고, 제 2지도는 사용자 단말(200) 또는 디바이스(101)를 거처 사용자에게 제공된다.The in-
한편, 심층 학습기(300)는 CNN과 같은 알고리즘을 통해 지도 영상을 분류하고 학습할 수 있다. 심층 학습과 관련된 구체적인 사항은 도 10을 통해 후술한다.Meanwhile, the in-
사용자 단말(200)은 사용자와 시스템(1000)을 연결시켜 주는 장치를 의미하며, 제 2지도를 제공하고 사용자의 입력 명령을 수신하는 역할을 한다.The
사용자 단말(200)은 네트워크를 통해 서버(400)에 접속할 수 있는 컴퓨터나 휴대용 단말기로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD) 등과 같은 웨어러블 장치를 포함할 수 있다.The
디바이스(101)는 전술한 바와 같이, 이동 로봇(100)의 이동을 제어하거나 이동 로봇(100)의 작업을 수행하기 위한 제어 명령을 무선으로 송신하는 원격 제어 장치를 의미한다.The
일 예에 따른 디바이스(101)는 이동 로봇(100)을 제어하는 디스플레이(Display, 미도시)를 더 포함할 수 있다. 이러한 디스플레이는 심층 학습기(300) 또는 서버(400)로부터 제 2지도를 표시하고, 사용자의 터치를 입력받는 터치 스크린(TSP)을 포함할 수도 있다. 즉, 사용자는 디바이스(101)에 표시된 제 2지도를 이용하여 이동 로봇(100)을 편리하게 제어할 수 있다.The
디바이스(101)와 관련하여 도 1 내지 도 2와 중복되는 사항에 대한 설명은 생략한다.Description of elements overlapping with those of Figs. 1 and 2 with respect to the
서버(400)는 네트워크를 통해 여러 데이터를 저장하거나 전달하는 매개체의 역할을 하는 장치를 의미한다.The
서버(400)는 심층 학습기(300)가 심층 학습에 필요한 학습 데이터를 수집하고, 제공하는 역할을 한다. 심층 학습은 학습 데이터가 많을수록 그 정확성이 증가할 수 있다. 따라서 개시된 서버(400)는 시스템(1000)의 여러 구성을 네트워크로 연결하고, 심층 학습에 필요한 데이터를 수집할 수 있다.The
일 예에 따른 서버(400)는 클라우드(Cloud) 서버를 포함할 수 있다. 클라우드 서버는 가상 사설 서버(Virtual private server)를 의미하며, 하나의 물리적 서버를 나누어 여러 개의 가상 서버로 사용하는 가상화 방법의 한 형태이다. 이러한 클라우드 서버는 이동 로봇(100)이 전달하는 제 1지도에서 심층 학습에 의해 생성된 제 2지도를 저장하고, 이동 로봇(100)에게 다시 제 2지도를 제공한다.The
한편, 심층 학습기(300)는 반드시 구성으로 한정될 필요는 없고, 심층 학습을 수행하는 알고리즘 또는 로직으로 구현될 수도 있다. 따라서 개시된 다른 실시예에 따른 시스템(1000)애서 서버(400)가 심층 학습을 수행하는 알고리즘을 포함할 수 있으며, 서버(400)가 이동 로봇(100)이 제공하는 제 1지도를 심층 학습을 통해 제 2지도를 생성할 수도 있다.On the other hand, the in-
시스템(1000)은 앞서 설명한 구성 이외에 다른 구성을 포함할 수도 있으며, 제한은 없다.The
도 8은 일 예에 따른 시스템의 동작을 설명하기 위한 순서도이다.8 is a flowchart for explaining the operation of the system according to an example.
편의를 위해서 심층 학습기(300)를 주체로 심층 학습의 통해 제 2지도를 생성하는 방법을 구체적으로 설명한다. 도 8을 참조하면, 심층 학습기(300)는 이동 로봇(100) 및 서버(400) 등으로부터 심층 학습에 필요한 학습 데이터를 수집한다(520).For convenience, a method of generating the second map through in-depth learning with the in-
학습 데이터는 도 7에서 설명한 데이터 쌍을 포함한다. 여기서 데이터 쌍은 이동 로봇(100)이 주행하면서 생성한 제 1지도 및 주행 공간에 대한 정보를 포함하면서 사용자에게 제공할 수 있는 정도의 제 2지도를 의미한다. The learning data includes the data pairs described in Fig. Here, the data pair means a second map that can be provided to the user while including information on the first map and the traveling space generated while the
결국 심층 학습기(300)가 생성하여 이동 로봇(100)에 전달하는 제 2지도는 학습 데이터에 포함된 수많은 제 2지도를 기초로 생성된다.The second map generated by the in-
심층 학습기(300)는 수많은 데이터 쌍을 서로 비교하여 핵심적인 특징을 필터링하고, 추상화 작업을 거쳐 제1 지도와 제 2지도를 분류하고, 제 1지도로부터 제 2지도를 생성해내는 방법을 학습한다(521).The in-
전술한 바와 같이 여러 이동 로봇(100)은 특정 건설사가 건설한 아파트 내부를 주행할 수 있다. 생성되는 제 1지도는 다양할 수 있지만, 건설사의 설계도와 관계되는 특징점이 도출될 수 있다. 심층 학습기(300)는 이러한 특징점을 학습하고, 다음 번 이동 로봇(100)이 전달하는 제 1지도에서 학습한 특징점이 발견되면, 심층 학습기(300)는 제 1지도에서 건설사의 설계도를 유추할 수 있다.As described above, the plurality of
심층 학습이 완료된 심층 학습기(300)는 이동 로봇(100)이 현재 주행하는 공간에 대해서 생성한 제 1지도로부터 제 2지도를 생성한다(522).The in-
생성된 제 2지도는 수많은 학습 데이터에 포함된 제 2지도에서 도출될 수 있으며, 여러 수많은 형태로 변경될 수 있다. 학습 데이터의 크기가 다양할수록 심층 학습의 횟수가 증가할수록 심층 학습기(300)가 생성된 제 2지도는 실제 주행공간과 일치할 가능성이 커진다.The generated second map can be derived from a second map included in a lot of learning data, and can be changed into a number of various forms. As the size of the learning data increases, as the number of times of in-depth learning increases, the possibility that the second map generated by the in-
심층 학습기(300)는 이동 로봇(100)이 요청하면, 제 2지도를 이동 로봇(100)으로 전달한다. 이동 로봇(100)은 제 2지도를 사용자에게 전달하고, 사용자와 인터랙션을 수행한다(523).The in-
이동 로봇(100)과 사용자가 제 2지도를 통해 실행하는 인터랙션은 다양할 수 있다. 이와 관련된 구체적인 실시예는 도 11 내지 도 12를 통해 후술한다.The interaction performed by the
도 9는 심층 학습에 관한 일 예를 설명하기 위한 순서도이다.9 is a flowchart for explaining an example of in-depth learning.
도 9를 참조하면, 심층 학습기(300)는 2D 평면도를 수집한다(530). 수집하는 평면도는 도 6에서 도시된 제 2지도와 같은 형태 뿐만 아니라 다양한 2차원 공간,지도 및 위치 데이터를 포함한다.Referring to FIG. 9, the
심층 학습기(300)는 수집된 2D 평면도 등을 기초로 시뮬레이션 3D 환경을 생성한다(531).The
일 예에 따른 시뮬레이션 3D 환경은 실제 주행 공간을 간략하게 도시한 도 5a와 같은 3차원 형태의 가상 공간을 의미한다.A simulation 3D environment according to an example means a three-dimensional virtual space as shown in FIG. 5A, which briefly shows an actual running space.
심층 학습기(300)는 생성한 시뮬레이션 환경을 통해 가상의 이동 로봇을 주행시킨다(532).The in-
도 8에서 설명한 바와 같이, 일 예에 따른 심층 학습기(300)는 이동 로봇(100)이 생성하는 제 1지도와 서버(400)가 제공하는 제 2지도의 데이터 쌍을 통해서 심층 학습하였다.As described in FIG. 8, the in-
이와 비교하여 도 9의 다른 실시예에 따른 심층 학습기(300)는 실제 이동 로봇(100)이 생성하는 제 1지도를 기초로 하지 않고, 시뮬레이션 환경에서 가상으로 주행시킨 데이터를 기초로 심층 학습을 한다.In contrast, the in-depth
이러한 시뮬레이션 주행은 제한적으로 수집될 수 있는 실제 이동 로봇(100)의 생성 데이터를 보충하고, 단시간에 수많은 선행 학습을 할 수 있으므로 심층 학습기(300)가 생성하는 제 2지도에 대한 오차를 줄일 수 있다.This simulation run can supplement the generated data of the actual
심층 학습이 완료된 심층 학습기(300)는 실제 이동 로봇(100)이 생성한 제 1지도를 전달받는다(533).The in-
이후, 심층 학습기(300)는 학습한대로 제 1지도에서 제 2지도를 생성한다(534).Thereafter, the in-
심층 학습기(300)는 생성한 제 2지도를 이동 로봇으로 전달하고(535), 이동 로봇(100)는 제 2지도를 사용자에게 제공함으로써 인터랙션을 강화한다.The in-
한편, 전술한 도 9의 심층 학습 방법은 반드시 주행 공간을 실질적으로 주행한 이동 로봇(100)에 대한 정보가 필요하지 않을 수 있다. 따라서 심층 학습은 서버(400)를 통해서 이뤄질 수 있으며, 다른 실시예에 따른 시스템(1000)은 서버(400), 이동 로봇(100) 및 사용자 단말(200) 등을 포함할 수도 있다.On the other hand, the above-described in-depth learning method of FIG. 9 may not necessarily require information on the
도 10은 심층 학습의 일 예를 설명하기 위한 도면이다.10 is a diagram for explaining an example of in-depth learning.
심층 학습은 심층 신경망(Deep Neural Network, DNN) 알고리즘을 통해 수행된다. 다시 심층 신경망(DNN)은 입력층(input layer)과 출력층(output layer) 사이에 다중의 은닉층(hidden layer)이 존재하는 심층(deep) 신경망, 동물의 시각 피질의 구조와 유사하게 뉴런 사이의 연결 패턴을 형성하는 컨볼루션(convolutional) 신경망, 시간에 따라 매순간 신경망을 쌓아올리는 재귀(recurrent) 신경망으로 구체화될 수 있다.In-depth learning is performed through the Deep Neural Network (DNN) algorithm. DNN is a deep neural network in which there are multiple hidden layers between the input and output layers and a connection between neurons similar to that of the animal's visual cortex A convolutional neural network that forms a pattern, and a recurrent neural network that builds up a neural network every moment according to time.
도 10은 심층 신경망의 일 예로, 컨볼루션 신경망, 즉 CNN(Convolutional Neural Networks)을 설명하기 위한 도면이다.FIG. 10 is a view for explaining a convolutional neural network, that is, CNN (Convolutional Neural Networks), as an example of a depth neural network.
구체적으로 CNN은 컨벌루션(Convoltion)과 서브 샘플링(Sub-Sampling)을 반복하여 데이터의 양을 줄이고, 왜곡시켜 신경망을 분류한다. 즉, CNN은 특징 추출과 분류 행위를 통해 부류 결과를 출력하는데, 주로 이미지를 분석하는데 사용된다.Specifically, CNN repeats convolution and sub-sampling to reduce the amount of data and classify the neural network by distorting it. In other words, CNN outputs class results through feature extraction and classification, mainly used for image analysis.
컨벌루션은 영상 필터링을 의미하며, 가중치를 갖는 마스크(311)를 이용한다. Convolution means image filtering, and uses a
구체적으로 컨벌류젼(310)은 제 1지도와 같은 입력 영상(301)에서 마스크(311)를 씌운 후, 입력 영상(301)의 픽셀값과 마스크(311)의 가중치를 각각 곱하고, 그 합을 출력 영상(312)의 픽셀값으로 산출한다.More specifically, the
마스크(311)는 입력 영상(301)의 각 부분마다 복수 개로 씌여지며, 마스크(311)가 이동하면서 산출된 결과값을 합한 결과가 추출된다. 추출되는 영상은 적어도 하나 이상의 영상이 추출되는데, 강인한 특징(왜곡, 변형과 같은 환경변화에 적응하는)을 유도한다. A plurality of
도 10의 일 예에 따라 제 1 컨벌루션(310)에 의해서 추출되는 출력 영상(feature maps, 312)은 4장이다.10, the number of
서브 샘플링은 영상의 크기를 줄이는 과정을 의미한다. 일 예로 서브 샘플링은 맥스-풀(Max Pool)을 사용한다. 맥스-풀은 해당 영역에서 최대치를 선택하는 기법인데 뉴런이 가장 큰 신호에 반응하는 것과 유사하다. 서브 샘플링은 노이즈를 감소시키고, 학습의 속도를 증가시킨다.Subsampling means the process of reducing the size of the image. For example, subsampling uses Max Pool. Max-Pull is a technique for selecting the maximum value in a given area, similar to the way a neuron responds to the largest signal. Subsampling reduces noise and increases the speed of learning.
일 예로 제 1 컨벌루션(310)에서 출력된 출력 영상(312)에 서브 샘플링은 맥스-풀을 위한 해당 영역(321)을 선택하고, 해당 영역(321)의 픽셀값에서 최대값만이 출력된다. For example, in the
도 10에서 제 1서브 샘플링(320)에 의해서 출력되는 출력 영상(322)은 4장이다.In FIG. 10, the number of
한편, CNN은 컨벌루션(310, 330) 및 서브 샘플링(320, 340)을 반복적으로 수행한다. 반복과정의 횟수는 제한이 없다. 즉, 도 10에서는 2번 반복과정을 도시하였지만, 이에 제한되지 않는다.CNN, on the other hand, performs convolution 310,330 and subsampling 320,340 repeatedly. The number of iterations is unlimited. In other words, although FIG. 10 shows an iteration of two times, it is not limited thereto.
마지막으로 CNN은 완전 연결(Fully-Connected MLP, 350)를 수행한다. 완전 연결(350)은 학습 증가 시간을 단축시키고, 망의 크기 및 변수의 개수를 줄이기 위한 것으로, 수많이 출력될 수 있는 출력 영상(312, 322)을 1차원 행렬(351)으로 변환한다. 행렬(351)은 입력단에서 맵핑(Mapping)된다.Finally, CNN performs Fully-Connected MLP (350). The
일 예로 수많은 고양이 영상이 CNN을 거치면, 심층 학습기(300)는 이후 제시되는 개와 고양이 영상 중에서 고양이 영상을 구분할 수 있다. 마찬가지로 개시된 심층 학습기(300)도 제 1지도와 평면도의 데이터 쌍을 학습하여, 후에 입력되는 제 1지도로부터 이동 로봇(100)이 실제 이동한 제 2지도(예를 들어 평면도)를 생성할 수 있다.For example, if a large number of cat images pass through CNN, the in-
도 11은 개시된 일 예에 따른 이동 로봇(100)과 사용자의 인터랙션을 설명하기 위한 도면이다.11 is a view for explaining interaction between a
심층 학습에 의해서 생성되어 이동 로봇(100)에 전달된 제 2지도는 도 11과 같이 평면도(5)의 형태일 수 있다.The second map generated by the in-depth learning and transmitted to the
이동 로봇(100)은 사용자 단말(200)을 통해 이동 로봇(100)이 인식하고 있는 주행 공간에 대한 제 2지도를 전달할 수 있다. 이 때 개시된 이동 로봇(100)은 평면도(5)에 포함된 공간의 명칭 정보를 라벨링(Labeling)하여 사용자에게 제공할 수 있다.The
일 예로 사용자에게 제공되는 평면도(5)는 도 11과 같이 침실(Bedroom, 5a), 발코니(Balcony, 5b), 거실(Living, 5c) 및 주방(Kitchen, 5d)의 공간 정보 부분에 음영으로 부각시켜 전달될 수 있다.For example, the
사용자는 사용자 단말(200) 또는 디바이스(101)에 표시되는 도 11과 같은 지도를 통해 이동 로봇(100)의 이동을 제어하는데 활용할 수 있다.The user can utilize the user's terminal 200 or the
도 12는 다른 일 예에 따른 이동 로봇(100)과 사용자의 인터랙션을 설명하기 위한 도면이다.12 is a diagram for explaining interaction between a
심층 학습에 의해서 생성되어 이동 로봇(100)에 전달된 제 2지도는 도 12와 같이 평면도(5)의 형태일 수 있다.The second map generated by the in-depth learning and transferred to the
이동 로봇(100)은 사용자 단말(200)을 통해 평면도(5)를 전달할 수 있다. The
사용자는 사용자 단말(200)이 제공하는 평면도(5)에서 이동 로봇(100)이 특정 공간(예를 들어 거실)만을 주행하도록 이동 경로를 설정하거나, 특정 지점을 지나가도록 제어하기 위한 중간 지점(Waypoint, 6a 내지 6e)을 설정할 수 있다.The user can set a movement path for the
이동 로봇(100)은 도 12과 같은 이동 경로에 기초하여 주행할 수 있다. 또한, 이동 로봇(100)은 중간 지점(6a 내지 6e)이 설정된 제 2지도(6)를 기초로 중간 지점을 통해 주행할 수 있다.The
즉. 사용자는 사용자가 인식할 수 있는 수준의 지도, 제 2지도를 통해 이동 로봇(100)이 주행할 이동 경로를 설정하거나, 중간 지점을 선택할 수 있다. 이러한 다양한 제어를 통해 이동 로봇(100)과 사용자간의 인터랙션은 강화된다.In other words. The user can set a travel route to be traveled by the
100: 이동 로봇, 130: 센서
200: 사용자 단말 300: 심층 학습기
400: 서버 1000: 시스템100: mobile robot, 130: sensor
200: user terminal 300: deep learning machine
400: Server 1000: System
Claims (20)
상기 본체가 주행하는 공간에 대한 데이터를 수집하는 센서;
외부로 통신을 수행하는 통신부;
상기 데이터에 기초하여 상기 제 1지도를 생성하고, 상기 통신부를 통해 상기 제 2지도를 요청하는 제어부;를 포함하고,
상기 제 2지도는 상기 제 1지도를 기초로 심층 학습(Deep Learning)에 의해 생성되는 이동 로봇.main body;
A sensor for collecting data on a space in which the main body travels;
A communication unit for performing communication to the outside;
And a control unit for generating the first map based on the data and requesting the second map through the communication unit,
And the second map is generated by Deep Learning based on the first map.
상기 제 2지도를 출력하는 유저 인터페이스;를 더 포함하고,
상기 제어부는,
상기 통신부를 통해 상기 제 2지도를 송신하도록 제어하고, 상기 유저 인터페이스를 제어하여 상기 제 2지도를 출력하는 이동 로봇.The method according to claim 1,
And a user interface for outputting the second map,
Wherein,
Controls the second map to be transmitted through the communication unit, and outputs the second map by controlling the user interface.
상기 심층 학습은,
CNN(Convolution Neural Network)을 포함하고,
상기 제 2지도는 상기 CNN에 기초하여 생성되는 이동 로봇.The method according to claim 1,
The deep-
CNN (Convolution Neural Network)
And the second map is generated based on the CNN.
상기 제어부는,
상기 제 2지도를 라벨링(labeling)하는 이동 로봇.The method according to claim 1,
Wherein,
And labeling the second map.
상기 제 2지도는,
3차원 시뮬레이션 환경에 기초하여 생성되는 이동 로봇.The method according to claim 1,
The second map may further include:
A mobile robot generated based on a 3D simulation environment.
상기 제어부는,
상기 제 2지도에 기초하여 상기 본체의 이동 경로를 판단하고, 상기 이동 경로에 기초하여 상기 본체를 주행하는 이동 로봇.The method according to claim 1,
Wherein,
And determines a travel route of the main body based on the second map, and travels the main body based on the travel route.
주행하면서 데이터를 수집하고, 상기 데이터에 기초하여 제 1 지도를 생성하는 이동 로봇;
상기 서버로부터 전달받은 상기 학습 데이터를 기초로 상기 심층 학습하는 심층 학습기;를 포함하고,
상기 이동 로봇은, 상기 제 1 지도를 기초로 심층 학습에 의해 생성되는 제 2지도를 상기 심층 학습기에 요청하는 시스템.A server for collecting learning data necessary for in-depth learning;
A mobile robot for collecting data while traveling and generating a first map based on the data;
And an in-depth learning unit for performing in-depth learning based on the learning data received from the server,
Wherein the mobile robot requests a second map generated by in-depth learning based on the first map to the in-depth learning device.
상기 이동 로봇은,
상기 제 2지도를 수신하고, 상기 수신한 제 2지도에 기초하여 주행하는 시스템.8. The method of claim 7,
The mobile robot includes:
And receives the second map and travels based on the received second map.
상기 이동 로봇과 통신하는 사용자 단말;을 더 포함하고,
상기 이동 로봇은,
제 2지도를 상기 사용자 단말로 전달하는 시스템.8. The method of claim 7,
And a user terminal communicating with the mobile robot,
The mobile robot includes:
And transmits the second map to the user terminal.
상기 심층 학습기는,
상기 제 2지도에서 포함된 의미 정보를 라벨링(labeling)하고, 상기 이동 로봇으로 전달하는 시스템.10. The method of claim 9,
The deep-
Labeling the semantic information included in the second map, and delivering the semantic information to the mobile robot.
상기 이동 로봇은,
상기 사용자 단말이 전달하는 이동 경로에 관한 명령을 수신하고, 상기 이동 경로를 기초하여 주행하는 시스템.10. The method of claim 9,
The mobile robot includes:
And receives a command related to a travel route transmitted by the user terminal, and travels based on the travel route.
상기 서버는,
상기 심층 학습기가 전달하는 상기 제 2지도를 수신하고, 상기 이동 로봇으로 상기 제 2지도를 전달하는 시스템.8. The method of claim 7,
The server comprises:
Receives the second map transmitted by the deep layer learning device, and delivers the second map to the mobile robot.
상기 학습 데이터는,
상기 3차원 시뮬레이션 환경에서 가상으로 주행하여 생성되는 정보를 포함하는 시스템.8. The method of claim 7,
The learning data includes:
Wherein the information includes information generated by virtually traveling in the three-dimensional simulation environment.
상기 심층 학습은,
CNN(Convolution Neural Network)을 포함하는 시스템.8. The method of claim 7,
The deep-
A system comprising a Convolution Neural Network (CNN).
상기 데이터에 기초하여 제 1지도를 생성하고;
상기 제 1지도를 외부로 전달하고;
상기 제 1지도에 기초로 심층 학습에 의해 생성되는 제 2 지도를 요청하는 것;을 포함하는 이동 로봇의 제어방법.Collect data on space while traveling;
Generate a first map based on the data;
Transferring the first map to the outside;
And requesting a second map generated by in-depth learning based on the first map.
상시 제 2지도를 수신하고; 및
상기 제 2지도에 기초하여 주행하는 것;을 더 포함하는 이동 로봇의 제어방법.16. The method of claim 15,
The second map is always received; And
And traveling on the basis of the second map.
상기 제 2지도를 사용자의 입력 명령을 수신하는 사용자 단말로 전달하는 것;을 더 포함하는 이동 로봇의 제어방법.17. The method of claim 16,
And transmitting the second map to a user terminal that receives a user's input command.
상기 사용자 단말이 전달하는 이동 경로를 수신하고;
상기 주행하는 것은,
상기 이동 경로를 상기 제 2지도에 매칭시켜 주행하는 것;을 포함하는 이동 로봇의 제어방법.18. The method of claim 17,
Receiving a movement route transmitted by the user terminal;
The above-
And moving the travel route matching the second map.
상기 제 1지도는,
격자 지도를 포함하는 이동 로봇의 제어방법.16. The method of claim 15,
The first map may include:
A method of controlling a mobile robot including a grid map.
상기 제 2지도는,
상기 격자 지도 및 평면도를 기초로 상기 심층 학습에 의해 생성되는 이동 로봇의 제어방법.20. The method of claim 19,
The second map may further include:
Wherein the robot is generated by the deep learning based on the grid map and the plan view.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160157071A KR102656581B1 (en) | 2016-11-24 | 2016-11-24 | Mobile robot and system having the same and controlling method of mobile robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160157071A KR102656581B1 (en) | 2016-11-24 | 2016-11-24 | Mobile robot and system having the same and controlling method of mobile robot |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180058303A true KR20180058303A (en) | 2018-06-01 |
KR102656581B1 KR102656581B1 (en) | 2024-04-12 |
Family
ID=62635191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160157071A KR102656581B1 (en) | 2016-11-24 | 2016-11-24 | Mobile robot and system having the same and controlling method of mobile robot |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102656581B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020141924A1 (en) * | 2019-01-04 | 2020-07-09 | Samsung Electronics Co., Ltd. | Apparatus and method of generating map data of cleaning space |
WO2021066375A1 (en) * | 2019-10-04 | 2021-04-08 | Samsung Electronics Co., Ltd. | Electronic apparatus and controlling method thereof |
WO2022186598A1 (en) * | 2021-03-05 | 2022-09-09 | 삼성전자주식회사 | Robot cleaner and control method thereof |
US11442455B2 (en) | 2018-12-24 | 2022-09-13 | Samsung Electronics Co., Ltd. | Method and apparatus for generating local motion based on machine learning |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004276168A (en) * | 2003-03-14 | 2004-10-07 | Japan Science & Technology Agency | Map making system for mobile robot |
KR20070120780A (en) * | 2006-06-20 | 2007-12-26 | 삼성전자주식회사 | Method of building gridmap in mobile robot and method of cell decomposition using it |
KR20080089148A (en) * | 2007-03-30 | 2008-10-06 | 성균관대학교산학협력단 | A central information processing system and method for service robot, with layered information structure according to recognition and reasoning level |
KR20090066068A (en) * | 2007-12-18 | 2009-06-23 | 한국전자통신연구원 | Method and apparatus for forming lattice map for robot by use of drawings |
KR20100094213A (en) * | 2009-02-18 | 2010-08-26 | 삼성전자주식회사 | Apparatus and method for generating route using grid map |
JP2012011200A (en) * | 2010-07-01 | 2012-01-19 | Vorwerk & Co Interholding Gmbh | Self-propelled device and method for operating such device |
KR20120059428A (en) * | 2010-11-30 | 2012-06-08 | 주식회사 유진로봇 | Apparatus and Method for controlling a mobile robot on the basis of past map data |
KR20120102955A (en) * | 2011-03-09 | 2012-09-19 | 포항공과대학교 산학협력단 | Cleaning method of cleaning robots by detecting a feature point |
KR20130030958A (en) * | 2011-09-20 | 2013-03-28 | 엘지전자 주식회사 | Robot cleaner |
KR20150004568A (en) * | 2013-07-03 | 2015-01-13 | 삼성전자주식회사 | Method for recognizing position of autonomous mobile robot |
KR20160038437A (en) * | 2014-09-30 | 2016-04-07 | 엘지전자 주식회사 | A robot cleaner and control method thereof |
-
2016
- 2016-11-24 KR KR1020160157071A patent/KR102656581B1/en active IP Right Grant
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004276168A (en) * | 2003-03-14 | 2004-10-07 | Japan Science & Technology Agency | Map making system for mobile robot |
KR20070120780A (en) * | 2006-06-20 | 2007-12-26 | 삼성전자주식회사 | Method of building gridmap in mobile robot and method of cell decomposition using it |
JP2008004078A (en) * | 2006-06-20 | 2008-01-10 | Samsung Electronics Co Ltd | Method, apparatus and medium for building grid map of mobile robot, and method, apparatus and medium for cell decomposition using the same |
KR20080089148A (en) * | 2007-03-30 | 2008-10-06 | 성균관대학교산학협력단 | A central information processing system and method for service robot, with layered information structure according to recognition and reasoning level |
KR20090066068A (en) * | 2007-12-18 | 2009-06-23 | 한국전자통신연구원 | Method and apparatus for forming lattice map for robot by use of drawings |
KR20100094213A (en) * | 2009-02-18 | 2010-08-26 | 삼성전자주식회사 | Apparatus and method for generating route using grid map |
JP2012011200A (en) * | 2010-07-01 | 2012-01-19 | Vorwerk & Co Interholding Gmbh | Self-propelled device and method for operating such device |
KR20120059428A (en) * | 2010-11-30 | 2012-06-08 | 주식회사 유진로봇 | Apparatus and Method for controlling a mobile robot on the basis of past map data |
KR20120102955A (en) * | 2011-03-09 | 2012-09-19 | 포항공과대학교 산학협력단 | Cleaning method of cleaning robots by detecting a feature point |
KR20130030958A (en) * | 2011-09-20 | 2013-03-28 | 엘지전자 주식회사 | Robot cleaner |
KR20150004568A (en) * | 2013-07-03 | 2015-01-13 | 삼성전자주식회사 | Method for recognizing position of autonomous mobile robot |
KR20160038437A (en) * | 2014-09-30 | 2016-04-07 | 엘지전자 주식회사 | A robot cleaner and control method thereof |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11442455B2 (en) | 2018-12-24 | 2022-09-13 | Samsung Electronics Co., Ltd. | Method and apparatus for generating local motion based on machine learning |
WO2020141924A1 (en) * | 2019-01-04 | 2020-07-09 | Samsung Electronics Co., Ltd. | Apparatus and method of generating map data of cleaning space |
US11334084B2 (en) | 2019-01-04 | 2022-05-17 | Samsung Electronics Co., Ltd. | Apparatus and method of generating map data of cleaning space |
WO2021066375A1 (en) * | 2019-10-04 | 2021-04-08 | Samsung Electronics Co., Ltd. | Electronic apparatus and controlling method thereof |
US11697203B2 (en) | 2019-10-04 | 2023-07-11 | Samsung Electronics Co., Ltd. | Electronic apparatus and controlling method thereof |
WO2022186598A1 (en) * | 2021-03-05 | 2022-09-09 | 삼성전자주식회사 | Robot cleaner and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR102656581B1 (en) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102567525B1 (en) | Mobile Robot System, Mobile Robot And Method Of Controlling Mobile Robot System | |
US10807230B2 (en) | Bistatic object detection apparatus and methods | |
US10274325B2 (en) | Systems and methods for robotic mapping | |
US10175688B2 (en) | Apparatus and system for remotely controlling a moving robot and method thereof | |
US10723027B2 (en) | Robot systems incorporating cloud services systems | |
KR20180058303A (en) | Mobile robot and system having the same and controlling method of mobile robot | |
KR102018763B1 (en) | Interfacing with a mobile telepresence robot | |
CN109571513B (en) | Immersive mobile grabbing service robot system | |
CN109414142A (en) | The system and method independently advanced for image training robot along route | |
US10377042B2 (en) | Vision-based robot control system | |
KR20170087384A (en) | Apparatus and System for Remotely Controlling a Robot Cleaner and Method thereof | |
US11565415B2 (en) | Method of tracking user position using crowd robot, tag device, and robot implementing thereof | |
WO2017198211A1 (en) | Remote control system for service robot and control method of remote control system | |
US11559902B2 (en) | Robot system and control method of the same | |
CN107962573A (en) | Accompany humanoid robot and robot control method | |
US11340630B2 (en) | Systems and methods for robust robotic mapping | |
KR102386361B1 (en) | Apparatus for localization of mobile robot and method thereof | |
CN114505840A (en) | Intelligent service robot of autonomous operation box type elevator | |
CN205521430U (en) | High position adaptive service robot | |
CN113081525B (en) | Intelligent walking aid equipment and control method thereof | |
CN117073662A (en) | Map construction method, device, robot and storage medium | |
CN116358522A (en) | Local map generation method and device, robot, and computer-readable storage medium | |
US20240036582A1 (en) | Robot navigation | |
WO2017092620A1 (en) | Smart device, smart control method thereof and computer storage medium | |
CN114326736A (en) | Following path planning method and foot type robot |
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 |