KR20180016834A - Method and apparatus for estimation of rotation in 3 dimensional space - Google Patents
Method and apparatus for estimation of rotation in 3 dimensional space Download PDFInfo
- Publication number
- KR20180016834A KR20180016834A KR1020160100689A KR20160100689A KR20180016834A KR 20180016834 A KR20180016834 A KR 20180016834A KR 1020160100689 A KR1020160100689 A KR 1020160100689A KR 20160100689 A KR20160100689 A KR 20160100689A KR 20180016834 A KR20180016834 A KR 20180016834A
- Authority
- KR
- South Korea
- Prior art keywords
- point
- plane
- value
- points
- rotation
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1615—Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
- B25J9/162—Mobile manipulator, movable base with manipulator arm mounted on it
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Description
본 발명은 3차원 공간에서 로봇의 위치를 파악하는 방법 및 장치에 관한 것으로, 보다 구체적으로는, 3차원 공간 상의 두 지점 간을 이동한 로봇의 회전이동값을 추정하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for locating a robot in a three-dimensional space, and more particularly, to a method and apparatus for estimating a rotational movement value of a robot moving between two points on a three-dimensional space.
최근 로봇의 수요가 일반 가정까지 확대되고, 일상 생활과도 밀접한 관련이 생기면서 활발한 연구가 진행되고 있다. 3차원 환경에서 로봇이 주어진 임무를 수행하기 위해 자기 위치를 파악하는 과정은 필수적이다. 이에 사전정보 없이 로봇이 능동적으로 위치를 인식하고 3차원 지도를 작성하는 기술에 대한 연구가 진행되고 있다.In recent years, demand for robots has expanded to general households, and everyday life has been closely related with each other. In the 3D environment, it is essential that the robot grasp its position in order to perform a given task. Therefore, researches are being made on the technology that robots actively recognize position and create 3D map without prior knowledge.
실내공간에서는 위성항법장치(GPS)를 활용할 수 없기 때문에 로봇은 센서로부터 입력된 원시 환경정보를 분석해서 특징점을 추출하고, 그 다음으로 연속된 이산시간 상에서 특징점을 매칭하여 공간상에서의 위치(혹은 동작)를 인지할 수 있다. 높은 정확도로 추정된 로봇 위치는 3차원 지도 작성 기술에도 그대로 적용되어, 오차가 작은 질 좋은 지도를 작성할 수 있도록 해준다.Since the GPS can not be used in the indoor space, the robot analyzes the raw environment information inputted from the sensor to extract the characteristic points, and then matches the characteristic points on the continuous discrete time, ). ≪ / RTI > Robot positions estimated with high accuracy are applied to 3D mapping technology as well, so that quality maps with small errors can be created.
로봇의 위치를 추정하기 위해 영상정보나 거리정보로부터 추출 및 활용할 수 있는 다양한 특징점이 존재하지만, 평면특징점은 실내 공간에도 풍부하게 존재하는 기하학적 기초요소이며 상대적으로 다른 특징점에 비해 오차가 적은 이점이 있어 이를 활용한 연구가 활발히 진행되고 있다.In order to estimate the position of the robot, there are various feature points that can be extracted and utilized from the image information and the distance information. However, the plane feature points are geometric basic elements abundant in the interior space, Research using this is actively under way.
그러나 기존 기술로는 실제 3차원 환경에서 평면특징점을 활용하여 로봇의 위치를 추정하는 도중, 공간상의 제약(물체에 의한 가림 현상) 혹은 센서시스템의 제약(시계범위, 감지거리 등)으로 인해 유효한 특징점을 충분히 수집하지 못하는 상황이 발생한다. 이러한 경우 로봇의 정확한 위치를 연속적으로 파악하는 것은 불가능하다.However, the conventional technology uses a plane feature point in an actual three-dimensional environment to estimate the position of the robot, and the effective feature point (for example, an obstacle due to an object) or a constraint It can not collect enough. In this case, it is impossible to grasp the exact position of the robot continuously.
일부 제약이 존재하는 실제 환경이나 저가형 시스템으로도 인위적으로 인공물을 부착하는 등의 사전 준비 단계를 거쳐 로봇의 위치를 추정할 수는 있지만, 환경의 외관을 해칠 수 있고 공간의 규모에 비례하여 사전 준비를 위한 시간과 노력이 필요하다. 따라서, 이러한 사전 준비 단계 없이도 3차원 공간 상에서 로봇의 위치를 추정할 수 있는 강력한 알고리즘에 대한 필요성이 대두되고 있다. Although it is possible to estimate the position of a robot through preparatory steps such as artificially attaching artifacts in a real environment or a low-cost system in which some constraints exist, it is possible to damage the appearance of the environment, Time and effort are needed for Therefore, there is a need for a robust algorithm capable of estimating the position of a robot in a three-dimensional space without such a preparation step.
특히, 로봇의 위치를 추정하기 위하여는 3차원 공간상의 로봇의 평행이동정보와 회전이동정보가 모두 필요하다. 그러나, 유효한 특징점이 충분하지 않은 경우에, 로봇이 이동한 두 지점 간의 평행이동정보를 산출하는 방법은 이미 널리 알려져 있는데 반하여, 회전이동정보를 산출하는 방법은 뚜렷한 성과가 나타나지 않아, 이에 대한 필요성이 대두되고 있다.In particular, in order to estimate the position of the robot, both the parallel movement information and the rotation movement information of the robot on the three-dimensional space are required. However, in the case where the available feature points are not sufficient, the method of calculating the parallel movement information between the two points of movement of the robot is already well known, whereas the method of calculating the rotation movement information does not show a clear result, Is emerging.
관련 선행기술로는 한국공개특허 제10-2011-0109177호(발명의 명칭: 자율주행 이동로봇의 주행제어방법, 공개일자: 2013년 5월 3일)가 있다.A related prior art is Korean Patent Publication No. 10-2011-0109177 entitled " Driving Control Method of Autonomous Mobile Robot, Disclosure Date: May 3, 2013].
본 발명은 관성센서(IMU)를 선택적으로 이용하여, 3차원 공간 상의 두 지점 간을 이동한 로봇의 회전이동값을 추정하는 방법 및 장치를 제공하고자 한다.The present invention provides a method and apparatus for estimating a rotational movement value of a robot moving between two points on a three-dimensional space by selectively using an inertial sensor (IMU).
또한, 본 발명은 3차원 공간 상을 이동하는 로봇의 평행이동값 및 회전이동값을 반복적으로 산출함으로써, 로봇의 이동 궤적 지도를 제작하는 방법 및 장치를 제공하고자 한다.It is another object of the present invention to provide a method and an apparatus for producing a movement trajectory map of a robot by repeatedly calculating a parallel movement value and a rotation movement value of a robot moving in a three-dimensional space.
상기 목적을 달성하기 위해, 본 발명에서 제공하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 방법은 로봇이 3차원 공간 상의 제1 지점에서 제2 지점으로 이동할 때, 상기 2개 지점 간의 위치 추정에 이용되는 회전이동값을 추정하는 방법에 있어서, 상기 2개 지점 각각에서 거리센서를 이용하여 깊이값을 측정한 결과인 주변깊이값정보에 기초하여, 상기 제1 지점 및 상기 제2 지점 각각에서 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면을 검출하는 단계; 평면과 상기 거리센서간의 거리 및 상기 평면의 법선벡터 정보로 구성되는 평면특징점을 상기 적어도 하나의 제1 지점평면 및 상기 적어도 하나의 제2 지점평면 각각으로부터 추출하여 상호 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별하는 단계; 및 상기 선별된 적어도 하나의 평면특징점쌍의 개수에 따라, 선택적으로 관성센서(IMU)에 의해 측정된 IMU회전측정값를 이용하여 상기 2개 지점 간의 불확정회전이동값을 보정하는 회전이동보정값을 산출하는 단계를 포함한다.In order to achieve the above object, the present invention provides a rotational movement value estimation method used for position estimation in a three-dimensional space, wherein when a robot moves from a first point to a second point on a three-dimensional space, A method for estimating a rotational movement value used for position estimation, the method comprising the steps of: calculating, based on peripheral depth value information obtained as a result of measuring a depth value using a distance sensor at each of the two points, Detecting at least one first point plane and at least one second point plane in each; A plane feature point comprising a distance between the plane and the distance sensor and normal vector information of the plane is extracted from each of the at least one first point plane and the at least one second point plane to form at least one Selecting plane feature point pairs; And calculating a rotation movement correction value for correcting the indefinite rotation movement value between the two points using the IMU rotation measurement value selectively measured by the inertial sensor (IMU) according to the number of the selected at least one plane feature point pair .
바람직하게는, 상기 불확정회전이동값을 보정하는 회전이동보정값을 산출하는 단계는 상기 평면특징점쌍의 개수가 2개 이상이면, 상기 회전이동보정값을 산출하지 않고, 상기 평면특징점쌍의 개수가 1개이면, 상기 2개 지점 간의 불확정회전이동값, 상기 평면특징점쌍에 포함된 법선벡터 및 상기 IMU회전측정값에 기초하여 상기 회전이동보정값을 산출할 수 있다.Preferably, the step of calculating the rotation movement correction value for correcting the uncertain rotational movement value may include calculating the rotation movement correction value by calculating the rotation movement correction value without calculating the number of pairs of plane feature points if the number of pairs of the plane feature points is two or more, 1, the rotation movement correction value may be calculated based on the uncertain rotational movement value between the two points, the normal vector included in the pair of plane feature points, and the IMU rotation measurement value.
바람직하게는, 상기 회전이동보정값은 수학식 1을 이용하여 산출될 수 있다.Preferably, the rotation movement correction value may be calculated using Equation (1).
[수학식 1][Equation 1]
여기서, 는 상기 회전이동보정값이고, r은 상기 제1 지점에 대응되는 시점(時點)이고, l은 상기 제2 지점에 대응되는 시점이고, 는 상기 IMU회전측정값을 상기 로봇이 실제로 회전한 최종회전이동값으로 환산하는 회전 정보이고, 는 쿼터니언 곱이고, 는 상기 r시점부터 상기 l시점까지의 IMU회전측정값이고, 는 상기 r시점부터 상기 l시점까지의 불확정회전이동값의 역회전 정보이다.here, R is the rotation movement correction value, r is a time point corresponding to the first point, l is a time point corresponding to the second point, Is rotation information for converting the IMU rotation measurement value into a final rotation movement value that the robot actually rotates, Is a quaternion product, Is an IMU rotation measurement value from the r point to the l point, Is the inverse rotation information of the uncertain rotational movement value from the r point to the l point of time.
바람직하게는, 상기 적어도 하나의 평면특징점쌍 및 상기 선택적으로 산출된 회전이동보정값 중 적어도 하나에 기초하여, 상기 2개 지점 간의 최종회전이동값을 산출하는 단계;를 더 포함할 수 있다.The method may further include calculating a final rotational movement value between the two points, based on at least one of the at least one plane feature point pair and the selectively calculated rotational movement correction value.
바람직하게는, 상기 3차원 공간 상의 복수의 지점 각각에서 측정된 복수의 주변깊이값정보 및 상기 복수의 지점 중 인접한 2개 지점 간의 최종회전이동값 및 평행이동값으로 구성되는 복수의 로봇이동정보에 기초하여, 상기 3차원 공간의 지도를 생성하는 단계를 더 포함하고, 상기 2개 지점 간의 평행이동값은 상기 선별된 평면특징점쌍 및 상기 관성센서에 의해 측정된 IMU이동측정값에 기초하여 산출될 수 있다.Preferably, a plurality of pieces of peripheral depth value information measured at each of a plurality of points on the three-dimensional space and a plurality of robot movement information composed of a final rotational movement value and a parallel movement value between two adjacent points among the plurality of points And generating a map of the three-dimensional space, wherein a translation value between the two points is calculated based on the selected pair of plane feature points and an IMU movement measurement measured by the inertial sensor .
바람직하게는, 상기 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면을 검출하는 단계는 상기 제1 지점 및 상기 제2 지점 각각에서 상기 거리센서를 이용하여 제1 주변깊이값정보 및 제2 주변깊이값정보를 측정하는 단계; 상기 제1 주변깊이값정보 및 상기 제2 주변깊이값정보 각각에 포함된 복수의 지점에 대한 제1 거리 정보 및 제2 거리 정보를 수집하는 단계; 및 상기 제1 거리 정보에 기초하여 상기 적어도 하나의 제1 지점평면을 검출하고, 상기 제2 거리 정보에 기초하여 상기 적어도 하나의 제2 지점평면을 검출하는 단계를 포함할 수 있다.Advantageously, the step of detecting the at least one first point plane and the at least one second point plane comprises using the distance sensor at each of the first point and the second point, 2 surrounding depth value information; Collecting first distance information and second distance information for a plurality of points included in each of the first peripheral depth value information and the second peripheral depth value information; And detecting the at least one first point plane based on the first distance information and detecting the at least one second point plane based on the second distance information.
바람직하게는, 상기 적어도 하나의 평면특징점쌍을 선별하는 단계는 상기 적어도 하나의 제1 지점평면 및 상기 적어도 하나의 제2 지점평면 각각에 대하여 상기 평면특징점을 산출하는 단계; 및 상기 평면특징점 각각에 포함된 상기 법선벡터 정보 및 특이값분해(SVD)를 통해 산출된 특이값에 기초하여, 상기 제1 지점평면 및 상기 제2 지점평면 간에 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별하는 단계;를 포함할 수 있다.Advantageously, selecting said at least one planar feature point pair comprises: calculating said planar feature points for each of said at least one first point plane and said at least one second point plane; And at least one plane that is an object of matching between the first point plane and the second point plane based on the normal vector information included in each of the plane feature points and the singular value calculated through singular value decomposition (SVD) And selecting the feature point pair.
바람직하게는, 상기 제1 지점평면 및 상기 제2 지점평면 간에 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별하는 단계는 상기 적어도 하나의 제1 지점평면 및 상기 적어도 하나의 제2 지점평면 각각의 평면특징점에 포함된 법선벡터에 기초하여 공분산(covariance)의 의사역행렬(pseudoinverse)을 생성하는 단계; 및 상기 의사역행렬을 특이값분해(SVD)하여 산출된 복수의 특이값 간의 비율에 기초하여, 정합의 대상이 되는 평면특징점쌍을 선별하는 단계를 포함할 수 있다.Advantageously, the step of selecting at least one plane feature point pair to be matched between the first point plane and the second point plane comprises selecting the at least one first point plane and the at least one second point plane Generating a pseudoinverse of covariance based on a normal vector included in the plane feature points of the covariance; And selecting a pair of planar feature points to be matched based on a ratio between a plurality of singular values calculated by singular value decomposition (SVD) of the pseudoinverse matrix.
또한, 상기 목적을 달성하기 위해, 본 발명에서 제공하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 장치는 로봇이 3차원 공간 상의 제1 지점에서 제2 지점으로 이동할 때, 상기 2개 지점 간의 위치 추정에 이용되는 회전이동값을 추정하는 장치에 있어서, 상기 2개 지점 각각에서 거리센서를 이용하여 깊이값을 측정한 결과인 주변깊이값정보에 기초하여, 상기 제1 지점 및 상기 제2 지점 각각에서 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면을 검출하는 검출부; 평면과 상기 거리센서간의 거리 및 상기 평면의 법선벡터 정보로 구성되는 평면특징점을 상기 적어도 하나의 제1 지점평면 및 상기 적어도 하나의 제2 지점평면 각각으로부터 추출하여 상호 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별하는 선별부; 및 상기 선별된 적어도 하나의 평면특징점쌍의 개수에 따라, 선택적으로 관성센서에 의해 측정된 IMU회전측정값를 이용하여 상기 2개 지점 간의 불확정회전이동값을 보정하는 회전이동보정값을 산출하는 산출부를 포함한다.In order to achieve the above object, a rotation movement value estimating apparatus used in position estimation in a three-dimensional space provided by the present invention is characterized in that when the robot moves from a first point to a second point on a three-dimensional space, An apparatus for estimating a rotational movement value used for estimating a position between points, the apparatus comprising: means for calculating, based on peripheral depth value information obtained by measuring a depth value using a distance sensor at each of the two points, A detector for detecting at least one first point plane and at least one second point plane at each of the two points; A plane feature point comprising a distance between the plane and the distance sensor and normal vector information of the plane is extracted from each of the at least one first point plane and the at least one second point plane to form at least one A selector for selecting pairs of plane feature points; And an arithmetic unit for calculating a rotation movement correction value for correcting the indefinite rotation movement value between the two points using the IMU rotation measurement value selectively measured by the inertia sensor according to the number of the selected at least one plane feature point pair .
바람직하게는, 상기 산출부는 상기 평면특징점쌍의 개수가 2개 이상이면, 상기 회전이동보정값을 산출하지 않고, 상기 평면특징점쌍의 개수가 1개이면, 상기 2개 지점 간의 불확정회전이동값, 상기 평면특징점쌍에 포함된 법선벡터 및 상기 IMU회전측정값에 기초하여 상기 회전이동보정값을 산출할 수 있다.Preferably, the calculating unit does not calculate the rotation movement correction value if the number of the pairs of plane feature points is two or more, and if the number of pairs of plane feature points is one, The rotation motion correction value may be calculated based on the normal vector included in the pair of plane feature points and the IMU rotation measurement value.
바람직하게는, 상기 회전이동보정값은 수학식 1을 이용하여 산출될 수 있다.Preferably, the rotation movement correction value may be calculated using Equation (1).
[수학식 1][Equation 1]
여기서, 는 상기 회전이동보정값이고, r은 상기 제1 지점에 대응되는 시점(時點)이고, l은 상기 제2 지점에 대응되는 시점이고, 는 상기 IMU회전측정값을 상기 로봇이 실제로 회전한 최종회전이동값으로 환산하는 회전 정보이고, 는 쿼터니언 곱이고, 는 상기 r시점부터 상기 l시점까지의 IMU회전측정값이고, 는 상기 r시점부터 상기 l시점까지의 불확정회전이동값의 역회전 정보이다.here, R is the rotation movement correction value, r is a time point corresponding to the first point, l is a time point corresponding to the second point, Is rotation information for converting the IMU rotation measurement value into a final rotation movement value that the robot actually rotates, Is a quaternion product, Is an IMU rotation measurement value from the r point to the l point, Is the inverse rotation information of the uncertain rotational movement value from the r point to the l point of time.
바람직하게는, 상기 산출부는 상기 적어도 하나의 평면특징점쌍 및 상기 선택적으로 산출된 회전이동보정값 중 적어도 하나에 기초하여, 상기 2개 지점 간의 최종회전이동값을 더 산출할 수 있다.Advantageously, said calculating unit may further calculate a final rotational movement value between said two points based on at least one of said at least one planar feature point pair and said selectively calculated rotational motion compensation value.
바람직하게는, 상기 산출부가 상기 3차원 공간 상의 복수의 지점 각각에서 측정된 복수의 주변깊이값정보에 기초하여, 상기 복수의 지점 중 인접한 2개 지점 간의 최종회전이동값 및 평행이동값으로 구성되는 복수의 로봇이동정보를 더 산출할 때, 상기 복수의 로봇이동정보에 기초하여, 상기 3차원 공간의 지도를 생성하는 지도생성부를 더 포함하고, 상기 2개 지점 간의 평행이동값은 상기 선별된 평면특징점쌍 및 상기 관성센서에 의해 측정된 IMU이동측정값에 기초하여 산출될 수 있다.Preferably, the calculating unit is configured by a final rotational movement value and a parallel movement value between two adjacent points of the plurality of points, based on a plurality of peripheral depth value information measured at each of a plurality of points on the three-dimensional space Further comprising a map generation unit for generating a map of the three-dimensional space on the basis of the plurality of robot movement information when calculating a plurality of robot movement information, wherein the parallel movement value between the two points is determined based on the selected plane A feature point pair, and an IMU movement measurement measured by the inertial sensor.
바람직하게는, 상기 선별부는 상기 적어도 하나의 제1 지점평면 및 상기 적어도 하나의 제2 지점평면 각각에 대하여 상기 평면특징점을 산출하고, 상기 평면특징점 각각에 포함된 상기 법선벡터 정보 및 특이값분해를 통해 산출된 특이값에 기초하여, 상기 제1 지점평면 및 상기 제2 지점평면 간에 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별할 수 있다.Preferably, the selector may calculate the plane feature points for each of the at least one first point plane and the at least one second point plane, and calculate the normal vector information and singular value decomposition included in each of the plane feature points The at least one plane feature point pair to be matched between the first point plane and the second point plane may be selected based on the singular value calculated through the first point plane and the second point plane.
바람직하게는, 상기 선별부는 상기 제1 지점평면 및 상기 제2 지점평면 간에 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별할 때, 상기 적어도 하나의 제1 지점평면 및 상기 적어도 하나의 제2 지점평면 각각의 평면특징점에 포함된 법선벡터에 기초하여 공분산의 의사역행렬을 생성하고, 상기 의사역행렬을 특이값분해하여 산출된 복수의 특이값 간의 비율에 기초하여, 정합의 대상이 되는 평면특징점쌍을 선별할 수 있다.Advantageously, the selector is configured to select, when selecting at least one plane feature point pair to be matched between the first point plane and the second point plane, the at least one first point plane and the at least one second A pseudo inverse matrix of covariance is generated based on a normal vector included in plane feature points of each of the point planes, and based on a ratio between a plurality of singular values calculated by singular value decomposition of the pseudo inverse matrix, a pair of plane feature points Can be selected.
본 발명은 로봇이 두 지점 간을 이동하면서 회전한 정도를 나타내는 회전이동값이 무한해를 갖는 경우, 로봇에 탑재된 관성센서에 의해 측정된 회전측정값을 선택적으로 이용하여 보정함으로써, 보다 정확한 회전이동의 해를 추정할 수 있게 되는 효과가 있다. In the case where the rotational movement value indicating the degree of rotation of the robot while moving between two points has an infinite solution, the present invention selectively corrects the rotational measurement value measured by the inertial sensor mounted on the robot, It is possible to estimate the solution of the movement.
도 1은 본 발명의 일 실시예에 따른 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면을 검출하는 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 회전이동보정값을 설명하기 위하여 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 제1 지점평면 및 제2 지점평면 간의 정합의 대상이 되는 평면특징점쌍의 개수를 판단하기 위한 알고리즘이다.
도 5는 본 발명의 일 실시예에 따른 평면특징점쌍의 개수에 따른 제1 지점평면 및 제2 지점평면 간의 정합 관계를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 로봇의 이동 궤적을 이용하여 제작된 3차원 공간의 지도를 설명하기 위하여 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 장치을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 평면의 특징점을 설명하기 위한 도면이다.FIG. 1 is a flowchart for explaining a rotation movement value estimation method used for position estimation in a three-dimensional space according to an embodiment of the present invention.
2 is a flow chart illustrating a method of detecting at least one first point plane and at least one second point plane in accordance with an embodiment of the present invention.
FIG. 3 is a view for explaining a rotation movement correction value according to an embodiment of the present invention.
4 is an algorithm for determining the number of pairs of planar feature points to be matched between the first point plane and the second point plane according to an embodiment of the present invention.
5 is a view for explaining a matching relationship between a first point plane and a second point plane according to the number of pairs of plane feature points according to an embodiment of the present invention.
FIG. 6 is a diagram for explaining a map of a three-dimensional space produced using the movement trajectory of the robot according to an embodiment of the present invention.
7 is a view for explaining a rotation movement value estimating apparatus used for position estimation in a three-dimensional space according to an embodiment of the present invention.
8 is a view for explaining feature points of a plane according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 방법을 설명하기 위한 흐름도이다.FIG. 1 is a flowchart for explaining a rotation movement value estimation method used for position estimation in a three-dimensional space according to an embodiment of the present invention.
3차원 공간에서의 위치 추정에 이용되는 회전이동값은 로봇이 3차원 공간 상의 제1 지점에서 제2 지점으로 이동하면서, 그 2개 지점 간의 상대적인 위치를 추정하는데 이용될 수 있다. 이때, 상대적인 위치는 평행이동만을 고려하는 것이 아니라, 회전이동의 결과까지 함께 고려하여 결정된다. 즉, 제1 지점과 제2 지점은 동일한 위치의 지점에서 회전이동만 발생한 경우에도 상대적인 위치에 차이가 있는 것으로 해석될 수 있다. The rotational movement value used for position estimation in the three-dimensional space can be used to estimate the relative position between the two points as the robot moves from the first point to the second point on the three-dimensional space. At this time, the relative position is determined not by considering only the parallel movement, but also considering the result of the rotational movement. That is, it can be interpreted that there is a difference in the relative position even when only the rotational movement occurs at the point of the same position between the first point and the second point.
한편, 회전이동값 추정 방법을 수행하는 회전이동값 추정 장치는 3차원 공간을 이동하는 로봇에 탑재될 수 있으며, 본 명세서에서는 회전이동값 추정 장치가 로봇에 탑재된 것으로 가정한다. 그러나, 회전이동값 추정 장치가 반드시 로봇에 탑재되어야 하는 것은 아니며, 예를 들어, 로봇과 유무선 네트워크를 통해 연결된 PC, 노트북, 스마트폰 및 태블릿 등에 탑재될 수 있음은 통상의 기술자에게 자명하게 이해될 수 있다.On the other hand, a rotational movement value estimating apparatus for performing a rotational movement estimating method can be mounted on a robot moving in a three-dimensional space. In this specification, it is assumed that a rotational movement estimating apparatus is mounted on a robot. However, it should be understood that the rotational movement value estimating device does not necessarily have to be mounted on the robot, but can be mounted on, for example, a PC, a notebook, a smart phone and a tablet connected through a wired / .
여기서, 로봇은 스스로 보유한 능력에 의하여 주어진 일을 처리하는 전기 및 기계 장치일 수 있다. 보다 구체적으로는, 스스로의 판단 또는 외부의 제어 등에 의하여 3차원 공간을 스스로 이동할 수 있는 능력을 가진 장치일 수 있다.Here, the robot may be an electrical and mechanical device that processes a given task by its own capabilities. More specifically, it may be a device capable of self-moving the three-dimensional space by self-judgment or external control or the like.
단계 S110에서는, 회전이동값 추정 장치가, 로봇이 3차원 공간 상의 제1 지점에서 제2 지점으로 이동할 때, 그 2개 지점 각각에서 거리센서를 이용하여 깊이값을 측정한 결과인 주변깊이값정보에 기초하여, 제1 지점 및 제2 지점 각각에서 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면을 검출한다.In step S110, when the robot moves from the first point to the second point on the three-dimensional space, the rotational movement value estimating apparatus estimates the depth value of each of the two points using the distance sensor At least one first point plane and at least one second point plane at each of the first point and the second point.
거리센서는 3차원 물체 또는 환경의 형상이나 위치를 얻기 위한 센서로서, 로봇에 탑재될 수 있다. 보다 구체적으로, 거리센서는 관측점에서 물체까지의 전파시간으로부터 거리를 측정하는 시간 전파법과 광학적 3각측량에 의하여 거리를 측정하는 방법 등을 사용하여 깊이값을 측정할 수 있으며, 라이다(Light Detection And Ranging) 또는 키넥트 센서(Kinect sensor) 등을 이용하여 구현될 수 있다.The distance sensor can be mounted on a robot as a sensor for obtaining the shape or position of a three-dimensional object or environment. More specifically, the distance sensor can measure a depth value using a time propagation method for measuring a distance from a propagation time from an observation point to an object, a distance measurement method using an optical triangulation, and the like. And Ranging) or a Kinect sensor or the like.
예컨대, 로봇이 미지의 3차원 공간(예, 건물 내부)에서 인접한 제1 지점과 제2 지점 간을 이동할 때, 회전이동값 추정 장치가 그 제1 지점 및 제2 지점 각각에서 거리센서를 제어하여 주변 환경의 깊이값을 측정한 결과인 주변깊이값정보를 생성할 수 있다. 그리고, 그 주변깊이값정보를 이용하여, 제1 지점에 대응되는 주변깊이값정보로부터 적어도 하나의 제1 지점평면을, 제2 지점에 대응되는 주변깊이값정보로부터 적어도 하나의 제2 지점평면을 검출할 수 있다.For example, when the robot moves between a first point and a second point adjacent to each other in an unknown three-dimensional space (e.g., inside a building), the rotational movement value estimating apparatus controls the distance sensors at each of the first point and the second point It is possible to generate the surrounding depth value information as a result of measuring the depth value of the surrounding environment. Then, using the surrounding depth value information, at least one first point plane is obtained from the peripheral depth value information corresponding to the first point, and at least one second point plane is calculated from the peripheral depth value information corresponding to the second point Can be detected.
이때, 제1 지점평면은 제1 지점에서 거리센서에 의해 측정된 깊이값 정보로부터 검출된 평면을 나타내며, 제2 지점평면은 제2 지점에서 거리센서에 의해 측정된 깊이값 정보로부터 검출된 평면을 나타낸다.The first point plane represents the plane detected from the depth value information measured by the distance sensor at the first point and the second point plane represents the plane detected from the depth value information measured by the distance sensor at the second point .
한편, 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면을 검출하는 구체적인 방법에 대하여는 도 2에 대한 설명에서 자세하게 후술한다.On the other hand, a specific method of detecting at least one first point plane and at least one second point plane will be described later in detail with reference to Fig. 2.
단계 S120에서는, 회전이동값 추정 장치가 평면과 거리센서간의 거리 및 그 평면의 법선벡터 정보로 구성되는 평면특징점을 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면 각각으로부터 추출하여, 상호 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별한다.In step S120, the rotational movement value estimating device extracts plane feature points, which are composed of the distance between the plane and the distance sensor and the normal vector information of the plane, from each of the at least one first point plane and the at least one second point plane, At least one pair of plane feature points to be matched is selected.
도 8을 참조하면, 회전이동값 추정 장치가 그 검출된 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면 각각으로부터, 평면과 거리센서 간의 거리(d), 평면의 법선벡터(n)를 산출하여 평면특징점을 추출할 수 있다. 그리고, 회전이동값 추정 장치가 적어도 하나의 제1 지점평면 각각의 평면특징점과 적어도 하나의 제2 지점평면 각각의 평면특징점으로부터, 서로 정합의 대상이 되는 평면특징점의 쌍을 적어도 하나 선별할 수 있다.Referring to Fig. 8, the rotational movement value estimating apparatus estimates, from each of the detected at least one first point plane and at least one second point plane, the distance d between the plane and the distance sensor, the normal vector n of the plane, And the plane feature points can be extracted. Then, the rotational movement value estimating device can select at least one pair of plane feature points to be matched with each other from the plane feature points of each of the at least one first point plane and each of the at least one second point plane plane .
이때, 적어도 하나의 제1 지점평면의 각 법선벡터(n) 간에 이루는 각도가 90도에 가까울수록, 회전이동값 추정 장치가 보다 유의미한 평면특징점쌍을 선별할 수 있다. 예컨대, 3개의 제1 지점평면의 3개의 법선벡터(n)가 모두 서로 직교하는 경우, 회전이동값 추정 장치가 가장 유의미한 평면특징점쌍을 선별할 수 있다. At this time, as the angle formed between each normal vector (n) of at least one first point plane is closer to 90 degrees, the rotational movement value estimating apparatus can select more significant pairs of plane feature points. For example, when all three normal vectors (n) of the three first point planes are orthogonal to each other, the rotational movement value estimating apparatus can select the most significant plane feature point pair.
이처럼 유의미한 평면특징점쌍이 선별될수록, 회전이동값이 보다 정확하게 산출될 수 있으며, 이에 대하여는 도 4에 대한 설명에서 후술한다. 한편, 적어도 하나의 제2 지점평면에 대하여도 마찬가지로 법선벡터(n) 간에 이루는 각도가 90도에 가까울수록, 회전이동값 추정 장치가 보다 유의미한 평면특징점의 쌍을 선별할 수 있다.The more the selected pairs of plane feature points are selected, the more accurately the rotational movement value can be calculated, which will be described later with reference to FIG. On the other hand, as for the at least one second point plane, as the angle formed between the normal vector (n) is closer to 90 degrees, the rotational movement value estimating apparatus can select more significant pairs of plane feature points.
또한, 예컨대, 서로 정합의 대상이 되는 평면특징점쌍은 적어도 하나의 제1 지점평면을 평행이동 또는 회전이동한 뒤, 적어도 하나의 제2 지점평면과 겹쳐지도록 하여 온전하게 겹쳐지는지에 따라 결정될 수 있다.Also, for example, the pair of plane feature points to be matched with each other can be determined according to whether the first pair of the first point plane is parallelly or rotationally moved, and then overlaps the at least one second point plane and completely overlaps the at least one second point plane .
즉, 도 5를 참조하면, 적어도 하나의 평면 A가 평행이동 또는 회전이동 된 후, 적어도 하나의 평면 B와 정합되는 것을 확인할 수 있다. 이 경우, 정합되는 제1 지점평면과 제2 지점평면 각각의 평면특징점이 하나의 평면특징점쌍을 이루게 된다. 따라서, 도 5의 (a)에는 평면특징점쌍이 3개 존재하고, (b)에는 평면특징점쌍이 2개 존재하고, (c)에는 평면특징점쌍이 1개 존재한다.That is, referring to FIG. 5, it can be seen that at least one plane A is aligned with at least one plane B after being translated or rotated. In this case, the plane feature points of each of the first point plane and the second point plane to be matched form a pair of plane feature points. Therefore, there are three plane feature point pairs in Fig. 5 (a), two plane feature point pairs exist in (b), and one plane feature point pair exists in (c).
보다 구체적으로는, 도 5(a)에서 3개의 서로 다른 법선벡터를 갖는 평면(A)이 3개의 평면(B)과 정합되는 평행이동과 회전이동값은 단 하나로 결정되어 있다. 한편, 도 5(b)에서 2개의 서로 다른 법선벡터를 갖는 평면(A)이 2개의 평면(B)과 정합되는 회전이동값은 단 하나이지만, 평행이동값은 하나로 결정되지 않으며, A의 2개의 평면 간의 교선을 따라 무한이 존재할 수 있다. 한편, 도 5(c)에서 1개의 법선벡터를 갖는 평면(A)이 1개의 평면(B)과 정합되는 회전이동값과 평행이동값은 하나로 결정되지 않으며, 무한이 존재할 수 있다. 이에 대하여는 표 1에 대한 설명에서 자세하게 후술한다.More specifically, the parallel movement and the rotational movement value in which the plane A having three different normal vectors in FIG. 5 (a) are matched with the three planes B are determined to be a single one. On the other hand, in FIG. 5 (b), there is only one rotational movement value in which the plane A having two different normal vectors is matched with the two planes B, but the parallel movement value is not determined as one, Infinite can exist along the intersection of the two planes. On the other hand, in FIG. 5 (c), the rotational movement value and the parallel movement value in which the plane A having one normal vector is matched with one plane B are not determined as one, and there may be infinite. This will be described in detail in the description of Table 1. [
단계 S130에서는, 회전이동값 추정 장치가 선별된 적어도 하나의 평면특징점쌍의 개수에 따라, 선택적으로 관성센서(IMU)에 의해 측정된 IMU회전측정값를 이용하여 2개 지점 간의 불확정회전이동값을 보정하는 회전이동보정값을 산출한다.In step S130, the rotational movement value estimating apparatus corrects the indefinite rotational movement value between the two points using the IMU rotational measurement value selectively measured by the inertial sensor (IMU) according to the number of selected at least one plane feature point pair Is calculated.
관성센서(inertial sensor)는 인가되는 가속도에 의해 관성체에 작용하는 관성력을 검출하는 것을 기본 원리로 하며, 어떤 정해진 방향에서의 각변위 또는 그 변화율을 계측하는 자이로 및 그 응용기기의 총칭일 수 있다.An inertial sensor has a basic principle of detecting an inertial force acting on an inertial body by an applied acceleration and may be a generic name of a gyro and its application device measuring an angular displacement or a rate of change in a certain direction .
첫번째로, 회전이동값 추정 장치는, 도 5(c)와 같이 평면특징점쌍이 1개만 존재하는 경우, 제1 지점평면과 제2 지점평면 간의 회전이동값을 하나로 결정할 수 없게 되는 제한을 갖게 된다. 이 경우의 회전이동값은 무한한 개수의 해를 갖게 되어, 하나로 확정될 수 없는 불확정회전이동값이 될 수 있다.First, the rotational movement value estimating apparatus has a limitation that it is impossible to determine the rotational movement values between the first point plane and the second point plane as one, when there is only one plane feature point pair as shown in Fig. 5 (c). In this case, the rotational movement value has an infinite number of solutions and can be an indefinite rotational movement value that can not be determined as one.
이때, 회전이동값 추정 장치가, 로봇이 제1 지점에서 제2 지점 간을 이동하는 동안 로봇에 탑재된 관성센서에 의해 측정된 IMU회전측정값 및 평면특징점쌍에 포함된 법선벡터를 이용하여, 제1 지점평면과 제2 지점평면 간의 불확정회전이동값을 보정하는 회전이동보정값을 산출할 수 있다. At this time, the rotational movement value estimating apparatus estimates the rotational motion of the robot by using the IMU rotational measurement value measured by the inertial sensor mounted on the robot and the normal vector included in the pair of plane feature points while the robot moves between the first point and the second point, It is possible to calculate the rotation movement correction value for correcting the uncertain rotational movement value between the first point plane and the second point plane.
두번째로, 회전이동값 추정 장치는, 도 5(a) 또는 (b)와 같이 평면특징점쌍이 2개 이상 존재하는 경우, 제1 지점평면과 제2 지점평면 간의 회전이동값을 하나로 결정할 수 있으므로, 회전이동보정값을 산출할 필요가 없다.Secondly, when two or more pairs of plane feature points exist as shown in Fig. 5 (a) or (b), the rotational movement value estimating apparatus can determine the rotational movement values between the first point plane and the second point plane as one, It is not necessary to calculate the rotation movement correction value.
참고로, 회전이동값 추정 장치는, 평면특징점쌍이 존재하지 않는 경우, IMU회전측정값으로부터 최종회전이동값을 산출할 수 있다.For reference, the rotation movement value estimating device can calculate the final rotation movement value from the IMU rotation measurement value when there is no plane feature point pair.
결과적으로, 회전이동값 추정 장치는 평면특징점쌍이 1개인 경우에만, 선택적으로 회전이동보정값을 산출하고, 평면특징점쌍이 2개 이상인 경우에는 회전이동보정값을 산출하지 않을 수 있다.As a result, the rotation movement value estimating apparatus may selectively calculate the rotation movement correction value only when the pair of plane feature points is 1, and may not calculate the rotation movement correction value when there are two or more pairs of plane feature points.
평면특징점쌍의 개수Number of Plane Feature Pairs
표 1을 참고하면, 평면특징점쌍의 개수가 3개 이상인 경우, 2개 지점간의 회전이동 및 평행이동은 단일해로 결정(도 5(a) 참고)된다. 또한, 평면특징점쌍의 개수가 2개인 경우, 회전이동은 단일해로 결정되나, 평행이동은 1개 축에 대하여 무한해를 갖게된다.(도 5(b) 참고) 또한, 평면특징점쌍의 개수가 1개 이하인 경우, 회전이동 및 평행이동은 무한해를 갖게된다.(도 5(c) 참고)Referring to Table 1, when the number of pairs of planar feature points is three or more, the rotational movement and the parallel movement between the two points are determined as a single solution (see Fig. 5 (a)). In addition, when the number of pairs of plane feature points is two, the rotation movement is determined as a single solution, but the parallel movement has an infinite solution with respect to one axis (refer to FIG. 5 (b)). Is less than or equal to one, the rotational movement and the parallel movement have an infinite solution (see Fig. 5 (c)).
다른 실시예에서는, 회전이동보정값은 아래의 수학식 1을 이용하여 산출될 수 있다.In another embodiment, the rotation movement correction value can be calculated using the following equation (1).
[수학식 1][Equation 1]
여기서, 는 회전이동보정값이고, r은 제1 지점에 대응되는 시점(time)이고, l은 제2 지점에 대응되는 시점이고, 는 IMU회전측정값을 로봇이 실제로 회전한 최종회전이동값으로 환산하는 회전변환정보이고, 는 쿼터니언 곱이고, 는 r시점부터 l시점까지의 IMU회전측정값이고, 는 r시점부터 l시점까지의 불확정회전이동값의 역회전 정보이다.here, R is the time corresponding to the first point, l is the point corresponding to the second point, Is rotation conversion information for converting the IMU rotation measurement value into a final rotation movement value that the robot actually rotates, Is a quaternion product, Is an IMU rotation measurement value from point r to point l , Is the inverse rotation information of the uncertain rotational motion value from the r point to the l point of time.
이하에서는, 도 3을 참조하여, 평면특징점쌍이 1개일 때, 수학식 1을 구하는 과정을 설명한다.Hereinafter, with reference to FIG. 3, a process for obtaining
로봇이 실제로 회전한 최종회전이동값은 회전이동보정값 및 불확정회전이동값(singular solution)을 이용하여 아래의 수학식 2로부터 산출될 수 있다.The final rotational motion value at which the robot actually rotates can be calculated from the following equation (2) using the rotational motion correction value and the indeterminate rotational motion value (singular solution).
[수학식 2]&Quot; (2) "
여기서, 은 로봇이 제1 지점에서 제2 지점 간을 이동하는 동안 회전한 최종회전이동값이고, 는 불확정회전이동값을 최종회전이동값으로 보정하기 위한 회전이동보정값이고, 는 r시점부터 l시점까지의 회전이동의 해가 하나로 결정되지 않는 불확정회전이동값이다.here, Is the final rotational movement value that the robot has rotated while moving between the first point and the second point, Is a rotational movement correction value for correcting the uncertain rotational movement value to the final rotational movement value, Is an indeterminate rotational motion value in which the solution of rotational motion from point r to point l is not determined as one.
이때, 회전변환정보는 도 3의 벡터 를 회전이동하여 벡터 와 평행하게 만들어 주는 회전 정보를 의미하며, 관성센서로부터 측정된 정보를 왜곡하지 않도록 가장 짧은 곡선길이(shortest arc length)로 회전이동하는 값이다. At this time, the rotation conversion information is the vector And the vector And is a value that rotates to the shortest arc length so as not to distort the information measured from the inertial sensor.
한편, 회전변환정보는 수학식 3을 이용하여 산출될 수 있다. On the other hand, the rotation conversion information can be calculated using Equation (3).
[수학식 3]&Quot; (3) "
여기서, 는 벡터 를 벡터 과 평행하게 되도록 회전시키는 회전변환정보이고, 는 정합의 대상이 되는 제1 지점평면의 법선벡터()를 IMU회전측정값으로 회전이동한 벡터이고, 는 정합의 대상이 되는 제2 지점평면의 법선벡터이다.here, Vector Vector Rotation conversion information to be rotated so as to be parallel to the rotation axis, Is the normal vector of the first point plane to be matched ( ) To the IMU rotation measurement value, Is the normal vector of the second point plane to be matched.
이때, 벡터 , 및 간에는 및 의 관계가 성립한다. 즉, 는 정합의 대상이 되는 제1 지점평면의 법선벡터이고, 는 정합의 대상이 되는 제1 지점평면의 법선벡터()를 IMU회전측정값으로 회전이동한 벡터이다.At this time, , And The liver And . In other words, Is a normal vector of the first point plane to be matched, Is the normal vector of the first point plane to be matched ( ) To the IMU rotation measurement value.
또한, 관성센서에 의해 측정된 IMU회전측정값에 회전변환정보를 적용하여, 로봇이 실제로 회전한 값으로 환산한 값이 최종회전이동값이므로, 최종회전이동값은 아래의 수학식 4으로 정의될 수 있다. Also, since the rotation conversion information is applied to the IMU rotation measurement value measured by the inertial sensor and the value converted into the actual rotation value of the robot is the final rotation movement value, the final rotation movement value is defined by the following equation (4) .
[수학식 4]&Quot; (4) "
여기서, 은 로봇이 제1 지점에서 제2 지점 간을 이동하는 동안 회전한 최종회전이동값이고, 는 IMU회전측정값을 로봇이 실제로 회전한 최종회전이동값으로 환산하는 회전변환정보이고, 는 r시점부터 l시점까지의 IMU회전측정값이다.here, Is the final rotational movement value that the robot has rotated while moving between the first point and the second point, Is rotation conversion information for converting the IMU rotation measurement value into a final rotation movement value that the robot actually rotates, Is the measured IMU rotation from point r to point l .
여기서, 수학식 2와 수학식 4를 이용하여, 회전이동보정값()을 계산하면, 수학식 1과 동일한 결과를 얻을 수 있다.Here, using the equations (2) and (4), the rotation movement correction value ), The same result as in Equation (1) can be obtained.
또 다른 실시예에서는, 회전이동값 추정 장치가 적어도 하나의 평면특징점쌍 및 선택적으로 산출된 회전이동보정값 중 적어도 하나에 기초하여, 2개 지점 간의 최종회전이동값을 산출할 수 있다.In another embodiment, the rotational movement value estimating device may calculate a final rotational movement value between two points based on at least one of at least one of the pair of plane feature points and the selectively calculated rotational movement correction value.
예컨대, 수학식 2를 참고하면, 회전이동값 추정 장치가 산출된 회전이동보정값과 평면특징점쌍에 포함된 제1 지점평면 및 제2 지점평면의 법선벡터로부터 산출된 불확정회전이동값을 이용하여, 최종회전이동값을 산출할 수 있다.For example, referring to Equation (2), the rotational movement value estimating apparatus estimates the rotational motion of the object by using the calculated rotational motion compensation value and the uncertain rotational motion value calculated from the normal vectors of the first point plane and the second point plane included in the pair of plane feature points , The final rotational movement value can be calculated.
한편, 회전이동보정값이 산출되지 않은 경우는, 제1 지점평면과 제2 지점평면 간의 회전이동이 단일해를 갖는 경우일 것이므로, 회전이동값 추정 장치가 평면특징점쌍에 포함된 제1 지점평면 및 제2 지점평면의 법선벡터로부터 곧바로 최종회전이동값을 산출할 수 있다.On the other hand, in the case where the rotational movement correction value is not calculated, since the rotational movement between the first point plane and the second point plane will have a single solution, And the normal vector of the second point plane.
또 다른 실시예에서는, 회전이동값 추정 장치가 그 3차원 공간 상의 복수의 지점 각각에서 측정된 복수의 주변깊이값정보 및 그 복수의 지점 중 인접한 2개 지점 간의 최종회전이동값 및 평행이동값으로 구성되는 복수의 로봇이동정보에 기초하여, 3차원 공간의 지도를 생성할 수 있다. 이때, 그 2개 지점 간의 평행이동값은 선별된 평면특징점쌍 및 관성센서에 의해 측정된 IMU이동측정값에 기초하여 산출될 수 있다.In another embodiment, the rotational movement value estimating apparatus estimates a plurality of peripheral depth value information measured at each of a plurality of points on the three-dimensional space and a final rotational movement value and a parallel movement value between two adjacent points among the plurality of points A three-dimensional space map can be generated based on a plurality of robot movement information to be constructed. At this time, the translation value between the two points can be calculated based on the selected pair of plane feature points and the IMU movement measurement value measured by the inertial sensor.
예컨대, 미지의 3차원 공간(예, 건물의 내부)을 로봇이 이동하면서, 복수의 지점에서 주변깊이정보를 측정하였을 때, 회전이동값 추정 장치가 인접한 2개 지점씩의 복수의 로봇이동정보를 이용하여 그 2개 지점 간의 상대적인 위치를 순차적으로 결정할 수 있다. 그리고, 그 복수의 지점에 대하여 인접한 2개 지점 간의 상대적인 위치를 모두 결정하고 나면, 결국 회전이동값 추정 장치는 그 3차원 공간의 지도를 생성할 수 있다. 이때, 3차원 공간의 지도는 결국 로봇의 이동 궤적을 의미할 수 있다. 한편, 평면특징점쌍 및 IMU이동측정값에 기초하여 평행이동값을 산출하는 방법은 통상의 기술자에게 자명하므로, 산출 방법에 대한 설명은 생략한다.For example, when the robot is moving in an unknown three-dimensional space (e.g., inside of a building) and the surrounding depth information is measured at a plurality of points, the rotational movement value estimating apparatus estimates a plurality of robot movement information of two adjacent points So that the relative positions between the two points can be sequentially determined. Then, after all the relative positions between the two points adjacent to the plurality of points are determined, the rotational movement value estimating apparatus can finally generate the map of the three-dimensional space. At this time, the map of the three-dimensional space can eventually mean the movement trajectory of the robot. On the other hand, a method of calculating the parallel movement value based on the plane feature point pairs and the IMU movement measurement values will be obvious to those of ordinary skill in the art, and a description of the calculation method will be omitted.
도 6을 참조하면, 로봇이 (a) 2층 건물의 내부를 이동하는 경우, (b) 단일층 건물의 내부를 이동하는 경우, 회전이동값 추정 장치가 평면특징점쌍의 개수에 따라 다양한 경우(0-rank, 1-rank, 2-rank, 3-rank)에 대한 로봇의 이동 궤적으로부터 그 3차원 공간의 지도를 생성할 수 있는 것을 알 수 있다.6, when the robot moves in (a) inside a two-story building, (b) moves in a single-story building, when the rotational movement value estimating device varies according to the number of pairs of plane feature points It can be seen that the map of the three-dimensional space can be generated from the movement trajectory of the robot with respect to 0-rank, 1-rank, 2-rank, 3-rank.
또 다른 실시예에서는, 회전이동값 추정 장치가 다음과 같은 순서로 적어도 하나의 평면특징점쌍을 선별할 수 있다.In another embodiment, the rotational movement value estimating apparatus may select at least one plane feature point pair in the following order.
첫번째로, 회전이동값 추정 장치가 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면 각각에 대하여 평면특징점을 산출한다.First, the rotational movement value estimating device calculates plane feature points for each of at least one first point plane and at least one second point plane.
예컨대, 제1 지점평면이 3개, 제2 지점평면이 4개 검출된 경우, 회전이동값 추정 장치가 총 7개의 평면 모두에 대하여 법선벡터 및 로봇(거리센서)까지의 거리로 구성되는 평면특징점을 산출할 수 있다.For example, when three first and second point planes are detected, the rotational movement value estimating apparatus estimates a plane feature point having a normal vector and a distance to a robot (distance sensor) for all seven planes Can be calculated.
두번째로, 회전이동값 추정 장치가 평면특징점 각각에 포함된 법선벡터 정보 및 특이값분해(SVD)를 통해 산출된 특이값에 기초하여, 제1 지점평면 및 제2 지점평면 간에 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별한다.Secondly, based on the normal vector information included in each of the planar feature points and the singular value calculated through the singular value decomposition (SVD), the rotational movement value estimating apparatus calculates the position of the object to be matched between the first point plane and the second point plane At least one plane feature point pair is selected.
특이값분해(SVD)는 평면특징점 각각에 포함된 법선벡터를 이용하여 생성된 행렬을 특이값이 산출되는 특정한 구조로 분해하는 방식을 의미하며, 특이값은 그 행렬을 특이값분해하여 얻을 수 있는 값이다.The singular value decomposition (SVD) refers to a method of decomposing a matrix generated by using a normal vector included in each of planar feature points into a specific structure in which a singular value is calculated. The singular value is obtained by singular value decomposition of the matrix Value.
이때, 회전이동값 추정 장치가 평면특징점 각각에 포함된 법선벡터 정보 및 특이값분해를 통해 산출된 특이값을 이용하여, 상호 정합 대상인 평면특징점쌍을 선별하는 구체적인 과정에 대하여는 아래의 실시예에서 자세하게 후술한다.In this case, the specific process of selecting the pair of plane feature points to be mutually mapped using the normal vector information included in each of the plane feature points and the singular value calculated through the singular value decomposition will be described in detail in the following embodiments Will be described later.
또 다른 실시예에서는, 회전이동값 추정 장치가 다음과 같은 순서로 특이값분해를 수행할 수 있다.In another embodiment, the rotational movement value estimating apparatus may perform singular value decomposition in the following order.
첫번째로, 회전이동값 추정 장치가 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면 각각의 평면특징점에 포함된 법선벡터에 기초하여 공분산(covariance)의 의사역행렬(pseudoinverse)을 생성한다.First, the rotational motion estimation apparatus generates a pseudoinverse of covariance based on a normal vector included in the plane feature points of each of the at least one first point plane and the at least one second point plane.
공분산은 제1 지점평면 및 제2 지점평면의 사이에 정합의 대상이 되는 두 평면특징점의 법선벡터 간의 관계, 즉, 정합의 불확실성을 나타내는 수치이며, 의사역행렬은 공분산을 이용하여 생성된 행렬로 주로 비정사각행렬의 역행렬을 계산하기 위하여 생성된다. 여기서, 공분산은 제1 지점평면 및 제2 지점평면 각각의 평면특징점의 배치 양상을 분석하여, 유의미한 평면특징점쌍을 선별하기 위한 목적으로 이용될 수 있다.The covariance is a numerical value indicating the relationship between the normal vectors of the two plane feature points to be matched between the first point plane and the second point plane, that is, the uncertainty of the matching, and the pseudoinverse is a matrix generated using covariance Are generated to compute the inverse of the non-square matrix. Here, the covariance can be used for analyzing the layout pattern of the plane feature points of each of the first point plane and the second point plane to select a meaningful pair of plane feature points.
예컨대, 회전이동값 추정 장치가 평면특징점쌍 구성하는 두 평면특징점의 법선벡터 간의 공분산을 산출하고, 그 산출된 공분산을 이용하여 의사역행렬을 생성할 수 있다.두번째로, 회전이동값 추정 장치가 그 의사역행렬을 특이값분해(SVD)하여 산출된 복수의 특이값 간의 비율에 기초하여, 정합의 대상이 되는 평면특징점쌍을 선별한다.For example, the rotational movement value estimating apparatus can calculate the covariance between the normal vectors of the two plane feature points constituting the pair of plane feature points, and generate the pseudoinverse matrix using the calculated covariance. Second, A pair of plane feature points to be matched is selected based on a ratio between a plurality of singular values calculated by singular value decomposition (SVD) of a pseudo inverse matrix.
예컨대, 도 4를 참조하면, 회전이동값 추정 장치가 생성된 의사역행렬을 특이값분해할 수 있다. 그리고, 그에 따라 산출된 특이값(s1, s2, s3)간의 비율(s2/s1, s3/s1)이 미리 정해진 특이값 비율의 임계치(ρth)보다 큰지 여부에 따라, 법선벡터(v2, v3)의 정합 여부를 판단하여 평면특징점쌍을 선별할 수 있다.For example, referring to FIG. 4, the rotational motion estimation apparatus can perform singular value decomposition on the generated pseudoinverse matrix. Then, the singular values (s1, s2, s3) the ratio (s2 / s1, s3 / s1 ) is previously threshold value of the predetermined specific value ratio based on is greater than (ρ th), the normal vectors (v2, v3 between the calculated accordingly ) Are matched to select pairs of plane feature points.
만일, s2/s1은 임계치(ρth)보다 크고, s3/s1은 임계치(ρth)보다 작은 경우, 회전이동값 추정 장치가 v2와 동일 선상에 존재하는 법선벡터를 갖는 평면특징점쌍은 유효하고, v3와 동일 선상에 존재하는 법선벡터를 갖는 평면특징점쌍은 유효하지 않은 것으로 판단할 수 있다.Ten thousand and one, s2 / s1 is the threshold value (ρ th) greater than, s3 / s1 is the threshold value (ρ th) plane feature point pair having a normal vector which is smaller, the rotational movement estimation unit is present in the v2 and the same line than is valid, , it can be judged that the plane feature point pair having a normal vector which is on the same line as v3 is not valid.
이 경우는, 표 1을 참조하면, 정합되는 평면특징점쌍의 개수가 2개인 경우에 해당하며, 회전이동의 해는 유일하게 존재하고, 평행이동의 해는 무한해를 갖게 된다.In this case, referring to Table 1, it corresponds to the case where the number of pairs of plane feature points to be matched is two, the solution of the rotation movement exists uniquely, and the solution of the parallel movement has infinite solution.
이와 같이, 본 발명의 일 실시예에 따른 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 방법은, 로봇이 두 지점 간을 이동하면서 측정한 회전이동값이 불확정회전이동값인 경우, 로봇에 탑재된 관성센서에 의해 측정된 IMU회전측정값을 선택적으로 이용하여 보정함으로써, 보다 정확한 최종회전이동값을 추정할 수 있게 되는 효과가 있다.As described above, in the rotation movement value estimation method used for position estimation in the three-dimensional space according to the embodiment of the present invention, when the rotation movement value measured while the robot moves between two points is an indeterminate rotation movement value, It is possible to estimate a more accurate final rotational movement value by selectively correcting the IMU rotational measurement value measured by the inertial sensor mounted on the vehicle.
도 2는 본 발명의 일 실시예에 따른 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면을 검출하는 방법을 설명하기 위한 흐름도이다.2 is a flow chart illustrating a method of detecting at least one first point plane and at least one second point plane in accordance with an embodiment of the present invention.
단계 S210에서는, 회전이동값 추정 장치가 제1 지점 및 제2 지점 각각에서 거리센서를 이용하여 제1 주변깊이값정보 및 제2 주변깊이값정보를 측정한다.In step S210, the rotational movement value estimating device measures the first and second perimeter depth value information using a distance sensor at each of the first point and the second point.
예컨대, 회전이동값 추정 장치가 인접한 제1 지점 및 제2 지점 각각에서 깊이값을 측정할 수 있다. 이때, 제1 지점에서 측정한 깊이값은 제1 주변깊이값정보이고, 제2 지점에서 측정한 깊이값은 제2 주변깊이값정보일 수 있다.For example, the rotational movement value estimating apparatus can measure the depth value at each of the adjacent first and second points. In this case, the depth value measured at the first point may be the first surrounding depth value information, and the depth value measured at the second point may be the second surrounding depth value information.
단계 S220에서는, 회전이동값 추정 장치가 제1 주변깊이값정보 및 제2 주변깊이값정보 각각에 포함된 복수의 지점에 대한 제1 거리 정보 및 제2 거리 정보를 수집한다.In step S220, the rotational movement value estimation device collects first distance information and second distance information for a plurality of points included in the first and second neighboring depth value information, respectively.
예컨대, 회전이동값 추정 장치가 제1 주변깊이값정보에 포함된 복수의 지점에 대한 제1 거리 정보를 수집하고, 제2 주변깊이값정보에 포함된 복수의 지점에 대한 제2 거리 정보를 수집할 수 있다.For example, the rotational movement value estimating apparatus collects first distance information for a plurality of points included in the first surrounding depth value information, and collects second distance information for a plurality of points included in the second surrounding depth value information can do.
단계 S230에서는, 회전이동값 추정 장치가 수집된 제1 거리 정보에 기초하여 적어도 하나의 제1 지점평면을 검출하고, 수집된 제2 거리 정보에 기초하여 적어도 하나의 제2 지점평면을 검출한다.In step S230, the rotational movement value estimation device detects at least one first point plane based on the collected first distance information, and detects at least one second point plane based on the collected second distance information.
예컨대, 회전이동값 추정 장치가 복수의 지점에 대한 제1 거리 정보로부터, 동일한 평면 상에 놓여있는 지점들을 분류하여 적어도 하나의 제1 지점평면을 검출할 수 있다. 마찬가지로, 적어도 하나의 제2 지점평면도 검출할 수 있다.For example, the rotational movement value estimating apparatus can detect at least one first point plane by classifying points lying on the same plane from the first distance information for a plurality of points. Similarly, at least one second point plane can be detected.
이와 같이, 본 발명의 일 실시예에 따른 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면을 검출하는 방법은, 거리센서를 이용하여 깊이값을 측정한 결과로부터 적어도 하나의 평면을 검출할 수 있는 효과가 있다.Thus, a method of detecting at least one first point plane and at least one second point plane in accordance with an embodiment of the present invention includes detecting at least one plane from a result of measuring a depth value using a distance sensor There is an effect that can be done.
도 7은 본 발명의 일 실시예에 따른 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 장치을 설명하기 위한 도면이다. 7 is a view for explaining a rotation movement value estimating apparatus used for position estimation in a three-dimensional space according to an embodiment of the present invention.
도 7을 참조하면, 본 발명의 일 실시예에 따른 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 장치(700)는 검출부(710), 선별부(720) 및 산출부(730)를 포함한다. 또한, 선택적으로 지도생성부(미도시)를 더 포함할 수 있다. 7, a rotation movement
이때, 회전이동값 추정 장치(700)는 로봇이 3차원 공간 상의 제1 지점에서 제2 지점으로 이동할 때, 그 2개 지점 간의 위치 추정에 이용될 수 있다.At this time, the rotational
검출부(710)는 그 2개 지점 각각에서 거리센서를 이용하여 깊이값을 측정한 결과인 주변깊이값정보에 기초하여, 제1 지점 및 제2 지점 각각에서 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면을 검출한다.The detection unit 710 detects at least one first point plane at each of the first point and the second point and at least one first point plane at each of the first point and the second point based on the depth value information, As shown in FIG.
선별부(720)는 평면과 거리센서간의 거리 및 그 평면의 법선벡터 정보로 구성되는 평면특징점을 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면 각각으로부터 추출하여 상호 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별한다.The selecting
다른 실시예에서는, 선별부(720)는 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면 각각에 대하여 평면특징점을 산출하고, 그 평면특징점 각각에 포함된 법선벡터 정보 및 특이값분해를 통해 산출된 특이값에 기초하여, 제1 지점평면 및 제2 지점평면 간에 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별할 수 있다.In another embodiment, the
또 다른 실시예에서는, 선별부(720)는 제1 지점평면 및 제2 지점평면 간에 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별할 때, 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면 각각의 평면특징점에 포함된 법선벡터에 기초하여 공분산의 의사역행렬을 생성하고, 그 의사역행렬을 특이값분해하여 산출된 복수의 특이값 간의 비율에 기초하여, 정합이 가능한 평면특징점쌍을 선별할 수 있다.In yet another embodiment, the
산출부(730)는 선별된 적어도 하나의 평면특징점쌍의 개수에 따라, 선택적으로 관성센서에 의해 측정된 IMU회전측정값를 이용하여 그 2개 지점 간의 불확정회전이동값을 보정하는 회전이동보정값을 산출한다.The calculating
마지막으로 지도생성부(미도시)는 복수의 로봇이동정보에 기초하여, 3차원 공간의 지도를 생성한다. 이때, 산출부(730)가 3차원 공간 상의 복수의 지점 각각에서 측정된 복수의 주변깊이값정보에 기초하여, 그 복수의 지점 중 인접한 2개 지점 간의 최종회전이동값 및 평행이동값으로 구성되는 복수의 로봇이동정보를 생성할 수 있다. 한편, 2개 지점 간의 평행이동값은 선별된 평면특징점쌍 및 관성센서에 의해 측정된 IMU이동측정값에 기초하여 산출될 수 있다.Finally, the map generation unit (not shown) generates a map of the three-dimensional space based on the plurality of robot movement information. At this time, the
다른 실시예에서는, 산출부(730)는 평면특징점쌍의 개수가 2개 이상이면, 회전이동보정값을 산출하지 않고, 평면특징점쌍의 개수가 1개이면, 2개 지점 간의 불확정회전이동값, 평면특징점쌍에 포함된 법선벡터 및 IMU회전측정값에 기초하여 회전이동보정값을 산출할 수 있다.In another embodiment, the calculating
또 다른 실시예에서는, 회전이동보정값은 수학식 5를 이용하여 산출될 수 있다.In another embodiment, the rotational motion correction value may be calculated using Equation (5).
[수학식 5]&Quot; (5) "
여기서, 는 회전이동보정값이고, r은 제1 지점에 대응되는 시점이고, l은 제2 지점에 대응되는 시점이고, 는 IMU회전측정값을 로봇이 실제로 회전한 최종회전이동값으로 환산하는 회전 정보이고, 는 쿼터니언 곱이고, 는 r시점부터 l시점까지의 IMU회전측정값이고, 는 r시점부터 l시점까지의 불확정회전이동값의 역회전 정보이다.here, R is the time corresponding to the first point, l is the time corresponding to the second point, Is rotation information that converts the IMU rotation measurement value into a final rotation movement value that the robot actually rotates, Is a quaternion product, Is an IMU rotation measurement value from point r to point l , Is the inverse rotation information of the uncertain rotational motion value from the r point to the l point of time.
또 다른 실시예에서는, 산출부(730)는 적어도 하나의 평면특징점쌍 및 선택적으로 산출된 회전이동보정값 중 적어도 하나에 기초하여, 그 2개 지점 간의 최종회전이동값을 더 산출할 수 있다. In yet another embodiment, the
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.The above-described embodiments of the present invention can be embodied in a general-purpose digital computer that can be embodied as a program that can be executed by a computer and operates the program using a computer-readable recording medium.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.The computer readable recording medium includes a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD ROM, DVD, etc.).
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
Claims (15)
상기 2개 지점 각각에서 거리센서를 이용하여 깊이값을 측정한 결과인 주변깊이값정보에 기초하여, 상기 제1 지점 및 상기 제2 지점 각각에서 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면을 검출하는 단계;
평면과 상기 거리센서간의 거리 및 상기 평면의 법선벡터 정보로 구성되는 평면특징점을 상기 적어도 하나의 제1 지점평면 및 상기 적어도 하나의 제2 지점평면 각각으로부터 추출하여 상호 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별하는 단계; 및
상기 선별된 적어도 하나의 평면특징점쌍의 개수에 따라, 선택적으로 관성센서(IMU)에 의해 측정된 IMU회전측정값를 이용하여 상기 2개 지점 간의 불확정회전이동값을 보정하는 회전이동보정값을 산출하는 단계
를 포함하는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 방법.A method for estimating a rotational movement value used for position estimation between two points when a robot moves from a first point to a second point on a three-dimensional space,
At least one first point plane at each of the first point and the second point and at least one second point plane at each of the first point and the second point based on the depth value information, Detecting a point plane;
A plane feature point comprising a distance between the plane and the distance sensor and normal vector information of the plane is extracted from each of the at least one first point plane and the at least one second point plane to form at least one Selecting plane feature point pairs; And
Calculating a rotation movement correction value for correcting the indefinite rotation movement value between the two points using the IMU rotation measurement value selectively measured by the inertial sensor (IMU) according to the number of the selected at least one plane feature point pair step
And estimating a rotational movement value used for position estimation in a three-dimensional space.
상기 불확정회전이동값을 보정하는 회전이동보정값을 산출하는 단계는
상기 평면특징점쌍의 개수가 2개 이상이면, 상기 회전이동보정값을 산출하지 않고,
상기 평면특징점쌍의 개수가 1개이면, 상기 2개 지점 간의 불확정회전이동값, 상기 평면특징점쌍에 포함된 법선벡터 및 상기 IMU회전측정값에 기초하여 상기 회전이동보정값을 산출하는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 방법.The method according to claim 1,
The step of calculating the rotation movement correction value for correcting the uncertain rotational movement value
When the number of pairs of planar feature points is two or more, the rotation movement correction value is not calculated,
And calculating the rotation movement correction value based on the uncertain rotational movement value between the two points, the normal vector included in the pair of plane feature points, and the IMU rotation measurement value, when the number of the pair of plane feature points is one And estimating a rotational movement value used for position estimation in a three-dimensional space.
상기 회전이동보정값은 수학식 1을 이용하여 산출되는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 방법.
[수학식 1]
여기서, 는 상기 회전이동보정값이고, r은 상기 제1 지점에 대응되는 시점이고, l은 상기 제2 지점에 대응되는 시점이고, 는 상기 IMU회전측정값을 상기 로봇이 실제로 회전한 최종회전이동값으로 환산하는 회전 정보이고, 는 쿼터니언 곱이고, 는 상기 r시점부터 상기 l시점까지의 IMU회전측정값이고, 는 상기 r시점부터 상기 l시점까지의 불확정회전이동값의 역회전 정보이다.3. The method of claim 2,
Wherein the rotation movement correction value is calculated using Equation (1).
[Equation 1]
here, Is a rotation movement correction value, r is a time point corresponding to the first point, l is a time point corresponding to the second point, Is rotation information for converting the IMU rotation measurement value into a final rotation movement value that the robot actually rotates, Is a quaternion product, Is an IMU rotation measurement value from the r point to the l point, Is the inverse rotation information of the uncertain rotational movement value from the r point to the l point of time.
상기 적어도 하나의 평면특징점쌍 및 상기 선택적으로 산출된 회전이동보정값 중 적어도 하나에 기초하여, 상기 2개 지점 간의 최종회전이동값을 산출하는 단계;
를 더 포함하는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 방법.The method according to claim 1,
Calculating a final rotational motion value between the two points based on at least one of the at least one planar feature point pair and the selectively calculated rotational motion correction value;
And estimating a rotational movement value for use in position estimation in a three-dimensional space.
상기 3차원 공간 상의 복수의 지점 각각에서 측정된 복수의 주변깊이값정보 및 상기 복수의 지점 중 인접한 2개 지점 간의 최종회전이동값 및 평행이동값으로 구성되는 복수의 로봇이동정보에 기초하여, 상기 3차원 공간의 지도를 생성하는 단계
를 더 포함하고,
상기 2개 지점 간의 평행이동값은
상기 선별된 평면특징점쌍 및 상기 관성센서에 의해 측정된 IMU이동측정값에 기초하여 산출되는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 방법.5. The method of claim 4,
Based on a plurality of neighboring depth value information measured at each of a plurality of points on the three-dimensional space and a plurality of robot movement information composed of a final rotation movement value and a parallel movement value between two adjacent points among the plurality of points, Steps for generating a map of a three-dimensional space
Further comprising:
The translation value between the two points is
Wherein the motion estimation value is calculated based on the selected pair of plane feature points and the IMU movement measurement value measured by the inertial sensor.
상기 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면을 검출하는 단계는
상기 제1 지점 및 상기 제2 지점 각각에서 상기 거리센서를 이용하여 제1 주변깊이값정보 및 제2 주변깊이값정보를 측정하는 단계;
상기 제1 주변깊이값정보 및 상기 제2 주변깊이값정보 각각에 포함된 복수의 지점에 대한 제1 거리 정보 및 제2 거리 정보를 수집하는 단계; 및
상기 제1 거리 정보에 기초하여 상기 적어도 하나의 제1 지점평면을 검출하고, 상기 제2 거리 정보에 기초하여 상기 적어도 하나의 제2 지점평면을 검출하는 단계
를 포함하는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 방법.The method according to claim 1,
Wherein detecting the at least one first point plane and the at least one second point plane
Measuring first peripheral depth value information and second peripheral depth value information using the distance sensor at each of the first point and the second point;
Collecting first distance information and second distance information for a plurality of points included in each of the first peripheral depth value information and the second peripheral depth value information; And
Detecting the at least one first point plane based on the first distance information and detecting the at least one second point plane based on the second distance information
And estimating a rotational movement value used for position estimation in a three-dimensional space.
상기 적어도 하나의 평면특징점쌍을 선별하는 단계는
상기 적어도 하나의 제1 지점평면 및 상기 적어도 하나의 제2 지점평면 각각에 대하여 상기 평면특징점을 산출하는 단계; 및
상기 평면특징점 각각에 포함된 상기 법선벡터 정보 및 특이값분해(SVD)를 통해 산출된 특이값에 기초하여, 상기 제1 지점평면 및 상기 제2 지점평면 간에 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별하는 단계;
를 포함하는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 방법.The method according to claim 1,
The step of selecting the at least one planar feature point pair
Calculating the planar feature points for each of the at least one first point plane and the at least one second point plane; And
Based on the normal vector information included in each of the plane feature points and the singular value calculated through the singular value decomposition (SVD), at least one plane feature point to be an object of matching between the first point plane and the second point plane Selecting a pair;
And estimating a rotational movement value used for position estimation in a three-dimensional space.
상기 제1 지점평면 및 상기 제2 지점평면 간에 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별하는 단계는
상기 적어도 하나의 제1 지점평면 및 상기 적어도 하나의 제2 지점평면 각각의 평면특징점에 포함된 법선벡터에 기초하여 공분산(covariance)의 의사역행렬(pseudoinverse)을 생성하는 단계; 및
상기 의사역행렬을 특이값분해(SVD)하여 산출된 복수의 특이값 간의 비율에 기초하여, 정합의 대상이 되는 평면특징점쌍을 선별하는 단계
를 포함하는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 방법.8. The method of claim 7,
Wherein the step of selecting at least one plane feature point pair to be matched between the first point plane and the second point plane
Generating a pseudoinverse of a covariance based on a normal vector included in the plane feature points of each of the at least one first point plane and the at least one second point plane; And
Selecting a pair of plane feature points to be matched based on a ratio between a plurality of singular values calculated by performing singular value decomposition (SVD) on the pseudo inverse matrix;
And estimating a rotational movement value used for position estimation in a three-dimensional space.
상기 2개 지점 각각에서 거리센서를 이용하여 깊이값을 측정한 결과인 주변깊이값정보에 기초하여, 상기 제1 지점 및 상기 제2 지점 각각에서 적어도 하나의 제1 지점평면 및 적어도 하나의 제2 지점평면을 검출하는 검출부;
평면과 상기 거리센서간의 거리 및 상기 평면의 법선벡터 정보로 구성되는 평면특징점을 상기 적어도 하나의 제1 지점평면 및 상기 적어도 하나의 제2 지점평면 각각으로부터 추출하여 상호 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별하는 선별부; 및
상기 선별된 적어도 하나의 평면특징점쌍의 개수에 따라, 선택적으로 관성센서에 의해 측정된 IMU회전측정값를 이용하여 상기 2개 지점 간의 불확정회전이동값을 보정하는 회전이동보정값을 산출하는 산출부
를 포함하는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 장치.An apparatus for estimating a rotational movement value used for position estimation between two points when a robot moves from a first point to a second point on a three-dimensional space,
At least one first point plane at each of the first point and the second point and at least one second point plane at each of the first point and the second point based on the depth value information, A detector for detecting a point plane;
A plane feature point comprising a distance between the plane and the distance sensor and normal vector information of the plane is extracted from each of the at least one first point plane and the at least one second point plane to form at least one A selector for selecting pairs of plane feature points; And
Calculating a rotation movement correction value for correcting an uncertain rotational movement value between the two points by using the IMU rotation measurement value selectively measured by the inertia sensor according to the number of selected at least one plane feature point pairs;
Dimensional space, and the rotation movement value estimating unit is used to estimate the position in the three-dimensional space.
상기 산출부는
상기 평면특징점쌍의 개수가 2개 이상이면, 상기 회전이동보정값을 산출하지 않고,
상기 평면특징점쌍의 개수가 1개이면, 상기 2개 지점 간의 불확정회전이동값, 상기 평면특징점쌍에 포함된 법선벡터 및 상기 IMU회전측정값에 기초하여 상기 회전이동보정값을 산출하는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 장치.10. The method of claim 9,
The calculating unit
When the number of pairs of planar feature points is two or more, the rotation movement correction value is not calculated,
And calculating the rotation movement correction value based on the uncertain rotational movement value between the two points, the normal vector included in the pair of plane feature points, and the IMU rotation measurement value, when the number of the pair of plane feature points is one Dimensional space, which is used for estimating a position in a three-dimensional space.
상기 회전이동보정값은 수학식 1을 이용하여 산출되는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 장치.
[수학식 1]
여기서, 는 상기 회전이동보정값이고, r은 상기 제1 지점에 대응되는 시점이고, l은 상기 제2 지점에 대응되는 시점이고, 는 상기 IMU회전측정값을 상기 로봇이 실제로 회전한 최종회전이동값으로 환산하는 회전 정보이고, 는 쿼터니언 곱이고, 는 상기 r시점부터 상기 l시점까지의 IMU회전측정값이고, 는 상기 r시점부터 상기 l시점까지의 불확정회전이동값의 역회전 정보이다.11. The method of claim 10,
Wherein the rotation movement correction value is calculated using Equation (1).
[Equation 1]
here, Is a rotation movement correction value, r is a time point corresponding to the first point, l is a time point corresponding to the second point, Is rotation information for converting the IMU rotation measurement value into a final rotation movement value that the robot actually rotates, Is a quaternion product, Is an IMU rotation measurement value from the r point to the l point, Is the inverse rotation information of the uncertain rotational movement value from the r point to the l point of time.
상기 산출부는
상기 적어도 하나의 평면특징점쌍 및 상기 선택적으로 산출된 회전이동보정값 중 적어도 하나에 기초하여, 상기 2개 지점 간의 최종회전이동값을 더 산출하는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 장치.The method according to claim 1,
The calculating unit
Wherein the final rotation movement value between the two points is further calculated based on at least one of the at least one plane feature point pair and the selectively calculated rotation movement correction value. The rotational movement value estimating apparatus comprising:
상기 산출부가 상기 3차원 공간 상의 복수의 지점 각각에서 측정된 복수의 주변깊이값정보에 기초하여, 상기 복수의 지점 중 인접한 2개 지점 간의 최종회전이동값 및 평행이동값으로 구성되는 복수의 로봇이동정보를 더 산출할 때,
상기 복수의 로봇이동정보에 기초하여, 상기 3차원 공간의 지도를 생성하는 지도생성부
를 더 포함하고,
상기 2개 지점 간의 평행이동값은
상기 선별된 평면특징점쌍 및 상기 관성센서에 의해 측정된 IMU이동측정값에 기초하여 산출되는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 장치.13. The method of claim 12,
Wherein the calculation unit calculates a plurality of neighboring depth values based on a plurality of neighboring depth value information measured at each of a plurality of points on the three-dimensional space, When calculating more information,
A map generating unit for generating a map of the three-dimensional space based on the plurality of robot movement information,
Further comprising:
The translation value between the two points is
Wherein the motion estimation value is calculated on the basis of the selected pair of plane feature points and the IMU movement measurement value measured by the inertial sensor.
상기 선별부는
상기 적어도 하나의 제1 지점평면 및 상기 적어도 하나의 제2 지점평면 각각에 대하여 상기 평면특징점을 산출하고,
상기 평면특징점 각각에 포함된 상기 법선벡터 정보 및 특이값분해를 통해 산출된 특이값에 기초하여, 상기 제1 지점평면 및 상기 제2 지점평면 간에 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별하는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 장치.10. The method of claim 9,
The selector
Calculating the plane feature points for each of the at least one first point plane and the at least one second point plane,
Selecting at least one pair of plane feature points to be matched between the first point plane and the second point plane based on the normal vector information included in each of the plane feature points and the singular value calculated through singular value decomposition Dimensional space in a three-dimensional space.
상기 선별부는
상기 제1 지점평면 및 상기 제2 지점평면 간에 정합의 대상이 되는 적어도 하나의 평면특징점쌍을 선별할 때,
상기 적어도 하나의 제1 지점평면 및 상기 적어도 하나의 제2 지점평면 각각의 평면특징점에 포함된 법선벡터에 기초하여 공분산의 의사역행렬을 생성하고,
상기 의사역행렬을 특이값분해하여 산출된 복수의 특이값 간의 비율에 기초하여, 정합의 대상이 되는 평면특징점쌍을 선별하는 것을 특징으로 하는 3차원 공간에서의 위치 추정에 이용되는 회전이동값 추정 장치.
14. The method of claim 13,
The selector
When selecting at least one plane feature point pair to be matched between the first point plane and the second point plane,
Generating a pseudoinverse of a covariance based on a normal vector included in the plane feature points of each of the at least one first point plane and the at least one second point plane,
And a pair of plane feature points to be matched is selected based on a ratio between a plurality of singular values calculated by singular value decomposition of the pseudoinverse matrix. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160100689A KR101855870B1 (en) | 2016-08-08 | 2016-08-08 | Method and apparatus for estimation of rotation in 3 dimensional space |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160100689A KR101855870B1 (en) | 2016-08-08 | 2016-08-08 | Method and apparatus for estimation of rotation in 3 dimensional space |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180016834A true KR20180016834A (en) | 2018-02-20 |
KR101855870B1 KR101855870B1 (en) | 2018-05-10 |
Family
ID=61394708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160100689A KR101855870B1 (en) | 2016-08-08 | 2016-08-08 | Method and apparatus for estimation of rotation in 3 dimensional space |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101855870B1 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101072876B1 (en) | 2009-03-18 | 2011-10-17 | 연세대학교 산학협력단 | Method and apparatus for estimating position in a mobile robot |
KR101391525B1 (en) | 2012-07-19 | 2014-05-07 | 고려대학교 산학협력단 | Method for building the map of a mobile robot and recognizing the position of the mobile robot |
-
2016
- 2016-08-08 KR KR1020160100689A patent/KR101855870B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR101855870B1 (en) | 2018-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111156998B (en) | Mobile robot positioning method based on RGB-D camera and IMU information fusion | |
Yang et al. | Observability analysis of aided ins with heterogeneous features of points, lines, and planes | |
US9659378B2 (en) | Point cloud position data processing device, point cloud position data processing system, point cloud position data processing method, and program therefor | |
Zhang et al. | A lightweight and accurate localization algorithm using multiple inertial measurement units | |
EP2909810B1 (en) | Sensor calibration and position estimation based on vanishing point determination | |
US7627447B2 (en) | Method and apparatus for localizing and mapping the position of a set of points on a digital model | |
CN109141433A (en) | A kind of robot indoor locating system and localization method | |
Kneip et al. | Closed-form solution for absolute scale velocity determination combining inertial measurements and a single feature correspondence | |
CN112815939B (en) | Pose estimation method of mobile robot and computer readable storage medium | |
CN103020952A (en) | Information processing apparatus and information processing method | |
KR102075844B1 (en) | Localization system merging results of multi-modal sensor based positioning and method thereof | |
EP3227634B1 (en) | Method and system for estimating relative angle between headings | |
JP2010066595A (en) | Environment map generating device and environment map generating method | |
KR20120058802A (en) | Apparatus and method for calibrating 3D Position in 3D position/orientation tracking system | |
JP5267100B2 (en) | Motion estimation apparatus and program | |
CN101960322A (en) | Method of object tracking in 3D space based on particle filter using acoustic sensoes | |
Irmisch et al. | Simulation framework for a visual-inertial navigation system | |
Qian et al. | Optical flow based step length estimation for indoor pedestrian navigation on a smartphone | |
CN105741260A (en) | Action positioning device and positioning method thereof | |
KR101855870B1 (en) | Method and apparatus for estimation of rotation in 3 dimensional space | |
Qian et al. | Optical flow-based gait modeling algorithm for pedestrian navigation using smartphone sensors | |
JP5230354B2 (en) | POSITIONING DEVICE AND CHANGED BUILDING DETECTION DEVICE | |
CN114485613A (en) | Multi-information fusion underwater robot positioning method | |
Mehami et al. | Observability driven multi-modal line-scan camera calibration | |
Grießbach et al. | Real-time dense stereo mapping for multi-sensor navigation |
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 |