KR20160150504A - Method and apparatus for localization mobile robot usign indoor magnetic field - Google Patents

Method and apparatus for localization mobile robot usign indoor magnetic field Download PDF

Info

Publication number
KR20160150504A
KR20160150504A KR1020150088589A KR20150088589A KR20160150504A KR 20160150504 A KR20160150504 A KR 20160150504A KR 1020150088589 A KR1020150088589 A KR 1020150088589A KR 20150088589 A KR20150088589 A KR 20150088589A KR 20160150504 A KR20160150504 A KR 20160150504A
Authority
KR
South Korea
Prior art keywords
mobile robot
constraint
magnetic field
node group
estimating
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020150088589A
Other languages
Korean (ko)
Other versions
KR101738751B1 (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 KR1020150088589A priority Critical patent/KR101738751B1/en
Publication of KR20160150504A publication Critical patent/KR20160150504A/en
Application granted granted Critical
Publication of KR101738751B1 publication Critical patent/KR101738751B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/027Electromagnetic sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1664Program controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1671Program controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems

Landscapes

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

Abstract

실내 자기장을 이용한 이동 로봇의 위치 인식 방법 및 장치가 개시된다. 본 발명의 일 실시예에 따른 이동 로봇의 위치 인식 방법은 이동 로봇의 이동 경로 상에 형성된 노드들에 대해 측정된 자기장 값들에 기초하여 루프 클로징(loop closing) 구속 조건(constraint)을 생성하는 단계; 및 상기 루프 클로징 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정하는 단계를 포함하며, 상기 이동 로봇이 회전하는 동안 측정되는 자기장 값에 기초하여 회전 구속 조건을 생성하는 단계를 더 포함하고, 상기 이동 로봇의 위치를 추정하는 단계는상기 루프 클로징 구속 조건과 상기 회전 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정할 수 있다.A method and an apparatus for recognizing a position of a mobile robot using an indoor magnetic field are disclosed. A method of recognizing a position of a mobile robot according to an embodiment of the present invention includes generating a loop closing constraint based on magnetic field values measured for nodes formed on a moving path of the mobile robot; And estimating a position of the mobile robot on the basis of the graph structure using the loop closing constraint. The method may further include generating a rotation constraint condition based on a magnetic field value measured while the mobile robot rotates And the step of estimating the position of the mobile robot may estimate the position of the mobile robot on the basis of the graph structure using the loop closing constraint and the rotational constraint condition.

Description

실내 자기장을 이용한 이동 로봇의 위치 인식 방법 및 장치 {METHOD AND APPARATUS FOR LOCALIZATION MOBILE ROBOT USIGN INDOOR MAGNETIC FIELD}TECHNICAL FIELD [0001] The present invention relates to a method and an apparatus for locating a mobile robot using an indoor magnetic field,

본 발명의 실시예들은 실내 환경에서 이동 로봇의 위치 인식 방법 및 장치에 관한 것으로, 실내 자기장에 기초한 그래프 구조 기반 SLAM(simultaneous localization and mapping) 알고리즘을 이용하여 실내 환경에서 이동 로봇의 위치를 인식 또는 추정할 수 있는 이동 로봇의 위치 인식 방법 및 장치와 관련된 것이다.
Embodiments of the present invention relate to a method and apparatus for recognizing a position of a mobile robot in an indoor environment and a method of recognizing or estimating the position of the mobile robot in an indoor environment using a SLAM (simultaneous localization and mapping) And more particularly, to a method and apparatus for recognizing a position of a mobile robot.

이동 로봇의 위치 추정 및 맵핑 기술의 하나인 SLAM(Simultaneous Localization and Mapping) 기술은 크게 다음의 두 가지로 구분할 수 있다. 첫 번째는, 이동 로봇이 인식할 수 있는 특정 표식(예를 들면 Landmark나 Beacon)이 있는 환경에서 위치를 인식하는 방법이다. 두 번째는, 특정 표식이 없는 일반적인 환경에서 위치를 인식할 수 있는 방법이다. 두 번째 방법의 경우, 특정 표식이 없는 환경에서는 위치를 인식하기 위해 다양한 센서를 사용하게 된다.Simultaneous Localization and Mapping (SLAM) technology, which is one of the position estimation and mapping techniques for mobile robots, can be divided into the following two types. The first is a method of recognizing a location in an environment with a specific marker (such as Landmark or Beacon) that the mobile robot can recognize. The second is a way to recognize the location in a typical environment without specific markings. In the second method, various sensors are used to recognize the position in an environment without a specific marker.

이 때 사용되는 대표적인 센싱 방식으로는, 영상이나 레이저, 초음파 등을 활용하는 센싱 방식을 들 수 있다. 기존에는 이러한 센싱 방식들을 활용하여 다른 위치와 구별되는 특징이 되는 지점(Landmark)을 찾고, 이 지점들을 불연속적(Discrete)으로 생성하여 위치를 인식한다.As a typical sensing method used at this time, a sensing method utilizing an image, a laser, and an ultrasonic wave can be mentioned. Conventionally, these sensing methods are used to find a landmark that is distinguishable from other locations, and these points are discontinuously generated and recognized.

이와 같이, 기존에는 카메라 영상, 초음파, 적외선, Wi-Fi 등을 이용하여 위치를 추정할 수 있으나 신호 범위나 추정 성능 등에 제약이 있기 때문에 이러한 센싱 방식과 더불어 사용할 수 있는 주변적인(ambient) 센서 값은 매우 유용하다. 실내 자기장의 경우 건물 내 철골 등에 의해 왜곡된 그 값이 시간에 따라 안정된 값을 가지고 있고 이를 측정하는 센서도 저렴하기 때문에 측위 보조 신호로서 적절한 대안이 될 수 있다.As described above, the position can be estimated by using the camera image, the ultrasonic wave, the infrared ray, the Wi-Fi, etc. However, since the signal range and the estimation performance are limited, the ambient sensor value Is very useful. In case of the indoor magnetic field, the value distorted by the steel frame in the building has a stable value with time, and since the sensor for measuring this value is inexpensive, it can be an appropriate alternative as the positioning auxiliary signal.

하지만, 자기장 값의 경우3가지 벡터 요소만을 가지고 있기 때문에 공간에 따라 비슷한 값이 발생할 수 있고 따라서 모호성(ambiguity) 문제가 발생하게 된다. 자기장 맵에 대한 사전의 데이터베이스가 없는 상태에서 로봇 또는 사람이 SLAM (simultaneous localization and mapping) 기술을 이용하여 내비게이션 할 경우 자기장의 모호성 문제는 데이터 연관(data association) 문제를 발생시킬 수 있다.
However, since the magnetic field value has only three vector elements, a similar value may be generated depending on the space, thus causing an ambiguity problem. When a robot or a person navigates using simultaneous localization and mapping (SLAM) in the absence of a dictionary database of magnetic field maps, the ambiguity problem of the magnetic field can cause data association problems.

본 발명의 실시예들은, 실내 환경에서 자기장의 모호성 문제를 해결하여 이동 로봇의 위치 추정 정확성을 향상시킬 수 있는 이동 로봇의 위치 인식 방법 및 장치를 제공한다.Embodiments of the present invention provide a method and apparatus for recognizing a position of a mobile robot that can solve the ambiguity problem of a magnetic field in an indoor environment and improve the accuracy of position estimation of the mobile robot.

본 발명의 실시예들은, 실내 자기장을 이용한 그래프 구조 기반 SLAM을 통해 이동 로봇의 위치를 추정할 수 있는 이동 로봇의 위치 인식 방법 및 장치를 제공한다.
Embodiments of the present invention provide a method and apparatus for locating a mobile robot capable of estimating a position of a mobile robot through a SLAM based on a graph structure using an indoor magnetic field.

본 발명의 일 실시예에 따른 이동 로봇의 위치 인식 방법은 이동 로봇의 이동 경로 상에 형성된 노드들에 대해 측정된 자기장 값들에 기초하여 루프 클로징(loop closing) 구속 조건(constraint)을 생성하는 단계; 및 상기 루프 클로징 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정하는 단계를 포함한다.A method of recognizing a position of a mobile robot according to an embodiment of the present invention includes generating a loop closing constraint based on magnetic field values measured for nodes formed on a moving path of the mobile robot; And estimating a position of the mobile robot based on a graph structure using the loop closing constraints.

나아가, 본 발명의 일 실시예에 따른 이동 로봇의 위치 인식 방법은 상기 이동 로봇이 회전하는 동안 측정되는 자기장 값에 기초하여 회전 구속 조건을 생성하는 단계를 더 포함하고, 상기 이동 로봇의 위치를 추정하는 단계는 상기 루프 클로징 구속 조건과 상기 회전 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정할 수 있다.Further, a method of recognizing a position of a mobile robot according to an embodiment of the present invention may further include generating a rotational constraint condition based on a magnetic field value measured while the mobile robot rotates, The position of the mobile robot can be estimated based on the graph structure using the loop closing constraint and the rotational constraint condition.

상기 루프 클로징 구속 조건을 생성하는 단계는 상기 형성된 노드들을 그룹핑하여 노드 그룹을 형성하고, 상기 형성된 노드 그룹에 대해 측정된 자기장 값들과 미리 정의된 노드 그룹에 대한 자기장 값들 비교하여 매칭함으로써, 상기 루프 클로징 구속 조건을 생성할 수 있다.Wherein the generating the loop closing constraint comprises: grouping the formed nodes to form a node group; comparing and matching the magnetic field values for the predefined node group with the measured magnetic field values for the formed node group, Constraints can be created.

상기 루프 클로징 구속 조건을 생성하는 단계는 상기 이동 로봇이 직선 구간을 주행하는 경우에만 상기 노드 그룹을 형성하고, 새로운 노드 그룹이 형성되는 경우에만 상기 미리 정의된 노드 그룹과의 매칭을 수행함으로써, 상기 루프 클로징 구속 조건을 생성할 수 있다.Wherein the step of generating the loop closing constraint condition comprises: forming the node group only when the mobile robot is traveling in a straight line section; performing matching with the predefined node group only when a new node group is formed; You can create a loop-closing constraint.

상기 루프 클로징 구속 조건을 생성하는 단계는 상기 형성된 노드 그룹의 벡터와 상기 미리 정의된 노드 그룹의 벡터 간의 유클리드 거리(Euclidean distance)를 구하여 매칭 스코어를 계산하고, 상기 계산된 매칭 스코어를 이용하여 상기 루프 클로징 구속 조건을 생성할 수 있다.Wherein the generating the loop closing constraint comprises: calculating a matching score by obtaining a Euclidean distance between the vector of the formed node group and the vector of the predefined node group, and using the calculated matching score, Closing constraints can be created.

더 나아가, 본 발명의 일 실시예에 따른 이동 로봇의 위치 인식 방법은 상기 이동 로봇의 오도메트리 정보를 획득하고, 상기 획득된 오도메트리 정보에 기초하여 오도메트리 구속 조건을 생성하는 단계를 더 포함하고, 상기 이동 로봇의 위치를 추정하는 단계는 상기 루프 클로징 구속 조건과 상기 오도메트리 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정할 수 있다.Furthermore, a method of recognizing a position of a mobile robot according to an embodiment of the present invention includes acquiring odometry information of the mobile robot and generating odometry constraint conditions based on the obtained odometry information Wherein the step of estimating the position of the mobile robot can estimate the position of the mobile robot on the basis of the graph structure using the loop closing constraints and the omometry constraints.

상기 이동 로봇의 위치를 추정하는 단계는 그래프 구조 기반 SLAM(Simultaneous Localization and Mapping)을 이용하여 상기 이동 로봇의 위치를 추정할 수 있다.
The step of estimating the position of the mobile robot can estimate the position of the mobile robot using SLAM (Simultaneous Localization and Mapping) based on a graph structure.

본 발명의 다른 일 실시예에 따른 이동 로봇의 위치 인식 방법은 이동 로봇이 회전하는 동안 측정되는 자기장 값에 기초하여 회전 구속 조건(constraint)을 생성하는 단계; 및 상기 회전 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of recognizing a position of a mobile robot, the method comprising: generating a constraint based on a magnetic field value measured while the mobile robot rotates; And estimating a position of the mobile robot on the basis of a graph structure using the rotational constraint condition.

상기 회전 구속 조건을 생성하는 단계는 상기 이동 로봇의 회전 전후로 측정되는 자기장 벡터 간의 관계를 이용하여 상기 이동 로봇의 회전각에 대한 회전 구속 조건을 생성할 수 있다.The step of generating the rotational restraint condition may generate a rotational restraint condition for the rotational angle of the mobile robot using the relationship between the magnetic field vectors measured before and after the rotation of the mobile robot.

나아가, 본 발명의 다른 일 실시예에 따른 이동 로봇의 위치 인식 방법은 상기 이동 로봇의 오도메트리 정보를 획득하고, 상기 획득된 오도메트리 정보에 기초하여 오도메트리 구속 조건을 생성하는 단계를 더 포함하고, 상기 이동 로봇의 위치를 추정하는 단계는 상기 회전 구속 조건과 상기 오도메트리 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정할 수 있다.
Further, a method of recognizing a position of a mobile robot according to another embodiment of the present invention includes acquiring odometry information of the mobile robot and generating odometry constraint conditions based on the acquired odometry information Wherein the step of estimating the position of the mobile robot can estimate the position of the mobile robot on the basis of the graph structure using the rotational constraint condition and the odometry constraint condition.

본 발명의 일 실시예에 따른 이동 로봇의 위치 인식 장치는 이동 로봇의 이동 경로 상에 형성된 노드들에 대해 측정된 자기장 값들에 기초하여 루프 클로징(loop closing) 구속 조건(constraint)을 생성하는 구속 조건 생성부; 및 상기 루프 클로징 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정하는 위치 추정부를 포함한다.The apparatus for recognizing a position of a mobile robot according to an embodiment of the present invention includes a constraint for creating a loop closing constraint based on measured magnetic field values for nodes formed on a moving path of the mobile robot, Generating unit; And a position estimator for estimating a position of the mobile robot based on a graph structure using the loop closing constraints.

상기 구속 조건 생성부는 상기 이동 로봇이 회전하는 동안 측정되는 자기장 값에 기초하여 회전 구속 조건을 생성하고, 상기 위치 추정부는 상기 루프 클로징 구속 조건과 상기 회전 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정할 수 있다.Wherein the constraint condition generator generates a rotation constraint condition based on a magnetic field value measured while the mobile robot is rotating, and the position estimator generates a constraint condition based on the loop constraint condition and the rotational constraint condition, The position can be estimated.

상기 구속 조건 생성부는 상기 형성된 노드들을 그룹핑하여 노드 그룹을 형성하고, 상기 형성된 노드 그룹에 대해 측정된 자기장 값들과 미리 정의된 노드 그룹에 대한 자기장 값들 비교하여 매칭함으로써, 상기 루프 클로징 구속 조건을 생성할 수 있다.The constraint condition generating unit forms the node group by grouping the formed nodes and compares the magnetic field values measured for the formed node group with the magnetic field values for the predefined node group to generate the loop closing constraint .

상기 구속 조건 생성부는 상기 이동 로봇이 직선 구간을 주행하는 경우에만 상기 노드 그룹을 형성하고, 새로운 노드 그룹이 형성되는 경우에만 상기 미리 정의된 노드 그룹과의 매칭을 수행함으로써, 상기 루프 클로징 구속 조건을 생성할 수 있다Wherein the constraint condition generator forms the node group only when the mobile robot travels a straight line section and performs matching with the predefined node group only when a new node group is formed, Can generate

상기 구속 조건 생성부는 상기 형성된 노드 그룹의 벡터와 상기 미리 정의된 노드 그룹의 벡터 간의 유클리드 거리(Euclidean distance)를 구하여 매칭 스코어를 계산하고, 상기 계산된 매칭 스코어를 이용하여 상기 루프 클로징 구속 조건을 생성할 수 있다.The constraint condition generator may calculate a matching score by obtaining a Euclidean distance between the vector of the formed node group and the vector of the predefined node group, and generate the loop closing constraint using the calculated matching score can do.

나아가, 본 발명의 일 실시예에 따른 이동 로봇의 위치 인식 장치는 상기 이동 로봇의 오도메트리 정보를 획득하는 인코더를 더 포함하고, 상기 구속 조건 생성부는 상기 획득된 오도메트리 정보에 기초하여 오도메트리 구속 조건을 생성하며, 상기 위치 추정부는 상기 루프 클로징 구속 조건과 상기 오도메트리 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정할 수 있다.
Further, the apparatus for recognizing a position of a mobile robot according to an embodiment of the present invention may further include an encoder for obtaining odometry information of the mobile robot, and the constraint condition generator may generate an odometry information based on the obtained odometry information. And the position estimator can estimate the position of the mobile robot based on the graph structure using the loop closing constraints and the omometry constraints.

본 발명의 실시예들에 따르면, 실내 환경에서 자기장의 모호성 문제를 해결하여 이동 로봇의 위치 추정 정확성을 향상시킬 수 있다.According to the embodiments of the present invention, it is possible to solve the ambiguity problem of the magnetic field in the indoor environment and improve the accuracy of the position estimation of the mobile robot.

구체적으로, 본 발명의 실시예들은, 자기장 값을 단일 측정값이 아닌 일련의 연속적인 값을 그룹핑(grouping)해서 사용함으로써, 실내 환경에서 자기장의 모호성 문제를 해결하고 이를 통해 이동 로봇의 위치를 정확하게 추정할 수 있다.In particular, embodiments of the present invention solve the ambiguity problem of the magnetic field in an indoor environment by grouping a series of consecutive values rather than a single measurement value, thereby accurately locating the mobile robot Can be estimated.

본 발명의 실시예들에 따르면, 실내 자기장을 이용한 그래프 구조 기반 SLAM을 통해 이동 로봇의 위치를 추정할 수 있고, 자기장을 측정하기 위한 하나의 센서만을 사용하여 이동 로봇의 위치를 추정할 수 있다.
According to embodiments of the present invention, the position of the mobile robot can be estimated through the graph structure-based SLAM using the indoor magnetic field, and the position of the mobile robot can be estimated using only one sensor for measuring the magnetic field.

도 1은 본 발명의 일 실시예에 따른 이동 로봇의 위치 인식 장치에 대한 구성을 나타낸 것이다.
도 2는 회전 구속 조건을 설명하기 위한 일 예시도를 나타낸 것이다.
도 3은 루프 클로징 구속 조건을 설명하기 위한 일 예시도를 나타낸 것이다.
도 4는 위치 그래프를 최적화하는 과정에 대한 일 예시도를 나타낸 것이다.
도 5는 본 발명에 따른 경로 추정 결과에 대한 일 예시도를 나타낸 것이다.
도 6은 본 발명의 일 실시예에 따른 이동 로봇의 위치 인식 방법에 대한 동작 흐름도를 나타낸 것이다.
도 7은 본 발명의 다른 일 실시예에 따른 이동 로봇의 위치 인식 방법에 대한 동작 흐름도를 나타낸 것이다.
도 8은 본 발명의 또 다른 일 실시예에 따른 이동 로봇의 위치 인식 방법에 대한 동작 흐름도를 나타낸 것이다.
FIG. 1 shows a configuration of a position recognition apparatus for a mobile robot according to an embodiment of the present invention.
Fig. 2 shows an example for explaining rotational constraint conditions.
Fig. 3 shows an example for explaining the loop closing constraint.
FIG. 4 shows an example of a process of optimizing a position graph.
FIG. 5 shows an example of the path estimation result according to the present invention.
6 is a flowchart illustrating a method of recognizing a position of a mobile robot according to an embodiment of the present invention.
7 is a flowchart illustrating a method of recognizing a position of a mobile robot according to another embodiment of the present invention.
8 is a flowchart illustrating a method of recognizing a position of a mobile robot according to another embodiment of the present invention.

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

본 발명의 실시예들은, 자기장 값을 단일 측정값이 아닌 일련의 연속적인 값을 그룹핑(grouping)해서 사용함으로써, 실내 환경에서 자기장의 모호성 문제를 해결하고 이를 통해 이동 로봇의 위치를 정확하게 추정하는 것을 그 요지로 한다.Embodiments of the present invention solve the ambiguity problem of the magnetic field in an indoor environment by using a magnetic field value by grouping a series of consecutive values rather than a single measurement value and accurately estimating the position of the mobile robot That is the point.

본 발명의 실시예들은, 이동 로봇이 정지한 상태에서 회전하는 동안 측정되는 자기장 값 예를 들어, 자기장 벡터에 기초하여 생성되는 회전 구속 조건과 이동 경로 상에 형성되는 노드들에 대해 측정되는 자기장 값들에 기초하여 생성되는 루프 클로징 구속 조건을 이용한 그래프 구조 기반 SLAM을 통해 이동 로봇의 위치를 추정할 수 있다.
Embodiments of the present invention can be applied to a magnetic field value measured during rotation while the mobile robot is stationary, for example, rotational constraint conditions generated based on a magnetic field vector, and magnetic field values measured for nodes formed on the movement path The SLAM based on the graph structure using the loop closing constraints generated based on the position of the mobile robot can be estimated.

도 1은 본 발명의 일 실시예에 따른 이동 로봇의 위치 인식 장치에 대한 구성을 나타낸 것이다.FIG. 1 shows a configuration of a position recognition apparatus for a mobile robot according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 이동 로봇의 위치 인식 장치(100)는 자기장 센서(110), 인코더(120), 구속 조건 생성부(130) 및 위치 추정부(140)를 포함한다.1, a mobile robot position recognition apparatus 100 according to an embodiment of the present invention includes a magnetic field sensor 110, an encoder 120, a constraint condition generation unit 130, and a position estimation unit 140 .

자기장 센서(110)는 이동 로봇에 탑재되어 지구자기장을 측정하는 센서로서, 하나의 자기장 센서가 이동 로봇에 탑재되어 이동 로봇의 위치에서 지구자기장을 측정한다.The magnetic field sensor 110 is mounted on a mobile robot and measures a geomagnetic field. One magnetic field sensor is mounted on the mobile robot to measure a geomagnetic field at a position of the mobile robot.

인코더(120)는 이동 로봇의 오도메트리 정보(odometry data)를 획득하고, 획득된 오도메트리 정보를 위치 추정부(140)로 제공한다.The encoder 120 acquires odometry data of the mobile robot and provides the obtained odometry information to the position estimator 140. [

이 때, 인코더(120)는 이동 로봇의 전동 휠의 회전 속도와 회전 방향을 검출하고, 검출된 회전 속도와 회전 방향을 이용하여 이동 로봇의 오도메트리 정보를 획득할 수 있으며, 오도메트리 정보는 이동 로봇의 x축 좌표와 y축 좌표, 진행 방향의 각도를 포함할 수 있다.At this time, the encoder 120 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.

구속 조건 생성부(130)는 그래프 구조 기반의 구속 조건(constraint)을 생성하기 위한 구성으로, 오도메트리 구속 조건, 회전 구속 조건, 루프 클로징(loop closing) 구속 조건을 생성한다.The constraint condition generation unit 130 is a configuration for generating a constraint based on a graph structure, and generates an ellometry constraint, a rotation constraint condition, and a loop closing constraint.

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

구속 조건 생성부(130)는 상황에 따라 오도메트리 구속 조건과 루프 클로징 구속 조건만을 생성할 수도 있고, 오도메트리 구속 조건과 회전 구속 조건만을 생성할 수도 있으며, 오도메트리 구속 조건과 루프 클로징 구속 조건 그리고 회전 구속 조건 모두를 생성할 수도 있다.The constraint condition generation unit 130 may generate only the omometry constraint and the loop closing constraint according to the situation, or may generate only the omometry constraint and the rotation constraint condition, You can also create both constraints and rotational constraints.

이 때, 구속 조건 생성부(130)는 이동 로봇의 이동 경로 상에 형성된 노드들에 대해 측정된 자기장 값들에 기초하여 루프 클로징 구속 조건을 생성할 수 있는데, 형성된 노드들을 그룹핑하여 노드 그룹을 형성하고, 형성된 노드 그룹에 대해 측정된 자기장 값들과 미리 정의된 노드 그룹에 대한 자기장 값들 비교하여 매칭함으로써, 루프 클로징 구속 조건을 생성할 수 있다.At this time, the constraint condition generation unit 130 can generate a loop closing constraint condition based on the measured magnetic field values for the nodes formed on the movement path of the mobile robot. The constraint condition generation unit 130 groups the formed nodes to form a node group , And comparing the magnetic field values for the formed node group with the magnetic field values for the predefined node group to create a loop closing constraint.

이러한 구속 조건 생성부(130)는 이동 로봇이 직선 구간을 주행하는 경우에만 노드 그룹을 형성하고, 새로운 노드 그룹이 형성되는 경우에만 미리 정의된 노드 그룹과의 매칭을 수행함으로써, 루프 클로징 구속 조건을 생성할 수 있다. 여기서, 구속 조건 생성부(130)`는 형성된 노드 그룹의 벡터와 미리 정의된 노드 그룹의 벡터 간의 유클리드 거리(Euclidean distance)를 구하여 매칭 스코어를 계산하고, 계산된 매칭 스코어를 이용하여 루프 클로징 구속 조건을 생성할 수 있다.The constraint condition generation unit 130 forms a node group only when the mobile robot travels in a straight line section, performs matching with a predefined node group only when a new node group is formed, Can be generated. Here, the constraint condition generator 130 calculates a matching score by obtaining a Euclidean distance between the vector of the formed node group and the vector of the predefined node group, and calculates the matching score using the calculated matching score to calculate the loop closing constraint condition Can be generated.

구속 조건 생성부(130)는 이동 로봇이 주행 중 정지 상태에서 회전하는 경우에 회전 구속 조건을 생성할 수 있는데, 회전 구속 조건은 이동 로봇이 정지 상태에서 회전하는 동안에도 관측되는 자기장 벡터가 전역 좌표계 상에서 일정하다 가정한 상태에서 생성될 수 있다. 즉, 구속 조건 생성부(130)는 이동 로봇이 회전할 때 자기장 센서도 함께 회전하므로 회전 전후로 측정되는 자기장 벡터 간의 관계를 이용하여 로봇의 회전각에 대한 구속 조건을 생성할 수 있다.The constraint condition generation unit 130 can generate a rotation constraint condition when the mobile robot rotates while the mobile robot is stationary while the mobile robot rotates while the mobile robot is stationary. Can be generated in a state where it is assumed to be constant on the base station. That is, since the constraint condition generator 130 rotates together with the magnetic field sensor when the mobile robot rotates, the constraint condition for the rotation angle of the robot can be generated using the relationship between the magnetic field vectors measured before and after the rotation.

즉, 이동 로봇이 2차원 평면 상에서 이동한다 가정하고, 이동 로봇이 어떤 병진 변위(translational displacement)없이 회전하는 경우 전역 좌표 프레임(global coordinate frame)에서 나타나는 자기장 벡터는 변하지 않기 때문에 구속 조건 생성부는 특정 조건에서 자기장의 측정 특성들을 이용함으로써, 회전 구속 조건을 생성할 수 있다.That is, when 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. Therefore, By using the measurement characteristics of the magnetic field in the rotor, a rotational restraint condition can be generated.

구속 조건 생성부(130)는 자기장을 하나의 핑거프린트(fingerprint)로 생각하여 현재 관측되고 있는 자기장 값을 이전에 관측된 값과 비교, 매칭함으로 루프 클로징 구속 조건을 생성할 수 있다. 하지만 자기장 벡터는 세 개의 요소만을 가지므로 매칭 과정에서 모호성이 발생한다. 이를 해결하기 로봇이 일정 거리를 주행하는 동안 발생한 노드들을 그룹핑하고, 해당되는 노드들에 대해 측정된 자기장 측정 값들을 하나의 벡터로 정의하여 이를 매칭에 사용한다. 노드 그룹핑의 경우 자기장 센싱 값이 로봇의 회전각에 민감하므로 로봇이 일정 직선구간을 주행할 경우에만 그룹핑하도록 한다. 매칭은 새로운 노드 그룹이 형성될 때만 이뤄지며 노드 그룹 간의 쉬프팅(shifting)을 고려하여 매칭 스코어를 계산한다. 매칭 스코어는 각 벡터간의 유클리드 거리(Euclidean distance)로 구할 수 있으며, 이러한 일련의 과정은 도 3에 도시된 바와 같다. The constraint condition generator 130 may generate a loop closing constraint condition by considering the magnetic field as one fingerprint and comparing and matching the currently observed magnetic field value with the previously observed value. However, since the magnetic field vector has only three elements, ambiguity occurs in the matching process. To solve this problem, the nodes generated while the robot travels a certain distance are grouped, and the measured magnetic field values for the corresponding nodes are defined as one vector and used for matching. In the case of node grouping, since the magnetic field sensing value is sensitive to the rotation angle of the robot, grouping is performed only when the robot travels in a certain straight line section. The matching is performed only when a new node group is formed, and the matching score is calculated considering shifting between the node groups. The matching score can be obtained by the Euclidean distance between each vector, and the sequence of such matching is as shown in FIG.

도 3에 도시된 snew는 생성된 노드 그룹 시퀀스를 의미하고,

Figure pat00001
는 기존에 구축된 i번째 노드 그룹 시퀀스를 의미하며,
Figure pat00002
는 스퀀스 간의 매칭 스코어를 의미한다.3, s new denotes a generated node group sequence,
Figure pat00001
Denotes an i-th node group sequence established in the past,
Figure pat00002
Means a matching score between sequences.

구속 조건 생성부(130)가 1) 회전 구속 조건을 생성하는 방식과 2) 루프 클로징 구속 조건을 생성하는 방식에 대해 설명하면 다음과 같다.The constraint condition generation unit 130 will be described as follows: 1) a method of generating a rotational constraint condition and 2) a method of generating a loop-closed constraint condition.

1) 회전 구속 조건 생성 방식1) Method of creating rotational constraint condition

회전 구속 조건은 특정 조건에서 자기장의 측정 특성들을 이용함으로써, 생성될 수 있다. 이동 로봇이 2차원 평면 상에서 이동한다 가정하고, 이동 로봇이 어떤 병진 변위(translational displacement)없이 회전하는 경우 전역 좌표 프레임(global coordinate frame)에서 나타나는 자기장 벡터는 변하지 않는다.The rotational constraint can be generated by using the measurement characteristics of the magnetic field under specific conditions. If 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.

도 2는 이와 같은 상황을 나타낸 것으로, 도 2에 도시된 바와 같이 회전 구속 조건은 이동 로봇이 회전하는 동안 측정되는 자기장 값에 기초하기 생성될 수 있으며, 아래 <수학식 1>과 같은 조건을 만족하는 경우 회전 구속 조건이 그래프 구조 기반의 SLAM의 구속 조건으로 추가될 수 있다.
FIG. 2 illustrates such a situation. As shown in FIG. 2, the rotational constraint condition can be generated based on the magnetic field value measured while the mobile robot is rotating, and satisfies the following condition (1) The rotational constraint can be added as a constraint of the SLAM based on the graph structure.

<수학식 1>&Quot; (1) &quot;

Figure pat00003

Figure pat00003

여기서, i, j는 위치 인덱스들을 의미하고,

Figure pat00004
Figure pat00005
는 병진 모션과 회전 모션 각각에 대한 문턱 값(threshold)을 의미하며,
Figure pat00006
Figure pat00007
는 i 프레임과 j 프레임 각각에서 이동 로봇의 방향각을 의미한다.Here, i, j denotes position indexes,
Figure pat00004
Wow
Figure pat00005
Denotes a threshold for each of the translational motion and the rotational motion,
Figure pat00006
Wow
Figure pat00007
Denotes the direction angle of the mobile robot in each of the i frame and the j frame.

회전 구속 조건에 대한 비용 함수

Figure pat00008
는 아래 <수학식 2>와 같이 나타낼 수 있다.
Cost function for rotational constraint
Figure pat00008
Can be expressed by Equation (2) below.

<수학식 2>&Quot; (2) &quot;

Figure pat00009

Figure pat00009

여기서,

Figure pat00010
는 회전 구속 조건에 의해 구속된 위치 쌍의 집합을 의미하고,
Figure pat00011
는 회전 측정에 대한 정보 매트릭스를 의미하며,
Figure pat00012
는 아래 <수학식 3>과 같이 나타낼 수 있다.
here,
Figure pat00010
Denotes a set of positional pairs constrained by rotational constraint conditions,
Figure pat00011
Means an information matrix for the rotation measurement,
Figure pat00012
Can be expressed as Equation (3) below.

<수학식 3>&Quot; (3) &quot;

Figure pat00013

Figure pat00013

여기서,

Figure pat00014
는 회전에 대한 상대 위치 측정(relative pose measurement)을 의미하고,
Figure pat00015
는 회전에 대응하는 관찰 모델을 의미한다.here,
Figure pat00014
Refers to relative pose measurement for rotation,
Figure pat00015
Means an observation model corresponding to the rotation.

도 1에 도시된 관계에 기초하여

Figure pat00016
는 0으로 처리될 수 있고,
Figure pat00017
는 아래 <수학식 4>와 같이 정의될 수 있다.
Based on the relationship shown in Figure 1
Figure pat00016
Lt; RTI ID = 0.0 &gt; 0, &lt;
Figure pat00017
Can be defined as Equation (4) below.

<수학식 4>&Quot; (4) &quot;

Figure pat00018

Figure pat00018

여기서,

Figure pat00019
Figure pat00020
는 i번째 프레임과 j번째 프레임 각각에 기초한 자기장 측정을 묘사하는 벡터들을 의미한다.here,
Figure pat00019
Wow
Figure pat00020
Refers to vectors describing magnetic field measurements based on the i-th frame and the j-th frame, respectively.

이러한 관찰 모델은 이동 로봇의 방향 함수이기 때문에 회전 구속 조건으로부터 헤딩 보정(heading correction)을 수행할 수 있다. 정보 매트릭스

Figure pat00021
는 아래 <수학식 5>와 같이 계산될 수 있다.
Since this observation model is a direction function of the mobile robot, heading correction can be performed from rotational constraint conditions. Information matrix
Figure pat00021
Can be calculated as Equation (5) below.

<수학식 5>Equation (5)

Figure pat00022

Figure pat00022

여기서,

Figure pat00023
는 자기장 측정에 대한 표준 편차를 의미한다.
here,
Figure pat00023
Means the standard deviation for the magnetic field measurement.

2) 루프 클로징 구속 조건 생성 방식2) Loop closing constraint generation method

루프 클로징에 대한 자기장 측정의 적용 가능성을 평가하기 위하여, 실제 데이터집합(datasets)과 자기장 측정의 유사성을 검사한다. 즉, 자기장은 경로에 따라 변화하는지를 판단하기 위하여 유사성 매트릭스를 구성하여야 한다. 유사성 측정은 루프 클로징에 대한 기준으로 사용될 수 있다.To assess the applicability of magnetic field measurements for loop closing, we check the similarity of the actual datasets and magnetic field measurements. In other words, the similarity matrix should be constructed to determine whether the magnetic field changes along the path. Similarity measures can be used as a basis for loop closure.

코사인 유사성과 유클리드 거리(Euclidean distance)는 단일 측정과 순차적인 측정 그룹에 기반한 유사성을 계산하는데 사용될 수 있다. 두 벡터 p와 q 간의 코사인 유사성(Scos)은 아래 <수학식 6>에 의해 계산될 수 있으며, 두 벡터 p와 q 간의 유클리드 거리(DE)는 아래 <수학식 7>에 의해 계산될 수 있다.
Cosine similarity and Euclidean distance can be used to calculate similarity based on a single measurement and a sequential group of measurements. The cosine similarity Scos between the two vectors p and q can be calculated by Equation (6) below, and the Euclidean distance D E between the two vectors p and q can be calculated by Equation (7) below .

<수학식 6>&Quot; (6) &quot;

Figure pat00024

Figure pat00024

<수학식 7>&Quot; (7) &quot;

Figure pat00025

Figure pat00025

본 발명에서는 순차적인 측정을 이용함으로써, 모호성 문제를 해결할 수 있으며, 순차적 기반 루프 클로징 알고리즘을 통해 모호성 문제를 해결할 수 있다.In the present invention, the ambiguity problem can be solved by using the sequential measurement, and the ambiguity problem can be solved through the sequential based loop closing algorithm.

이동 로봇의 경로는 실내 환경에 의해 선형 세그먼트들을 포함하는데, 이동 로봇이 선형 경로를 따라 미리 결정된 수의 위치 또는 노드를 이동할 때마다 측정된 세 개 요소의 자기장 값을 단일 순차적(또는 시퀀스) 벡터로 그룹핑한다. 그룹핑된 노드들은 슈퍼 노드로 그룹핑되고 노드들에 대한 인덱스는 저장되어 관리될 수 있다.The path of the mobile robot includes linear segments by the indoor environment. Each time the mobile robot moves a predetermined number of positions or nodes along a linear path, the magnetic field values of the three measured elements are converted into a single sequential (or sequence) vector Group. The grouped nodes are grouped into super nodes and the indexes for the nodes can be stored and managed.

구속 조건 생성부(130)는 새로운 노드 그룹 시퀀스가 생성될 때마다 시퀀스 기반 매칭을 이용하여 루프 클로징을 검출할 수 있다.Constraint generation unit 130 may detect loop closing using sequence-based matching whenever a new node group sequence is generated.

이 때, 구속 조건 생성부(130)는 미리 정해진 노드 그룹 시퀀스를 고정시킨 상태에서 생성된 노드 그룹 시퀀스를 쉬프팅하여 매칭 스코어를 계산함으로써, 루프 클로징을 검출할 수 있다. 예컨대, 도 3에 도시된 바와 같이, 새로운 노드 그룹 시퀀스(snew)가 형성되면, 좌측 포인트 a로부터 시작하여 우측 포인트 b까지 쉬프팅시키면서 Nmin 서브 노드들이 매칭을 위해 오버랩됨으로써, 유사성 측정(DE)이 계산된다. 여기서, 매칭은 부분 오버랩에 의해 나타날 수 있으며, 도 3에 도시된 두 노드 그룹 시퀀스 간의 연결 라인은 구속 조건을 나타낸다.At this time, the constraint condition generation unit 130 can detect the loop closing by shifting the generated node group sequence in a state in which the predetermined node group sequence is fixed, and calculating the matching score. As for example, shown in Figure 3, when forming a new node group sequence (s new), by being overlapped to have matching Nmin subnode while shifting to the right of point b, starting from the left point a, the similarity measure (D E) Is calculated. Here, the matching may be indicated by partial overlap, and the connection line between the two node group sequences shown in FIG. 3 represents the constraint.

도 3에서의 Nmin 서브 노드들은 쉬프팅하는 동안 폴스 포지티브 루프 클로징(false positive loop closing)을 방지하기 위한 최소 노드들을 의미할 수 있다. 매칭은 리버스 방향으로 수행될 수도 있기 때문에 리버스 시퀀스를 사용한 리버스 매칭에 대한 매칭 스코어를 계산할 수도 있다. 매칭 스코어는 두 노드 그룹 시퀀스 중 어느 하나의 노드 그룹 시퀀스가 쉬프팅하는 동안 상기 수학식 7에서 정의된 유클리드 거리(DE)를 사용하여 평가될 수 있다.The Nmin subnodes in FIG. 3 may refer to the minimum nodes to prevent false positive loop closing during shifting. Since the matching may be performed in the reverse direction, the matching score for the reverse matching using the reverse sequence may be calculated. Match score may be evaluated by using Euclidean distance (D E) is defined in Equation (7), while the one of node groups the node sequence of the two group sequence shifting.

이 때, 유클리드 거리 또는 유사성 측정(DE)가 미리 설정된 임계 값(TLC)보다 작고 매칭이 리버스 방향으로 이루어지는 경우 루프 클로징이 나타난 것으로 판단할 수 있다.
At this time, it can be determined that the loop closing occurs when the Euclidean distance or similarity measure D E is smaller than the preset threshold value T LC and the matching is in the reverse direction.

상술한 과정을 통해 구속 조건 생성부는 그래프 구조 기반 SLAM에서 사용되는 회전 구속 조건과 루프 클로징 구속 조건을 생성할 수 있다.Through the above process, the constraint generator can generate the rotational constraints and the loop closing constraints used in the SLAM based on the graph structure.

위치 추정부(140)는 구속 조건 생성부(130)에 의해 생성된 구속 조건들을 이용한 그래프 구조 기반 SLAM을 통해 이동 로봇의 위치를 추정한다.The position estimation unit 140 estimates the position of the mobile robot through the SLAM based on the graph structure using the constraint conditions generated by the constraint condition generation unit 130. [

이 때, 위치 추정부(140)는 오도메트리 구속 조건과 회전 구속 조건을 사용한 그래프 구조 기반 SLAM을 통해 이동 로봇의 위치를 추정할 수도 있고, 오도메트리 구속 조건과 루프 클로징 구속 조건을 사용한 그래프 구조 기반 SLAM을 통해 이동 로봇의 위치를 추정할 수도 있으며, 오도메트리 구속 조건과 회전 구속 조건 그리고 루프 클로징 구속 조건을 사용한 그래프 구조 기반 SLAM을 통해 이동 로봇의 위치를 추정할 수도 있다. 물론, 이동 로봇의 위치를 추정하기 위해 사용되는 구속 조건은 상황에 따라 상이하게 결정될 수 있다.In this case, the position estimating unit 140 may estimate the position of the mobile robot through the SLAM based on the graph structure using the Odometry constraint and the rotational constraint, and may also calculate the position of the robot using the Odometry constraint and the loop closing constraint The position of the mobile robot can be estimated through the SLAM based on the structure, and the position of the mobile robot can be estimated through the graph structure based SLAM using the odomometry constraint, the rotational constraint condition, and the loop closing constraint. Of course, the constraint used for estimating the position of the mobile robot can be determined differently depending on the situation.

즉, 위치 추정부(140)는 생성된 그래프 구조에 대해 그래프 최적화(graph optimization)로 이동 로봇의 추정 위치 값을 보정하고, 그래프 구조 기반 SLAM을 통해 이동 로봇의 최종 변위를 계산함으로써, 이동 로봇의 위치를 추정할 수 있다.That is, the position estimating unit 140 corrects the estimated position value of the mobile robot by graph optimization on the generated graph structure, calculates the final displacement of the mobile robot through the SLAM based on the graph structure, The position can be estimated.

그래프 구조는 이동 로봇의 위치를 나타내는 노드(node)와 노드 간의 구속 조건을 나타내는 에지(edge)를 포함할 수 있다.
The graph structure may include a node indicating a position of the mobile robot and an edge indicating a constraint condition between the nodes.

이와 같이, 본 발명의 실시예에 따른 위치 인식 장치는 회전 구속 조건과 루프 클로징 구속 조건 중 적어도 하나의 구속 조건을 이용한 그래프 구조 기반 SLAM을 통해 실내 환경에서 자기장의 모호성 문제를 해결하여 이동 로봇의 위치 추정 정확성을 향상시킬 수 있다.
As described above, the position recognition apparatus according to the embodiment of the present invention solves the ambiguity problem of the magnetic field in the indoor environment through the SLAM based on the graph structure using at least one constraint of the rotational constraint condition and the loop closing constraint, The estimation accuracy can be improved.

도 4는 위치 그래프를 최적화하는 과정에 대한 일 예시도를 나타낸 것으로, 솔리드 라인은 오도메트리 정보에 의한 궤적(trajectory)을 의미하고, 삼각형은 그래프 구조 기반 SLAM에 의한 궤적을 의미하며, 큰 삼각형은 슈퍼 노드를 의미한다.FIG. 4 illustrates an example of a process of optimizing a position graph. The solid line represents a trajectory by odometry information, the triangle represents a trajectory by a SLAM based on a graph structure, Denotes a super node.

도 4에 도시된 빨간색과 파란색은 그룹 노드들을 나타내고, 회색은 루프 클로징 구속 조건을 나타낸 것으로, 도 4에서 알 수 있듯이 루프 클로징없이 회전 구속 조건만을 이용하여 이동 로봇의 회전각이 보정(도 4a)되고, 도 4b 내지 도 4i를 통해 루프 클로징이 일어나면서 전체적인 경로가 보정됨을 알 수 있다.
As shown in FIG. 4, the rotation angles of the mobile robot are corrected (FIG. 4A) by using only rotational constraints without loop closing, and red and blue shown in FIG. 4 represent group nodes, And the loop is closed through FIGS. 4B to 4I, and the overall path is corrected.

도 5는 본 발명에 따른 경로 추정 결과에 대한 일 예시도를 나타낸 것이다.FIG. 5 shows an example of the path estimation result according to the present invention.

도 5는 플로어 맵(floor map)과 이동 로봇의 궤적을 겹쳐 놓은 것으로, 도 5에 도시된 바와 같이 오도메트리(magenta)에 의해 이동 로봇의 경로가 레퍼런스(cyan) 경로를 크게 벗어난 반면, 본 발명에 의해 그래프 구조 기반(blue)에 의한 이동 로봇의 경로는 레퍼런스 경로를 잘 따라는 것을 알 수 있다.
5, the floor map is superimposed with the trajectory of the mobile robot. As shown in FIG. 5, the path of the mobile robot is largely deviated from the reference cyan path by the magenta, According to the invention, it can be seen that the path of the mobile robot by the graph structure base (blue) closely follows the reference path.

이하, 이동 로봇의 위치 인식 방법에 대한 실시예들을 설명하며, 본 발명의 실시예들에 따른 방법은 도 1에 도시된 위치 인식 장치에서 수행될 수 있다.Hereinafter, embodiments of a position recognition method of a mobile robot will be described, and a method according to embodiments of the present invention may be performed in the position recognition apparatus shown in FIG.

도 6은 본 발명의 일 실시예에 따른 이동 로봇의 위치 인식 방법에 대한 동작 흐름도를 나타낸 것으로, 회전 구속 조건, 루프 클로징 구속 조건 및 오도메트리 구속 조건을 이용하여 이동 로봇의 위치를 추정하는 동작 흐름도를 나타낸 것이다.FIG. 6 is a flowchart illustrating an operation of a mobile robot according to an embodiment of the present invention. Referring to FIG. 6, an operation for estimating the position of a mobile robot using a rotational constraint condition, a loop closing constraint condition, Fig.

도 6을 참조하면, 본 발명의 일 실시예에 따른 이동 로봇의 위치 인식 방법은 이동 로봇이 회전하는 동안 측정되는 자기장 값에 기초하여 회전 구속 조건 생성한다(S610).Referring to FIG. 6, a method of recognizing a position of a mobile robot according to an embodiment of the present invention generates a rotational constraint condition based on a magnetic field value measured while the mobile robot rotates (S610).

이 때, 단계 S610은 이동 로봇이 정지 상태에서 회전하는 동안 회전 전후로 측정되는 자기장 벡터 간의 관계를 이용하여 로봇의 회전각에 대한 회전 구속 조건을 생성할 수 있다. At this time, the step S610 may generate the rotational restraint condition for the rotation angle of the robot using the relation between the magnetic field vectors measured before and after the rotation while the mobile robot is rotating in the stationary state.

회전 구속 조건의 생성과는 독립적으로 루프 클로징 구속 조건을 생성하기 위해, 이동 경로 상에 형성된 노드들을 그룹핑하여 노드 그룹을 형성하고, 형성된 노드 그룹의 노드들에 대해 측정된 자기장 값에 기초하여 루프 클로징 구속 조건을 생성한다(S620, S630).To form a node group by grouping the nodes formed on the movement path in order to generate a loop closing constraint independently of generation of the rotational constraint, and to perform loop closure based on the magnetic field value measured for the nodes of the formed node group Constraint conditions are generated (S620, S630).

이 때, 단계 S620은 이동 로봇이 직선 구간을 주행하는 경우에만 노드 그룹을 형성할 수 있으며, 단계 S630은 형성된 노드 그룹에 대해 측정된 자기장 값들과 미리 정의된 노드 그룹에 대한 자기장 값들 비교하여 매칭함으로써, 루프 클로징 구속 조건을 생성할 수 있다.At this time, step S620 may form a node group only when the mobile robot travels in a straight line section. Step S630 compares the magnetic field values measured for the formed node group with the magnetic field values for the predefined node group , You can create a loop-closing constraint.

이 때, 단계 S630은 새로운 노드 그룹이 형성되는 경우에만 미리 정의된 노드 그룹과의 매칭을 수행함으로써, 루프 클로징 구속 조건을 생성할 수 있으며, 형성된 노드 그룹에 대한 벡터와 미리 정의된 노드 그룹에 대한 벡터 간의 유클리드 거리(Euclidean distance)를 구하여 매칭 스코어를 계산하고, 계산된 매칭 스코어를 이용하여 루프 클로징 구속 조건을 생성할 수 있다.At this time, in step S630, a loop closing constraint can be generated by performing matching with a predefined node group only when a new node group is formed, and it is possible to generate a loop closing constraint on the vector for the formed node group and the predefined node group The Euclidean distance between the vectors can be calculated to calculate the matching score, and the calculated matching score can be used to generate the loop closing constraint.

단계 S630은 미리 정해진 노드 그룹 시퀀스를 고정시킨 상태에서 생성된 노드 그룹 시퀀스를 쉬프팅하여 매칭 스코어를 계산함으로써, 루프 클로징 구속 조건을 생성할 수 있다.Step S630 may create a loop closing constraint by shifting the generated node group sequence with the predetermined node group sequence fixed to calculate the matching score.

오도메트리 구속 조건을 생성하기 위하여, 이동 로봇의 오도메트리 정보를 획득하고, 획득된 오도메트리 정보에 기초하여 오도메트리 구속 조건을 생성한다(S640, S650).In order to generate the odometry constraint condition, the odometry information of the mobile robot is acquired, and the odometry constraint condition is generated based on the obtained odometry information (S640, S650).

단계 S610에 의해 생성된 회전 구속 조건, 단계 S630에 의해 생성된 루프 클로징 구속 조건 및 단계 S650에 의해 생성된 오도메트리 구속 조건을 이용한 그래프 구조 기반 SLAM을 통해 이동 로봇의 위치를 추정한다(S660).
The position of the mobile robot is estimated through the SLAM based on the graph structure using the rotational constraint condition generated in step S610, the loop closing constraint condition generated in step S630, and the omometry constraint condition generated in step S650 (step S660) .

도 7은 본 발명의 다른 일 실시예에 따른 이동 로봇의 위치 인식 방법에 대한 동작 흐름도를 나타낸 것으로, 회전 구속 조건과 오도메트리 구속 조건을 이용하여 이동 로봇의 위치를 추정하는 동작 흐름도를 나타낸 것이다.FIG. 7 is a flowchart illustrating a method of recognizing a position of a mobile robot according to another embodiment of the present invention, and is a flowchart illustrating an operation of estimating a position of a mobile robot using rotational constraint conditions and odometry constraint conditions .

도 7을 참조하면, 본 발명의 다른 일 실시예에 따른 이동 로봇의 위치 인식 방법은 이동 로봇이 회전하는 동안 측정되는 자기장 값에 기초하여 회전 구속 조건 생성한다(S710).Referring to FIG. 7, a method for recognizing a position of a mobile robot according to another embodiment of the present invention generates a rotational constraint condition based on a magnetic field value measured while the mobile robot rotates (S710).

이 때, 단계 S710은 이동 로봇이 정지 상태에서 회전하는 동안 회전 전후로 측정되는 자기장 벡터 간의 관계를 이용하여 로봇의 회전각에 대한 회전 구속 조건을 생성할 수 있다. At this time, in step S710, the rotational constraint condition for the rotation angle of the robot can be generated using the relationship between the magnetic field vectors measured before and after the rotation while the mobile robot is rotating in the stationary state.

오도메트리 구속 조건을 생성하기 위하여, 이동 로봇의 오도메트리 정보를 획득하고, 획득된 오도메트리 정보에 기초하여 오도메트리 구속 조건을 생성한다(S720, S730).In order to generate the odometry constraint condition, the odometry information of the mobile robot is obtained, and the odometry constraint condition is generated based on the obtained odometry information (S720, S730).

단계 S710에 의해 생성된 회전 구속 조건, 단계 S730에 의해 생성된 오도메트리 구속 조건을 이용한 그래프 구조 기반 SLAM을 통해 이동 로봇의 위치를 추정한다(S740).
In operation S740, the position of the mobile robot is estimated through the SLAM based on the graph structure using the rotational constraint conditions generated in step S710 and the odometry constraint conditions generated in step S730.

도 8은 본 발명의 또 다른 일 실시예에 따른 이동 로봇의 위치 인식 방법에 대한 동작 흐름도를 나타낸 것으로, 루프 클로징 구속 조건과 오도메트리 구속 조건을 이용하여 이동 로봇의 위치를 추정하는 동작 흐름도를 나타낸 것이다.FIG. 8 is a flow chart illustrating a method of recognizing a position of a mobile robot according to another embodiment of the present invention, and is an operation flowchart for estimating a position of a mobile robot using a loop closing constraint and an odometry constraint .

도 8을 참조하면, 본 발명의 또 다른 일 실시예에 따른 이동 로봇의 위치 인식 방법은 이동 로봇의 이동 경로 상에 형성된 노드들을 그룹핑하여 노드 그룹을 형성하고, 형성된 노드 그룹의 노드들에 대해 측정된 자기장 값에 기초하여 루프 클로징 구속 조건을 생성한다(S810, S820).Referring to FIG. 8, a method of recognizing a position of a mobile robot according to another embodiment of the present invention includes: forming a node group by grouping nodes formed on the movement path of the mobile robot; And generates a loop closing constraint based on the magnetic field value (S810, S820).

이 때, 단계 S810은 이동 로봇이 직선 구간을 주행하는 경우에만 노드 그룹을 형성할 수 있으며, 단계 S820은 형성된 노드 그룹에 대해 측정된 자기장 값들과 미리 정의된 노드 그룹에 대한 자기장 값들 비교하여 매칭함으로써, 루프 클로징 구속 조건을 생성할 수 있다.At this time, step S810 may form a node group only when the mobile robot is traveling in a straight line section. Step S820 compares the magnetic field values measured for the formed node group with the magnetic field values for the predefined node group , You can create a loop-closing constraint.

이 때, 단계 S820은 새로운 노드 그룹이 형성되는 경우에만 미리 정의된 노드 그룹과의 매칭을 수행함으로써, 루프 클로징 구속 조건을 생성할 수 있으며, 형성된 노드 그룹에 대한 벡터와 미리 정의된 노드 그룹에 대한 벡터 간의 유클리드 거리(Euclidean distance)를 구하여 매칭 스코어를 계산하고, 계산된 매칭 스코어를 이용하여 루프 클로징 구속 조건을 생성할 수 있다.At this time, in step S820, a loop closing constraint can be generated by performing matching with a predefined node group only when a new node group is formed, and a loop closing constraint can be generated. The Euclidean distance between the vectors can be calculated to calculate the matching score, and the calculated matching score can be used to generate the loop closing constraint.

단계 S820은 미리 정해진 노드 그룹 시퀀스를 고정시킨 상태에서 생성된 노드 그룹 시퀀스를 쉬프팅하여 매칭 스코어를 계산함으로써, 루프 클로징 구속 조건을 생성할 수 있다.Step S820 may create a loop closing constraint by shifting the generated node group sequence with the predetermined node group sequence fixed and calculating the matching score.

오도메트리 구속 조건을 생성하기 위하여, 이동 로봇의 오도메트리 정보를 획득하고, 획득된 오도메트리 정보에 기초하여 오도메트리 구속 조건을 생성한다(S830, S840).In order to generate the odometry constraint condition, the odometry information of the mobile robot is acquired, and the odometry constraint condition is generated based on the acquired odometry information (S830, S840).

단계 S820에 의해 생성된 루프 클로징 구속 조건 및 단계 S840에 의해 생성된 오도메트리 구속 조건을 이용한 그래프 구조 기반 SLAM을 통해 이동 로봇의 위치를 추정한다(S850).
The position of the mobile robot is estimated through the SLAM based on the graph structure using the loop closing constraint created in step S820 and the OLT matrix constraint created in step S840 (S850).

이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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 as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the systems, devices, and components described in the embodiments may be implemented in various forms such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array ), 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 embodiments may be implemented in the form of a program instruction that may 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 CD-ROMs and DVDs; magnetic media 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 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 &gt; 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)

이동 로봇의 이동 경로 상에 형성된 노드들에 대해 측정된 자기장 값들에 기초하여 루프 클로징(loop closing) 구속 조건(constraint)을 생성하는 단계; 및
상기 루프 클로징 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정하는 단계
를 포함하는 이동 로봇의 위치 인식 방법.
Generating a loop closing constraint based on the measured magnetic field values for the nodes formed on the moving path of the mobile robot; And
Estimating a position of the mobile robot based on a graph structure using the loop closing constraint
And the position of the mobile robot is detected.
제1항에 있어서,
상기 이동 로봇이 회전하는 동안 측정되는 자기장 값에 기초하여 회전 구속 조건을 생성하는 단계
를 더 포함하고,
상기 이동 로봇의 위치를 추정하는 단계는
상기 루프 클로징 구속 조건과 상기 회전 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정하는 이동 로봇의 위치 인식 방법.
The method according to claim 1,
Generating a rotational constraint condition based on a magnetic field value measured while the mobile robot is rotating
Further comprising:
The step of estimating the position of the mobile robot
And estimating a position of the mobile robot based on a graph structure using the loop closing constraint and the rotational constraint.
제1항에 있어서,
상기 루프 클로징 구속 조건을 생성하는 단계는
상기 형성된 노드들을 그룹핑하여 노드 그룹을 형성하고, 상기 형성된 노드 그룹에 대해 측정된 자기장 값들과 미리 정의된 노드 그룹에 대한 자기장 값들 비교하여 매칭함으로써, 상기 루프 클로징 구속 조건을 생성하는 이동 로봇의 위치 인식 방법.
The method according to claim 1,
The step of generating the loop closing constraint comprises:
The mobile node is grouped to form a node group, and magnetic field values measured for the formed node group are compared with magnetic field values for a predefined node group, Way.
제3항에 있어서,
상기 루프 클로징 구속 조건을 생성하는 단계는
상기 이동 로봇이 직선 구간을 주행하는 경우에만 상기 노드 그룹을 형성하고, 새로운 노드 그룹이 형성되는 경우에만 상기 미리 정의된 노드 그룹과의 매칭을 수행함으로써, 상기 루프 클로징 구속 조건을 생성하는 이동 로봇의 위치 인식 방법.
The method of claim 3,
The step of generating the loop closing constraint comprises:
Wherein the mobile robot is configured to form the node group only when the mobile robot travels a straight line section and to perform matching with the predefined node group only when a new node group is formed, Location recognition method.
제3항에 있어서,
상기 루프 클로징 구속 조건을 생성하는 단계는
상기 형성된 노드 그룹의 벡터와 상기 미리 정의된 노드 그룹의 벡터 간의 유클리드 거리(Euclidean distance)를 구하여 매칭 스코어를 계산하고, 상기 계산된 매칭 스코어를 이용하여 상기 루프 클로징 구속 조건을 생성하는 이동 로봇의 위치 인식 방법.
The method of claim 3,
The step of generating the loop closing constraint comprises:
Calculating a matching score by obtaining a Euclidean distance between the vector of the formed node group and the vector of the predefined node group, and calculating a matching score based on the position of the mobile robot which generates the loop closing constraint using the calculated matching score Recognition method.
제1항에 있어서,
상기 이동 로봇의 오도메트리 정보를 획득하고, 상기 획득된 오도메트리 정보에 기초하여 오도메트리 구속 조건을 생성하는 단계
를 더 포함하고,
상기 이동 로봇의 위치를 추정하는 단계는
상기 루프 클로징 구속 조건과 상기 오도메트리 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정하는 이동 로봇의 위치 인식 방법.
The method according to claim 1,
Acquiring odometry information of the mobile robot, and generating an odometry constraint condition based on the obtained odometry information
Further comprising:
The step of estimating the position of the mobile robot
And estimating a position of the mobile robot based on the graph structure using the loop closing constraint and the omometry constraint.
제1항에 있어서,
상기 이동 로봇의 위치를 추정하는 단계는
그래프 구조 기반 SLAM(Simultaneous Localization and Mapping)을 이용하여 상기 이동 로봇의 위치를 추정하는 위치 인식 방법.
The method according to claim 1,
The step of estimating the position of the mobile robot
A position recognition method for estimating a position of the mobile robot using SLAM (Simultaneous Localization and Mapping) based on a graph structure.
이동 로봇이 회전하는 동안 측정되는 자기장 값에 기초하여 회전 구속 조건(constraint)을 생성하는 단계; 및
상기 회전 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정하는 단계
를 포함하는 이동 로봇의 위치 인식 방법.
Generating a rotation constraint based on a magnetic field value measured while the mobile robot rotates; And
Estimating a position of the mobile robot based on a graph structure using the rotational constraint condition
And the position of the mobile robot is detected.
제8항에 있어서,
상기 회전 구속 조건을 생성하는 단계는
상기 이동 로봇의 회전 전후로 측정되는 자기장 벡터 간의 관계를 이용하여 상기 이동 로봇의 회전각에 대한 회전 구속 조건을 생성하는 이동 로봇의 위치 인식 방법.
9. The method of claim 8,
The step of generating the rotational constraint condition
And a rotation constraint condition for the rotation angle of the mobile robot is generated using a relationship between magnetic field vectors measured before and after rotation of the mobile robot.
제8항에 있어서,
상기 이동 로봇의 오도메트리 정보를 획득하고, 상기 획득된 오도메트리 정보에 기초하여 오도메트리 구속 조건을 생성하는 단계
를 더 포함하고,
상기 이동 로봇의 위치를 추정하는 단계는
상기 회전 구속 조건과 상기 오도메트리 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정하는 이동 로봇의 위치 인식 방법.
9. The method of claim 8,
Acquiring odometry information of the mobile robot, and generating an odometry constraint condition based on the obtained odometry information
Further comprising:
The step of estimating the position of the mobile robot
And estimating a position of the mobile robot based on a graph structure using the rotational restraint condition and the odometry constraint condition.
이동 로봇의 이동 경로 상에 형성된 노드들에 대해 측정된 자기장 값들에 기초하여 루프 클로징(loop closing) 구속 조건(constraint)을 생성하는 구속 조건 생성부; 및
상기 루프 클로징 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정하는 위치 추정부
를 포함하는 이동 로봇의 위치 인식 장치.
A constraint generation unit that generates a loop closing constraint based on the measured magnetic field values for the nodes formed on the movement path of the mobile robot; And
A position estimating unit for estimating a position of the mobile robot based on a graph structure using the loop closing constraints,
And the position information of the mobile robot.
제11항에 있어서,
상기 구속 조건 생성부는
상기 이동 로봇이 회전하는 동안 측정되는 자기장 값에 기초하여 회전 구속 조건을 생성하고,
상기 위치 추정부는
상기 루프 클로징 구속 조건과 상기 회전 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정하는 이동 로봇의 위치 인식 장치.
12. The method of claim 11,
The constraint condition generation unit
Generating a rotation constraint condition based on a magnetic field value measured while the mobile robot rotates,
The position estimating unit
And estimating a position of the mobile robot based on a graph structure using the loop closing constraint and the rotational constraint.
제11항에 있어서,
상기 구속 조건 생성부는
상기 형성된 노드들을 그룹핑하여 노드 그룹을 형성하고, 상기 형성된 노드 그룹에 대해 측정된 자기장 값들과 미리 정의된 노드 그룹에 대한 자기장 값들 비교하여 매칭함으로써, 상기 루프 클로징 구속 조건을 생성하는 이동 로봇의 위치 인식 장치.
12. The method of claim 11,
The constraint condition generation unit
The mobile node is grouped to form a node group, and magnetic field values measured for the formed node group are compared with magnetic field values for a predefined node group, Device.
제13항에 있어서,
상기 구속 조건 생성부는
상기 이동 로봇이 직선 구간을 주행하는 경우에만 상기 노드 그룹을 형성하고, 새로운 노드 그룹이 형성되는 경우에만 상기 미리 정의된 노드 그룹과의 매칭을 수행함으로써, 상기 루프 클로징 구속 조건을 생성하는 이동 로봇의 위치 인식 장치.
14. The method of claim 13,
The constraint condition generation unit
Wherein the mobile robot is configured to form the node group only when the mobile robot travels a straight line section and to perform matching with the predefined node group only when a new node group is formed, Position recognition device.
제13항에 있어서,
상기 구속 조건 생성부는
상기 형성된 노드 그룹의 벡터와 상기 미리 정의된 노드 그룹의 벡터 간의 유클리드 거리(Euclidean distance)를 구하여 매칭 스코어를 계산하고, 상기 계산된 매칭 스코어를 이용하여 상기 루프 클로징 구속 조건을 생성하는 이동 로봇의 위치 인식 장치.
14. The method of claim 13,
The constraint condition generation unit
Calculating a matching score by obtaining a Euclidean distance between the vector of the formed node group and the vector of the predefined node group, and calculating a matching score based on the position of the mobile robot which generates the loop closing constraint using the calculated matching score Recognition device.
제11항에 있어서,
상기 이동 로봇의 오도메트리 정보를 획득하는 인코더
를 더 포함하고,
상기 구속 조건 생성부는
상기 획득된 오도메트리 정보에 기초하여 오도메트리 구속 조건을 생성하며,
상기 위치 추정부는
상기 루프 클로징 구속 조건과 상기 오도메트리 구속 조건을 이용한 그래프 구조 기반으로 상기 이동 로봇의 위치를 추정하는 이동 로봇의 위치 인식 장치.
12. The method of claim 11,
An encoder for obtaining the odometry information of the mobile robot
Further comprising:
The constraint condition generation unit
Generating an odometry constraint condition based on the acquired odometry information,
The position estimating unit
And estimates the position of the mobile robot based on the graph structure using the loop closing constraint and the odometry constraint.
KR1020150088589A 2015-06-22 2015-06-22 Method and apparatus for localization of mobile robot using indoor magnetic field Expired - Fee Related KR101738751B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150088589A KR101738751B1 (en) 2015-06-22 2015-06-22 Method and apparatus for localization of mobile robot using indoor magnetic field

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150088589A KR101738751B1 (en) 2015-06-22 2015-06-22 Method and apparatus for localization of mobile robot using indoor magnetic field

Publications (2)

Publication Number Publication Date
KR20160150504A true KR20160150504A (en) 2016-12-30
KR101738751B1 KR101738751B1 (en) 2017-05-23

Family

ID=57737372

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150088589A Expired - Fee Related KR101738751B1 (en) 2015-06-22 2015-06-22 Method and apparatus for localization of mobile robot using indoor magnetic field

Country Status (1)

Country Link
KR (1) KR101738751B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019245320A1 (en) * 2018-06-22 2019-12-26 삼성전자주식회사 Mobile robot device for correcting position by fusing image sensor and plurality of geomagnetic sensors, and control method
KR20200010988A (en) * 2018-06-22 2020-01-31 삼성전자주식회사 mobile robots and Localization method using fusion image sensor and multiple magnetic sensors
WO2024080549A1 (en) * 2022-10-11 2024-04-18 삼성전자 주식회사 Electronic device for location detection, and method for operating same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10921816B2 (en) 2017-04-21 2021-02-16 Korea Advanced Institute Of Science And Technology Method and apparatus for producing map based on hierarchical structure using 2D laser scanner
KR20210100297A (en) 2020-02-06 2021-08-17 삼성전자주식회사 Electronic device and Method for controlling the electronic device thereof

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019245320A1 (en) * 2018-06-22 2019-12-26 삼성전자주식회사 Mobile robot device for correcting position by fusing image sensor and plurality of geomagnetic sensors, and control method
KR20200010988A (en) * 2018-06-22 2020-01-31 삼성전자주식회사 mobile robots and Localization method using fusion image sensor and multiple magnetic sensors
US20210114204A1 (en) * 2018-06-22 2021-04-22 Samsung Electronics Co., Ltd. Mobile robot device for correcting position by fusing image sensor and plurality of geomagnetic sensors, and control method
US12001218B2 (en) 2018-06-22 2024-06-04 Samsung Electronics Co., Ltd. Mobile robot device for correcting position by fusing image sensor and plurality of geomagnetic sensors, and control method
WO2024080549A1 (en) * 2022-10-11 2024-04-18 삼성전자 주식회사 Electronic device for location detection, and method for operating same

Also Published As

Publication number Publication date
KR101738751B1 (en) 2017-05-23

Similar Documents

Publication Publication Date Title
JP6842519B2 (en) Data collection method and its system
CN116127405B (en) Position identification method integrating point cloud map, motion model and local features
KR102063534B1 (en) Method for building map using LiDAR
KR101976241B1 (en) Map building system and its method based on multi-robot localization
Wang et al. Keyframe based large-scale indoor localisation using geomagnetic field and motion pattern
US9969337B2 (en) Methods and systems for mobile-agent navigation
KR101738751B1 (en) Method and apparatus for localization of mobile robot using indoor magnetic field
US10006772B2 (en) Map production method, mobile robot, and map production system
US9402151B2 (en) Method for recognizing position of mobile robot by using features of arbitrary shapes on ceiling
KR101782057B1 (en) Apparatus for building map and method thereof
KR102083911B1 (en) Method for building map including point cloud using LiDAR
KR101775114B1 (en) System and method for simultaneous localization and mapping of mobile robot
JP6405778B2 (en) Object tracking method and object tracking apparatus
JP5287060B2 (en) Route planning device and autonomous mobile device
KR101738750B1 (en) Method and apparatus for robust localization in outdoor environments
KR102481615B1 (en) Method and system for collecting data
CN108051002A (en) Transport vehicle space-location method and system based on inertia measurement auxiliary vision
KR20100072590A (en) Method for building map of mobile platform in dynamic environment
JP7183085B2 (en) Mobile behavior registration device, mobile behavior registration system, mobile behavior registration method, mobile behavior registration program, and mobile behavior determination device
CN105760811A (en) Global map closed loop matching method and device
JP2016149090A (en) Autonomous mobile device, autonomous mobile system, autonomous mobile method and program
CN110162038A (en) Control method for movement, device, storage medium and processor
KR20190081334A (en) Method for tracking moving trajectory based on complex positioning and apparatus thereof
JP2024174077A (en) Position Measuring Device
KR102083913B1 (en) Apparatus for building map using LiDAR

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

FPAY Annual fee payment

Payment date: 20200427

Year of fee payment: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

FPAY Annual fee payment

Payment date: 20210526

Year of fee payment: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20220517

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20220517

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000