KR20180118500A - Method and apparatus for map generation based on hierarchical structure using 2d laser scanner - Google Patents

Method and apparatus for map generation based on hierarchical structure using 2d laser scanner Download PDF

Info

Publication number
KR20180118500A
KR20180118500A KR1020170138077A KR20170138077A KR20180118500A KR 20180118500 A KR20180118500 A KR 20180118500A KR 1020170138077 A KR1020170138077 A KR 1020170138077A KR 20170138077 A KR20170138077 A KR 20170138077A KR 20180118500 A KR20180118500 A KR 20180118500A
Authority
KR
South Korea
Prior art keywords
map
optimization
nodes
global
mobile robot
Prior art date
Application number
KR1020170138077A
Other languages
Korean (ko)
Other versions
KR101937594B1 (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 US15/852,094 priority Critical patent/US10921816B2/en
Publication of KR20180118500A publication Critical patent/KR20180118500A/en
Application granted granted Critical
Publication of KR101937594B1 publication Critical patent/KR101937594B1/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Business, Economics & Management (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mathematical Physics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The present invention relates to a method and a device for manufacturing a map based on a hierarchical structure, which manufacture a three-dimensional high precise map based on a hierarchical structure using a two-dimensional laser scanner. The present invention can manufacture the three-dimensional high precise map by using the cheap two-dimensional laser scanner. The manufacturing method comprises the following steps of: generating a region map based on nodes formed on a moving path of a moving robot; grouping the nodes, and generating a global map in the hierarchical structure form on the region map; and manufacturing an optimization map through iterative optimization between hierarchies of the region map and the global map.

Description

2차원 레이저 스캐너를 이용한 계층적 구조 기반의 맵 제작 방법 및 장치{METHOD AND APPARATUS FOR MAP GENERATION BASED ON HIERARCHICAL STRUCTURE USING 2D LASER SCANNER}METHOD AND APPARATUS FOR MAP GENERATION BASED ON HIERARCHICAL STRUCTURE USING 2D LASER SCANNER FIELD OF THE INVENTION [0001]

본 발명은 계층적 구조 기반의 맵 제작 방법 및 장치에 관한 것으로, 보다 상세하게는 저가의 2차원 레이저 스캐너를 이용하여 이동 로봇의 이동 경로에 따른 계층적 구조 기반의 3차원 고정밀 맵을 제작하는 기술에 관한 것이다. The present invention relates to a hierarchical structure-based map production method and apparatus, and more particularly, to a technology for producing a three-dimensional high-precision map based on a hierarchical structure according to a moving path of a mobile robot using a low- .

로봇은 산업 현장에서 대량 생산을 위한 도구로서 사용되었다. 로봇은 고정된 위치에서 단순하고 반복적인 작업을 수행하였다. 로봇 기술의 발달에 따라, 로봇은 보다 다양한 형태를 가지게 되었고, 보다 높은 지능과 다양한 작성을 할 수 있는 능력을 갖추게 되었다.The robot was used as a tool for mass production in the industrial field. The robot performs simple and repetitive tasks at fixed positions. With the development of robotic technology, robots have become more diverse, and have the ability to create higher intelligence and various creatures.

최근에, 자율 이동 로봇(autonomous mobile robot)은 효용성과 안정성 때문에 주목을 받고 있다. 이동 로봇은 UGVs(Unmanned Ground Vehicles)을 포함하며, 다양한 임무를 자동으로 수행하기 위해 스스로 주행할 수 있는 능력을 갖추어야 한다.Recently, autonomous mobile robots are attracting attention because of their usefulness and stability. Mobile robots include UGVs (Unmanned Ground Vehicles) and must have the ability to run on their own to perform various tasks automatically.

또한, 이동 로봇은 스스로 주행하기 위한 지도(Map; 맵)를 생성 및 제작하며, 생성된 맵을 이용하여 보다 정확한 이동을 하거나, 외부로 생성된 맵을 전송하여 위치 기반 및 지도 기반의 무인 자동차, 실내 위치 인식 및 3차원 맵 복원 등에 연계하여 다양한 서비스를 제공할 수 있다.In addition, the mobile robot generates and manufactures a map for self-driving, performs more accurate movement using the generated map, transmits an externally generated map, and generates a position-based and map-based unmanned vehicle, Indoor location recognition, three-dimensional map restoration, and the like.

다만, 기존의 이동 로봇에 적용되는 위치 추정 및 맵핑 기술은 영상이나 레이저, 초음파 등을 활용하는 센싱 방식을 이용한 SLAM(Simultaneous Localization and Mapping) 기술을 주로 사용하였다.However, SLAM (Simultaneous Localization and Mapping) technology using sensing method using image, laser, and ultrasonic wave is mainly used for the position estimation and mapping technology applied to existing mobile robots.

이 때, 기존 기술은 보다 정확한 이동 로봇의 위치 추정 및 맵핑을 위해 고가의 센서 시스템과 다수의 센서 시스템을 이용하였다. 하지만 이러한 기존 기술은 비용적인 측면, 복수 개의 센서 시스템에 의한 복잡성 및 결과 데이터의 정확성 유지를 위한 부담 등의 여러 가지 측면에서 제약요소를 가지고 있다. In this case, the existing technology uses an expensive sensor system and a plurality of sensor systems for more accurate positioning and mapping of the mobile robot. However, these existing technologies have several limitations in terms of cost, complexity by multiple sensor systems, and burden for maintaining accuracy of result data.

한국등록특허 제10­1490055호(2015.01.29. 등록), "이동 로봇의 위치와 지도를 추정하는 방법 및 이를 수행하는 장치들"Korean Registered Patent No. 101490055 (registered on Feb. 29, 2015), "Method for estimating the position and map of a mobile robot and devices for performing the same" 한국등록특허 제10­1738751호(2017.05.16. 등록), "실내 자기장을 이용한 이동 로봇의 위치 인식 방법 및 장치"Korean Registered Patent No. 101738751 (Registered on May 17, 2017), "Method and Apparatus for Locating Mobile Robot Using Indoor Magnetic Field"

본 발명의 목적은 저가의 2차원 레이저 스캐너를 이용하여 3차원 고정밀 맵을 제작할 수 있는 계층적 구조 기반의 맵 제작 방법 및 장치를 제공하고자 한다.An object of the present invention is to provide a hierarchical structure-based map production method and apparatus capable of producing a three-dimensional high-precision map using a low-cost two-dimensional laser scanner.

또한, 본 발명의 목적은 이동 로봇의 이동 경에 따른 지역 맵, 및 지역 맵에 계층적 구조 형태의 전역 맵의 계층간 상관관계에 따른 반복 최적화를 통해 3차원 맵을 정밀하게 생성할 수 있는 계층적 구조 기반의 맵 제작 방법 및 장치를 제공하고자 한다.It is also an object of the present invention to provide a method and apparatus for generating a three-dimensional map precisely by repeatedly optimizing a local map according to the moving distance of a mobile robot and a hierarchical structure- And to provide a method and apparatus for producing a map based on an enemy structure.

본 발명의 일실시예에 따른 계층적 구조 기반의 맵 제작 방법은 이동 로봇의 이동 경로 상에 형성된 노드들(nodes)에 기초하여 지역 맵(Map)을 생성하는 단계, 상기 노드들을 그룹핑하여 상기 지역 맵에 계층적 구조 형태의 전역 맵을 생성하는 단계 및 상기 지역 맵 및 상기 전역 맵의 계층간 반복 최적화를 통해 최적화 맵을 제작하는 단계를 포함한다.According to an embodiment of the present invention, there is provided a hierarchical structure-based map generation method comprising: generating a local map based on nodes formed on a moving path of a mobile robot; Generating a global map in a hierarchical structure form on the map, and producing an optimization map through iterative optimization between the hierarchy of the global map and the global map.

상기 지역 맵을 생성하는 단계는 이동 경로에 따른 상기 이동 로봇의 2차원 푸시 브룸 레이더(2D push­broom LiDAR)로부터 측정된 센서 정보와, 상기 이동 로봇의 오도메트리(odometry) 정보를 이용하여 상기 노드들을 형성할 수 있다.The generating of the local map may include generating sensor maps using the sensor information measured from the 2D pushbroom LiDAR of the mobile robot according to the movement route and the odometry information of the mobile robot, .

상기 지역 맵을 생성하는 단계는 상기 이동 로봇의 이동에 따라 축적된 상기 노드들의 노드 구속조건(constraint)을 이용하여 그래프­구조(graph­structure)의 상기 지역 맵을 생성할 수 있다.The generating of the local map may generate the local map of the graph structure using the node constraints of the nodes accumulated according to the movement of the mobile robot.

상기 전역 맵을 생성하는 단계는 상기 지역 맵을 형성하는 상기 노드들을 일정 간격에 따라 그룹핑하여 슈퍼 노드들(super nodes)을 형성하고, 상기 형성된 슈퍼 노드들을 연결하여 상기 전역 맵을 생성할 수 있다.In the step of generating the global map, super nodes may be formed by grouping the nodes forming the regional map at predetermined intervals, and the global map may be generated by connecting the formed super nodes.

상기 전역 맵을 생성하는 단계는 상기 슈퍼 노드들에 루프 클로징(loop closing) 구속 조건(constraint)을 이용하여 상기 전역 맵을 생성할 수 있다.The step of generating the global map may generate the global map using a loop closing constraint on the super nodes.

상기 최적화 맵을 제작하는 단계는 계층적 구속 조건(constraint)를 이용하여 상기 지역 맵 및 상기 전역 맵 중 어느 하나의 최적화를 수행하고, 그 외 하나의 최적화를 수행할 수 있다.The step of producing the optimization map may optimize any one of the region map and the global map using a hierarchical constraint and perform another optimization.

상기 최적화 맵을 제작하는 단계는 상기 지역 맵 및 상기 전역 맵 중 수행된 어느 하나의 최적화를 상기 그 외 하나에 적용하여 최적화를 수행함으로써, 3차원의 상기 최적화 맵을 제작할 수 있다.The step of generating the optimization map may be performed by optimizing any one of the region map and the global map to the other one to produce the three-dimensional optimization map.

본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 방법은 이동 로봇의 이동 경로 상에 형성된 노드들(nodes)에 기초하여 지역 맵(Map)을 생성하고, 상기 노드들을 그룹핑하여 계층적 구조 형태의 전역 맵을 생성하는 단계, 상기 지역 맵 및 상기 전역 맵의 계층간 반복 최적화를 수행하는 단계 및 상기 최적화에 따라 재 생성된 지역 맵에 기초하여 최적화 맵을 제작하는 단계를 포함한다.A hierarchical structure-based map generation method according to an embodiment of the present invention generates a local map based on nodes formed on a moving path of a mobile robot, groups the nodes, Generating a global map of the global map; performing hierarchical iterative optimization of the local map and the global map; and producing an optimization map based on the regenerated regional map in accordance with the optimization.

상기 계층간 반복 최적화를 수행하는 단계는 계층적 구속 조건(constraint)를 이용하여 상기 지역 맵 및 상기 전역 맵 중 어느 하나의 최적화를 수행하고, 그 외 하나의 최적화를 수행할 수 있다.The step of performing inter-hierarchical iterative optimization may optimize any one of the local map and the global map using a hierarchical constraint and perform another optimization.

상기 최적화 맵을 제작하는 단계는 상기 지역 맵 및 상기 전역 맵에 대한 최적화 후, 상기 생성된 지역 맵에 포함된 노드 구속 조건(constraint)을 제거하고, 상기 최적화에 따라 변경된 노드들 간의 변경 노드 구속조건(constraint)을 이용하여 상기 재 생성된 지역 맵으로부터 3차원의 상기 최적화 맵을 제작할 수 있다.Wherein the optimizing map includes a step of removing a constraint included in the generated local map after optimization for the local map and the global map, dimensional optimization map from the regenerated region map by using the constraint.

본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 장치는 이동 로봇의 이동 경로 상에 형성된 노드들(nodes)에 기초하여 지역 맵(Map)을 생성하고, 상기 노드들을 그룹핑하여 계층적 구조 형태의 전역 맵을 생성하는 맵 생성부 및 상기 지역 맵 및 상기 전역 맵의 계층간 반복 최적화를 수행하여 최적화 맵을 제작하는 최적화 수행부를 포함한다.The hierarchical structure-based map production apparatus according to an embodiment of the present invention generates a local map based on nodes formed on the movement path of the mobile robot, groups the nodes, And an optimization performing unit for performing an iterative optimization between the hierarchical levels of the regional map and the global map to produce an optimized map.

상기 맵 생성부는 이동 경로에 따른 상기 이동 로봇의 2차원 푸시 브룸 레이더(2D push­broom LiDAR)로부터 측정된 센서 정보와, 상기 이동 로봇의 오도메트리(odometry) 정보로부터 축적된 상기 노드들의 노드 구속조건(constraint)을 이용하여 그래프­구조(graph­structure)의 상기 지역 맵을 생성할 수 있다.The map generating unit generates sensor information based on sensor information measured from a 2D pushbroom LiDAR of the mobile robot according to a moving route and node constraint conditions of the nodes accumulated from odometry information of the mobile robot constraint can be used to generate the local map of the graph structure.

상기 맵 생성부는 상기 지역 맵을 형성하는 상기 노드들을 일정 간격에 따라 그룹핑하여 슈퍼 노드들(super nodes)을 형성하고, 상기 형성된 슈퍼 노드들의 루프 클로징(loop closing) 구속 조건(constraint)을 이용하여 상기 전역 맵을 생성할 수 있다.Wherein the map generating unit forms super nodes by grouping the nodes forming the region map at predetermined intervals and generates a super node by using a loop closing constraint of the formed super nodes, You can create a global map.

상기 최적화 수행부는 계층적 구속 조건(constraint)를 이용하여 상기 지역 맵 및 상기 전역 맵 중 어느 하나의 최적화를 수행하고, 그 외 하나의 최적화를 수행하여 3차원의 상기 최적화 맵을 제작할 수 있다.The optimization unit may optimize any one of the local map and the global map using a hierarchical constraint, and perform another optimization to produce the three-dimensional optimization map.

상기 맵 생성부는 상기 지역 맵 및 상기 전역 맵에 대한 최적화 후, 상기 생성된 지역 맵에 포함된 노드 구속 조건을 제거하고, 상기 최적화에 따라 변경되는 노드들 간의 변경 노드 구속조건(constraint)을 이용하여 지역 맵을 재 생성하며, 상기 최적화 수행부는 상기 재 생성된 지역 맵으로부터 3차원의 상기 최적화 맵을 제작할 수 있다.The map generation unit may remove the node constraint condition included in the generated local map after optimization for the local map and the global map, and may use the modified node constraint between the changed nodes according to the optimization And the optimization performing unit may generate the three-dimensional optimization map from the regenerated region map.

본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 장치는 상기 이동 로봇의 오도메트리 정보를 획득하는 인코더를 더 포함하고, 상기 맵 생성부는 상기 획득된 오도메트리 정보에 기초하여 상기 지역 맵을 생성할 수 있다. The apparatus for producing a hierarchical structure based map according to an embodiment of the present invention further includes an encoder for obtaining odometry information of the mobile robot, Can be generated.

본 발명의 실시예에 따르면, 저가의 2차원 레이저 스캐너를 이용하여 3차원 고정밀 맵을 제작할 수 있다.According to the embodiment of the present invention, a three-dimensional high-precision map can be produced using a low-cost two-dimensional laser scanner.

또한, 본 발명의 실시예에 따르면, 이동 로봇의 이동 경에 따른 지역 맵, 및 지역 맵에 계층적 구조 형태의 전역 맵의 계층간 상관관계에 따른 반복 최적화를 통해 3차원 맵을 정밀하게 생성할 수 있다.Further, according to the embodiment of the present invention, a three-dimensional map is precisely generated through repeated optimization according to the correlation between the hierarchical structure of the global map and the local map according to the moving distance of the mobile robot, .

도 1a 내지 도 1c는 본 발명에 따른 이동 로봇의 이동 경로 및 생성된 지역 맵의 예를 도시한 것이다.
도 2는 본 발명의 일실시예에 따른 계층적 구조 기반의 맵 제작 방법의 흐름도를 도시한 것이다.
도 3은 본 발명의 일실시예에 따른 지역 맵의 생성 및 매칭을 설명하기 위한 일 예시도를 도시한 것이다.
도 4a 내지 도 4c는 본 발명의 일실시예에 따른 전역 맵의 최적화를 설명하기 위한 일 예시도를 도시한 것이다.
도 5는 본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 방법의 흐름도를 도시한 것이다.
도 6은 본 발명의 실시예에 따른 계층적 구조 기반의 지역 맵 및 전역 맵의 최적화를 설명하기 위한 일 예시도를 도시한 것이다.
도 7a 및 도 7b는 본 발명에 따른 최적화 맵의 결과에 대한 일 예시도를 나타낸 것이다.
도 8은 본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 장치의 구성을 설명하기 위해 도시한 것이다.
FIGS. 1A to 1C show an example of a movement path and a generated region map of the mobile robot according to the present invention.
FIG. 2 is a flowchart illustrating a hierarchical structure-based map generation method according to an embodiment of the present invention.
FIG. 3 illustrates an example of generating and matching a region map according to an embodiment of the present invention. Referring to FIG.
FIGS. 4A to 4C illustrate an example of optimization of a global map according to an embodiment of the present invention.
FIG. 5 is a flowchart illustrating a hierarchical structure-based map generation method according to an embodiment of the present invention.
FIG. 6 is an exemplary diagram for explaining optimization of a hierarchical structure-based regional map and a global map according to an embodiment of the present invention.
7A and 7B show an example of the result of the optimization map according to the present invention.
FIG. 8 is a view for explaining a configuration of a hierarchical structure-based map production apparatus according to an embodiment of the present invention.

이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. In addition, the same reference numerals shown in the drawings denote the same members.

또한, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 시청자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. Also, terminologies used herein are terms used to properly represent preferred embodiments of the present invention, which may vary depending on the viewer, the intention of the operator, or the custom in the field to which the present invention belongs. Therefore, the definitions of these terms should be based on the contents throughout this specification.

도 1a 내지 도 1c는 본 발명에 따른 이동 로봇의 이동 경로 및 생성된 지역 맵의 예를 도시한 것이다.FIGS. 1A to 1C show an example of a movement path and a generated region map of the mobile robot according to the present invention.

보다 구체적으로, 도 1a는 이동 경로에 따라 데이터를 축적하는 이동 로봇의 예를 도시한 것이다. 도 1a를 참조하면, 이동 로봇(10)은 이동 경로 상에 진행 방향으로 이동하며 센서 정보를 측정할 수 있다.More specifically, FIG. 1A shows an example of a mobile robot that accumulates data according to a movement route. Referring to FIG. 1A, the mobile robot 10 moves in a traveling direction on a movement path and can measure sensor information.

이 때, 이동 로봇(10)은 2차원 푸시 브룸 레이더(2D push­broom LiDAR)를 포함하며, 2차원 푸시 브룸 레이더를 이용하여 이동 경로에 따른 일정 시간 간격으로 센서 정보를 측정하여 데이터를 축적(Scan accumulation)할 수 있다.At this time, the mobile robot 10 includes a 2D pushbroom radar (LDDAR), measures the sensor information at predetermined time intervals along the movement path using a two-dimensional pushbroom radar, )can do.

더욱이, 이동 로봇(10)은 인코더를 이용하여 오도메트리 정보(odometry data)를 획득할 수 있다. 이 때, 인코더는 이동 로봇(10)의 전동 휠의 회전 속도와 회전 방향을 검출하고, 검출된 회전 속도와 회전 방향을 이용하여 이동 로봇(10)의 오도메트리 정보를 획득할 수 있으며, 오도메트리 정보는 이동 로봇(10)의 x축 좌표와 y축 좌표, 진행 방향의 각도를 포함할 수 있다. Furthermore, the mobile robot 10 can acquire odometry data using an encoder. At this time, the encoder detects the rotation speed and rotation direction of the electric wheel of the mobile robot 10, acquires the odometry information of the mobile robot 10 using the detected rotation speed and the rotation direction, The metric information may include the x-axis coordinate of the mobile robot 10, the y-axis coordinate, and the angle of the traveling direction.

따라서, 이동 로봇(10)은 이동 경로 상에 2차원 푸시 브룸 레이더로부터 측정된 센서 정보와, 오도메트리 정보를 이용하여 복수의 노드(node)를 형성할 수 있다. 이 때, 노드는 센서 정보 및 오도메트리 정보가 수집되는 시간에서의 이동 로봇(10)의 위치에 기반하여 형성될 수 있다. Accordingly, the mobile robot 10 can form a plurality of nodes by using sensor information and odometry information measured from the two-dimensional pushbroom radar on the movement route. At this time, the node may be formed based on the position of the mobile robot 10 at the time when sensor information and odometry information are collected.

도 1b는 이동 로봇(10)의 이동 경로에 따라 측정되는 센서 정보의 축적을 통해 생성된 지역 맵의 예를 도시한 것이며, 도 1c는 도 1b에서 생성된 지역 맵에 ICP(Iterative Closest Point) 알고리즘을 적용하여 매칭된 지역 맵의 예를 도시한 것이다.1B shows an example of a regional map generated through accumulation of sensor information measured according to the movement path of the mobile robot 10. FIG. 1C shows an example of an ICP (Iterative Closest Point) algorithm And an example of a matching area map is shown.

도 1c를 참조하면, 이동 로봇(10)의 이동 경로에 따라 측정되는 센서 정보의 축적, 및 3차원 ICP 알고리즘을 이용하여 3차원의 지역 맵이 생성되는 것을 확인할 수 있으며, ICP 알고리즘의 매칭을 통해 3차원의 연석 및 나무를 확인할 수 있다. Referring to FIG. 1C, it can be confirmed that a three-dimensional area map is generated using the accumulation of sensor information measured according to the moving path of the mobile robot 10 and the three-dimensional ICP algorithm. Three-dimensional curves and trees can be identified.

도 2는 본 발명의 일실시예에 따른 계층적 구조 기반의 맵 제작 방법의 흐름도를 도시한 것이다. FIG. 2 is a flowchart illustrating a hierarchical structure-based map generation method according to an embodiment of the present invention.

도 2에 도시된 방법은 도 8에 설명되는 계층적 구조 기반의 맵 제작 장치에 의해 수행될 수 있다. The method shown in FIG. 2 can be performed by the hierarchical structure-based map producing apparatus illustrated in FIG.

도 2를 참조하면, 단계 210에서 이동 로봇의 이동 경로 상에 형성된 노드들(nodes)에 기초하여 지역 맵(Map)을 생성한다.Referring to FIG. 2, in step 210, an area map is generated based on nodes formed on the movement path of the mobile robot.

예를 들면, 이동 로봇은 2차원 푸시 브룸 레이더(2D push­broom LiDAR)를 포함하며, 2차원 푸시 브룸 레이더를 이용하여 이동 경로에 따른 일정 시간 간격으로 센서 정보를 측정하여 데이터를 축적(Scan accumulation)하고, 인코더로부터 이동 로봇의 오도메트리 정보(odometry data)를 획득할 수 있다. 이 때, 단계 210은 센서 정보 및 오도메트리 정보를 기반으로 이동 경로에 따른 복수의 노드들(nodes)을 형성하는 단계일 수 있다. 여기서, 복수의 노드들은 센서 정보 및 오도메트리 정보가 수집되는 시간에서의 이동 로봇의 위치에 기반하여 형성될 수 있으며, 정보가 수집되는 시간은 기 설정되어 반복될 수 있다. 다만, 반복적으로 정보를 수집하는 시간은 이동 로봇을 관리하는 관리자 또는 사용자에 의해 설정될 수 있으므로, 한정되지 않는다. For example, the mobile robot includes a two-dimensional pushbroom radar (LiDAR), uses a two-dimensional pushbroom radar to measure sensor information at predetermined time intervals along a travel path, accumulates data (scan accumulation) , And obtain the odometry data of the mobile robot from the encoder. At this time, the step 210 may be a step of forming a plurality of nodes along the movement route based on the sensor information and the odometry information. Here, the plurality of nodes may be formed based on the position of the mobile robot at the time when sensor information and odometry information are collected, and the time at which the information is collected may be preset and repeated. However, the time for collecting information repeatedly can be set by an administrator or a user who manages the mobile robot, and is not limited.

이후, 단계 210은 이동 로봇의 위치를 나타내는 복수의 노드들과, 노드 간의 노드 구속 조건(constraint)을 나타내는 에지(edge)를 포함하는 그래프­구조(graph­structure)의 지역 맵을 생성할 수 있다. 여기서, 상기 노드 구속 조건은 인코더에 의해 획득된 오도메트리 정보에 기초하여 생성되는 오도메트리 구속 조건일 수 있다. 또한, 상기 지역 맵은 오도메트리 구속 조건 외에 루프 클로징 구속 조건 및 회전 구속 조건 중 어느 하나 이상에 의해 생성될 수도 있다. Then, step 210 may generate a local map of a graph structure including a plurality of nodes indicating the position of the mobile robot and an edge indicating a node constraint between the nodes. Here, the node constraint condition may be an ellometric constraint generated based on the omnometry information obtained by the encoder. Also, the region map may be generated by at least one of the loop closing constraint and the rotational constraint constraint in addition to the ellipticity constraint.

이 때, 단계 210은 생성된 지역 맵에 3차원 ICP 매칭 알고리즘(Iterative Closest Point Algorithm)을 이용하여 상관 관계를 획득할 수 있으며, 획득 결과에 따른 3차원의 지역 맵을 매칭할 수 있다. At this time, in step 210, a correlation can be obtained using the 3D ICP matching algorithm (Alteration Closest Point Algorithm) on the generated region map, and the 3-dimensional region map according to the acquired result can be matched.

단계 220에서 노드들을 그룹핑하여 지역 맵에 계층적 구조 형태의 전역 맵을 생성한다.In step 220, the nodes are grouped to generate a global map in a hierarchical structure form in the regional map.

예를 들면, 단계 220은 지역 맵을 형성하는 복수의 노드들을 일정 간격 또는 일정 개수에 따라 그룹핑하여 슈퍼 노드(super node)를 형성하며, 형성된 슈퍼 노드들을 연결하여 전역 맵을 생성하는 단계일 수 있다. 이 때, 단계 220은 복수의 슈퍼 노드들과, 슈퍼 노드 간의 루프 클로징(loop closing) 구속 조건(constraint)을 나타내는 에지(edge)를 포함하는 전역 맵을 생성할 수 있다. For example, the step 220 may be a step of forming a super node by grouping a plurality of nodes forming the local map according to a certain interval or a certain number, and connecting the formed super nodes to generate a global map . At this time, the step 220 may generate a global map including a plurality of super nodes and an edge indicating a loop closing constraint between the super nodes.

여기서, 루프 클로징 구속 조건은 이동 로봇의 이동 경로 상에 형성된 노드들에 대해 측정된 자기장 값들에 기초하여 생성될 수 있으며, 단계 220은 형성된 복수의 노드들을 그룹핑하여 슈퍼 노드들을 형성하고, 형성된 슈퍼 노드들에 대해 측정된 자기장 값들과 미리 정의된 슈퍼 노드에 대한 자기장 값을 비교하여 매칭함으로써, 루프 클로징 구속 조건을 생성할 수 있다. Here, the loop closing constraint may be generated based on the magnetic field values measured for the nodes formed on the movement path of the mobile robot, and step 220 forms the super nodes by grouping the formed plurality of nodes, By comparing and comparing the measured magnetic field values for the predefined supernode with the magnetic field values for the predefined super nodes.

단계 230에서 지역 맵 및 전역 맵의 계층간 반복 최적화를 통해 최적화 맵을 제작한다. In step 230, an optimization map is created through repeated optimization between the hierarchy of the regional map and the global map.

이 때, 지역 맵 및 전역 맵은 계층적 구속 조건(constraint)에 의해 계층적으로 형성될 수 있으며, 단계 230은 3차원 ICP 매칭 알고리즘(Iterative Closest Point Algorithm)을 이용하여 전역 맵의 최적화를 수행한 후, 지역 맵을 최적화할 수 있다. 즉, 단계 230은 전역 맵과 지역 맵을 번갈아 반복적으로 최적화를 수행하고, 전역 맵에서 수행된 최적화를 지역 맵에 적용하여 최적화를 수행하거나 지역 맵에서 수행된 최적화를 전역 맵에 적용하여 최적화를 수행함으로써, 3차원의 최적화 맵을 보다 정밀하게 생성할 수 있다. 이 때, 지역 맵 및 전역 맵의 최적화 순서는 한정되지 않는다.At this time, the local map and the global map can be hierarchically formed by hierarchical constraints. In step 230, the global map optimization is performed using the three-dimensional ICP matching algorithm (Iterative Closest Point Algorithm) After that, you can optimize the area map. That is, step 230 repeatedly optimizes the global map and the regional map alternately, performs the optimization by applying the optimization performed in the global map to the regional map, or applies the optimization performed in the regional map to the global map A three-dimensional optimization map can be generated more precisely. At this time, the optimization order of the regional map and the global map is not limited.

도 3은 본 발명의 일실시예에 따른 지역 맵의 생성 및 매칭을 설명하기 위한 일 예시도를 도시한 것이다.FIG. 3 illustrates an example of generating and matching a region map according to an embodiment of the present invention. Referring to FIG.

도 3을 참조하면, 지역 맵(310)은 노드(311), 및 노드(311) 간의 노드 구속 조건(312)을 포함하는 그래프­구조(graph­structure) 기반의 SLAM(Simultaneous Localization and Mapping)을 나타낸다.Referring to FIG. 3, a local map 310 represents a graph structure-based SLAM (Simultaneous Localization and Mapping) including a node 311 and a node constraint 312 between the nodes 311.

노드(311)는 이동 로봇에 포함된 2차원 푸시 브룸 레이더(2D push­broom LiDAR)로부터 측정된 센서 정보와, 이동 로봇의 오도메트리 정보(odometry data)에 의해 형성될 수 있다. 이 때, 센서 정보 및 오도메트리 정보를 노드(311)로 표현하여 축적함으로써, 지역 맵(310)을 생성할 수 있다.The node 311 may be formed by sensor information measured from a 2D pushbroom LiDAR included in the mobile robot and odometry data of the mobile robot. At this time, the area map 310 can be generated by representing and storing the sensor information and the odometry information by the node 311.

또한, 전역 맵(320)은 지역 맵(310)을 형성하는 복수의 노드들(311)을 일정 간격 또는 일정 개수에 따라 그룹핑하여 슈퍼 노드(321)를 형성하고, 형성된 슈퍼 노드들(321) 간의 루프 클로징 구속 조건(322)을 포함하는 그래프­구조(graph­structure) 기반의 SLAM(Simultaneous Localization and Mapping)을 나타낸다.The global map 320 forms a super node 321 by grouping a plurality of nodes 311 forming the local map 310 according to a predetermined interval or a predetermined number to form a super node 321, And SLAM (Simultaneous Localization and Mapping) based on a graph structure including a loop closing constraint (322).

이 때, 지역 맵(310) 및 전역 맵(320)은 계층적 구속 조건(332)에 의해 계층적 구조 기반으로 형성될 수 있다. At this time, the local map 310 and the global map 320 can be formed based on the hierarchical structure by the hierarchical constraint 332.

도 4a 내지 도 4c는 본 발명의 일실시예에 따른 전역 맵의 최적화를 설명하기 위한 일 예시도를 도시한 것이다. FIGS. 4A to 4C illustrate an example of optimization of a global map according to an embodiment of the present invention.

보다 구체적으로, 도 4a는 기본 전역 맵의 예를 도시한 것이고, 도 4b는 측정된 전역 맵의 예를 도시한 것이며, 도 4c는 최적화된 전역 맵의 예를 도시한 것이다.More specifically, FIG. 4A shows an example of a basic global map, FIG. 4B shows an example of a measured global map, and FIG. 4C shows an example of an optimized global map.

도 4a를 참조하면, 기본 전역 맵(410)은 루프 클로징 구속 조건에 의해 연결된 복수의 슈퍼 노드들(401)을 포함하며, 슈퍼 노드(401)는 지역 맵을 형성하는 복수의 노드들에 의해 형성된 것일 수 있다.Referring to FIG. 4A, the basic global map 410 includes a plurality of super nodes 401 connected by a loop closing constraint, and the super node 401 is formed by a plurality of nodes forming a local map Lt; / RTI >

이 때, 복수의 노드들은 이동 로봇의 이동에 따른 오도메트리 정보 및 센서 정보에 기반하여 형성되며, 지역 맵은 이동 로봇의 직선 경로 또는 곡선 경로에서 획득되는 오도메트리 구속 조건 및 회전 구속 조건에 기반하여 생성될 수 있다.In this case, the plurality of nodes are formed based on the odometry information and the sensor information according to the movement of the mobile robot, and the region map is formed based on the odometry constraint and the rotation constraint obtained from the linear path or the curved path of the mobile robot . ≪ / RTI >

상기 오도메트리 구속 조건은 인코더에 의해 획득된 오도메트리 정보에 기초하여 생성되는 구속 조건을 의미하고, 상기 회전 구속 조건은 이동 로봇이 회전하는 동안 측정되는 자기장 값에 기초하여 생성되는 구속 조건을 의미하며, 상기 루프 클로징 구속 조건은 이동 로봇의 이동 경로 상에 형성된 노드들에 대해 측정된 자기장 값들에 기초하여 생성되는 구속 조건을 의미할 수 있다.The odometry constraint condition refers to a constraint condition that is generated based on odometry information obtained by the encoder, and the rotational constraint condition is a constraint condition that is generated based on a magnetic field value measured while the mobile robot rotates And the loop closing constraint may refer to a constraint created based on the measured magnetic field values for the nodes formed on the movement path of the mobile robot.

다만, 실시예에 따라서는 상황에 따라 오도메트리 구속 조건과 루프 클로징 구속 조건만을 이용하여 지역 맵이 생성될 수 있고, 오도메트리 구속 조건과 회전 구속 조건만을 이용하여 지역 맵이 생성될 수도 있으며, 오도메트리 구속 조건과 루프 클로징 구속 조건 그리고 회전 구속 조건 모두를 이용하여 지역 맵이 생성될 수도 있다. However, in some embodiments, the local map may be generated using only the odomometry constraint and the loop closing constraint depending on the situation, and the local map may be generated using only the odometry constraint and the rotational constraint condition , A local map may be generated using both odomometry constraints, loop-closing constraints, and rotational constraints.

나아가, 이동 로봇이 직선 구간을 주행하는 경우에만 노드들을 형성하고, 이동 로봇이 주행 중 정지 상태에서 회전하는 경우에 회전 구속 조건을 생성할 수 있는데, 회전 구속 조건은 이동 로봇이 정지 상태에서 회전하는 동안에도 관측되는 자기장 벡터가 전역 좌표계 상에서 일정하다 가정한 상태에서 생성될 수 있다. 즉, 이동 로봇이 회전할 때 자기장 센서도 함께 회전하므로 회전 전후로 측정되는 자기장 벡터 간의 관계를 이용하여 로봇의 회전각에 대한 구속 조건을 생성할 수 있다.Furthermore, the nodes may be formed only when the mobile robot travels in a straight line section, and a rotation constraint condition may be generated when the mobile robot rotates while the mobile robot is stationary while the mobile robot is rotating. Can be generated while assuming that the observed magnetic field vector is constant on the global coordinate system. That is, since the magnetic field sensor also rotates when the mobile robot rotates, the constraint on the rotation angle of the robot can be generated by using the relationship between the magnetic field vectors measured before and after the rotation.

즉, 이동 로봇이 2차원 평면 상에서 이동한다 가정하고, 이동 로봇이 어떤 병진 변위(translational displacement)없이 회전하는 경우, 전역 좌표 프레임(global coordinate frame)에서 나타나는 자기장 벡터는 변하지 않기 때문에 특정 조건에서 자기장의 측정 특성들을 이용함으로써, 회전 구속 조건을 생성할 수 있다.That is, assuming that the mobile robot moves on a two-dimensional plane, and the mobile robot rotates without any translational displacement, the magnetic field vector appearing in the global coordinate frame does not change, By using measurement characteristics, rotational constraints can be created.

다만, 실시예에 따라서, 회전 구속 조건은 직선 도로를 주행하는 이동 로봇이 방향을 바꾸는 과정에서 생성될 수도 있다. 예를 들면, 직선 도로를 주행하는 이동 로봇이 좌측 또는 우측으로 방향을 변환(각도는 무관함)하여 센서 정보 및 오도메트리 정보를 획득할 수 있고, 이에 따라 형성되는 복수의 노드들로부터 회전을 감지할 수 있으며, 회전된 노드를 포함하는 복수의 노드들을 연결하는 회전 구속 조건을 생성할 수도 있다. 즉, 회전 구속 조건은 자기장 벡터 또는 노드의 위치에 기반하여 생성될 수 있다. However, according to the embodiment, the rotational restraint condition may be generated in the course of changing the direction of the mobile robot traveling on a straight road. For example, a mobile robot traveling on a straight road can obtain sensor information and odometry information by changing the direction to left or right (angle is irrelevant), and rotation from a plurality of nodes formed thereby And may generate rotational constraints connecting the plurality of nodes including the rotated node. That is, the rotational constraint can be generated based on the magnetic field vector or the position of the node.

이에 따라서, 도 4a 내지 도 4c에 도시된 전역 맵(410, 420, 430)은 형성된 노드들과, 오도메트리 구속 조건, 회전 구속 조건 및 루프 클로징 구속 조건에 기반하여 이동 로봇의 직선 경로 및 곡선 경로를 포함할 수 있다. Accordingly, the global maps 410, 420, and 430 shown in Figs. 4A to 4C are generated based on the generated nodes and the linear paths and curves of the mobile robot based on the odometry constraint, the rotational constraint, Path < / RTI >

도 4b를 참조하면, 측정된 전역 맵(420)은 지역 맵의 오도메트리 정보에 포함된 오차로 인해 맵의 정확성이 떨어진 것을 확인할 수 있다. Referring to FIG. 4B, the measured global map 420 can confirm that the accuracy of the map is degraded due to errors included in the odometry information of the regional map.

이후, 도 4c를 참조하면, 최적화된 전역 맵(430)은 측정된 전역 맵(420)의 루프 클로징(loop closing)된 슈퍼 노드들(401)을 최적화하여 맵의 매칭 정확도가 향상된 것을 확인할 수 있다.4C, the optimized global map 430 may be optimized to optimize the matching accuracy of the map by optimizing the super nodes 401 that are loop-closed of the measured global map 420 .

즉, 본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 방법 및 장치는 지역 맵 및 전역 맵의 최적화를 통해 맵에 포함된 오차를 최소화하여 맵의 매칭 정확도를 향상시킬 수 있다. That is, the hierarchical structure-based map production method and apparatus according to the embodiment of the present invention can improve the matching accuracy of the map by minimizing the error included in the map by optimizing the regional map and the global map.

도 5는 본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 방법의 흐름도를 도시한 것이다. FIG. 5 is a flowchart illustrating a hierarchical structure-based map generation method according to an embodiment of the present invention.

도 5에 도시된 방법은 도 8에 설명되는 계층적 구조 기반의 맵 제작 장치에 의해 수행될 수 있다. The method shown in FIG. 5 can be performed by the hierarchical structure-based map producing apparatus illustrated in FIG.

단계 510에서 이동 로봇의 이동 경로 상에 형성된 노드들(nodes)에 기초하여 지역 맵(Map)을 생성하고, 노드들을 그룹핑하여 계층적 구조 형태의 전역 맵을 생성한다.In step 510, an area map is generated based on nodes formed on the moving path of the mobile robot, and a global map in the form of a hierarchical structure is generated by grouping the nodes.

단계 520에서 지역 맵 및 전역 맵의 계층간 반복 최적화를 수행한다.In step 520, iteratively optimizes the hierarchy of the region map and the global map.

여기서, 단계 510 및 단계 520에 대한 설명은 도 2에서 전술한 본 발명의 일실시예에 따른 계층적 구조 기반의 맵 제작 방법의 단계 210, 단계 220 및 단계 230의 내용과 일치하므로, 생략하기로 한다. Here, the description of steps 510 and 520 is identical with that of step 210, step 220 and step 230 of the hierarchical structure-based map production method according to the embodiment of the present invention described above with reference to FIG. 2, do.

이후, 단계 530에서 최적화에 따라 재 생성된 지역 맵에 기초하여 최적화 맵을 제작한다.Thereafter, in step 530, an optimization map is produced based on the regenerated region map in accordance with the optimization.

예를 들면, 단계 520은 계층적 구속 조건(constraint)를 이용하여 지역 맵 및 전역 맵 중 어느 하나의 최적화를 수행하고, 그 외 하나의 최적화를 수행할 수 있다. 이후, 단계 530은 지역 맵 및 전역 맵에 대한 최적화 후, 생성된 지역 맵에 포함된 노드 구속 조건(constraint)을 제거하고, 최적화에 따라 변경된 노드들 간의 변경 노드 구속 조건(constraint)을 이용하여 재 생성된 지역 맵으로부터 3차원의 최적화 맵을 제작하는 단계일 수 있다.For example, step 520 may optimize any one of the local map and the global map using a hierarchical constraint, and perform another optimization. Thereafter, in step 530, after optimization for the local map and the global map, the node constraint included in the generated local map is removed, and the changed node constraint between the changed nodes Dimensional optimization map from the generated local map.

이하에서는, 도 6을 참조하여 단계 530에 대해 보다 상세히 설명하고자 한다.In the following, step 530 will be described in more detail with reference to FIG.

도 6은 본 발명의 실시예에 따른 계층적 구조 기반의 지역 맵 및 전역 맵의 최적화를 설명하기 위한 일 예시도를 도시한 것이다. FIG. 6 is an exemplary diagram for explaining optimization of a hierarchical structure-based regional map and a global map according to an embodiment of the present invention.

도 6의 (a)를 참조하면, 전역 맵을 구성하는 슈퍼 노드(610)는 지역 맵을 형성하는 복수의 노드들(620)의 조합으로 형성되며, 노드(620)에 포함된 오차를 포함하고 있다. 6A, a super node 610 constituting a global map is formed by a combination of a plurality of nodes 620 forming a local map, and includes an error included in the node 620 have.

이에 따라서, 슈퍼 노드(610)를 확대한 (b)를 참조하면, 지역 맵은 복수의 노드들(620), 및 노드(620) 간의 노드 구속 조건(622)을 포함하는 그래프­구조(graph structure)를 형성하고, 이동 로봇의 이동 경로 상에 형성된 오도메트리 정보의 오차(621)를 포함하는 것을 알 수 있다. 이 때, 상기 노드 구속 조건은 인코더에 의해 획득된 오도메트리 정보에 기초하여 생성되는 오도메트리 구속 조건일 수 있다. 또한, 상기 지역 맵은 오도메트리 구속 조건 외에 루프 클로징 구속 조건 및 회전 구속 조건 중 어느 하나 이상에 의해 생성될 수도 있다.Accordingly, referring to (b) of enlarging the super node 610, the local map includes a plurality of nodes 620, and a graph structure including node constraints 622 between the nodes 620. [ And includes the error 621 of the odometry information formed on the moving path of the mobile robot. In this case, the node constraint condition may be an ellometric constraint generated based on the odometry information obtained by the encoder. Also, the region map may be generated by at least one of the loop closing constraint and the rotational constraint constraint in addition to the ellipticity constraint.

이 때, 본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 방법은 단계 530에서 지역 맵에 포함된 노드 구속 조건(622)을 제거하고, 최적화에 따라 변경된 노드들(630) 및 변경된 노드(630) 간의 변경 노드 구속 조건(631)을 이용하여 재 생성된 지역 맵으로부터 3차원의 최적화 맵을 제작할 수 있다. At this time, the hierarchical structure-based map production method according to the embodiment of the present invention removes the node constraint 622 included in the local map at step 530, and changes the modified nodes 630 and the changed nodes 630) It is possible to produce a three-dimensional optimization map from the regenerated region map using the node constraint 631.

보다 구체적으로, 본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 방법은 단계 530에서 지역 맵에 포함된 오도메트리 정보의 오차(621)를 최소화하기 위해 최적화를 수행할 수 있으며, (b)의 오도메트리 정보의 오차(621)를 최소화 또는 제거하기 위해 복수의 노드들(620)을 연결하는 노드 구속 조건(622)을 제거하고, (c)의 최적화에 따라 변경된 노드들(630)에 ICP(Iterative Closest Point) 알고리즘을 이용하여 변경 노드 구속 조건(631)을 포함하는 그래프­구조(graph­structure) 기반의 지역 맵을 재 생성할 수 있다.More specifically, the hierarchical structure-based map generation method according to the embodiment of the present invention may perform optimization to minimize the error 621 of the omnometry information included in the local map in step 530, Removing the node constraint 622 connecting the plurality of nodes 620 in order to minimize or eliminate the error 621 of the odd order information of the nodes 630 according to the optimization of (c) The region map based on the graph structure including the modified node constraint 631 can be regenerated using an ICP (Iterative Closest Point) algorithm.

다시 도 5를 참조하면, 본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 방법의 단계 530은 도 6(c)에 도시된 재 생성된 지역 맵에 기반하여 재 생성된 지역 맵 및 재 생성된 전역 맵을 번갈아 반복적으로 최적화를 수행하여 3차원의 최적화 맵을 제작할 수 있다. Referring again to FIG. 5, step 530 of the hierarchical structure-based map production method according to an embodiment of the present invention includes a re-generated region map based on the re-generated region map shown in FIG. 6 (c) It is possible to produce a three-dimensional optimization map by repeatedly optimizing the global map repeatedly.

도 7a 및 도 7b는 본 발명에 따른 최적화 맵의 결과에 대한 일 예시도를 나타낸 것이다.7A and 7B show an example of the result of the optimization map according to the present invention.

보다 구체적으로, 도 7a는 오도메트리 정보만을 이용하여 제작한 맵의 예를 도시한 것이고, 도 7b는 본 발명의 실시예에 따른 계층간 반복 최적화를 수행하여 제작된 최적화 맵의 예를 도시한 것이다. More specifically, FIG. 7A shows an example of a map generated using only odometry information, and FIG. 7B shows an example of an optimization map produced by performing inter-hierarchical iterative optimization according to an embodiment of the present invention will be.

도 7a를 참조하면, 도 6(b)에서 전술한 바와 같이, 오도메트리 정보에 포함된 오차로 인해 맵의 정확성이 떨어진 것을 확인할 수 있다.Referring to FIG. 7A, as described above with reference to FIG. 6B, it can be confirmed that the accuracy of the map is deteriorated due to errors included in the odometry information.

이에 반해, 도 7b은 본 발명의 실시예에 따른 계층간 반복 최적화를 수행하여 제작된 최적화 맵의 결과를 도시한 것으로, 도 7b를 참조하면 전체 맵의 정확도가 향상된 것을 확인할 수 있다.FIG. 7B shows the result of the optimization map produced by performing the iterative optimization between layers according to the embodiment of the present invention. Referring to FIG. 7B, it is confirmed that the accuracy of the entire map is improved.

이 때, 본 발명에 의해 제작된 최적화된 맵은 지역 맵 및 전역 맵의 계층간 반복 최적화를 통해 제작된 것으로, 전체적인 맵의 정확도가 향상된 것을 알 수 있다. At this time, the optimized map produced by the present invention is produced through repeated optimization between the hierarchical layer map and the global map, and the accuracy of the overall map is improved.

도 8은 본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 장치의 구성을 설명하기 위해 도시한 것이다.FIG. 8 is a view for explaining a configuration of a hierarchical structure-based map production apparatus according to an embodiment of the present invention.

도 8을 참조하면, 본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 장치(800)는 지역 맵 및 전역 맵의 계층간 반복 최적화를 수행하여 최적화 맵을 제작한다.Referring to FIG. 8, a hierarchical structure-based map production apparatus 800 according to an embodiment of the present invention performs an iterative optimization between a hierarchy of a local map and a global map to produce an optimized map.

이에 따른, 본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 장치(800)는 맵 생성부(810) 및 최적화 수행부(820)를 포함한다.Accordingly, the hierarchical structure-based map production apparatus 800 according to the embodiment of the present invention includes a map generation unit 810 and an optimization execution unit 820.

본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 장치(800)의 인코더(830)는 이동 로봇의 오도메트리 정보(odometry data)를 획득하고, 획득된 오도메트리 정보를 맵 생성부(810)로 제공할 수 있다.The encoder 830 of the hierarchical structure-based map producing apparatus 800 according to the embodiment of the present invention acquires odometry data of the mobile robot and supplies the obtained odometry information to the map generator 810).

이 때, 인코더(830)는 이동 로봇의 전동 휠의 회전 속도와 회전 방향을 검출하고, 검출된 회전 속도와 회전 방향을 이용하여 이동 로봇의 오도메트리 정보를 획득할 수 있으며, 오도메트리 정보는 이동 로봇의 x축 좌표와 y축 좌표, 진행 방향의 각도를 포함할 수 있다. At this time, the encoder 830 can detect the rotational speed and the rotational direction of the electric wheel of the mobile robot, acquire the odometry information of the mobile robot using the detected rotational speed and the rotational direction, May include the x-axis coordinate, the y-axis coordinate, and the angle of the traveling direction of the mobile robot.

맵 생성부(810)는 이동 로봇의 이동 경로 상에 형성된 노드들(nodes)에 기초하여 지역 맵(Map)을 생성하고, 노드들을 그룹핑하여 계층적 구조 형태의 전역 맵을 생성한다. The map generation unit 810 generates a local map based on nodes formed on the movement path of the mobile robot and generates a global map of the hierarchical structure by grouping the nodes.

예를 들면, 맵 생성부(810)는 이동 로봇에 포함된 2차원 푸시 브룸 레이더(2D push­broom LiDAR)로부터 이동 경로에 따른 일정 시간 간격으로 센서 정보를 수신하여 데이터 축적(Scan accumulation)하고, 인코더(830)로부터 이동 로봇의 오도메트리 정보를 수신하며, 센서 정보 및 오도메트리 정보를 기반으로 이동 경로에 따른 복수의 노드들(nodes)을 형성할 수 있다. 이 때, 복수의 노드들은 센서 정보 및 오도메트리 정보가 수집되는 시간서의 이동 로봇의 위치에 기반하여 형성될 수 있으며, 정보가 수집되는 시간은 기 설정되어 반복될 수 있다. 다만, 반복적으로 정보를 수집하는 시간은 이동 로봇을 관리하는 관리자 또는 사용자에 의해 설정될 수 있으므로, 한정되지 않는다.For example, the map generation unit 810 receives sensor information at a predetermined time interval from the 2D pushbroom LiDAR included in the mobile robot, performs scan accumulation, 830, and may form a plurality of nodes along the movement path based on the sensor information and the odometry information. In this case, the plurality of nodes may be formed based on the position of the mobile robot at the time when sensor information and odometry information are collected, and the time at which the information is collected may be preset and repeated. However, the time for collecting information repeatedly can be set by an administrator or a user who manages the mobile robot, and is not limited.

이후, 맵 생성부(810)는 이동 로봇의 위치를 나타내는 복수의 노드들과, 노드 간의 노드 구속 조건(constraint)을 나타내는 에지(edge)를 포함하는 그래프­구조(graph­structure)의 지역 맵을 생성할 수 있다. 여기서, 상기 노드 구속 조건은 인코더에 의해 획득된 오도메트리 정보에 기초하여 생성되는 오도메트리 구속 조건일 수 있다. 또한, 상기 지역 맵은 오도메트리 구속 조건 외에 루프 클로징 구속 조건 및 회전 구속 조건 중 어느 하나 이상에 의해 생성될 수도 있다. The map generating unit 810 may generate a local map of a graph structure including a plurality of nodes indicating the position of the mobile robot and edges representing constraints of nodes between nodes have. Here, the node constraint condition may be an ellometric constraint generated based on the omnometry information obtained by the encoder. Also, the region map may be generated by at least one of the loop closing constraint and the rotational constraint constraint in addition to the ellipticity constraint.

이 때, 맵 생성부(810)는 생성된 지역 맵에 3차원 ICP 매칭 알고리즘(Iterative Closest Point Algorithm)을 이용하여 상관 관계를 획득할 수 있으며, 획득 결과에 따른 3차원의 지역 맵을 매칭할 수 있다.At this time, the map generator 810 can acquire a correlation using the three-dimensional ICP matching algorithm (Iterative Closest Point Algorithm) on the generated region map, and can match the three-dimensional region map according to the acquired result have.

또한, 맵 생성부(810)는 지역 맵을 형성하는 노드들을 일정 간격 또는 일정 개수에 따라 그룹핑하여 슈퍼 노드들(super nodes)을 형성하며, 형성된 슈퍼 노드들을 연결하여 전역 맵을 생성할 수 있다. 이 때, 맵 생성부(810)는 복수의 슈퍼 노드들과, 슈퍼 노드 간의 루프 클로징(loop closing) 구속 조건(constraint)을 나타내는 에지(edge)를 포함하는 전역 맵을 생성할 수 있다.In addition, the map generator 810 may form super nodes by grouping the nodes forming the regional map according to a certain interval or a predetermined number, and may connect the formed super nodes to generate the global map. At this time, the map generating unit 810 may generate a global map including a plurality of super nodes and an edge indicating a loop closing constraint between the super nodes.

여기서, 루프 클로징 구속 조건은 이동 로봇의 이동 경로 상에 형성된 노드들에 대해 측정된 자기장 값들에 기초하여 생성될 수 있으며, 맵 생성부(810)는 형성된 복수의 노드들을 그룹핑하여 슈퍼 노드들을 형성하고, 형성된 슈퍼 노드들에 대해 측정된 자기장 값들과 미리 정의된 슈퍼 노드에 대한 자기장 값을 비교하여 매칭함으로써, 루프 클로징 구속 조건을 생성할 수 있다. Here, the loop closing constraint may be generated based on the magnetic field values measured for the nodes formed on the movement path of the mobile robot, and the map generation unit 810 forms the super nodes by grouping the plurality of formed nodes , And comparing the magnetic field values measured for the supernodes formed with the magnetic field values for the predefined supernode, thereby creating a loop closing constraint.

맵 생성부(810)를 통해 생성되는 지역 맵 및 전역 맵에 대해 보다 상세히 설명하자면, 지역 맵을 형성하는 복수의 노드들은 이동 로봇의 이동에 따른 오도메트리 정보 및 센서 정보에 기반하여 형성되며, 지역 맵은 이동 로봇의 직선 경로 또는 곡선 경로에서 획득되는 오도메트리 구속 조건 및 회전 구속 조건에 기반하여 생성될 수 있다. More specifically, the plurality of nodes forming the local map are formed based on the odometry information and the sensor information according to the movement of the mobile robot, The local map can be generated based on the odometry constraint and the rotational constraint obtained in the linear path or curved path of the mobile robot.

상기 오도메트리 구속 조건은 인코더(830)에 의해 획득된 오도메트리 정보에 기초하여 생성되는 구속 조건(constraint)을 의미하고, 상기 회전 구속 조건은 이동 로봇이 회전하는 동안 측정되는 자기장 값에 기초하여 생성되는 구속 조건을 의미하며, 상기 루프 클로징 구속 조건은 이동 로봇의 이동 경로 상에 형성된 노드들에 대해 측정된 자기장 값들에 기초하여 생성되는 구속 조건을 의미할 수 있다.The odometry constraint condition refers to a constraint generated based on the odometry information obtained by the encoder 830. The rotation constraint condition is based on the magnetic field value measured while the mobile robot rotates And the loop closing constraint condition may refer to a constraint condition that is generated based on the magnetic field values measured for the nodes formed on the movement path of the mobile robot.

다만, 실시예에 따라서는 맵 생성부(810)는 상황에 따라 오도메트리 구속 조건과 루프 클로징 구속 조건만을 이용하여 지역 맵을 생성할 수 있고, 오도메트리 구속 조건과 회전 구속 조건만을 이용하여 지역 맵을 생성할 수도 있으며, 오도메트리 구속 조건과 루프 클로징 구속 조건 그리고 회전 구속 조건 모두를 이용하여 지역 맵을 생성할 수도 있다.However, according to the embodiment, the map generator 810 may generate the local map using only the omometry constraint and the loop closing constraint according to the situation, and may use only the omometry constraint and the rotational constraint condition You can create a local map, or you can create a local map using both omometry constraints, loop-closing constraints, and rotation constraints.

나아가, 맵 생성부(810)는 이동 로봇이 직선 구간을 주행하는 경우에만 노드를 형성하고, 이동 로봇이 주행 중 정지 상태에서 회전하는 경우에 회전 구속 조건을 생성할 수 있는데, 회전 구속 조건은 이동 로봇이 정지 상태에서 회전하는 동안에도 관측되는 자기장 벡터가 전역 좌표계 상에서 일정하다 가정한 상태에서 생성될 수 있다. 즉, 이동 로봇이 회전할 때 자기장 센서도 함께 회전하므로 회전 전후로 측정되는 자기장 벡터 간의 관계를 이용하여 로봇의 회전각에 대한 구속 조건을 생성할 수 있다.Further, the map generating unit 810 may form a node only when the mobile robot travels in a straight line section, and may generate a rotation restraint condition when the mobile robot rotates while the mobile robot is stationary during traveling. It can be generated while assuming that the observed magnetic field vector is constant on the global coordinate system even while the robot is rotating in the stationary state. That is, since the magnetic field sensor also rotates when the mobile robot rotates, the constraint on the rotation angle of the robot can be generated by using the relationship between the magnetic field vectors measured before and after the rotation.

즉, 이동 로봇이 2차원 평면 상에서 이동한다 가정하고, 이동 로봇이 어떤 병진 변위(translational displacement)없이 회전하는 경우, 전역 좌표 프레임(global coordinate frame)에서 나타나는 자기장 벡터는 변하지 않기 때문에 특정 조건에서 자기장의 측정 특성들을 이용함으로써, 회전 구속 조건을 생성할 수 있다.That is, assuming that the mobile robot moves on a two-dimensional plane, and the mobile robot rotates without any translational displacement, the magnetic field vector appearing in the global coordinate frame does not change, By using measurement characteristics, rotational constraints can be created.

다만, 실시예에 따라서, 회전 구속 조건은 직선 도로를 주행하는 이동 로봇이 방향을 바꾸는 과정에서 생성될 수도 있다. 예를 들면, 직선 도로를 주행하는 이동 로봇이 좌측 또는 우측으로 방향을 변환(각도는 무관함)하여 센서 정보 및 오도메트리 정보를 획득할 수 있고, 이에 따라 형성되는 복수의 노드들로부터 회전을 감지할 수 있으며, 회전된 노드를 포함하는 복수의 노드들을 연결하는 회전 구속 조건을 생성할 수도 있다. 즉, 회전 구속 조건은 자기장 벡터 또는 노드의 위치에 기반하여 생성될 수 있다. However, according to the embodiment, the rotational restraint condition may be generated in the course of changing the direction of the mobile robot traveling on a straight road. For example, a mobile robot traveling on a straight road can obtain sensor information and odometry information by changing the direction to left or right (angle is irrelevant), and rotation from a plurality of nodes formed thereby And may generate rotational constraints connecting the plurality of nodes including the rotated node. That is, the rotational constraint can be generated based on the magnetic field vector or the position of the node.

최적화 수행부(820)는 지역 맵 및 전역 맵의 계층간 반복 최적화를 수행하여 최적화 맵을 제작한다. The optimization performing unit 820 performs an iterative optimization between the hierarchy of the local map and the global map to produce an optimization map.

이 때, 지역 맵 및 전역 맵은 계층적 구속 조건(constraint)에 의해 계층적으로 형성될 수 있으며, 최적화 수행부(820)는 3차원 ICP 매칭 알고리즘(Iterative Closest Point Algorithm)을 이용하여 전역 맵의 최적화를 수행한 후, 지역 맵을 최적화할 수 있다. 즉, 최적화 수행부(820)는 전역 맵과 지역 맵을 번갈아 반복적으로 최적화를 수행하고, 전역 맵에서 수행된 최적화를 지역 맵에 적용하여 최적화를 수행하거나 지역 맵에서 수행된 최적화를 전역 맵에 적용하여 최적화를 수행함으로써, 3차원의 최적화 맵을 보다 정밀하게 생성할 수 있다. 이 때, 지역 맵 및 전역 맵의 최적화 순서는 한정되지 않는다.At this time, the local map and the global map may be hierarchically formed by a hierarchical constraint, and the optimization performing unit 820 may use the 3D ICP matching algorithm (Iterative Closest Point Algorithm) After performing the optimization, you can optimize the local map. That is, the optimization performing unit 820 repeatedly optimizes the global map and the regional map alternately, performs optimization by applying the optimization performed in the global map to the regional map, or applies the optimization performed in the regional map to the global map Dimensional optimization map can be generated more precisely. At this time, the optimization order of the regional map and the global map is not limited.

또한, 본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 장치(800)의 맵 생성부(810)는 지역 맵 및 전역 맵에 대한 최적화 후, 생성된 지역 맵에 포함된 노드 구속 조건을 제거하고, 최적화에 따라 변경되는 노드들 간의 변경 노드 구속 조건(constraint)을 이용하여 지역 맵을 재 생성할 수 있으며, 최적화 수행부(820)는 재 생성된 지역 맵으로부터 3차원의 최적화 맵을 제작할 수 있다.In addition, the map generation unit 810 of the hierarchical structure-based map production apparatus 800 according to the embodiment of the present invention removes the node constraint condition included in the generated local map after optimization for the local map and the global map And the region map can be regenerated using the modified node constraints between the nodes that are changed according to the optimization. The optimization performing unit 820 can generate a three-dimensional optimization map from the regenerated region map have.

예를 들면, 최적화 수행부(820)에 의해 지역 맵 및 전역 맵에 대한 최적화가 수행되는 경우, 지역 맵에 포함된 오도메트리 정보의 오차가 최소화되거나 제거되어 복수의 노드들이 변경될 수 있다. 이에 따라서, 맵 생성부(810)는 최적화 수행부(820)로부터 수행되는 최적화에 기초하여, 기존 지역 맵을 형성하는 복수의 노드들에 연결된 노드 구속 조건을 제거하고, 최적화에 따라 변경된 노드들에 ICP 알고리즘을 이용하여 변경 노드 구속 조건을 포함하는 그래프­구조 기반의 지역 맵을 재 생성할 수 있다. 이후, 맵 생성부(810)는 재 생성된 지역 맵에 따른 전역 맵을 재 생성할 수 있다.For example, when the optimizing unit 820 optimizes the local map and the global map, the error of the omnometry information included in the local map may be minimized or eliminated to change a plurality of nodes. Accordingly, the map generating unit 810 removes the node constraint condition connected to the plurality of nodes forming the existing region map based on the optimization performed by the optimization performing unit 820, The ICP algorithm can be used to regenerate the local map based on the graph structure including the modified node constraints. Thereafter, the map generator 810 may regenerate the global map according to the regenerated region map.

즉, 본 발명의 실시예에 따른 계층적 구조 기반의 맵 제작 장치(800)는 최적화 수행부(820)의 지역 맵 및 전역 맵의 계층간 반복 최적화에 따른 맵 생성부(810)의 지역 맵 및 전역 맵의 재 생성을 반복함으로써, 최적화 맵의 정확도를 향상시킬 수 있다. That is, the hierarchical structure-based map production apparatus 800 according to the embodiment of the present invention includes a map generation unit 810 and a map generation unit 810, By repeating regeneration of the global map, the accuracy of the optimization map can be improved.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA) A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD­ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기­광 매체(magneto­optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CDROMs and DVDs, magnetic optical media such as floppy disks, magnetooptical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (16)

이동 로봇의 이동 경로 상에 형성된 노드들(nodes)에 기초하여 지역 맵(Map)을 생성하는 단계;
상기 노드들을 그룹핑하여 상기 지역 맵에 계층적 구조 형태의 전역 맵을 생성하는 단계; 및
상기 지역 맵 및 상기 전역 맵의 계층간 반복 최적화를 통해 최적화 맵을 제작하는 단계
를 포함하는 계층적 구조 기반의 맵 제작 방법.
Generating a local map based on nodes formed on a moving path of the mobile robot;
Grouping the nodes to generate a global map in a hierarchical structure form on the region map; And
Creating an optimization map through iterative optimization between the hierarchy of the region map and the global map
Based map generation method.
제1항에 있어서,
상기 지역 맵을 생성하는 단계는
이동 경로에 따른 상기 이동 로봇의 2차원 푸시 브룸 레이더(2D push­broom LiDAR)로부터 측정된 센서 정보와, 상기 이동 로봇의 오도메트리(odometry) 정보를 이용하여 상기 노드들을 형성하는 계층적 구조 기반의 맵 제작 방법.
The method according to claim 1,
The step of generating the region map
A hierarchical structure-based map for forming the nodes using the sensor information measured from the 2D pushbroom radar of the mobile robot according to the movement route and the odometry information of the mobile robot Production method.
제2항에 있어서,
상기 지역 맵을 생성하는 단계는
상기 이동 로봇의 이동에 따라 축적된 상기 노드들의 노드 구속조건(constraint)을 이용하여 그래프­구조(graph­structure)의 상기 지역 맵을 생성하는 계층적 구조 기반의 맵 제작 방법.
3. The method of claim 2,
The step of generating the region map
Wherein the region map of the graph structure is generated using a node constraint of the nodes accumulated according to the movement of the mobile robot.
제1항에 있어서,
상기 전역 맵을 생성하는 단계는
상기 지역 맵을 형성하는 상기 노드들을 일정 간격에 따라 그룹핑하여 슈퍼 노드들(super nodes)을 형성하고, 상기 형성된 슈퍼 노드들을 연결하여 상기 전역 맵을 생성하는 계층적 구조 기반의 맵 제작 방법.
The method according to claim 1,
The step of generating the global map
The hierarchical structure-based map generation method according to claim 1, wherein the global map is generated by grouping the nodes forming the regional map at predetermined intervals to form super nodes, and connecting the formed super nodes to generate the global map.
제4항에 있어서,
상기 전역 맵을 생성하는 단계는
상기 슈퍼 노드들에 루프 클로징(loop closing) 구속 조건(constraint)을 이용하여 상기 전역 맵을 생성하는 계층적 구조 기반의 맵 제작 방법.
5. The method of claim 4,
The step of generating the global map
And creating the global map using a loop closing constraint on the super nodes.
제1항에 있어서,
상기 최적화 맵을 제작하는 단계는
계층적 구속 조건(constraint)를 이용하여 상기 지역 맵 및 상기 전역 맵 중 어느 하나의 최적화를 수행하고, 그 외 하나의 최적화를 수행하는 계층적 구조 기반의 맵 제작 방법.
The method according to claim 1,
The step of producing the optimization map
A hierarchical structure based map generation method for optimizing one of the local map and the global map by using a hierarchical constraint and performing another optimization.
제6항에 있어서,
상기 최적화 맵을 제작하는 단계는
상기 지역 맵 및 상기 전역 맵 중 수행된 어느 하나의 최적화를 상기 그 외 하나에 적용하여 최적화를 수행함으로써, 3차원의 상기 최적화 맵을 제작하는 계층적 구조 기반의 맵 제작 방법.
The method according to claim 6,
The step of producing the optimization map
Wherein the optimizing map is generated by applying optimization to any one of the region map and the global map to thereby optimize the three-dimensional optimization map.
이동 로봇의 이동 경로 상에 형성된 노드들(nodes)에 기초하여 지역 맵(Map)을 생성하고, 상기 노드들을 그룹핑하여 계층적 구조 형태의 전역 맵을 생성하는 단계;
상기 지역 맵 및 상기 전역 맵의 계층간 반복 최적화를 수행하는 단계; 및
상기 최적화에 따라 재 생성된 지역 맵에 기초하여 최적화 맵을 제작하는 단계
를 포함하는 계층적 구조 기반의 맵 제작 방법.
Generating a local map based on nodes formed on a moving path of the mobile robot, and grouping the nodes to generate a global map in a hierarchical structure form;
Performing iterative optimization between layers of the local map and the global map; And
Creating an optimization map based on the regenerated region map according to the optimization
Based map generation method.
제8항에 있어서,
상기 계층간 반복 최적화를 수행하는 단계는
계층적 구속 조건(constraint)를 이용하여 상기 지역 맵 및 상기 전역 맵 중 어느 하나의 최적화를 수행하고, 그 외 하나의 최적화를 수행하는 계층적 구조 기반의 맵 제작 방법.
9. The method of claim 8,
The step of performing interlayer optimization
A hierarchical structure based map generation method for optimizing one of the local map and the global map by using a hierarchical constraint and performing another optimization.
제9항에 있어서,
상기 최적화 맵을 제작하는 단계는
상기 지역 맵 및 상기 전역 맵에 대한 최적화 후, 상기 생성된 지역 맵에 포함된 노드 구속 조건(constraint)을 제거하고, 상기 최적화에 따라 변경된 노드들 간의 변경 노드 구속조건(constraint)을 이용하여 상기 재 생성된 지역 맵으로부터 3차원의 상기 최적화 맵을 제작하는 계층적 구조 기반의 맵 제작 방법.
10. The method of claim 9,
The step of producing the optimization map
A node constraint included in the generated local map is removed after optimization for the local map and the global map, and the node constraint included in the generated local map is removed using the modified node constraint between the changed nodes, And generating the three-dimensional optimization map from the generated local map.
이동 로봇의 이동 경로 상에 형성된 노드들(nodes)에 기초하여 지역 맵(Map)을 생성하고, 상기 노드들을 그룹핑하여 계층적 구조 형태의 전역 맵을 생성하는 맵 생성부; 및
상기 지역 맵 및 상기 전역 맵의 계층간 반복 최적화를 수행하여 최적화 맵을 제작하는 최적화 수행부
를 포함하는 계층적 구조 기반의 맵 제작 장치.
A map generator for generating an area map based on nodes formed on a moving path of the mobile robot and for generating a global map in a hierarchical structure form by grouping the nodes; And
An optimizer performing an iterative optimization between the hierarchy of the global map and the global map to produce an optimized map,
And a map generation unit for generating a map based on the hierarchical structure.
제11항에 있어서,
상기 맵 생성부는
이동 경로에 따른 상기 이동 로봇의 2차원 푸시 브룸 레이더(2D push­broom LiDAR)로부터 측정된 센서 정보와, 상기 이동 로봇의 오도메트리(odometry) 정보로부터 축적된 상기 노드들의 노드 구속조건(constraint)을 이용하여 그래프­구조(graph­structure)의 상기 지역 맵을 생성하는 계층적 구조 기반의 맵 제작 장치.
12. The method of claim 11,
The map generator
The node constraint of the nodes accumulated from the sensor information measured from the 2D pushbroom LiDAR of the mobile robot according to the movement route and the odometry information of the mobile robot is used And generating the local map of the graph structure.
제12항에 있어서,
상기 맵 생성부는
상기 지역 맵을 형성하는 상기 노드들을 일정 간격에 따라 그룹핑하여 슈퍼 노드들(super nodes)을 형성하고, 상기 형성된 슈퍼 노드들의 루프 클로징(loop closing) 구속 조건(constraint)을 이용하여 상기 전역 맵을 생성하는 계층적 구조 기반의 맵 제작 장치.
13. The method of claim 12,
The map generator
Forming super nodes by grouping the nodes forming the region map at predetermined intervals and generating the global map using a loop closing constraint of the formed super nodes A hierarchical structure based map production device.
제11항에 있어서,
상기 최적화 수행부는
계층적 구속 조건(constraint)를 이용하여 상기 지역 맵 및 상기 전역 맵 중 어느 하나의 최적화를 수행하고, 그 외 하나의 최적화를 수행하여 3차원의 상기 최적화 맵을 제작하는 계층적 구조 기반의 맵 제작 장치.
12. The method of claim 11,
The optimization unit
A hierarchical structure-based map generation unit that optimizes any one of the local map and the global map by using a hierarchical constraint and performs another optimization to produce the three-dimensional optimization map Device.
제14항에 있어서,
상기 맵 생성부는
상기 지역 맵 및 상기 전역 맵에 대한 최적화 후, 상기 생성된 지역 맵에 포함된 노드 구속 조건을 제거하고, 상기 최적화에 따라 변경되는 노드들 간의 변경 노드 구속조건(constraint)을 이용하여 지역 맵을 재 생성하며,
상기 최적화 수행부는
상기 재 생성된 지역 맵으로부터 3차원의 상기 최적화 맵을 제작하는 계층적 구조 기반의 맵 제작 장치.
15. The method of claim 14,
The map generator
After optimizing the local map and the global map, the node restricting condition included in the generated local map is removed, and the local map is restructured using the modified node constraint between the changed nodes according to the optimization. ≪ / RTI &
The optimization unit
And generating the three-dimensional optimization map from the regenerated region map.
제11항에 있어서,
상기 이동 로봇의 오도메트리 정보를 획득하는 인코더
를 더 포함하고,
상기 맵 생성부는
상기 획득된 오도메트리 정보에 기초하여 상기 지역 맵을 생성하는 계층적 구조 기반의 맵 제작 장치.
12. The method of claim 11,
An encoder for obtaining the odometry information of the mobile robot
Further comprising:
The map generator
And generating the area map based on the obtained odometry information.
KR1020170138077A 2017-04-21 2017-10-24 Method and apparatus for map generation based on hierarchical structure using 2d laser scanner KR101937594B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/852,094 US10921816B2 (en) 2017-04-21 2017-12-22 Method and apparatus for producing map based on hierarchical structure using 2D laser scanner

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170051631 2017-04-21
KR20170051631 2017-04-21

Publications (2)

Publication Number Publication Date
KR20180118500A true KR20180118500A (en) 2018-10-31
KR101937594B1 KR101937594B1 (en) 2019-01-11

Family

ID=64099803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170138077A KR101937594B1 (en) 2017-04-21 2017-10-24 Method and apparatus for map generation based on hierarchical structure using 2d laser scanner

Country Status (1)

Country Link
KR (1) KR101937594B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020230931A1 (en) * 2019-05-16 2020-11-19 엘지전자 주식회사 Robot generating map on basis of multi-sensor and artificial intelligence, configuring correlation between nodes and running by means of map, and method for generating map
WO2020241934A1 (en) * 2019-05-30 2020-12-03 엘지전자 주식회사 Method for estimating position by synchronizing multi-sensor, and robot for implementing same

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020230931A1 (en) * 2019-05-16 2020-11-19 엘지전자 주식회사 Robot generating map on basis of multi-sensor and artificial intelligence, configuring correlation between nodes and running by means of map, and method for generating map
US11614747B2 (en) 2019-05-16 2023-03-28 Lg Electronics Inc. Robot generating map and configuring correlation of nodes based on multi sensors and artificial intelligence, and moving based on map, and method of generating map
WO2020241934A1 (en) * 2019-05-30 2020-12-03 엘지전자 주식회사 Method for estimating position by synchronizing multi-sensor, and robot for implementing same
KR20220002758A (en) * 2019-05-30 2022-01-07 엘지전자 주식회사 Method for estimating position by synchronizing multi-sensor and robot implementing the same
US11579626B2 (en) 2019-05-30 2023-02-14 Lg Electronics Inc. Method of localization by synchronizing multi sensors and robot implementing same

Also Published As

Publication number Publication date
KR101937594B1 (en) 2019-01-11

Similar Documents

Publication Publication Date Title
US10921816B2 (en) Method and apparatus for producing map based on hierarchical structure using 2D laser scanner
US8515612B2 (en) Route planning method, route planning device and autonomous mobile device
Wang et al. A simple and parallel algorithm for real-time robot localization by fusing monocular vision and odometry/AHRS sensors
JP2006504192A (en) Method and apparatus for forming a graph structure describing a surface having a free surface and an occupied surface, and a computer program and computer program product having program code means
JP7259020B2 (en) Autonomous Map Traversal with Waypoint Matching
JP6855524B2 (en) Unsupervised learning of metric representations from slow features
KR101490055B1 (en) Method for localization of mobile robot and mapping, and apparatuses operating the same
US11292132B2 (en) Robot path planning method with static and dynamic collision avoidance in an uncertain environment
Lopez-Padilla et al. Optimal gap navigation for a disc robot
JP6827642B2 (en) Self-calibration sensor system for vehicles with wheels
Suh et al. Vision-based coordinated localization for mobile sensor networks
JP5287060B2 (en) Route planning device and autonomous mobile device
KR101937594B1 (en) Method and apparatus for map generation based on hierarchical structure using 2d laser scanner
CN114072254A (en) Robot path planning method using static and dynamic collision avoidance in uncertain environment
Sankalprajan et al. Comparative analysis of ROS based 2D and 3D SLAM algorithms for Autonomous Ground Vehicles
Al-Mutib et al. Stereo vision SLAM based indoor autonomous mobile robot navigation
CN112782719A (en) Self-correcting vehicle positioning
Wang et al. A low-cost consistent vehicle localization based on interval constraint propagation
JP5287050B2 (en) Route planning method, route planning device, and autonomous mobile device
WO2020224996A1 (en) Simultaneous localization and mapping
JP7235060B2 (en) Route planning device, route planning method, and program
Shojaeipour et al. Motion planning for mobile robot navigation using combine quad-tree decomposition and voronoi diagrams
JP6589578B2 (en) Travel amount estimation device, autonomous mobile body, and travel amount estimation method
Karamchandani et al. SLAM using neural network-based depth estimation for auto vehicle parking
Barak et al. Two Dimensional Mapping by using Single Ultrasonic Sensor.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right