KR101140379B1 - Method and apparatus for estimating orientation by using lie algebra and kalman filter - Google Patents
Method and apparatus for estimating orientation by using lie algebra and kalman filter Download PDFInfo
- Publication number
- KR101140379B1 KR101140379B1 KR1020090117306A KR20090117306A KR101140379B1 KR 101140379 B1 KR101140379 B1 KR 101140379B1 KR 1020090117306 A KR1020090117306 A KR 1020090117306A KR 20090117306 A KR20090117306 A KR 20090117306A KR 101140379 B1 KR101140379 B1 KR 101140379B1
- Authority
- KR
- South Korea
- Prior art keywords
- value
- matrix
- rotation
- rotation error
- error matrix
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/08—Control of attitude, i.e. control of roll, pitch, or yaw
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Navigation (AREA)
Abstract
본 발명의 일 측면에 따르면, 리 대수 및 칼만 필터를 이용한 자세 추정 방법 및 장치가 제공된다.According to an aspect of the present invention, a method and apparatus for attitude estimation using a logarithmic and Kalman filter are provided.
관성 측정 장치, 자세 추정, 지수 사상, 리 대수, 칼만 필터 Inertial Measurement Unit, Attitude Estimation, Exponential Mapping, Li Algebra, Kalman Filter
Description
본 발명은 물체의 자세(orientation) 추정 기술에 관한 것으로, 특히 리 대수(Lie algebra)를 칼만 필터(Kalman filter)에 적용하여 물체의 자세를 추정하는 기술에 관한 것이다.The present invention relates to a technique for estimating the orientation of an object, and more particularly, to a technique for estimating the pose of an object by applying a Li algebra to a Kalman filter.
자세 추정(orientation estimation)은 비행 항법 장치, 잠수함 제어 및 안정화 장치, 증강 또는 혼합 현실 제공 장치, 로봇 제어 장치 등 다양한 기술 분야에 널리 적용되며, 이를 위한 다양한 방법이 현재 제공되고 있다. 이러한 방법들로 오일러 각도(Euler angle)를 사용하는 방법, 단위 사원수(unit quaternion)를 칼만 필터(Kalman filter)와 함께 사용하는 방법 등이 있다. 그러나 오일러 각도를 사용하는 방법은 특이점(singularity)으로 인하여 강건한 자세 추정이 불가능한 경우가 종종 발생하고, 단위 사원수를 칼만 필터와 함께 사용하는 방법은 단위 사원수를 재정규화(renormalization)해야 하는 등, 종래 방법들은 여러 문제점을 지니고 있다.Orientation estimation is widely applied to various technical fields such as flight navigation apparatus, submarine control and stabilization apparatus, augmented or mixed reality providing apparatus, and robot control apparatus, and various methods for this are currently provided. These methods include the use of Euler angles and the use of unit quaternions with the Kalman filter. However, the use of Euler angles often makes robust pose estimation impossible due to singularity, and the use of unit employee numbers with the Kalman filter requires renormalization of the unit employee. Conventional methods have several problems.
본 발명은 상기 문제점을 해결하기 위한 것으로, 리 대수를 칼만 필터에 적용하여 주변 자기장 변화와 같은 외란 뿐만 아니라 물체의 움직임이 큰 경우에도 자세를 강건하게 추정할 수 있도록 하는 물체의 자세 추정 방법 및 장치를 제공하는 것을 그 목적으로 가진다. The present invention is to solve the above problems, by applying a logarithmic number to the Kalman filter, a method and apparatus for estimating the attitude of the object so that it is possible to robustly estimate the posture even when the movement of the object is large, as well as disturbances such as changes in the surrounding magnetic field To provide for that purpose.
본 발명의 일 측면에 따르면, 가속도 센서, 자기장 센서 및 자이로 센서를 포함하는 관성 측정 장치를 이용하여 물체의 자세를 추정하는 방법이 제공된다. 관성 측정 장치는 물체에 부착되고, 상기 방법은, 자이로 센서에서 제공되는 각속도 값에 기초하여 물체의 자세를 나타내는 물체의 회전 행렬을 예측(predict)하는 단계, 가속도 센서 및 자기장 센서에서 각각 제공되는 중력 값 및 자기장 값으로부터 예측된 회전 행렬의 예측 오차를 나타내는 회전 에러 행렬을 생성하는 단계, 회전 에러 행렬의 리 대수(Lie algebra) 값을 생성하는 단계 및 회전 에러 행렬의 리 대수 값에 기초하여 칼만 필터 알고리즘에 따라 예측된 회전 행렬을 교정(correct)하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method for estimating the pose of an object using an inertial measurement device including an acceleration sensor, a magnetic field sensor, and a gyro sensor. An inertial measurement device is attached to the object, the method comprising predicting a rotation matrix of the object representing the pose of the object based on the angular velocity value provided by the gyro sensor, the gravity provided by the acceleration sensor and the magnetic field sensor respectively. Generating a rotation error matrix representing a predicted error of the predicted rotation matrix from the values and magnetic field values, generating a Li algebra value of the rotation error matrix, and a Kalman filter based on the Li algebraic value of the rotation error matrix Correcting the predicted rotation matrix according to the algorithm.
상기와 같은 본 발명에 따르면, 물체의 자세를 강건하게 추정할 수 있도록 하는 방법 및 장치를 제공할 수 있다.According to the present invention as described above, it is possible to provide a method and apparatus for robustly estimating the pose of an object.
이하, 본 명세서의 일부를 이루는 첨부 도면이 참조된다. 도면에 있어서, 유사한 부호들은 문맥상 달리 해석되지 않는 이상 유사한 구성을 나타낸다. 상세한 설명, 도면 및 청구항에 서술된 예시적인 실시예들은 제한적인 의도로 사용된 것이 아니다. 본 명세서에 나타난 대상의 사상 또는 범위에 벗어나지 않으면서, 다른 실시예들이 사용될 수 있으며, 다른 변경이 이루어질 수 있다. 본 명세서에 일반적으로 설명되고, 도면에 예시된 본 개시의 구성들은 다른 다양한 구성들로 배치되거나, 대체되거나 결합될 수 있음이 용이하게 이해될 것이며, 그 모든 것들은 명백하게 고려되고, 본 명세서의 일부를 구성한다.Reference is now made to the accompanying drawings, which form a part of this specification. In the drawings, like numerals refer to similar constructions unless the context clearly indicates otherwise. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. It will be readily understood that the configurations of the present disclosure generally described herein and illustrated in the drawings may be arranged, replaced, or combined in various other configurations, all of which are expressly contemplated, and part of this specification Configure.
본 발명의 일 실시예에 따른 관성 측정 장치는 물체에 부착(예를 들어, 항공기에 설치되거나, 무인 항공기, 무인 자동차, 혹은 카메라에 부착)되어 물체의 자세와 관련된 각종 측정값들을 제공하고, 회전 행렬을 생성하기 위한 컴퓨팅 장치(예를 들어, 관성 센서와 같은 회전 행렬 생성 장치)는 이들 측정값들에 기초하여 물체의 자세를 나타내는 회전 행렬을 생성할 수 있다. 관성 측정 장치와 컴퓨팅 장치는 하나의 케이스 내에 하나의 장치로 구현되거나, 아니면 서로 독립적인 장치로서 유, 무선 연결수단을 통하여 연결되도록 구성될 수 있다. An inertial measurement apparatus according to an embodiment of the present invention is attached to an object (eg, installed in an aircraft, attached to an unmanned aerial vehicle, an unmanned vehicle, or a camera) to provide various measurement values related to the attitude of the object, and to rotate the object. A computing device for generating a matrix (eg, a rotation matrix generating device such as an inertial sensor) may generate a rotation matrix representing the pose of the object based on these measurements. The inertial measurement device and the computing device may be implemented as one device in one case or may be configured to be connected via wired or wireless connection as independent devices.
도 1은 본 발명의 일 실시예에 따른 자세 추정 장치의 블록도이다. 도 1을 참조하면, 자세 추정 장치(100)는 임의의 물체(예를 들어, 항공기)에 부착되어 해당 물체의 자세(orientation)을 추정하는 장치로서, 다양한 종류의 측정값을 제공하는 관성 측정부(110)와 위 측정값들에 기초하여 물체의 자세를 나타내는 회전 행렬을 생성하는 회전 행렬 생성부(120)를 포함할 수 있다. 1 is a block diagram of an attitude estimation apparatus according to an embodiment of the present invention. Referring to FIG. 1, the
도 2는 본 발명의 일 실시예에 따른 물체의 회전 행렬을 설명하기 위한 개념도이다. 도 2를 참조하면, 회전 행렬은 임의의 기준 좌표계(reference frame) 또는 항법 좌표계(nagivation frame) {N}(201)에 대한 물체(200)의 물체 좌표계(body fixed frame) {B}(202)의 상대적인 자세를 나타내는 데이터로서, 물체의 회전행렬을 구하면 항법 좌표계에 대한 해당 물체의 상대적인 자세를 알 수 있다. 이러한 회전 행렬들의 집합은 행렬 리 군(matrix Lie group)의 하위 군(sub-group)인 특수 직교 군(special orthogonal group: SO)를 형성한다. 회전 행렬이 도 2에 도시된 바와 같이 3개의 축으로 이루어진 3차원 좌표계에 대한 회전 행렬인 경우에는 이러한 회전행렬들의 집합은 아래와 같이 정의되는 3차원 특수 직교 군 SO(3)일 수 있다.2 is a conceptual diagram illustrating a rotation matrix of an object according to an embodiment of the present invention. Referring to FIG. 2, the rotation matrix is a body fixed frame {B} 202 of the
여기서, R은 회전행렬, I는 단위행렬, 그리고 det R은 회전행렬의 행렬식을 나타낸다. Where R is the rotation matrix, I is the unit matrix, and det R is the determinant of the rotation matrix.
도 1을 다시 참조하면, 관성 측정부(110)는 자이로 센서(111), 가속도 센서(112) 및 자기장 센서(113)(또는 컴파스 센서)를 포함할 수 있다. 자이로 센서(111)(예를 들어, 3축 자이로 센서)는 물체의 각속도를 측정하는 센서로서, 물체의 각속도 값에 소정의 바이어스 값이 더해진 값을 그 측정값으로 제공할 수 있다. 가속도 센서(112)(예를 들어, 3축 가속도 센서)는 물체의 선형 가속도를 측정하기 위한 센서로서, 물체에 가해지는 중력 값과 순수한 물체 가속도 값을 더한 값을 그 측정값으로 제공할 수 있다. 자기장 센서(113)(예를 들어, 3축 자기장 센서)는 물 체에 가해지는 지구자기장을 측정하기 위한 센서로서, 물체에 가해지는 지구 자기장 값에 다른 주변의 자기장에 의한 외란 값들이 더해진 값을 그 측정값으로 제공할 수 있다.Referring back to FIG. 1, the
회전 행렬 생성부(120)는 자이로 센서(111)에서 제공되는 측정값 중 각속도 값을 추출하고, 추출된 각속도 값에 기초하여 물체의 회전 행렬을 예측하고, 가속도 센서(112) 및 자기장 센서(113)에서 제공하는 측정값들 중 중력 값 및 자기장 값에 기초하여 예측된 회전 행렬을 교정할 수 있다. 물체의 각속도는 물체가 회전하는 속도를 나타내는 것으로서 측정된 각속도 값들을 적분하면 물체의 자세를 구할 수 있고, 측정된 각속도 값들에 비추어 보아 물체의 향후 자세 또는 회전 행렬을 예측할 수 있으나, 다양한 요인들로 인하여 위와 같은 예측은 부정확할 수 있다. 따라서, 위와 같은 예측이 이루어진 이후 제공되는 측정값들 중 중력 값 및 자기장 값에 기초하여 예측된 회전 행렬을 교정할 수 있다.The
일 실시예에 있어서, 회전 행렬 생성부(120)는 교정 동작을 위해서, 중력 값 및 자기장 값에 기초하여 예측된 회전 행렬의 예측 오차를 나타내는 회전 에러 행렬을 구하고, 회전 에러 행렬에 기초하여 예측된 회전 행렬을 교정하는 동작을 수행할 수 있다. 일 실시예에 있어서, 회전 행렬 생성부(120)는 예측된 회전 행렬을 교정하는 동작을 회전 에러 행렬의 리 대수 값과 이를 매개화하는 벡터 값에 기초하여 칼만 필터 알고리즘에 따라 수행할 수 있다. 예를 들어, 회전 행렬 생성부(120)는 (a) 리 군(특수 직교 군)의 원소인 회전 에러 행렬의 리 대수 값을 생성하고, (b) 회전 에러 행렬의 리 대수 값을 매개화하는 벡터 값을 생성하고, (c) 벡 터 값을 칼만 필터 알고리즘의 상태(state)로 설정하고 칼만 필터 알고리즘을 수행하여 교정된 벡터 값을 구하고, (d) 교정된 벡터 값에 대응되는, 교정된 회전 에러 행렬을 구하고, (e) 교정된 회전 에러 행렬에 기초하여 예측된 회전 행렬을 교정할 수 있다. In one embodiment, the rotation
리 대수는 리 군(예를 들어, SO(3))에 지수 사상(exponential mapping)을 수행하여 구할 수 있는 집합으로서, 리 대수의 원소인 리 대수 값은 벡터로 매개화하여 표현할 수 있다. 예를 들어, 회전 행렬 또는 회전 에러 행렬이 3개의 축으로 이루어진 3차원 좌표계에 대한 것인 경우, 이러한 회전행렬들 또는 회전 에러 행렬들의 집합 SO(3)에 지수 사상을 수행하면 아래와 같은 리 대수 so(3)로서, 3x3 교대행렬 A의 집합 을 구할 수 있다. 그리고, 이러한 3x3 교대행렬 A(=[w])는 3개의 변수가 행렬 내의 정해진 위치에 배치되는 구조를 갖기 때문에 교대행렬 [w] 대신에 아래와 같이 3개의 변수만으로 이루어진 벡터 vex([w])로 매개화하여 나타낼 수 있다.Li algebra is a set that can be obtained by performing exponential mapping on a Li group (for example, SO (3)). The Li algebraic value, which is an element of Li algebra, can be expressed by mediating a vector. For example, if the rotation matrix or the rotation error matrix is for a three-dimensional coordinate system consisting of three axes, the exponential mapping on the set of rotation matrices or rotation error matrices SO (3) gives (3), a set of 3x3 alternating matrix A Can be obtained. In addition, since the 3x3 alternating matrix A (= [w]) has a structure in which three variables are arranged at predetermined positions in the matrix, instead of the alternating matrix [w], a vector vex ([w]) consisting of only three variables is shown below. It can be represented by mediating.
칼만 필터 알고리즘은 소정의 측정값에 따라 소정의 예측된 물리적 상태(state)를 교정하고, 다시 교정된 상태에 기초하여 물리적 상태를 예측하는 동작들을 반복하는 재귀적 알고리즘으로서, 이러한 칼만 필터 알고리즘의 상태로는 벡터가 사용되는 것이 바람직하다. 단위 사원수 등 벡터와 다른 구조를 갖는 데이터 가 사용되는 경우에는 칼만 필터 알고리즘을 수행하는 도중에 계속적으로 칼만 필터 알고리즘의 상태를 재정규화해야 하는 등 다양한 문제점들이 나타날 수 있다. 이와 관련하여, 본 실시예에서 교정하고자 하는 회전 행렬은 도 2와 관련하여 설명한 바와 같이 리 군의 원소이나, 이러한 리 군의 원소는 벡터가 아니며, 예측된 회전 행렬의 예측 오차를 나타내는 회전 에러 행렬 또한 리 군의 원소로서 벡터가 아니다.The Kalman filter algorithm is a recursive algorithm that corrects a predetermined predicted physical state according to a predetermined measurement, and repeats operations for predicting a physical state based on the corrected state again. As a vector, it is preferable to use a vector. When data having a different structure from vectors, such as unit numbers, is used, various problems may arise, such as the need to continuously renormalize the state of the Kalman filter algorithm while executing the Kalman filter algorithm. In this regard, the rotation matrix to be corrected in the present embodiment is an element of the Li group as described with reference to FIG. 2, but the elements of the Li group are not vectors, and a rotation error matrix indicating a prediction error of the predicted rotation matrix. Also, it is not a vector as an element of Li group.
상술한 실시예에 있어서, 회전 행렬 생성부(120)는 회전 에러 행렬을 칼만 필터 알고리즘의 상태로 놓는 대신에, 칼만 필터 알고리즘에 적합한 구조를 갖는 벡터 값(즉, 회전 에러 행렬의 리 대수 값을 매개화한 벡터 값)을 칼만 필터 알고리즘의 상태로 놓고 교정 동작을 수행하기 때문에, 보다 효율적으로 회전 행렬의 교정 동작을 수행할 수 있다.In the above-described embodiment, instead of placing the rotation error matrix in the state of the Kalman filter algorithm, the
도 3은 도 1에 도시된 회전 행렬 생성부의 상세 블록도이다. 도 3을 참조하면, 회전 행렬 생성부(120)는 회전 행렬 초기화부(310), 바이어스 설정부(320), 회전 행렬 예측부(330), 회전 추정 행렬 생성부(340), 회전 에러 행렬 생성부(350) 및 회전 행렬 교정부(360)를 포함할 수 있다.3 is a detailed block diagram of the rotation matrix generator illustrated in FIG. 1. Referring to FIG. 3, the
회전 행렬 초기화부(310)는 회전 행렬 생성부(120)가 회전행렬을 예측 및 교정하는데 필요한 각종 변수들을 초기화할 수 있다. 일 실시예에 있어서, 회전 행렬 초기화부(310)는 회전 행렬 교정부(360)가 회전 에러 행렬을 교정하는데 필요한 칼만 필터 알고리즘의 프로세스 에러 공분산 값 및 측정 에러 공분산 값을 주어진 초기값으로 초기화할 수 있다. The rotation
바이어스 설정부(320)는 자이로 센서(111), 가속도 센서(112) 및 자기장 센서(113)가 제공하는 측정값들에 기초하여 자이로 센서(111)의 바이어스 값을 생성한다. 일 실시예에 있어서, 바이어스 설정부(320)는 위 측정값들에 기초하여 위 측정값들이 물체가 정지상태에서 측정된 값들인지 여부를 판단하고, 정지상태에서 측정된 값들인 경우, 자이로 센서(111)에서 제공한 측정값을 바이어스 값으로 설정할 수 있다. 바이어스 설정부(320)는 또한 새로이 제공된 측정값들이 정지상태에서 측정된 값들로 판단되는 경우에는, 새로이 제공된 측정값들 중 자이로 센서(111)에서 제공한 측정값을 바이어스 값으로 갱신할 수 있다.The
회전 행렬 예측부(330)는 자이로 센서(111)에서 제공되는 측정값에서 상기 설정된 바이어스 값을 차감하여 각속도 값을 생성하고, 생성된 각속도 값으로부터 각속도 교대행렬을 생성한다. 회전 행렬 예측부(330)는 생성된 각속도 교대행렬에 기초하여 향후 회전 행렬을 예측할 수 있다.The
회전 추정 행렬 생성부(340)는 회전 행렬 예측부(330)가 회전 행렬을 예측한 이후에 가속도 센서(112) 및 자기장 센서(113)로부터 제공되는 측정값들에 기초하여 현재 회전 행렬을 추정하는 회전 추정 행렬을 생성할 수 있다. 일 실시예에 있어서, 회전 추정 행렬 생성부(340)는 TRIAD 알고리즘을 사용하여 회전 추정 행렬을 생성할 수 있다. TRIAD 알고리즘 등 회전 추정 행렬을 생성하는 알고리즘은 당업계에 널리 알려져 있는바 자세한 설명은 생략한다.The rotation
회전 에러 행렬 생성부(350)는 회전 행렬 예측부(330)에 의해 예측된 회전 행렬과 회전 추정 행렬 생성부(340)에 의해 생성된 회전 추정 행렬에 기초하여 예 측된 회전 행렬과 회전 추정 행렬 간의 차를 나타내는 회전 에러 행렬을 생성할 수 있다. 회전 에러 행렬 생성부(350)는 생성된 회전 에러 행렬의 리 대수 값을 구하고, 상기 리 대수 값을 매개화하는 벡터 값을 생성할 수 있다. 일 실시예에 있어서, 회전 에러 행렬 생성부(350)는 회전 에러 행렬에 지수 사상을 수행하여 회전 에러 행렬의 리 대수 값을 생성할 수 있다. 위 실시예에 있어서, 회전 에러 행렬 생성부(350)는 회전 에러 행렬의 로그 값을 상기 회전 에러 행렬의 리 대수로서 생성할 수 있다. The rotation
회전 행렬 교정부(360)는 회전 에러 행렬 생성부(350)에 의해 생성된 벡터 값을 칼만 필터 알고리즘의 상태로 설정하고, 위 상태에 칼만 필터 알고리즘을 수행하여 회전 에러 행렬의 리 대수 값을 교정할 수 있다. 회전 행렬 교정부(360)는 교정된 회전 에러 행렬의 리 대수 값에 기초하여 회전 에러 행렬을 교정하고, 교정된 회전 에러 행렬에 기초하여 상기 예측된 회전 행렬을 교정할 수 있다. The
이하, 도 3에 도시된 회전 행렬 생성부(120)의 각 구성요소들이 수행하는 동작들의 구체적인 내용에 대하여 수식들을 사용하여 자세히 설명한다. Hereinafter, specific details of operations performed by each component of the
정의 및 표기법Definition and notation
항법 좌표계는 {N}으로 표기되고, 물체에 고정된 자세 추정 장치의 물체 좌표계는 {B}로 표기된다. 회전 행렬 R은 RN B로서 {B}의 {N}에 대한 상대적인 자세를 나타내고, 는 R의 예측치 및 교정치를 나타낸다. wb는 {B}를 기준으로 측정된 각속도를 나타낸다.The navigation coordinate system is denoted by {N}, and the object coordinate system of the attitude estimation apparatus fixed to the object is denoted by {B}. Rotation matrix R is R N B , representing the relative attitude of {B} with respect to {N}, Represents the predicted and corrected values of R. w b represents the angular velocity measured based on {B}.
회전 행렬의 지수 사상Exponential Mapping of Rotation Matrix
G가 일반 행렬 리 군을 나타내고, g가 그것의 리 대수를 나타낼 때, 지수 사상 exp:g->G는 지수 행렬(matrix exponential)로 정의된다. so(3)의 원소의 매개화된 벡터 로 표현될 때, Rodrigue의 공식에 따르면 so(3)의 원소 [s]는 아래와 같은 공식으로 나타낼 수 있다.When G represents a general matrix li group and g represents its logarithm, the exponential event exp: g-> G is defined as a matrix exponential. a mediated vector of elements of so (3) According to Rodrigue's formula, the element [s] of so (3) can be expressed as
위에서 α 및 β는 θ가 0 근방인 값인 경우에도 잘 정의(well-defined)되어 있으며, 테일러 급수 확장을 사용하여 그 값들을 정확하게 구할 수 있다. 주어진 회전 행렬 R(즉, SO(3))마다 유일한 [s](즉, so(3))가 존재한다. 위 [s]의 크기는 구간 [0, π)내에 있으며, exp([s])=R의 관계가 성립한다. In the above, α and β are well-defined even when θ is near 0, and these values can be accurately obtained using Taylor series expansion. There is a unique [s] (ie so (3)) for each given rotation matrix R (i.e., SO (3)). The magnitude of the above [s] is in the interval [0, π), and the relationship of exp ([s]) = R holds.
θ가 π와 다른 경우에는 아래와 같은 식이 성립한다.If θ is different from π, the following equation holds.
여기서, rij는 회전 행렬의 (i,j)번째 요소를 나타내고, rij=[R]ij로도 표시된다. Here, r ij represents the (i, j) th element of the rotation matrix and is also represented by r ij = [R] ij .
θ가 π에 근접한 값인 경우에는 s가 다른 방식으로 계산되어야 한다. θ가 π에 근접한 값인 경우에는 테일러 급수를 이용하여 아래와 같은 식으로 나타낼 수 있다.If θ is close to π, s must be calculated in a different way. If θ is close to π, it can be expressed as below using Taylor series.
SO(3)를 사용한 자세 추정 방법Posture Estimation Method Using SO (3)
1. 센서 모델링1. Sensor Modeling
물체의 자세는 그것의 물체 좌표계 {B}와 항법 좌표계 {N}간의 관계를 특정하여 구할 수 있다. 가속도 센서 및 자기장 센서는 긴 주기를 갖는 측정값들을 제공하고, 자이로 센서는 짧은 주기를 갖는 측정값들을 제공한다. 자이로 센서가 측정한 각속도 값들은 회전 행렬을 예측하기 위한 프로세스 모델의 입력으로 사용된다. 가속도 센서 및 자기장 센서의 측정값들은 예측된 회전 행렬을 교정하는데 사용된다.The pose of an object can be obtained by specifying the relationship between its object coordinate system {B} and the navigation coordinate system {N}. Accelerometers and magnetic field sensors provide measurements with long periods, and gyro sensors provide measurements with short periods. The angular velocity values measured by the gyro sensor are used as inputs to the process model to predict the rotation matrix. The measurements of the acceleration sensor and the magnetic field sensor are used to calibrate the predicted rotation matrix.
물체는 다음과 같은 운동 방정식에 따라 그 자세가 변화한다.An object's posture changes according to the following equation of motion:
자이로 센서의 천천히 변화하는 바이어스 벡터 b는 백색 가우시안 잡음 벡터 ε에 의해 구동되는 1차 마르코프 프로세스의 실현(realization)으로 모사된다. The slowly changing bias vector b of the gyro sensor is simulated with the realization of the first order Markov process driven by the white Gaussian noise vector ε.
일 실시예에 있어서, 칼만 필터의 상태는 회전 에러 행렬의 리 대수 값을 매개화하는 벡터 값을 포함할 수 있다. 일 실시예에 있어서, 칼만 필터의 상태는 다음과 같은 벡터로 기술될 수 있다. In one embodiment, the state of the Kalman filter may comprise a vector value that mediates the logarithmic value of the rotation error matrix. In one embodiment, the state of the Kalman filter can be described by the following vector.
2. 프로세스 모델 - 회전 행렬의 예측2. Process Model-Prediction of Rotation Matrix
본 알고리즘의 프로세스 모델은 다음과 같이 기술될 수 있다.The process model of this algorithm can be described as follows.
여기서, R-는 예측된 회전행렬, R+는 이전에 교정된 회전 행렬 또는 초기화된 회전 행렬, h는 샘플링 시간을 나타낸다.Where R − is the predicted rotation matrix, R + is the previously corrected or initialized rotation matrix, and h is the sampling time.
칼만필터의 에러 상태는 와 같이 계산될 수 있다. 는 추정된 회전행렬과 측정된 행렬 간의 회전에러행렬을 나타낸다. 에러 상태의 상태 천이는 다음과 같은 공식에 의해 계산될 수 있다.The error condition of the Kalman Filter is It can be calculated as Denotes a rotation error matrix between the estimated rotation matrix and the measured matrix. The state transition of the error state can be calculated by the following formula.
여기서 vk는 백색 가우시안 잡음을 나타낸다. 에러 상태의 추정값과 에러 공분산 P의 추정값은 다음과 같은 공식에 의해 계산된다.Where v k represents white Gaussian noise. The estimated value of the error condition and the estimated value of the error covariance P are calculated by the following formula.
3. 측정 모델3. Measurement Model
자세를 연산하는데 필요한 최소 측정 벡터 개수는 두 개이다. TRIAD 알고리 즘은 Wahba의 문제를 해결하기 위한 단일 좌표계의 확정적 방법이다. TRIAD 알고리즘을 사용하면 가속도 센서 및 자기장 센서의 정규화된 측정값들로부터 회전추정행렬 Yk +1을 구할 수 있다. 회전추정행렬 Yk +1은 {B}의 {N}에 대한 상대적인 자세를 나타낸다. Yk+1 및 이전 예측된 회전행렬 R-에 기초해서 의 측정값 y를 다음과 같이 구할 수 있다.The minimum number of measurement vectors needed to calculate the pose is two. The TRIAD algorithm is a definitive method of single coordinate system to solve Wahba's problem. Using the TRIAD algorithm, the rotation estimation matrix Y k +1 can be obtained from the normalized measurements of the acceleration and magnetic field sensors. The rotation estimation matrix Y k +1 represents a pose of {B} relative to {N}. Based on Y k + 1 and the previously predicted rotation matrix R- The measured value of y can be found as
에러 상태의 칼만 이득 K는 다음과 같이 계산된다.The Kalman gain K of the error state is calculated as follows.
위 공식 중 칼만이득 Kk +1에 대한 공식 중 Rk +1은 회전 행렬이 아니라 측정 잡음의 공분산을 나타낸다.Of the above formulas for Kalmandeuk K k +1 , R k +1 represents the covariance of the measured noise, not the rotation matrix.
추정된 SO(3) 행렬은 so(3)인 의 지수와 곱해져서 갱신된다.The estimated SO (3) matrix is so (3) It is updated by multiplying by the exponent of.
중력 및 자기장 벡터의 측정값들은 {B}에 대한 고정 관성 방향에서의 측정값 들이다. The measurements of gravity and magnetic field vectors are in the direction of fixed inertia with respect to {B}.
도 4는 본 발명의 일 실시예에 따른 자세 추정 방법의 절차도이다. 도 4를 참조하면, 자세 추정 장치의 자세 회전 행렬 초기화부는 자세 추정 장치가 회전행렬을 예측 및 교정하는데 필요한 각종 변수들을 초기화할 수 있다(단계 410). 단계 420에서, 자세 추정 장치의 바이어스 설정부는 자세 추정 장치의 관성 측정부(예를 들어, 자이로 센서, 가속도 센서 및 자기장 센서)가 제공하는 측정값들에 기초하여 자이로 센서의 바이어스 값을 생성한다. 단계 430에서, 자세 추정 장치의 회전 행렬 예측부는 자이로 센서에서 제공되는 측정값에서 상기 설정된 바이어스 값을 차감하여 각속도 값을 생성하고, 생성된 각속도 값으로부터 향후 회전 행렬을 예측한다. 단계 440에서, 자세 추정 장치의 회전 추정 행렬 생성부는 회전 행렬 예측부가 회전 행렬을 예측한 이후에 가속도 센서 및 자기장 센서로부터 제공되는 측정값들에 기초하여 현재 회전 행렬을 추정하는 회전 추정 행렬을 생성한다. 단계 450에서, 자세 추정 장치의 회전 에러 행렬 생성부는 회전 행렬 예측부에 의해 예측된 회전 행렬과 회전 추정 행렬 생성부에 의해 생성된 회전 추정 행렬에 기초하여 예측된 회전 행렬과 회전 추정 행렬 간의 차를 나타내는 회전 에러 행렬을 생성한다. 단계 460에서, 자세 추정 장치의 회전 행렬 교정부는 회전 에러 행렬 생성부에 의해 생성된 벡터 값을 칼만 필터 알고리즘의 상태로 설정하고, 위 상태에 칼만 필터 알고리즘을 수행하여 회전 에러 행렬의 리 대수 값을 교정하고, 회전 행렬 교정부는 교정된 회전 에러 행렬에 기초하여 상기 예측된 회전 행렬을 교정한다. 단계 470에서, 자세 추정 장치는 관성 측정부에서 추가 측정값들이 제공되는 지 여부를 판단하고, 제공되는 경우 단계 420으로 이동하고, 제공되지 않는 경우 절차를 종료한다.4 is a flowchart illustrating a pose estimation method according to an embodiment of the present invention. Referring to FIG. 4, the attitude rotation matrix initialization unit of the attitude estimation apparatus may initialize various variables necessary for the attitude estimation apparatus to predict and correct the rotation matrix (step 410). In
도 5는 본 발명의 일 실시예에 따른 바이어스 값 설정 및 갱신 방법의 절차도이다. 도 5를 참조하면, 자세 추정 장치의 바이어스 설정부는 자세 추정 장치의 가속도 센서, 자기장 센서 및 자이로 센서로부터 각각 측정값을 입력받는다(단계 510). 단계 520에서, 바이어스 설정부는 가속도 센서의 측정값이 지구 중력 값을 포함하는 제1 범위 내에 있는지 여부를 판단한다. 제1 범위 내에 있는 경우, 단계 530에서, 바이어스 설정부는 가속도 센서의 측정값과 상기 자기장 센서의 측정값 간의 내적 값이 제2 범위 내에 있는지 여부를 판단한다. 제2 범위 내에 있는 경우, 단계 540에서, 바이어스 설정부는 소정의 시간에 걸쳐 상기 자이로 센서에서 제공한 측정값들이 모두 제3 범위 내에 있는지 여부를 판단한다. 모두 제3 범위 내에 있는 경우, 바이어스 설정부는 자이로 센서의 측정값을 바이어스 값으로 설정 또는 갱신하고, 절차를 종료한다. 반면에, 제1 범위 내에 있지 않거나, 제2 범위 내에 있지 않거나, 제3 범위 내에 있지 않는 경우, 절차를 종료한다. 5 is a flowchart illustrating a bias value setting and updating method according to an embodiment of the present invention. Referring to FIG. 5, the bias setting unit of the attitude estimation apparatus receives measurement values from the acceleration sensor, the magnetic field sensor, and the gyro sensor of the attitude estimation apparatus, respectively (step 510). In
당업자는 본 명세서에 상술된 및 다른 프로세스들, 상호작용들 및 방법들에 있어서, 프로세스들, 상호 작용들 및 방법들 내에서 수행되는 기능들은 상이한 순서로 구현될 수 있다는 것을 알 것이다. 이에 더하여, 설명된 단계들 및 동작들은 예시로만 제공된다. 즉, 단계들 및 동작들 중 일부는 선택적일 수 있으며, 개시된 실시예들의 본질을 훼손하지 않으면서, 보다 적은 단계들 및 동작들로 합쳐지거나, 추가적인 단계들 및 동작들로 확장될 수 있다. Those skilled in the art will appreciate that in the processes described above and other processes, interactions, and methods, the functions performed within the processes, interactions, and methods may be implemented in a different order. In addition, the steps and operations described are provided by way of example only. That is, some of the steps and actions may be optional and may be combined into fewer steps and actions or extended to additional steps and actions without compromising the nature of the disclosed embodiments.
당업자는 또한 본 명세서에 설명된 장치들 및 방법들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어 또는 이들의 조합들로 구현될 수 있고, 시스템들, 서브시스템들, 구성품들 또는 그들의 서브 구성품들에 사용될 수 있다는 것을 알 것이다. 예를 들어, 소프트웨어로 구현된 방법은 방법의 동작들을 수행하기 위한 컴퓨터 코드를 포함할 수 있다. 이러한 컴퓨터 코드는 프로세서 판독 가능 매체 또는 컴퓨터 프로그램 제품과 같은 기계로 판독 가능한 매체에 저장되거나, 반송파, 또는 반송파에 의해 변조된 신호로 구현되는 컴퓨터 데이터 신호로서 전송 매체 또는 통신 링크를 통해 전송될 수 있다. 기계로 판독 가능한 매체 또는 프로세서로 판독 가능한 매체는 기계(예를 들어, 프로세서, 컴퓨터 등)에 의해 판독되고 실행될 수 있는 형태로 정보를 저장 또는 전달할 수 있는 임의의 매체를 포함할 수 있다.Those skilled in the art will also appreciate that the devices and methods described herein may be implemented in hardware, software, firmware, middleware, or combinations thereof, and may be used in systems, subsystems, components, or subcomponents thereof. Will know. For example, a method implemented in software can include computer code for performing the operations of the method. Such computer code may be stored on a machine readable medium, such as a processor readable medium or a computer program product, or transmitted over a transmission medium or communication link as a computer data signal embodied as a carrier wave or a signal modulated by a carrier wave. . Machine-readable media or processor-readable media can include any medium that can store or convey information in a form that can be read and executed by a machine (eg, processor, computer, etc.).
상술된 사항으로부터, 본 명세서의 다양한 실시예들은 예시를 목적으로 설명되었으며, 본 명세서의 범위 및 취지를 벗어나지 않으면서 다양한 변형된 형태로 구현할 수 있다. 따라서, 본 명세서에 기술된 다양한 실시예들은 제한적인 의미를 가지지 않으며, 본 명세서의 진정한 범위 및 취지는 후술되는 특허청구범위에 의해 나타내어진다.From the foregoing, various embodiments of the present disclosure have been described for purposes of illustration, and may be implemented in various modified forms without departing from the scope and spirit of the present disclosure. Accordingly, the various embodiments described herein are not to be taken in a limiting sense, and the true scope and spirit of the specification are indicated by the following claims.
도 1은 본 발명의 일 실시예에 따른 자세 추정 장치의 블록도.1 is a block diagram of an attitude estimation apparatus according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 물체의 회전 행렬을 설명하기 위한 개념도.2 is a conceptual diagram illustrating a rotation matrix of an object according to an embodiment of the present invention.
도 3은 도 1에 도시된 회전 행렬 생성부의 상세 블록도.FIG. 3 is a detailed block diagram of the rotation matrix generator shown in FIG. 1. FIG.
도 4는 본 발명의 일 실시예에 따른 자세 추정 방법의 절차도.4 is a flowchart of a pose estimation method according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 바이어스 값 설정 및 갱신 방법의 절차도.5 is a flowchart illustrating a bias value setting and updating method according to an embodiment of the present invention.
Claims (16)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090112826 | 2009-11-20 | ||
KR20090112826 | 2009-11-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110056185A KR20110056185A (en) | 2011-05-26 |
KR101140379B1 true KR101140379B1 (en) | 2012-05-03 |
Family
ID=44364790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090117306A KR101140379B1 (en) | 2009-11-20 | 2009-11-30 | Method and apparatus for estimating orientation by using lie algebra and kalman filter |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101140379B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101833217B1 (en) | 2011-12-07 | 2018-03-05 | 삼성전자주식회사 | Mobile terminal device for positioning system based on magnetic map and positioning method using the device |
KR101462007B1 (en) * | 2013-08-22 | 2014-11-18 | 한국과학기술연구원 | Apparatus for estimating attitude and method for estimating attitude |
CN114459507B (en) * | 2022-03-03 | 2024-02-09 | 湖南大学无锡智能控制研究院 | DVL installation error calibration method, device and system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009115545A (en) | 2007-11-05 | 2009-05-28 | Denso Corp | Vehicle present position detection system and program |
-
2009
- 2009-11-30 KR KR1020090117306A patent/KR101140379B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009115545A (en) | 2007-11-05 | 2009-05-28 | Denso Corp | Vehicle present position detection system and program |
Also Published As
Publication number | Publication date |
---|---|
KR20110056185A (en) | 2011-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ghobadi et al. | Robust attitude estimation from uncertain observations of inertial sensors using covariance inflated multiplicative extended Kalman filter | |
JP5237723B2 (en) | System and method for gyrocompass alignment using dynamically calibrated sensor data and iterative extended Kalman filter in a navigation system | |
US9417091B2 (en) | System and method for determining and correcting field sensors errors | |
CN106500693B (en) | A kind of AHRS algorithm based on adaptive extended kalman filtering | |
JP4876204B2 (en) | Small attitude sensor | |
JP4199553B2 (en) | Hybrid navigation device | |
JP2014089113A (en) | Posture estimation device and program | |
KR20140025319A (en) | Apparatuses and methods for dynamic tracking and compensation of magnetic near field | |
KR20060048581A (en) | System for navigation redundancy | |
JP2012173190A (en) | Positioning system and positioning method | |
CN108318027B (en) | Method and device for determining attitude data of carrier | |
CN112798021B (en) | Inertial navigation system inter-travelling initial alignment method based on laser Doppler velocimeter | |
Troni et al. | Adaptive Estimation of Measurement Bias in Three-Dimensional Field Sensors with Angular Rate Sensors: Theory and Comparative Experimental Evaluation. | |
JP5164645B2 (en) | Method and apparatus for repetitive calculation control in Kalman filter processing | |
EP2930467A1 (en) | A system and method for sensing the inclination of a moving platform with respect to gravity | |
JP2015179002A (en) | Attitude estimation method, attitude estimation device and program | |
JP2019120587A (en) | Positioning system and positioning method | |
KR101140379B1 (en) | Method and apparatus for estimating orientation by using lie algebra and kalman filter | |
CN110567481A (en) | object displacement monitoring method | |
Lee et al. | Interference-compensating magnetometer calibration with estimated measurement noise covariance for application to small-sized UAVs | |
JP2013122384A (en) | Kalman filter and state estimation device | |
CN114964214B (en) | Extended Kalman filtering attitude calculation method of attitude heading reference system | |
Munguia et al. | An attitude and heading reference system (AHRS) based in a dual filter | |
CN110375773B (en) | Attitude initialization method for MEMS inertial navigation system | |
JP2006038650A (en) | Posture measuring method, posture controller, azimuth meter and computer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20160401 Year of fee payment: 5 |