KR102286656B1 - Method of modifying path using around map and robot implementing thereof - Google Patents

Method of modifying path using around map and robot implementing thereof Download PDF

Info

Publication number
KR102286656B1
KR102286656B1 KR1020170033383A KR20170033383A KR102286656B1 KR 102286656 B1 KR102286656 B1 KR 102286656B1 KR 1020170033383 A KR1020170033383 A KR 1020170033383A KR 20170033383 A KR20170033383 A KR 20170033383A KR 102286656 B1 KR102286656 B1 KR 102286656B1
Authority
KR
South Korea
Prior art keywords
robot
area
map
path
objects
Prior art date
Application number
KR1020170033383A
Other languages
Korean (ko)
Other versions
KR20180105984A (en
Inventor
이창현
심미영
최지은
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020170033383A priority Critical patent/KR102286656B1/en
Publication of KR20180105984A publication Critical patent/KR20180105984A/en
Application granted granted Critical
Publication of KR102286656B1 publication Critical patent/KR102286656B1/en

Links

Images

Classifications

    • 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
    • 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
    • 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

Landscapes

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

Abstract

본 발명은 어라운드 맵을 이용하여 경로를 수정하는 방법 및 이를 구현하는 로봇에 관한 기술로, 본 발명의 일 실시예에 의한 어라운드 맵을 이용하여 경로를 변경하는 방법은 로봇의 제어부가 맵 저장부에 저장한 토탈 맵에 기반하여 메인 경로를 생성하고 메인 경로에 따라 로봇을 주행시키는 단계, 로봇의 센싱모듈은 토탈 맵에 대응하는 영역 보다 작은 크기의 제1영역에 배치된 객체들의 위치를 센싱하며, 제어부는 객체들의 위치를 저장하는 제1어라운드 맵을 생성하는 단계, 제어부는 제1어라운드 맵과 토탈 맵을 비교하여 이동 객체를 식별하고 제1영역 또는 제1영역과 일부 또는 전부가 중첩하는 장애물 영역을 설정하는 단계, 제어부는 장애물 영역의 유지 기간에 따라 메인 경로와 상이한 로컬 경로를 생성하여 로봇이 로컬 경로에 따라 이동하도록 로봇의 이동부를 제어하는 단계를 포함한다. The present invention relates to a method for modifying a route using an around map and a technology for a robot implementing the same. In the method for changing a route using an around map according to an embodiment of the present invention, the controller of the robot is Creating a main path based on the stored total map and driving the robot according to the main path, the sensing module of the robot senses the positions of objects disposed in the first area having a size smaller than the area corresponding to the total map, The control unit generates a first around map for storing the positions of the objects, the control unit compares the first around map with the total map to identify the moving object, and the first area or an obstacle area partially or all overlapping with the first area setting, the control unit generating a local path different from the main path according to the maintenance period of the obstacle area, and controlling the moving unit of the robot so that the robot moves according to the local path.

Description

어라운드 맵을 이용하여 경로를 변경하는 방법 및 이를 구현하는 로봇{METHOD OF MODIFYING PATH USING AROUND MAP AND ROBOT IMPLEMENTING THEREOF}A method of changing a route using an around map and a robot implementing it

본 발명은 어라운드 맵을 이용하여 경로를 수정하는 방법 및 이를 구현하는 로봇에 관한 기술이다.The present invention relates to a method for correcting a path using an around map and a technology for a robot implementing the same.

공항, 학교, 관공서, 호텔, 사무실, 공장 등 인적, 물적 교류가 활발하게 발생하는 공간에서 로봇이 동작하기 위해서는 전체 공간에 대한 맵을 가질 경우 주행 경로를 설정하는데 도움이 된다. 또한 전체 공간에서 발생하는 동적 변화를 확인하고 동적 변화에 의한 일시적인 공간의 변화에 로봇이 대응하는 것이 필요하다. 특히, 공항이나 항만, 기차역, 백화점, 호텔, 병원, 놀이동산 등과 같이 다수의 사람들이 이동하는 공간(이하 "대면적 유동인구 공간"이라 한다)에서는 건축물의 구조뿐만 아니라 다양하고 불특정한 객체들의 움직임을 로봇이 파악하는 것이 필요하다.In order for the robot to operate in a space where human and material exchanges actively occur such as airports, schools, government offices, hotels, offices, factories, etc., having a map of the entire space helps to set the driving route. In addition, it is necessary to check the dynamic changes that occur in the entire space and for the robot to respond to temporary space changes caused by dynamic changes. In particular, in spaces where a large number of people move, such as airports, ports, train stations, department stores, hotels, hospitals, amusement parks, etc. It is necessary for the robot to understand

그러나, 전술한 대면적 유동인구 공간에는 항시적으로 사람들이 많이 이용 및 이동하며, 또한 다양한 사물들이 배치되는 상황이 발생한다. 따라서, 로봇이 이를 맵의 고정된 영역과 구별하는 방안이 필요하다. 이러한 문제점을 해결하기 위해, 본 명세서에서는 로봇은 최초로 인식한 공간에 대한 정보와 새로이 인식한 공간에 대한 정보를 조합하여 경로를 산출하는 방안을 제시하고자 한다. However, in the aforementioned large-area floating population space, a lot of people always use and move, and a situation in which various objects are arranged occurs. Therefore, there is a need for a method for the robot to distinguish it from the fixed area of the map. In order to solve this problem, in the present specification, the robot intends to propose a method of calculating a path by combining information on the first recognized space and information on the newly recognized space.

본 명세서에서는 전술한 문제점을 해결하기 위한 것으로, 변화가 빈번한 공간 내에서 로봇이 효율적으로 주행할 수 있도록 어라운드 맵을 생성하여 경로를 재설정하거나 변경하는 방법과 이를 구현하는 로봇을 제공하고자 한다.In this specification, to solve the above-mentioned problems, it is an object of the present specification to provide a method of resetting or changing a route by generating an around map so that the robot can efficiently travel in a space with frequent changes, and a robot implementing the same.

또한, 본 명세서에서는 유동 인구들과 사물들이 특정 영역에 지속하여 배치될 경우, 해당 영역을 장애물 영역으로 판단하여 이 영역을 이동하는 과정에서 발생하는 로봇의 주행 속도 저하 혹은 기능 효율을 떨어뜨리는 문제를 해결하고, 장애물들을 회피하여 이동할 수 있는 새로운 경로를 생성하여 로봇이 효과적으로 주행할 수 있도록 하는 방법과 이를 구현하는 로봇을 제공하고자 한다. In addition, in the present specification, when floating populations and objects are continuously arranged in a specific area, the problem of lowering the running speed or functional efficiency of the robot that occurs in the process of moving the area by determining the area as an obstacle area is solved. The purpose of this study is to provide a method for effectively driving a robot by creating a new path to move by avoiding obstacles, and a robot that implements it.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention not mentioned may be understood by the following description, and will be more clearly understood by the examples of the present invention. Moreover, it will be readily apparent that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.

본 발명의 일 실시예에 의한 어라운드 맵을 이용하여 경로를 변경하는 방법은 로봇의 제어부가 맵 저장부에 저장한 토탈 맵에 기반하여 메인 경로를 생성하고 메인 경로에 따라 로봇을 주행시키는 단계, 로봇의 센싱모듈은 토탈 맵에 대응하는 영역 보다 작은 크기의 제1영역에 배치된 객체들의 위치를 센싱하며, 제어부는 객체들의 위치를 저장하는 제1어라운드 맵을 생성하는 단계, 제어부는 제1어라운드 맵과 토탈 맵을 비교하여 이동 객체를 식별하고 제1영역 또는 제1영역과 일부 또는 전부가 중첩하는 장애물 영역을 설정하는 단계, 제어부는 장애물 영역의 유지 기간에 따라 메인 경로와 상이한 로컬 경로를 생성하여 로봇이 로컬 경로에 따라 이동하도록 로봇의 이동부를 제어하는 단계를 포함한다. A method of changing a path using an around map according to an embodiment of the present invention includes the steps of: generating a main path by the control unit of the robot based on the total map stored in the map storage unit and driving the robot according to the main path; The sensing module of the sensing module senses the positions of the objects arranged in the first area having a size smaller than the area corresponding to the total map, the control unit generating a first around map storing the positions of the objects, the control unit is the first around map and the total map to identify the moving object and set the first area or an obstacle area partially or entirely overlapping with the first area. and controlling a moving part of the robot so that the robot moves according to a local path.

본 발명의 다른 실시예에 의한 어라운드 맵을 이용하여 경로를 변경하는 로봇은 로봇의 이동을 제어하는 이동부, 로봇이 이동하는 전체 공간에 대한 토탈 맵 및 토탈 맵에 대응하는 영역 보다 작은 크기의 제1영역에 배치된 객체들의 위치를 저장하는 어라운드 맵을 저장하는 맵 저장부, 로봇의 외부에 배치된 객체를 센싱하는 센싱모듈, 및 이동부, 맵 저장부, 센싱모듈을 제어하며, 토탈 맵과 어라운드 맵을 참조하여 메인 경로 및 로컬 경로를 생성하고, 제1어라운드 맵과 토탈 맵을 비교하여 이동 객체를 식별하여 제1영역 또는 제1영역과 일부 또는 전부가 중첩하는 장애물 영역을 설정하며, 장애물 영역의 유지 기간에 따라 메인 경로와 상이한 로컬 경로를 생성하여 로봇이 로컬 경로에 따라 이동하도록 로봇의 이동부를 제어하는 제어부를 포함한다. A robot that changes a path using an around map according to another embodiment of the present invention is a moving unit that controls the movement of the robot, a total map for the entire space in which the robot moves, and an area corresponding to the total map. A map storage unit that stores an around map that stores the positions of objects disposed in area 1, a sensing module that senses an object disposed outside of the robot, and a moving unit, a map storage unit, and a sensing module that control the total map and A main route and a local route are generated by referring to the around map, and a moving object is identified by comparing the first around map and the total map to set a first area or an obstacle area partially or entirely overlapping with the first area, and a controller for controlling the moving part of the robot so that a local path different from the main path is generated according to the maintenance period of the area so that the robot moves according to the local path.

본 발명의 실시예들을 적용할 경우, 센서를 이용하여 어라운드 맵을 작성하여 이를 토탈 맵과 비교하여 장애물을 구별하고 이들 장애물의 분포에 따라 경로를 유지하거나 혹은 수정할 수 있으므로, 로봇이 실시간 공간의 상황에 따라 최단시간 혹은 최고의 기능 수행을 가능하게 하는 주행 경로를 생성하고 이에 따라 주행할 수 있다. When the embodiments of the present invention are applied, an around map is created using a sensor, an obstacle is distinguished by comparing it with a total map, and a path can be maintained or modified according to the distribution of these obstacles, so that the robot can perform real-time spatial situation According to this, it is possible to create a driving route that enables the shortest or best performance of the function and drive accordingly.

또한, 본 발명의 실시예들을 적용할 경우, 변화가 빈번한 공간 내에서 로봇은 전체 공간에 대한 메인 경로와 일부 영역에서 장애물에 대응하기 위한 로컬 경로를 실시간으로 생성할 수 있으며, 이에 따라 효율적으로 주행할 수 있다.In addition, when the embodiments of the present invention are applied, in a space with frequent changes, the robot can generate a main route for the entire space and a local route for responding to obstacles in some areas in real time, thereby efficiently driving can do.

뿐만 아니라, 본 발명의 실시예들을 적용할 경우 유동 인구들과 사물들이 특정 영역에 지속하여 배치될 경우 로봇이 해당 영역으로 무리하게 진입하여 로봇의 주행 속도 및 기능 발현 효율을 낮추는 것을 피할 수 있으며, 장애물들을 효과적으로 회피하여 이동할 수 있는 새로운 경로를 생성하여 로봇이 주행할 수 있다. In addition, when applying the embodiments of the present invention, when floating populations and objects are continuously arranged in a specific area, it is possible to avoid the robot from forcibly entering the corresponding area and lowering the running speed and function expression efficiency of the robot, By effectively avoiding obstacles and creating a new path to move, the robot can travel.

본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다. The effects of the present invention are not limited to the above-described effects, and those skilled in the art can easily derive various effects of the present invention from the configuration of the present invention.

도 1은 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다.
도 2 및 도 3은 본 발명의 일 실시예에 의한 토탈 맵의 구성을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 어라운드 맵을 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 의한 도 4의 어라운드 맵에 기반하여 로컬 경로를 생성한 도면이다.
도 6은 본 발명이 일 실시예에 의한 장애물 영역(221)에 대한 판단에 기반하여 생성한 로컬 경로를 보여주는 도면이다.
도 7은 본 발명의 다른 실시예에 의한 장애물 영역(221)에 대한 판단에 기반하여 생성한 로컬 경로를 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 의한 대규모 유동 인구가 이동하는 공간에서 로봇이 특정한 기능을 수행하는 과정을 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 의한 로봇의 주행 과정을 보여주는 도면이다.
도 10은 본 발명의 일 실싱예에 의한 경로를 설정하고 저장하는 도면이다.
도 11은 본 발명의 일 실시예에 의한 어라운드 맵과 토탈 맵을 비교하는 도면이다.
도 12는 본 발명의 일 실시예에 의한 장애물 영역을 설정하는 도면이다.
도 13은 본 발명의 일 실시예에 의한 로봇이 장애물 영역이 유지되는 기간을 확인하는 과정을 보여주는 도면이다.
도 14는 본 발명의 일 실시예에 의한 미기능 영역으로 로봇이 회귀하여 기능을 수행하는 경로를 보여주는 도면이다.
도 15는 본 발명의 일 실시예에 의한 장애물 영역 저장부의 구성을 보여주는 도면이다.
도 16은 본 발명의 일 실시예에 의한 토탈 맵에 미기능 영역과 기능 수행 영역을 구분하여 표시한 도면이다.
1 is a diagram showing the configuration of a robot according to an embodiment of the present invention.
2 and 3 are diagrams showing the configuration of a total map according to an embodiment of the present invention.
4 is a view showing an around map according to an embodiment of the present invention.
5 is a diagram in which a local path is generated based on the around map of FIG. 4 according to an embodiment of the present invention.
6 is a diagram illustrating a local path generated based on the determination of the obstacle area 221 according to an embodiment of the present invention.
7 is a view showing a local path generated based on the determination of the obstacle area 221 according to another embodiment of the present invention.
8 is a diagram illustrating a process in which a robot performs a specific function in a space in which a large-scale floating population moves according to an embodiment of the present invention.
9 is a view showing a running process of a robot according to an embodiment of the present invention.
10 is a diagram for setting and storing a path according to an embodiment of the present invention.
11 is a diagram comparing an around map and a total map according to an embodiment of the present invention.
12 is a diagram for setting an obstacle area according to an embodiment of the present invention.
13 is a view showing a process in which the robot according to an embodiment of the present invention confirms the period during which the obstacle area is maintained.
14 is a diagram illustrating a path through which a robot returns to a non-functional area and performs a function according to an embodiment of the present invention.
15 is a diagram showing the configuration of an obstacle area storage unit according to an embodiment of the present invention.
16 is a diagram showing a non-functional area and a functional performing area separately on the total map according to an embodiment of the present invention.

이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.Hereinafter, with reference to the drawings, embodiments of the present invention will be described in detail so that those of ordinary skill in the art to which the present invention pertains can easily implement them. The present invention may be embodied in many different forms and is not limited to the embodiments described herein.

본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.In order to clearly explain the present invention, parts irrelevant to the description are omitted, and the same reference numerals are given to the same or similar elements throughout the specification. Further, some embodiments of the present invention will be described in detail with reference to exemplary drawings. In adding reference numerals to components of each drawing, the same components may have the same reference numerals as much as possible even though they are indicated in different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description may be omitted.

본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In describing the components of the present invention, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the elements from other elements, and the essence, order, order, or number of the elements are not limited by the terms. When it is described that a component is “connected”, “coupled” or “connected” to another component, the component may be directly connected or connected to the other component, but other components may be interposed between each component. It will be understood that each component may be “interposed” or “connected”, “coupled” or “connected” through another component.

또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.In addition, in implementing the present invention, components may be subdivided for convenience of description, but these components may be implemented in one device or module, or one component may include a plurality of devices or modules. It may be implemented by being divided into .

이하, 본 명세서에서 로봇은 특정한 목적(청소, 보안, 모니터링, 안내 등)을 가지거나 혹은 로봇이 이동하는 공간의 특성에 따른 기능을 제공하며 이동하는 장치를 포함한다. 따라서, 본 명세서에서의 로봇은 소정의 정보와 센서를 이용하여 이동할 수 있는 이동수단을 보유하며 소정의 기능을 제공하는 장치를 통칭한다.Hereinafter, in the present specification, a robot includes a device that moves while having a specific purpose (cleaning, security, monitoring, guidance, etc.) or providing a function according to the characteristics of the space in which the robot moves. Accordingly, a robot in the present specification refers to a device that has a moving means that can move using predetermined information and a sensor and provides a predetermined function.

본 명세서에서 로봇은 맵을 보유하면서 이동할 수 있다. 맵은 두 종류로 분류될 수 있다. 먼저, 공간에서 이동하지 않는 것으로 확인된 고정된 벽, 계단 등에 대한 정보가 저장되며 로봇이 주행하는 전체 공간에 대한 정보가 저장되는 맵을 토탈 맵(Total Map)이라고 한다. 한편, 전체 공간 중 일부 공간의 객체들의 정보 혹은 이들에서 로봇이 수행한 기능 등에 대한 정보가 저장되는 맵을 어라운드 맵(Around Map)이라고 한다. In this specification, the robot can move while holding the map. Maps can be classified into two types. First, a map in which information about fixed walls, stairs, etc. that are confirmed not to move in space is stored and information about the entire space in which the robot travels is called a total map. On the other hand, a map in which information on objects in some space of the entire space or information on functions performed by the robot in them is stored is called an around map.

토탈 맵은 로봇이 보유하고 있는 다양한 센싱부들을 이용하여 저장할 수 있다. 또한, 토탈 맵은 로봇의 센싱부들 외에 해당 공간의 설계도를 변환하여 저장할 수 있다. 전체 공간에서 고정된 객체들은 일정한 고정성을 가지므로 쉽게 제거되거나 새로이 배치되지는 않는다. 그러나 이들 고정된 객체들 역시 변경될 수 있으므로, 이러한 변경 사항을 어라운드 맵을 통하여 확인할 수 있다.The total map can be stored using various sensing units possessed by the robot. In addition, the total map may be stored by converting the design of the space in addition to the sensing units of the robot. Objects that are fixed in the entire space are not easily removed or re-arranged because they have a certain fixedness. However, since these fixed objects can also be changed, these changes can be confirmed through the around map.

로봇은 토탈 맵을 이용하여 전체 공간의 주행 경로(메인 경로)를 설정할 수 있다. 만약, 로봇이 주행해야 하는 공간에서 토탈 맵에 배치된 고정 객체들만 배치된 경우에는 로봇은 메인 경로의 변경 없이 동일하게 이동할 수 있다. The robot can set the travel route (main route) of the entire space using the total map. If only fixed objects arranged on the total map are arranged in the space where the robot needs to travel, the robot can move in the same way without changing the main path.

그러나 이러한 메인 경로는 실제 로봇이 이동하는 과정에서 만나게 되는 다양한 이동 객체들의 배치 혹은 고정 객체들의 변동 상황에 따라 수정이 필요한 경우가 발생한다. 따라서, 이하 본 명세서에서는 로봇의 다양한 센싱부들을 이용하여 현재 공간의 고정 객체와 이동 객체들을 판별하여 어라운드 맵을 생성하고, 이를 토탈 맵과 비교하여 이동 객체들이 공간 내에 배치된 상황을 파악하고, 로봇이 이전에 설정하였던 주행 경로를 변경할 수 있도록 한다. However, such a main path may need to be modified depending on the arrangement of various moving objects or the change of fixed objects encountered in the course of the actual robot movement. Therefore, in the present specification, a fixed object and a moving object in the current space are determined by using various sensing units of the robot to generate an around map, and this is compared with the total map to determine the situation in which the moving objects are arranged in the space, and the robot This allows the previously set driving route to be changed.

도 1은 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다. 로봇(1000)은 외부에 배치되는 이동 객체 혹은 고정 객체를 센싱하는 센싱모듈(100), 맵을 저장하는 맵 저장부(200), 로봇의 이동을 제어하는 이동부(300), 로봇의 소정의 기능을 수행하는 기능부(400), 다른 로봇과 맵 또는 이동 객체, 고정 객체에 관한 정보 또는 맵 정보를 송수신하는 통신부(500), 그리고 이들 각각의 구성요소들을 제어하는 제어부(900)를 포함한다. 1 is a diagram showing the configuration of a robot according to an embodiment of the present invention. The robot 1000 includes a sensing module 100 for sensing a moving object or a fixed object disposed outside, a map storage unit 200 for storing a map, a moving unit 300 for controlling the movement of the robot, and a predetermined value of the robot. It includes a function unit 400 that performs a function, a communication unit 500 that transmits and receives information or map information about a map or a moving object with another robot, a fixed object, and a control unit 900 that controls each of these components .

도 1에서는 로봇의 구성을 계층적으로 구성하고 있으나, 이는 로봇의 구성요소들을 논리적으로 나타낸 것에 의해서이며, 물리적 구성은 이와 다를 수 있다. 하나의 물리적 구성요소에 다수의 논리적 구성요소가 포함되거나, 다수의 물리적 구성요소가 하나의 논리적 구성요소를 구현할 수 있다.Although the configuration of the robot is hierarchically configured in FIG. 1, this is by logically representing the components of the robot, and the physical configuration may be different from this. A plurality of logical components may be included in one physical component, or a plurality of physical components may implement one logical component.

센싱모듈(100)는 외부의 객체들을 센싱하여 센싱한 정보를 제어부(900)에게 제공한다. 일 실시예로 센싱모듈(100)는 로봇의 현재 위치에서 벽, 유리, 금속성 문 등 외부 객체들의 재질과 거리를 신호의 강도(intensity)와 반사된 시간(속도)로 산출하는 라이다(Lidar) 센싱부(110)를 포함할 수 있다. 또한, 센싱모듈(100)는 로봇(1000)으로부터 일정 거리 내에 배치된 객체들의 뎁스 정보를 산출하는 뎁스 센싱부(120)를 포함할 수 있다. The sensing module 100 senses external objects and provides sensed information to the controller 900 . In one embodiment, the sensing module 100 is a lidar that calculates the material and distance of external objects such as walls, glass, and metallic doors from the current position of the robot as the intensity of the signal and the reflected time (speed). It may include a sensing unit 110 . Also, the sensing module 100 may include a depth sensing unit 120 that calculates depth information of objects disposed within a predetermined distance from the robot 1000 .

한편, 센싱모듈(100)는 로봇(1000)으로부터 일정 거리 내에 배치된 사물의 온도, 특히 사람들의 체온을 감지하는 적외선 센싱부(130)를 포함할 수 있다. 적외선 센싱부(130)는 이동 객체들을 센싱하는 과정에서 이동 객체가 사람인지 여부를 확인하는 주요한 정보를 제공한다. Meanwhile, the sensing module 100 may include an infrared sensing unit 130 that senses the temperature of an object disposed within a predetermined distance from the robot 1000 , in particular, the body temperature of people. The infrared sensing unit 130 provides main information for confirming whether the moving object is a person in the process of sensing the moving object.

뿐만 아니라, 센싱모듈(100)는 전술한 센싱부들 외에 다수의 보조 센싱부들(141, ..., 149)을 포함할 수 있다. 일 실시예로 초음파 센싱부, 비전 센싱부 또는 열감지 센싱부 등이 이들 보조 센싱부들의 실시예가 될 수 있으며, 이들은 전술한 토탈 맵과 어라운드 맵을 생성하는데 있어 외부 객체를 센싱하는데 필요한 보조적인 정보를 제공한다. 또한, 이들 보조 센싱부들 역시 로봇이 주행함에 있어 외부에 배치되는 객체를 센싱하여 정보를 제공한다. In addition, the sensing module 100 may include a plurality of auxiliary sensing units 141, ..., 149 in addition to the above-described sensing units. In an embodiment, an ultrasonic sensing unit, a vision sensing unit, or a thermal sensing unit may be an embodiment of these auxiliary sensing units, and these are auxiliary information necessary for sensing an external object in generating the above-described total map and around map. provides In addition, these auxiliary sensing units also provide information by sensing an object disposed outside when the robot travels.

센싱 데이터 분석부(150)는 다수의 센싱부들이 센싱한 정보들을 분석하여 이를 제어부(900)에게 전달한다. 예를 들어 외부에 객체가 감지되었는데, 해당 객체의 특성과 거리를 둘 이상의 센싱부가 센싱한 값을 조합하여 산출하고 이를 제어부(900)에게 전달할 수 있다. The sensing data analysis unit 150 analyzes information sensed by a plurality of sensing units and transmits it to the control unit 900 . For example, when an external object is detected, the characteristic and distance of the object may be calculated by combining values sensed by two or more sensing units and transmitted to the controller 900 .

맵 저장부(200)는 로봇이 이동하는 공간에 배치되는 객체들의 정보를 저장한다. 맵 저장부(200)는 로봇이 이동하는 전체 공간에 배치되는 객체들, 특히 고정 객체들과 고정성이 높은 이동 객체들의 정보를 저장하는 토탈 맵(210)과, 로봇이 이동하는 과정에서 주변의 공간에 배치되는 객체들의 정보를 저장하는 어라운드 맵(220), 그리고 토탈 맵(210)과 어라운드 맵(220) 사이에서 차이가 발생하여 토탈 맵(210)에 이동 객체들이 군집하여 배치되며 일정 기간 이상 이동 객체들이 유지되는 것으로 확인되는 장애물 영역의 정보가 저장되는 장애물 영역 저장부(230)를 포함한다. The map storage unit 200 stores information on objects arranged in a space in which the robot moves. The map storage unit 200 includes a total map 210 that stores information on objects arranged in the entire space in which the robot moves, particularly fixed objects and highly fixed moving objects, and A difference occurs between the around map 220 that stores information of objects arranged in space, and the total map 210 and the around map 220, so that the moving objects are clustered and arranged in the total map 210 for a certain period of time or longer. and an obstacle area storage unit 230 in which information on an obstacle area in which moving objects are confirmed to be maintained is stored.

전술한 고정성이 높은 이동 객체들은 누적하여 저장된 어라운드 맵(220)을 제어부(900)가 분석하여 오랜 기간동안, 예를 들어 하루 혹은 일주일 정도 특정 공간에 지속하여 배치된 이동 객체는 고정성이 높은 것으로 할 수 있다. 이 경우 제어부(900)는 일정한 간격을 두고 누적된 어라운드 맵(220)을 분석하여 토탈 맵(210)을 업데이트할 수 있다. 물론, 이러한 맵 정보들은 로봇(1000)이 통신부(500)를 통하여 다른 서버 혹은 다른 로봇들로부터 수신하거나 혹은 이들 서버 및 다른 로봇들에게 전송할 수 있으며, 제어부(900)는 송수신된 맵 정보와 저장된 맵을 비교하여 업데이트할 수 있다. The above-mentioned moving objects with high fixedness are accumulated and stored around map 220 by the control unit 900, and the moving objects continuously arranged in a specific space for a long period of time, for example, for a day or a week, have high fixedness. can be done as In this case, the controller 900 may update the total map 210 by analyzing the around maps 220 accumulated at regular intervals. Of course, such map information may be received by the robot 1000 from another server or other robots through the communication unit 500 or may be transmitted to these servers and other robots, and the controller 900 may transmit and receive map information and a stored map. can be compared and updated.

또한, 맵 저장부(200)는 제어부(900)가 맵 저장부(200)에 저장된 다양한 정보들에 토대를 두어 생성한 경로를 저장하는 경로 저장부(240)를 포함한다. 정리하면, 맵 저장부(200)는 로봇이 이동하는 전체 공간에 대한 토탈 맵(210) 및 토탈 맵(210)에 대응하는 영역 보다 작은 크기의 영역에 배치된 객체들의 위치를 저장하는 어라운드 맵(220)을 저장한다. In addition, the map storage unit 200 includes a path storage unit 240 that stores a path generated by the control unit 900 based on various pieces of information stored in the map storage unit 200 . In summary, the map storage unit 200 stores the total map 210 for the entire space in which the robot moves and the around map ( 220) is stored.

어라운드 맵(220)은 다양한 위치 및 센싱한 시간에 따라 중첩하여 다수개가 저장될 수 있다. 맵 저장부(200)는 위치 및 시점에 따라 다수의 어라운드 맵(220)을 저장할 수 있다. 맵 저장부(200)를 구성하는 토탈 맵(210) 및 어라운드 맵(220), 장애물 영역 저장부(230)및 경로 저장부(240)의 세부적인 실시예에 대해서는 후술한다. A plurality of the around maps 220 may be stored in an overlapping manner according to various locations and sensed times. The map storage unit 200 may store a plurality of around maps 220 according to locations and viewpoints. Detailed embodiments of the total map 210 and the around map 220, the obstacle area storage 230, and the path storage 240 constituting the map storage unit 200 will be described later.

이동부(300)는 바퀴와 같이 로봇(1000)을 이동시키는 수단으로, 제어부(900)의 제어에 따라 로봇(1000)을 이동시킨다. 이때, 제어부(900)는 맵 저장부(200)에 저장된 영역에서 로봇(1000)의 현재 위치를 확인하여 이동부(300)에 이동 신호를 제공할 수 있다. 제어부(900)는 경로 저장부(240)에 저장된 경로에 따라 로봇을 이동시킬 수 있으며, 제어부(900)가 로봇을 제어하는 것은 모두 유선으로 연결된 전기적 신호를 이용하거나 또는 무선 신호를 이용한다. 이동부(300)의 특성에 따라 제어부(900)는 메인 경로 및 로컬 경로를 생성할 수 있다. The moving unit 300 is a means for moving the robot 1000 like a wheel, and moves the robot 1000 under the control of the controller 900 . In this case, the control unit 900 may provide a movement signal to the moving unit 300 by checking the current position of the robot 1000 in the area stored in the map storage unit 200 . The control unit 900 may move the robot according to the path stored in the path storage unit 240 , and all of the control unit 900 controls the robot using a wired electrical signal or a wireless signal. According to the characteristics of the moving unit 300 , the controller 900 may generate a main path and a local path.

예를 들어, 이동부(300)가 로봇을 회전시키는데 소요되는 시간 혹은 로봇을 회전시키기 위해 감속해야 하는 속도가 클 경우 제어부(900)는 경로를 구성함에 있어서 로봇의 회전 횟수를 줄이는 경로를 생성할 수 있다. 또한 제어부(900)는 속도를 크게 떨어뜨리지 않도록 회전 각도를 구성할 수 있다. 예를 들어, 장애물들을 회피하기 위한 단거리 경로는 직각 혹은 180도 회전이지만, 이러한 회전에 시간이 많이 들 경우 오히려 장애물 인접한 영역까지 장애물 영역으로 지정하고 로봇이 보다 빠른 속도로 이동할 수 있도록 로컬 경로를 생성할 수 있다. For example, when the time required for the moving unit 300 to rotate the robot or the speed required to decelerate to rotate the robot is large, the controller 900 generates a path that reduces the number of rotations of the robot in configuring the path. can In addition, the control unit 900 may configure the rotation angle so as not to significantly decrease the speed. For example, a short-distance path to avoid obstacles is a right angle or 180-degree rotation, but if this rotation takes a lot of time, rather it designates an obstacle area up to the area adjacent to the obstacle and creates a local path so that the robot can move at a faster speed can do.

기능부(400)는 로봇의 특화된 기능을 제공하는 것을 의미한다. 예를 들어, 청소 로봇인 경우 기능부(400)는 청소에 필요한 구성요소를 포함한다. 안내 로봇인 경우 기능부(400)는 안내에 필요한 구성요소를 포함한다. 보안 로봇인 경우 기능부(400)는 보안에 필요한 구성요소를 포함한다. 기능부(400)는 로봇이 제공하는 기능에 따라 다양한 구성요소를 포함할 수 있으며, 본 발명이 이에 한정되는 것은 아니다.The function unit 400 means providing a specialized function of the robot. For example, in the case of a cleaning robot, the functional unit 400 includes components necessary for cleaning. In the case of a guide robot, the functional unit 400 includes components necessary for guidance. In the case of a security robot, the functional unit 400 includes components necessary for security. The function unit 400 may include various components according to functions provided by the robot, but the present invention is not limited thereto.

로봇(1000)의 제어부(900)는 경로 상에 배치되는 다양한 객체들의 특성에 따라 기능부(400)의 동작을 제어할 수 있다. 예를 들어, 경로 상에서 고정 객체들만 배치된 것으로 확인된 경우 주변에 사람이 없으므로 보다 높은 소음으로 더 빠르게 기능하도록 기능부(400)를 제어할 수 있다. 반대로, 사람들이 로봇(1000)의 주변에 다수 존재하는 것으로 센싱모듈(100)가 감지한 경우, 보다 작은 소음으로 더 천천히 기능하도록 기능부(400)를 제어할 수 있다. The controller 900 of the robot 1000 may control the operation of the functional unit 400 according to characteristics of various objects disposed on a path. For example, when it is confirmed that only fixed objects are arranged on the path, since there are no people around, the function unit 400 may be controlled to function faster with higher noise. Conversely, when the sensing module 100 detects that a large number of people exist in the vicinity of the robot 1000 , the function unit 400 may be controlled to function more slowly with less noise.

특히 청소나 안내 기능을 제공할 경우 로봇은 외부에 사람이 존재하는지 여부, 혹은 고정 객체만 배치된 경우 등에 따라 다양하게 각각의 세부 기능을 조절하여 운용할 수 있으며, 이 과정에서 제어부(900)는 센싱모듈(100)에서 센싱한 정보 및 맵 저장부(200)에 저장된 주변에 대한 정보를 참조할 수 있다. In particular, when a cleaning or guidance function is provided, the robot can variously control and operate each detailed function depending on whether a person exists outside or when only a fixed object is placed, and in this process, the control unit 900 Information sensed by the sensing module 100 and information about the surroundings stored in the map storage unit 200 may be referred to.

보다 상세히, 제어부(900)는 토탈 맵(210)과 어라운드 맵(220)을 참조하여 메인 경로 및 로컬 경로를 생성할 수 있다. 특히, 제어부(900)는 어라운드 맵(220)과 토탈 맵(210)을 비교하여 이동 객체를 식별하여 어라운드 맵(220)에 대응하는 제1영역 또는 제1영역과 일부 또는 전부가 중첩하는 장애물 영역을 설정할 수 있다.In more detail, the controller 900 may generate a main route and a local route with reference to the total map 210 and the around map 220 . In particular, the control unit 900 compares the around map 220 with the total map 210 to identify a moving object, and identifies a first area corresponding to the around map 220 or an obstacle area partially overlapping with the first area or the first area. can be set.

또한, 제어부(900)는 장애물 영역의 유지 기간에 따라 메인 경로와 상이한 로컬 경로를 생성하여 로봇이 로컬 경로에 따라 이동하도록 로봇의 이동부(300)를 제어할 수 있다. Also, the controller 900 may control the moving unit 300 of the robot to move according to the local path by generating a local path different from the main path according to the maintenance period of the obstacle area.

도 2 및 도 3은 본 발명의 일 실시예에 의한 토탈 맵의 구성을 보여주는 도면이다. 토탈 맵은 전술한 바와 같이 고정 객체 또는 고정성이 매우 높은 객체들의 위치 및 부가적인 정보를 포함한다. 도 2 및 도 3의 토탈 맵의 실시예들인 210a 및 210b는 로봇이 주행하는 공간 전체를 총 20x20의 셀로 구획하여 각 셀에 배치되는 객체의 유무 혹은 객체의 특성을 저장한다. 이를 통해 전체 공간에서 어느 위치에 객체가 배치되는지를 확인할 수 있다. 각 셀은 (X축-하단에 배치된 숫자, Y축-좌측에 배치된 숫자)로 대응하여 지시될 수 있다. 예를 들어, 좌하단의 셀을 (0, 0)으로, 우상단의 셀을 (19, 19)로 지시할 수 있다. 2 and 3 are diagrams showing the configuration of a total map according to an embodiment of the present invention. As described above, the total map includes locations and additional information of fixed objects or highly fixed objects. Examples 210a and 210b of the total map of FIGS. 2 and 3 divide the entire space in which the robot travels into cells of a total size of 20x20 and store the presence or absence of an object disposed in each cell or the characteristics of the object. Through this, it is possible to check where the object is placed in the entire space. Each cell may be indicated correspondingly by (X-axis-a number arranged at the bottom, Y-axis-a number arranged on the left side). For example, the lower left cell may be indicated as (0, 0), and the upper right cell may be indicated as (19, 19).

210a의 경우 고정 객체가 배치되었는지를 온/오프와 같이 이진(binary) 정보로 표시한다. 객체가 배치된 경우 검은 색으로 셀이 표시되어 있으며, 객체가 배치되지 않은 셀은 흰 셀로 되어 있다. 210a에서 전체 공간에 벽과 기둥이 배치되어 있음을 확인할 수 있다.In the case of 210a, whether a fixed object is arranged is displayed as binary information such as on/off. Cells in which objects are placed are displayed in black, and cells in which no objects are placed are displayed in white cells. In 210a, it can be seen that walls and columns are arranged in the entire space.

210b의 경우 객체가 특정 위치에 배치되는 정보와 더불어 객체의 특성도 함께 저장되어 도 3에 도시된 바와 같이 표시된다. 객체는 특성에 따라 숫자로 나뉘어질 수 있다. 예를 들어 도 3에서 "9"로 표시된 것은 콘크리트와 같은 강성 재질의 객체가 배치되는 것을 의미한다. "7"의 경우에는 유리와 같은 재질의 객체가 배치되는 것을 의미한다. "5"의 경우는 금속 재질의 객체가 배치되는 것을 의미한다. 후술하지만 "1" 또는 "3"은 이동 객체를 지시하도록 구성할 수 있다.In the case of 210b, the properties of the object are stored together with information on which the object is disposed at a specific location and displayed as shown in FIG. 3 . Objects can be divided into numbers according to their characteristics. For example, "9" in FIG. 3 means that an object made of a rigid material such as concrete is disposed. In the case of "7", it means that an object made of a material such as glass is disposed. In the case of “5”, it means that a metal object is disposed. As will be described later, “1” or “3” may be configured to indicate a moving object.

이들 객체들의 재질 및 위치는 전술한 도 1의 라이다 센싱부(110) 또는 뎁스 센싱부(120)들 중 어느 하나 이상에서 센싱된 정보들을 조합하여 생성될 수 있다. 예를 들어, 라이다 센싱부(110)가 송신한 레이저 신호가 다시 라이다 센싱부(110)로 수신된 경우, 수신된 신호의 강도 및 반사된 시간 정보를 이용하여 객체의 재질과 객체의 거리를 산출할 수 있다. 또한, 뎁스 센싱부(120)를 이용하여 라이다 센싱부(110)에서 송신한 신호가 반사 또는 투과하는 경우에도 해당 위치에 배치되는 객체와의 거리를 산출할 수 있다. The materials and positions of these objects may be generated by combining information sensed by any one or more of the lidar sensing unit 110 and the depth sensing unit 120 of FIG. 1 described above. For example, when the laser signal transmitted by the lidar sensing unit 110 is received by the lidar sensing unit 110 again, the distance between the object material and the object using the intensity of the received signal and reflected time information can be calculated. In addition, even when the signal transmitted from the lidar sensing unit 110 is reflected or transmitted using the depth sensing unit 120 , the distance to the object disposed at the corresponding position may be calculated.

또한, 로봇이 도 2 또는 도 3의 공간을 주행하며 지도를 작성하며 위치를 인식할 수 있는데, 이를 SLAM(Simultaneous localization and mapping)이라고 한다. SLAM 과정을 통하여 본 발명의 실시예에 의한 로봇은 전체 공간에 대한 토탈 맵을 작성하고, 작성한 후 이에 대한 업데이트를 수행할 수 있다. In addition, the robot can create a map while traveling in the space of FIG. 2 or 3 and recognize a location, which is called SLAM (Simultaneous localization and mapping). Through the SLAM process, the robot according to an embodiment of the present invention can create a total map for the entire space, and update it after creating it.

도 2 및 도 3과 같은 토탈 맵은 로봇의 센싱부가 센싱한 결과에 기반하여 작성 및 저장되는 것을 일 실시예로 한다. 또한, 시스템을 운영하는 주체가 다른 포맷에 기반하여 생성된 지도 정보를 변환하여 토탈 맵으로 저장한 것을 다른 실시예로 한다. 이렇게 저장된 토타 맵은 일정한 기준에 따라 업데이트될 수 있다.According to an embodiment, the total map as shown in FIGS. 2 and 3 is created and stored based on a result sensed by the sensing unit of the robot. In another embodiment, the subject operating the system converts map information generated based on a different format and stores the converted map information as a total map. The stored tota map may be updated according to a predetermined criterion.

도 2 또는 도 3과 같은 공간에서 로봇은 대면적의 공간에서 소정의 기능을 수행하게 되는데, 기능을 효율적으로 수행하기 위해서는 경로를 생성하는 것이 필요하다. 전술한 제어부(900)는 토탈 맵에 기반하여 경로를 생성할 수 있다. 그런데, 로봇이 생성된 경로에 따라 이동하는 과정에서 새로운 장애물을 인식할 수 있다. 즉, 맵에 등록되지 않았으나 주행 과정에서 외부에 객체가 배치된 것을 센싱모듈(100)가 센싱할 수 있다. In the space shown in FIG. 2 or FIG. 3, the robot performs a predetermined function in a space of a large area. In order to efficiently perform the function, it is necessary to create a path. The above-described controller 900 may generate a route based on the total map. However, the robot can recognize a new obstacle in the process of moving according to the generated path. That is, the sensing module 100 may sense that the object is not registered on the map but is disposed outside during the driving process.

예를 들어 공항인 경우, 공항이용자들이 이용하고 모아둔 카트, 이동형 차단봉 등 토탈 맵에 등록되어 있지 않은 장애물이 어느 순간에는 센싱되고 어느 순간에는 센싱되지 않는, 즉 객체가 배치되었다가 제거되는 상황이 반복될 수 있다. 마찬가지로 놀이공원에도 이용자들을 위한 안내판, 가이드라인 등이 동적으로 배치될 수 있다. For example, in the case of an airport, obstacles that are not registered in the total map, such as carts and mobile blocking rods used and collected by airport users, are sensed at some point and not sensed at some point, that is, objects are placed and then removed. can be repeated. Similarly, information boards and guidelines for users can be dynamically arranged in amusement parks.

이에, 본 발명의 실시예에 의한 로봇은 특정한 기능(청소, 보안, 안내 등)을 수행하기 전에, 일정하게 구획된 공간 내의 시작 위치에서 일정 시간 정지한 상태에서 뎁스 센싱부(120)와 라이다 센싱부(110)가 센싱한 데이터를 이용하여 고정 객체와 동적 객체들(이동 장애물)을 판단하여 어라운드 맵을 생성하고, 이에 기반하여 경로를 변경하거나 새로이 생성할 수 있다. Therefore, the robot according to the embodiment of the present invention is the depth sensing unit 120 and the lidar in a state of stopping for a predetermined time at the starting position in a predetermined space before performing a specific function (cleaning, security, guidance, etc.) The sensing unit 110 may generate an around map by determining fixed objects and dynamic objects (moving obstacles) using the data sensed, and may change a path or create a new one based thereon.

특히, 라이다 센싱모듈(100)는 그 성능 및 분해능에 따라 30 미터까지 스캐닝이 가능할 수 있으므로, 라이다 센싱모듈(100)가 센싱한 정보는 전체 공간인 토탈 맵에서 경로를 생성하는데 활용할 수 있다. In particular, since the lidar sensing module 100 can scan up to 30 meters according to its performance and resolution, the information sensed by the lidar sensing module 100 can be used to create a path in the total map that is the entire space. .

반면, 뎁스 카메라를 일 실시예로 하는 뎁스 센싱부(120)는 약 8 미터까지 장애물 판단이 가능하기 때문에 로봇 주변의 장애물을 판단하는 어라운드 맵에 객체들의 정보를 반영하여 로봇의 장애물 대응 능력 및 이에 따른 주행 능력을 향상시킬 수 있다.On the other hand, since the depth sensing unit 120 using a depth camera as an embodiment can determine obstacles up to about 8 meters, the information of objects is reflected in the around map for determining obstacles around the robot to determine the robot's ability to cope with obstacles and thus Driving ability can be improved accordingly.

도 2 및 도 3의 토탈 맵에 기반한 로봇의 경로는 경로 저장부(240)에 메인 경로로 저장된다. 이는 토탈 맵에 등록된 고정 객체들을 기준으로 가장 최적화되거나 효율적으로 로봇이 동작할 수 있는 경로를 일 실시예로 한다. 물론, 메인 경로 역시 다수로 생성되어 로봇이 토탈 맵에 기반하여 이동하는 과정에서 특정한 메인 경로를 선택할 수 있다. 또한, 메인 경로는 특정 지점에서 분기하는 경로 정보를 포함할 수 있다. The path of the robot based on the total map of FIGS. 2 and 3 is stored as a main path in the path storage unit 240 . In this case, the path through which the robot can operate most optimally or efficiently based on the fixed objects registered in the total map is taken as an embodiment. Of course, a plurality of main routes are also created, so that a specific main route can be selected in the process of the robot moving based on the total map. Also, the main route may include route information branching at a specific point.

예를 들어, 도 3에서 점선으로 표시한 바와 같이, 로봇이 (19, 1)에서 출발하여 (16, 1)까지는 하나의 메인 경로를 가지며, (16, 1)에서 두 가지로 분기하는 경로 정보를 포함한다. 도시된 바와 같이 (16, 1)에서 (5, 1)로 이동하는 제1메인경로와 (16, 1)에서 (16, 19)로 이동하는 제2메인 경로 두 가지 모두 경로 저장부(240)에 저장될 수 있다.For example, as indicated by a dotted line in FIG. 3, the robot has one main path from (19, 1) to (16, 1), and path information that branches into two at (16, 1). includes As shown, both the first main path moving from (16, 1) to (5, 1) and the second main path moving from (16, 1) to (16, 19) are the path storage unit 240 . can be stored in

제어부(900)는 메인 경로를 생성하는 과정에서 로봇이 회전하면서 발생하는 속도 변화에 의한 이동 속도의 증감을 막기 위한 실시예로 회전 횟수를 줄이는 방안으로 경로를 생성할 수 있다. The control unit 900 may generate a path as a method of reducing the number of rotations as an embodiment to prevent increase or decrease in the moving speed due to a speed change occurring while the robot rotates in the process of generating the main path.

또한, 토탈 맵(210b)에는 반드시 지나가야 하는 지점, 즉 메인 경로에 반드시 포함되어야 하는 지점이 있는데, 예를 들어 (5, 8) 또는 (5, 7)과 같은 지점이다. 이 지점을 통과하지 않으면 다른 영역으로 로봇이 이동할 수 없는 지점이며, 메인 경로는 이러한 지점들을 포함하도록 경로를 구성할 수 있다. 이하, (5, 7) 또는 (5, 8)과 같은 지점을 단절점(articulation point)이라고 한다. Also, in the total map 210b, there is a point that must be passed, that is, a point that must be included in the main route, for example, a point such as (5, 8) or (5, 7). It is a point where the robot cannot move to other areas unless it passes through this point, and the main route can be configured to include these points. Hereinafter, a point such as (5, 7) or (5, 8) is referred to as an articulation point.

정리하면, 로봇은 이전 SLAM 과정 혹은 외부로부터 저장된 토탈 맵을 이용하여 메인 경로를 생성하여 주행할 수 있다. 그리고 토탈 맵이 저장된 상태에서 로봇은 특정한 기능을 수행하기 전에 최초의 지점에서 일정 시간 동안 라이다 센싱부(110) 및 뎁스 센싱부(120)를 이용하여 주변의 객체들을 스캔하여 고정 장애물로 확인된 객체들을 토탈 맵에 새로이 업데이트하고 이에 기반하여 기존에 생성된 메인 경로를 일차적으로 변경하거나, 새로운 메인 경로를 생성할 수 있다. 이후 로봇은 주행하는 과정에서 어라운드 맵을 이용하여 전술한 메인 경로를 변경할 수 있다.In summary, the robot can drive by creating a main route using the previous SLAM process or a total map stored from outside. And in the state in which the total map is stored, the robot scans the surrounding objects using the lidar sensing unit 110 and the depth sensing unit 120 for a predetermined time at the first point before performing a specific function and is identified as a fixed obstacle. Objects are newly updated in the total map, and an existing main route may be primarily changed based on this, or a new main route may be created. Thereafter, the robot may change the above-mentioned main route by using the around map in the process of driving.

도 4는 본 발명의 일 실시예에 의한 어라운드 맵을 보여주는 도면이다. 설명의 편의를 위해 토탈 맵(210b)에서 도 3의 211a에서 지시되는 공간을 확대하여 토탈 맵의 일부로 표시한다. 확대한 토탈 맵(210b)의 일부(211a)에서 로봇이 이동하도록 생성되었던 제1메인 경로가 점선으로 표시되어 있다. 4 is a view showing an around map according to an embodiment of the present invention. For convenience of explanation, the space indicated by 211a of FIG. 3 is enlarged in the total map 210b and displayed as a part of the total map. In the part 211a of the enlarged total map 210b, the first main path generated for the robot to move is indicated by a dotted line.

로봇은 (13, 1)의 위치("R"로 표시)에서 예정된 제1메인 경로(점선)에 따라 이동할 수 있다. 이동 전에 로봇은 (13, 1)의 위치에서 어라운드 맵을 생성한다. 즉, (13, 1)을 시작 지점으로 하고, 일정한 시간 동안 일정한 범위 내에서 라이다 센싱부(110) 및 뎁스 센싱부(120)를 이용하여 주변에 배치되는 객체들을 스캔하여 센싱한다. 스캔하는 동안 고정 객체(고정 장애물)과 이동 객체(이동 장애물)을 판단한다. 어라운드 맵은 토탈 맵보다 작은 범위 내에서 작성될 수 있다. 도 4의 실시예에서는 (9, 0)를 좌하단셀로, (13, 4)를 우상단셀로 하는 5x5 셀 범위 내에서 센싱된 객체들의 정보를 저장할 수 있다. The robot can move along a predetermined first main path (dotted line) at the position (13, 1) (indicated by "R"). Before moving, the robot creates an around map at the position (13, 1). That is, using (13, 1) as a starting point, objects disposed around are scanned and sensed using the lidar sensing unit 110 and the depth sensing unit 120 within a predetermined range for a predetermined time. During the scan, fixed objects (fixed obstacles) and moving objects (moving obstacles) are determined. The around map may be created within a smaller range than the total map. In the embodiment of FIG. 4 , information of sensed objects may be stored within a 5x5 cell range in which (9, 0) is the lower left cell and (13, 4) is the upper right cell.

일 실시예에 의하면 로봇은 센싱된 다수의 외부 객체들을 어라운드 맵(220a)에 "x"로 표시하며 등록한다. 이는 뎁스 센싱부(120)를 이용하여 로봇의 현재 위치에서 센싱된 외부 객체들의 위치를 저장하는 것을 일 실시예로 한다. According to an embodiment, the robot registers a plurality of sensed external objects by displaying "x" on the around map 220a. In this embodiment, the position of external objects sensed from the current position of the robot by using the depth sensing unit 120 is stored.

또한, 다른 실시예로, 로봇은 추가적으로 라이다 센싱부(110)를 이용하여 외부 객체들의 특성까지 반영한 어라운드 맵(220b)을 생성할 수 있다. 예를 들어, "1"과 "3"은 이동 객체의 특성이 상이한 것을 의미한다.Also, in another embodiment, the robot may additionally generate the around map 220b reflecting the characteristics of external objects by using the lidar sensing unit 110 . For example, "1" and "3" mean that the characteristics of the moving object are different.

또다른 실시예로 로봇은 추가적으로 적외선 센싱부(130)를 이용하여 외부 객체들이 사람인지 사물인지를 반영하여 어라운드 맵(220b) 상에 구분하여 표시할 수 있다. "1"을 사람으로, "3"을 사물로 표시할 수 있다.In another embodiment, the robot may additionally use the infrared sensing unit 130 to reflect whether the external objects are people or objects and display them separately on the around map 220b. "1" can be represented as a person and "3" as a thing.

이후 로봇의 제어부(900)는 토탈 맵(210b, 211a)에 배치되었던 고정 객체들의 위치들과 어라운드 맵(220a 또는 220b)의 고정 객체들의 정보를 비교하여 어라운드 맵(220a 또는 220b)이 전체 공간에서 어느 위치에 속하는지를 확인할 수 있다. 물론, 이 과정에서 로봇은 토탈 맵에서의 시작 지점에 대한 정보와 로봇이 이동한 거리, 방향 등에 기반하여 로봇의 현재 위치를 추정할 수 있다. Thereafter, the robot controller 900 compares the positions of the fixed objects arranged on the total maps 210b and 211a with the information of the fixed objects of the around map 220a or 220b so that the around map 220a or 220b is displayed in the entire space. You can check where you belong. Of course, in this process, the robot can estimate the current position of the robot based on information about the starting point on the total map and the distance and direction the robot has moved.

220a와 같은 어라운드 맵을 이용할 경우 현재 로봇의 위치를 토탈 맵(210b, 211a)에 매칭하여 중첩되는 객체들이 배치된 영역을 확정할 수 있다. 220b와 같은 어라운드 맵을 이용할 경우, 현재 로봇의 위치를 토탈 맵(210b, 211a)에 매칭하고, 추가적으로 센싱된 객체들의 특성(숫자)을 비교하여 매칭할 수 있다. 이하, 220b의 어라운드 맵을 중심으로 설명한다. In the case of using an around map such as 220a, an area in which overlapping objects are arranged may be determined by matching the current position of the robot to the total maps 210b and 211a. When using an around map such as 220b, the current position of the robot may be matched to the total maps 210b and 211a, and characteristics (numbers) of additionally sensed objects may be compared to match. Hereinafter, the around map of 220b will be mainly described.

그 결과, 로봇은 전방에 배치되는 "1" 및 "3"으로 표시되는 객체들이 센싱된다. "1"은 앞서 적외선 센싱부(130) 또는 보조 센싱부들 중에서 비전 센싱부와 같은 센싱부들을 이용하여 외부 객체가 사람임을 나타낸다. "3"은 플라스틱과 같은 재질로 안내판과 같이 일시적으로 배치되는 객체이다. 센싱된 객체들로 인해 도 4의 토탈 맵의 일부(211a)에 점선으로 표시된 제1메인 경로로 이동할 수 없음을 확인한다. As a result, the robot senses objects indicated by "1" and "3" arranged in front. “1” indicates that the external object is a human by using sensing units such as a vision sensing unit among the infrared sensing unit 130 or auxiliary sensing units. "3" is an object that is temporarily placed like a guide plate made of a material such as plastic. It is confirmed that it is impossible to move to the first main path indicated by a dotted line on a part 211a of the total map of FIG. 4 due to the sensed objects.

이에 로봇의 제어부(900)는 어라운드 맵(220b)과 토탈 맵(210b, 또는 그 일부인 211a)과 비교하여 새로운 최적의 경로를 생성한다. 이때, 제어부(900)는 어라운드 맵(220b)에서 확인된 영역 외의 메인 경로와의 정합성을 높이는 방향으로 경로를 변경할 수 있다. 즉, 어라운드 맵(220b)에서 새로운 객체들이 센싱된 경우 이들을 제외한 다른 메인 경로를 유지하거나 최소한으로 변경할 수 있다.Accordingly, the control unit 900 of the robot compares the around map 220b and the total map 210b or 211a which is a part thereof to generate a new optimal path. In this case, the controller 900 may change the path in a direction to increase consistency with the main path other than the area identified in the around map 220b. That is, when new objects are sensed in the around map 220b, other main paths may be maintained or minimally changed except for them.

도 5는 본 발명의 일 실시예에 의한 도 4의 어라운드 맵에 기반하여 로컬 경로를 생성한 도면이다. 토탈 맵(210b)의 일부(211a)에서 새로이 경로가 변경된 것은 211b와 같이 구성할 수 있다. 설명의 편의를 위해 어라운드 맵(220b)에서 식별된 객체를 토탈 맵(210b)의 일부(211b)에 표시하였다. 새로이 생성된 경로는 이전의 메인 경로(점선)와 비교할 수 있도록 실선으로 표시하였다. 5 is a diagram in which a local path is generated based on the around map of FIG. 4 according to an embodiment of the present invention. A newly changed path in the part 211a of the total map 210b may be configured as in 211b. For convenience of description, an object identified in the around map 220b is displayed on a part 211b of the total map 210b. The newly created route is indicated by a solid line so that it can be compared with the previous main route (dotted line).

도 5에서는 앞서 어라운드 맵(220b)을 작성했던 영역에서 사람과 같이 이동성이 높은 객체들이 센싱된 경우, 곧 이동할 가능성이 높으므로, 우선 인접한 영역에서 로컬 경로에 따라 이동하고, (9, 4)의 위치에서 로봇이 다시 어라운드 맵을 생성할 수 있다. 그리고 앞서 "1" 또는 "3"으로 표시한 지점에서 더 이상 객체들이 센싱모듈(100)에 의해 센싱되지 않는 경우, 혹은 대부분의 객체들이 이동하여 센싱되지 않고 일부만 남아있는 경우, 221로 지시되는 영역(장애물 영역)에서의 로컬 경로를 생성한다.In FIG. 5 , when objects with high mobility such as people are sensed in the area where the around map 220b was previously created, they are highly likely to move soon. Therefore, they first move along a local path in an adjacent area, and (9, 4) At the location, the robot can again generate an around map. And when objects are no longer sensed by the sensing module 100 at the point indicated by “1” or “3” above, or when most of the objects are not sensed and only some remain, the area indicated by 221 Create a local route in (obstacle area).

또는, 제어부(900)는 로컬 경로를 생성하는 과정에서 이후 장애물 영역(221)으로 회귀하는 경로를 반영하여 최적의 로컬 경로를 생성할 수 있다. 그리고, 장애물 영역(221)에서 고정 객체 외에 센싱된 이동 객체들이 앞으로 오랜 기간 동안 배치될 것으로 예측되는 경우 생성되는 로컬 경로와 짧은 시간 후에 객체가 이동하여 사라질 것으로 예측되는 경우 생성되는 로컬 경로를 상이하게 구성할 수 있다. Alternatively, in the process of generating the local path, the controller 900 may generate the optimal local path by reflecting the path returning to the obstacle area 221 . In the obstacle area 221 , the local path generated when the sensed moving objects other than the fixed object are predicted to be disposed for a long period of time is different from the local path generated when the object is predicted to move and disappear after a short time. configurable.

예를 들어, 장애물 영역(221)에 대한 정보를 로봇이 외부로부터 수신하거나, 혹은 다른 정보들에 기반하여 추론하는 경우, 장애물 영역(221)에 대해서는 시간이 지난 후 기능을 수행하기 위해 회귀할 수 있으므로, 다른 영역에서 장애물 영역(221)으로 돌아오는 과정에서 지나치게 되는 영역들을 어떤 방식으로 주행할 것인지 여부를 로컬 경로에 반영할 수 있다. For example, when the robot receives information about the obstacle area 221 from the outside or infers it based on other information, it may return to perform a function after a time has elapsed with respect to the obstacle area 221 . Therefore, it is possible to reflect on the local route whether or not to drive the areas that are excessive in the process of returning to the obstacle area 221 from another area.

도 6은 본 발명이 일 실시예에 의한 장애물 영역(221)에 대한 판단에 기반하여 생성한 로컬 경로를 보여주는 도면이다. 도 6의 실시예에서 장애물 영역(221)이 일정 기간동안 계속 유동인구가 많이 있는 공간이라는 정보를 확인할 수 있다. 공항의 경우 티케팅 부스가 설치되거나, 백화점에서 특별 행사영역으로 이용 중인 것이 확인되거나, 혹은 학교나 박물관 등에서 전시 중인 영역에 대한 정보를 파악할 수 있다. 이러한 정보는 외부의 서버 또는 다른 로봇들로부터 통신부(500)가 수신할 수 있다. 6 is a diagram illustrating a local path generated based on the determination of the obstacle area 221 according to an embodiment of the present invention. In the embodiment of FIG. 6 , it can be confirmed information that the obstacle area 221 is a space with a large number of floating populations for a certain period of time. In the case of airports, ticketing booths are installed, it is confirmed that they are being used as special event areas in department stores, or information on areas on display in schools or museums can be obtained. Such information may be received by the communication unit 500 from an external server or other robots.

또한, 다른 실시예로 로봇은 장애물 영역(221)의 사람들의 이동 속도를 센싱모듈(100)이 센싱한 정보에 기반하여 산출할 수 있다. 뎁스 센싱부(120) 및 적외선 센싱부(130)를 이용하여 사람들의 분포도를 확인하고 일정 시간이 지난 후 다시 분포도를 확인하여 사람들의 이동 속도 혹은 이동에 대한 특성(장애물 영역을 나가는 경향인지 들어오는 경향인지 등)을 파악할 수 있다.Also, in another embodiment, the robot may calculate the moving speed of people in the obstacle area 221 based on information sensed by the sensing module 100 . The distribution of people is checked using the depth sensing unit 120 and the infrared sensing unit 130, and after a certain time has elapsed, the distribution is checked again, and the movement speed or characteristics of people (a tendency to leave an obstacle area or a tendency to enter) cognition, etc.).

다양한 정보를 취합한 로봇이 장애물 영역(221)의 이동 객체들이 미리 정해진 기준 이상으로 배치될 것을 산출하는 경우, 로봇의 제어부(900)는 전술한 단절점(5, 8)을 통과하여 다른 영역에서 기능을 수행한 후 다시 회귀하여 장애물 영역(221)에서 기능을 수행하는 것으로 결정할 수 있다. 그 결과 장애물 영역(221) 및 이에 인접한 주변 영역에 대해서는 추후 기능을 수행하는 것으로 결정하고 단절점(5, 8)을 통과하도록 로컬 경로를 설정할 수 있다. 즉, 장애물 영역(221) 및 그의 좌측에 배치되는 영역은 로봇이 나중에 기능할 영역(미기능 영역)으로 설정하고 로컬 경로를 도 6과 같이 설정할 수 있다. 미기능 영역으로 설정하는 것은 전술한 단절점(5, 8)을 통과하여 다시 장애물 영역(221)으로 이동하는 경로에 배치되는 셀들을 포함하며 로봇이 중복하는 셀들을 이동하지 않도록 하여 로봇의 이동 효율을 높이기 위함이다. When the robot that collects various information calculates that the moving objects in the obstacle area 221 are to be arranged above a predetermined standard, the control unit 900 of the robot passes through the above-described breakpoints 5 and 8 in another area. After performing the function, it may be determined to perform the function in the obstacle area 221 by returning again. As a result, the obstacle area 221 and adjacent areas may be determined to perform a function later and a local path may be set to pass through the breakpoints 5 and 8 . That is, the obstacle area 221 and the area disposed to the left thereof may be set as an area in which the robot will function later (non-functional area), and a local path may be set as shown in FIG. 6 . Setting the non-functional area includes cells disposed on a path moving back to the obstacle area 221 through the above-described disconnection points 5 and 8, and prevents the robot from moving overlapping cells, so that the robot moves efficiently is to increase

로봇의 이동부(300)가 가지는 특성에 따라 주행 시 속도 및 회전 시 속도, 또한 회전 시에도 회전 각도에 따라 정지하는 시간 등을 고려하여 로봇의 제어부(900)는 도 6과 같이 로컬 경로를 산출할 수 있다. 그리고 산출된 로컬 경로는 메인 경로와 일부 겹칠 수도 있다. According to the characteristics of the moving unit 300 of the robot, the control unit 900 of the robot calculates a local path as shown in FIG. can do. In addition, the calculated local path may partially overlap the main path.

도 7은 본 발명의 다른 실시예에 의한 장애물 영역(221)에 대한 판단에 기반하여 생성한 로컬 경로를 보여주는 도면이다. 앞서 도 6에서는 장애물 영역(221)의 이동 객체들이 오랜 시간동안 이동하지 않을 것으로 예측하여 해당 공간에 대한 기능 수행 시점을 변경하였기 때문에, 이에 따라 로컬 경로가 새로이 산출된 예를 보여준다.7 is a view showing a local path generated based on the determination of the obstacle area 221 according to another embodiment of the present invention. 6 shows an example in which the local path is newly calculated according to the prediction that the moving objects in the obstacle area 221 will not move for a long time and thus the time of performing the function for the corresponding space is changed.

한편, 도 7은 로봇이 도 6에서 살펴본 다양한 기준에 따라 장애물 영역(221)의 이동 객체들이 짧은 시간 내에 이동하여 장애물 영역(221)에서 센싱된 이동 객체들이 사라질 것으로 예측한 경우에 생성되는 로컬 경로이다. 장애물 영역(221)에 대해 짧은 시간 내에 기능을 수행할 수 있으므로, 단절점(5, 8)을 통과하기 전에 다른 인접한 영역들에 대해 기능을 수행하도록 로컬 경로를 설정하였다. 그리고 로봇이 인접 영역들에 대해 기능을 수행한 후 (12, 5)의 위치에 도착하면 장애물 영역(221)의 배치되는 이동 객체들에 대해 다시 센싱하여 장애물 영역(221)에서 기능을 수행할 것인지 여부를 결정할 수 있다. Meanwhile, FIG. 7 shows a local path generated when the robot predicts that moving objects of the obstacle area 221 will move within a short time according to the various criteria discussed in FIG. 6 and that the moving objects sensed in the obstacle area 221 will disappear. am. Since the function can be performed for the obstacle area 221 in a short time, a local path is set to perform the function for other adjacent areas before passing the breakpoints 5 and 8 . And when the robot arrives at the position (12, 5) after performing a function on the adjacent areas, whether the robot performs the function in the obstacle area 221 by sensing again the moving objects disposed in the obstacle area 221 . can decide whether

장애물 영역(221)의 이동 객체들이 사라진 것이 센싱되면 제어부(900)는 로봇을 장애물 영역(221)으로 진입시키도록 이동부(300)를 제어하여 기능을 수행할 수 있다. 로봇의 이동부(300)가 가지는 특성에 따라 주행 시 속도 및 회전 시 속도, 또한 회전 시에도 회전 각도에 따라 정지하는 시간 등을 고려하여 로봇의 제어부(900)는 로컬 경로를 도 7과 같이 산출할 수 있다. 그리고 산출된 로컬 경로는 메인 경로와 일부 겹칠 수도 있다.When it is sensed that the moving objects in the obstacle area 221 have disappeared, the controller 900 may control the moving unit 300 to cause the robot to enter the obstacle area 221 to perform a function. According to the characteristics of the moving part 300 of the robot, the control unit 900 of the robot calculates a local path as shown in FIG. can do. In addition, the calculated local path may partially overlap the main path.

도 6 및 도 7을 살펴보면, 장애물 영역(221)에서 이동 객체들이 오랜 시간동안 잔류하는지 혹은 짧은 시간 후에 이동하는지에 따라 로컬 경로들을 상이하게 설정할 수 있다. 6 and 7 , local paths may be set differently depending on whether moving objects remain in the obstacle area 221 for a long time or move after a short time.

전술한 내용들을 정리하면 다음과 같다. 로봇은 대규모 유동인구를 수용하는 공간에서 특정한 기능(청소, 보안, 안내 등)을 수행하기 위해 토탈 맵을 유지하며, 또한 전술한 기능을 수행하기 위해 주행을 시작하면서 어라운드 맵을 생성한다. 어라운드 맵은 도 4의 220b와 같이 일정한 범위 내에 배치된 다양한 이동 객체들을 센싱한 것으로 뎁스 센싱부(120) 및 라이다 센싱부(110), 그리고 적외선 센싱부(130) 등을 이용하여 로봇 전방 7~8m 범위 내의 장애물을 판단하여 어라운드 맵(도 4의 220b)에 등록한다. A summary of the above is as follows. The robot maintains a total map to perform specific functions (cleaning, security, guidance, etc.) in a space accommodating a large floating population, and also creates an around map while starting to run to perform the above-mentioned functions. The around map senses various moving objects arranged within a certain range as shown in 220b of FIG. 4 , and uses the depth sensing unit 120 , the lidar sensing unit 110 , and the infrared sensing unit 130 in front of the robot 7 Obstacles within a range of ~8 m are determined and registered in the around map (220b in FIG. 4).

또한, 제어부(900)는 어라운드 맵에 등록한 장애물과 토탈 맵을 비교하여 동일한 위치에 장애물들이 있으면 이전의 토탈 맵에 설정한 고정 객체로 판단한다. 그리고 일치하지 않는 객체들은 이동 객체(이동 장애물)로 판단하고 이들을 회피하여 일정한 기능을 수행한다. In addition, the controller 900 compares the obstacles registered in the around map with the total map, and if there are obstacles in the same location, it is determined as a fixed object set in the previous total map. And the inconsistent objects are judged as moving objects (moving obstacles) and a certain function is performed by avoiding them.

이 과정에서 이동 객체들이 군집한 경우 이들의 영역 전체를 장애물 영역으로 판단하여 진입하지 않을 수 있다. 또한, 앞서 토탈 맵에 기반해서 생성한 메인 경로를 일부 수정하는 로컬 경로를 생성하여 로봇이 주행할 수 있다. 또한, 장애물 영역의 옆 라인 혹은 인근 영역에서 로봇은 기능을 수행하여 완료한 후, 다시 전술한 이동 객체가 배치된 영역으로 로봇이 이동하여 기능을 수행하여, 로봇이 수행하는 기능의 효율을 떨어뜨리지 않으면서 빠른 시간 내에 이동한다.In this process, if the moving objects are clustered, they may not be entered by judging the entire area as an obstacle area. In addition, the robot can drive by creating a local route that partially corrects the main route created based on the total map previously. In addition, after the robot performs and completes the function in the next line or adjacent area of the obstacle area, the robot moves to the area where the above-described moving object is arranged and performs the function, thereby reducing the efficiency of the function performed by the robot. without moving quickly.

로컬 경로를 생성하는 실시예로 도 6과 같이 사람들이 오래 머무르는 공간으로 판단한 경우, 제어부(900)는 더 많은 다른 영역들에 대해 기능을 수행한 후 회귀하기 위한 로컬 경로를 생성한다. 반면, 도 7과 같이 사람들이 금방 이동하여 장애물이 센싱되지 않는 공간으로 판단한 경우, 제어부(900)는 인근 영역에 대해 기능을 수행한 후 회귀하기 위한 로컬 경로를 생성한다. As an embodiment of generating a local path, if it is determined as a space where people stay for a long time as shown in FIG. 6 , the controller 900 generates a local path for returning after performing functions on more other areas. On the other hand, as shown in FIG. 7 , when it is determined that the space is a space in which people move quickly and an obstacle is not sensed, the controller 900 generates a local path for returning after performing a function on a nearby area.

즉, 도 6 또는 도 7과 같이 장애물 영역이 유지되는 기간(유지 기간)이 미리 정의된 기간보다 긴 경우와 짧은 경우에 따라 로컬 경로를 상이하게 구성할 수 있다. 미리 정의된 기간이란, 30분 혹은 한 시간 등 토탈 맵의 공간 전체를 로봇이 주행하는데 필요한 시간 정보를 기준으로 산정할 수 있다. 또한, 토탈 맵 중 전술한 단절점 내의 메인 경로를 주행하고 기능을 수행하는데 소요되는 시간을 기준으로 장애물 영역의 유지 기간을 판단할 수 있다. That is, as shown in FIG. 6 or FIG. 7 , the local path may be configured differently depending on the case where the period (maintenance period) during which the obstacle area is maintained is longer or shorter than the predefined period. The predefined period can be calculated based on the time information required for the robot to travel the entire space of the total map, such as 30 minutes or one hour. In addition, the maintenance period of the obstacle area may be determined based on the time required to travel the main route within the above-described disconnection point in the total map and perform a function.

정리하면, 도 7과 같이 장애물 영역(221)의 유지 기간이 미리 정의된 기간 보다 짧은 경우, 제어부(900)는 장애물 영역에 인접한 제2영역으로 주행하는 제1로컬 경로를 생성하고, 또한 제어부(900)는 로봇이 제1로컬 경로의 주행 후 장애물 영역으로 주행하는 제2로컬 경로를 생성한다. 도 7에서 제1로컬경로는 제2영역인 (8, 4), (8,1), (7,1), (7,4), (6,4), (6, 1), (5, 1), (5, 4)에 해당하는 영역을 주행하는 것을 의미한다. 제1로컬 경로는 메인 경로와 전혀 다른 경로로 구성된다. In summary, as shown in FIG. 7 , when the maintenance period of the obstacle area 221 is shorter than the predefined period, the controller 900 generates a first local path for traveling to a second area adjacent to the obstacle area, and the controller ( 900) generates a second local path in which the robot travels to the obstacle area after traveling on the first local path. 7, the first local path is (8, 4), (8,1), (7,1), (7,4), (6,4), (6, 1), (5) , 1), and (5, 4) mean driving in the area corresponding to The first local path is configured as a path completely different from the main path.

한편, 제2로컬 경로는 메인 경로와 방향만 다르며 중첩되는 (5, 5), (12, 5)이다. 로봇은 (12, 5)에서 다시 장애물 영역의 이동 객체들을 센싱할 수 있다. On the other hand, the second local path is (5, 5) and (12, 5) overlapping with the main path only in a direction different from that of the main path. The robot may sense moving objects in the obstacle area again at (12, 5).

이는 유지 기간이 짧기 때문에 장애물 영역으로 빨리 복귀하는 제2로컬 경로를 생성하는 것을 의미한다. 즉, 로봇이 메인 경로와 상이하게 생성하는 로컬 경로는 이들 제1로컬 경로 및 제2로컬 경로를 포함하는 것이다. This means that the second local path to quickly return to the obstacle area is generated because the maintenance period is short. That is, the local path that the robot generates differently from the main path includes these first and second local paths.

한편, 도 6과 같이 장애물 영역(221)의 유지 기간이 미리 정의된 기간 보다 길 경우, 제어부(900)는 장애물 영역에 인접한 제2영역으로 주행하는 제1로컬 경로를 생성하고, 제2영역에서 장애물 영역에 인접하지 않은 제3영역으로 주행하는 제2로컬 경로를 생성할 수 있다. On the other hand, when the maintenance period of the obstacle area 221 is longer than the predefined period as shown in FIG. 6 , the controller 900 generates a first local path for traveling to a second area adjacent to the obstacle area, and in the second area A second local path that travels to a third area that is not adjacent to the obstacle area may be generated.

이는 로봇이 장애물 영역에 인접하지 않는 제3영역, 예를 들어 단절점을 지나 다른 영역에서 기능을 수행한 후, 장애물 영역으로 회귀하기 위해 로컬 경로를 생성하는 것을 의미한다. 도 6에서는 장애물 영역뿐만 아니라 인접한 영역들도 미기능 영역으로 설정하여 주행하지 않는데, 이는 추후 로봇이 장애물 영역으로 회귀하는 과정에서 미기능 영역들을 주행하여 로봇의 주행 효율을 높이기 위함이다. This means that the robot generates a local path to return to the obstacle area after performing a function in a third area that is not adjacent to the obstacle area, for example, in another area past the break point. In FIG. 6 , not only the obstacle area but also adjacent areas are set as non-functional areas and not driven. This is to increase the driving efficiency of the robot by driving the non-functional areas in the process of the robot returning to the obstacle area later.

즉, 토탈 맵의 정보에 사람들이 금방 용무를 보고 사라지는 공간과 오랫동안 머무르는 공간, 즉 장애물 영역의 유지 기간에 대한 정보를 미리 저장하고, 이를 기반으로 제어부는 효율적이면서도 짧은 시간에 로봇이 이동할 수 있는 짧은 로컬 경로를 생성하여 로봇이 효율적으로 기능을 수행할 수 있도록 한다. 이 경우, 토탈 맵에는 장애물 공간에 대한 식별 정보를 별도로 저장할 수 있다. 또는 장애물 영역(221)에 대해 사람들이 머무르는 시간이나 머무름이 유지되는 시간에 대한 정보를 로봇이 실시간으로 판단하거나 다른 서버나 로봇으로부터 통신을 통해 수신할 수 있다. In other words, information on the maintenance period of the obstacle area, that is, the space where people quickly disappear and the space where they stay for a long time, is stored in the information of the total map in advance, and based on this information, the control unit can efficiently and quickly move the robot in a short time. By creating a local path, the robot can perform its functions efficiently. In this case, identification information on the obstacle space may be separately stored in the total map. Alternatively, the robot may determine in real time information about the time people stay or the time that people stay in the obstacle area 221 , or may receive it through communication from another server or robot.

또한, 로봇은 다른 영역에서 기능을 수행하고 다시 장애물 영역으로 이동하여 사람들이 이동했는지 여부를 확인하는 과정에서 로봇이 취득한 정보, 즉, 사람들이 잠시 머무르는 구역과 그렇지 않은 구역에 대한 데이터를 누적하여 최종적으로 사람들이 머무는 평균시간을 데이터로 만들고 저장하여 같은 구역을 다음에 청소, 보안, 안내 등의 기능을 수행할 때, 이를 반영하여 경로를 생성할 수 있다. 즉, 로봇은 식별된 장애물 영역에 대해 장애물 또는 사람과 같은 이동 객체가 많이 분포되는 구역 및 시간에 대한 정보를 저장하고 이를 특정 기능 시간에서의 경로를 생성하는데 반영할 수 있다.In addition, the robot performs a function in another area and moves back to the obstacle area to check whether people have moved or not, accumulating the information acquired by the robot, that is, data on areas where people stay for a while and areas where people do not. With this, the average time people stay is created and stored as data, so that the next time the same area is cleaned, security, guidance, etc., it can be reflected and a route can be created. That is, the robot can store information about the area and time in which a moving object such as an obstacle or a person is widely distributed with respect to the identified obstacle area, and reflect it in generating a path at a specific function time.

도 8은 본 발명의 일 실시예에 의한 대규모 유동 인구가 이동하는 공간에서 로봇이 특정한 기능을 수행하는 과정을 보여주는 도면이다. 8 is a diagram illustrating a process in which a robot performs a specific function in a space in which a large-scale floating population moves according to an embodiment of the present invention.

도 8에서는 기능의 일 실시예로 청소를 중심으로 설명하지만 본 발명이 이에 한정되는 것은 아니다. 로봇은 청소를 시작하며 메인 경로를 설정한다(S810). 메인 경로는 미리 저장될 수도 있고 로봇이 토탈 맵을 이용하여 주행을 시작하기 전에 생성할 수도 있다. 그리고 메인 경로에 따라 주행하며 센싱모듈(100)이 주변의 장애물들을 스캔하고 이들의 위치를 저장하는 어라운드 맵을 생성한다(S820). 로봇의 제어부(900)는 어라운드 맵에 저장된 장애물과 로봇의 위치를 기반으로 토탈 맵의 고정 객체들을 비교하여 이동 객체들을 확정한다(S825).In FIG. 8 , cleaning is mainly described as an embodiment of the function, but the present invention is not limited thereto. The robot starts cleaning and sets the main route (S810). The main route can be saved in advance or created before the robot starts driving using the total map. Then, while driving along the main route, the sensing module 100 scans surrounding obstacles and generates an around map storing their positions (S820). The control unit 900 of the robot determines the moving objects by comparing the fixed objects of the total map based on the location of the robot and the obstacle stored in the around map (S825).

앞서 도 4에서 살펴본 바와 같이 로봇의 현재 위치를 토탈 맵에 적용하고, 어라운드 맵에서 센싱된 외부 객체들을 토탈 맵의 고정 객체와 비교하는 것을 일 실시예로 한다. 확정 결과 어라운드 맵에서 특정하는 영역에 이동 객체들(사람들 또는 이동하거나 일시적으로 배치되는 장애물)로 군집하여 배치되어 있는지를 판단할 수 있다(S830). As described above with reference to FIG. 4 , it is an embodiment to apply the current position of the robot to the total map and compare external objects sensed in the around map with the fixed object of the total map. As a result of the determination, it may be determined whether moving objects (people or obstacles moving or temporarily disposed) are arranged in a cluster in a specific area on the around map (S830).

만약 고정 객체를 제외한 이동 객체들이 군집하여 배치되지 않거나 그 수가 작다면, 미리 정해진 메인 경로에 따라 이동하며 이동 객체를 인식하는 시나리오에 따라 동작할 수 있다(S835). 즉, 이동 객체들이 일정 범위 내에 분포된 범위가 작거나, 혹은 해당 공간이 필수 기능 영역이라면 로봇은 장애물 회피 시나리오에 따라 해당 영역에서 메인 경로를 따라 이동할 수 있다. If the moving objects other than the fixed object are not arranged in a cluster or the number is small, the moving object may be moved according to a predetermined main path and may be operated according to a scenario in which the moving object is recognized ( S835 ). That is, if the range in which the moving objects are distributed within a certain range is small or the corresponding space is an essential functional area, the robot can move along the main path in the corresponding area according to the obstacle avoidance scenario.

이동 객체를 인식하는 시나리오에 따라 동작한다는 것은 고정 객체 외에 사람이나 장애물이 어라운드 맵에서 특정하는 영역에 존재하므로, 이들과 충돌하지 않으면서 메인 경로에 따라 주행하는 것을 의미한다. S835 단계 이후에는 어라운드 맵에서 특정했던 영역이 아닌 다른 영역으로 메인 경로에 따라 이동하여(S838), S820 단계를 반복한다. Operating according to a scenario for recognizing a moving object means driving along the main route without colliding with people or obstacles other than fixed objects in the area specified in the around map. After step S835, it moves along the main route to an area other than the area specified in the around map (S838), and repeats step S820.

한편, S830에서 이동 객체들이 군집하여 배치된 경우, 로봇은 어라운드 맵에서 특정한 영역 혹은 이보다 작은 이동 객체들이 군집한 영역, 즉 장애물 영역의 이동성을 제어부(900)가 확인하여 사람 또는 임시적으로 배치되는 이동 객체들이 곧 이동하는 영역인지를 확인한다(S840). 확인하는 방법의 실시예로, 제어부(900) 및 센싱모듈(100)은 장애물 영역의 사람들의 군집 정도, 이동 정도를 파악할 수 있다. On the other hand, when the moving objects are arranged in a cluster in S830, the robot moves to a human or temporarily arranged by the control unit 900 checking the mobility of a specific area on the around map or an area in which smaller moving objects are clustered, that is, an obstacle area. It is checked whether the objects are moving soon (S840). As an embodiment of the checking method, the control unit 900 and the sensing module 100 may determine the degree of crowding and movement of people in the obstacle area.

다른 실시예로, 제어부(900) 및 통신부(500)는 장애물 영역의 위치에서 특정한 작업(티케팅 부스 설치, 행사장 설치 등)이 이루어진다는 정보를 외부의 서버 또는 다른 로봇으로부터 수신할 수 있다. 확인 결과에 따라, 전체 청소 구역 중에서 전체청소구역 중 사람들과 객체들이 곧 이동하는 구역과 그렇지 않은 구역에 따라 상이하게 로컬 경로를 생성할 수 있다. 즉, 도 6 및 7에서 살펴본 바와 같이 해당 구역의 특징에 따라 효율적으로 짧은 시간에 모든 구역을 청소할 수 있는 경로를 새로이 설정할 수 있다. In another embodiment, the control unit 900 and the communication unit 500 may receive information from an external server or other robot that a specific task (ticketing booth installation, event venue installation, etc.) is performed at the location of the obstacle area. According to the result of the check, a local route may be generated differently according to an area to which people and objects move soon among the entire cleaning area and an area to which the people and objects are not, among the entire cleaning area. That is, as shown in FIGS. 6 and 7 , it is possible to newly set a path for efficiently cleaning all areas in a short time according to the characteristics of the corresponding area.

장애물 영역의 장애물들(이동객체)이 곧 이동하는 영역인 경우에는 도 7에서 살펴본 바와 같이 해당 장애물 영역의 인접 영역으로 이동하는 로컬 경로를 생성하여 청소한 후, 다시 장애물 영역으로 이동하여 청소를 수행한다. 제어부(900)는 이러한 청소 경로에 적합하게 로컬 경로를 생성할 수 있다. 즉, 이동 객체, 예를 들어 사람들이나 임시로 배치된 객체들이 곧 이동하는 구역인 경우, 제어부(900)는 인접한 영역들을 청소하는 로컬 경로를 생성하고(S842) 로컬 경로에 따라 이동 및 청소를 수행한 후(844), 다시 장애물 영역, 즉 앞서 어라운드 맵에서 특정한 영역의 이동 객체들을 스캔하여 새로운 어라운드 맵을 생성하고(S846), 이동 객체들이 이동한 후이므로, 장애물 영역으로 이동하여 청소를 수행한다(S848). 이후 S838 단계와 같이 메인 경로에 따라 새로운 영역으로 이동한다. If the obstacles (moving objects) in the obstacle area are moving soon, as shown in FIG. 7 , a local path moving to the adjacent area of the obstacle area is created and cleaned, and then moved to the obstacle area and cleaning is performed. do. The controller 900 may generate a local path suitable for the cleaning path. That is, when a moving object, for example, people or temporarily placed objects, is a moving area, the control unit 900 generates a local path for cleaning adjacent areas (S842) and performs movement and cleaning according to the local path (S842). After (844), a new around map is generated by scanning the moving objects in the specific area in the obstacle area, that is, in the previously around map (S846). (S848). Thereafter, as in step S838, it moves to a new area along the main path.

반면, 장애물 영역의 장애물들(이동객체)이 곧 이동하지 않는 영역, 즉 오랜 기간 이동 객체들이 머무르는 영역인 경우에는 도 6에서 살펴본 바와 같이 제어부(900)가 장애물 영역을 포함하여 청소 연기 영역(미기능 영역)을 설정한다(S850). 이는 장애물 영역에 대해 일정 기간이 지난 후 청소를 수행하므로, 로봇이 멀리 떨어진 영역에서 청소를 수행한 후 다시 되돌아오는 과정에 배치되는 영역들을 청소 연기 영역으로 설정하여, 로봇의 이동 경로를 단축시키거나 청소 효율을 높일 수 있도록 한다. On the other hand, when the obstacles (moving objects) of the obstacle area do not move immediately, that is, in the area where the moving objects stay for a long period of time, as shown in FIG. function area) is set (S850). Since cleaning is performed after a certain period of time has elapsed for the obstacle area, the areas arranged in the process of returning after the robot performs cleaning in a distant area are set as cleaning smoke areas to shorten the movement path of the robot or to increase cleaning efficiency.

이후 제어부(900)는 청소 연기 영역을 제외하고 새로운 로컬 경로를 생성한다(S852). 그리고 로봇은 로컬 경로에 따라 이동하여 청소를 수행한다(S854). 이 과정에서 로봇은 전술한 단절점을 넘어서 장애물 영역과 멀리 떨어진 영역까지 메인 경로에 따라 이동하여 청소를 수행할 수 있다. 이후, 로봇은 새로운 영역으로 이동하여 청소한 후, 청소 연기 영역으로 회귀하여 청소를 수행한다(S856). Thereafter, the controller 900 creates a new local path except for the cleaning smoke area (S852). Then, the robot moves according to the local path and performs cleaning (S854). In this process, the robot can perform cleaning by moving along the main path to an area far away from the obstacle area beyond the above-mentioned breaking point. Thereafter, the robot moves to a new area to clean, and then returns to the cleaning smoke area to perform cleaning (S856).

로봇은 로컬 경로 또는 메인 경로를 따라 이동하면서 일정 범위 내에 장애물이 있는지 항상 체크하여, 장애물이 없는 경우 미리 정해진 경로에 따라 이동하며, 장애물이 있는 경우 회피한다. The robot always checks whether there are obstacles within a certain range while moving along the local path or the main path.

또한, 어라운드 맵을 통해 장애물 영역이 확인된 경우, 이 영역에 대한 로컬 경로를 새로이 생성하되, 장애물 영역의 특성에 따라 로컬 경로를 상이하게 설정할 수 있다. 특히, 제어부(900)는 장애물 영역이 오랜 기간동안 장애물이 배치되는 영역으로 확인될 경우, 다른 영역에서 청소를 완료한 후, 다시 장애물 영역으로 회귀하는 과정에 배치되는 영역들을 청소 연기 영역으로 설정하여 경로를 효율적으로 생성할 수 있다. In addition, when the obstacle area is identified through the around map, a local path for the area is newly created, but the local path may be set differently according to the characteristics of the obstacle area. In particular, when it is confirmed that the obstacle area is an area where the obstacle is disposed for a long period of time, the controller 900 sets the areas disposed in the process of returning to the obstacle area again as the cleaning smoke area after completing cleaning in another area. Paths can be created efficiently.

도 8의 실시예를 적용할 경우, 라이다 센싱부(110)의 데이터와 토탈 맵에 저장된 고정 객체들의 정보를 이용하여 청소 시작 당시의 대면적에 대해 청소, 안내, 보안 등을 수행할 수 있는 메인 경로를 생성할 수 있다. 그리고 메인 경로에 따라 로봇이 이동하는 과정에서 일차적으로 뎁스 센싱부(120)를 이용하여 실시간으로 로봇 주변에 대한 어라운드 맵을 생성하고, 이를 이용하여 로봇이 실시간으로 장애물에 대응하여 새로운 로컬 경로를 생성할 수 있도록 한다. 또한, 어라운드 맵을 생성하는 과정에서 제어부(900) 및 센싱모듈(100)은 라이다 센싱부(110) 또는 적외선 센싱부(130)를 함께 이용하여 사람들의 이동에 대한 경향성을 파악하여 장애물 영역에 대한 기능 수행 시점을 결정할 수 있다. When the embodiment of FIG. 8 is applied, cleaning, guidance, security, etc. can be performed on a large area at the time of starting cleaning using the data of the lidar sensing unit 110 and information of fixed objects stored in the total map. You can create a main route. And in the process of moving the robot according to the main path, an around map is generated around the robot in real time using the depth sensing unit 120, and using this, the robot responds to obstacles in real time and creates a new local path make it possible In addition, in the process of generating the around map, the control unit 900 and the sensing module 100 use the lidar sensing unit 110 or the infrared sensing unit 130 together to identify the tendency of people to move, and then to the obstacle area. It is possible to determine when to perform the function.

본 발명의 실시예를 적용할 경우, 공항, 병원, 놀이공원 등과 같은 대면적에서 청소, 보안, 안내 등의 기능을 수행하는 로봇이 효율적으로 동작할 수 있도록 경로를 생성하는 과정에서 라이다 센싱부(110) 및 뎁스 센싱부(120)의 센싱된 데이터를 활용하여 어라운드 맵과 로컬 경로를 생성하고, 그에 따라 기능을 수행할 경우, 유동 인구들의 이동이 빈번한 경우에도 로봇이 효율적인 경로에 따라 동작할 수 있다. When an embodiment of the present invention is applied, the lidar sensing unit in the process of creating a route so that the robot performing functions such as cleaning, security, and guidance can efficiently operate in a large area such as an airport, hospital, amusement park, etc. When the around map and the local path are generated using the sensed data of the 110 and the depth sensing unit 120, and a function is performed accordingly, the robot operates according to an efficient path even when the movement of the floating population is frequent. can

특히 로봇은 토탈 맵과 어라운드 맵을 모두 유지하여 청소, 보안, 안내 등의 기능을 수행하는 순간에 이동/고정형 장애물을 인식하여 로봇의 주행 경로에 반영하여 기능 수행 효율을 향상시키고 장애물 대응 능력을 향상시킬 수 있다. In particular, by maintaining both the total map and the around map, the robot recognizes moving/fixed obstacles at the moment of performing functions such as cleaning, security, and guidance and reflects them on the robot's travel path to improve function performance efficiency and improve obstacle response ability can do it

도 9는 본 발명의 일 실시예에 의한 로봇의 주행 과정을 보여주는 도면이다. 로봇의 제어부(900)는 맵 저장부(200)에 저장된 토탈 맵(210)에 기반하여 생성된 메인 경로에 따라 로봇을 주행시킨다(S910). 메인 경로는 제어부(900)가 이전에 생성하였거나, 주행 직전에 생성하였거나, 혹은 외부의 서버나 다른 로봇으로부터 수신한 실시예를 모두 포함한다. 9 is a view showing a running process of a robot according to an embodiment of the present invention. The control unit 900 of the robot drives the robot according to the main path generated based on the total map 210 stored in the map storage unit 200 (S910). The main route includes all embodiments previously generated by the controller 900, generated just before driving, or received from an external server or other robot.

메인 경로는 전술한 도 2 또는 도 3과 같은 맵의 구성에서 로봇이 이동하는 셀들의 위치들로 구성될 수 있다. 시작지점의 셀 식별정보 또는 위치 정보(x, y)에서 직선 주행 시 방향을 바꾸거나 회전하는 지점까지를 하나의 경로로 하여 저장할 수 있고, 이들 경로들을 취합하여 하나의 메인 경로가 될 수 있다. 메인 경로는 전술한 경로 저장부(240)에 저장될 수 있다. The main path may be composed of positions of cells in which the robot moves in the configuration of the map as in FIG. 2 or FIG. 3 described above. From the cell identification information or location information (x, y) of the starting point to the point where the direction is changed or rotated when driving in a straight line can be stored as one path, and these paths can be combined to become one main path. The main path may be stored in the above-described path storage unit 240 .

또다른 실시예로 메인 경로는 하나의 셀에서 두 개의 분기점을 가질 수 있는데, 이는 메인 경로를 구성하는 특정 셀에서 더 이상 주행할 수 없는 경우에 대비한 것이다. 이러한 메인 경로에서의 분기점은 과거 로봇이 주행 과정에서 누적한 로컬 경로를 반영한 것을 일 실시예로 한다. 분기점에 대해서는 후술한다.In another embodiment, the main route may have two junctions in one cell, in case it is no longer possible to travel in a specific cell constituting the main route. As an embodiment, the branching point in the main route reflects the local route accumulated in the course of driving the robot in the past. The branching point will be described later.

이후 로봇의 센싱모듈(100)은 토탈 맵에 대응하는 영역 보다 작은 크기의 제1영역에 배치된 객체들의 위치를 저장하는 제1어라운드 맵을 생성한다(S920). 앞서 도 4에서 두 종류의 어라운드 맵(220a, 220b)과 같이 로봇의 센싱모듈(100)은 뎁스 센싱부(120)를 이용하여 어라운드 맵을 생성할 수 있다. Thereafter, the sensing module 100 of the robot generates a first around map that stores the positions of objects disposed in the first area having a size smaller than the area corresponding to the total map (S920). Like the two types of around maps 220a and 220b in FIG. 4 , the sensing module 100 of the robot may generate the around map using the depth sensing unit 120 .

즉, 센싱모듈(100)의 뎁스 센싱부(120)가 로봇의 주변에 배치된 객체들의 뎁스 정보를 산출하고, 센싱모듈(100)의 센싱 데이터 분석부(150)가 객체들의 뎁스 정보를 로봇을 기준으로 하는 거리 정보로 변환할 수 있다. 그리고 도 4에 제시된 바와 같이 로봇의 위치(도 4의 "R")를 기준으로 어라운드 맵(220a, 220b)을 생성할 수 있다. That is, the depth sensing unit 120 of the sensing module 100 calculates depth information of objects disposed around the robot, and the sensing data analysis unit 150 of the sensing module 100 transmits the depth information of the objects to the robot. It can be converted into reference distance information. In addition, as shown in FIG. 4 , the around maps 220a and 220b may be generated based on the position of the robot (“R” in FIG. 4 ).

또한, 이 과정에서 어라운드 맵 생성의 정확도를 높이기 위해 센싱모듈(100)의 라이다 센싱부(110)가 레이저 신호를 송신한 후 객체들로부터 반사된 신호의 특성(거리 및 반사 강도)에 따라 객체들의 거리 및 특성 정보를 산출하여 도 4의 220b와 같은 어라운드 맵을 생성할 수 있다. 또한, 적외선 센싱부(130)를 이용하여 사람들이 다수 군집한 경우 이를 반영하여 어라운드 맵을 생성할 수 있다. In addition, in this process, in order to increase the accuracy of generating the around map, the lidar sensing unit 110 of the sensing module 100 transmits the laser signal and then the object according to the characteristics (distance and reflection intensity) of the reflected signal from the objects. It is possible to generate an around map as shown in 220b of FIG. 4 by calculating the distance and characteristic information of each of them. In addition, when a large number of people are grouped by using the infrared sensing unit 130, an around map may be generated by reflecting this.

이후, 제어부(900)는 제1어라운드 맵과 토탈 맵(210)을 비교하여 고정 객체가 아님에도 센싱된 객체들을 이동 객체인 것으로 식별하여 제1영역 또는 제1영역과 일부 또는 전부가 중첩하는 장애물 영역을 설정한다(S930). Thereafter, the controller 900 compares the first around map and the total map 210 to identify the sensed objects as moving objects even though they are not fixed objects, so that the first area or an obstacle partially or all overlapping with the first area. An area is set (S930).

한편, 제어부(900)는 장애물 영역의 유지 기간에 따라 메인 경로와 상이한 로컬 경로를 생성하여 로봇이 로컬 경로에 따라 이동하도록 로봇의 이동부(300)를 제어한다(S940). 장애물 영역의 유지 기간이란 장애물 영역에 배치된 이동 객체들이 이동하지 않고 계속 머무르는 기간을 의미한다. Meanwhile, the controller 900 generates a local path different from the main path according to the maintenance period of the obstacle area and controls the moving unit 300 of the robot to move according to the local path ( S940 ). The maintenance period of the obstacle area refers to a period in which moving objects disposed in the obstacle area continue to stay without moving.

예를 들어 특정한 사물이 배치되는 기간, 혹은 사람들이 장애물 영역에 머무르는 기간을 포함한다. 또한, 사람들이 끊임없이 이동하지만 결과적으로 장애물 영역에 항상 사람들이 존재하는 경우에 사람이 존재하는 전체 시간을 유지 기간으로 할 수 있다. 다만, 사람 또는 사물의 경우에도 군집하지 않고 매우 적은 수만 존재할 경우에는 제어부는 해당 영역을 장애물 영역으로 설정하지 않고 단지 장애물을 회피하는 방식으로 주행할 수 있다. This includes, for example, the period during which certain objects are placed, or the period during which people stay in the obstacle area. In addition, in the case where people constantly move, but as a result, people are always present in the obstacle area, the entire time that people are present can be used as the maintenance period. However, even in the case of people or things, if there is only a very small number without a crowd, the controller may drive in a manner of avoiding the obstacle without setting the corresponding area as the obstacle area.

전술한 장애물 영역의 유지 기간이 미리 정해진 기간, 예를 들어 1시간이라는 시간보다 더 길게 유지되는 것으로 제어부가 확인하는 경우, 장애물 영역에 나중에 로봇이 이동하여 기능을 수행하도록 제어부가 로컬 경로를 생성할 수 있다. 이는 도 6에서 살펴보았다. If the control unit confirms that the maintenance period of the aforementioned obstacle area is maintained longer than a predetermined period, for example, 1 hour, the control unit generates a local path so that the robot moves to the obstacle area later to perform a function. can This was looked at in FIG. 6 .

반면, 장애물 영역의 유지 기간이 미리 정해진 기간보다 짧게 유지되는 것으로 제어부가 확인하는 경우, 장애물 영역에 인접한 다른 영역을 주행한 후 다시 장애물 영역으로 이동하도록 로컬 경로를 생성할 수 있다. 이는 도 7에서 살펴보았다. On the other hand, when the controller determines that the maintenance period of the obstacle area is maintained shorter than the predetermined period, the local path may be generated to move to the obstacle area again after driving in another area adjacent to the obstacle area. This was looked at in FIG. 7 .

이하 도 9의 각 단계에 대한 세부적인 실시예들을 살펴본다. 도 10은 본 발명의 일 실싱예에 의한 경로를 설정하고 저장하는 도면이다. 도 10에서 본 발명의 일 실시예에 의한 분기점에 대해 살펴본다. 설명의 편의를 위해 토탈 맵의 크기는 매우 작은 5x5를 기반으로 한다. Hereinafter, detailed examples of each step of FIG. 9 will be described. 10 is a diagram for setting and storing a path according to an embodiment of the present invention. 10 , a bifurcation point according to an embodiment of the present invention will be described. For convenience of explanation, the size of the total map is based on a very small 5x5.

도 10의 토탈 맵을 기준으로 할 때, 로봇의 경로 저장부(240)는 다음과 같이 메인 경로를 저장할 수 있다. Based on the total map of FIG. 10 , the path storage unit 240 of the robot may store the main path as follows.

(1) 제1 경로 (1) first route 표현식expression

MainPath = [ (5, 0), (5, 1), (2, 1), (2, 3), (4, 3), (4, 2) ]MainPath = [ (5, 0), (5, 1), (2, 1), (2, 3), (4, 3), (4, 2) ]

이러한 메인 경로는 도 10의 1001과 같이 지시된다. This main path is indicated as 1001 of FIG. 10 .

한편, (4, 1)에서는 두 가지 경로로 갈 수 있다. 따라서, 경로 저장부(240)는 이러한 분기점에 대한 정보를 추가로 저장할 수 있다. On the other hand, in (4, 1), two paths can be taken. Accordingly, the path storage unit 240 may additionally store information on such a branch point.

(2) 제2 경로 (2) second route 표현식expression

MainPath = [ (5, 0), (5, 1), (4, 1), MainPath = [ (5, 0), (5, 1), (4, 1),

Div_one{ [ (2, 1), (2, 3), (4, 3), (4, 2) ], Div_one{ [ (2, 1), (2, 3), (4, 3), (4, 2) ],

[ (4, 3), (2, 3), (2, 1), (3, 1) ] } ][ (4, 3), (2, 3), (2, 1), (3, 1) ] } ]

이는 MainPath가 Div_one에서 첫번째 경로([ (2, 1), (2, 3), (4, 3), (4, 2) ]) 또는 두번째 경로([ (4, 3), (2, 3), (2, 1), (4, 1) ])를 포함하는 분기점이 (4, 1)임을 보여준다. This means that MainPath is either the first path([ (2, 1), (2, 3), (4, 3), (4, 2) ]) or the second path([ (4, 3), (2, 3) in Div_one. , (2, 1), (4, 1) ]) shows that the branching point is (4, 1).

Div_one에서 첫번째 경로를 적용한 경우의 경로 표현식은 제3 경로 표현식과 같으며, 이는 결과적으로 제1경로 표현식과 동일하며, 이는 도 10의 1001에 제시되어 있다. A path expression when the first path is applied in Div_one is the same as the third path expression, which is consequently the same as the first path expression, which is shown in 1001 of FIG. 10 .

(3) (3) 제3경로3rd route 표현식expression

MainPath = [ (5, 0), (5, 1), (4, 1), (2, 1), (2, 3), (4, 3), (4, 2) ]MainPath = [ (5, 0), (5, 1), (4, 1), (2, 1), (2, 3), (4, 3), (4, 2) ]

한편, Div_one에서 두번째 경로를 적용한 경우의 경로 표현식은 제4 경로 표현식과 같으며, 이는 도 10의 1002에 제시되어 있다. On the other hand, the path expression when the second path is applied in Div_one is the same as the fourth path expression, which is shown in 1002 of FIG. 10 .

(4) (4) 제4경로4th route 표현식expression

MainPath = [ (5, 0), (5, 1), (4, 1), (4, 3), (2, 3), (2, 1), (3, 1) ]MainPath = [ (5, 0), (5, 1), (4, 1), (4, 3), (2, 3), (2, 1), (3, 1) ]

혹은 각 메인 경로가 적용되는 시간 정보도 별도로 저장할 수 있다. 앞서 로봇이 이동 과정에서 특정한 경로 상에 장애물 영역이 있을 경우 이를 회피하거나 다른 곳에 먼저 주행한 후 이동하도록 구성할 수 있다. 따라서, 이를 위해 240a와 같이 경로 저장부를 구성할 수 있다. 제어부(900)는 일요일에는 제3경로 표현식의 경로(도 10의 1001)를 메인 경로로 하여 로봇을 이동시키고, 그 외에는 제4경로 표현식의 경로(도 10의 1002)를 메인 경로로 하여 로봇을 이동시킬 수 있다. Alternatively, time information to which each main route is applied may be stored separately. If there is an obstacle area on a specific path in the process of moving the robot, it can be configured to avoid it or to move after driving to another place first. Therefore, for this purpose, the path storage unit may be configured as in 240a. The control unit 900 moves the robot using the path (1001 in FIG. 10) of the third path expression as the main path on Sunday, and the robot using the path (1002 in FIG. 10) of the fourth path expression as the main path. can be moved

또한, 로봇이 맨 처음에는 제1경로 표현식으로만 메인 경로를 저장할 수 있다. 이후 로봇이 이동하며 장애물 영역이 발생하여 로컬 경로를 설정하는 과정에서 동일하거나 유사한 로컬 경로가 반복하여 생성될 경우 이를 메인 경로에 반영할 수 있다. Also, the robot may initially store the main path only as a first path expression. After that, when the robot moves and an obstacle area occurs and the same or similar local path is repeatedly generated in the process of setting the local path, this can be reflected in the main path.

도 6 또는 도 7에서 살펴보았듯이 메인 경로를 변경시키는 장애물 영역이 반복해서 확인될 경우, 제어부(900)는 장애물 영역을 반복적, 고정성을 가진 공간으로 파악하여 유지 기간에 따라 로봇이 효율적으로 이동하도록 로컬 경로를 메인 경로에 반영시킬 수 있다. As shown in FIG. 6 or FIG. 7 , when the obstacle area for changing the main path is repeatedly identified, the controller 900 identifies the obstacle area as a repetitive and fixed space, and the robot moves efficiently according to the maintenance period. The local path can be reflected in the main path.

도 11은 본 발명의 일 실시예에 의한 어라운드 맵과 토탈 맵을 비교하는 도면이다. 11 is a diagram comparing an around map and a total map according to an embodiment of the present invention.

토탈 맵은 로봇이 라이다 센싱부(110)를 이용하거나 외부로부터 수신하여 저장하는 전체 공간에 대한 맵이다. 어라운드 맵은 로봇이 이동하는 공간 중 로봇을 기준으로 일부 범위 내의 공간에 대해 뎁스 센싱부(120) 및 선택적으로 라이다 센싱부(110)와 적외선 센싱부(130)를 이용하여 이동 객체들 및 고정 객체를 센싱한 결과를 반영한 맵이다. 로봇이 특정한 위치에서 도 4에서 살펴본 바와 같은 어라운드 맵을 생성한 경우, 이를 토탈 맵과 비교하기 위해서는 먼저 로봇의 현재 위치를 확인하는 과정이 필요하다.The total map is a map of the entire space that the robot uses the lidar sensing unit 110 or receives and stores from the outside. The around map uses the depth sensing unit 120 and, optionally, the lidar sensing unit 110 and the infrared sensing unit 130 for a space within a partial range based on the robot among the spaces in which the robot moves, to move objects and fix them. It is a map reflecting the result of sensing an object. When the robot generates the around map as shown in FIG. 4 at a specific location, in order to compare it with the total map, it is necessary to first check the current location of the robot.

도 4에서, 로봇은 자신의 위치를 "R"로 표시된 영역으로 확인하고 있다. 그리고 어라운드 맵(220a 또는 220b)을 "R"의 위치에서 토탈 맵과 비교할 수 있다. 그런데, 어라운드 맵이 반드시 토탈 맵과 동일한 방향을 지향하도록 생성되지는 않는데, 이는 로봇이 다양한 방향으로 이동할 수 있기 때문이다. 따라서 로봇은 만약 뎁스 센싱부(120)가 220c와 같이 어라운드 맵을 생성하는 경우, 뎁스 센싱부(120)가 센싱한 뎁스 정보가 점진적으로 변화하는 영역이 있는지를 확인한다. In FIG. 4 , the robot is confirming its location as an area marked with “R”. In addition, the around map 220a or 220b may be compared with the total map at the position of “R”. However, the around map is not necessarily created to point in the same direction as the total map, because the robot can move in various directions. Therefore, when the depth sensing unit 120 generates the around map as shown in 220c, the robot checks whether there is an area in which the depth information sensed by the depth sensing unit 120 gradually changes.

예를 들어, 220c에서 로봇의 위치 "R"을 중심으로 좌측에 배치된 객체들의 뎁스 정보값이 1121과 같이 점진적으로 변화하는 경우 로봇의 제어부(900)는 이를 고정 객체로 판단할 수 있다. 이에, 로봇의 제어부(900)는 좌측에 배치된 고정 객체와 토탈 맵(도 4의 211a)의 로봇의 위치와 비교하여 220a와 같이 어라운드 맵의 오리엔테이션을 좌측 90도로 회전할 수 있다. 그리고 이렇게 오리엔테이션을 교정한 어라운드 맵을 도 4의 토탈 맵(211a)와 비교하여 220a에서 x로 표시된 객체들 중에서 토탈 맵(211a)의 고정 객체인 것은 제외하면 이동 객체만을 식별할 수 있다.For example, when depth information values of objects disposed on the left side with respect to the position "R" of the robot in 220c gradually change as in 1121, the controller 900 of the robot may determine this as a fixed object. Accordingly, the controller 900 of the robot may rotate the orientation of the around map by 90 degrees to the left as shown in 220a by comparing the positions of the fixed object disposed on the left and the robot in the total map ( 211a in FIG. 4 ). In addition, by comparing the orientation-corrected around map with the total map 211a of FIG. 4 , only moving objects can be identified, except for the fixed objects of the total map 211a among the objects indicated by x in 220a.

또한, 뎁스 센싱부(120) 외에 라이다 센싱부(110)를 이용할 경우, 센싱된 객체들로부터 반사되는 신호 강도를 이용하여 220b와 같은 어라운드 맵을 생성할 수 있으며, 이는 토탈 맵(211a)과의 비교를 더욱 용이하게 한다. In addition, when the lidar sensing unit 110 is used in addition to the depth sensing unit 120 , an around map such as 220b may be generated using the signal intensity reflected from the sensed objects, which is the total map 211a and to make comparisons easier.

한편, 적외선 센싱부(130)에서 센싱된 정보들을 결합하면, 어라운드 맵 상에서 센싱된 객체들 중에서 사람을 식별할 수 있으므로 보다 정확하게 어라운드 맵을 생성할 수 있다. On the other hand, when the information sensed by the infrared sensing unit 130 is combined, a person can be identified from among objects sensed on the around map, so that the around map can be more accurately generated.

정리하면, 어라운드 맵의 생성은 뎁스 센싱부(120), 라이다 센싱부(110), 적외선 센싱부(130) 등을 이용하여 복합적으로 산출된 객체들의 특성 정보를 반영하여 생성할 수 있다. 특히, 뎁스 센싱부(120)는 뎁스 정보를 이용하여 토탈 맵과 비교할 수 있는 고정 객체와 이동 객체를 식별하는데 적용될 수 있다. 라이다 센싱부(110)는 객체들로부터 반사된 신호의 특성과 토탈 맵에 저장된 객체들의 특성을 비교하여 이동 객체를 식별하는데 적용될 수 있다. 적외선 센싱부(130)는 이동 객체 중에서 사람을 식별하는데 적용될 수 있다. In summary, the generation of the around map may be generated by reflecting the characteristic information of the objects complexly calculated using the depth sensing unit 120 , the lidar sensing unit 110 , the infrared sensing unit 130 , and the like. In particular, the depth sensing unit 120 may be applied to identify a fixed object and a moving object that can be compared with the total map by using the depth information. The lidar sensing unit 110 may be applied to identify a moving object by comparing the characteristics of the signals reflected from the objects with the characteristics of the objects stored in the total map. The infrared sensing unit 130 may be applied to identify a person among moving objects.

도 12는 본 발명의 일 실시예에 의한 장애물 영역을 설정하는 도면이다. 전술한 장애물 영역은 다수의 이동 객체들이 군집을 이루는 경우 이들 군집된 범위를 포함하여 로봇이 진입하지 않도록 설정된 영역이다. 그리고 장애물 영역은 군집된 이동 객체들이 이동한 후에 로봇이 진입하여 특정한 기능을 수행할 수 있다. 그리고 제어부는 장애물 영역에 따라 로컬 경로를 변경할 수 있다. 따라서, 장애물 영역은 로봇의 이동 속도 및 회전 속도, 그리고 로봇의 메인 경로의 조밀성 등에 따라 이동 효율을 고려하여 산정될 수 있다. 12 is a diagram for setting an obstacle area according to an embodiment of the present invention. The aforementioned obstacle area is an area set so that the robot does not enter including the clustered range when a plurality of moving objects form a cluster. In addition, the robot may enter the obstacle area after moving the grouped moving objects and perform a specific function. In addition, the controller may change the local path according to the obstacle area. Accordingly, the obstacle area may be calculated in consideration of movement efficiency according to the movement speed and rotation speed of the robot, and the density of the main path of the robot.

장애물 영역의 설정은 먼저 제어부(900)가 이동 객체들의 군집도를 산출하여, 제어부(900)가 군집도에 따라 어라운드 맵에서 확인한 영역 또는 이 영역에 인접한 영역까지 범위로 하여 이들 영역 내에서 이동 객체들이 배치된 외곽선을 장애물 영역으로 설정할 수 있다. In the setting of the obstacle area, first, the controller 900 calculates the degree of clustering of the moving objects, and the controller 900 determines the clustering degree in the around map or the area adjacent to this area according to the clustering, and the moving object within these areas. You can set the outline where they are placed as an obstacle area.

도 12의 1220는 로봇의 제어부가 생성한 어라운드 맵이다. "x" 및 "x1", "x2"는 어라운드 맵 상의 객체들의 위치를 표시하였다. 맵 상에 굵게 표시된 선은 장애물 영역의 경계를 표시한 것이다. 1220 of FIG. 12 is an around map generated by the control unit of the robot. "x" and "x1", "x2" indicated the positions of objects on the around map. The bold line on the map indicates the boundary of the obstacle area.

장애물 영역의 설정은 이동 객체의 군집도를 산출하여 어느 범위의 이동 객체들을 장애물 영역에 포함시킬 것인지를 결정하고, 이들을 포함하는 장애물 영역을 어떤 형태로 구성할 것인지 등에 따라 달라질 수 있다. The setting of the obstacle area may vary depending on a range of moving objects to be included in the obstacle area by calculating the cluster degree of moving objects, and in what form the obstacle area including them is to be configured.

1220와 같이 산출된 어라운드 맵을 이용하여 제어부(900)는 셀 간에 이동 객체가 밀접하게 분포된 수준에 따라 동일한 군집 하의 이동객체로 판단할 수 있다. 예를 들어 1221의 경우 1220에서 가장 밀접한 것으로 파악할 수 있는 셀들, 예를 들어, 상하 또는 좌우로 면으로 접하는 이웃 셀들에 이동 객체가 배치된 경우에만 이들을 군집으로 판단하여 장애물 영역을 설정한 실시예이다. Using the around map calculated as shown in 1220, the controller 900 may determine that the moving object is a moving object in the same cluster according to the level at which the moving object is closely distributed between cells. For example, in the case of 1221, only when moving objects are disposed in cells that can be recognized as closest in 1220, for example, neighboring cells that are in contact with the top and bottom or left and right sides, these are determined as a cluster and the obstacle area is set. .

1221에서 "x1"로 표시된 셀 및 "x2"로 표시된 셀은 "x"로 표시된 셀과 면으로 연결되어 있지는 않으므로 이들에 대해서는 장애물 영역으로 설정하지 않았다. 따라서, 제어부는 1221과 같이 구성된 장애물 영역에 접근하지 않도록 로컬 경로를 설정할 수 있다. In 1221, the cell marked "x1" and the cell marked "x2" are not connected with the cell marked "x" by a plane, so they are not set as obstacle areas. Accordingly, the controller may set the local path so as not to approach the obstacle area configured as shown in 1221 .

한편, 로봇이 회전하는데 소요되는 시간이 많을 경우, 제어부(900)는 장애물 영역을 최대한 사각형의 형태에 가깝게 구성할 수 있다. 1222에 제시된 바와 같이, 1221에서 군집된 이동 객체로 판단한 것은 "x"이지만, 이동 객체가 배치되지 않은 영역들까지 장애물 영역으로 포함시켜 추후 로봇이 장애물 영역에서 소정의 기능을 수행하는 과정에서 로봇의 이동부(300)의 회전 횟수를 줄이도록 구성할 수 있다. 이는 제어부(900)가 로컬 경로나 메인 경로를 생성하는 과정에서 로봇의 직선 이동 속도와 회전 속도를 고려하는 것과 동일한 메커니즘으로 적용될 수 있다. On the other hand, when the time required for the robot to rotate is large, the controller 900 may configure the obstacle area as close to a rectangular shape as possible. As shown in 1222, it is "x" that is determined to be a clustered moving object in 1221, but areas where no moving objects are placed are included as obstacle areas, so that in the process of the robot performing a predetermined function in the obstacle area later, the robot's It can be configured to reduce the number of rotations of the moving unit 300 . This may be applied as the same mechanism as when the controller 900 considers the linear movement speed and rotation speed of the robot in the process of generating the local path or the main path.

이동 객체만 포함하도록 장애물 영역을 구성하여 더 많은 면적에서 로봇이 미리 동작하는 것을 로봇의 효율로 판단할 경우에는 1221과 같이 장애물 영역을 설정할 수 있다. 반면, 로봇의 이동 및 회전 속도를 고려하여 로봇이 빨리 이동하여 소정의 기능을 수행하는 것을 로봇의 효율로 판단할 경우에는 1222와 같이 장애물 영역을 설정할 수 있다. If the obstacle area is configured to include only the moving object and it is determined that the robot operates in a larger area in advance as the efficiency of the robot, the obstacle area can be set as shown in 1221. On the other hand, when it is determined as the efficiency of the robot that the robot moves quickly and performs a predetermined function in consideration of the movement and rotation speed of the robot, the obstacle area may be set as shown in 1222 .

한편, 1222와 같은 구성에서 전체 9개의 셀 중에서 3개의 셀은 이동 객체가 없다. 즉 이동 객체의 분포도가 66%이다. 장애물 영역을 설정하는 과정에서 제어부(900)는 미리 설정된 기준에 따라 이동 객체의 분포도가 낮을 경우 장애물 영역을 재설정할 수 있다. 예를 들어 1223과 같이 군집도 산출 과정에서 포함된 이동 객체를 장애물 영역에 포함시키지 않도록 제어부(900)가 장애물 영역을 구성할 수 있다. Meanwhile, in the configuration such as 1222, 3 cells out of 9 cells do not have moving objects. That is, the distribution of moving objects is 66%. In the process of setting the obstacle region, the controller 900 may reset the obstacle region when the distribution of moving objects is low according to a preset criterion. For example, as in 1223, the controller 900 may configure the obstacle region so that the moving object included in the clustering calculation process is not included in the obstacle region.

또한, 이동 객체의 군집도를 산출하는 과정에서 1221, 1222, 1223은 상하 또는 좌우로 인접한 셀에 이동 객체가 있는 경우 이를 동일한 군집으로 판단하였다. 1231에서는 대각선 방향의 셀에 이동 객체가 있는 경우에도 이를 동일한 군집으로 판단한 실시예이다. 1221과 마찬가지 방식으로 이동객체만을 포함하는 장애물 영역이 1231에 도시된다. In addition, in the process of calculating the degree of clustering of moving objects, 1221, 1222, and 1223 were determined to be the same cluster when moving objects were located in cells adjacent to the top and bottom or left and right. In 1231, even if there is a moving object in a cell in the diagonal direction, it is determined as the same cluster. In the same manner as in 1221 , an obstacle area including only a moving object is shown in 1231 .

한편, 제어부(900)는 1222와 같이 사각형으로 장애물 영역을 구성하도록 1232와 같이 장애물 영역을 구성할 수 있다. 다만, 1232와 같이 장애물 영역을 구성하면 전술한 이동 객체의 분포도가 43.75%라서 장애물 영역이 과도하게 넓게 설정된 것으로 제어부(900)가 판단하여 다시 1222 또는 1221과 같이 장애물 영역을 재설정할 수 있다. Meanwhile, the controller 900 may configure the obstacle area as shown in 1232 to configure the obstacle area in a quadrangular shape as shown in 1222 . However, if the obstacle area is configured as shown in 1232, the controller 900 determines that the obstacle area is set excessively wide because the distribution of the above-described moving objects is 43.75%, and may reset the obstacle area as shown in 1222 or 1221 again.

x2를 장애물 영역으로 포함시킬 것인지는 셀의 크기 및 로봇의 크기에 따라 달라질 수 있다. 만약, 토털 맵이 조밀하게 구성되어 셀의 크기가 로봇의 크기보다 매우 작은 경우에는 x2 역시 장애물 영역에 포함시킬 수 있다. 따라서, 장애물 영역을 설정함에 있어 이동 객체들의 거리가 인접 셀이 아니라도 장애물 영역으로 구획할 수 있다. 제어부(900)는 셀의 크기와 로봇의 크기, 주행 반경 등을 고려하여 이동 객체들의 거리에 따른 장애물 영역을 설정할 수 있다. Whether to include x2 as an obstacle area may vary depending on the size of the cell and the size of the robot. If the total map is densely configured and the size of the cell is much smaller than the size of the robot, x2 may also be included in the obstacle area. Accordingly, in setting the obstacle area, it is possible to divide the moving objects into the obstacle area even if the distances of the moving objects are not adjacent cells. The controller 900 may set the obstacle area according to the distance of the moving objects in consideration of the size of the cell, the size of the robot, and the traveling radius.

도 13은 본 발명의 일 실시예에 의한 로봇이 장애물 영역이 유지되는 기간을 확인하는 과정을 보여주는 도면이다. 13 is a view showing a process in which the robot according to an embodiment of the present invention confirms the period during which the obstacle area is maintained.

로봇의 제어부(900) 및 센싱모듈(100)은 장애물 영역 혹은 어라운드 맵을 작성한 영역에 대해 새로운 어라운드 맵을 작성한다. 즉, 앞서 어라운드 맵(제1 어라운드 맵)을 생성하였던 제1영역에 배치된 객체들을 센싱하여 객체들의 위치를 저장하는 새로운 어라운드 맵(제2 어라운드 맵)을 생성한다. The control unit 900 and the sensing module 100 of the robot create a new around map for the obstacle area or the area in which the around map is prepared. That is, a new around map (second around map) that stores the positions of objects is generated by sensing objects disposed in the first area where the around map (first around map) was previously generated.

그리고 제어부(900)는 제1어라운드 맵과 제2어라운드 맵을 비교하여 장애물 영역의 유지기간을 산출할 수 있다. 예를 들어 제1어라운드 맵(1220)을 제어부(900)가 생성한 후, 정해진 시간(예를 들어 30초 또는 1분) 제2어라운드맵(1321)을 생성하여 비교하여 이동 객체들이 대부분 위치를 그대로 유지할 경우, 특히 장애물 영역으로 설정된 영역 내에서 이동 객체들의 변화가 일정 범위 이하인 경우에는 유지 기간을 시간 단위로 산출하여 해당 장애물 영역이 오래 유지되는 것으로 설정하고 이를 반영하여 로컬 경로를 생성할 수 있다. In addition, the controller 900 may calculate a maintenance period of the obstacle area by comparing the first around map and the second around map. For example, after the controller 900 generates the first around map 1220, the second around map 1321 is generated and compared for a predetermined time (for example, 30 seconds or 1 minute) to determine the location of most of the moving objects. When maintaining as it is, especially when the change of moving objects within the area set as the obstacle area is less than a certain range, the maintenance period is calculated in units of time, the corresponding obstacle area is set to be maintained for a long time, and a local route can be created by reflecting this. .

반면, 제2어라운드 맵이 1322와 같이 생성된 경우, 장애물 영역이 오래 유지되지 않는 것으로 판단하고 장애물 영역의 유지 기간이 짧은 것으로 설정하여 이를 반영하여 로컬 경로를 생성할 수 있다.On the other hand, when the second around map is generated as shown in 1322, it is determined that the obstacle area is not maintained for a long time, and the maintenance period of the obstacle area is set to be short, reflecting this, and generating a local path.

1321과 같이 이동 객체들의 변화가 크지 않은 경우에는 도 6에서 살펴본 바와 같이 인접 영역과 보다 멀리 배치된 다른 영역으로 로봇이 주행한 후, 다시 장애물 영역 주변으로 회귀하여 이동 객체들을 센싱하고 로봇의 진입 여부를 확인할 수 있다. When the change of the moving objects is not large as shown in 1321, as shown in FIG. 6, the robot travels to another area farther away from the adjacent area, then returns to the vicinity of the obstacle area, senses the moving objects, and whether the robot enters. can be checked.

1322와 같이 이동 객체들의 변화가 큰 경우에는 도 7에서 살펴본 바와 같이 인접 영역으로 로봇이 주행하여 소정의 기능을 수행한 후, 다시 장애물 영역 주변으로 회귀하여 이동 객체들을 센싱하고 로봇의 진입 여부를 확인할 수 있다.When the change of moving objects is large as shown in 1322, as shown in FIG. 7, the robot runs to the adjacent area and performs a predetermined function, then returns to the vicinity of the obstacle area, senses the moving objects, and checks whether the robot enters. can

한편 로봇의 제어부(900) 및 통신부(500)는 장애물 영역에 대한 위치 정보를 서버 또는 다른 로봇에 송신하여, 이들로부터 장애물 영역의 작업 시간 정보를 수신할 수 있다. 예를 들어, 로봇이 1220의 장애물 영역의 x/y 위치 정보를 서버 혹은 로봇으로 송신하면, 서버 혹은 로봇은 해당 x/y 위치 정보에 대응하는 공간에서 소정의 작업(티케팅, 수리 등)이 이루어지는 시간에 대한 정보를 수신할 수 있다. On the other hand, the control unit 900 and the communication unit 500 of the robot may transmit the location information on the obstacle area to the server or other robot, and receive the working time information of the obstacle area from them. For example, when the robot transmits x/y location information of the obstacle area of 1220 to a server or robot, the server or robot performs a predetermined operation (ticketing, repair, etc.) in a space corresponding to the corresponding x/y location information. You can receive information about time.

이는 1330과 같이 작업이 이루어지는 공간에 대한 정보 및 작업 시간 정보(Time: 14:00~15:00)가 함께 수신될 수 있으며, 로봇의 제어부(900)는 이를 반영하여 해당 시간 동안 장애물 영역이 유지되는 것으로 판단하고 로컬 경로를 생성할 수 있다. As in 1330, information on the space where the work is performed and the work time information (Time: 14:00 to 15:00) may be received together, and the control unit 900 of the robot reflects this and maintains the obstacle area for the corresponding time. It can be determined that it is possible and a local path can be created.

도 14는 본 발명의 일 실시예에 의한 미기능 영역으로 로봇이 회귀하여 기능을 수행하는 경로를 보여주는 도면이다. 14 is a diagram illustrating a path through which a robot returns to a non-functional area and performs a function according to an embodiment of the present invention.

앞서 도 6의 실시예는 로봇이 설정한 장애물 영역의 유지 기간이 오래 지속되므로 다른 영역으로 이동하여 기능을 수행하도록 로컬 경로를 살펴보았다. 우측 하단의 (13, 1)의 "R" 위치에서 출발하였다. In the embodiment of FIG. 6, since the maintenance period of the obstacle area set by the robot lasts for a long time, a local path was examined to move to another area to perform a function. It started at the "R" position of (13, 1) in the lower right.

이후, 로봇은 다른 영역에서 기능을 수행한 후, 다시 단절점(5, 8)을 통과하여 이동한다. 그리고 로봇은 단절점(5, 7) 지점("R" 표시)에서 새로이 어라운드 맵을 생성하여 이동 객체들이 없는 경우, 미기능 영역들을 대상으로 로컬 경로를 생성한다. 특히 앞서 설정하였던 장애물 영역으로 이동하는 로컬 경로를 생성하여 로봇의 이동부(300)가 로컬 경로에 따라 장애물 영역으로 이동하도록 제어부(900)가 제어할 수 있다. Thereafter, after performing a function in another area, the robot moves through the breakpoints 5 and 8 again. In addition, the robot creates a new around map at the breakpoints 5 and 7 (marked "R") and, when there are no moving objects, creates a local path for non-functional areas. In particular, the controller 900 may control the movement unit 300 of the robot to move to the obstacle area according to the local path by creating a local path to move to the obstacle area previously set.

도 14에서 장애물 영역(221)에 더 이상 이동 객체가 배치되지 않으므로, 제어부(900)는 미기능 영역의 구성에 따라 로컬 경로를 생성할 수 있다. 이때, 미기능 영역에 대응하는 메인 경로를 반영하여 로컬 경로를 생성할 수 있다. Since the moving object is no longer disposed in the obstacle area 221 in FIG. 14 , the controller 900 may generate a local path according to the configuration of the non-functional area. In this case, a local path may be generated by reflecting the main path corresponding to the non-functional area.

전술한 실시예들을 적용할 경우, 공항, 호텔, 병원, 놀이공원 등과 같은 대면적의복잡한 환경에서의 청소, 보안, 안내 등의 기능을 수행하기 위한 경로 결정 알고리즘을 최적화하여 로봇의 이동 및 기능 수행 효율을 향상시킬 수 있다. 특히, 로봇 주변의 장애물 정보를 어라운드 맵으로 생성하여 로봇 주행에 반영하도록 로컬 경로를 생성함으로써 로봇의 장애물 대응능력을 향상시키고, 청소, 안내, 보안 등의 기능 효율을 높이면서도 사고 위험성을 줄일 수 있다. When the above-described embodiments are applied, the robot moves and functions by optimizing the path determination algorithm for performing functions such as cleaning, security, and guidance in a complex environment of a large area such as airports, hotels, hospitals, amusement parks, etc. efficiency can be improved. In particular, it is possible to improve the robot's ability to respond to obstacles by creating a local route to reflect the information about obstacles around the robot as an around map and to reflect it in the robot's driving, and it is possible to reduce the risk of accidents while increasing the efficiency of functions such as cleaning, guidance, and security. .

특히 메인 경로 및 로컬 경로를 생성함에 있어서 로봇의 기능의 특징에 따라 혹은 로봇의 이동 방식의 특징에 따라 가장 효율적인 경로를 생성할 수 있으며 이는 청소, 안내, 보안 등의 기능을 수행함에 있어서 속도와 효율을 모두 높인다.In particular, in generating the main path and local path, the most efficient path can be created according to the characteristics of the robot's function or the characteristics of the robot's movement method. raise all

도 15는 본 발명의 일 실시예에 의한 장애물 영역 저장부의 구성을 보여주는 도면이다. 시리얼 번호(Serial)에 따라 장애물 영역의 구역(Area) 및 유지 기간(Period)가 저장된다. 002의 경우 두 개의 사각형으로 장애물 영역이 정의되는 것을 보여준다. 제1사각형 영역은 좌하단 셀로 (2, 0) 및 우상단 셀로 (3, 3)에 의해 정의된다. 제2사각형 영역은 좌하단 셀로 (3, 4) 및 우상단 셀로 (5, 6)에 의해 정의된다.15 is a view showing the configuration of an obstacle area storage unit according to an embodiment of the present invention. According to the serial number (Serial), the area of the obstacle area and the maintenance period (Period) are stored. 002 shows that the obstacle area is defined by two rectangles. The first rectangular region is defined by the lower left cello (2, 0) and the upper right cello (3, 3). The second rectangular region is defined by the lower left cello (3, 4) and the upper right cello (5, 6).

도 16은 본 발명의 일 실시예에 의한 토탈 맵에 미기능 영역과 기능 수행 영역을 구분하여 표시한 실시예이다. 토탈 맵(1620)에 기능 수행을 완료한 영역은 "C"로 표시하고, 장애물 영역으로 인해 기능을 수행하지 못한 영역은 빈 칸으로 둔다. 이 경우 로봇의 제어부는 빈 칸으로 된 영역으로 다시 회귀하기 위해 로컬 경로를 생성할 수 있다. 16 is an embodiment in which a non-functional area and a function-performing area are separately displayed on the total map according to an embodiment of the present invention. In the total map 1620 , the area in which the function has been performed is indicated by "C", and the area in which the function is not performed due to the obstacle area is left blank. In this case, the robot's control unit can generate a local path to return back to the blank area.

로봇("R"로 표기)이 (9, 13)에서 경로가 종료하고 장애물 영역을 포함한 미기능 영역으로 이동하여 기능을 수행하기 위한 로컬 경로를 생성하기 위해서는 미기능 영역들 및 미기능 영역을 주행한 후 통과해야 하는 지점(도 16에서는 (19, 1) 지점)을 고려하여 로컬 경로를 생성할 수 있다. 또한, 단절점(도 16의 (5, 7) 지점)을 반드시 통과해야 하므로 이를 고려하여 제어부(900)는 로컬 경로를 생성할 수 있다. The robot (denoted by "R") travels through non-functional areas and non-functional areas to create a local path to perform a function by moving to a non-functional area including an obstacle area after the path ends at (9, 13) A local route may be generated in consideration of a point to be passed through after completion of the process (point (19, 1) in FIG. 16 ). In addition, since it must pass through the breaking point (point (5, 7) in FIG. 16 ), the controller 900 may generate a local path in consideration of this.

따라서, 로봇의 제어부(900)는 로봇의 현재 위치인 (9, 13), 목표 지점인 (19, 1), 그리고 단절점인 (5, 7)을 통과하며 미기능 영역을 모두 주행하여 기능을 수행하는 로컬 경로를 생성할 수 있으며, 이러한 로컬 경로는 일부 영역에서는 메인 경로를 반영하고 일부 영역에서는 메인 경로를 반영하지 않을 수 있다. 또한, 제어부(900)가 로봇의 이동 및 회전 속도, 기능 수행 속도에 기반한 변수를 바탕으로 로컬 경로 및 메인 경로를 생성할 수 있음은 앞서 살펴보았다. Accordingly, the control unit 900 of the robot passes through (9, 13), the current position of the robot, (19, 1), the target point, and (5, 7), the break point, and travels all the non-functional areas to perform the function. It is possible to create a local route to perform, and such a local route may reflect the main route in some areas and not reflect the main route in some areas. In addition, it has been previously described that the control unit 900 can generate a local path and a main path based on variables based on the movement and rotation speed of the robot and the function execution speed.

또한, 로봇에 설치된 인터페이스부를 통해 로봇이 기능을 수행하지 않은 영역을 표시할 수 있다. 뿐만 아니라, 로봇은 미기능 영역에 대한 정보를 서버 또는 다른 로봇에게 제공하여 다른 로봇이 동일하게 미기능 영역을 주행하는 과정에서 기능을 수행할 수 있다. In addition, an area in which the robot does not perform a function may be displayed through the interface unit installed in the robot. In addition, the robot may provide information on the non-functional area to the server or other robots, so that other robots can perform functions in the process of driving the non-functional area in the same manner.

로봇은 통신부(500)를 이용하여 외부의 서버 또는 외부의 다른 로봇과 미기능 영역에 대한 정보의 송수신을 수행할 수 있다. 또한, 로봇이 미기능 영역으로 진입하기 전에 다른 로봇으로부터 해당 미기능 영역에 대한 어라운드 맵을 수신하여 만약 미기능 영역이 여전히 이동 객체가 배치된 경우, 로봇은 이동하지 않을 수 있다. 이는 로봇의 불필요한 이동을 줄일 수 있다. 특히, 다수의 로봇들이 공간에 배치된 경우, 미기능 영역에 대한 정보를 효율적으로 공유할 수 있다.The robot may transmit/receive information on a non-functional area with an external server or another external robot using the communication unit 500 . In addition, before the robot enters the non-functional area, it receives an around map for the non-functional area from another robot, so that if the non-functional area still has moving objects, the robot may not move. This can reduce unnecessary movement of the robot. In particular, when a plurality of robots are arranged in a space, information on a non-functional area can be efficiently shared.

본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다. Even though all components constituting an embodiment of the present invention are described as being combined or operated as one, the present invention is not necessarily limited to this embodiment, and all components within the scope of the present invention are one or more may be selectively combined to operate. In addition, all of the components may be implemented as one independent hardware, but some or all of the components are selectively combined to perform some or all functions of the combined components in one or a plurality of hardware program modules It may be implemented as a computer program having Codes and code segments constituting the computer program can be easily deduced by those skilled in the art of the present invention. Such a computer program is stored in a computer readable storage medium (Computer Readable Media), read and executed by the computer, thereby implementing the embodiment of the present invention. The storage medium of the computer program includes a magnetic recording medium, an optical recording medium, and a storage medium including a semiconductor recording device. In addition, the computer program implementing the embodiment of the present invention includes a program module that is transmitted in real time through an external device.

이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.In the above, although the embodiment of the present invention has been mainly described, various changes or modifications may be made at the level of those skilled in the art. Accordingly, it will be understood that such changes and modifications are included within the scope of the present invention without departing from the scope of the present invention.

1000: 로봇 100: 센싱모듈
200: 맵저장부 210: 토탈 맵
220: 어라운드 맵 230: 장애물 영역 저장부
240: 경로 저장부 300: 이동부
400:기능부 500: 통신부
1000: robot 100: sensing module
200: map storage unit 210: total map
220: around map 230: obstacle area storage unit
240: path storage unit 300: moving unit
400: function unit 500: communication unit

Claims (16)

로봇의 제어부가 맵 저장부에 저장한 토탈 맵에 기반하여 메인 경로를 생성하고 상기 메인 경로에 따라 로봇을 주행시키는 단계;
상기 로봇의 센싱모듈은 상기 토탈 맵에 대응하는 영역 보다 작은 크기의 제1영역에 배치된 객체들의 위치를 센싱하며, 상기 제어부는 상기 객체들의 위치를 저장하는 제1어라운드 맵을 생성하는 단계;
상기 제어부는 상기 제1어라운드 맵과 상기 토탈 맵을 비교하여 이동 객체를 식별하고 상기 제1영역 또는 상기 제1영역과 일부 또는 전부가 중첩하는 장애물 영역을 설정하는 단계;
상기 제어부는 상기 장애물 영역의 유지 기간에 따라 상기 장애물 영역 중 미기능 영역을 설정하고 상기 메인 경로와 상이하며 상기 미기능 영역을 제외하는 새로운 로컬 경로를 생성하여 상기 로봇이 상기 로컬 경로에 따라 이동하도록 상기 로봇의 이동부를 제어하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
generating a main route based on the total map stored in the map storage unit by the controller of the robot and driving the robot according to the main route;
generating, by the sensing module of the robot, the positions of objects arranged in a first area having a size smaller than the area corresponding to the total map, and the control unit generating a first around map storing the positions of the objects;
comparing, by the control unit, the first around map and the total map to identify a moving object, and setting the first area or an obstacle area partially or entirely overlapping with the first area;
The control unit sets a non-functional area among the obstacle areas according to the maintenance period of the obstacle area and creates a new local path that is different from the main path and excludes the non-functional area so that the robot moves according to the local path. A method of changing a path using an around map, comprising controlling the moving part of the robot.
제1항에 있어서,
상기 제1어라운드 맵을 생성하는 단계는
상기 센싱모듈의 뎁스 센싱부가 상기 로봇의 주변에 배치된 객체들의 뎁스 정보를 산출하는 단계; 및
상기 센싱모듈의 센싱 데이터 분석부가 상기 객체들의 뎁스 정보를 상기 로봇을 기준으로 하는 거리 정보로 변환하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
According to claim 1,
The step of generating the first around map is
calculating, by a depth sensing unit of the sensing module, depth information of objects disposed around the robot; and
and converting, by the sensing data analysis unit of the sensing module, the depth information of the objects into distance information based on the robot, a method of changing a path using an around map.
제2항에 있어서,
상기 제1어라운드 맵을 생성하는 단계는
상기 센싱모듈의 라이다 센싱부가 레이저 신호를 송신한 후 상기 객체들로부터 반사된 신호의 특성에 따라 상기 객체들의 거리 및 특성 정보를 산출하는 단계를 더 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
3. The method of claim 2,
The step of generating the first around map is
After the lidar sensing unit of the sensing module transmits a laser signal, the method further comprising calculating distances and characteristic information of the objects according to the characteristics of the signals reflected from the objects, using an around map to change a path method.
제1항에 있어서,
상기 장애물 영역을 설정하는 단계는
상기 제어부가 상기 이동 객체들의 군집도를 산출하는 단계; 및
상기 제어부가 상기 군집도에 따라 상기 제1영역 또는 상기 제1영역에 인접한 영역 내에서 상기 이동 객체들이 배치된 외곽선을 상기 장애물 영역으로 설정하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
According to claim 1,
The step of setting the obstacle area is
calculating, by the controller, a degree of clustering of the moving objects; and
Changing a path using an around map, comprising, by the controller, setting an outline in which the moving objects are disposed in the first area or an area adjacent to the first area as the obstacle area according to the clustering degree method.
제1항에 있어서,
통신부는 상기 장애물 영역에 대한 위치 정보를 서버 또는 다른 로봇에 송신하는 단계; 및
상기 통신부가 상기 서버 또는 상기 다른 로봇으로부터 상기 장애물 영역의 작업 시간 정보를 수신하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
According to claim 1,
Transmitting, by the communication unit, location information on the obstacle area to a server or another robot; and
A method of changing a route using an around map, comprising the step of the communication unit receiving work time information of the obstacle area from the server or the other robot.
제1항에 있어서,
상기 센싱모듈은 상기 제1영역에 배치된 객체들을 센싱하여 객체들의 위치를 저장하는 제2어라운드 맵을 생성하는 단계; 및
상기 제어부가 상기 제1어라운드 맵과 상기 제2어라운드 맵을 비교하여 상기 장애물 영역의 유지기간을 산출하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
According to claim 1,
generating, by the sensing module, a second around map for storing the positions of the objects by sensing the objects disposed in the first area; and
and calculating, by the controller, a maintenance period of the obstacle area by comparing the first around map with the second around map.
제1항에 있어서,
상기 유지 기간이 미리 정의된 기간 보다 짧은 경우,
상기 제어부는 상기 장애물 영역에 인접한 제2영역으로 주행하는 제1로컬 경로를 생성하는 단계; 및
상기 제어부는 상기 로봇이 상기 제1로컬 경로의 주행 후 상기 장애물 영역으로 주행하는 제2로컬 경로를 생성하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
According to claim 1,
If the holding period is shorter than a predefined period,
generating, by the controller, a first local path for traveling to a second area adjacent to the obstacle area; and
and generating, by the control unit, a second local path through which the robot travels to the obstacle area after traveling on the first local path.
제1항에 있어서,
상기 유지 기간이 미리 정의된 기간 보다 긴 경우,
상기 제어부는 상기 장애물 영역에 인접한 제2영역으로 주행하는 제1로컬 경로를 생성하는 단계; 및
상기 제2영역에서 상기 장애물 영역에 인접하지 않은 제3영역으로 주행하는 제2로컬 경로를 생성하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
According to claim 1,
If the holding period is longer than a predefined period,
generating, by the controller, a first local path for traveling to a second area adjacent to the obstacle area; and
and generating a second local route for traveling from the second area to a third area not adjacent to the obstacle area.
제8항에 있어서,
상기 로봇이 상기 제1로컬 경로 및 상기 제2로컬 경로에 따라 주행하도록 상기 제어부가 상기 이동부를 제어하는 단계 이후에,
상기 제어부는 상기 장애물 영역으로 이동하는 제3로컬 경로를 생성하여 상기 제3로컬 경로에 따라 이동하도록 상기 로봇의 이동부를 제어하는 단계를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
9. The method of claim 8,
After the step of controlling the moving unit by the control unit so that the robot travels according to the first local path and the second local path,
and controlling, by the controller, a moving unit of the robot to move according to the third local path by generating a third local path moving to the obstacle area.
제1항에 있어서,
상기 메인 경로는 하나 이상의 단절점을 포함하며,
상기 제어부가 상기 새로운 로컬 경로가 상기 단절점을 포함하도록 생성하는 단계와, 상기 제어부가 상기 단절점을 통과하여 상기 로봇을 상기 미기능 영역으로 이동시키는 단계를 더 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 방법.
According to claim 1,
The main path includes one or more breakpoints,
Path using an around map, further comprising: the control unit generating the new local path to include the break point; and the control unit passing the break point and moving the robot to the non-functional area how to change it.
로봇의 이동을 제어하는 이동부;
로봇이 이동하는 전체 공간에 대한 토탈 맵 및 상기 토탈 맵에 대응하는 영역 보다 작은 크기의 제1영역에 배치된 객체들의 위치를 저장하는 어라운드 맵을 저장하는 맵 저장부;
로봇의 외부에 배치된 객체를 센싱하는 센싱모듈; 및
상기 이동부, 맵 저장부, 센싱모듈을 제어하며, 상기 토탈 맵과 상기 어라운드 맵을 참조하여 메인 경로 및 로컬 경로를 생성하고, 상기 어라운드 맵과 상기 토탈 맵을 비교하여 이동 객체를 식별하여 상기 제1영역 또는 상기 제1영역과 일부 또는 전부가 중첩하는 장애물 영역을 설정하며, 상기 장애물 영역의 유지 기간에 따라 상기 장애물 영역 중 미기능 영역을 설정하고 상기 메인 경로와 상이하며 상기 미기능 영역을 제외하는 새로운 로컬 경로를 생성하여 상기 로봇이 상기 로컬 경로에 따라 이동하도록 상기 로봇의 이동부를 제어하는 제어부를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 로봇.
a moving unit for controlling the movement of the robot;
a map storage unit for storing a total map for the entire space in which the robot moves and an around map for storing positions of objects disposed in a first area having a size smaller than an area corresponding to the total map;
a sensing module for sensing an object disposed outside the robot; and
It controls the moving unit, the map storage unit, and the sensing module, generates a main path and a local path by referring to the total map and the around map, compares the around map and the total map to identify a moving object, 1 area or an obstacle area overlapping part or all of the first area is set, and a non-functional area is set among the obstacle areas according to the maintenance period of the obstacle area, and is different from the main route and the non-functional area is excluded A robot for changing a path using an around map, comprising a controller for controlling a movement unit of the robot to generate a new local path to move the robot according to the local path.
제11항에 있어서,
상기 센싱모듈은
상기 로봇의 주변에 배치된 객체들의 뎁스 정보를 산출하는 뎁스 센싱부; 및
상기 객체들의 뎁스 정보를 상기 로봇을 기준으로 하는 거리 정보로 변환하는 센싱 데이터 분석부를 포함하는, 어라운드 맵을 이용하여 경로를 변경하는 로봇.
12. The method of claim 11,
The sensing module is
a depth sensing unit configured to calculate depth information of objects disposed around the robot; and
A robot for changing a path using an around map, comprising a sensing data analyzer that converts the depth information of the objects into distance information based on the robot.
제11항에 있어서,
상기 제어부는 상기 이동 객체들의 군집도를 산출하여, 상기 군집도에 따라 상기 제1영역 또는 상기 제1영역에 인접한 영역 내에서 상기 이동 객체들이 배치된 외곽선을 상기 장애물 영역으로 설정하는, 어라운드 맵을 이용하여 경로를 변경하는 로봇.
12. The method of claim 11,
The control unit calculates a degree of clustering of the moving objects, and according to the degree of clustering, sets an outline in which the moving objects are arranged in the first area or an area adjacent to the first area as the obstacle area. A robot that uses it to change its path.
제11항에 있어서,
상기 유지 기간이 미리 정의된 기간 보다 짧은 경우,
상기 제어부는 상기 장애물 영역에 인접한 제2영역으로 주행하는 제1로컬 경로를 생성하고, 상기 로봇이 상기 제1로컬 경로의 주행 후 상기 장애물 영역으로 주행하는 제2로컬 경로를 생성하는, 어라운드 맵을 이용하여 경로를 변경하는 로봇.
12. The method of claim 11,
If the holding period is shorter than a predefined period,
The control unit generates a first local path that travels to a second area adjacent to the obstacle area, and generates a second local path through which the robot travels to the obstacle area after traveling on the first local path. A robot that uses it to change its path.
제11항에 있어서,
상기 유지 기간이 미리 정의된 기간 보다 긴 경우,
상기 제어부는 상기 장애물 영역에 인접한 제2영역으로 주행하는 제1로컬 경로를 생성하고, 상기 제2영역에서 상기 장애물 영역에 인접하지 않은 제3영역으로 주행하는 제2로컬 경로를 생성하는, 어라운드 맵을 이용하여 경로를 변경하는 로봇.
12. The method of claim 11,
If the holding period is longer than a predefined period,
The control unit generates a first local path for traveling to a second area adjacent to the obstacle area, and generates a second local path for traveling from the second area to a third area not adjacent to the obstacle area. A robot that changes its path using
제11항에 있어서,
상기 메인 경로는 하나 이상의 단절점을 포함하며,
상기 제어부는 상기 새로운 로컬 경로가 상기 단절점을 포함하도록 생성하며, 상기 제어부는 상기 단절점을 통과하여 상기 로봇을 상기 미기능 영역으로 이동시키는, 어라운드 맵을 이용하여 경로를 변경하는 로봇.
12. The method of claim 11,
The main path includes one or more breakpoints,
The control unit generates the new local path to include the break point, and the controller moves the robot to the non-functional area by passing the break point. A robot changing a path using an around map.
KR1020170033383A 2017-03-16 2017-03-16 Method of modifying path using around map and robot implementing thereof KR102286656B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170033383A KR102286656B1 (en) 2017-03-16 2017-03-16 Method of modifying path using around map and robot implementing thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170033383A KR102286656B1 (en) 2017-03-16 2017-03-16 Method of modifying path using around map and robot implementing thereof

Publications (2)

Publication Number Publication Date
KR20180105984A KR20180105984A (en) 2018-10-01
KR102286656B1 true KR102286656B1 (en) 2021-08-04

Family

ID=63877206

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170033383A KR102286656B1 (en) 2017-03-16 2017-03-16 Method of modifying path using around map and robot implementing thereof

Country Status (1)

Country Link
KR (1) KR102286656B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11967157B2 (en) 2021-08-20 2024-04-23 Samsung Electronics Co., Ltd. Robot and method for controlling thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210096886A (en) 2020-01-29 2021-08-06 한화디펜스 주식회사 Mobile surveillance apparatus and operation method thereof
KR102345826B1 (en) * 2021-01-05 2021-12-31 (주)시스콘 Autonomous moving apparatus based on map change and method for using the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100738887B1 (en) 2005-10-27 2007-07-12 엘지전자 주식회사 Driving method for moving robot and moving robot using the method
US20090210090A1 (en) 2008-02-18 2009-08-20 Toyota Motor Engineering & Manufacturing North America, Inc. Robotic system and method for observing, learning, and supporting human activities
JP2010191502A (en) 2009-02-16 2010-09-02 Toyota Motor Corp Mobile robot control system, method and program for searching path
JP2013254474A (en) 2012-02-10 2013-12-19 Konan Gakuen Obstacle detector
JP5886502B2 (en) 2012-12-20 2016-03-16 トヨタ自動車株式会社 MOBILE BODY CONTROL DEVICE, MOBILE BODY CONTROL METHOD, AND CONTROL PROGRAM

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100738887B1 (en) 2005-10-27 2007-07-12 엘지전자 주식회사 Driving method for moving robot and moving robot using the method
US20090210090A1 (en) 2008-02-18 2009-08-20 Toyota Motor Engineering & Manufacturing North America, Inc. Robotic system and method for observing, learning, and supporting human activities
JP2010191502A (en) 2009-02-16 2010-09-02 Toyota Motor Corp Mobile robot control system, method and program for searching path
JP2013254474A (en) 2012-02-10 2013-12-19 Konan Gakuen Obstacle detector
JP5886502B2 (en) 2012-12-20 2016-03-16 トヨタ自動車株式会社 MOBILE BODY CONTROL DEVICE, MOBILE BODY CONTROL METHOD, AND CONTROL PROGRAM

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11967157B2 (en) 2021-08-20 2024-04-23 Samsung Electronics Co., Ltd. Robot and method for controlling thereof

Also Published As

Publication number Publication date
KR20180105984A (en) 2018-10-01

Similar Documents

Publication Publication Date Title
US11927450B2 (en) Methods for finding the perimeter of a place using observed coordinates
US10620636B2 (en) Method of identifying functional region in 3-dimensional space, and robot implementing the method
US20230409032A1 (en) Method for controlling an autonomous, mobile robot
Kümmerle et al. A navigation system for robots operating in crowded urban environments
US11878427B2 (en) Robot navigation using 2D and 3D path planning
US10783363B2 (en) Method of creating map by identifying moving object, and robot implementing the method
WO2020140860A1 (en) Dynamic region division and region channel identification method, and cleaning robot
CN104536445B (en) Mobile navigation method and system
CN107121142A (en) The topological map creation method and air navigation aid of mobile robot
KR102461938B1 (en) Method of identifying obstacle on a driving surface and robot implementing thereof
JP4257230B2 (en) Mobile robot
KR20190142360A (en) Method and system for creating and sorting environment maps
KR102286656B1 (en) Method of modifying path using around map and robot implementing thereof
KR102350533B1 (en) Method of configuring position based on vision information and robot implementing thereof
CN104737085A (en) Robot and method for autonomous inspection or processing of floor areas
JP2006350776A (en) Traveling object route generating device
CN110874101B (en) Method and device for generating cleaning path of robot
KR20190024467A (en) Method of generating local path by target orientation and robot implementing thereof
KR20190143524A (en) Robot of moving waypoints based on obstace avoidance and method of moving
GB2584839A (en) Mapping of an environment
JP5765163B2 (en) Self-position estimation apparatus, method, and program
KR20180112622A (en) Method of configuring position based on identification of fixed object and moving object and robot implementing thereof
KR20180062315A (en) Apparatus and method for controlling cleaning function and robotic cleaner with the apparatus
KR102420090B1 (en) Method of drawing map by identifying moving object and robot implementing thereof
EP4332715A1 (en) Obstacle avoidance method and apparatus for self-walking device, and medium and electronic device

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant