KR20210117797A - Server and method for generating map based on object data and robot moving based on object map - Google Patents

Server and method for generating map based on object data and robot moving based on object map Download PDF

Info

Publication number
KR20210117797A
KR20210117797A KR1020200034539A KR20200034539A KR20210117797A KR 20210117797 A KR20210117797 A KR 20210117797A KR 1020200034539 A KR1020200034539 A KR 1020200034539A KR 20200034539 A KR20200034539 A KR 20200034539A KR 20210117797 A KR20210117797 A KR 20210117797A
Authority
KR
South Korea
Prior art keywords
map
basic
pose graph
generating
mobile robot
Prior art date
Application number
KR1020200034539A
Other languages
Korean (ko)
Other versions
KR102333612B1 (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 KR1020200034539A priority Critical patent/KR102333612B1/en
Publication of KR20210117797A publication Critical patent/KR20210117797A/en
Application granted granted Critical
Publication of KR102333612B1 publication Critical patent/KR102333612B1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means

Abstract

The present invention relates to a server for generating a map based on object information, which comprises: a pose information collecting unit for collecting pose information at a specific location within a specific place from a moving robot traveling in the specific location; a basic pose graph generating unit for generating a basic pose graph including a plurality of basic nodes located in the specific place on the basis of the collected pose information on the moving robot and at least one basic edge for connecting the basic nodes; an image receiving unit for receiving an image photographed by a camera from the moving robot; a layered pose graph generating unit for generating at least one layered pose graph for an object located in the specific place on the basis of the received image and the basic pose graph; and a map generating unit for generating a map on the specific place on the basis of the basic pose graph and the layered pose graph. Therefore, semantic-based spatial intelligence is applied to a plurality of moving robots.

Description

객체 정보에 기초하여 맵을 생성하는 서버 및 방법 그리고 맵에 따라 주행하는 이동 로봇{SERVER AND METHOD FOR GENERATING MAP BASED ON OBJECT DATA AND ROBOT MOVING BASED ON OBJECT MAP}A server and method for generating a map based on object information, and a mobile robot that drives according to the map

본 발명은 객체 정보에 기초하여 맵을 생성하는 서버 및 방법 그리고 맵에 따라 주행하는 이동 로봇에 관한 것이다. The present invention relates to a server and method for generating a map based on object information, and to a mobile robot that runs according to the map.

SLAM(Simulation Language for Alternative Modeling)이란 사건 중심 또는 프로세스 중심 방식의 시뮬레이션 언어로, 노드(node)들의 표준 기호들과 가지(branch)들을 사용하여 시스템을 상호 연결된 네트워크 구조로 표현하는 언어이다. SLAM의 모델은 사건이나 프로세스를 이용한 이산형 모델, 미분 방정식을 포함하는 연속형 모델, 모든 요소들을 이용한 혼합형 모델을 포함한다. SLAM (Simulation Language for Alternative Modeling) is an event-oriented or process-oriented simulation language, and is a language that expresses a system as an interconnected network structure using standard symbols and branches of nodes. Models of SLAM include discrete models using events or processes, continuous models including differential equations, and mixed models using all factors.

최근의 SLAM 기술은 이동 로봇에 적용되어 이동 로봇이 미지의 환경을 돌아다니면서 이동 로봇에 부착된 센서만으로 외부의 도움 없이 환경에 대한 정확한 지도를 작성할 수 있도록 함으로써, 자율 주행을 위한 핵심 기술로 이용되고 있다. Recently, SLAM technology has been applied to mobile robots, allowing the mobile robot to move around an unknown environment and create an accurate map of the environment without external help only with sensors attached to the mobile robot. have.

이러한 SLAM 기술과 관련하여, 선행기술인 한국등록특허 제 10-1739996호는 이동 로봇 및 이동 로봇의 위치 인식 및 지도 작성 방법을 개시하고 있다. In relation to this SLAM technology, Korean Patent Registration No. 10-1739996, which is a prior art, discloses a mobile robot and a method for recognizing a location and creating a map of the mobile robot.

종래의 SLAM 기술은 '주행'에만 초점이 맞춰져 있어, '의미'와는 무관한 주행이 수행되었다. 의미 기반의 주행 기술이란, 주변 환경의 유사성 계산 및 장애물 감지를 수행하는 것이 아닌, 주변 환경에 존재하는 물체가 무엇인지를 계산하고, 무엇에 대한 행위를 수행하도록 하는 주행 기술을 의미한다.Conventional SLAM technology focused only on 'driving', so driving was performed regardless of 'meaning'. The meaning-based driving technology refers to a driving technology that calculates what an object is in the surrounding environment and performs an action on it, rather than calculating the similarity of the surrounding environment and detecting obstacles.

그러나 의미 기반의 주행 기술의 경우, 이동 로봇이 주행할 경로 이외의 주변 환경 변화를 감지하고, 감지된 환경 변화에 따라 대응하기 어렵다는 단점을 가지고 있었다. 또한, 맵이 생성된 이후에 이동 로봇의 주행과 무관한 객체가 생성 및 소멸된 경우, 이동 로봇이 이에 대해 대응하기 어렵다는 단점을 가지고 있었다. However, in the case of meaning-based driving technology, it has a disadvantage in that it is difficult to detect changes in the surrounding environment other than the path to be driven by the mobile robot, and to respond according to the detected environmental change. In addition, when an object irrelevant to the driving of the mobile robot is created and destroyed after the map is generated, it has a disadvantage in that it is difficult for the mobile robot to respond.

특정 장소를 주행하는 이동 로봇으로부터 특정 장소 내의 특정 위치에서의 포즈 정보를 수집하고, 수집한 이동 로봇의 포즈 정보에 기초하여 특정 장소 내에 위치하는 복수의 기본 노드 및 복수의 기본 노드 간을 연결하는 적어도 하나의 기본 엣지를 포함하는 기본 포즈 그래프를 생성하는 서버, 방법 및 이동 로봇을 제공하고자 한다. Collecting pose information at a specific location in a specific location from a mobile robot traveling in a specific location, and at least connecting a plurality of basic nodes located in a specific location and a plurality of basic nodes based on the collected pose information of the mobile robot It is intended to provide a server, a method and a mobile robot for generating a basic pose graph including one basic edge.

이동 로봇으로부터 카메라를 통해 촬영된 영상을 수신하고, 수신한 영상 및 기본 포즈 그래프에 기초하여 특정 장소 내에 위치한 객체에 대한 적어도 하나의 레이어드 포즈 그래프를 생성하는 서버, 방법 및 이동 로봇을 제공하고자 한다. An object of the present invention is to provide a server, a method, and a mobile robot that receive an image captured by a camera from a mobile robot and generate at least one layered pose graph for an object located in a specific place based on the received image and a basic pose graph.

기본 포즈 그래프 및 적어도 하나의 레이어드 포즈 그래프에 기초하여 특정 장소에 대한 맵을 생성하는 서버, 방법 및 이동 로봇을 제공하고자 한다. An object of the present invention is to provide a server, a method, and a mobile robot that generate a map for a specific place based on a basic pose graph and at least one layered pose graph.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다. However, the technical problems to be achieved by the present embodiment are not limited to the technical problems described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 특정 장소를 주행하는 이동 로봇으로부터 상기 특정 장소 내의 특정 위치에서의 포즈(pose) 정보를 수집하는 포즈 정보 수집부, 상기 수집된 이동 로봇의 포즈 정보에 기초하여 상기 특정 장소 내에 위치하는 복수의 기본 노드 및 상기 복수의 기본 노드 간을 연결하는 적어도 하나의 기본 엣지를 포함하는 기본 포즈 그래프(pose graph)를 생성하는 기본 포즈 그래프 생성부, 상기 이동 로봇으로부터 카메라를 통해 촬영된 영상을 수신하는 영상 수신부, 상기 수신한 영상 및 상기 기본 포즈 그래프에 기초하여 상기 특정 장소 내에 위치한 객체에 대한 적어도 하나의 레이어드 포즈 그래프를 생성하는 레이어드 포즈 그래프 생성부 및 상기 기본 포즈 그래프 및 상기 적어도 하나의 레이어드 포즈 그래프에 기초하여 상기 특정 장소에 대한 맵을 생성하는 맵 생성부를 포함하는 맵 생성 서버를 제공할 수 있다. As a means for achieving the above-described technical problem, an embodiment of the present invention provides a pose information collecting unit that collects pose information at a specific location within the specific location from a mobile robot traveling in a specific location, the collection A basic pose graph for generating a basic pose graph including a plurality of basic nodes located in the specific place and at least one basic edge connecting between the plurality of basic nodes based on the pose information of the mobile robot A generation unit, an image receiving unit that receives an image captured by a camera from the mobile robot, and a layered pose generating at least one layered pose graph for an object located in the specific place based on the received image and the basic pose graph It is possible to provide a map generating server including a graph generating unit and a map generating unit generating a map for the specific place based on the basic pose graph and the at least one layered pose graph.

본 발명의 다른 실시예는, 특정 장소를 주행하는 이동 로봇에 대해 특정 위치에서의 포즈 정보를 측정하는 측정부, 카메라를 이용하여 상기 특정 위치에 대한 영상을 촬영하는 촬영부, 상기 측정된 특정 위치에서의 포즈 정보 및 상기 촬영된 영상을 맵 생성 서버로 전송하는 전송부, 상기 맵 생성 서버로부터 상기 특정 위치에서의 포즈 정보 및 상기 촬영된 영상에 포함된 객체 정보에 기초하여 생성된 상기 특정 장소에 대한 맵을 수신하는 수신부 및 상기 수신한 맵에 기초하여 상기 특정 장소를 주행하도록 제어하는 제어부를 포함하고, 상기 이동 로봇의 포즈 정보에 기초하여 특정 장소 내에 위치하는 복수의 기본 노드 및 상기 복수의 기본 노드 간을 연결하는 적어도 하나의 기본 엣지를 포함하는 기본 포즈 그래프(pose graph)가 생성되고, 상기 영상 및 상기 기본 포즈 그래프에 기초하여 상기 특정 장소 내에 위치한 객체에 대한 적어도 하나의 레이어드 포즈 그래프가 생성되고, 상기 기본 포즈 그래프 및 상기 적어도 하나의 레이어드 포즈 그래프에 기초하여 상기 특정 장소에 대한 맵이 생성되는 것인 이동 로봇을 제공할 수 있다. Another embodiment of the present invention provides a measuring unit that measures pose information at a specific position with respect to a mobile robot traveling in a specific place, a photographing unit that takes an image of the specific position using a camera, and the measured specific position a transmission unit that transmits the pose information and the captured image to a map generating server in a plurality of base nodes and the plurality of base nodes located in a specific place based on the pose information of the mobile robot, comprising: a receiving unit receiving a map for A basic pose graph including at least one basic edge connecting between nodes is generated, and at least one layered pose graph for an object located in the specific place is generated based on the image and the basic pose graph and, based on the basic pose graph and the at least one layered pose graph, it is possible to provide a mobile robot in which a map for the specific place is generated.

본 발명의 또 다른 실시예는, 특정 장소를 주행하는 이동 로봇으로부터 상기 특정 장소 내의 특정 위치에서의 포즈(pose) 정보를 수집하는 단계, 상기 수집된 이동 로봇의 포즈 정보에 기초하여 상기 특정 장소 내에 위치하는 복수의 기본 노드 및 상기 복수의 기본 노드 간을 연결하는 적어도 하나의 기본 엣지를 포함하는 기본 포즈 그래프(pose graph)를 생성하는 단계, 상기 이동 로봇으로부터 카메라를 통해 촬영된 영상을 수신하는 단계, 상기 수신한 영상 및 상기 기본 포즈 그래프에 기초하여 상기 특정 장소 내에 위치한 객체에 대한 적어도 하나의 레이어드 포즈 그래프를 생성하는 단계 및 상기 기본 포즈 그래프 및 상기 적어도 하나의 레이어드 포즈 그래프에 기초하여 상기 특정 장소에 대한 맵을 생성하는 단계를 포함하는 것인, 맵 생성 방법. Another embodiment of the present invention includes the steps of collecting pose information at a specific location within the specific location from a mobile robot traveling in a specific location, and within the specific location based on the collected pose information of the mobile robot. generating a basic pose graph including a plurality of located basic nodes and at least one basic edge connecting the plurality of basic nodes; receiving an image captured by a camera from the mobile robot , generating at least one layered pose graph for an object located in the specific place based on the received image and the basic pose graph, and the specific location based on the basic pose graph and the at least one layered pose graph and generating a map for

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary, and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 이동 로봇이 특정 장소 내에서 기본 포즈 그래프 및 레이어드 포즈 그래프에 기초하여 생성된 맵을 통해 주행하도록 하는 서버, 방법 및 이동 로봇을 제공할 수 있다. According to any one of the above-described problem solving means of the present invention, it is possible to provide a server, a method, and a mobile robot that allow the mobile robot to travel through a map generated based on the basic pose graph and the layered pose graph in a specific place. .

기본 포즈 그래프에 기초하여 객체별 또는 객체의 색상별로 적어도 하나의 레이어드 포즈 그래프를 생성하고, 레이어드 포즈 그래프에 기초하여 주행하도록 하는 제어 정보를 제공하는 서버, 방법 및 이동 로봇을 제공할 수 있다. It is possible to provide a server, a method, and a mobile robot that generate at least one layered pose graph for each object or each color of an object based on the basic pose graph and provide control information for driving based on the layered pose graph.

사용자로부터 특정 객체에 대한 제어 명령을 입력받은 경우, 특정 객체에 대한 제어 명령에 기초하여 특정 객체로 도달하도록 하기 위한 제어 정보를 이동 로봇으로 제공하는 서버, 방법 및 이동 로봇을 제공할 수 있다. When a control command for a specific object is received from a user, a server, a method, and a mobile robot that provide control information for reaching a specific object to a mobile robot based on the control command for the specific object may be provided.

의미 기반의 주행 기술을 이용하여 이동 로봇을 공간 지능 분야에 활용할 뿐만 아니라, 서버 기반의 공간 지능 적용을 통해 다수의 이동 로봇에게 의미 기반의 공간 지능을 적용하도록 하는 서버, 방법 및 이동 로봇을 제공할 수 있다. To provide a server, method, and mobile robot that not only utilizes mobile robots in the field of spatial intelligence using meaning-based driving technology, but also applies meaning-based spatial intelligence to multiple mobile robots through the application of server-based spatial intelligence. can

도 1은 본 발명의 일 실시예에 따른 맵 생성 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 맵 생성 서버의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 기본 포즈 그래프를 도시한 예시적인 도면이다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 객체별 레이어드 포즈 그래프를 생성하는 과정을 설명하기 위한 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 레이어드 포즈 그래프를 업데이트하는 과정을 설명하기 위한 예시적인 도면이다.
도 6은 본 발명의 일 실시예에 따른 이동 로봇이 주행할 경로와 관련된 제어 정보를 도출하는 과정을 설명하기 위한 예시적인 도면이다.
도 7은 본 발명의 일 실시예에 따른 맵 생성 서버에서 객체 정보에 기초하여 맵을 생성하는 방법의 순서도이다.
도 8은 본 발명의 일 실시예에 따른 이동 로봇의 구성도이다.
도 9는 본 발명의 일 실시예에 따른 이동 로봇에서 객체 정보에 기초하여 생성된 맵에 따라 주행하는 방법의 순서도이다.
1 is a block diagram of a map generating system according to an embodiment of the present invention.
2 is a block diagram of a map generating server according to an embodiment of the present invention.
3 is an exemplary diagram illustrating a basic pose graph according to an embodiment of the present invention.
4A and 4B are exemplary views for explaining a process of generating a layered pose graph for each object according to an embodiment of the present invention.
5 is an exemplary diagram for explaining a process of updating a layered pose graph according to an embodiment of the present invention.
6 is an exemplary view for explaining a process of deriving control information related to a path to be driven by the mobile robot according to an embodiment of the present invention.
7 is a flowchart of a method of generating a map based on object information in a map generating server according to an embodiment of the present invention.
8 is a block diagram of a mobile robot according to an embodiment of the present invention.
9 is a flowchart of a method of driving according to a map generated based on object information in a mobile robot according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement them. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Throughout the specification, when a part is "connected" with another part, this includes not only the case of being "directly connected" but also the case of being "electrically connected" with another element interposed therebetween. . Also, when a part "includes" a component, it means that other components may be further included, rather than excluding other components, unless otherwise stated, and one or more other features However, it is to be understood that the existence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded in advance.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.In this specification, a "part" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. In addition, one unit may be implemented using two or more hardware, and two or more units may be implemented by one hardware.

본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.Some of the operations or functions described as being performed by the terminal or device in the present specification may be instead performed by a server connected to the terminal or device. Similarly, some of the operations or functions described as being performed by the server may also be performed in a terminal or device connected to the server.

이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다. Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 맵 생성 시스템의 구성도이다. 도 1을 참조하면, 맵 생성 시스템(1)은 맵 생성 서버(110) 및 이동 로봇(120)을 포함할 수 있다. 맵 생성 서버(110) 및 이동 로봇(120)은 맵 생성 시스템(1)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것이다. 1 is a block diagram of a map generating system according to an embodiment of the present invention. Referring to FIG. 1 , a map generating system 1 may include a map generating server 110 and a mobile robot 120 . The map generating server 110 and the mobile robot 120 exemplarily show components that can be controlled by the map generating system 1 .

도 1의 맵 생성 시스템(1)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 맵 생성 서버(110)는 이동 로봇(120)과 동시에 또는 시간 간격을 두고 연결될 수 있다. Each component of the map generating system 1 of FIG. 1 is generally connected through a network. For example, as shown in FIG. 1 , the map generating server 110 may be connected to the mobile robot 120 at the same time or at a time interval.

네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다. A network refers to a connection structure that enables information exchange between each node, such as terminals and servers, and includes a local area network (LAN), a wide area network (WAN), and the Internet (WWW: World). Wide Web), wired and wireless data communication networks, telephone networks, wired and wireless television networks, and the like. Examples of wireless data communication networks include 3G, 4G, 5G, 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), Wi-Fi, Bluetooth communication, infrared communication, ultrasound Communication, Visible Light Communication (VLC), LiFi, etc. are included, but are not limited thereto.

맵 생성 서버(110)는 특정 장소(130)를 주행하는 이동 로봇(120)으로부터 특정 장소 내의 특정 위치에서의 포즈(pose) 정보를 수집할 수 있다. The map generation server 110 may collect pose information at a specific location within the specific location from the mobile robot 120 traveling in the specific location 130 .

맵 생성 서버(110)는 수집된 이동 로봇(120)의 포즈 정보에 기초하여 특정 장소 내에 위치하는 복수의 기본 노드 및 복수의 기본 노드 간을 연결하는 적어도 하나의 기본 엣지를 포함하는 기본 포즈 그래프(pose graph)를 생성할 수 있다. The map generation server 110 provides a basic pose graph ( pose graph) can be created.

맵 생성 서버(110)는 이동 로봇(120)으로부터 카메라를 통해 촬영된 영상을 수신할 수 있다. The map generation server 110 may receive an image captured by a camera from the mobile robot 120 .

맵 생성 서버(110)는 수신한 영상으로부터 특정 장소 내에 위치한 객체를 기정의된 객체 사전을 이용하여 인식하고, 인식된 객체와 관련된 색상 정보를 추출할 수 있다. The map generation server 110 may recognize an object located in a specific place from the received image using a predefined object dictionary, and extract color information related to the recognized object.

맵 생성 서버(110)는 수신한 영상 및 기본 포즈 그래프에 기초하여 특정 장소 내에 위치한 객체에 대한 적어도 하나의 레이어드 포즈 그래프를 생성할 수 있다. 예를 들어, 맵 생성 서버(110)는 추출된 객체와 관련된 색상 정보를 반영하여 추출된 객체에 대응하는 레이어를 생성할 수 있다. 구체적으로, 맵 생성 서버(110)는 추출된 객체의 클래스(Class)에 할당된 색상 정보를 이용하여 추출된 객체에 대응하는 레이어를 생성할 수 있다. 여기서, 레이어드 포즈 그래프는 복수의 기본 노드 및 적어도 하나의 기본 엣지에 기초하여 복수의 서브 노드 및 복수의 서브 노드 간을 연결하는 적어도 하나의 서브 엣지를 포함할 수 있다. The map generation server 110 may generate at least one layered pose graph for an object located in a specific place based on the received image and the basic pose graph. For example, the map generation server 110 may generate a layer corresponding to the extracted object by reflecting color information related to the extracted object. Specifically, the map generation server 110 may generate a layer corresponding to the extracted object by using color information assigned to a class of the extracted object. Here, the layered pose graph may include a plurality of sub-nodes and at least one sub-edge connecting the plurality of sub-nodes based on the plurality of basic nodes and at least one basic edge.

맵 생성 서버(110)는 영상에 포함된 적어도 둘 이상의 프레임에서 객체의 클래스와 동일한 클래스가 존재하는지 여부에 기초하여 레이어 상에 적어도 하나의 레이어드 포즈 그래프를 생성할 수 있다. The map generation server 110 may generate at least one layered pose graph on a layer based on whether the same class as the object class exists in at least two or more frames included in the image.

예를 들어, 맵 생성 서버(110)는 객체의 클래스와 동일한 클래스의 객체가 존재하는 경우, 기본 포즈 그래프에 기초하여 레이어 상에 객체의 존재 여부가 반영된 제 1 서브 노드 및 제 1 서브 노드 간을 연결하는 제 1 서브 엣지를 생성할 수 있다. For example, when an object of the same class as the class of the object exists, the map generation server 110 connects between the first sub-node and the first sub-node in which the existence of the object is reflected on the layer based on the basic pose graph. A connecting first sub-edge may be generated.

다른 예를 들어, 맵 생성 서버(110)는 객체의 클래스와 다른 클래스의 다른 객체가 존재하는 경우, 다른 객체와 관련된 색상 정보를 반영하여 다른 객체에 대응하는 신규 레이어를 생성할 수 있다. 예를 들어, 맵 생성 서버(110)는 다른 객체의 클래스(Class)에 할당된 색상 정보를 이용하여 다른 객체에 대응하는 레이어를 생성할 수 있다. 이후, 맵 생성 서버(110)는 기본 포즈 그래프에 기초하여 생성된 신규 레이어 상에 다른 객체의 존재 여부가 반영된 제 2 서브 노드 및 제 2 서브 노드 간을 연결하는 제 2 서브 엣지를 생성할 수 있다. For another example, when another object of a class different from the class of the object exists, the map generation server 110 may generate a new layer corresponding to the other object by reflecting color information related to the other object. For example, the map generation server 110 may generate a layer corresponding to another object by using color information assigned to a class of the other object. Thereafter, the map generation server 110 may generate a second sub-node connecting the second sub-node and the second sub-node in which the existence of another object is reflected on the new layer created based on the basic pose graph. .

맵 생성 서버(110)는 기본 포즈 그래프 및 적어도 하나의 레이어드 포즈 그래프에 기초하여 특정 장소에 대한 맵을 생성할 수 있다. 이 때, 맵 생성 서버(110)는 생성된 적어도 하나의 레이어드 포즈 그래프에 대해 불필요한 적어도 하나의 서브 노드 및 서브 엣지가 제거되도록 최적화를 수행할 수 있다. The map generation server 110 may generate a map for a specific place based on the basic pose graph and at least one layered pose graph. In this case, the map generation server 110 may perform optimization such that at least one sub-node and sub-edge unnecessary for the generated at least one layered pose graph are removed.

맵 생성 서버(110)는 생성된 특정 장소에 대한 맵에 기초하여 이동 로봇(120)이 주행할 경로와 관련된 제어 정보를 이동 로봇(120)으로 제공할 수 있다. The map generating server 110 may provide the mobile robot 120 with control information related to the path on which the mobile robot 120 will travel based on the generated map for a specific place.

맵 생성 서버(110)는 이동 로봇(120)으로부터 입력된 제어 명령을 수신한 경우, 수신한 제어 명령으로부터 특정 객체 및 특정 객체와 관련된 색상 정보를 도출하고, 도출된 특정 객체와 관련된 색상 정보에 대응하는 레이어를 도출할 수 있다. 예를 들어, 맵 생성 서버(110)는 추출된 특정 객체의 클래스(Class)에 할당된 색상 정보에 대응하는 레이어를 도출할 수 있다. 이후, 맵 생성 서버(110)는 특정 객체와 관련된 색상 정보에 대응하는 레이어에 포함된 특정 서브 노드 및 특정 서브 노드 간을 연결하는 특정 서브 엣지에 대한 리스트를 도출할 수 있다. When the map generating server 110 receives the control command input from the mobile robot 120, the map generation server 110 derives a specific object and color information related to the specific object from the received control command, and corresponds to the derived specific object-related color information. layers can be derived. For example, the map generation server 110 may derive a layer corresponding to color information assigned to a class of a specific extracted object. Thereafter, the map generation server 110 may derive a list of a specific sub-node included in a layer corresponding to color information related to a specific object and a specific sub-edge connecting between the specific sub-nodes.

맵 생성 서버(110)는 도출된 리스트에 기초하여 특정 객체로 도달하기 위한 경로에 대응하는 제어 정보를 생성하고, 생성된 제어 정보를 이동 로봇(120)으로 제공할 수 있다. The map generation server 110 may generate control information corresponding to a path for reaching a specific object based on the derived list, and may provide the generated control information to the mobile robot 120 .

이동 로봇(120)은 특정 장소를 주행하는 이동 로봇(120)에 대해 특정 위치에서의 포즈 정보를 측정할 수 있다. 예를 들어, 이동 로봇(120)은 이동 로봇(120)에 내장된 라이다 센서(LiDAR sensor)를 이용하여 특정 장소(130) 내의 공간을 스캔하고, 스캔된 공간에 대해 이동 로봇(120)이 위치한 특정 위치에서의 2차원 좌표 및 각도를 포함하는 포즈 정보를 측정할 수 있다. 라이다 센서는 레이저를 목표물에 비춰 사물과의 거리 및 다양한 물성을 감지할 수 있도록 하는 센서로, 주변 사물, 지형 등을 감지하여 이를 3D 영상으로 모델링할 수 있다. 이러한 라이다 센서는 이동 로봇(120)의 자율주행을 위해 이용되고 있다.The mobile robot 120 may measure pose information at a specific location with respect to the mobile robot 120 traveling in a specific location. For example, the mobile robot 120 scans a space in a specific place 130 using a LiDAR sensor built in the mobile robot 120 , and the mobile robot 120 detects the scanned space. Pose information including two-dimensional coordinates and an angle at a specific location can be measured. The LiDAR sensor is a sensor that can detect the distance to an object and various physical properties by shining a laser on the target. Such a lidar sensor is used for autonomous driving of the mobile robot 120 .

이동 로봇(120)은 카메라를 이용하여 특정 위치에 대한 영상을 촬영할 수 있다. The mobile robot 120 may take an image of a specific location using a camera.

이동 로봇(120)은 측정된 특정 위치에서의 포즈 정보 및 촬영된 영상을 맵 생성 서버(110)로 전송할 수 있다. The mobile robot 120 may transmit the measured pose information and the captured image at the specific location to the map generating server 110 .

이동 로봇(120)은 맵 생성 서버(110)로부터 특정 위치에서의 포즈 정보 및 영상에 포함된 객체 정보에 기초하여 생성된 특정 장소에 대한 맵을 수신할 수 있다. The mobile robot 120 may receive, from the map generation server 110 , a map for a specific place generated based on pose information at a specific location and object information included in an image.

이동 로봇(120)은 맵 생성 서버(110)로부터 생성된 특정 장소에 대한 맵에 기초하여 이동 로봇(120)이 주행할 경로와 관련된 제어 정보를 수신할 수 있다. The mobile robot 120 may receive control information related to a path on which the mobile robot 120 will travel based on a map for a specific place generated from the map generating server 110 .

이동 로봇(120)은 사용자로부터 특정 객체에 대한 제어 명령을 입력받을 수 있다. The mobile robot 120 may receive a control command for a specific object from a user.

이동 로봇(120)은 입력된 제어 명령을 맵 생성 서버(110)로 전송할 수 있다. 이 때, 이동 로봇(120)은 맵 생성 서버(110)로부터 제어 명령에 기초하여 특정 객체와 관련된 제어 정보를 수신할 수 있다. The mobile robot 120 may transmit the input control command to the map generation server 110 . In this case, the mobile robot 120 may receive control information related to a specific object based on a control command from the map generation server 110 .

이동 로봇(120)은 수신한 맵에 기초하여 특정 장소를 주행하도록 제어할 수 있다. 예를 들어, 이동 로봇(120)은 특정 장소(130) 내에서 특정 객체로 주행하도록 제어할 수 있다. The mobile robot 120 may control to travel in a specific place based on the received map. For example, the mobile robot 120 may be controlled to travel to a specific object in a specific place 130 .

이러한 이동 로봇(120)은 라이다 센서, 초음파 센서, 뎁스 카메라(depth camera), IMU, 5G 모뎀, 휠 인코더(wheel encoder), 모터 등을 포함하도록 구성될 수 있다. The mobile robot 120 may be configured to include a lidar sensor, an ultrasonic sensor, a depth camera, an IMU, a 5G modem, a wheel encoder, a motor, and the like.

도 2는 본 발명의 일 실시예에 따른 맵 생성 서버의 구성도이다. 도 2를 참조하면, 맵 생성 서버(110)는 포즈 정보 수집부(210), 기본 포즈 그래프 생성부(220), 영상 수신부(230), 객체 추출부(240), 레이어드 포즈 그래프 생성부(250), 맵 생성부(260), 제어 정보 제공부(270), 제어 명령 수신부(280) 및 도출부(290)를 포함할 수 있다. 2 is a block diagram of a map generating server according to an embodiment of the present invention. Referring to FIG. 2 , the map generation server 110 includes a pose information collection unit 210 , a basic pose graph generation unit 220 , an image reception unit 230 , an object extraction unit 240 , and a layered pose graph generation unit 250 . ), a map generation unit 260 , a control information providing unit 270 , a control command receiving unit 280 , and a derivation unit 290 .

포즈 정보 수집부(210)는 특정 장소(130)를 주행하는 이동 로봇(120)으로부터 특정 장소(130) 내의 특정 위치에서의 포즈(pose) 정보를 수집할 수 있다. 여기서, 포즈 정보는 특정 위치에서의 이동 로봇(120)의 좌표 정보 및 방향 정보 등을 포함할 수 있다. 포즈 정보(Pose=(x, h))는 예를 들어, x가 3차원 실수 공간의 점을 나타내고, h는가 해밀턴(Hamilton) 4원수를 나타내어 3차원 상의 방향이 나타내어지도록 할 수 있다. The pose information collecting unit 210 may collect pose information at a specific location within the specific location 130 from the mobile robot 120 traveling in the specific location 130 . Here, the pose information may include coordinate information and direction information of the mobile robot 120 at a specific location. In the pose information Pose=(x, h), for example, x may represent a point in a three-dimensional real space, and h may represent a Hamilton quaternary, so that a three-dimensional direction may be indicated.

기본 포즈 그래프 생성부(220)는 수집된 이동 로봇(120)의 포즈 정보에 기초하여 특정 장소(130) 내에 위치하는 복수의 기본 노드 및 복수의 기본 노드 간을 연결하는 적어도 하나의 기본 엣지를 포함하는 기본 포즈 그래프(pose graph)를 생성할 수 있다. 기본 포즈 그래프를 생성하는 과정에 대해서는 도 3을 통해 상세히 설명하도록 한다. The basic pose graph generator 220 includes a plurality of basic nodes located in a specific place 130 based on the collected pose information of the mobile robot 120 and at least one basic edge connecting the plurality of basic nodes. You can create a basic pose graph that does The process of generating the basic pose graph will be described in detail with reference to FIG. 3 .

도 3은 본 발명의 일 실시예에 따른 기본 포즈 그래프를 도시한 예시적인 도면이다. 도 3을 참조하면, 기본 포즈 그래프 생성부(220)는 포즈 정보에 기초하여 특정 장소(130) 내에 위치하는 복수의 기본 노드 및 복수의 기본 노드 간을 연결하는 적어도 하나의 기본 엣지를 포함하는 기본 포즈 그래프(300)를 생성할 수 있다. 3 is an exemplary diagram illustrating a basic pose graph according to an embodiment of the present invention. Referring to FIG. 3 , the basic pose graph generating unit 220 includes a plurality of basic nodes located in a specific place 130 based on the pose information and at least one basic edge connecting between the plurality of basic nodes. The pose graph 300 may be generated.

예를 들어, 기본 포즈 그래프 생성부(220)는 이동 로봇(120)이 특정 장소(130)를 이동하면서 수집한 포즈 정보에 기초하여 특정 장소(130) 내의 특정 위치에 대응하는 제 1 기본 노드(301) 및 제 2 기본 노드(302)를 생성하고, 제 1 기본 노드(301) 및 제 2 기본 노드(302) 간을 연결하는 제 1 기본 엣지(310)를 생성할 수 있다. 이러한 과정을 수행함으로써, 기본 포즈 그래프 생성부(220)는 특정 장소(130) 내에서 이동 로봇(120)이 주행 가능한 영역을 표시하는 지리적 그래프(geographical graph)로서 기본 포즈 그래프(300)를 생성할 수 있다. For example, the basic pose graph generating unit 220 may generate a first basic node ( 301 ) and the second basic node 302 , and a first basic edge 310 connecting between the first basic node 301 and the second basic node 302 may be generated. By performing this process, the basic pose graph generating unit 220 generates the basic pose graph 300 as a geographic graph indicating an area in which the mobile robot 120 can travel within a specific place 130 . can

기본 포즈 그래프(300)의 포즈는 각 위치 및 방향에서의 주변 환경의 검출을 위한 이동 경로를 나타낼 수 있다. 또한, 기본 포즈 그래프(300)는 기본 엣지를 따라 동일 장소로 인식되는가가 나타내어 지게 됨에 따라, 순간적으로 불변하는 특징을 가지고 있다. The pose of the basic pose graph 300 may represent a movement path for detection of the surrounding environment at each position and direction. In addition, the basic pose graph 300 has a characteristic that is instantaneously invariant as it is indicated whether it is recognized as the same place along the basic edge.

다시 도 2로 돌아와서, 영상 수신부(230)는 이동 로봇(120)으로부터 카메라를 통해 촬영된 영상을 수신할 수 있다. Returning to FIG. 2 , the image receiving unit 230 may receive an image captured by the camera from the mobile robot 120 .

객체 추출부(240)는 수신한 영상으로부터 특정 장소 내에 위치한 객체를 기정의된 객체 사전을 이용하여 인식하고, 인식된 객체와 관련된 색상 정보를 추출할 수 있다. 예를 들어, 객체 추출부(240)는 인식된 객체의 클래스(Class)에 할당된 색상 정보를 추출할 수 있다. The object extraction unit 240 may recognize an object located in a specific place from the received image using a predefined object dictionary, and extract color information related to the recognized object. For example, the object extraction unit 240 may extract color information assigned to a class of the recognized object.

레이어드 포즈 그래프 생성부(250)는 수신한 영상 및 기본 포즈 그래프에 기초하여 특정 장소(130) 내에 위치한 객체에 대한 적어도 하나의 레이어드 포즈 그래프를 생성할 수 있다. 여기서, 레이어드 포즈 그래프는 복수의 기본 노드 및 적어도 하나의 기본 엣지에 기초하여 복수의 서브 노드 및 복수의 서브 노드 간을 연결하는 적어도 하나의 서브 엣지를 포함할 수 있다. The layered pose graph generator 250 may generate at least one layered pose graph for an object located in the specific place 130 based on the received image and the basic pose graph. Here, the layered pose graph may include a plurality of sub-nodes and at least one sub-edge connecting the plurality of sub-nodes based on the plurality of basic nodes and at least one basic edge.

레이어드 포즈 그래프 생성부(250)는 영상에 포함된 적어도 둘 이상의 프레임에서 객체의 클래스와 동일한 클래스가 존재하는지 여부에 기초하여 레이어 상에 적어도 하나의 레이어드 포즈 그래프를 생성할 수 있다. 여기서, 하나의 서브 엣지는 적어도 둘 이상의 키 프레임(예를 들어, 특정 객체가 영상 내에 존재하다가 사라지는 특정 시점의 프레임)을 통해 특정 장소(130)의 동일한 위치로 인식됨에 따라, 이동 로봇(120)이 물리적 특성에 의해 서브 엣지를 따라 가면서 본 객체가 연속적으로 관찰될 수 있다는 특징을 갖는다. 또한, 이동 로봇(120)의 주행 시, 각 레이어를 수직 이동함에 따라, 의미 기반의 맵 정보가 순차적(sequential)으로 쌓이게 됨으로써, 이동 로봇(120)이 객체 기반의 맵에 대한 의미의 흐름을 이해할 수 있게 된다. The layered pose graph generator 250 may generate at least one layered pose graph on a layer based on whether the same class as the object class exists in at least two or more frames included in the image. Here, one sub-edge is recognized as the same position in a specific place 130 through at least two key frames (for example, a frame at a specific time point in which a specific object exists in the image and disappears), the mobile robot 120 Due to this physical property, the object can be continuously observed while following the sub-edge. In addition, as the mobile robot 120 moves vertically through each layer, semantic-based map information is sequentially accumulated, so that the mobile robot 120 understands the flow of meaning for the object-based map. be able to

만약, 영상에 포함된 적어도 둘 이상의 프레임에서 각각 다른 객체의 클래스가 7개 검출된 경우, 레이어드 포즈 그래프 생성부(250)는 기본 포즈 그래프에 해당해는 최하위 레이어 상에 7개의 레이어를 추가 생성하여 각 레이어별로 레이어드 포즈 그래프를 생성할 수 있다. 이 때, 맵은 기본 포즈 그래프 및 7개의 레이어드 포즈 그래프를 포함하여 총 8개의 레이어로 구성될 수 있다. If seven classes of different objects are detected in at least two or more frames included in the image, the layered pose graph generating unit 250 additionally creates seven layers on the lowest layer corresponding to the basic pose graph. You can create a layered pose graph for each layer. In this case, the map may be composed of a total of 8 layers including the basic pose graph and 7 layered pose graphs.

즉, 레이어드 포즈 그래프 생성부(250)는 클래스의 수에 기초하여 클래스별로 레이어를 생성한 후, 레이어드 포즈 그래프를 생성할 수 있다. 여기서, 클래스는 최대 N개로 설정될 수 있으므로, 기본 노드에 해당하는 각 레이어의 점들 또한 최대 N개가 될 수 있다. 예를 들어, A 기본 노드에 해당하는 위치에서 2개의 클래스가 인식된 경우, A 기본 노드에 해당하는 위치에 각 레이어별로 2개의 노드가 생성될 수 있다. That is, the layered pose graph generating unit 250 may generate a layered pose graph after generating a layer for each class based on the number of classes. Here, since the maximum number of classes may be set, N points of each layer corresponding to the base node may also be maximum. For example, when two classes are recognized at a location corresponding to the A base node, two nodes may be generated for each layer at a location corresponding to the A base node.

레이어드 포즈 그래프 생성부(250)는 객체의 클래스와 동일한 클래스의 객체가 존재하는 경우, 기본 포즈 그래프에 기초하여 레이어 상에 객체의 존재 여부가 반영된 제 1 서브 노드 및 제 1 서브 노드 간을 연결하는 제 1 서브 엣지를 생성할 수 있다. The layered pose graph generating unit 250 connects between the first sub-node and the first sub-node in which the existence of the object is reflected on the layer based on the basic pose graph when an object of the same class as the class of the object exists. A first sub-edge may be generated.

레이어드 포즈 그래프 생성부(250)는 이동 로봇(120)이 주행하면서, 특정 클래스에 해당하는 객체(예를 들어, 연필)가 존재하는 경우, 해당 클래스에 해당하는 레이어 상에 제 1 서브 노드를 생성할 수 있다. 이후, 이동 로봇(120)이 주행함에 따라, 이전에는 연필이 인식되었으나, 이후에 연필이 존재하지 않는 것과 같이 객체가 사라지는 키 프레임이 존재하는 경우, 레이어드 포즈 그래프 생성부(250)는 해당 레이어 상에 더 이상의 제 1 서브 노드를 생성하지 않을 수 있다. When an object (eg, a pencil) corresponding to a specific class exists while the mobile robot 120 is driving, the layered pose graph generating unit 250 generates a first sub-node on a layer corresponding to the corresponding class. can do. Thereafter, as the mobile robot 120 travels, the pencil was recognized before, but if there is a key frame in which the object disappears, such as the pencil does not exist thereafter, the layered pose graph generation unit 250 is displayed on the corresponding layer. No more first sub-nodes may be created in .

레이어드 포즈 그래프 생성부(250)는 2개의 제 1 서브 노드에서 동일한 클래스에 해당하는 객체가 인식된 경우, 해당 2개의 제 1 서브 노드를 제 1 서브 엣지로 연결시킬 수 있다. When an object corresponding to the same class is recognized by the two first sub-nodes, the layered pose graph generator 250 may connect the two first sub-nodes to the first sub-edges.

만약, 특정 장소(130) 내에서 공가시성(co-visibility)이 존재하지 않더라도, 2개의 제 1 서브 노드를 이용하여 클래스를 찾을 수 있다면, 레이어드 포즈 그래프 생성부(250)는 제 1 서브 엣지로 연결시킴으로써, 기본 포즈 그래프와는 다른 형태의 의미 그래프를 생성할 수 있다. 여기서, 의미 그래프는 기본 포즈 그래프와는 달리 1회성으로 생성되지 않으며, 초기 맵의 생성시 초기 생성될 수 있다. If a class can be found using two first sub-nodes even if co-visibility does not exist within a specific place 130, the layered pose graph generator 250 moves to the first sub-edge. By connecting, it is possible to create a semantic graph different from the basic pose graph. Here, the semantic graph is not generated once, unlike the basic pose graph, and may be initially generated when the initial map is generated.

레이어드 포즈 그래프 생성부(250)는 객체의 클래스와 다른 클래스의 다른 객체가 존재하는 경우, 다른 객체와 관련된 색상 정보를 반영하여 다른 객체에 대응하는 신규 레이어를 생성할 수 있다. 예를 들어, 레이어드 포즈 그래프 생성부(250)는 다른 객체의 클래스(Class)에 할당된 색상 정보를 이용하여 다른 객체에 대응하는 신규 레이어를 생성할 수 있다. When another object of a class different from the class of the object exists, the layered pose graph generator 250 may generate a new layer corresponding to the other object by reflecting color information related to the other object. For example, the layered pose graph generator 250 may generate a new layer corresponding to another object by using color information assigned to a class of the other object.

레이어드 포즈 그래프 생성부(250)는 기본 포즈 그래프에 기초하여 생성된 신규 레이어 상에 다른 객체의 존재 여부가 반영된 제 2 서브 노드 및 제 2 서브 노드 간을 연결하는 제 2 서브 엣지를 생성할 수 있다. The layered pose graph generator 250 may generate a second sub-node in which the existence of another object is reflected on a new layer generated based on the basic pose graph and a second sub-edge connecting between the second sub-nodes. .

객체별로 레이어드 포즈 그래프를 생성하는 과정에 대해서는 도 4a 및 도 4b를 통해 상세히 설명하도록 한다. The process of generating the layered pose graph for each object will be described in detail with reference to FIGS. 4A and 4B .

도 4a 및 도 4b는 본 발명의 일 실시예에 따른 객체별로 레이어드 포즈 그래프를 생성하는 과정을 설명하기 위한 예시적인 도면이다. 4A and 4B are exemplary views for explaining a process of generating a layered pose graph for each object according to an embodiment of the present invention.

도 4a를 참조하면, 기본 포즈 그래프 생성부(220)는 특정 장소(130) 내에 위치하는 복수의 기본 노드 및 복수의 기본 노드 간을 연결하는 적어도 하나의 기본 엣지를 포함하는 기본 포즈 그래프(400)를 생성할 수 있다. 이 때, 기본 포즈 그래프 생성부(220)는 기본 포즈 그래프(400)의 각 기본 노드 및 각 기본 엣지를 '검정색'으로 나타낼 수 있다. Referring to FIG. 4A , the basic pose graph generating unit 220 includes a plurality of basic nodes located in a specific place 130 and at least one basic edge connecting the plurality of basic nodes to the basic pose graph 400 . can create In this case, the basic pose graph generator 220 may represent each basic node and each basic edge of the basic pose graph 400 in 'black'.

객체 추출부(240)는 영상으로부터 특정 장소 내에 위치한 제 1 객체를 볼펜으로 인식하고, 레이어드 포즈 그래프 생성부(250)는 추출된 제 1 객체와 관련된 색상 정보를 반영하여 추출된 제 1 객체에 대응하는 레이어를 생성할 수 있다. 예를 들어, 볼펜의 클래스(Class)에 할당된 색상 정보가 '녹색'인 경우, 서브 노드 및 서브 엣지에 '녹색'이 반영되도록 '볼펜'에 대한 제 1 레이어를 생성할 수 있다. The object extraction unit 240 recognizes a first object located in a specific place from the image as a ballpoint pen, and the layered pose graph generation unit 250 reflects the color information related to the extracted first object to correspond to the extracted first object. layer can be created. For example, when the color information assigned to the class of the ballpoint pen is 'green', the first layer for the 'ballpoint pen' may be generated so that 'green' is reflected in the sub-node and sub-edge.

레이어드 포즈 그래프 생성부(250)는 '볼펜'에 해당하는 제 1 객체의 클래스와 동일한 클래스의 객체가 존재하는 경우, 기본 포즈 그래프(400)에 기초하여 레이어 상에 제 1 객체의 존재 여부가 반영된 제 1 서브 노드 및 제 1 서브 노드 간을 연결하는 제 1 서브 엣지를 생성할 수 있다. 예를 들어, 레이어드 포즈 그래프 생성부(250)는 제 1 객체인 '볼펜'과 동일한 클래스의 객체가 존재하는지 여부에 따라, 기본 포즈 그래프에 기초하여 제 1 레이어(410) 상에 제 1 객체의 존재 여부가 반영된 제 1 서브 노드 및 제 1 서브 노드 간을 연결하는 제 1 서브 엣지를 생성할 수 있다. When an object of the same class as the class of the first object corresponding to the 'ballpoint pen' exists, the layered pose graph generation unit 250 reflects the existence of the first object on the layer based on the basic pose graph 400. A first sub-edge connecting the first sub-node and the first sub-node may be generated. For example, the layered pose graph generating unit 250 determines whether an object of the same class as the first object 'ballpoint pen' exists on the first layer 410 based on the basic pose graph. It is possible to generate a first sub-node reflecting the existence of a first sub-node and a first sub-edge connecting between the first sub-nodes.

레이어드 포즈 그래프 생성부(250)는 '볼펜'에 해당하는 제 1 객체의 클래스와 다른 클래스에 해당하는 제 2 객체가 존재하는 경우, 제 2 객체와 관련된 색상 정보를 반영하여 제 2 객체에 대응하는 신규 레이어인 제 2 레이어(420)를 생성할 수 있다. 예를 들어, 객체 추출부(240)는 영상으로부터 특정 장소(130) 내에 위치한 제 2 객체를 '노트'로 인식하고, 레이어드 포즈 그래프 생성부(250)는 추출된 제 2 객체와 관련된 색상 정보를 반영하여 추출된 제 1 객체에 대응하는 레이어를 생성할 수 있다. 예를 들어, 노트의 클래스(Class)에 할당된 색상 정보가 '빨간색'인 경우, 서브 노드 및 서브 엣지에 '빨간색'이 반영되도록 '노트'에 대한 제 2 레이어(420)를 생성할 수 있다.When a second object corresponding to a class different from that of the first object corresponding to the 'ballpoint pen' exists, the layered pose graph generating unit 250 reflects color information related to the second object to correspond to the second object. A second layer 420 that is a new layer may be created. For example, the object extraction unit 240 recognizes the second object located in the specific place 130 from the image as a 'note', and the layered pose graph generation unit 250 obtains color information related to the extracted second object. A layer corresponding to the first object extracted by reflection may be generated. For example, when the color information assigned to the class of the note is 'red', the second layer 420 for the 'note' may be created so that 'red' is reflected in the sub node and the sub edge. .

레이어드 포즈 그래프 생성부(250)는 기본 포즈 그래프(400)에 기초하여 생성된 제2 레이어(420) 상에 제 2 객체의 존재 여부가 반영된 제 2 서브 노드 및 제 2 서브 노드 간을 연결하는 제 2 서브 엣지를 생성할 수 있다. The layered pose graph generating unit 250 is configured to connect a second sub-node in which the existence of the second object is reflected on the second layer 420 generated based on the basic pose graph 400 and the second sub-node to the second sub-node. You can create 2 sub-edges.

이러한 과정을 통해, 레이어드 포즈 그래프 생성부(250)는 최하위에 기본 포즈 그래프를 제 0 레이어로 위치시키고, 제 0 레이어 상에 '녹색' 색상이 반영된 제 1 레이어(410)를 위치시키고, 제 1 레이어(410) 상에 '빨간색' 색상이 반영된 제 2 레이어(420)를 위치시킬 수 있다. Through this process, the layered pose graph generator 250 places the basic pose graph at the bottom as the 0th layer, and places the first layer 410 in which the 'green' color is reflected on the 0th layer, and the first The second layer 420 in which the 'red' color is reflected may be positioned on the layer 410 .

도 4b를 참조하면, 기본 포즈 그래프에 해당하는 제 0 레이어에서 기본 엣지는 적어도 둘 이상의 프레임을 통해 공가시성(co-visibility)의 성질을 갖는다. 이러한 성질에 의해 각 객체의 클래스에 따라 해당 객체의 양쪽 노드에서는 해당 객체가 모두 보이게 되어, 동일한 객체의 색상이 양쪽 노드에 표현될 수 있다. 예를 들어, 볼펜에 해당하는 제 1 객체가 제 1 레이어(410)에서 F3에 위치한 경우, F3의 양쪽 노드인 F2 및 F4에서 제 1 객체가 모두 보이게 됨에 따라 제 1 객체의 색상이 양쪽 노드에 표현될 수 있다. 다른 예를 들어, 노트에 해당하는 제 2 객체가 제 2 레이어(420)에서 F2에 위치한 경우, F2의 양쪽 노드인 F1 및 F3에서 제 2 객체가 모두 보이게 됨에 따라 제 2 객체의 색상이 양쪽 노드에 표현될 수 있다. 여기서, 특정 기본 노드로부터 각 레이어를 통해 연결된 컴포넌트는 다수 존재할 수 있다. Referring to FIG. 4B , in the 0th layer corresponding to the basic pose graph, the basic edge has a property of co-visibility through at least two or more frames. Due to this property, according to the class of each object, both the corresponding object is visible at both nodes of the corresponding object, so that the color of the same object can be expressed in both nodes. For example, if the first object corresponding to the ballpoint pen is located at F3 in the first layer 410, as both the first objects are visible at both nodes F2 and F4 of F3, the color of the first object is at both nodes. can be expressed For another example, when the second object corresponding to the note is located at F2 in the second layer 420, the color of the second object changes to both nodes as the second object is visible at both nodes F1 and F3 of F2. can be expressed in Here, a plurality of components connected from a specific basic node through each layer may exist.

그러나 이동 로봇(120)의 주행에 따라 키 프레임이 변하게 되면, 객체는 영상에서 사라지게 되므로, 각 레이어는 제 0 레이어로부터 미연결된 부분 그래프의 형태로 각 레이어별 색상이 표현될 수 있다. 여기서, 생성된 부분 그래프를 최상위 레이어에서 투영하는 경우, 기본 노드가 보여질 수 있다. However, when the key frame is changed according to the movement of the mobile robot 120, the object disappears from the image, so that each layer can be expressed in a color of each layer in the form of a partial graph unconnected from the 0th layer. Here, when the generated partial graph is projected on the uppermost layer, the basic node can be seen.

다시 도 2로 돌아와서, 맵 생성부(260)는 기본 포즈 그래프 및 적어도 하나의 레이어드 포즈 그래프에 기초하여 특정 장소(130)에 대한 맵을 생성할 수 있다. 맵 생성부(260)는 다음의 수학식 1을 이용하여 이동 로봇(120)의 포즈 정보 및 색상 정보를 추정하여 맵을 생성할 수 있다. Returning to FIG. 2 again, the map generator 260 may generate a map for a specific place 130 based on the basic pose graph and at least one layered pose graph. The map generator 260 may generate a map by estimating pose information and color information of the mobile robot 120 using Equation 1 below.

Figure pat00001
Figure pat00001

수학식 1을 참조하면, 맵 생성부(260)는 기존의 벡터 공간에서 차원을 하나 추가시켜 독립된 공간의 색상 정보를 다루게 되므로, 기존의 칼만 필터와 함께 추가적인 1차원 칼만 필터를 적용하여 이동 로봇(120)의 포즈 정보 및 색상 정보를 추정하여 맵을 생성할 수 있다. Referring to Equation 1, since the map generator 260 handles color information in an independent space by adding one dimension to the existing vector space, the mobile robot ( 120), a map may be generated by estimating the pose information and color information.

맵 생성부(260)는 이동 로봇(120)이 주행하면서 촬영한 영상으로부터 주변 환경의 변화를 검출하여 서브 노드 및 서브 엣지를 업데이트할 수 있다. The map generator 260 may update the sub-node and sub-edge by detecting a change in the surrounding environment from the image captured by the mobile robot 120 while driving.

도 5는 본 발명의 일 실시예에 따른 레이어드 포즈 그래프를 업데이트하는 과정을 설명하기 위한 예시적인 도면이다. 5 is an exemplary diagram for explaining a process of updating a layered pose graph according to an embodiment of the present invention.

도 5를 참조하면, 레이어드 포즈 그래프 생성부(250)는 '연필'에 대한 초기 레이어드 포즈 그래프(500)를 생성할 수 있다. Referring to FIG. 5 , the layered pose graph generator 250 may generate an initial layered pose graph 500 for 'pencil'.

이후, 레이어드 포즈 그래프 생성부(250)는 A 서브 노드(510)에 해당하는 위치에서 '연필'이 신규 인식된 경우, A 서브 노드(510) 및 이웃 노드 간의 서브 엣지를 추가 연결하여 맵을 업데이트할 수 있다. Thereafter, when the 'pencil' is newly recognized at the position corresponding to the sub-node A 510, the layered pose graph generating unit 250 updates the map by additionally connecting the sub-edges between the sub-node A 510 and the neighboring node. can do.

맵 생성부(260)는 기본 포즈 그래프 및 업데이트된 레이어드 포즈 그래프에 기초하여 맵을 업데이트할 수 있다. The map generator 260 may update the map based on the basic pose graph and the updated layered pose graph.

이후, 레이어드 포즈 그래프 생성부(250)는 B 서브 노드(520)에 해당하는 위치에서 '연필'의 사라짐을 인식한 경우, B 서브 노드(520) 및 이웃 서브 노드 간의 서브 엣지를 삭제하여 맵을 업데이트할 수 있다. Then, when the layered pose graph generation unit 250 recognizes the disappearance of the 'pencil' at the position corresponding to the sub-node B 520, the sub-edge between the sub-node B 520 and the neighboring sub-node is deleted to create a map. can be updated.

맵 생성부(260)는 기본 포즈 그래프 및 추가 업데이트된 레이어드 포즈 그래프에 기초하여 맵을 추가 업데이트할 수 있다. The map generator 260 may additionally update the map based on the basic pose graph and the additionally updated layered pose graph.

종래의 맵 생성 기술은 맵이 생성된 이후, 이동 로봇(120)의 주행에 문제가 없는 경우, 맵의 재생성 또는 업데이트를 수행하지 않았다. In the conventional map generation technology, when there is no problem in the driving of the mobile robot 120 after the map is generated, the map is not regenerated or updated.

그러나 본 발명은 이동 로봇(120)이 주행하여 상위 레이어를 스캔하고, 해당 상위 레이어의 서브 노드가 최하위의 레이어에 해당하는 기본 포즈 그래프의 기본 노드가 일치하므로, 상위 레이어의 업데이트가 언제든 가능하다는 장점을 가지고 있다. However, in the present invention, the mobile robot 120 runs to scan the upper layer, and the sub-node of the upper layer matches the base node of the basic pose graph corresponding to the lowest layer, so the upper layer can be updated at any time. has a

이러한 과정을 통해, 맵 생성부(260)는 이동 로봇(120)의 주행에 따라 연결된 요소(connected component)를 따라 레이어를 수평 또는 수직으로 이동하면서, 의미 기반의 맵의 상태를 점검하고, 이를 업데이트할 수 있다. 여기서, 각 레이어의 상태는 메모리 및 기록 가능한 HDD에 저장되고, 이동 로봇(120)이 이동함에 따라 해당 노드에서의 변화가 인지될 수 있다. Through this process, the map generator 260 checks the state of the semantic-based map while moving the layer horizontally or vertically along the connected component according to the driving of the mobile robot 120 , and updates it. can do. Here, the state of each layer is stored in a memory and a recordable HDD, and as the mobile robot 120 moves, a change in the corresponding node may be recognized.

맵 생성부(260)는 생성된 적어도 하나의 레이어드 포즈 그래프에 대해 불필요한 적어도 하나의 서브 노드 및 서브 엣지가 제거되도록 최적화를 수행할 수 있다. 예를 들어, 맵 생성부(260)는 루프 결합(Loop Closure)에 의한 오류 보정 및 불필요한 서브 노드 및 서브 엣지의 삭제를 위해 최적화를 수행할 수 있다. 이 때, 동일 장소의 판단 오류에 따른 그래프 오류는 시맨틱 분할(Semantic Segmentation)의 레이어의 재검토를 통해 성능이 향상될 수 있다. The map generator 260 may perform optimization such that at least one unnecessary sub-node and sub-edge are removed from the generated at least one layered pose graph. For example, the map generator 260 may perform optimization for error correction by loop closure and deletion of unnecessary sub-nodes and sub-edges. In this case, the graph error caused by the judgment error of the same place may be improved through re-examination of the semantic segmentation layer.

잠시 도 4b를 참조하면, 맵 생성부(260)는 제 1 레이어(410)에 해당하는 레이어드 포즈 그래프 및 제 2 레이어(420)에 해당하는 레이어드 포즈 그래프를 이용하여 객체 비교에 따른 동일 지점을 확인할 수 있다. Referring briefly to FIG. 4B , the map generator 260 uses the layered pose graph corresponding to the first layer 410 and the layered pose graph corresponding to the second layer 420 to check the same point according to the object comparison. can

이 때, 제 1 레이어(410) 및 제 2 레이어(420)의 그래프는 순차적으로 확인될 수 있으며, 초록색이 반영된 제 1 레이어(410)의 가장 좌측 프레임은 보이지 않으나, 반대로 붉은색이 반영된 제 2 레이어(420)의 가장 우측 노드가 보이지 않는 않을 수 있다. At this time, the graphs of the first layer 410 and the second layer 420 may be sequentially checked, and the leftmost frame of the first layer 410 in which green is reflected is not visible, but on the contrary, the second frame in which red is reflected is not visible. The rightmost node of the layer 420 may not be visible.

이러한 과정을 통해, 오류 보정을 위해 각 레이어에 대한 재검토를 수행할 수도 있다. Through this process, reexamination of each layer may be performed for error correction.

제어 정보 제공부(270)는 생성된 특정 장소에 대한 맵에 기초하여 이동 로봇(120)이 주행할 경로와 관련된 제어 정보를 이동 로봇(120)으로 제공할 수 있다. 예를 들어, 제어 정보 제공부(270)는 기본 포즈 그래프에 기초하여 이동 로봇(120)이 주행할 경로와 관련된 제어 정보를 이동 로봇(120)으로 제공할 수 있다. 다른 예를 들어, 제어 정보 제공부(270)는 레이어드 포즈 그래프에 기초하여 이동 로봇(120)이 특정 객체로 도달하기 위해 주행할 경로와 관련된 제어 정보를 이동 로봇(120)으로 제공할 수 있다. 제어 정보를 제공하는 과정에 대해서는 도 6을 통해 상세히 설명하도록 한다. The control information providing unit 270 may provide the mobile robot 120 with control information related to a path on which the mobile robot 120 will travel based on the generated map for a specific place. For example, the control information providing unit 270 may provide the mobile robot 120 with control information related to the path on which the mobile robot 120 will travel based on the basic pose graph. As another example, the control information providing unit 270 may provide the mobile robot 120 with control information related to a path that the mobile robot 120 will travel to reach a specific object based on the layered pose graph. A process of providing control information will be described in detail with reference to FIG. 6 .

도 6은 본 발명의 일 실시예에 따른 이동 로봇이 주행할 경로와 관련된 제어 정보를 도출하는 과정을 설명하기 위한 예시적인 도면이다. 6 is an exemplary view for explaining a process of deriving control information related to a path to be driven by the mobile robot according to an embodiment of the present invention.

제어 명령 수신부(280)는 이동 로봇(120)으로부터 입력된 제어 명령을 수신할 수 있다. 예를 들어, 제어 명령 수신부(280)는 이동 로봇(120)으로부터 "로봇, 볼펜 찾아와"라는 제어 명령을 수신할 수 있다. The control command receiving unit 280 may receive a control command input from the mobile robot 120 . For example, the control command receiving unit 280 may receive a control command, “Robot, come to the ballpoint pen” from the mobile robot 120 .

도출부(290)는 수신한 제어 명령으로부터 특정 객체 및 특정 객체의 클래스(Class)에 해당하는 색상 정보를 도출하고, 도출된 특정 객체와 관련된 색상 정보에 대응하는 레이어를 도출할 수 있다. 예를 들어, 도출부(290)는 제어 명령에 포함된 객체를 '볼펜'으로 도출하고, '볼펜'의 클래스(Class)에 해당하는 색상을 '빨간색'으로 도출하여, '빨간색'의 색상이 반영된 레이어를 도출할 수 있다. The derivation unit 290 may derive color information corresponding to a specific object and a class of the specific object from the received control command, and may derive a layer corresponding to the derived color information related to the specific object. For example, the derivation unit 290 derives the object included in the control command as 'ballpoint pen' and derives the color corresponding to the class of 'ballpoint pen' as 'red', so that the color of 'red' is A reflected layer can be derived.

도출부(290)는 특정 객체와 관련된 색상 정보에 대응하는 레이어에 포함된 특정 서브 노드 및 특정 서브 노드 간을 연결하는 특정 서브 엣지에 대한 리스트를 도출할 수 있다. 예를 들어, 도출부(290)는 '빨간색' 레이어에 해당하는 특정 서브 노드 및 특정 서브 노드 간을 연결하는 특정 서브 엣지에 대한 리스트를 도출하고, 도출된 리스트로부터 '볼펜'까지의 최단거리 노드를 도출할 수 있다. The derivation unit 290 may derive a list of a specific sub-node included in a layer corresponding to color information related to a specific object and a specific sub-edge connecting between the specific sub-nodes. For example, the derivation unit 290 derives a list of a specific sub-node corresponding to the 'red' layer and a specific sub-edge connecting between the specific sub-nodes, and the shortest distance node from the derived list to the 'ballpoint pen' can be derived.

도6을 참조하면, 도출부(290)는 이동 로봇(120)이 인식한 볼펜의 실제 위치에 기초하여 이동 로봇(120)이 볼펜으로 도달하기 위한 이동 경로를 도출할 수 있다. 예를 들어, 현재의 이동 로봇(120)의 위치(600)로부터 구면 좌표계를 이용하여 pose(x0, y0, z0, q)에 대해 q를 이용하여 α및 β를 도출할 수 있다. 이 때, 볼펜의 포즈(610)는 (x, y, z, q)가 될 수 있다. Referring to FIG. 6 , the derivation unit 290 may derive a movement path for the mobile robot 120 to reach the ballpoint pen based on the actual position of the ballpoint pen recognized by the mobile robot 120 . For example, α and β may be derived using q for pose (x 0 , y 0 , z 0 , q) from the current position 600 of the mobile robot 120 using a spherical coordinate system. In this case, the pose 610 of the ballpoint pen may be (x, y, z, q).

이러한 과정을 통해, 제어 정보 제공부(270)는 도출된 리스트에 기초하여 특정 객체로 도달하기 위한 경로(620)에 대응하는 제어 정보를 생성하고, 생성된 제어 정보를 이동 로봇(120)으로 제공할 수 있다. 예를 들어, 제어 정보 제공부(270)는 도출된 '볼펜'까지의 최단거리 노드의 경로(620)에 해당하는 제어 정보를 생성하고, 생성된 제어 정보를 이동 로봇(120)으로 제공할 수 있다. Through this process, the control information providing unit 270 generates control information corresponding to the path 620 for reaching a specific object based on the derived list, and provides the generated control information to the mobile robot 120 . can do. For example, the control information providing unit 270 may generate control information corresponding to the path 620 of the shortest node to the derived 'ballpoint pen', and provide the generated control information to the mobile robot 120 . have.

도 7은 본 발명의 일 실시예에 따른 맵 생성 서버에서 객체 정보에 기초하여 맵을 생성하는 방법의 순서도이다. 도 7에 도시된 맵 생성 서버(110)에서 객체 정보에 기초하여 맵을 생성하는 방법은 도 1 내지 도 6에 도시된 실시예에 따른 맵 생성 시스템(1)에 의해 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 6에 도시된 실시예에 따른 맵 생성 서버(110)에서 객체 정보에 기초하여 맵을 생성하는 방법에도 적용된다. 7 is a flowchart of a method of generating a map based on object information in a map generating server according to an embodiment of the present invention. The method for generating a map based on object information in the map generating server 110 shown in FIG. 7 includes steps processed in time series by the map generating system 1 according to the embodiment shown in FIGS. 1 to 6 . include Accordingly, even if omitted below, the method for generating a map based on object information in the map generating server 110 according to the embodiment shown in FIGS. 1 to 6 is also applied.

단계 S710에서 맵 생성 서버(110)는 특정 장소를 주행하는 이동 로봇(120)으로부터 특정 장소 내의 특정 위치에서의 포즈(pose) 정보를 수집할 수 있다. In step S710 , the map generation server 110 may collect pose information at a specific location within a specific location from the mobile robot 120 traveling in a specific location.

단계 S720에서 맵 생성 서버(110)는 수집된 이동 로봇의 포즈 정보에 기초하여 특정 장소 내에 위치하는 복수의 기본 노드 및 복수의 기본 노드 간을 연결하는 적어도 하나의 기본 엣지를 포함하는 기본 포즈 그래프(pose graph)를 생성할 수 있다. In step S720, the map generation server 110 provides a basic pose graph ( pose graph) can be created.

단계 S730에서 맵 생성 서버(110)는 이동 로봇(120)으로부터 카메라를 통해 촬영된 영상을 수신할 수 있다. In step S730 , the map generation server 110 may receive an image captured by the camera from the mobile robot 120 .

단계 S740에서 맵 생성 서버(110)는 수신한 영상 및 기본 포즈 그래프에 기초하여 특정 장소 내에 위치한 객체에 대한 적어도 하나의 레이어드 포즈 그래프를 생성할 수 있다. In operation S740, the map generation server 110 may generate at least one layered pose graph for an object located in a specific place based on the received image and the basic pose graph.

단계 S750에서 맵 생성 서버(110)는 기본 포즈 그래프 및 적어도 하나의 레이어드 포즈 그래프에 기초하여 특정 장소에 대한 맵을 생성할 수 있다. In step S750, the map generation server 110 may generate a map for a specific place based on the basic pose graph and at least one layered pose graph.

상술한 설명에서, 단계 S710 내지 S750은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S710 to S750 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between the steps may be switched.

도 8은 본 발명의 일 실시예에 따른 이동 로봇의 구성도이다. 도 7을 참조하면, 이동 로봇(120)은 측정부(810), 촬영부(820), 전송부(830), 수신부(840), 제어부(850) 및 입력부(860)를 포함할 수 있다. 8 is a block diagram of a mobile robot according to an embodiment of the present invention. Referring to FIG. 7 , the mobile robot 120 may include a measuring unit 810 , a photographing unit 820 , a transmitting unit 830 , a receiving unit 840 , a control unit 850 , and an input unit 860 .

측정부(810)는 특정 장소를 주행하는 이동 로봇(120)에 대해 특정 위치에서의 포즈 정보를 측정할 수 있다. 예를 들어, 측정부(810)는 이동 로봇(120)에 구비된 라이다 센서를 이용하여 특정 장소(130) 내의 공간을 스캔하고, 스캔된 공간에 대한 2차원 상의 좌표 및 각도를 포함하는 포즈 정보를 측정할 수 있다.The measurement unit 810 may measure pose information at a specific location with respect to the mobile robot 120 traveling in a specific location. For example, the measurement unit 810 scans a space in a specific place 130 using a lidar sensor provided in the mobile robot 120 , and poses including coordinates and angles in two dimensions with respect to the scanned space. information can be measured.

촬영부(820)는 카메라를 이용하여 특정 위치에 대한 영상을 촬영할 수 있다. The photographing unit 820 may photograph an image of a specific location using a camera.

전송부(830)는 측정된 특정 위치에서의 포즈 정보 및 촬영된 영상을 맵 생성 서버(110)로 전송할 수 있다. The transmitter 830 may transmit the measured pose information and the captured image at the specific location to the map generating server 110 .

수신부(840)는 맵 생성 서버(110)로부터 특정 위치에서의 포즈 정보 및 영상에 포함된 객체 정보에 기초하여 생성된 특정 장소에 대한 맵을 수신할 수 있다. 여기서, 특정 장소(130)에 대한 맵은 이동 로봇(120)의 포즈 정보에 기초하여 특정 장소(130) 내에 위치하는 복수의 기본 노드 및 복수의 기본 노드 간을 연결하는 적어도 하나의 기본 엣지를 포함하는 기본 포즈 그래프 및 특정 장소(130) 내에 위치한 객체에 대한 적어도 하나의 레이어드 포즈 그래프에 기초하여 생성된 것일 수 있다. The receiver 840 may receive, from the map generating server 110 , a map for a specific place generated based on pose information at a specific location and object information included in an image. Here, the map for the specific place 130 includes a plurality of basic nodes located in the specific place 130 based on the pose information of the mobile robot 120 and at least one basic edge connecting the plurality of basic nodes. It may be generated based on a basic pose graph and at least one layered pose graph for an object located in a specific place 130 .

제어부(850)는 수신한 맵에 기초하여 특정 장소를 주행하도록 제어할 수 있다. 예를 들어, 제어부(850)는 제 1 노드 및 제 2 노드 간에 연결된 기본 엣지에 기초하여 제 1 노드 및 제 2 노드를 일방 또는 쌍방으로 주행하도록 이동 로봇(120)을 제어할 수 있다. 다른 예를 들어, 제어부(850)는 제 1 서브 노드 및 제 2 서브 노드 간에 연결된 서브 엣지에 기초하여 제 1 서브 노드 및 제 2 서브 노드를 일방 또는 쌍방으로 주행하도록 이동 로봇(120)을 제어할 수 있다. The controller 850 may control to drive in a specific place based on the received map. For example, the controller 850 may control the mobile robot 120 to drive the first node and the second node in one or both directions based on the basic edge connected between the first node and the second node. As another example, the controller 850 may control the mobile robot 120 to drive the first sub-node and the second sub-node in one or both directions based on the sub-edge connected between the first and second sub-nodes. can

입력부(860)는 사용자로부터 특정 객체에 대한 제어 명령을 입력받을 수 있다. 예를 들어, 입력부(860)는 사용자로부터 "볼펜 찾아와"와 같은 제어 명령을 입력받을 수 있다. The input unit 860 may receive a control command for a specific object from the user. For example, the input unit 860 may receive a control command such as “come to the ballpoint pen” from the user.

전송부(830)는 입력된 제어 명령을 맵 생성 서버(110)로 전송할 수 있다. The transmitter 830 may transmit the input control command to the map generating server 110 .

수신부(840)는 맵 생성 서버(110)로부터 생성된 특정 장소에 대한 맵에 기초하여 이동 로봇(120)이 주행할 경로와 관련된 제어 정보를 수신할 수 있다. The receiver 840 may receive control information related to a path on which the mobile robot 120 will travel based on the map for a specific place generated from the map generating server 110 .

제어부(850)는 수신한 제어 정보에 기초하여 이동 로봇(120)이 특정 장소를 주행하도록 제어할 수 있다. 예를 들어, 입력부(860)에서 "볼펜 찾아와"와 같은 제어 명령을 입력받은 경우, 수신부(840)는 맵 생성 서버(110)로부터 '볼펜'과 관련된 레이어로부터 도출된 주행 경로를 포함하는 제어 정보를 수신하고, 제어부(850)는 제어 정보에 기초하여 이동 로봇(120)이 '볼펜'을 향해 주행하도록 제어할 수 있다. The controller 850 may control the mobile robot 120 to travel in a specific place based on the received control information. For example, when a control command such as “come to the ballpoint pen” is received from the input unit 860 , the receiving unit 840 receives the control information including the driving path derived from the layer related to the 'ballpoint pen' from the map generation server 110 . , and the controller 850 may control the mobile robot 120 to run toward the 'ballpoint pen' based on the control information.

도 9는 본 발명의 일 실시예에 따른 이동 로봇에서 객체 정보에 기초하여 생성된 맵에 따라 주행하는 방법의 순서도이다. 도 9에 도시된 이동 로봇(120)에서 객체 정보에 기초하여 생성된 맵에 따라 주행하는 방법은 도 1 내지 도 8에 도시된 실시예에 따른 맵 생성 시스템(1)에 의해 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 8에 도시된 실시예에 따른 이동 로봇(120)에서 객체 정보에 기초하여 생성된 맵에 따라 주행하는 방법에도 적용된다. 9 is a flowchart of a method of driving according to a map generated based on object information in a mobile robot according to an embodiment of the present invention. The method of driving according to the map generated based on the object information in the mobile robot 120 shown in FIG. 9 is time-series processed by the map generating system 1 according to the embodiment shown in FIGS. 1 to 8 . includes steps. Accordingly, even if omitted below, the method of driving according to the map generated based on the object information in the mobile robot 120 according to the embodiment shown in FIGS. 1 to 8 is also applied.

단계 S910에서 이동 로봇(120)은 특정 장소를 주행하는 이동 로봇(120)에 대해 특정 위치에서의 포즈 정보를 측정할 수 있다. In step S910 , the mobile robot 120 may measure pose information at a specific location with respect to the mobile robot 120 traveling in a specific location.

단계 S920에서 이동 로봇(120)은 카메라를 이용하여 특정 위치에 대한 영상을 촬영할 수 있다. In step S920 , the mobile robot 120 may capture an image of a specific location using a camera.

단계 S930에서 이동 로봇(120)은 측정된 특정 위치에서의 포즈 정보 및 촬영된 영상을 맵 생성 서버(110)로 전송할 수 있다. In step S930 , the mobile robot 120 may transmit the measured pose information and the captured image at the specific location to the map generating server 110 .

단계 S940에서 이동 로봇(120)은 맵 생성 서버(110)로부터 특정 위치에서의 포즈 정보 및 영상에 포함된 객체 정보에 기초하여 생성된 특정 장소에 대한 맵을 수신할 수 있다. In operation S940 , the mobile robot 120 may receive a map for a specific place generated based on pose information at a specific location and object information included in the image from the map generating server 110 .

단계 S950에서 이동 로봇(120)은 수신한 맵에 기초하여 특정 장소를 주행하도록 제어할 수 있다. In step S950 , the mobile robot 120 may control to travel in a specific place based on the received map.

상술한 설명에서, 단계 S910 내지 S950은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S910 to S950 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between the steps may be switched.

도 1 내지 도 9를 통해 설명된 맵 생성 서버에서 객체 정보에 기초하여 맵을 생성하는 방법 및 이동 로봇에서 객체 정보에 기초하여 생성된 맵에 따라 주행하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 9를 통해 설명된 맵 생성 서버에서 객체 정보에 기초하여 맵을 생성하는 방법 및 이동 로봇에서 객체 정보에 기초하여 생성된 맵에 따라 주행하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다. The method for generating a map based on the object information in the map generating server described through FIGS. 1 to 9 and the method for driving according to the map generated based on the object information in the mobile robot are a computer stored in a medium executed by a computer. It may also be implemented in the form of a recording medium including a program or instructions executable by a computer. In addition, the method of generating a map based on the object information in the map generating server described through FIGS. 1 to 9 and the method of driving according to the map generated based on the object information in the mobile robot are in a medium executed by a computer. It may also be implemented in the form of a stored computer program.

컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer-readable media may include computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The above description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

110: 맵 생성 서버
120: 이동 로봇
210: 포즈 정보 수집부
220: 기본 포즈 그래프 생성부
230: 영상 수신부
240: 객체 추출부
250: 레이어드 포즈 그래프 생성부
260: 맵 생성부
270: 제어 정보 제공부
280: 제어 명령 수신부
290: 도출부
810: 측정부
820: 촬영부
830: 전송부
840: 수신부
850: 제어부
860: 입력부
110: map generation server
120: mobile robot
210: pose information collection unit
220: basic pose graph generator
230: video receiver
240: object extraction unit
250: Layered pose graph generation unit
260: map generator
270: control information providing unit
280: control command receiving unit
290: derivation part
810: measurement unit
820: filming unit
830: transmission unit
840: receiver
850: control unit
860: input unit

Claims (20)

객체 정보에 기초하여 맵을 생성하는 서버에 있어서,
특정 장소를 주행하는 이동 로봇으로부터 상기 특정 장소 내의 특정 위치에서의 포즈(pose) 정보를 수집하는 포즈 정보 수집부;
상기 수집된 이동 로봇의 포즈 정보에 기초하여 상기 특정 장소 내에 위치하는 복수의 기본 노드 및 상기 복수의 기본 노드 간을 연결하는 적어도 하나의 기본 엣지를 포함하는 기본 포즈 그래프(pose graph)를 생성하는 기본 포즈 그래프 생성부;
상기 이동 로봇으로부터 카메라를 통해 촬영된 영상을 수신하는 영상 수신부;
상기 수신한 영상 및 상기 기본 포즈 그래프에 기초하여 상기 특정 장소 내에 위치한 객체에 대한 적어도 하나의 레이어드 포즈 그래프를 생성하는 레이어드 포즈 그래프 생성부; 및
상기 기본 포즈 그래프 및 상기 적어도 하나의 레이어드 포즈 그래프에 기초하여 상기 특정 장소에 대한 맵을 생성하는 맵 생성부
를 포함하는 것인, 맵 생성 서버.
In the server for generating a map based on object information,
a pose information collecting unit that collects pose information at a specific location within the specific location from a mobile robot traveling in a specific location;
Basic for generating a basic pose graph including a plurality of basic nodes located in the specific place and at least one basic edge connecting between the plurality of basic nodes based on the collected pose information of the mobile robot pose graph generator;
an image receiving unit for receiving an image captured by a camera from the mobile robot;
a layered pose graph generator configured to generate at least one layered pose graph for an object located in the specific place based on the received image and the basic pose graph; and
A map generator for generating a map for the specific place based on the basic pose graph and the at least one layered pose graph
Which includes, the map generation server.
제 1 항에 있어서,
상기 레이어드 포즈 그래프 생성부는 상기 복수의 기본 노드 및 상기 적어도 하나의 기본 엣지에 기초하여 복수의 서브 노드 및 상기 복수의 서브 노드 간을 연결하는 적어도 하나의 서브 엣지를 포함하는 레이어드 포즈 그래프를 생성하는 것인, 맵 생성 서버.
The method of claim 1,
The layered pose graph generating unit generates a layered pose graph including a plurality of sub-nodes and at least one sub-edge connecting between the plurality of sub-nodes based on the plurality of basic nodes and the at least one basic edge In, map generation server.
제 2 항에 있어서,
상기 수신한 영상으로부터 상기 특정 장소 내에 위치한 객체를 기정의된 객체 사전을 이용하여 인식하고, 상기 인식된 객체와 관련된 색상 정보를 추출하는 객체 추출부를 더 포함하고,
상기 레이어드 포즈 그래프 생성부는 상기 추출된 객체와 관련된 색상 정보를 반영하여 상기 추출된 객체에 대응하는 레이어를 생성하는 것인, 맵 생성 서버.
3. The method of claim 2,
Further comprising an object extraction unit for recognizing an object located in the specific place from the received image using a predefined object dictionary, and extracting color information related to the recognized object,
The layered pose graph generation unit to generate a layer corresponding to the extracted object by reflecting the color information related to the extracted object, map generation server.
제 3 항에 있어서,
상기 레이어드 포즈 그래프 생성부는 상기 영상에 포함된 적어도 둘 이상의 프레임에서 상기 객체의 클래스와 동일한 클래스의 객체가 존재하는지 여부에 기초하여 상기 레이어 상에 상기 적어도 하나의 레이어드 포즈 그래프를 생성하는 것인, 맵 생성 서버.
4. The method of claim 3,
The layered pose graph generating unit generates the at least one layered pose graph on the layer based on whether an object of the same class as the class of the object exists in at least two or more frames included in the image. creation server.
제 4 항에 있어서,
상기 레이어드 포즈 그래프 생성부는 상기 객체의 클래스와 동일한 클래스의 객체가 존재하는 경우, 상기 기본 포즈 그래프에 기초하여 상기 레이어 상에 상기 객체의 존재 여부가 반영된 제 1 서브 노드 및 상기 제 1 서브 노드 간을 연결하는 제 1 서브 엣지를 생성하는 것인, 맵 생성 서버.
5. The method of claim 4,
When an object of the same class as the class of the object exists, the layered pose graph generating unit connects between a first sub-node in which the existence of the object is reflected on the layer based on the basic pose graph and the first sub-node A map generating server that generates a first sub-edge to connect.
제 5 항에 있어서,
상기 레이어드 포즈 그래프 생성부는 상기 객체의 클래스와 다른 클래스의 다른 객체가 존재하는 경우, 상기 다른 객체와 관련된 색상 정보를 반영하여 상기 다른 객체에 대응하는 신규 레이어를 생성하고, 상기 기본 포즈 그래프에 기초하여 상기 생성된 신규 레이어 상에 상기 다른 객체의 존재 여부가 반영된 제 2 서브 노드 및 상기 제 2 서브 노드 간을 연결하는 제 2 서브 엣지를 생성하는 것인, 맵 생성 서버.
6. The method of claim 5,
The layered pose graph generating unit creates a new layer corresponding to the other object by reflecting color information related to the other object when there is another object of a class different from the class of the object, and based on the basic pose graph, and generating a second sub-node in which the existence of the other object is reflected on the created new layer and a second sub-edge connecting the second sub-node.
제 1 항에 있어서,
상기 생성된 특정 장소에 대한 맵에 기초하여 상기 이동 로봇이 주행할 경로와 관련된 제어 정보를 상기 이동 로봇으로 제공하는 제어 정보 제공부를 더 포함하는 것인, 맵 생성 서버.
The method of claim 1,
The map generation server of claim 1, further comprising a control information providing unit providing control information related to a path to be driven by the mobile robot to the mobile robot based on the generated map for the specific place.
제 7 항에 있어서,
이동 로봇으로부터 제어 명령을 수신하는 제어 명령 수신부; 및
상기 수신한 제어 명령으로부터 특정 객체 및 상기 특정 객체와 관련된 색상 정보를 도출하고, 상기 도출된 특정 객체와 관련된 색상 정보에 대응하는 레이어를 도출하는 도출부를 더 포함하는, 맵 생성 서버.
8. The method of claim 7,
a control command receiving unit for receiving a control command from the mobile robot; and
and a derivation unit for deriving a specific object and color information related to the specific object from the received control command, and deriving a layer corresponding to the derived color information related to the specific object.
제 8 항에 있어서,
상기 도출부는 상기 특정 객체와 관련된 색상 정보에 대응하는 레이어에 포함된 특정 서브 노드 및 상기 특정 서브 노드 간을 연결하는 특정 서브 엣지에 대한 리스트를 도출하고,
상기 제어 정보 제공부는 상기 도출된 리스트에 기초하여 상기 특정 객체로 도달하기 위한 경로에 대응하는 제어 정보를 생성하고, 상기 생성된 제어 정보를 상기 이동 로봇으로 제공하는 것인, 맵 생성 서버.
9. The method of claim 8,
The derivation unit derives a list of a specific sub-node included in a layer corresponding to the color information related to the specific object and a specific sub-edge connecting between the specific sub-node,
The control information providing unit generates control information corresponding to a path for reaching the specific object based on the derived list, and provides the generated control information to the mobile robot.
제 2 항에 있어서,
상기 맵 생성부는 상기 생성된 적어도 하나의 레이어드 포즈 그래프에 대해 불필요한 적어도 하나의 서브 노드 및 서브 엣지를 제거되도록 최적화를 수행하는 것인, 맵 생성 서버.
3. The method of claim 2,
The map generation server of claim 1, wherein the map generation unit optimizes the at least one sub-node and sub-edge unnecessary for the generated at least one layered pose graph.
객체 정보에 기초하여 생성된 맵을 따라 주행하는 이동 로봇에 있어서,
특정 장소를 주행하는 이동 로봇에 대해 특정 위치에서의 포즈 정보를 측정하는 측정부;
카메라를 이용하여 상기 특정 위치에 대한 영상을 촬영하는 촬영부;
상기 측정된 특정 위치에서의 포즈 정보 및 상기 촬영된 영상을 맵 생성 서버로 전송하는 전송부;
상기 맵 생성 서버로부터 상기 특정 위치에서의 포즈 정보 및 상기 영상에 포함된 객체 정보에 기초하여 생성된 상기 특정 장소에 대한 맵을 수신하는 수신부; 및
상기 수신한 맵에 기초하여 상기 특정 장소를 주행하도록 제어하는 제어부를 포함하고,
상기 이동 로봇의 포즈 정보에 기초하여 특정 장소 내에 위치하는 복수의 기본 노드 및 상기 복수의 기본 노드 간을 연결하는 적어도 하나의 기본 엣지를 포함하는 기본 포즈 그래프(pose graph)가 생성되고,
상기 영상 및 상기 기본 포즈 그래프에 기초하여 상기 특정 장소 내에 위치한 객체에 대한 적어도 하나의 레이어드 포즈 그래프가 생성되고,
상기 기본 포즈 그래프 및 상기 적어도 하나의 레이어드 포즈 그래프에 기초하여 상기 특정 장소에 대한 맵이 생성되는 것인, 이동 로봇.
In a mobile robot that travels along a map generated based on object information,
a measurement unit for measuring pose information at a specific location with respect to the mobile robot traveling in a specific location;
a photographing unit for photographing an image of the specific location using a camera;
a transmission unit for transmitting the measured pose information and the photographed image at the specific location to a map generating server;
a receiver configured to receive a map for the specific place generated based on the pose information at the specific location and the object information included in the image from the map generating server; and
A control unit for controlling to drive the specific place based on the received map,
A basic pose graph including a plurality of basic nodes located in a specific place and at least one basic edge connecting between the plurality of basic nodes is generated based on the pose information of the mobile robot,
At least one layered pose graph for an object located in the specific place is generated based on the image and the basic pose graph,
The mobile robot, wherein the map for the specific place is generated based on the basic pose graph and the at least one layered pose graph.
제 11 항에 있어서,
특정 객체에 대한 제어 명령을 입력받는 입력부를 더 포함하고,
상기 전송부는 상기 입력된 제어 명령을 상기 맵 생성 서버로 전송하는 것인, 이동 로봇.
12. The method of claim 11,
Further comprising an input unit for receiving a control command for a specific object,
The transmitting unit will transmit the input control command to the map generating server, the mobile robot.
제 12 항에 있어서,
상기 수신부는 상기 맵 생성 서버로부터 상기 생성된 특정 장소에 대한 맵에 기초하여 상기 이동 로봇이 주행할 경로와 관련된 제어 정보를 수신하는 것인, 이동 로봇.
13. The method of claim 12,
Wherein the receiving unit receives the control information related to the path to be driven by the mobile robot based on the generated map for the specific place from the map generating server, the mobile robot.
맵 생성 서버에서 객체 정보에 기초하여 맵을 생성하는 방법에 있어서,
특정 장소를 주행하는 이동 로봇으로부터 상기 특정 장소 내의 특정 위치에서의 포즈(pose) 정보를 수집하는 단계;
상기 수집된 이동 로봇의 포즈 정보에 기초하여 상기 특정 장소 내에 위치하는 복수의 기본 노드 및 상기 복수의 기본 노드 간을 연결하는 적어도 하나의 기본 엣지를 포함하는 기본 포즈 그래프(pose graph)를 생성하는 단계;
상기 이동 로봇으로부터 카메라를 통해 촬영된 영상을 수신하는 단계;
상기 수신한 영상 및 상기 기본 포즈 그래프에 기초하여 상기 특정 장소 내에 위치한 객체에 대한 적어도 하나의 레이어드 포즈 그래프를 생성하는 단계; 및
상기 기본 포즈 그래프 및 상기 적어도 하나의 레이어드 포즈 그래프에 기초하여 상기 특정 장소에 대한 맵을 생성하는 단계
를 포함하는 것인, 맵 생성 방법.
A method for generating a map based on object information in a map generating server, the method comprising:
collecting pose information at a specific location within the specific location from a mobile robot traveling in a specific location;
Generating a basic pose graph including a plurality of basic nodes located in the specific place and at least one basic edge connecting between the plurality of basic nodes based on the collected pose information of the mobile robot ;
receiving an image captured by a camera from the mobile robot;
generating at least one layered pose graph for an object located in the specific place based on the received image and the basic pose graph; and
generating a map for the specific place based on the basic pose graph and the at least one layered pose graph
A method for generating maps, comprising:
제 14 항에 있어서,
상기 레이어드 포즈 그래프를 생성하는 단계는,
상기 복수의 기본 노드 및 상기 적어도 하나의 기본 엣지에 기초하여 복수의 서브 노드 및 상기 복수의 서브 노드 간을 연결하는 적어도 하나의 서브 엣지를 포함하는 레이어드 포즈 그래프를 생성하는 단계를 포함하는 것인, 맵 생성 방법.
15. The method of claim 14,
The step of generating the layered pose graph comprises:
Generating a layered pose graph including a plurality of sub-nodes and at least one sub-edge connecting between the plurality of sub-nodes based on the plurality of basic nodes and the at least one basic edge, How to create a map.
제 14 항에 있어서,
상기 수신한 영상으로부터 상기 특정 장소 내에 위치한 객체를 기정의된 객체 사전을 이용하여 인식하고, 상기 인식된 객체와 관련된 색상 정보를 추출하는 단계; 및
상기 추출된 객체와 관련된 색상 정보를 반영하여 상기 추출된 객체에 대응하는 레이어를 생성하는 단계를 더 포함하는 것인, 맵 생성 방법.
15. The method of claim 14,
recognizing an object located in the specific place from the received image using a predefined object dictionary, and extracting color information related to the recognized object; and
The method further comprising the step of generating a layer corresponding to the extracted object by reflecting color information related to the extracted object.
제 13 항에 있어서,
상기 레이어드 포즈 그래프를 생성하는 단계는,
상기 영상에 포함된 적어도 둘 이상의 프레임에서 상기 객체의 클래스와 동일한 클래스의 객체가 존재하는지 여부에 기초하여 상기 레이어 상에 상기 적어도 하나의 레이어드 포즈 그래프를 생성하는 단계를 포함하는 것인, 맵 생성 방법.
14. The method of claim 13,
The step of generating the layered pose graph comprises:
The method comprising the step of generating the at least one layered pose graph on the layer based on whether an object of the same class as the class of the object exists in at least two or more frames included in the image .
제 17 항에 있어서,
상기 레이어드 포즈 그래프를 생성하는 단계는,
상기 객체의 클래스와 동일한 클래스의 객체가 존재하는 경우, 상기 기본 포즈 그래프에 기초하여 상기 레이어 상에 상기 객체의 존재 여부가 반영된 제 1 서브 노드 및 상기 제 1 서브 노드 간을 연결하는 제 1 서브 엣지를 생성하는 단계를 포함하는 것인, 맵 생성 방법.
18. The method of claim 17,
The step of generating the layered pose graph comprises:
When an object of the same class as the object class exists, a first sub-node in which the existence of the object is reflected on the layer based on the basic pose graph and a first sub-edge connecting the first sub-node generating a map.
제 17 항에 있어서,
상기 레이어드 포즈 그래프를 생성하는 단계는,
상기 객체의 클래스와 다른 클래스의 다른 객체가 존재하는 경우, 상기 다른 객체와 관련된 색상 정보를 반영하여 상기 다른 객체에 대응하는 신규 레이어를 생성하는 단계; 및
상기 기본 포즈 그래프에 기초하여 상기 생성된 신규 레이어 상에 상기 다른 객체의 존재 여부가 반영된 제 2 서브 노드 및 상기 제 2 서브 노드 간을 연결하는 제 2 서브 엣지를 생성하는 단계를 포함하는 것인, 맵 생성 방법.
18. The method of claim 17,
The step of generating the layered pose graph comprises:
generating a new layer corresponding to the other object by reflecting color information related to the other object when another object of a class different from the class of the object exists; and
and generating a second sub-node connecting the second sub-node and a second sub-node in which the existence of the other object is reflected on the created new layer based on the basic pose graph, How to create a map.
제 14 항에 있어서,
상기 생성된 특정 장소에 대한 맵에 기초하여 상기 이동 로봇이 주행할 경로와 관련된 제어 정보를 상기 이동 로봇으로 제공하는 단계를 더 포함하는 것인, 맵 생성 방법.
15. The method of claim 14,
The method further comprising the step of providing control information related to a path for the mobile robot to travel to the mobile robot based on the generated map for the specific place.
KR1020200034539A 2020-03-20 2020-03-20 Server and method for generating map based on object data and robot moving based on object map KR102333612B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200034539A KR102333612B1 (en) 2020-03-20 2020-03-20 Server and method for generating map based on object data and robot moving based on object map

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200034539A KR102333612B1 (en) 2020-03-20 2020-03-20 Server and method for generating map based on object data and robot moving based on object map

Publications (2)

Publication Number Publication Date
KR20210117797A true KR20210117797A (en) 2021-09-29
KR102333612B1 KR102333612B1 (en) 2021-12-01

Family

ID=77924869

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200034539A KR102333612B1 (en) 2020-03-20 2020-03-20 Server and method for generating map based on object data and robot moving based on object map

Country Status (1)

Country Link
KR (1) KR102333612B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101708659B1 (en) * 2014-06-17 2017-02-22 주식회사 유진로봇 Apparatus for recognizing location mobile robot using search based correlative matching and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101708659B1 (en) * 2014-06-17 2017-02-22 주식회사 유진로봇 Apparatus for recognizing location mobile robot using search based correlative matching and method thereof

Also Published As

Publication number Publication date
KR102333612B1 (en) 2021-12-01

Similar Documents

Publication Publication Date Title
CN107160395B (en) Map construction method and robot control system
JP6288221B2 (en) Enhanced layer-based object detection by deep convolutional neural networks
CN107808407B (en) Binocular camera-based unmanned aerial vehicle vision SLAM method, unmanned aerial vehicle and storage medium
CN113284240B (en) Map construction method and device, electronic equipment and storage medium
KR101725060B1 (en) Apparatus for recognizing location mobile robot using key point based on gradient and method thereof
KR101776621B1 (en) Apparatus for recognizing location mobile robot using edge based refinement and method thereof
JP6144826B2 (en) Interactive and automatic 3D object scanning method for database creation
CN112525202A (en) SLAM positioning and navigation method and system based on multi-sensor fusion
JP7236565B2 (en) POSITION AND ATTITUDE DETERMINATION METHOD, APPARATUS, ELECTRONIC DEVICE, STORAGE MEDIUM AND COMPUTER PROGRAM
JP5148669B2 (en) Position detection apparatus, position detection method, and position detection program
KR20190131402A (en) Moving Object and Hybrid Sensor with Camera and Lidar
CN110298914B (en) Method for establishing fruit tree canopy feature map in orchard
KR102092392B1 (en) Method and system for automatically collecting and updating information about point of interest in real space
CN108789421B (en) Cloud robot interaction method based on cloud platform, cloud robot and cloud platform
EP4068206A1 (en) Object tracking in local and global maps systems and methods
Ye et al. 6-DOF pose estimation of a robotic navigation aid by tracking visual and geometric features
JP2020042447A (en) Device, program and method for estimating terminal position from immovable object information
KR102404867B1 (en) Apparatus and method for providing wrap around view monitoring using 3D distance information
Ferguson et al. A 2d-3d object detection system for updating building information models with mobile robots
KR20120078339A (en) Image-based simultaneous localization and mapping for moving robot
JP7224592B2 (en) Information processing device, information processing method, and program
WO2022128896A1 (en) Method and apparatus for multiple robotic devices in an environment
CN114399515A (en) Language description-based class-level target object 6D pose acquisition method and storage medium
KR102232629B1 (en) Server and method for generating map based on network quality data and robot moving based on network quality map
KR102333612B1 (en) Server and method for generating map based on object data and robot moving based on object map

Legal Events

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