KR102041664B1 - Method and apparatus for estimating localization of robot in wide range of indoor space using qr marker and laser scanner - Google Patents

Method and apparatus for estimating localization of robot in wide range of indoor space using qr marker and laser scanner Download PDF

Info

Publication number
KR102041664B1
KR102041664B1 KR1020160181389A KR20160181389A KR102041664B1 KR 102041664 B1 KR102041664 B1 KR 102041664B1 KR 1020160181389 A KR1020160181389 A KR 1020160181389A KR 20160181389 A KR20160181389 A KR 20160181389A KR 102041664 B1 KR102041664 B1 KR 102041664B1
Authority
KR
South Korea
Prior art keywords
robot
information
indoor space
marker
scanned
Prior art date
Application number
KR1020160181389A
Other languages
Korean (ko)
Other versions
KR20180076815A (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 KR1020160181389A priority Critical patent/KR102041664B1/en
Publication of KR20180076815A publication Critical patent/KR20180076815A/en
Application granted granted Critical
Publication of KR102041664B1 publication Critical patent/KR102041664B1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • G05D1/0236Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

로봇의 위치 인식 장치는 미리 설정된 위치에 배치된 적어도 하나의 QR 마커에 대한 정보 및 로봇에 설치된 적어도 하나의 센서에 의해 센싱된 정보를 획득하여 로봇의 위치를 추정한다. The apparatus for recognizing the position of the robot estimates the position of the robot by obtaining information about at least one QR marker disposed at a preset position and information sensed by at least one sensor installed in the robot.

Description

QR 마커와 레이저 스캐너를 이용하여 광범위 실내 공간에서 로봇의 위치를 인식하기 위한 방법 및 장치{METHOD AND APPARATUS FOR ESTIMATING LOCALIZATION OF ROBOT IN WIDE RANGE OF INDOOR SPACE USING QR MARKER AND LASER SCANNER}TECHNICAL AND APPARATUS FOR ESTIMATING LOCALIZATION OF ROBOT IN WIDE RANGE OF INDOOR SPACE USING QR MARKER AND LASER SCANNER}

아래의 실시예들은 광범위 실내 공간에서 로봇의 위치를 인식하기 위한 방법 및 장치에 관한 것으로, 보다 구체적으로 QR 마커와 레이저 스캐너를 이용하여 광범위 실내 공간에서 로봇의 위치를 인식하기 위한 방법 및 장치에 관한 것이다.The following embodiments relate to a method and apparatus for recognizing a robot's position in a large indoor space, and more particularly, to a method and apparatus for recognizing a robot's position in a large indoor space using a QR marker and a laser scanner. will be.

산업 로봇은 고정된 위치에서 똑같은 일을 반복적으로 수행하며, 필드 로봇은 다양한 환경에서 다양한 일을 수행한다. 이런 필드 로봇은 최근 로봇 기술이 발전하면서 나타나고 있다.Industrial robots perform the same tasks repeatedly in fixed locations, and field robots perform various tasks in different environments. These field robots are emerging as robot technology has advanced recently.

필드 로봇은 다양한 환경에서 작업을 수행하기 때문에 로봇 자동화를 위해서는 많은 어려움이 있다. 필드 로봇의 자동화에 대한 주요 이슈 중에 하나는 로봇의 자기위치인식 문제를 해결하는 것이다.Since field robots perform tasks in various environments, there are many difficulties for robot automation. One of the major issues with the automation of field robots is to solve the robot's self-awareness problem.

위치 인식을 위해서 레이저 스캐너를 활용하는 기술이 제안된 바 있다. 하지만, 유리와 같은 반사 물질을 포함하는 벽면 등에 대한 스캔된 정보를 획득하는 경우에, 스캔된 정보로부터 타겟에 대한 정보를 정확하게 얻기 어려우며, 동적인 물체나 환경의 변화로 인한 작성된 맵의 기준 데이터의 변화는 위치 인식 신뢰도의 감소를 야기한다.A technique using a laser scanner for location recognition has been proposed. However, in the case of acquiring scanned information about a wall including a reflective material such as glass, it is difficult to accurately obtain information about the target from the scanned information, and it is difficult to obtain the information of the reference data of the created map due to dynamic objects or changes in the environment. The change causes a decrease in location awareness reliability.

또한, 특정 오브젝트 또는 특정 위치에 부착된 QR 코드는 해당 오브젝트 또는 해당 위치에 대한 여러 정보를 제공할 수 있다. 다만, QR 코드를 제대로 인식하기 위해서는 카메라가 고정되어야 할 필요가 있다. 또한, 카메라가 설치된 로봇이 QR 코드를 제대로 인식하기 위해서는 로봇의 이동 속도는 제한될 수 있다.In addition, a QR code attached to a specific object or a specific location may provide various information about the object or the corresponding location. However, to properly recognize the QR code, the camera needs to be fixed. In addition, in order for the robot on which the camera is installed to properly recognize the QR code, the moving speed of the robot may be limited.

본 발명의 일실시예에 따른 로봇의 위치 인식 방법 및 장치는 실내 공간에 배치된 QR 마커에 대한 정보 및 로봇에 설치된 센서에 의해 센싱된 정보를 이용하여 로봇의 위치를 보다 정확하게 인식한다.A method and apparatus for recognizing a location of a robot according to an embodiment of the present invention recognizes a location of a robot more accurately by using information on a QR marker disposed in an indoor space and information sensed by a sensor installed in the robot.

또한, 본 발명의 일실시예에 따른 로봇의 위치 인식 방법 및 장치는 실내 공간에 배치된 QR 마커에 대한 정보 및 로봇에 설치된 센서에 의해 센싱된 정보를 이용하여 로봇이 높은 속도로 주행함에도 불구하고, 로봇의 위치를 보다 정확하게 인식한다.In addition, the method and apparatus for recognizing the position of the robot according to an embodiment of the present invention, despite the robot traveling at a high speed by using information about the QR marker disposed in the indoor space and information sensed by the sensor installed in the robot , More accurately recognize the position of the robot.

또한, 본 발명의 일실시예에 따른 로봇의 위치 인식 방법 및 장치는 QR 마커에 대한 정보와 로봇에 설치된 센서에 의해 센싱된 정보를 구속조건으로 사용하여 그래프를 생성함으로써 로봇의 위치 인식을 개선한다.In addition, the method and apparatus for recognizing the position of the robot according to an embodiment of the present invention improves the position recognition of the robot by generating a graph using the information about the QR marker and the information sensed by the sensor installed in the robot as constraints. .

또한, 본 발명의 일실시예에 따른 로봇의 위치 인식 방법 및 장치는 생성된 그래프를 최적화하여 맵을 생성하는 과정을 이용하여 보다 정확한 위치 인식을 실현한다.In addition, the robot's position recognition method and apparatus according to an embodiment of the present invention realizes more accurate position recognition by using a process of generating a map by optimizing the generated graph.

또한, 본 발명의 일실시예에 따른 로봇의 위치 인식 방법 및 장치는 레이저 스캐너에 의해 스캔된 정보와 맵을 정합하여 로봇의 위치를 보다 정확하게 추정한다.In addition, the method and apparatus for recognizing the position of the robot according to an embodiment of the present invention more accurately estimates the position of the robot by matching the map scanned with the laser scanner.

본 발명의 일실시예에 따른 로봇의 위치 인식 방법은 실내 공간의 미리 설정된 위치에 배치된 적어도 하나의 QR 마커에 대한 정보 및 로봇에 설치된 적어도 하나의 센서에 의해 센싱된 정보를 획득하는 단계; 및 상기 QR 마커에 대한 정보 및 상기 로봇에 설치된 상기 적어도 하나의 센서에 의해 센싱된 정보를 이용하여 상기 로봇의 위치를 추정하는 단계를 포함한다.According to one or more exemplary embodiments, a method of recognizing a location of a robot includes: obtaining information about at least one QR marker disposed at a preset location of an indoor space and information sensed by at least one sensor installed in the robot; And estimating the position of the robot using information on the QR marker and information sensed by the at least one sensor installed in the robot.

상기 QR 마커의 모서리들에는 복수의 베젤들이 배치되고, 상기 복수의 베젤들 각각은 서로 다른 두께를 가질 수 있다.A plurality of bezels may be disposed at corners of the QR marker, and each of the plurality of bezels may have a different thickness.

상기 로봇의 위치 인식 방법은 상기 로봇에 의해 인식되는 베젤들 각각의 두께에 기초하여 상기 로봇의 오리엔테이션을 판단하는 단계를 포함할 수 있다.The method of recognizing a position of the robot may include determining an orientation of the robot based on the thickness of each of the bezels recognized by the robot.

상기 로봇의 위치를 추정하는 단계는 상기 QR 마커에 대한 정보 및 상기 로봇에 설치된 상기 적어도 하나의 센서에 의해 센싱된 정보를 구속 조건으로 사용하여 그래프를 생성하는 단계; 및 상기 로봇의 위치를 추정하기 위하여 상기 그래프를 최적화하는 단계를 포함할 수 있다.The estimating of the position of the robot may include generating a graph using information on the QR marker and information sensed by the at least one sensor installed in the robot as a constraint condition; And optimizing the graph to estimate the position of the robot.

상기 로봇의 위치를 추정하는 단계는 상기 최적화된 그래프를 이용하여 상기 실내 공간에 대응하는 맵을 생성하는 단계; 및 레이저 스캐너를 이용하여 스캔된 데이터와 상기 생성된 맵을 매칭하는 단계를 포함할 수 있다.The estimating of the position of the robot may include generating a map corresponding to the indoor space using the optimized graph; And matching the scanned data with the generated map using a laser scanner.

상기 로봇의 위치 인식 방법은 상기 추정된 로봇의 위치를 파티클 필터를 이용하여 필터링하는 단계를 더 포함할 수 있다.The location recognition method of the robot may further include filtering the estimated location of the robot using a particle filter.

상기 로봇에 설치된 적어도 하나의 센서는 오도메트리(Odometry), 자이로스코프, LiDAR(Light Detection And Ranging) 또는 Camera 중 적어도 하나를 포함할 수 있다.The at least one sensor installed in the robot may include at least one of an odometry, a gyroscope, a light detection and ranging (LIDAR), or a camera.

본 발명의 일실시예에 따른 로봇의 위치 인식 장치는 실내 공간의 미리 설정된 위치에 배치된 적어도 하나의 QR 마커에 대한 정보 및 로봇에 설치된 적어도 하나의 센서에 의해 센싱된 정보를 획득하는 획득부 및 상기 QR 마커에 대한 정보 및 상기 로봇에 설치된 상기 적어도 하나의 센서에 의해 센싱된 정보를 이용하여 상기 로봇의 위치를 추정하는 추정부를 포함한다. An apparatus for recognizing a position of a robot according to an embodiment of the present invention includes an acquisition unit for obtaining information about at least one QR marker disposed at a preset position of an indoor space and information sensed by at least one sensor installed in the robot; And an estimator for estimating the position of the robot using the information on the QR marker and the information sensed by the at least one sensor installed in the robot.

상기 QR 마커의 모서리들에는 복수의 베젤들이 배치되고, 상기 복수의 베젤들 각각은 서로 다른 두께를 가질 수 있다. A plurality of bezels may be disposed at corners of the QR marker, and each of the plurality of bezels may have a different thickness.

상기 로봇의 위치 인식 장치는 로봇에 의해 인식되는 베젤들 각각의 두께에 기초하여 상기 로봇의 오리엔테이션을 판단하는 오리엔테이션 판단부를 포함할 수 있다.The position recognition apparatus of the robot may include an orientation determination unit that determines an orientation of the robot based on the thickness of each of the bezels recognized by the robot.

상기 추정부는 상기 QR 마커에 대한 정보 및 상기 로봇에 설치된 상기 적어도 하나의 센서에 의해 센싱된 정보를 구속 조건으로 사용하여 그래프를 생성하는 그래프 생성부 및 상기 로봇의 위치를 추정하기 위하여 상기 그래프를 최적화하는 최적화부를 포함할 수 있다.The estimator optimizes the graph to estimate the position of the graph generator and the robot to generate a graph using information on the QR marker and information sensed by the at least one sensor installed in the robot as constraint conditions. It may include an optimization unit.

상기 추정부는 상기 최적화된 그래프를 이용하여 상기 실내 공간에 대응하는 맵을 생성하는 맵 생성부, 레이저 스캐너를 이용하여 스캔된 데이터와 상기 생성된 맵을 매칭하는 정합부를 포함할 수 있다.The estimator may include a map generator that generates a map corresponding to the indoor space by using the optimized graph, and a matching unit that matches the generated map with the scanned data using a laser scanner.

상기 로봇의 위치 인식 장치는 상기 추정된 로봇의 위치를 파티클 필터를 이용하여 필터링하는 필터를 더 포함할 수 있다. 상기 로봇에 설치된 적어도 하나의 센서는 오도메트리(Odometry), 자이로스코프, LiDAR(Light Detection And Ranging), 또는 Camera 중 적어도 하나를 포함할 수 있다.The location recognition apparatus of the robot may further include a filter for filtering the estimated location of the robot using a particle filter. At least one sensor installed in the robot may include at least one of an odometry, a gyroscope, a light detection and ranging (LIDAR), or a camera.

본 발명의 일실시예에 따른 로봇의 위치 인식 방법 및 장치는 실내 공간에 배치된 QR 마커에 대한 정보 및 로봇에 설치된 센서에 의해 센싱된 정보를 이용하여 로봇의 위치를 보다 정확하게 인식할 수 있다.The method and apparatus for recognizing a location of a robot according to an embodiment of the present invention may recognize a location of a robot more accurately by using information about a QR marker disposed in an indoor space and information sensed by a sensor installed in the robot.

또한, 본 발명의 일실시예에 따른 로봇의 위치 인식 방법 및 장치는 실내 공간에 배치된 QR 마커에 대한 정보 및 로봇에 설치된 센서에 의해 센싱된 정보를 이용하여 로봇이 높은 속도로 주행함에도 불구하고, 로봇의 위치를 보다 정확하게 인식할 수 있다.In addition, the method and apparatus for recognizing the position of the robot according to an embodiment of the present invention, despite the robot traveling at a high speed by using information about the QR marker disposed in the indoor space and information sensed by the sensor installed in the robot Therefore, the position of the robot can be recognized more accurately.

또한, 본 발명의 일실시예에 따른 로봇의 위치 인식 방법 및 장치는 QR 마커에 대한 정보와 로봇에 설치된 센서에 의해 센싱된 정보를 구속조건으로 사용하여 그래프를 생성함으로써 로봇의 위치 인식 방법을 개선할 수 있다.In addition, the method and apparatus for recognizing the position of the robot according to an embodiment of the present invention improve the method for recognizing the position of the robot by generating a graph using the information about the QR marker and the information sensed by the sensor installed in the robot as constraints. can do.

또한, 본 발명의 일실시예에 따른 로봇의 위치 인식 방법 및 장치는 생성된 그래프를 최적화하여 맵을 생성하는 과정을 이용하여 보다 정확한 위치 인식을 실현할 수 있다.In addition, the robot location recognition method and apparatus according to an embodiment of the present invention can realize a more accurate location recognition by using a process of generating a map by optimizing the generated graph.

또한, 본 발명의 일실시예에 따른 로봇의 위치 인식 방법 및 장치는 레이저 스캐너에 의해 스캔된 정보와 맵을 정합하여 로봇의 위치를 보다 정확하게 추정할 수 있다.In addition, the method and apparatus for recognizing the position of the robot according to an embodiment of the present invention may more accurately estimate the position of the robot by matching the information scanned by the laser scanner with a map.

도 1 은 본 발명의 일실시예에 따른 실내 공간에서 이동하는 로봇 및 로봇의 위치 인식 장치를 포함하는 로봇의 위치 인식 시스템을 나타낸다.
도 2는 본 발명의 일실시예에 따른 로봇의 위치를 인식하는 방법을 나타낸 흐름도이다.
도 3은 본 발명의 일실시예에 따라 로봇에 설치된 센서들의 정보를 이용하여 맵핑 알고리즘을 실행하는 과정을 개략적으로 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따라 실내 공간에 배치되는 QR 마커의 예를 나타낸다.
도 5는 본 발명의 일실시예에 따라 생성되는 마커 기반 맵 및 매핑 알고리즘의 실행 결과물을 예시적으로 나타낸다.
도6은 본 발명의 일실시예에 따라 로봇의 위치 결과를 추정하는 위치인식 알고리즘을 실행하는 과정을 개략적으로 나타낸 도면이다.
도7은 본 발명의 일실시예에 따라 실내공간에 배치되는 레이저 스캐너를 나타낸 도면이다.
1 illustrates a position recognition system of a robot including a robot moving in an indoor space and a position recognition apparatus of the robot according to an embodiment of the present invention.
2 is a flowchart illustrating a method of recognizing a position of a robot according to an embodiment of the present invention.
3 is a diagram schematically illustrating a process of executing a mapping algorithm by using information of sensors installed in a robot according to an embodiment of the present invention.
4 shows an example of a QR marker disposed in an indoor space according to an embodiment of the present invention.
5 exemplarily illustrates an execution result of a marker-based map and mapping algorithm generated according to an embodiment of the present invention.
6 is a diagram schematically illustrating a process of executing a position recognition algorithm for estimating a position result of a robot according to an embodiment of the present invention.
7 is a view showing a laser scanner disposed in the indoor space according to an embodiment of the present invention.

이하, 본 발명의 실시예들을 첨부된 도면들을 참조하여 설명한다. 아래에서는 한정된 실시예들이 기술되지만, 이러한 실시예들은 본 발명의 예이며, 당업자는 이러한 실시예들을 용이하게 변경할 수 있다.Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. Although limited embodiments are described below, these embodiments are examples of the invention, and those skilled in the art can easily change these embodiments.

도 1 은 본 발명의 일실시예에 따른 실내 공간에서 이동하는 로봇 및 로봇의 위치 인식 장치를 포함하는 로봇의 위치 인식 시스템을 나타낸다.1 illustrates a position recognition system of a robot including a robot moving in an indoor space and a position recognition apparatus of the robot according to an embodiment of the present invention.

도 1을 참조하면, 실내 공간(100)에는 복수의 QR 마커들(110)이 미리 설정된 위치들에 배치된다. 또한, 로봇(120)은 실내 공간(100)에서 이동할 수 있으며, 위치 인식 장치(101)는 로봇(120)의 위치를 실시간으로 추정한다. 실내 공간(100)은 광범위한 것을 전제로 한다.Referring to FIG. 1, a plurality of QR markers 110 are disposed at preset locations in the indoor space 100. In addition, the robot 120 may move in the indoor space 100, and the position recognizing apparatus 101 estimates the position of the robot 120 in real time. Interior space 100 is based on a wide range.

위치 인식 장치(101)는 획득부(130), 오리엔테이션 판단부(140), 추정부(150), 그래프 생성부(151), 최적화부(152), 맵생성부(153), 정합부(154) 및 필터(160)를 포함한다.The position recognizing apparatus 101 includes an acquirer 130, an orientation determiner 140, an estimator 150, a graph generator 151, an optimizer 152, a map generator 153, and a matcher 154. ) And a filter 160.

획득부(130)는 실내 공간(100)의 미리 설정된 위치에 배치된 복수의 QR 마커들(110)에 대한 정보 및 로봇(120)에 설치된 적어도 하나의 센서에 의해 센싱된 정보를 획득한다. 이 때, 센서는 오도메트리(Odometry), 자이로스코프, LiDAR(Light Detection And Ranging) 또는 Camera 중 적어도 하나를 포함할 수 있다.The acquirer 130 acquires information about the plurality of QR markers 110 disposed at a preset position of the indoor space 100 and information sensed by at least one sensor installed in the robot 120. In this case, the sensor may include at least one of an odometry, a gyroscope, a light detection and ranging (LIDAR), or a camera.

이 때, 복수의 QR 마커들(110)에 대한 정보는 QR 마커들(110) 각각의 위치 정보를 포함할 수 있으며, 위치 인식 장치(101)는 QR 마커들(110) 각각의 위치 정보를 기초로 로봇(120)의 위치를 추정할 수 있다. 다만, 로봇(120)이 이동하는 경우, 복수의 QR 마커들(110)은 로봇(120)에 의해 잘 인식되지 않을 수 있다. 본 발명의 일실시예에 따른 복수의 QR 마커들(110) 각각은 로봇(120)의 인식률을 높이기 위하여 설계될 수 있으며, 이에 대해서는 도 4를 참조하여 다시 설명한다.In this case, the information on the plurality of QR markers 110 may include location information of each of the QR markers 110, and the location recognizing apparatus 101 based on the location information of each of the QR markers 110. The position of the robot 120 can be estimated. However, when the robot 120 moves, the plurality of QR markers 110 may not be well recognized by the robot 120. Each of the plurality of QR markers 110 according to an embodiment of the present invention may be designed to increase the recognition rate of the robot 120, which will be described again with reference to FIG. 4.

또한, 오리엔테이션 판단부(140)는 QR마커(110)에 대한 정보를 이용하여 로봇의 오리엔테이션을 판단할 수 있다. 오리엔테이션 판단에 대한 상세한 설명은 도4를 참조하여 다시 설명한다.In addition, the orientation determination unit 140 may determine the orientation of the robot using the information on the QR marker 110. Detailed description of the orientation determination will be described again with reference to FIG. 4.

추정부(150)는 복수의 QR마커들(110)에 대한 정보 및 로봇(120)에 설치된 적어도 하나의 센서에 의해 센싱된 정보로 위치를 추정할 수 있다. 추정부(150)는 그래프 생성부(151), 최적화부(152), 맵 생성부(153) 및 정합부(154)를 포함한다.The estimator 150 may estimate the position using information about the plurality of QR markers 110 and information sensed by at least one sensor installed in the robot 120. The estimator 150 includes a graph generator 151, an optimizer 152, a map generator 153, and a matcher 154.

그래프 생성부(151)는 그래프를 생성하여 로봇(120)의 위치를 추정한다. 예를 들어, 로봇(120)의 위치는 복수의 QR마커(110)들 각각의 위치 정보와 로봇(120)에 설치된 오도메트리(Odometry) 센서에 의하여 센싱된 정보를 기초로 추정될 수 있다. 여기서, 오도메트리(Odometry)는 모션센서에 의하여 얻어진 데이터를 이용하여 로봇(120)의 변위를 추정한다. 그래프 생성부(151)는 로봇(120)의 변위 정보와 복수의 QR마커(110)들 각각의 위치 정보를 구속조건으로 이용하여 그래프를 생성한다. 구속 조건은 각 그래프의 결과값이 계수부족이나 불량조건과 같은 수치적인 문제 때문에 비현실적인 값이 얻어지는 경우를 방지한다. 그래프를 생성하는 과정에 대한 상세한 설명은 도3에서 설명한다.The graph generator 151 generates a graph to estimate the position of the robot 120. For example, the position of the robot 120 may be estimated based on the position information of each of the QR markers 110 and the information sensed by an odometry sensor installed in the robot 120. Here, the Odometry estimates the displacement of the robot 120 using the data obtained by the motion sensor. The graph generator 151 generates a graph using the displacement information of the robot 120 and the position information of each of the plurality of QR markers 110 as constraint conditions. Constraints prevent the unrealistic values from being obtained due to numerical problems such as lack of coefficients or poor conditions. A detailed description of the process of generating the graph is described with reference to FIG. 3.

또한, 최적화부(152)는 생성된 그래프에 대한 최적화 과정을 수행한다. 그리고, 맵 생성부(153)는 최적화된 그래프를 이용하여 맵을 생성한다. 맵 생성부(153)는 최적화된 그래프를 이용하여 소수의 초기 QR마커(110)들을 등록한 후 나머지 마커들을 자동으로 등록함으로써 빠르고 효율적으로 맵을 생성한다. 맵을 생성하는 과정에 대한 상세한 설명은 도5에서 설명한다.In addition, the optimizer 152 performs an optimization process on the generated graph. The map generator 153 generates a map using the optimized graph. The map generator 153 registers a few initial QR markers 110 using the optimized graph and automatically registers the remaining markers to generate a map quickly and efficiently. A detailed description of the process of generating the map is described with reference to FIG. 5.

정합부(154)는 생성된 맵을 레이저 스캐너에서 스캔된 데이터와 정합한다. 정합된 스캔된 데이터와 맵에 기초하여 로봇(120)의 위치는 추정될 수 있다. 레이저 스캐너에서 스캔된 데이터는 로봇(120)으로부터 제공될 수 있다. 레이저 스캐너에 대한 상세한 설명은 도 7에서 설명한다. 두 데이터를 정합하는 과정에 대한 상세한 설명은 도 6에서 상세히 설명한다.The matching unit 154 matches the generated map with the data scanned by the laser scanner. The position of the robot 120 may be estimated based on the matched scanned data and map. The data scanned in the laser scanner may be provided from the robot 120. A detailed description of the laser scanner is given in FIG. 7. A detailed description of the process of matching the two data is described in detail with reference to FIG. 6.

또한, 필터(160)는 위치 결과를 파티클 필터를 이용하여 필터링 한다. 파티클 필터의 리샘플링은 복수의 QR마커(110)들에 대한 정보를 획득함과 동시에 일어난다.In addition, the filter 160 filters the position result using the particle filter. Resampling of the particle filter occurs at the same time as obtaining information about the plurality of QR markers (110).

도 2는 본 발명의 일실시예에 따른 로봇의 위치를 인식하는 방법을 나타낸 흐름도이다.2 is a flowchart illustrating a method of recognizing a position of a robot according to an embodiment of the present invention.

도 2를 참조하면 본 발명의 일실시예에 따른 위치 인식 방법은 실내 공간(100)의 미리 설정된 위치에 배치된 복수의QR마커(110)들에 대한 정보 및 로봇(120)에 설치된 적어도 하나의 센서에 의해 센싱된 정보를 획득한다(S210).Referring to FIG. 2, the method for recognizing a location according to an embodiment of the present invention includes information on a plurality of QR markers 110 disposed at a preset location of an indoor space 100 and at least one installed in the robot 120. Information sensed by the sensor is obtained (S210).

이 때, 복수의 QR마커(110)들에 대한 정보와 로봇(120)에 설치된 적어도 하나의 센서에 의해 센싱된 정보의 획득은 순차적으로 수행될 수도 있지만 병렬적으로 수행될 수도 있다.At this time, the acquisition of information on the plurality of QR markers 110 and the information sensed by at least one sensor installed in the robot 120 may be performed sequentially but may be performed in parallel.

또한, 로봇(120)의 오리엔테이션 판단은 복수의 QR마커(110)들에 대한 정보를 이용한다(S221). 이때, 로봇(120)의 오리엔테이션 판단은 복수의 QR마커(110)들에 대한 정보와 로봇(120)에 설치된 적어도 하나의 센서에 의해 센싱된 정보의 획득과 병렬적으로 수행되거나 순차적으로 수행될 수 있다.In addition, the orientation determination of the robot 120 uses information on the plurality of QR markers 110 (S221). In this case, the orientation determination of the robot 120 may be performed in parallel with or sequentially obtained with information about the plurality of QR markers 110 and information sensed by at least one sensor installed in the robot 120. have.

위치 인식 장치(101)는 복수의 QR마커(110)들에 대한 정보 및 로봇(120)에 설치된 적어도 하나의 센서에 의해 센싱된 정보에 기초하여 그래프를 생성하고, 생성된 그래프를 최적화한다(S222, S230). 단계 S241은 최적화된 그래프를 이용하여 맵을 생성한다. 단계S250은 생성된 맵을 레이저 스캐너로 스캔된 데이터와 정합하여 위치를 추정할 수 있다. 레이저 스캐너로 스캔된 데이터는 로봇(120)으로부터 수신될 수 있다(S242).The location recognizing apparatus 101 generates a graph based on information about the plurality of QR markers 110 and information sensed by at least one sensor installed in the robot 120, and optimizes the generated graph (S222). , S230). Step S241 generates a map using the optimized graph. In operation S250, the generated map may be matched with the data scanned by the laser scanner to estimate a location. Data scanned by the laser scanner may be received from the robot 120 (S242).

예를 들어, 맵이 가진 로봇(120)에 대한 좌표와 레이저 스캐너로 스캔된 데이터가 가진 좌표는 상기 각각의 데이터의 오차를 보완할 수 있다. 맵이 가진 로봇(120)의 위치 정보에 대한 오차는 로봇(120)의 빠른 이동 속도로 인한 QR코드 인식불명 및 카메라 인식 과정에서 빛 환경이 취약할 시 생길 수 있다. 레이저 스캐너로 스캔된 데이터에 대한 오차는 환경변화에서 기인할 수 있다. 따라서 생성된 맵과 레이저 스캐너로 스캔된 데이터의 정합은 각각의 오차를 보완하는 방향으로 이루어진다. For example, the coordinates of the robot 120 having the map and the coordinates of the data scanned by the laser scanner may compensate for the error of the respective data. The error of the position information of the robot 120 having the map may occur when the light environment is vulnerable in the QR code recognition and camera recognition process due to the fast moving speed of the robot 120. Errors in the data scanned with the laser scanner may be due to environmental changes. Therefore, matching of the generated map and the data scanned by the laser scanner is made in a direction to compensate for each error.

또한, 단계S270은 정합된 데이터를 이용하여 추정된 위치를 파티클 필터를 이용하여 필터링을 수행할 수 있다.In operation S270, the estimated location using the matched data may be filtered using a particle filter.

도3은 본 발명의 일실시예에 따라 로봇에 설치된 센서들의 정보를 이용하여 맵핑 알고리즘을 실행하는 과정을 개략적으로 나타낸 도면이다. 3 is a diagram schematically illustrating a process of executing a mapping algorithm by using information of sensors installed in a robot according to an embodiment of the present invention.

로봇(120)의 위치 인식 장치(101)는 QR마커(110)에 대한 정보 및 로봇(120)의 센서에 의해 센싱된 정보를 획득하여 맵핑 알고리즘(330)을 통해 맵핑 결과(340)를 도출한다. 맵핑 알고리즘(330)은 그래프 생성부(151), 최적화부(152) 및 맵 생성부(153)를 포함할 수 있다. 그래프 생성부(151)는 QR마커(110)에 대한 정보 및 로봇(120)의 센서에 의해 센싱된 정보를 이용하여 그래프를 생성한다. The location recognition apparatus 101 of the robot 120 obtains information about the QR marker 110 and information sensed by the sensor of the robot 120 to derive a mapping result 340 through the mapping algorithm 330. . The mapping algorithm 330 may include a graph generator 151, an optimizer 152, and a map generator 153. The graph generator 151 generates a graph using information about the QR marker 110 and information sensed by the sensor of the robot 120.

예를 들어, 로봇(120)은 일정수준 이상 복수의 QR 마커(110)에 근접하면 그에 대한 정보를 획득할 수 있다. 그래프 생성부(151)는 복수의 QR 마커(110)들 각각의 위치 정보를 (x1,y1), (x2,y2), (x3,y3)등으로 좌표화 할 수 있다. 또한, 그래프 생성부(151)는 오도메트리(Odometry)로 얻어진 로봇(120)의 변위 정보를 이용하여 로봇(120)의 초기 위치에 대한 나중 위치를 좌표화 할 수 있다. 그래프 생성부(151)는 좌표화 된 복수의 QR 마커(110)들 각각의 위치 정보와 로봇(120)의 초기 위치와 나중 위치를 좌표화 한 값을 비교하여 그래프를 생성할 수 있다. 예를 들어, 그래프 생성부(151)는 (x1,y1)을 좌표로 둔 QR마커(110)를 기준점으로 두어 로봇(120)의 위치와 비교하여 좌표를 생성할 수 있다. 그래프 생성부(151)는 그래프의 좌표를 (x1,y1), (x1+X1,y1+Y1)등 과 같이 표현할 수 있다. 그래프 생성부(151)는 이와 같은 예를 다른 기준 좌표를 둔 마커들로 반복하여 수행할 수 있다. 그래프 생성부(151)는 반복적인 좌표화를 이용하여 복수의 QR마커(110)들에 대한 로봇(120)의 상대적인 위치를 파악하여 그래프를 생성할 수 있다.For example, when the robot 120 approaches a plurality of QR markers 110 above a predetermined level, information about the robot 120 may be obtained. The graph generator 151 may coordinate the location information of each of the QR markers 110 with (x1, y1), (x2, y2), (x3, y3), and the like. In addition, the graph generator 151 may coordinate the later position with respect to the initial position of the robot 120 using the displacement information of the robot 120 obtained by the odometry. The graph generator 151 may generate a graph by comparing the position information of each of the coordinated QR markers 110 and the coordinate values of the initial position and the later position of the robot 120. For example, the graph generator 151 may generate coordinates by comparing the position of the robot 120 with the QR marker 110 having (x1, y1) as a reference point as a reference point. The graph generator 151 may express the coordinates of the graph as (x1, y1), (x1 + X1, y1 + Y1), or the like. The graph generator 151 may repeat this example with markers having different reference coordinates. The graph generator 151 may generate a graph by identifying the relative positions of the robots 120 with respect to the plurality of QR markers 110 by using repetitive coordinates.

최적화부(152)는 로봇(120)의 위치에 대한 보다 정확한 정보의 실현을 가능하게 한다. 예를 들어, 최적화부(152)는 상술한 구속 조건이 있는 상황에서 생성된 그래프가 가질 수 있는 최대치 및 최소치를 계산하여 로봇(120)의 위치 추정을 개선할 수 있다.The optimizer 152 enables the realization of more accurate information about the position of the robot 120. For example, the optimizer 152 may improve the position estimation of the robot 120 by calculating the maximum and minimum values that the graph generated in the above-described constraint condition may have.

최적화된 그래프는 맵생성부(153)에서 맵을 생성하는데 이용한다. 맵을 생성하는 과정에 대한 상세한 설명은 도5에서 설명한다.The optimized graph is used to generate a map in the map generator 153. A detailed description of the process of generating the map is described with reference to FIG. 5.

도 4는 본 발명의 일실시예에 따라 실내 공간에 배치되는 QR 마커의 예를 나타낸다. 4 shows an example of a QR marker disposed in an indoor space according to an embodiment of the present invention.

QR마커(110)의 중앙부에는 QR코드(420)가 배치되고, QR마커(110)의 모서리들에는 복수의 베젤(420)들이 배치된다. QR코드(420)는 로봇이 1m/s의 속도로 움직일 때 인식 가능한 최소 크기의 코드일 수 있다. 베젤(420)이란, 복수의 QR마커(110)들 각각의 모서리에 배치되는 테두리를 말한다. 복수의 베젤(420)들 각각은 서로 다른 두께를 가질 수 있다. The QR code 420 is disposed at the center of the QR marker 110, and a plurality of bezels 420 are disposed at corners of the QR marker 110. QR code 420 may be a minimum size code that can be recognized when the robot moves at a speed of 1m / s. The bezel 420 refers to an edge disposed at each corner of each of the plurality of QR markers 110. Each of the bezels 420 may have a different thickness.

로봇(120)의 위치인식 장치(101)는 베젤(420)들 각각의 두께에 기초하여 로봇(120)의 오리엔테이션을 판단할 수 있다. 예를 들어, 상단의 베젤(420)이 2CM, 하단의 베젤(420)이 1CM 라고 가정하였을 때, 로봇(120)이 하단의 베젤(420)보다 상단의 베젤(420)에 더 가깝다고 인식하였을 경우, 즉 로봇(120)이 두께가 얇은 베젤(420)보다 두꺼운 베젤(420)에 더 가깝다고 인식하였을 경우, 로봇(120)의 오리엔테이션은 상단에 위치하였음을 추정할 수 있다. 이와 유사한 예를 들어, 좌측의 베젤(420)이 2CM, 우측의 베젤(420)이 1CM 라고 가정하였을 때, 로봇(120)이 우측의 베젤(420)보다 좌측의 베젤(420)에 더 가깝다고 인식하였을 경우, 즉 로봇(120)이 두께가 얇은 베젤(420)보다 두꺼운 베젤(420)에 더 가깝다고 인식하였을 경우, 로봇(120)의 오리엔테이션은 좌측에 위치하였음을 추정할 수 있다.The position recognition device 101 of the robot 120 may determine the orientation of the robot 120 based on the thickness of each of the bezels 420. For example, assuming that the upper bezel 420 is 2CM and the lower bezel 420 is 1CM, when the robot 120 recognizes that the lower bezel 420 is closer to the upper bezel 420 than the lower bezel 420. That is, when the robot 120 recognizes that it is closer to the thick bezel 420 than the thin bezel 420, it may be estimated that the orientation of the robot 120 is located at the top. For example, assuming that the bezel 420 on the left side is 2CM and the bezel 420 on the right side is 1CM, the robot 120 recognizes that the bezel 420 is closer to the left side than the bezel 420 on the right side. If the robot 120 recognizes that the robot 120 is closer to the thick bezel 420 than the thin bezel 420, it may be estimated that the orientation of the robot 120 is located on the left side.

도 5는 본 발명의 일실시예에 따라 생성되는 마커 기반 맵 및 매핑 알고리즘의 실행 결과물을 예시적으로 나타낸다.5 exemplarily illustrates an execution result of a marker-based map and mapping algorithm generated according to an embodiment of the present invention.

도5는 위치 인식 장치(101)가 맵핑 알고리즘(330)을 실행하였을 경우 생성되는 결과물을 도식화 한다. 맵핑 알고리즘(330)은 SLAM 기법을 사용한다. SLAM(simultaneous localization and mapping) 기법은 복수의 QR마커(110)들 각각의 위치 정보를 획득하는 동시에 맵핑이 일어나는 기법이다. SLAM 기법은 'chicken and egg problem' 과 유사하게 이해된다. 예를 들어, 맵핑 알고리즘(330)은 복수의 QR마커(110)들 각각의 위치 정보를 그래프를 생성하는 데 사용하는 동시에 그래프를 이용하여 초기 복수의 QR마커(110)들 각각의 위치 정보를 그 이외의 복수의 QR마커(110)들 각각의 위치를 추정하는 데 사용할 수 있다. 좌측의 도면은 이때 생성되는 마커기반 맵을 설명한다. 우측의 도면은 이때 생성되는 최적화된 그래프를 설명한다.5 illustrates a result generated when the location recognizing apparatus 101 executes the mapping algorithm 330. The mapping algorithm 330 uses the SLAM technique. The simultaneous localization and mapping (SLAM) technique is a technique in which mapping occurs while simultaneously obtaining location information of each of the plurality of QR markers 110. The SLAM technique is understood similarly to the chicken and egg problem. For example, the mapping algorithm 330 uses location information of each of the plurality of QR markers 110 to generate a graph, and simultaneously maps location information of each of the plurality of QR markers 110 using the graph. In addition, it may be used to estimate the position of each of the plurality of QR markers 110. The figure on the left illustrates the marker-based map generated at this time. The figure on the right illustrates the optimized graph produced at this time.

도6은 본 발명의 일실시예에 따라 로봇(120)의 위치 결과를 추정하는 위치인식 알고리즘(610)을 실행하는 과정을 개략적으로 나타낸 도면이다. 6 is a diagram schematically illustrating a process of executing a position recognition algorithm 610 for estimating the position result of the robot 120 according to an embodiment of the present invention.

도6은 레이저 스캐너로 스캔된 정보와 맵핑 알고리즘(330)을 이용하여 생성된 맵핑 결과(340)를 정합하는 정합부(154)를 이용하여, 위치인식 알고리즘(610)을 생성하는 과정을 도식화한다. 위치인식 알고리즘(610)은 위치 결과(620)를 추정할 수 있다. 정합부(154)는 레이저 스캐너로 스캔된 정보와 맵핑 알고리즘(330)을 이용하여 생성된 맵핑 결과(340)의 특징 점을 정합할 수 있다. 정합부(154)는 레이저 스캐너로 스캔된 정보의 특징 점을 추출하고, 맵핑 결과(340)의 특징점을 추출한다. 정합부(154)는 레이저 스캐너로 스캔된 정보의 특징점과 맵핑 결과(340)의 특징점을 정합할 수 있다. 위치 인식 알고리즘(610)은 정합된 결과로 위치를 추정할 수 있다.6 illustrates a process of generating a position recognition algorithm 610 using a matching unit 154 that matches the information scanned by a laser scanner with a mapping result 340 generated using the mapping algorithm 330. . The location recognition algorithm 610 may estimate the location result 620. The matching unit 154 may match the feature points of the mapping result 340 generated using the information scanned by the laser scanner and the mapping algorithm 330. The matching unit 154 extracts the feature points of the information scanned by the laser scanner and extracts the feature points of the mapping result 340. The matching unit 154 may match the feature points of the information scanned by the laser scanner with the feature points of the mapping result 340. The location recognition algorithm 610 may estimate the location with the matched result.

도7은 본 발명의 일실시예에 따라 실내공간에 배치되는 레이저스캐너를 나타낸 도면이다.7 is a view showing a laser scanner disposed in an indoor space according to an embodiment of the present invention.

레이저 스캐너는 로봇(120)의 위치 추정을 위해 로봇(120)과 주변 물체와의 절대거리를 알려주는 장치이다. 레이저 스캐닝은 현대 공학에서 주로 두 개의 정의로 사용된다. 더 일반적이라고 여겨지는 첫 번째 정의는 레이저 빔 반사가 제한되어 돌아오는 원리를 사용한다. 이는 레이저에서 출력된 레이저 빔이 물체로부터 반사되어 레이저로 돌아와 인식가능한지 혹은 불가능한지를 판단하여 물체의 위치를 추정할 수 있다. 두 번째 정의는 첫 번째 정의와 비교하여 조금 더 상세한 물체 인식이 가능하다. 이는 모든 방향으로 레이저를 출력함으로써 물체와의 거리를 측정한다. 이 때, 레이저 스캐너는 기준 신호와 물체에 반사되어 돌아오는 레이저 광 신호간의 비행시간이 거리에 따라 변하는 원리를 이용한다. 상술한 발명은 두 번째 레이저 스캐닝의 정의를 이용한다. 위치 인식 장치(101)는 레이저 스캐너로 스캔된 데이터를 좌표화 할 수 있다. 레이저 스캐너로 스캔된 데이터는 오브젝트에 대한 로봇(120)의 상대적인 위치를 말할 수 있다. 레이저 스캐너로 스캔된 데이터는 로봇(120)의 위치를 추정하는 데 이용된다. 레이저 스캐닝은 로봇(120)의 위치 추정 방법 외에 무인차량 주행, 조선 하역장 자동화, 토목/건축 환경에서의 거리/면적, 문화재 원형복원용 디지털 3D 형상, 가상 게임 등 다양하게 적용 가능하다.The laser scanner is a device that informs the absolute distance between the robot 120 and the surrounding object to estimate the position of the robot 120. Laser scanning is used mainly by two definitions in modern engineering. The first definition, which is considered more general, uses the principle of returning with limited laser beam reflection. The position of the object may be estimated by determining whether the laser beam output from the laser is reflected from the object and returned to the laser to be recognized or impossible. The second definition allows for more detailed object recognition compared to the first definition. It measures the distance to the object by outputting the laser in all directions. At this time, the laser scanner uses the principle that the flight time between the reference signal and the laser light signal reflected back to the object changes with distance. The above invention uses the definition of the second laser scanning. The location recognizing apparatus 101 may coordinate the data scanned by the laser scanner. The data scanned with the laser scanner may refer to the relative position of the robot 120 relative to the object. The data scanned with the laser scanner is used to estimate the position of the robot 120. Laser scanning can be applied in various ways such as autonomous vehicle driving, shipyard loading station automation, civil engineering / building environment, distance / area, digital 3D shape for restoration of cultural property, and virtual game.

이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or apparatus described above may be implemented with hardware components, software components, and / or combinations of hardware components and software components. For example, the systems, devices, and components described in the embodiments may include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable arrays (FPAs). ), A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers. 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 the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(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 above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. 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 the embodiments may be embodied in the form of program instructions that may be executed by various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical 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 not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

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

Claims (14)

실내 공간의 미리 설정된 위치에 배치된 적어도 하나의 QR 마커에 대한 정보 및 로봇에 설치된 적어도 하나의 센서에 의해 센싱된 정보를 획득하는 단계; 및
상기 QR 마커에 대한 정보 및 상기 로봇에 설치된 상기 적어도 하나의 센서에 의해 센싱된 정보를 이용하여 상기 로봇의 위치를 추정하는 단계를 포함하되,
상기 QR 마커의 모서리들에는 복수의 베젤들이 배치되며, 서로 다른 두께를 갖는 상기 복수의 베젤들 각각에 기초하여 상기 로봇의 오리엔테이션을 판단하는 단계를 더 포함하고,
상기 로봇의 오리엔테이션을 판단하는 단계는
복수의 상기 QR 마커들에 대한 정보와 상기 로봇에 설치된 적어도 하나의 센서에 의해 센싱된 정보의 획득을 병렬적으로 수행하는 것을 특징으로 하며,
상기 로봇의 위치를 추정하는 단계는
상기 로봇의 위치를 추정하기 위하여 상기 그래프를 최적화하는 단계;
상기 최적화된 그래프를 이용하여 상기 실내 공간에 대응하는 맵을 생성하는 단계; 및
레이저 스캐너를 이용하여 스캔된 데이터와 상기 생성된 맵을 매칭하는 단계를 포함하고,
상기 생성된 맵을 매칭하는 단계는
상기 생성된 맵에 포함된 로봇에 대한 좌표와 상기 스캔된 데이터에 포함된 좌표의 오차를 보완하여 상기 생성된 맵을 상기 스캔된 데이터와 정합하여 상기 로봇의 위치를 추정하며,
상기 스캔된 정보의 특징 점을 추출하여 맵핑 결과의 특징점을 추출하고, 상기 스캔된 정보의 특징점과 상기 맵핑 결과의 특징점을 정합하여 상기 로봇의 위치를 추정하는 것을 특징으로 하는, 실내 공간에서 로봇의 위치를 인식하는 방법.
Obtaining information about at least one QR marker disposed at a preset position of the indoor space and information sensed by at least one sensor installed in the robot; And
Estimating a position of the robot using information on the QR marker and information sensed by the at least one sensor installed in the robot,
A plurality of bezels are arranged at the corners of the QR marker, and further comprising the step of determining the orientation of the robot based on each of the plurality of bezels having different thicknesses,
Determining the orientation of the robot
Characteristic of the plurality of QR markers and the information sensed by at least one sensor installed in the robot characterized in that to perform in parallel,
Estimating the position of the robot
Optimizing the graph to estimate the position of the robot;
Generating a map corresponding to the indoor space using the optimized graph; And
Matching the scanned data with the generated map using a laser scanner,
Matching the generated map is
The position of the robot is estimated by matching the generated map with the scanned data by compensating an error between the coordinates of the robot included in the generated map and the coordinates included in the scanned data.
Extracting the feature points of the scanned information by extracting feature points of the scanned information, and matching the feature points of the scanned information with the feature points of the mapping result to estimate the position of the robot. How to recognize your location.
삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 추정된 로봇의 위치를 파티클 필터를 이용하여 필터링하는 단계
를 더 포함하는 실내 공간에서 로봇의 위치를 인식하는 방법.
The method of claim 1,
Filtering the estimated position of the robot using a particle filter
How to recognize the position of the robot in the indoor space further comprising.
제1항에 있어서,
상기 로봇에 설치된 적어도 하나의 센서는
오도메트리(Odometry), 자이로스코프, LiDAR(Light Detection And Ranging)또는 Camera 중 적어도 하나를 포함하는 실내 공간에서 로봇의 위치를 인식하는 방법.
The method of claim 1,
At least one sensor installed in the robot
A method of recognizing a robot's position in an indoor space including at least one of an odometry, a gyroscope, a light detection and ranging (LIDAR), or a camera.
실내 공간의 미리 설정된 위치에 배치된 적어도 하나의 QR 마커에 대한 정보 및 로봇에 설치된 적어도 하나의 센서에 의해 센싱된 정보를 획득하는 획득부; 및
상기 QR 마커에 대한 정보 및 상기 로봇에 설치된 상기 적어도 하나의 센서에 의해 센싱된 정보를 이용하여 상기 로봇의 위치를 추정하는 추정부를 포함하되,
상기 QR 마커의 모서리들에는 복수의 베젤들이 배치되며, 서로 다른 두께를 갖는 상기 복수의 베젤들 각각에 기초하여 상기 로봇의 오리엔테이션을 판단하는 오리엔테이션 판단부를 더 포함하고,
상기 오리엔테이션 판단부는
복수의 상기 QR 마커들에 대한 정보와 상기 로봇에 설치된 적어도 하나의 센서에 의해 센싱된 정보의 획득을 병렬적으로 수행하는 것을 특징으로 하며,
상기 추정부는
상기 로봇의 위치를 추정하기 위하여 상기 그래프를 최적화하는 최적화부;
상기 최적화된 그래프를 이용하여 상기 실내 공간에 대응하는 맵을 생성하는 맵 생성부; 및
레이저 스캐너를 이용하여 스캔된 데이터와 상기 생성된 맵을 매칭하는 정합부를 포함하고,
상기 정합부는
상기 생성된 맵에 포함된 로봇에 대한 좌표와 상기 스캔된 데이터에 포함된 좌표의 오차를 보완하여 상기 생성된 맵을 상기 스캔된 데이터와 정합하여 상기 로봇의 위치를 추정하며,
상기 스캔된 정보의 특징 점을 추출하여 맵핑 결과의 특징점을 추출하고, 상기 스캔된 정보의 특징점과 상기 맵핑 결과의 특징점을 정합하여 상기 로봇의 위치를 추정하는 것을 특징으로 하는, 실내 공간에서 로봇의 위치를 인식하는 장치.
An acquisition unit for obtaining information about at least one QR marker disposed at a preset position of the indoor space and information sensed by at least one sensor installed in the robot; And
Including an estimation unit for estimating the position of the robot using the information on the QR marker and the information sensed by the at least one sensor installed in the robot,
A plurality of bezels are disposed at the corners of the QR marker, and further includes an orientation determination unit for determining the orientation of the robot based on each of the plurality of bezels having different thicknesses.
The orientation determination unit
Characteristic of the plurality of QR markers and the information sensed by at least one sensor installed in the robot characterized in that to perform in parallel,
The estimating unit
An optimizer for optimizing the graph to estimate the position of the robot;
A map generator for generating a map corresponding to the indoor space by using the optimized graph; And
A matching unit matching the scanned data with the generated map using a laser scanner,
The matching part
The position of the robot is estimated by matching the generated map with the scanned data by compensating an error between the coordinates of the robot included in the generated map and the coordinates included in the scanned data.
Extracting the feature points of the scanned information by extracting feature points of the scanned information, and matching the feature points of the scanned information with the feature points of the mapping result to estimate the position of the robot. Location-aware device.
삭제delete 삭제delete 삭제delete 삭제delete 제8항에 있어서,
상기 추정된 로봇의 위치를 파티클 필터를 이용하여 필터링하는 필터
를 더 포함하는 실내 공간에서 로봇의 위치를 인식하는 장치.
The method of claim 8,
Filter for filtering the estimated position of the robot using a particle filter
Apparatus for recognizing the position of the robot in the indoor space further comprising.
제8항에 있어서,
상기 로봇에 설치된 적어도 하나의 센서는
오도메트리(Odometry), 자이로스코프, LiDAR(Light Detection And Ranging) 또는 Camera 중 적어도 하나를 포함하는 실내 공간에서 로봇의 위치를 인식하는 장치.
The method of claim 8,
At least one sensor installed in the robot
A device for recognizing a robot's position in an indoor space including at least one of an odometry, a gyroscope, a light detection and ranging (LIDAR), or a camera.
KR1020160181389A 2016-12-28 2016-12-28 Method and apparatus for estimating localization of robot in wide range of indoor space using qr marker and laser scanner KR102041664B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160181389A KR102041664B1 (en) 2016-12-28 2016-12-28 Method and apparatus for estimating localization of robot in wide range of indoor space using qr marker and laser scanner

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160181389A KR102041664B1 (en) 2016-12-28 2016-12-28 Method and apparatus for estimating localization of robot in wide range of indoor space using qr marker and laser scanner

Publications (2)

Publication Number Publication Date
KR20180076815A KR20180076815A (en) 2018-07-06
KR102041664B1 true KR102041664B1 (en) 2019-11-07

Family

ID=62921292

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160181389A KR102041664B1 (en) 2016-12-28 2016-12-28 Method and apparatus for estimating localization of robot in wide range of indoor space using qr marker and laser scanner

Country Status (1)

Country Link
KR (1) KR102041664B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102176729B1 (en) * 2020-02-05 2020-11-09 (주)에바 Position recognition method and position recognition system of vehicles

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101999065B1 (en) 2018-07-31 2019-07-10 조선대학교산학협력단 Method for measuring distance between the camera and the object using milliradian
CN110857858A (en) * 2018-08-23 2020-03-03 上海智远弘业机器人有限公司 A road sign for robot two-dimensional code navigation
KR102260044B1 (en) * 2018-11-09 2021-06-03 한국과학기술원 Method and apparatus for calibrating cameras
CN109491390B (en) * 2018-11-23 2020-11-24 华中科技大学 Trackless omnidirectional mobile robot system based on multiple sensors and control method thereof
CN111026105A (en) * 2019-10-18 2020-04-17 同济大学 Mobile robot field positioning system and control method thereof
CN113515112A (en) * 2020-03-26 2021-10-19 顺丰科技有限公司 Robot moving method, device, computer equipment and storage medium
CN113405544B (en) * 2021-05-08 2024-02-09 中电海康集团有限公司 Mobile robot map building and positioning method and system
KR102621089B1 (en) * 2022-01-12 2024-01-08 네이버랩스 주식회사 Method for visual localization, control server and buiding using the same
KR20240018811A (en) 2022-08-03 2024-02-14 케이와이이앤아이 주식회사 Target for obtaining positioning information
KR102564884B1 (en) * 2022-08-19 2023-08-09 (주)모스텍 Automated guided vehicle and method for controlling movement of automated guided vehicle

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101106265B1 (en) * 2010-11-05 2012-01-18 한국생산기술연구원 Localization apparatus and method for mobile robot using rfid
KR101323705B1 (en) * 2013-06-05 2013-11-11 한경대학교 산학협력단 Autonomous freight transportation system using mobile robot for autonomous freight transportation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924078A (en) * 1987-11-25 1990-05-08 Sant Anselmo Carl Identification symbol, system and method
KR101738750B1 (en) * 2015-06-11 2017-05-24 한국과학기술원 Method and apparatus for robust localization in outdoor environments

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101106265B1 (en) * 2010-11-05 2012-01-18 한국생산기술연구원 Localization apparatus and method for mobile robot using rfid
KR101323705B1 (en) * 2013-06-05 2013-11-11 한경대학교 산학협력단 Autonomous freight transportation system using mobile robot for autonomous freight transportation

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102176729B1 (en) * 2020-02-05 2020-11-09 (주)에바 Position recognition method and position recognition system of vehicles
WO2021158062A1 (en) * 2020-02-05 2021-08-12 (주)에바 Position recognition method and position recognition system for vehicle
EP4102327A4 (en) * 2020-02-05 2024-03-06 Evar Inc Position recognition method and position recognition system for vehicle

Also Published As

Publication number Publication date
KR20180076815A (en) 2018-07-06

Similar Documents

Publication Publication Date Title
KR102041664B1 (en) Method and apparatus for estimating localization of robot in wide range of indoor space using qr marker and laser scanner
CN112868225B (en) Method and apparatus for combining data to construct a plan
CN110807350B (en) System and method for scan-matching oriented visual SLAM
CN113376650B (en) Mobile robot positioning method and device, electronic equipment and storage medium
US11080878B2 (en) Method and apparatus for detecting 3D object from 2D image
US11119498B2 (en) Systems and methods for simulation utilizing a segmentable monolithic mesh
KR102547274B1 (en) Moving robot and method for estiating location of moving robot
KR20110097140A (en) Apparatus for estimating location of moving robot and method thereof
JP2008076252A (en) Own position recognition system
CN114236564B (en) Method for positioning robot in dynamic environment, robot, device and storage medium
JP2015141580A (en) mobile device
An et al. Ceiling vision-based active SLAM framework for dynamic and wide-open environments
JP5765163B2 (en) Self-position estimation apparatus, method, and program
US11915449B2 (en) Method and apparatus for estimating user pose using three-dimensional virtual space model
Sánchez et al. GEMA2: Geometrical matching analytical algorithm for fast mobile robots global self-localization
JP6670712B2 (en) Self-position estimation device, moving object and self-position estimation method
KR101934297B1 (en) METHOD FOR DEVELOPMENT OF INTERSECTION RECOGNITION USING LINE EXTRACTION BY 3D LiDAR
KR102587292B1 (en) Radar placement and algorithm for ego-motion estimation
Li et al. Lidar-based vehicle detection for dynamic SLAM applications
CN114415659B (en) Robot safety obstacle avoidance method and device, robot and storage medium
KR102513036B1 (en) Method and apparatus for determining plane for mapping object on three-dimensional space
Kassir et al. Novel qualitative visual odometry for a ground: Vehicle based on funnel lane concept
KR20190070235A (en) Method for Estimating 6-DOF Relative Displacement Using Vision-based Localization and Apparatus Therefor
WO2023234384A1 (en) Map generation device, map generation method, and computer-readable recording medium
WO2023139793A1 (en) Slam device, slam attack countermeasure program, and autonomous mobility

Legal Events

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