[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR101072876B1 - Method and apparatus for estimating position in a mobile robot - Google Patents

Method and apparatus for estimating position in a mobile robot Download PDF

Info

Publication number
KR101072876B1
KR101072876B1 KR1020090023096A KR20090023096A KR101072876B1 KR 101072876 B1 KR101072876 B1 KR 101072876B1 KR 1020090023096 A KR1020090023096 A KR 1020090023096A KR 20090023096 A KR20090023096 A KR 20090023096A KR 101072876 B1 KR101072876 B1 KR 101072876B1
Authority
KR
South Korea
Prior art keywords
robot
feature points
feature point
feature
map
Prior art date
Application number
KR1020090023096A
Other languages
Korean (ko)
Other versions
KR20100104581A (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 KR1020090023096A priority Critical patent/KR101072876B1/en
Publication of KR20100104581A publication Critical patent/KR20100104581A/en
Application granted granted Critical
Publication of KR101072876B1 publication Critical patent/KR101072876B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

이동 로봇에서 자신의 위치를 추정하기 위한 방법 및 장치가 개시된다. 본 발명에 따른 이동 로봇에서 자신의 위치를 추정하기 위한 방법은, 상기 로봇에 구비된 카메라를 이용하여 영상을 획득하는 단계; 상기 영상으로부터 SIFT 알고리즘을 이용하여 특징점들을 추출하는 단계; 상기 추출된 특징점들과 상기 로봇이 존재하는 공간을 미리 촬영하여 SIFT 알고리즘을 이용하여 추출된 특징점들로 구축된 3차원 지도 상의 특징점들을 비교하여 서로 매칭되는 적어도 3개의 특징점 쌍들을 검출하는 단계; 및 상기 검출된 특징점 쌍들 각각의 상기 3차원 지도에서의 좌표와 상기 획득된 영상에서의 좌표를 이용하여 로봇의 위치를 추정하는 단계를 포함하는 것을 특징으로 한다. 이러한 본 발명에 의하면 저가의 비젼 센서인 카메라로부터 획득된 영상을 이용하여 적은 비용으로 효과적으로 로봇의 위치를 추정할 수 있다. A method and apparatus for estimating its position in a mobile robot is disclosed. The method for estimating its own position in a mobile robot according to the present invention comprises the steps of: acquiring an image using a camera provided in the robot; Extracting feature points from the image using a SIFT algorithm; Photographing the extracted feature points and the space where the robot exists and comparing feature points on a 3D map constructed with feature points extracted using a SIFT algorithm to detect at least three feature point pairs matching each other; And estimating the position of the robot using the coordinates of the three-dimensional map of each of the detected pairs of feature points and the coordinates of the acquired image. According to the present invention, the position of the robot can be effectively estimated at a low cost by using an image obtained from a camera which is a low-cost vision sensor.

로봇, 위치 추정, SIFT 알고리즘, 특징점 Robot, Position Estimation, SIFT Algorithm, Feature Point

Description

이동 로봇에서 자신의 위치를 추정하기 위한 방법 및 장치{Method and apparatus for estimating position in a mobile robot}Method and apparatus for estimating position in a mobile robot

본 발명은 이동 로봇에서 자신의 위치를 추정하기 위한 방법 및 장치에 관한 것으로 보다 상세하게는 카메라를 통하여 획득된 영상을 이용하여 위치를 추정하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for estimating its own position in a mobile robot, and more particularly, to a method and apparatus for estimating a position using an image acquired through a camera.

초기의 로봇은 산업 현장에서의 대량 생산을 위한 도구로서 사용되었으며, 고정된 위치에서 단순하고 반복적인 작업을 수행하였다. 그러나 로봇 기술의 발달에 따라 로봇은 보다 다양한 형태를 가지게 되었으며, 보다 높은 지능과 다양한 작업을 할 수 있는 능력을 갖추게 되었다. Early robots were used as tools for mass production on industrial sites, performing simple and repetitive tasks in fixed locations. However, with the development of robot technology, robots have more various forms and have higher intelligence and ability to do various tasks.

로봇이 좀 더 다양한 임무를 자동으로 수행하기 위해서는 로봇 스스로 주행할 수 있는 능력을 갖추어야 한다. 로봇의 자율 주행 문제를 해결하기 위해서는 우선 현재 로봇 자신의 위치가 어디인가를 판단할 수 있어야 한다. 특히 로봇이 자신의 초기 위치를 기억하고 현재까지의 이동 정보 및 이전의 위치 정보로부터 현재의 위치를 알아낼 수 있다고 하더라도 로봇이 외력에 의해 이동된 경우에는 그 전 위치까지 이동해 오면서 저장해 둔 이동 정보 및 위치 정보를 전혀 사용할 수 없는 문제에 직면하게 된다. In order for a robot to carry out more diverse tasks automatically, it must be capable of driving itself. In order to solve the autonomous driving problem of the robot, first, it is necessary to be able to determine where the robot itself is. Especially, even though the robot can remember its initial position and find out the current position from the movement information up to now and the previous position information, if the robot is moved by external force, the movement information and position saved while moving to the previous position You face the problem of no information available.

이러한 문제를 해결하기 위하여 레이저 센서나 초음파 센서와 같은 레인지 센서가 제안되고 있으나, 가격이 고가여서 비용이 많이 들고 주변 환경에 대하여 보다 구체적인 정보를 얻을 수 없는 한계를 가진다.In order to solve this problem, a range sensor such as a laser sensor or an ultrasonic sensor has been proposed, but it is expensive and expensive, and has a limitation in that more detailed information about the surrounding environment cannot be obtained.

본 발명이 이루고자 하는 기술적 과제는 저가의 비젼 센서인 카메라로부터 획득된 영상을 이용하여 적은 비용으로 효과적으로 로봇의 위치를 추정할 수 있는, 이동 로봇에서 자신의 위치를 추정하기 위한 방법 및 장치를 제공하는 데 있다.SUMMARY OF THE INVENTION The present invention provides a method and apparatus for estimating a position of a robot in a mobile robot, which can estimate the position of a robot at low cost using an image obtained from a camera, which is a low-cost vision sensor. There is.

상기 기술적 과제를 해결하기 위하여, 본 발명에 따른 이동 로봇에서 자신의 위치를 추정하기 위한 방법은, (a) 상기 로봇에 구비된 카메라를 이용하여 영상을 획득하는 단계; (b) 상기 영상으로부터 SIFT 알고리즘을 이용하여 특징점들을 추출하는 단계; (c) 상기 추출된 특징점들과 상기 로봇이 존재하는 공간을 미리 촬영하여 SIFT 알고리즘을 이용하여 추출된 특징점들로 구축된 3차원 지도 상의 특징점들을 비교하여 서로 매칭되는 적어도 3개의 특징점 쌍들을 검출하는 단계; 및 (d) 상기 검출된 특징점 쌍들 각각의 상기 3차원 지도에서의 좌표와 상기 획득된 영상에서의 좌표 및 상기 카메라의 초점 거리를 이용하여 로봇의 위치를 추정하는 단계를 포함하는 것을 특징으로 한다.In order to solve the technical problem, a method for estimating its position in a mobile robot according to the present invention, (a) obtaining an image using a camera provided in the robot; (b) extracting feature points from the image using a SIFT algorithm; (c) capturing the extracted feature points and the space in which the robot exists in advance and comparing feature points on a 3D map constructed with feature points extracted using a SIFT algorithm to detect at least three feature point pairs that match each other; step; And (d) estimating the position of the robot using the coordinates in the three-dimensional map of each of the detected pairs of feature points, the coordinates in the obtained image, and the focal length of the camera.

여기서, 상기 (b) 단계는, 기술자(descriptor)가 일치하거나 유사한 특징점 쌍을 서로 매칭되는 특징점 쌍으로 검출할 수 있다.Here, in the step (b), a pair of feature points that match or are similar to a descriptor may be detected as a pair of feature points that match each other.

또한, 상기 (c) 단계는, 상기 추출된 특징점들과 상기 3차원 지도 상에서 특징점들이 밀집되어 있는 영역인 특징점 클러스터 내의 특징점들을 비교하여 서로 매칭되는 적어도 3개의 특징점 쌍들을 검출할 수 있다.Also, in the step (c), at least three pairs of feature points matched with each other may be detected by comparing the extracted feature points with feature points in a feature point cluster that is an area where feature points are concentrated on the 3D map.

또한, 상기 위치 추정 방법은, 상기 (c) 단계에서 상기 특징점 쌍들이 검출되지 않는 경우 상기 로봇을 제자리에서 일정 각도 회전한 후 상기 (a) 단계 내지 상기 (c) 단계를 반복하여 수행하는 단계를 더 포함할 수 있다.The method may further include repeating steps (a) to (c) after rotating the robot by an angle in place when the pairs of feature points are not detected in step (c). It may further include.

또한, 상기 (d) 단계는, 상기 추정된 로봇의 위치와 상기 3차원 지도에서의 특징점의 좌표를 이용하여 상기 로봇이 바라보는 방향을 추정할 수 있다.Also, in the step (d), the direction of the robot may be estimated using the estimated position of the robot and the coordinates of the feature points on the 3D map.

또한, 상기 (d) 단계는 상기 검출된 특징점 쌍들 각각에 대하여 상기 로봇과 상기 3차원 지도 상의 특징점 간의 xy 평면 상의 거리를 구하고, 상기 구해진 거리 및 상기 3차원 지도에서의 좌표를 이용하여 상기 로봇 위치의 좌표를 계산할 수 있다.In the step (d), the distance on the xy plane between the robot and the feature point on the 3D map is obtained for each of the detected feature point pairs, and the robot position is obtained by using the obtained distance and the coordinates of the 3D map. You can calculate the coordinates of.

상기 기술적 과제를 해결하기 위하여, 본 발명에 따른 이동 로봇에서 자신의 위치를 추정하는 장치는, 상기 로봇에 구비된 카메라를 이용하여 획득된 영상으로부터 SIFT 알고리즘을 이용하여 특징점들을 추출하는 특징점 추출부; 상기 추출된 특징점들과 상기 로봇이 존재하는 공간을 미리 촬영하여 SIFT 알고리즘을 이용하여 추출된 특징점들로 구축된 3차원 지도 상의 특징점들을 비교하여 서로 매칭되는 적어도 3개의 특징점 쌍들을 검출하는 특징점쌍 검출부; 및 상기 검출된 특징점 쌍들 각각의 상기 3차원 지도에서의 좌표와 상기 획득된 영상에서의 좌표 및 상기 카메 라의 초점 거리를 이용하여 상기 로봇의 위치를 추정하는 위치 추정부를 포함하는 것을 특징으로 한다.In order to solve the above technical problem, the apparatus for estimating its own position in the mobile robot according to the present invention, the feature point extraction unit for extracting the feature points by using the SIFT algorithm from the image obtained using the camera provided in the robot; Feature point pair detection unit for detecting at least three pairs of feature points matched with each other by comparing the extracted feature points and the space in which the robot exists and comparing the feature points on the three-dimensional map constructed by the feature points extracted using a SIFT algorithm. ; And a position estimator for estimating the position of the robot using coordinates in the three-dimensional map of each of the detected feature point pairs, coordinates in the obtained image, and a focal length of the camera.

상기 또 다른 기술적 과제를 해결하기 위하여 상기된 본 발명에 따른 이동 로봇에서 자신의 위치를 추정하는 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.In order to solve the above another technical problem, there is provided a computer-readable recording medium having recorded thereon a program for executing a method for estimating its position in a mobile robot according to the present invention.

상기된 본 발명에 의하면, 저가의 비젼 센서인 카메라로부터 획득된 영상을 이용하여 적은 비용으로 효과적으로 이동 로봇의 위치를 추정할 수 있다. According to the present invention described above, it is possible to effectively estimate the position of the mobile robot at low cost by using an image obtained from a camera which is a low-cost vision sensor.

이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the accompanying drawings, substantially the same components are denoted by the same reference numerals, and redundant description will be omitted. In addition, in the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

도 1은 본 발명의 일 실시예에 따른 이동 로봇에서 자신의 위치를 추정하는 장치의 블록도이다. 본 실시예에 따른 위치 추정 장치는 자체적으로 이동 가능한 로봇에 구비되며, 카메라(110), 3차원 지도 저장부(120), 특징점 추출부(130), 특징점쌍 검출부(140), 위치 추정부(150), 제어부(160)를 포함하여 이루어진다.1 is a block diagram of an apparatus for estimating its position in a mobile robot according to an embodiment of the present invention. The position estimating apparatus according to the present embodiment is provided in a robot which can move itself, and includes a camera 110, a 3D map storage 120, a feature point extractor 130, a feature point pair detector 140, and a position estimator ( 150, the controller 160.

카메라(110)는 기본적으로 로봇의 진행 방향을 향한 장면의 영상을 획득하며 로봇의 회전에 따라 카메라(110)에서 획득할 영상의 방향이 변하게 된다. 다만 로봇이 회전하지 않고 카메라를 로봇의 중심을 축으로 수평적으로 회전시켜 영상을 획득할 장면의 방향을 변화시킬 수도 있다. The camera 110 basically acquires an image of a scene facing the robot in a moving direction, and the direction of the image to be acquired by the camera 110 changes according to the rotation of the robot. However, the direction of the scene to acquire an image may be changed by rotating the camera horizontally about the axis of the robot without rotating the robot.

3차원 지도 저장부(120)는 로봇이 존재하는 공간을 미리 촬영하여 SIFT(Scale Invariant Feature Transform) 알고리즘을 이용하여 추출된 특징점들로 구축된 3차원 지도를 저장한다. SIFT 알고리즘은 D.Lowe에 의해 고안된 특징점 추출 알고리즘으로서 이 알고리즘에 의해 추출된 특징점들은 영상의 스케일, 회전, 왜곡, 3D 관점 변화 등에 영향을 받지 않는 특성을 가진다. 이 방법은 스케일 공간에서의 불변 특징점을 구하여 관심점에 기술자(descriptor)를 만들어 적용하는 방 법이다. 특징점을 설명하는 기술자가 있기 때문에 SIFT 알고리즘을 이용하여 추출된 특징점들로 구축된 지도에서는 이 기술자를 가지고 특징점의 위치를 찾을 수 있다. The 3D map storage unit 120 previously photographs a space in which the robot exists and stores a 3D map constructed of feature points extracted using a scale invariant feature transform (SIFT) algorithm. The SIFT algorithm is a feature point extraction algorithm devised by D.Lowe. The feature points extracted by this algorithm are not affected by the scale, rotation, distortion, and 3D perspective change of the image. This method finds and applies a descriptor to the point of interest by finding invariant feature points in scale space. Since there are descriptors that describe the feature points, maps constructed from feature points extracted using the SIFT algorithm can be used to locate the feature points.

상기 3차원 지도는 복도, 로비, 큰 방과 같은 공간의 경우 로봇이 주행을 하면서 일정 간격마다 벽면의 특징점을 추출하게 함으로써 구축될 수 있고, 작은 방 같은 구조일 경우에는 로봇이 제자리에서 회전을 하면서 또는 로봇에 구비된 카메라를 수평적으로 회전시키면서 일정 각도마다 영상을 획득하여 특징점을 추출함으로써 구축될 수 있다. 그리고 획득된 영상과 로봇의 위치 정보 등을 이용하여 특징점들의 3차원의 절대 좌표를 생성하게 된다. 이하에서 이 절대 좌표는 (x, y, z)로 표시하기로 한다.The 3D map can be constructed by extracting the feature points of the wall at regular intervals while the robot is driving in a space such as a corridor, a lobby, or a large room.In the case of a small room, the robot rotates in place or It can be constructed by extracting feature points by acquiring an image at a predetermined angle while rotating the camera provided in the robot horizontally. The 3D absolute coordinates of the feature points are generated using the acquired image and the position information of the robot. Hereinafter, this absolute coordinate will be expressed as (x, y, z).

도 2는 본 발명의 일 실시예에 따라 구축된 3차원 지도의 예를 나타낸다. 붉은색으로 표시된 점이 특징점들을 나타내며, 연두색으로 표시된 선은 특징점을 추출하면서 주행한 로봇의 이동 경로를 나타낸다. 2 shows an example of a three-dimensional map constructed in accordance with one embodiment of the present invention. The points marked in red represent the feature points, and the line marked in green is the movement path of the robot that traveled while extracting the feature points.

본 실시예에서 설명되고 있는 로봇이 직접 특징점을 추출하여 상기 3차원 지도를 구축하도록 할 수도 있고, 먼저 다른 로봇 등이 특징점을 추출하여 3차원 지도를 구축하고, 이를 3차원 지도 저장부(120)에 저장할 수도 있다. 또한, 본 실시예에서 상기 3차원 지도는 로봇에 구비되는 3차원 지도 저장부(120)에 저장되는 것으로 설명하나, 별도로 마련된 다른 서버 등에 저장하여 두고 필요한 경우에 무선 통신 수단을 이용하여 그로부터 전송받는 방식으로 구현될 수도 있다. The robot described in the present embodiment may directly extract the feature points to build the 3D map, and first, the other robots extract the feature points to construct the 3D map, and the 3D map storage 120 Can also be stored in In addition, in the present embodiment, the three-dimensional map is described as being stored in the three-dimensional map storage unit 120 provided in the robot, but stored in a separate server, etc. provided separately received from there by using a wireless communication means, if necessary It may be implemented in a manner.

특징점 추출부(130)는 카메라(110)를 이용하여 획득된 영상으로부터 SIFT 알 고리즘을 이용하여 특징점들을 추출한다. 현재 로봇은 자신이 어디에 있는지 그 위치를 알지 못한 상황을 가정하므로, 특징점 추출부(130)는 추출된 특징점들의 획득된 영상 내에서의 좌표를 얻게 된다. 이 영상 내에서의 좌표를 (u, v)로 표시하면, 일반적으로 이 좌표 (u, v)는 영상의 왼쪽 상단을 원점으로 하는 좌표계를 가진다. 다만, 본 실시예에서는 편의를 위해 원점을 영상의 중심으로 옮겼다고 가정하고 특징점의 좌표를 표시하기로 한다. 이러한 변환은 다음 수학식과 같이 표현될 수 있다.The feature point extractor 130 extracts the feature points from the image acquired using the camera 110 using a SIFT algorithm. Since the current robot assumes a situation where it is not known, the feature point extractor 130 obtains coordinates in the acquired image of the extracted feature points. When coordinates in this image are expressed as (u, v), these coordinates (u, v) generally have a coordinate system whose origin is the upper left corner of the image. However, in the present embodiment, it is assumed that the origin is moved to the center of the image for convenience, and the coordinates of the feature point will be displayed. This conversion can be expressed as the following equation.

Figure 112009016377502-pat00001
Figure 112009016377502-pat00001

Figure 112009016377502-pat00002
Figure 112009016377502-pat00002

여기서, u′와 v′는 원점을 영상의 왼쪽 상단으로 하는 좌표계를 의미한다. 따라서 u와 v는 원점을 영상의 중심으로 하는 좌표계이다. u는 양의 방향을 오른쪽으로 하고, v는 양의 방향을 위쪽으로 한다. Here, u 'and v' mean a coordinate system whose origin is the upper left corner of the image. Therefore, u and v are coordinate systems whose origin is the center of the image. u makes the positive direction right, and v makes the positive direction upward.

특징점쌍 검출부(140)는 특징점 추출부(130)에서 추출된 특징점들과 3차원 지도 저장부(120)에 저장된 3차원 지도 상의 특징점들을 비교하여 서로 매칭되는 적어도 3개의 특징점 쌍들을 검출한다. 특징점 추출부(130)에서 추출된 특징점과 3차원 지도 상의 특징점이 서로 매칭되는지는 기술자의 동일성 여부로 판단할 수 있다. 다만, 기술자가 정확히 일치하는 특징점 쌍을 검출하는 것이 원칙이나, 처리 상의 오류 등으로 인해 기술자 값에서 약간의 오차가 발생할 수 있으므로, 허용하 는 범위 내에서 기술자가 유사한 특징점까지 검출하도록 한다. 다시 말하면, 특징점 추출부(130)에서 추출된 특징점과 3차원 지도 상의 특징점 각각을 비교하여 기술자가 정확히 일치하거나 기술자 간의 차이가 일정 임계값 이내인 특징점 쌍을 검출한다. 셋 이상의 특징점 쌍이 검출되면 정확히 일치하거나 가장 유사한 세 개의 특징점 쌍을 취한다.The feature point pair detector 140 compares the feature points extracted by the feature point extractor 130 with the feature points on the 3D map stored in the 3D map storage 120 and detects at least three pairs of feature points that match each other. Whether the feature points extracted by the feature point extractor 130 and the feature points on the 3D map match each other may be determined by the sameness of the descriptors. However, it is a principle that a descriptor detects an exact pair of feature points, but a slight error may occur in the descriptor value due to an error in processing, so that the descriptor can detect similar feature points within the allowable range. In other words, feature points extracted by the feature point extractor 130 are compared with each of the feature points on the 3D map to detect feature point pairs that exactly match the descriptors or that the difference between the descriptors is within a predetermined threshold. If more than two pairs of feature points are detected, the three pairs of feature points that are exactly identical or most similar are taken.

다만, 인공적인 인식용 마크를 사용하지 않고 실내에 존재하는 물체들로부터 추출되는 특징점을 사용하기 때문에 별개의 비슷한 물체에서 유사한 특징점들이 발생되는 경우가 생길 수 있다. 예를 들어 빌딩 복도의 경우 일정 거리마다 소화기를 놓게 되는데, 이 소화기들이 모두 같은 종류인 경우가 많다. 따라서 이들로부터 동일한 기술자가 둘 이상 추출될 수 있다. 이러한 경우 특징점 추출부(130)로부터 추출되는 특징점과 3차원 지도 상의 특징점을 비교할 때 혼란이 생길 수밖에 없다. 왜냐하면, 획득된 영상의 한 특징점과 매칭되는 3차원 지도 상의 특징점이 둘 이상 나오게 되기 때문이다. 다시 말하면, 로봇이 어떤 소화기를 보고 있는데 그 소화기가 어느 소화기인지 확신할 수가 없는 것이다. However, since feature points extracted from objects present in the room are used without using an artificial recognition mark, similar feature points may occur in separate similar objects. For example, in a building corridor, fire extinguishers are placed at certain distances, which are often the same type. Thus, more than one of the same descriptor can be extracted from them. In this case, confusion arises when the feature points extracted from the feature point extractor 130 are compared with the feature points on the 3D map. This is because two or more feature points on the 3D map matched with one feature point of the acquired image. In other words, the robot is looking at a fire extinguisher and is not sure which fire extinguisher.

이러한 문제를 해결하기 위하여 특징점쌍 검출부(140)는 특징점 추출부(130)에서 추출된 특징점들과 3차원 지도 상에서 특징점들이 밀집되어 있는 영역인 특징점 클러스터 내의 특징점들을 비교하여 기술자가 일치하거나 유사한 특징점 쌍들을 검출할 수 있다. 즉, 특징점 추출부(130)에서 추출된 특징점들로부터 3차원 지도 전체에 걸쳐서 기술자가 일치하거나 유사한 특징점들을 찾는 것이 아니라 3차원 지도 상에서 특징점이 뭉쳐 있는 영역인 특징점 클러스터들마다 찾는 것이다. In order to solve this problem, the feature point pair detector 140 compares the feature points extracted by the feature point extractor 130 with feature points in a feature cluster, which is a region where feature points are concentrated on a 3D map, to which a descriptor is identical or similar. Can be detected. That is, the descriptor is searched for each feature cluster, which is a region where feature points are aggregated, on the 3D map, instead of searching for matching or similar feature points from the feature points extracted by the feature point extractor 130.

특징점 클러스터의 형성은 예를 들어 일정 크기의 윈도우를 설정하고, 이 윈도우를 3차원 지도 상에서 이동시켜 가면서 그 내부에 속하게 되는 특징점들의 개수가 일정 수 이상이 되는 경우에 해당하는 윈도우 내부를 특징점 클러스터로 정의할 수 있다. 그러나 특징점 클러스터를 형성하는 방법은 이 외에도 다양한 변형예가 있을 수 있다. 한편, 특징점 클러스터의 형성은 3차원 지도 구축 시에 이를 함께 수행하여 클러스터에 관한 정보를 3차원 지도 저장부(120)에 미리 저장하여 둘 수도 있고, 특징점쌍 검출부(140)가 특징점 쌍들을 검출하기 위하여 3차원 지도 저장부(120)로부터 3차원 지도를 읽어들인 후 이를 분석하여 특징점 클러스터를 생성한 후 특징점 쌍들을 검출할 수도 있다.Formation of the feature point cluster is, for example, by setting a window of a certain size, moving the window on a three-dimensional map while the number of feature points belonging to the inside of the window corresponding to the feature point cluster becomes a certain number of points. Can be defined However, the method of forming the feature point cluster may have various modifications. Meanwhile, the formation of the feature point cluster may be performed together with the construction of the 3D map to store information about the cluster in the 3D map storage 120 in advance, and the feature point pair detector 140 may detect the feature point pairs. For example, after reading the 3D map from the 3D map storage unit 120 and analyzing the 3D map, the feature point cluster may be generated and the feature point pairs may be detected.

도 3은 도 2에 도시된 3차원 지도를 위에서 내려다본 방향으로, 즉 xy 평면 상으로 투영한 형태의 지도를 나타내며, 도 4는 도 3에 도시된 지도에서 상단 방향을 바라보는 시점에서 형성되는 특징점 클러스터를 확대하여 나타낸 도면이다. 도 4를 참조하면, 두 부분에서 특징점들이 밀집되어 있는 것을 확인할 수 있으며, 따라서 이들 두 영역이 각각 특징점 클러스터가 된다. FIG. 3 is a view of the 3D map shown in FIG. 2 in a direction viewed from above, i.e., projected onto the xy plane, and FIG. 4 is formed at a point of view viewed from the top in the map shown in FIG. It is an enlarged view of a feature point cluster. Referring to FIG. 4, it can be seen that feature points are concentrated in two parts, so that these two regions are clusters of feature points, respectively.

특징점쌍 검출부(140)는 특징점 추출부(130)에서 추출된 특징점들과 위와 같이 형성된 특징점 클러스터 내의 특징점들을 비교하여 기술자가 일치하거나 유사한 특징점 쌍들을 검출한다. 이렇게 함으로써 특징점 추출부(130)로부터 추출되는 특징점과 올바르게 매칭되는 3차원 지도 상의 특징점을 찾을 수 있고, 위치 인식의 정확도를 높일 수 있게 된다.The feature point pair detector 140 compares the feature points extracted by the feature point extractor 130 with the feature points in the feature point cluster formed as described above and detects feature pairs having identical or similar descriptors. By doing so, it is possible to find a feature point on the 3D map that is correctly matched with the feature point extracted from the feature point extractor 130, and improve the accuracy of location recognition.

다시 도 1을 참조하여, 특징점쌍 검출부(140)로부터 3개의 특징점 쌍들이 검 출되면, 위치 추정부(150)는 특징점 쌍들 각각의 3차원 지도에서의 좌표와 카메라(110)로부터 획득된 영상에서의 좌표를 이용하여 로봇의 위치를 추정한다. 로봇의 위치 추정에 관한 보다 상세한 과정은 후술하기로 한다. 만일 특징점쌍 검출부(140)에서 3개의 특징점 쌍들이 검출되지 않는다면 이를 알리는 신호를 제어부(160)로 전달한다. 제어부(160)는 로봇의 이동 및 회전을 제어하는 기능을 하는 모듈이다. 제어부(160)는 상기 신호를 전달받으면 로봇을 제자리에서 일정 각도 회전하게 하여 다른 방향을 바라보도록 한다. 그리고 나서 상술한 동작들, 즉 카메라(110)가 영상을 획득하고, 특징점 추출부(130)가 영상으로부터 특징점들을 추출하고, 특징점쌍 검출부(140)가 매칭되는 특징점 쌍들을 검출하는 동작을 다시 수행한다. 이러한 과정은 3개의 특징점 쌍들이 검출될 때까지 반복되고, 3개의 특징점 쌍들이 검출되면 비로소 위치 추정부(150)가 그에 관한 정보를 가지고 로봇의 위치를 추정한다.Referring back to FIG. 1, when three feature point pairs are detected from the feature point pair detector 140, the position estimator 150 may determine the coordinates of each of the feature point pairs and the image obtained from the camera 110. Estimate the position of the robot using the coordinates of. A more detailed process of estimating the position of the robot will be described later. If the three feature point pairs are not detected by the feature point pair detector 140, a signal informing of this is transmitted to the controller 160. The controller 160 is a module that controls the movement and rotation of the robot. When the controller 160 receives the signal, the controller 160 rotates the robot at a certain angle so that the controller 160 faces the other direction. Then, the above-described operations, that is, the camera 110 acquires an image, the feature point extractor 130 extracts feature points from the image, and the feature point pair detector 140 detects matching feature point pairs again. do. This process is repeated until three feature point pairs are detected, and when the three feature point pairs are detected, the position estimator 150 estimates the position of the robot based on the information about the feature point pairs.

특징점 쌍들을 가지고 로봇의 위치를 추정하는 과정을 상세히 설명하면 다음과 같다. 이 과정은 이미 설명한 바와 같이 현재 세 특이점 쌍에 대응하는 3차원 지도 상의 절대 좌표 (x, y, z)와 영상 좌표계에서의 좌표 (u, v)를 알고 있다는 데서 출발한다.The process of estimating the position of the robot with feature point pairs will now be described in detail. This process starts with knowing the absolute coordinates (x, y, z) on the three-dimensional map corresponding to the current three singularity pairs and the coordinates (u, v) in the image coordinate system as described above.

도 5는 로봇의 위치를 추정하는 과정을 설명하기 위한 참고도이다. 도 5를 참조하면, 절대 좌표계의 특이점과 그에 대응하는 영상 좌표계의 특이점을 잇는 벡터를 각각 그리면 각 특이점 쌍에 해당하는 세 벡터가 나오게 되는데, 이 벡터들의 교점이 곧 로봇(카메라)의 위치가 된다. 편의상 본 실시예에서는 로봇의 위치가 공 간에서 수직 방향으로는 변하지 않는 것을 전제로 하여 로봇 위치의 z 좌표값을 0으로 가정하고 설명하기로 한다.5 is a reference diagram for explaining a process of estimating the position of a robot. Referring to FIG. 5, when the vectors connecting the singular points of the absolute coordinate system and the singular points of the image coordinate system corresponding thereto are drawn, three vectors corresponding to each singular point pair come out, and the intersection of these vectors becomes the position of the robot (camera). . For convenience, in the present embodiment, assuming that the position of the robot does not change in the vertical direction in the space, it is assumed that the z coordinate value of the robot position is 0.

영상 좌표값이 (u, v)이고, 3차원 지도 상의 절대 좌표값이 (xfeature, yfeature, zfeature)인 특이점에 대하여, 로봇과 3차원 지도 상의 특징점 간의 xy 평면 상의 거리를 dxy 라 하고, 카메라(110)의 초점거리(focal length)를 f 라 하면, 삼각형의 닮은꼴 원리에 의해 다음 비례식이 성립한다.For a singular point whose image coordinate value is (u, v) and the absolute coordinate value on the 3D map is (x feature , y feature , z feature ), the distance on the xy plane between the robot and the feature point on the 3D map is d xy . If the focal length of the camera 110 is f, the following proportional expression is established by the similarity principle of the triangle.

Figure 112009016377502-pat00003
Figure 112009016377502-pat00003

상기 수학식은 로봇 위치의 z 좌표값을 0으로 가정하였기 때문에 성립하는 식이다. The above equation is established because the z coordinate value of the robot position is assumed to be zero.

상기 수학식 2로부터 다음 수학식이 성립한다.The following equation is established from the above equation (2).

Figure 112009016377502-pat00004
Figure 112009016377502-pat00004

한편, 세 개의 특이점의 절대 좌표를 각각 (xfeature1, yfeature1, zfeature1), (xfeature2, yfeature2, zfeature2), (xfeature3, yfeature3, zfeature3) 라 하고, 로봇의 위치 좌표를 (xrobot, yrobot)라 하고, 로봇과 3차원 지도 상의 각 특이점 간의 xy 평면 상의 거 리를 각각 dxy1, dxy2, dxy3 라 하면 다음 수학식이 성립한다.Meanwhile, the absolute coordinates of the three singular points are (x feature1 , y feature1 , z feature1 ), (x feature2 , y feature2 , z feature2 ), and (x feature3 , y feature3 , z feature3 ), respectively. (x robot, robot y) La, and when the distance on the xy plane between each of the singular point on the robot and a three-dimensional map xy1 d, d xy2, d xy3 la each expression following equation is established.

Figure 112009016377502-pat00005
Figure 112009016377502-pat00005

Figure 112009016377502-pat00006
Figure 112009016377502-pat00006

Figure 112009016377502-pat00007
Figure 112009016377502-pat00007

상기 수학식 4의 첫 번째 식으로부터 세 번째 식을 빼고, 두 번째 식으로부터 세 번째 식을 빼서 연립하면 다음 수학식이 성립한다. If the third equation is subtracted from the first equation of Equation 4 and the third equation is subtracted from the second equation, the following equation is established.

Figure 112009016377502-pat00008
Figure 112009016377502-pat00008

Figure 112009016377502-pat00009
Figure 112009016377502-pat00009

Figure 112009016377502-pat00010
Figure 112009016377502-pat00010

Figure 112009016377502-pat00011
Figure 112009016377502-pat00011

Figure 112009016377502-pat00012
Figure 112009016377502-pat00012

Figure 112009016377502-pat00013
Figure 112009016377502-pat00013

상기 수학식 5를 행렬식으로 정리하면 다음과 같다.If Equation 5 is arranged into a determinant, it is as follows.

Figure 112009016377502-pat00014
Figure 112009016377502-pat00014

Figure 112009016377502-pat00015
Figure 112009016377502-pat00015

상기 수학식 6에서 로봇의 x, y 좌표값 이외의 값들은 모두 알 수 있다. 즉, 특징점의 절대 좌표값은 이미 주어진 값이며, dxy1, dxy2, dxy3 는 상기 수학식 3으로부터 구할 수 있다. 따라서 로봇 위치의 좌표 (xrobot, yrobot)을 구할 수 있다.In Equation 6, values other than the x and y coordinate values of the robot can be known. That is, the absolute coordinate of a feature point is already given value, d xy1, d xy2, d xy3 can be obtained from the equation (3). Therefore, the coordinates of the robot position (x robot , y robot ) can be obtained.

로봇의 위치 뿐만 아니라 카메라가 향하고 있는 방향, 즉 로봇이 바라보는 방향(robot bearing) 역시 구할 필요가 있다. 도 6은 xy 평면에서 로봇이 바라보는 방향과 특이점을 향한 방향의 관계를 나타낸 도면이다. 도 6을 참조하면, θ1 은 로봇과 3차원 지도 상의 특징점을 잇는 직선과, 기준이 되는 축인 x 축 사이의 각도를, θ2 는 상기 직선과 로봇(카메라)이 바라보는 방향과의 각도를 의미한다. 영상 좌표 u 가 커진다는 것은 특이점이 시계 방향으로 이동한다는 것을 의미하므로 각도 측정의 기준 방향인 반시계 방향과는 반대 방향이 된다. 로봇이 향하고 있는 방향은 θ1 과 θ2 는 합이 되며, θ1 및 θ2 는 다음 수학식을 이용하여 구할 수 있다.Not only the position of the robot but also the direction the camera is facing, i.e., the robot bearing, needs to be obtained. 6 is a view showing a relationship between the direction that the robot looks in the xy plane and the direction toward the singularity. Referring to FIG. 6, θ 1 denotes an angle between a straight line connecting a robot and a feature point on a 3D map and an x axis, which is a reference axis, and θ 2 denotes an angle between the straight line and a direction viewed by the robot (camera). it means. The larger image coordinate u means that the singularity moves in the clockwise direction, which is opposite to the counterclockwise direction of the angle measurement. The direction that the robot is facing is θ 1 and θ 2 , and θ 1 and θ 2 can be obtained using the following equation.

Figure 112009016377502-pat00016
Figure 112009016377502-pat00016

Figure 112009016377502-pat00017
Figure 112009016377502-pat00017

여기서, f 는 카메라(110)의 초점거리이다.Here, f is the focal length of the camera 110.

상술한 바와 같이, 카메라(110)로 획득된 영상에서의 특이점의 좌표값과 그에 대응되는 3차원 지도 상의 절대 좌표값으로부터 로봇의 위치 및 로봇이 향하고 있는 방향을 구할 수 있다. As described above, the position of the robot and the direction in which the robot is directed can be obtained from the coordinate values of the singular points in the image acquired by the camera 110 and the absolute coordinate values on the three-dimensional map corresponding thereto.

도 7은 본 발명의 일 실시예에 따른 로봇에서 자신의 위치를 추정하는 방법을 나타낸 흐름도이다. 본 실시예에 따른 위치 추정 방법은 이상에서 설명된 위치 추정 장치에서 처리되는 단계들로 구성된다. 따라서 이하 생략된 내용이라 하더라도 위치 추정 장치에 관하여 이상에서 기술된 내용은 본 실시예에 따른 위치 추정 방법에도 적용된다.7 is a flowchart illustrating a method of estimating its own position in a robot according to an embodiment of the present invention. The position estimation method according to the present embodiment consists of steps processed in the position estimation apparatus described above. Therefore, even if omitted below, the above description of the position estimation apparatus is also applied to the position estimation method according to the present embodiment.

로봇에 구비된 카메라를 이용하여 영상을 획득하고(610단계), 이 영상으로부터 SIFT 알고리즘을 이용하여 특징점들을 추출한다(620단계). An image is acquired using a camera provided in the robot (step 610), and feature points are extracted from the image by using a SIFT algorithm (step 620).

그리고 추출된 특징점과 미리 구축된 3차원 지도 상의 특징점들을 비교하여 서로 매칭되는 적어도 3개의 특징점 쌍들을 검출한다(630단계). 이때 적어도 3개의 특징점 쌍들이 검출되지 않으면(640단계), 로봇을 제자리에서 일정 각도 회전시킨 후(650단계), 다시 상기 610단계 내지 640단계를 반복 수행한다. In operation 630, at least three pairs of feature points matched with each other are detected by comparing the extracted feature points with the feature points on the previously constructed 3D map. At this time, if at least three pairs of feature points are not detected (step 640), the robot is rotated by a predetermined angle (step 650), and then steps 610 to 640 are repeated.

630단계에서는 촬영된 영상과 3차원 지도 상의 특징점 간에 기술자가 일치하거나 유사한지를 가지고 서로 매칭되는지 판단할 수 있다. 그리고 촬영된 영상으로부터 추출된 특징점들을 3차원 지도 상의 특징점들과 비교함에 있어서, 3차원 지도 상에서 정의된 특징점 클러스터 내의 특징점들과 비교하여 적어도 3개의 특징점 쌍들이 검출되는지 여부를 확인하는 것이 바람직하다. In operation 630, it may be determined whether the descriptors match or are similar to each other between the photographed image and the feature points on the 3D map. In comparing the feature points extracted from the captured image with the feature points on the 3D map, it is preferable to check whether at least three feature point pairs are detected by comparing the feature points in the feature point cluster defined on the 3D map.

3개의 특징점 쌍들이 검출되면, 특징점 쌍들 각각의 3차원 지도에서의 좌표와 상기 610단계에서 획득된 영상에서의 좌표를 이용하여 로봇의 현재 위치를 추정한다(660단계).When three pairs of feature points are detected, the current position of the robot is estimated using the coordinates in the 3D map of each of the feature point pairs and the coordinates in the image acquired in step 610 (step 660).

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. The computer-readable recording medium may be a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.), an optical reading medium (for example, a CD-ROM, DVD, etc.) and a carrier wave (for example, the Internet). Storage medium).

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으 로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is shown in the appended claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

도 1은 본 발명의 일 실시예에 따른 이동 로봇에서 자신의 위치를 추정하는 장치의 블록도이다.1 is a block diagram of an apparatus for estimating its position in a mobile robot according to an embodiment of the present invention.

도 2는 본 발명의 일 실시예에 따라 구축된 3차원 지도의 예를 나타낸다. 2 shows an example of a three-dimensional map constructed in accordance with one embodiment of the present invention.

도 3은 도 2에 도시된 3차원 지도를 위에서 바라본 방향으로, 즉 xy 평면 상으로 투영한 형태의 지도를 나타낸다.FIG. 3 illustrates a map in which the three-dimensional map illustrated in FIG. 2 is projected in a direction viewed from above, that is, on an xy plane.

도 4는 도 3에 도시된 지도에서 상단 방향을 바라보는 시점에서 형성되는 특징점 클러스터를 확대하여 나타낸 도면이다.FIG. 4 is an enlarged view of a feature point cluster formed at a point of view of an upper direction in the map illustrated in FIG. 3.

도 5는 로봇의 위치를 추정하는 과정을 설명하기 위한 참고도이다.5 is a reference diagram for explaining a process of estimating the position of a robot.

도 6은 xy 평면에서 로봇이 바라보는 방향과 특이점을 향한 방향의 관계를 나타낸 도면이다.6 is a view showing a relationship between the direction that the robot looks in the xy plane and the direction toward the singularity.

도 7은 본 발명의 일 실시예에 따른 이동 로봇에서 자신의 위치를 추정하는 방법의 흐름도이다.7 is a flowchart of a method for estimating its position in a mobile robot according to an embodiment of the present invention.

Claims (13)

이동 로봇에서 자신의 위치를 추정하기 위한 방법에 있어서,In the method for estimating its position in a mobile robot, (a) 상기 로봇에 구비된 카메라를 이용하여 영상을 획득하는 단계;(a) acquiring an image using a camera provided in the robot; (b) 상기 영상으로부터 SIFT 알고리즘을 이용하여 특징점들을 추출하는 단계;(b) extracting feature points from the image using a SIFT algorithm; (c) 상기 추출된 특징점들과 상기 로봇이 존재하는 공간을 미리 촬영하여 SIFT 알고리즘을 이용하여 추출된 특징점들로 구축된 3차원 지도 상의 특징점들을 비교하여 서로 매칭되는 적어도 3개의 특징점 쌍들을 검출하는 단계; 및(c) capturing the extracted feature points and the space in which the robot exists in advance and comparing feature points on a 3D map constructed with feature points extracted using a SIFT algorithm to detect at least three feature point pairs that match each other; step; And (d) 상기 검출된 특징점 쌍들 각각의 상기 3차원 지도에서의 좌표와 상기 획득된 영상에서의 좌표 및 상기 카메라의 초점 거리를 이용하여 로봇의 위치를 추정하는 단계를 포함하고,(d) estimating the position of the robot using the coordinates in the three-dimensional map of each of the detected pairs of feature points, the coordinates in the obtained image, and the focal length of the camera; 상기 (c) 단계는, 상기 추출된 특징점들과 상기 3차원 지도 상에서 특징점들이 밀집되어 있는 영역인 특징점 클러스터 내의 특징점들을 비교하여 서로 매칭되는 적어도 3개의 특징점 쌍들을 검출하는 것을 특징으로 하는 위치 추정 방법.In the step (c), the extracted feature points and the feature points in the feature point cluster, which are areas where feature points are concentrated on the 3D map, are compared to detect at least three feature point pairs matching each other. . 제1항에 있어서,The method of claim 1, 상기 (b) 단계는, 기술자(descriptor)가 일치하거나 유사한 특징점 쌍을 서로 매칭되는 특징점 쌍으로 검출하는 것을 특징으로 하는 위치 추정 방법.In the step (b), a feature point pair having a descriptor that matches or is similar to a descriptor is detected as a feature point pair that matches each other. 삭제delete 제1항에 있어서,The method of claim 1, 상기 (c) 단계에서 상기 특징점 쌍들이 검출되지 않는 경우 상기 로봇을 제자리에서 일정 각도 회전한 후 상기 (a) 단계 내지 상기 (c) 단계를 반복하여 수행하는 단계를 더 포함하는 것을 특징으로 하는 위치 추정 방법.The method may further include repeating steps (a) to (c) after rotating the robot at an angle in the case where the pair of feature points are not detected in the step (c). Estimation method. 제1항에 있어서,The method of claim 1, 상기 (d) 단계는, 상기 추정된 로봇의 위치와 상기 3차원 지도에서의 특징점의 좌표를 이용하여 상기 로봇이 바라보는 방향을 추정하는 것을 특징으로 하는 위치 추정 방법.In the step (d), using the estimated position of the robot and the coordinates of the feature points on the three-dimensional map to estimate the direction of the robot, characterized in that the estimation. 제1항에 있어서,The method of claim 1, 상기 (d) 단계는 상기 검출된 특징점 쌍들 각각에 대하여 상기 로봇과 상기 3차원 지도 상의 특징점 간의 xy 평면 상의 거리를 구하고, 상기 구해진 거리 및 상기 3차원 지도에서의 좌표를 이용하여 상기 로봇 위치의 좌표를 계산하는 것을 특징으로 하는 위치 추정 방법.In the step (d), the distance on the xy plane between the robot and the feature point on the 3D map is obtained for each of the detected feature point pairs, and the coordinates of the robot location are obtained by using the obtained distance and the coordinates on the 3D map. Position estimation method, characterized in that for calculating. 제1항, 제2항, 제4항 내지 제6항 중 어느 한 항에 기재된 이동 로봇에서 자신의 위치를 추정하기 위한 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program for executing a method for estimating its position in a mobile robot according to any one of claims 1, 2, and 4-6. 이동 로봇에서 자신의 위치를 추정하는 장치에 있어서,In the device for estimating its position in a mobile robot, 상기 로봇에 구비된 카메라를 이용하여 획득된 영상으로부터 SIFT 알고리즘을 이용하여 특징점들을 추출하는 특징점 추출부;A feature point extraction unit for extracting feature points from an image acquired using a camera provided in the robot using a SIFT algorithm; 상기 추출된 특징점들과 상기 로봇이 존재하는 공간을 미리 촬영하여 SIFT 알고리즘을 이용하여 추출된 특징점들로 구축된 3차원 지도 상의 특징점들을 비교하여 서로 매칭되는 적어도 3개의 특징점 쌍들을 검출하는 특징점쌍 검출부; 및Feature point pair detection unit for detecting at least three pairs of feature points matched with each other by comparing the extracted feature points and the space in which the robot exists and comparing the feature points on the three-dimensional map constructed by the feature points extracted using a SIFT algorithm. ; And 상기 검출된 특징점 쌍들 각각의 상기 3차원 지도에서의 좌표와 상기 획득된 영상에서의 좌표 및 상기 카메라의 초점 거리를 이용하여 상기 로봇의 위치를 추정하는 위치 추정부를 포함하고,And a position estimator for estimating the position of the robot using coordinates in the three-dimensional map of each of the detected feature point pairs, coordinates in the obtained image, and a focal length of the camera. 상기 특징점쌍 검출부는, 상기 추출된 특징점들과 상기 3차원 지도 상에서 특징점들이 밀집되어 있는 영역인 특징점 클러스터 내의 특징점들을 비교하여 서로 매칭되는 적어도 3개의 특징점 쌍들을 검출하는 것을 특징으로 하는 위치 추정 장치.And the feature point pair detector detects at least three pairs of feature points that match each other by comparing the extracted feature points and feature points in a feature point cluster that is a region where feature points are concentrated on the 3D map. 제8항에 있어서,The method of claim 8, 상기 특징점쌍 검출부는 기술자(descriptor)가 일치하거나 유사한 특징점 쌍을 서로 매칭되는 특징점 쌍으로 검출하는 것을 특징으로 하는 위치 추정 장치.And the feature point pair detector detects feature point pairs that match or are similar to each other as feature point pairs that match each other. 삭제delete 제8항에 있어서,The method of claim 8, 상기 특징점쌍 검출부에서 상기 특징점 쌍들이 검출되지 않는 경우 상기 로봇을 제자리에서 일정 각도 회전하도록 제어하는 제어부를 더 포함하고, 상기 특징점 추출부 및 상기 특징점쌍 검출부는 상기 로봇이 회전한 후 반복적으로 상기 특징점들을 추출하고 상기 특징점 쌍들을 검출하는 것을 특징으로 하는 위치 추정 장치.The controller may further include a controller configured to rotate the robot at a predetermined angle when the feature pair pair is not detected by the feature point pair detector. The feature point extractor and the feature point pair detector are repeatedly rotated by the robot. And extracting the feature point pairs. 제8항에 있어서,The method of claim 8, 상기 위치 추정부는, 상기 추정된 로봇의 위치와 상기 3차원 지도에서의 특징점의 좌표를 이용하여 상기 로봇이 바라보는 방향을 추정하는 것을 특징으로 하는 위치 추정 장치.And the position estimating unit estimates a direction that the robot faces using the estimated position of the robot and coordinates of the feature points on the 3D map. 제8항에 있어서,The method of claim 8, 상기 위치 추정부는 상기 검출된 특징점 쌍들 각각에 대하여 상기 로봇과 상기 3차원 지도 상의 특징점 간의 xy 평면 상의 거리를 구하고, 상기 구해진 거리 및 상기 3차원 지도에서의 좌표를 이용하여 상기 로봇 위치의 좌표를 계산하는 것을 특징으로 하는 위치 추정 장치.The position estimating unit obtains the distance on the xy plane between the robot and the feature point on the 3D map for each of the detected pairs of feature points, and calculates the coordinates of the robot position using the obtained distance and the coordinates on the 3D map. Position estimating apparatus, characterized in that.
KR1020090023096A 2009-03-18 2009-03-18 Method and apparatus for estimating position in a mobile robot KR101072876B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090023096A KR101072876B1 (en) 2009-03-18 2009-03-18 Method and apparatus for estimating position in a mobile robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090023096A KR101072876B1 (en) 2009-03-18 2009-03-18 Method and apparatus for estimating position in a mobile robot

Publications (2)

Publication Number Publication Date
KR20100104581A KR20100104581A (en) 2010-09-29
KR101072876B1 true KR101072876B1 (en) 2011-10-17

Family

ID=43008813

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090023096A KR101072876B1 (en) 2009-03-18 2009-03-18 Method and apparatus for estimating position in a mobile robot

Country Status (1)

Country Link
KR (1) KR101072876B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160038437A (en) * 2014-09-30 2016-04-07 엘지전자 주식회사 A robot cleaner and control method thereof
KR20160048750A (en) * 2016-04-22 2016-05-04 엘지전자 주식회사 A robot cleaner and control method thereof
KR101855870B1 (en) 2016-08-08 2018-05-10 고려대학교 산학협력단 Method and apparatus for estimation of rotation in 3 dimensional space
WO2021221333A1 (en) * 2020-04-29 2021-11-04 주식회사 모빌테크 Method for predicting position of robot in real time through map information and image matching, and robot

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101243133B1 (en) * 2011-01-28 2013-03-13 충북대학교 산학협력단 Apparatus and method for estimating location in the mobile robot
US8718378B2 (en) 2011-07-11 2014-05-06 Futurewei Technologies, Inc. Image topological coding for visual search
KR101304579B1 (en) 2011-07-15 2013-09-05 삼성중공업 주식회사 Device and method for measuring position of moving object in water
US9875386B2 (en) 2011-11-15 2018-01-23 Futurewei Technologies, Inc. System and method for randomized point set geometry verification for image identification
KR102436081B1 (en) * 2014-06-27 2022-08-25 크라운 이큅먼트 코포레이션 Vehicle positioning or navigation utilizing associated feature pairs
JP7147119B2 (en) 2015-11-02 2022-10-05 スターシップ テクノロジーズ オウ Device and method for autonomous self-localization
KR102192791B1 (en) 2016-04-25 2020-12-18 엘지전자 주식회사 Mobile robot and control method of mobile robot
US11175676B2 (en) 2016-10-20 2021-11-16 Lg Electronics Inc. Mobile robot and method of controlling the same
KR101868374B1 (en) 2016-10-20 2018-06-18 엘지전자 주식회사 Control method of a moving-robotf
KR102441053B1 (en) * 2016-11-21 2022-09-06 현대자동차주식회사 Apparatus and method for estimating driving lane of vehicle
KR102048363B1 (en) 2017-07-25 2019-11-25 엘지전자 주식회사 A moving-robot
KR102024094B1 (en) 2017-12-21 2019-09-23 엘지전자 주식회사 A moving-robot using artificial intelligence and a controlling method for the same
CN109376208A (en) * 2018-09-18 2019-02-22 高枫峻 A kind of localization method based on intelligent terminal, system, storage medium and equipment
KR102147210B1 (en) 2018-10-22 2020-08-24 엘지전자 주식회사 Controlling method for Artificial intelligence Moving robot
KR102147211B1 (en) 2018-10-22 2020-08-24 엘지전자 주식회사 Controlling method for Artificial intelligence Moving robot
KR102243179B1 (en) 2019-03-27 2021-04-21 엘지전자 주식회사 Moving robot and control method thereof
KR102143349B1 (en) 2019-03-27 2020-08-11 엘지전자 주식회사 Controlling method for Moving robot

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100835906B1 (en) * 2007-05-03 2008-06-09 고려대학교 산학협력단 Method for estimating global position of robot and device for estimating global position of robot

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100835906B1 (en) * 2007-05-03 2008-06-09 고려대학교 산학협력단 Method for estimating global position of robot and device for estimating global position of robot

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
논문.1999.*
논문.2008.4*

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160038437A (en) * 2014-09-30 2016-04-07 엘지전자 주식회사 A robot cleaner and control method thereof
KR101629649B1 (en) 2014-09-30 2016-06-13 엘지전자 주식회사 A robot cleaner and control method thereof
US9798957B2 (en) 2014-09-30 2017-10-24 Lg Electronics Inc. Robot cleaner and control method thereof
KR20160048750A (en) * 2016-04-22 2016-05-04 엘지전자 주식회사 A robot cleaner and control method thereof
KR102203434B1 (en) 2016-04-22 2021-01-14 엘지전자 주식회사 A robot cleaner and control method thereof
KR101855870B1 (en) 2016-08-08 2018-05-10 고려대학교 산학협력단 Method and apparatus for estimation of rotation in 3 dimensional space
WO2021221333A1 (en) * 2020-04-29 2021-11-04 주식회사 모빌테크 Method for predicting position of robot in real time through map information and image matching, and robot
KR20210134117A (en) * 2020-04-29 2021-11-09 주식회사 모빌테크 Real-time robot position estimation metod through map information and image matching and the robot
KR102325121B1 (en) * 2020-04-29 2021-11-12 주식회사 모빌테크 Real-time robot position estimation metod through map information and image matching and the robot

Also Published As

Publication number Publication date
KR20100104581A (en) 2010-09-29

Similar Documents

Publication Publication Date Title
KR101072876B1 (en) Method and apparatus for estimating position in a mobile robot
US11668571B2 (en) Simultaneous localization and mapping (SLAM) using dual event cameras
KR101725060B1 (en) Apparatus for recognizing location mobile robot using key point based on gradient and method thereof
KR101776621B1 (en) Apparatus for recognizing location mobile robot using edge based refinement and method thereof
US10275649B2 (en) Apparatus of recognizing position of mobile robot using direct tracking and method thereof
KR101708659B1 (en) Apparatus for recognizing location mobile robot using search based correlative matching and method thereof
KR101784183B1 (en) APPARATUS FOR RECOGNIZING LOCATION MOBILE ROBOT USING KEY POINT BASED ON ADoG AND METHOD THEREOF
EP3008694B1 (en) Interactive and automatic 3-d object scanning method for the purpose of database creation
KR101782057B1 (en) Apparatus for building map and method thereof
Acharya et al. BIM-Tracker: A model-based visual tracking approach for indoor localisation using a 3D building model
JP5444952B2 (en) Apparatus, method, and program for automatic generation of map by sensor fusion, and movement of moving object using such automatically generated map
Nair et al. Moving obstacle detection from a navigating robot
US20220156973A1 (en) Information processing apparatus, information processing method, and program
CN115371673A (en) Binocular camera target positioning method based on Bundle Adjustment in unknown environment
JP2014529823A (en) Line tracking using automatic model initialization with graph matching and cycle detection
KR20190103523A (en) Autonomous driving devise and method
CN114973075A (en) Motion state determination method, device, equipment and storage medium
Valiente et al. View-based SLAM using Omnidirectional Images.
Wang et al. Real-time visual odometry estimation based on principal direction detection on ceiling vision
KR102728513B1 (en) Slam method and slam system using dual event camaer
CN116558526A (en) Dynamic object recognition obstacle avoidance navigation method and system based on visual SLAM
KR20220085682A (en) Posture estimation fusion method and system using omnidirectional image sensor and inertial measurement sensor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140804

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160105

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161005

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee