KR102526278B1 - 3개 이상의 센싱 축을 갖는, 하나 이상의 필드 센서를 자가 교정하는 방법 및 이를 수행하는 시스템 - Google Patents

3개 이상의 센싱 축을 갖는, 하나 이상의 필드 센서를 자가 교정하는 방법 및 이를 수행하는 시스템 Download PDF

Info

Publication number
KR102526278B1
KR102526278B1 KR1020200135538A KR20200135538A KR102526278B1 KR 102526278 B1 KR102526278 B1 KR 102526278B1 KR 1020200135538 A KR1020200135538 A KR 1020200135538A KR 20200135538 A KR20200135538 A KR 20200135538A KR 102526278 B1 KR102526278 B1 KR 102526278B1
Authority
KR
South Korea
Prior art keywords
sensor
variable
calculating
matrix
calibration
Prior art date
Application number
KR1020200135538A
Other languages
English (en)
Other versions
KR20220051752A (ko
Inventor
김익재
홍제형
강동훈
Original Assignee
한국과학기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술연구원 filed Critical 한국과학기술연구원
Priority to KR1020200135538A priority Critical patent/KR102526278B1/ko
Publication of KR20220051752A publication Critical patent/KR20220051752A/ko
Application granted granted Critical
Publication of KR102526278B1 publication Critical patent/KR102526278B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D18/00Testing or calibrating apparatus or arrangements provided for in groups G01D1/00 - G01D15/00
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L5/00Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes
    • G01L5/16Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes for measuring several components of force
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/18Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration in two or more dimensions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R33/00Arrangements or instruments for measuring magnetic variables
    • G01R33/02Measuring direction or magnitude of magnetic fields or magnetic flux

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Force Measurement Appropriate To Specific Purposes (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)

Abstract

실시예들은 상기 하나 이상의 필드 센서로 이루어진 센서 그룹을 사용하여 M번 측정하여, 개별 필드 센서(each field sensor)로부터 M개의 측정치를 획득하는 단계; 및 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계를 포함하는, 강체에 부착된 하나 이상의 필드 센서를 자가 교정하는 방법 및 이를 수행하는 시스템에 관련된다. 여기서, 상기 하나 이상의 필드 센서는 3축 필드 센서 또는 4개 이상의 축을 갖는 필드 센서로서, 가속도 센서, 힘 센서 또는 자기장 센서를 포함한다.

Description

3개 이상의 센싱 축을 갖는, 하나 이상의 필드 센서를 자가 교정하는 방법 및 이를 수행하는 시스템{METHOD FOR SELF-CALIBRATING ONE OR MORE OF FILED SENSORS WHICH HAVE MORE THAN ONE SENSING AXIS AND SYSTEM PERFORMING THE SAME}
본 발명의 실시예들은 3개 이상의 센싱 축을 갖는, 하나 이상의 필드 센서가 동일한 강체(rigid body)에 고정되어 있을 때, 외부의 특별한 측정 장치를 이용하지 않고도 외란(disturbance)에 강인하게 필드 센서를 자가 교정(Self-Calibration)하는 방법 및 이를 수행하는 시스템에 관련된다.
최근 각종 디바이스의 물리량을 정확하게 측정하기 위해 3개 이상의 축을 갖는 필드 센서를 각종 디바이스에 활용하는 시도가 증가하는 추세이다. 3개 이상의 축으로 이루어진 물리량을 측정하는 필드 센서로서 힘 센서, 가속도 센서, 또는 자기장 센서가 있다. 이들 필드 센서에 의해 3차원의 물리량이 획득된다. 예를 들어, 3축을 갖는 힘 센서, 가속도 센서 또는 자기장 센서를 사용하면 3차원 힘 벡터, 3차원 가속도 벡터 또는 3차원 자기장 벡터를 획득할 수 있다.
그러나, 아래의 이유로 인해, 3차원 벡터를 측정하는 3개 이상의 축을 갖는 필드 센서가 강체(rigid body)에 고정되어 있을 때 측정 결과를 곧바로 쓸 수 없는 문제가 있다.
비틀어진 센싱 축
도 1은, 강체에 부착된 필드 센서의 실제 센싱 축을 도시한 도면이다.
도 1과 같이 강체에 부착된 필드 센서의 실제 센싱 축의 일부 또는 전부는 직교하지 않고, 직교 축으로부터 비틀어진다. 급격한 가속도 변화를 야기하는 강한 충격 또는 주변의 강한 자성 물질에 의한 강철/연철 효과가 강체에 부착된 필드 센서에 영향을 미치기 때문이다.
따라서, 필드 센서의 원시적인(original) 측정 결과는 정확한 3차원 벡터를 나타내지 않는다. 정확한 측정을 위해서는 센싱 축의 비틀림 정도를 계산해서 보정해야 한다. 이를 위해, 제조사(manufacturer) 또는 사용자(user)가 임의로 정의할 수 있는 가상의 직교 좌표계(또는 "센서 프레임(sensor frame)"으로 지칭됨)가 사용된다.
센서 프레임과 바디 프레임
3차원 벡터를 측정하는 필드 센서마다 고유의 센서 프레임이 정의될 수도 있다. 따라서, M개(M은 2이상의 자연수)의 필드 센서가 동일한 강체에 고정되어 있으면, M개의 센서 프레임이 존재할 수 있다. M개의 필드 센서는 비틀어진 센싱 축을 갖기 때문에 각각 M개의 센서 프레임으로 교정되어야 한다.
일반적으로 M개의 필드 센서가 부착한 강체에 직교하는 축을 갖는 공용 좌표계로서 "바디 프레임(body frame)"을 임의로 정의할 수 있다.
도 2는, 동일한 강체에 부착된 복수의 필드 센서의 센서 프레임을 도시한 도면이다.
도 2에 도시된 바와 같이, 도 1의 비틀린 센싱 축을 갖는 필드 센서는 가상의 센서 프레임이 각각 정의될 수도 있다. 그러면, 도 3의 서로 다른 두 개의 센서 프레임을 각각 "센서 프레임 {a1}", "센서 프레임 {a2}"라고 정의할 수 있다. 공용 좌표계는 강체를 기준으로 "바디 프레임{b}"으로 임의로 정의할 수 있다.
M개의 비틀어진 센싱 축은 바디 프레임에 기초하여 각각의 센서 프레임으로 교정하는 기술이 요구된다.
필드 센서의 교정 변수
3차원 벡터(예컨대, 가속도 벡터)를 측정하는 3축 필드 센서(예컨대, 가속도 센서)는 수학식 1로 모델링될 수 있다.
[수학식 1]
Figure 112020110550918-pat00001
여기에서
Figure 112020110550918-pat00002
는 모델링된 필드 센서의 출력 벡터로서, 3축 필드 센서의 j번째 시점(time step)에서의 측정치이다. 만일 측정 회수가 M번이면 j는 1부터 M 사이의 어느 자연수이다. xj는 필드 센서의 방향벡터이다. 상기 수학식 1의 yi는 (ⅰ) 3차원 필드 센서를 임의의 방향으로 회전시킨 뒤 정지하고, (ⅱ) 정지 상태에서의 측정치를 측정하여 획득된다. (ⅲ) 위의 과정 (ⅰ), (ⅱ)가 N번 반복되면, M개의 측정치가 획득된다.
Figure 112020110550918-pat00003
는 랭크(rank)가 3인 가역(invertible) 행렬이다.
Figure 112020110550918-pat00004
는 통상적으로 바어어스 (bias) 혹은 오프셋 (offset) 벡터(vector)로 지칭되는 변수이다. 만일 필드 센서의 축이 Q개이면(여기서 Q는 4이상의 자연수),
Figure 112020110550918-pat00005
,
Figure 112020110550918-pat00006
이다.
Figure 112020110550918-pat00007
이다.
그리고,
Figure 112020110550918-pat00008
는 공용 좌표계를 기준으로 표현된 3차원 벡터로서, 물리적인 단위를 갖고 있으며 교정된 최종 결과 값이다. 필드 센서의 측정 값 yj로부터 변수 A와 벡터 b를 획득하는 과정은 교정 변수(calibration parameter)를 획득하는 것으로 지칭된다. 교정 변수를 이용하면, 단순히 센싱 축이 직교하도록 정의된 센서 프레임으로부터 공용 좌표계를 기준으로 표현되는 측정치를 출력하는 센서 프레임으로 교정된다.
비특허문헌 1 (P. Schopp, "Self-Calibration of Accelerometer Arrays," IEEE Tran. Instrum. Meas., vol. 65, no. 8, 2016)은 다수의 3축 가속도 센서가 강체에 부착되어 있을 때, 그래프 최적화(graph optimization) 기법을 사용하여 다수의 가속도 센서의 축 방향을 계산하였다. 그러나, 해(solution)의 수렴 여부를 증명하지 못하여 정확한 교정 변수를 계산할 수 없고, 결국 다수의 센서 프레임의 정확한 교정이 어려운 한계가 있다.
P. Schopp, "Self-Calibration of Accelerometer Arrays," IEEE Tran. Instrum. Meas., vol. 65, no. 8, 2016. M. Kok and T. B. Sch¨on, "Magnetometer calibration using inertial sensors," IEEE Sensors Journal, vol. 16, no. 14, pp. 5679-5689, 2016
본 발명의 실시예들은 3개 이상의 센싱 축을 갖는, 하나 이상의 필드 센서가 동일한 강체(rigid body)에 고정되어 있을 때, 외부의 특별한 측정 장치를 이용하지 않고도 외란(disturbance)에 강인하게 필드 센서를 자가 교정(Self-Calibration)하는 방법 및 이를 수행하는 시스템을 제공할 수 있다.
본 발명의 일 측면에 따른 프로세서에 의해 수행되는, 강체에 부착된 하나 이상의 필드 센서를 자가 교정하는 방법은: 상기 하나 이상의 필드 센서로 이루어진 센서 그룹에 대해서 M번 측정하여, 개별 필드 센서(each field sensor)로부터 M개의 측정치를 획득하는 단계; 및 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 센서 프레임을 교정하는 단계를 포함하되, 상기 하나 이상의 필드 센서는 3축 필드 센서 또는 4개 이상의 축을 갖는 필드 센서로서, 가속도 센서, 힘 센서 또는 자기장 센서를 포함할 수도 있다.
일 실시예예서, 상기 센서 그룹이 복수의 3축 필드 센서로 이루어진 경우, 각 필드 센서별 센서 프레임을 교정하는 단계는 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계를 포함할 수도 있다. 상기 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계는: M개의 측정치 중 적어도 일부에 기초하여 교정 변수 b를 포함한 다수의 내부 변수를 계산하는 단계; M개의 측정치 중 적어도 일부에 기초하여, 회전행렬 R을 포함한 외부 변수를 계산하는 단계; 및 내부 변수와 외부 변수에 기초하여 교정 변수 A를 계산하는 단계를 포함한다.
일 실시예에서, 상기 다수의 내부 변수를 계산하는 단계는, 상기 M개의 측정치에서 아웃라이어 성분의 측정치를 제거하는 단계; 인라이어 성분의 측정치에 기초하여 변수 b를 포함한 내부 변수를 계산하는 단계를 포함할 수도 있다. 상기 내부 변수는 아래의 실시예 3의 수학식을 만족하는 교정 변수 A의 하위 행렬인 K 또는 P를 포함한다.
실시예 3의 수학식
Figure 112020110550918-pat00009
또는
Figure 112020110550918-pat00010
여기서, R은 필드 센서의 외부 변수로서 회전행렬임.
일 실시예에서, 상기 내부 변수 K는 정부호 상삼각 형태의 행렬이고, 상기 내부 변수를 계산하는 단계는, 상기 인라이어 성분의 측정치에 타원체 적용 알고리즘을 적용하여 AAT를 계산하는 단계; 및 아래의 실시예 4의 수학식에 기초하여, 양의 정부호 행렬의 분해를 위한 알고리즘을 AAT에 적용하여 K를 계산하는 단계를 포함할 수도 있다.
실시예 4의 수학식
Figure 112020110550918-pat00011
일 실시예에서, 상기 내부 변수 P는 정부호 대칭 형태의 행렬이고, 상기 내부 변수를 계산하는 단계는, 상기 인라이어 성분의 측정치에 타원체 적용 알고리즘을 적용하여 AAT를 계산하는 단계; 및 아래의 실시예 5의 수학식에 기초하여, 대칭 행렬의 분해를 위한 알고리즘을 AAT에 적용하여 P를 계산하는 단계를 포함할 수도 있다.
실시예 5의 수학식
Figure 112020110550918-pat00012
일 실시예에서, 상기 다수의 내부 변수를 계산하는 단계는, 계산된 내부 변수 b, 그리고 K 또는 P의 값을 외란에 강인하도록 업데이트하는 단계를 더 포함하고, 상기 외란에 강인한 내부 변수의 값은 아래의 실시예 6의 수학식을 통해 계산될 수도 있다.
실시예 6의 수학식
Figure 112020110550918-pat00013
여기서, i는 센서 그룹 내 필드 센서의 인덱스, y는 필드 센서의 측정치, j는 시점(time step), ρ(·)는 커널 함수, c는 필드 센서의 단위 벡터의 크기를 나타낸다.
일 실시예에서, 상기 측정치 중 적어도 일부에 기초하여 외부 변수를 계산하는 단계는, 센서 그룹 내 센서 프레임 간의 상대적인 방향을 계산하기 위해, 센서 그룹에서 센서 쌍을 형성하여 센서 쌍의 상대적 회전행렬을 계산하는 단계; 및 센서 그룹 내 개별 센서의 센서 프레임의 절대적인 방향을 각각 계산하기 위해, 필드 센서별 절대적 회전행렬을 계산하는 단계를 포함할 수도 있다. 상기 절대적 회전행렬은 외부 변수 R이다.
일 실시예에서, 상기 측정치 중 적어도 일부에 기초하여 외부 변수를 계산하는 단계는, 상기 센서 쌍의 상대적 회전행렬을 계산하기 이전에, 센서 쌍을 이루는 두 개의 필드 센서의 측정치에서 아웃라이어 성분의 측정치를 제거하는 단계를 더 포함할 수도 있다.
일 실시예에서, 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계는: 센서 프레임에 의한 예상치와 실제 측정치 사이의 오차가 최소화되도록, 계산된 교정 변수 A 또는 b를 업데이트하는 단계를 더 포함할 수도 있다.
일 실시예에서, 상기 업데이트되는 교정 변수 A 또는 b의 값은 아래의 실시예 10의 수학식을 통해 획득된다.
실시예 10의 수학식
Figure 112020110550918-pat00014
여기서, i는 센서 그룹(Ω)에 포함된 필드 센서의 인덱스, j는 시점(time step), ρ(·)는 커널 함수, c는 필드 센서의 단위 벡터의 크기를 나타냄.
일 실시예에서, 상기 센서 그룹이 Q개의 축(Q는 4 이상의 자연수)을 갖는 필드 센서를 포함한 경우, 각 필드 센서별 센서 프레임을 교정하는 단계는 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계를 포함할 수도 있다. 상기 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계는: 내부 변수로서 벡터 b를 획득하는 단계; 측정 값으로 이루어진 측정 행렬 Y에 랭크(rank)-4 행렬 분해 알고리즘을 적용하여 행렬 A를 계산하는 단계; 및 획득된 변수 A, b를 포함한 센서 프레임에서 방향 벡터의 크기가 지정된 값 c에 최대한 가까워지도록 상기 획득된 변수 A, b의 값을 교정하는 단계를 포함한다. 상기 벡터 b는 임의의 벡터로 지정되고, 상기 값 c는 필드 센서의 방향 벡터의 단위 벡터의 크기 값이다.
일 실시예에서, 상기 행렬 A를 계산하는 단계;는, 측정 행렬 Y를 아래의 실시예 12의 수학식으로 표현된 랭크-4 행렬로 분해하는 단계; 및 변수 t의 각 성분을 최대한 1로 변환하는 단계를 포함할 수도 있다.
실시예 12의 수학식
Figure 112020110550918-pat00015
여기서, S4는 Y로부터 USVT를 계산하여 획득되는 대각 행렬로서, 첫 4개 성분을 특이 값(singluar value)으로 포함하고 나머지 성분은 0으로 지정된 랭크-4 행렬임.
일 실시예에서, 상기 획득된 변수 A, b는 아래의 실시예 13의 수학식 1으로 정의되는 교정행렬 H에 의해 지정된 값 c에 최대한 가까워지도록 교정되는 것으로서, 변수 A, b는 실시예 13의 수학식 2를 통해 교정될 수도 있다.
실시예 13의 수학식 1
Figure 112020110550918-pat00016
실시예 13의 수학식 2
Figure 112020110550918-pat00017
일 실시예에서, 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계는: Q개의 축에서 임의의 3개의 축을 선택하여 공용 좌표계를 설정하는 단계;를 더 포함할 수도 있다.
일 실시예에서, 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계는: 상기 교정 변수 A의 하위 행렬(submatrix)의 형태에 기초하여 회전행렬 G를 계산하는 단계; 및 상기 회전행렬 G에 기초하여 행렬 A를 업데이트하는 단계를 더 포함할 수도 있다. 상기 행렬 A는 아래의 실시예 14의 수학식의 형태를 갖도록 업데이트된다.
실시예 15의 수학식
Figure 112020110550918-pat00018
또는
Figure 112020110550918-pat00019
여기서, K 또는 P는 필드 센서의 내부 변수로서, K는 정부호(positive definite) 행렬이고, P는 대칭 행렬의 형태임.
일 실시예에서, 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계는: 센서 프레임에 의한 예상치와 실제 측정치 사이의 오차가 최소화되도록, 교정 변수 A 또는 b를 업데이트하는 단계를 더 포함할 수도 있다.
일 실시예에서, 상기 업데이트되는 교정 변수 A 또는 b의 값은 아래의 실시예 17의 수학식을 통해 획득될 수도 있다.
실시예 17의 수학식
Figure 112020110550918-pat00020
여기서, i는 센서 그룹에 포함된 필드 센서의 인덱스, j는 시점(time step), ρ(·)는 커널 함수, c는 필드 센서의 단위 벡터의 크기를 나타냄.
일 실시예에서, 상기 방법은: 교정 변수 A 또는 b를 계산하기 이전에, RANSAC 알고리즘을 Q개의 센싱 축과 M개의 시점에 적용하는 단계를 더 포함할 수도 있다. RANSAC 알고리즘의 적용 결과로서 획득된 임의의 3 축 이상 및 임의의 3개 이상의 측정 회수에서의 측정치를 사용하여 교정 변수 A 또는 b가 계산된다.
일 실시예에서, 상기 방법은, RANSAC 알고리즘의 적용 결과로서 획득되지 않은 나머지 센싱 축 및 측정 회수에서의 측정치를 사용하여, 센서 프레임의 예상치와 실제 측정치 간의 오차가 최소화하는지 확인하는 단계를 더 포함할 수도 있다.
일 실시예에서, 상기 센서 그룹은, 복수의 3축 가속도 센서, 복수의 3축 힘 센서, 복수의 3축 가속도 센서, 또는 하나 이상의 3축 힘 센서와 하나 이상의 3축 가속도 센서, 또는 복수의 3축 자기장 센서로 이루어질 수도 있다.
일 실시예에서, 상기 센서 그룹은, 4개 이상의 축을 갖는 가속도 센서, 힘 센서, 또는 자기장 센서로 이루어질 수도 있다.
본 발명의 다른 일 측면에 따른 컴퓨터 판독가능 기록매체는 상술한 실시예들에 따른 방법을 수행하기 위한, 컴퓨터 프로그램이 기록될 수도 있다.
본 발명의 또 다른 일 측면에 따른 시스템은: M개의 시점에서 측정하여 각각 M개의 측정치를 출력하는, 강체에 부착된 하나 이상의 필드 센서 - 상기 하나 이상의 필드 센서는 3축 필드 센서 또는 4개 이상의 축을 갖는 필드 센서로서, 가속도 센서, 힘 센서 또는 자기장 센서를 포함함; 및 프로세서를 포함한 컴퓨팅 장치를 포함할 수도 있다. 상기 컴퓨팅 장치는 상기 하나 이상의 필드 센서로부터 각각 M개의 측정치를 획득하고, 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 센서 프레임을 교정하도록 구성된다.
본 발명의 시스템은 3개 이상의 센싱 축을 갖는 단일 또는 다수의 필드 센서가 동일한 강체에 고정되어 있을 때, 외부의 특별한 장치(예컨대, 별도의 측정 장치)의 도움 없이 강체의 임의의 움직임만으로 필드 센서의 교정 변수를 계산하는 자가 교정 동작을 수행할 수 있다. 자가 교정 동작 결과, 강체에 부착된 필드 센서는 공용 좌표계를 기준으로 갖는 교정 변수로 이루어지는 센서 프레임을 가진다.
특히, 3축 또는 4축 이상의 센싱 축을 갖는 다수의 필드 센서로 이루어진 센서 그룹에 대해서도 자가 교정 동작을 수행할 수 있다.
상기 시스템은 종래의 기술이 극복하지 않는, 필드 센서의 교정에 대한 2가지 측면에서 강건한 장점을 가진다. 첫번째로서, 상기 시스템은 임의의 모션으로 캘리브레이션 할 경우 주위 환경 및 가속도로 인해 부득이하게 발생되는 아웃라이어에 강건하다.
또한, 두번째로서, 상기 시스템은 상대적으로 작은 움직임을 통해 필드 센서를 회전시켜 측정치 데이터를 획득하고, 이러한 측정치 데이터로도 보다 정확하게 필드 센서를 교정할 수 있다. 즉, 측정 데이터 취득이 용이하지 않는 큰 움직임을 요구하지 않는, 움직임에 강건하고 정밀한 교정이 가능하다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명 또는 종래 기술의 실시예의 기술적 해결책을 보다 명확하게 설명하기 위해, 실시예에 대한 설명에서 필요한 도면이 아래에서 간단히 소개된다. 아래의 도면들은 본 명세서의 실시예를 설명하기 목적일 뿐 한정의 목적이 아니라는 것으로 이해되어야 한다. 또한, 설명의 명료성을 위해 아래의 도면들에서 과장, 생략 등 다양한 변형이 적용된 일부 요소들이 도시될 수 있다.
도 1은, 강체에 부착된 필드 센서의 실제 센싱 축을 도시한 도면이다.
도 2는, 동일한 강체에 부착된 복수의 필드 센서의 센서 프레임을 도시한 도면이다.
도 3은, 본 발명의 일 실시예에 따른, 자가 교정 방법의 흐름도이다.
도 4a 및 도 4b는, 본 발명의 다양한 실시예들에 따른, 제1 및 제2 유형의 센서 그룹을 각각 도시한 도면이다.
도 5는, 본 발명의 일 실시예에 따른, 제1 유형의 센서 그룹 내 각 필드 센서의 센서 프레임을 교정하는 과정의 흐름도이다.
도 6은, 본 발명의 일 실시예에 따른, 제2 유형의 센서 그룹 내 각 필드 센서의 센서 프레임을 교정하는 과정의 흐름도이다.
도 7은, 비특허문헌 2에서 자가 교정에 요구되는 측정치 데이터 세트의 분포를 센서 프레임 상에 개념적으로 시각화한 도면이다.
도 8은, 본 발명의 일 실시예에 따른, 자가 교정에 요구되는 측정치 데이터 세트의 분포를 센서 프레임 상에 개념적으로 시각화한 도면이다.
도 9는, 도 7의 실시예에 도 8의 움직임이 적용된 경우 측정치 데이터 세트의 분포를 도시한 도면이다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 기재된 특징, 영역, 숫자, 단계, 동작, 구성요소, 및/또는 성분을 구체화하는 것이며, 하나 또는 그 이상의 다른 특징, 영역, 숫자, 단계, 동작, 구성요소, 및/또는 성분의 존재 또는 부가를 제외시키는 것이 아니다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서, 도면을 참조하여 본 발명의 실시예들에 대하여 상세히 살펴본다.
본 발명의 실시예들에 따른 하나 이상의 필드 센서를 자가 교정하는 방법(이하 "자가 교정 방법")은 동일한 강체에 부착된, 3개 이상의 축을 갖는 필드 센서를 자가 교정한다.
도 3은, 본 발명의 일 실시예에 따른, 자가 교정 방법의 흐름도이다.
도 3을 참조하면, 자가 교정 방법은: 다수의 필드 센서로부터 각 필드 센서(each field sensor)의 측정치를 획득하는 단계(S1); 측정치 중 적어도 일부를 사용하여 적어도 하나의 필드 센서의 센서 프레임을 교정하는 단계(S2)를 포함한다.
필드 센서는 3축 이상의 축을 가진다. 상기 필드 센서는 힘 센서, 가속도 센서, 또는 자기장 센서일 수도 있다. 힘 센서와 가속도 센서는 가속도 벡터를 출력하고, 자기장 센서는 자기장 벡터를 출력한다.
필드 센서의 센서 좌표계는 내부 변수 및/또는 외부 변수로 표현될 수도 있다. 센서의 내부/외부 변수는 카메라에서 통용되는 장치 내부/외부 변수와 다른 변수이다.
센서의 외부 변수는 센서의 자세(즉, 센서가 부착되는 대상의 자세)에 영향을 받는 변수이다. 예를 들어, 센서의 외부 변수는 회전행렬일 수도 있다.
센서의 내부 변수는 센서가 부착되는 대상(예컨대, 보드와 같은 강체)의 자세에 영향을 크게 받지 않는 변수이다. 예를 들어, 자기장 센서의 내부 변수는 강철/연철 효과, 스케일, 바이어스의 영향을 주로 받는 변수이다. 가속도 센서의 내부 변수는 스케일, 바이어스의 영향을 주로 받는 변수이다.
센서 프레임을 위한 교정 변수는 내부 변수 및/또는 외부 변수 중 어느 하나의 변수 또는 내부 변수 및/또는 외부 변수를 하위 변수로 갖는 변수를 포함한다. 예를 들어, 교정 변수A는 아래에서 서술할 내부 변수 K(또는 P)와 외부 변수 R를 하위 변수로 가진다. 교정 변수 b는 내부 변수이다.
이러한 교정 변수는 강체에 고정된 필드 센서의 개수 및/또는 축의 개수의 조합에 따라 계산된다.
도 4a를 참조하면, 강체에는 제1 유형의 센서 그룹이 부착될 수도 있다. 상기 제1 유형의 센서 그룹은 복수의 필드 센서로 이루어지며, 복수의 필드 센서 각각은 동일한 종류의 3차원 벡터를 출력하는 3축 필드 센서이다. 예를 들어, 제1 유형의 센서 그룹은: 다수의 3축 가속도 센서, 다수의 3축 힘 센서, 다수의 3축 가속도 센서, 또는 하나 이상의 3축 힘 센서와 하나 이상의 3축 가속도 센서, 또는 다수의 3축 자기장 센서로 이루어질 수도 있다.
도 4a의 제1 유형의 센서 그룹이 강체에 부착된 경우, 센서 그룹 내 개별 필드 센서로부터 동일한 종류의 측정치가 획득된다(S1). 상기 센서 그룹의 측정치를 사용하여 개별 필드 센서의 교정 변수가 계산된다(S2). 제1 유형의 센서 그룹에 대한 교정 변수(S2)의 계산 과정은 아래의 도 5를 참조하여 보다 상세하게 서술한다.
도 4b를 참조하면, 강체에는 제2 유형의 센서 그룹이 부착될 수도 있다. 상기 제2 유형의 센서 그룹은 4개 이상의 축을 갖는 필드 센서를 포함한다. 상기 제2 유형의 센서 그룹은 4개 이상의 축을 갖는 단일 필드 센서로 이루어질 수도 있다. 예를 들어, 제2 유형의 센서 그룹은: 4개 이상의 축을 갖는 가속도 센서, 힘 센서, 또는 자기장 센서로 이루어질 수도 있다.
도 4b의 제2 유형의 센서 그룹이 강체에 부착된 경우, 센서 그룹 내 단일 필드 센서로부터 측정치가 획득된다(S1). 상기 센서 그룹의 측정치를 사용하여 필드 센서의 교정 변수가 계산된다(S2). 제2 유형의 센서 그룹에 대한 교정 변수(S2)의 계산 과정은 아래의 도 6을 참조하여 보다 상세하게 서술한다.
제1 유형의 센서 그룹의 자가 교정
도 5는, 본 발명의 일 실시예에 따른, 제1 유형의 센서 그룹 내 각 필드 센서의 센서 프레임을 교정하는 과정의 흐름도이다.
도 5를 참조하면, 측정치 중 적어도 일부를 사용하여 적어도 하나의 필드 센서의 센서 프레임을 교정하는 단계(S2)는 제1 유형의 센서 그룹이 강체에 부착된 경우, 제1 유형의 센서 그룹 내 각 필드 센서의 센서 프레임을 교정하는 단계를 포함한다.
상기 제1 유형의 센서 그룹 내 각 필드 센서별 센서 프레임을 교정하는 단계(S2)는: M개의 측정치 중 적어도 일부에 기초하여 교정 변수 b를 포함한 다수의 내부 변수를 계산하는 단계(S510); 상기 M개의 측정치 중 적어도 일부에 기초하여 외부 변수를 계산하는 단계(S520); 그리고 내부 변수와 외부 변수에 기초하여 교정 변수 A를 계산하는 단계(S530)를 포함한다. 제1 유형의 센서 그룹에서 단계(S2)의 교정 변수는 A 및 b를 포함한다. 특정 실시예들에서, 단계(S510)의 다수의 내부 변수는 변수 K(또는 P), b를 포함할 수도 있다. 단계(S520)의 외부 변수는 회전행렬 R일 수도 있다. 변수에 대해서는 아래에서 보다 상세하게 서술한다.
3축 필드 센서는 정지 상태에서 3차원 필드(예컨대, 중력 또는 지자계)를 측정할 수 있다. 필드 센서의 방향을 바꾸어 가며 정지 상태에서 3차원 필드를 측정을 M번 반복하면, M개의 측정치가 획득된다(S1).
상기 M개의 측정치는 단일 필드 센서에 의해 M번 측정되어 획득된 측정치이다. 제1 유형의 센서 그룹 내 필드 센서의 개수가 N개이면, N×M 개의 측정치가 획득된다(S1).
전술한 수학식 1로 모델링되는 필드 센서에서 측정치는 수학적으로 타원체(ellipsoid) 표면 상에 위치하는데, 필드 센서별 M개의 측정치는 외란 등으로 인한 아웃라이어(outlier) 성분의 측정치를 포함할 수도 있다. 아웃라이어 성분에 해당하는 측정치를 포함한 모든 측정치를 그대로 사용하면 상대적으로 부정확한 교정 변수가 계산된다. 도 5의 과정(S2)은 아웃라이어 성분의 측정치가 존재하는 경우에도 상대적으로 정확한 교정 변수를 계산할 수 있다.
일 실시예에서, 상기 단계(S510)는: 아웃라이어 성분의 측정치를 제거하는 단계(S511); 및 인라이어 성분의 측정치에 기초하여 변수 b를 포함한 내부 변수를 계산하는 단계(S513)를 포함할 수도 있다. 단계(S513)에서 변수 b를 포함한 다수의 변수가 획득될 수도 있다.
센서 그룹 내 개별 필드 센서가 획득한 M개의 측정치에 기초하여 인라이어 영역을 설정하고, 설정된 인라이어 영역에 기초하여, 아웃라이어(outlier) 성분의 측정치를 결정하고, 아웃라이어 성분의 측정치를 제거하여 인라이어 성분의 측정치를 추출할 수도 있다(S511). 여기서, 아웃라이어 성분의 측정치는 인라이어 영역 외부에 위치하는 측정치이다.
상기 인라이어 영역을 설정하는 알고리즘은, 예를 들어, RANSAC 알고리즘, 또는 강인한 커널 알고리즘을 포함한다. 상기 강인한 커널 알고리즘은, 예를 들어, L1, L2, maxnorm, Huber, Cauchy, German-and-McClure 등일 수도 있으나, 이에 제한되진 않는다.
RANSAC(Random SAample Consensus) 알고리즘은 아웃라이어 데이터에 강인한 최적화 방식으로서, 다수의 샘플에서 목표 모델을 모델링하는데 요구되는 최소의 데이터만을 임의로 추출한다. 예를 들어, 다수의 포인트 데이터에서 1차 방정식 선을 모델링하기 위해, RANSAC은 최소 포인트 데이터의 2개를 추출한다. 상기 예시에서, RANSAC은 추출된 최소 데이터로 1차 방정식 모델을 생성하고, 해당 모델을 기준으로 얼마나 많은 포인트 데이터가 1차 방정식 모델에 가깝게 분포되어있는지 계산하며, 분포에 기초하여 해당 모델에 가장 가까운 포인트 데이터가 분포하게 하는 모델을 최적의 모델로 결정한다.
이러한 인라이어 영역을 설정함으로써, 측정치가 작은 규모로 획득되거나 또는 불규칙적으로 분포한 측정치를 획득한 경우에도 오버피팅이 발생하지 않아, 잡음(noise) 및 외란(perturbation)에 강인한 센서 프레임을 모델링할 수 있다.
AAT는 인라이어 성분의 측정치에 타원체 적용 알고리즘(ellipsoid fitting)을 적용하여 계산된다. 타원체 적용 알고리즘을 수행하는 구체적인 방법은 본 출원의 발명자에 의한 대한민국 등록특허 제10-1209571호에 개시되어있으므로 이를 원용하기로 한다.
인라이어 성분의 측정치를 타원체 적용 알고리즘에 적용하면, 변수 AAT와 b가 획득된다. 그러나, 자가 교정을 위해서는 변수 A도 획득되어야 한다. 교정 변수 A는 변수 b와 다른 내부 변수 K(또는 P)와 외부 변수 R로 이루어진다.
일 실시예에서, 가역 행렬인 교정 변수 A는 다음의 수학식 2으로 표현될 수도 있다. 수학식 2를 통해 내부 변수 K가 계산된다(S513).
[수학식 2]
Figure 112020110550918-pat00021
여기서,
Figure 112020110550918-pat00022
는 내부 변수로서, 역행렬이 있는 삼각 행렬(triangular matrix)이다. 상기 행렬K는 3Х3 성분을 가지는, 정부호(positive definite) 행렬이다. R은 회전행렬이다. 회전행렬 R은 직교 행렬이다.
일부 실시예에서, 정부호(positive definite) 상삼각(upper triangular) 형태의 행렬K가 수학식 2에 적용될 수도 있다. 예를 들어, 제1 유형의 센서 그룹의 교정 행렬A를 이루는 행렬 K는 아래의 내부 구조 및 성분으로 이루어진 형태를 취할 수도 있다:
Figure 112020110550918-pat00023
.
상기 행렬 K는 대각 성분에 있는 성분들의 부호(sign)가 소정의 규칙에 따라 지정되어 형성된다. 상기 행렬 K는 예를 들어, 대각 성분이 모두 양수이거나, 모두 음수이거나, 또는 특정 성분 값은 양수이고 나머지는 음수를 갖는 성분으로 형성된다. 행렬K가 이러한 내부 성분 및/또는 내부 구조를 가짐으로써, 행렬K의 대각 성분의 수를 회전행렬 R에 곱한 결과가 양수 부호를 가진다.
위의 4개의 예시적인 형태에서, 행렬K가 첫번째 형태의 행렬인 경우, 측정 모델이 z 축을 기준으로 y축과 x축이 틀어지고 스케일(scale)된 것을 나타낸다. 행렬K가 두번째 형태의 행렬인 경우, 측정 모델이 x축을 기준으로 y축과 z축이 틀어지고 스케일된 것을 나타낸다. 행렬K가 세번째 형태의 행렬인 경우, y 축을 기준으로 x축과 z축이 틀어지고 스케일된 것을 나타낸다. 행렬K가 네번째 형태의 행렬인 경우, y 축을 기준으로 x축과 z축이 틀어지고 스케일된 것을 나타낸다.
A가 상기 수학식 2를 만족하는 경우 (즉, A=KR인 경우), AAT=KKT이다. 분해 알고리즘을 이용하면, 유일한 K를 AAT로부터 계산할 수 있다(S513). K를 계산하기 위한 분해 알고리즘은 양의 정부호 행렬의 분해에 사용되는 알고리즘으로서, 예를 들어 Cholesky decomposition 을 포함할 수도 있으나, 이에 제한되진 않는다. 상기 분해 알고리즘을 적용하면 하삼각행렬과 하삼각행렬의 켤레전치 행렬의 곱으로 표현된 분해 결과가 획득된다.
다른 일 실시예에서, 가역 행렬인 교정 변수 A는 다음의 수학식 3으로 표현될 수도 있다. 수학식 3을 통해 내부 변수 P가 계산된다 (S513).
[수학식 3]
Figure 112020110550918-pat00024
여기서,
Figure 112020110550918-pat00025
는대칭(symmetric) 행렬이다. 행렬P는 축의 비틀림(skew)와 스케일(scale)을 표현한다. R은 회전행렬이다. 회전행렬R은 직교 행렬이다.
일부 실시예에서, 양의 정부호 대칭(symmetric positive definite) 형태의 행렬 P가 수학식 3에 적용될 수도 있다. 예를 들어, 제1 유형의 센서 그룹의 교정변수 A를 이루는 행렬 P는 아래의 내부 구조 및 성분으로 이루어진 형태를 취할 수도 있다:
Figure 112020110550918-pat00026
.
상기 행렬P는 대각 성분에 있는 성분들의 부호(sign)가 소정의 규칙에 따라 지정되어 형성된다. 상기 행렬 P는 예를 들어, 대각 성분이 모두 양수이거나, 모두 음수이거나, 또는 특정 성분 값은 양수이고 나머지는 음수를 갖는 성분으로 형성된다.
위의 예시적인 내부 구조 및 성분을 갖는 행렬P는 각 축이 어떤 기준 축으로부터 틀어지고(skew) 스케일(scale)된 것인지 나타낸다.
A가 상기 수학식 3을 만족하는 경우 (즉, A=PR인 경우), AAT=PPT이다. 분해 알고리즘을 이용하면, 유일한 P를 AAT로부터 계산할 수도 있다(S513). P를 계산하기 위한 분해 알고리즘은 대칭행렬에 대해 고유값 분해(eigendecomposition)가 가능한 행렬로서, 예를 들어, singular value decomposition을 포함할 수도 있으나, 이에 제한되진 않는다.
선택적으로, 상기 단계(S510)는: 단계(S511)의 변수 b 및 단계(S513)의 변수 K(또는 P)를 외란에 강건하도록 업데이트하는 단계(S515)를 포함할 수도 있다. 이 경우, 단계(S511)의 변수 b 및 단계(S513)의 변수 K의 값은 초기 값으로 사용되며, 초기 값으로 이루어진 변수 b 및/또는 K(또는 P)는 강화(Refinement) 처리됨으로써, 외란에 강건한 변수b와 K 또는 P가 계산된다.
이하, 설명의 명료성을 위해, 단계(S513)에서 수학식 2를 이용하여 변수 K가 계산된 실시예로 단계(S515)를 보다 상세하게 서술한다.
단계(S511 및 S513)의 변수 K와 b를 초기 값으로 지정하고, 아래의 수학식4를 통해 외란에 강인한 K와 b를 계산할 수 있다.
[수학식 4]
Figure 112020110550918-pat00027
여기서, Ω는 해당 센서그룹에서 측정한 모든 측정 값의 합 (set of measurements observed by the group of sensors)를 뜻하며, 각 i는 센서, 각 j는 해당 측정 값의 감지 시점(time step)을 나타낸다. 제1 유형의 센서 그룹이 N개의 센서를 포함할 경우 i는 1부터 N 사이의 자연수이다. 측정 회수가 M번이면 j는 1부터 M 사이의 어느 자연수이다. yij는 i번째 필드 센서가 j번째 측정 회수에서 측정한 측정치이다. ρ(·)은 강인한 커널(kernel) 함수다. 상기 강인한 커널 함수는, 예를 들어, Huber, Cauchy, 또는 Geman-McClure일 수도 있다.
상기 필드 센서의 방향벡터에 대한 단위벡터의 크기는 임의의 상수 c로 지정된다. 예를 들어, 상기 방향벡터의 크기 c는 1일 수도 있으나, 이에 제한되진 않는다.
상기 수학식 4를 통해 단계(S511 및 S513)의 초기 변수K와 b로 이루어진 필드 센서의 예상치와 실제 측정치 간의 차이를 최소화하는, 변수K와 b에 대한 새로운 값이 계산된다. 그러면, 단계(S511)에서 획득된 변수 b의 값, 단계(S513)에서 획득된 변수 K 의 값은 단계(S515)에서 획득된 값으로 각각 업데이트된다. 업데이트된 변수 K, b가 교정 변수로서 사용되거나 또는 교정 변수를 계산하는데 사용된다.
다른 실시예에서, 단계(S530)에서 변수 P를 업데이트하는 과정은 위에서 서술한, 변수 K를 업데이트하는 과정과 유사하므로, 자세한 설명은 생략한다.
일 실시예에서, 상기 단계(S520)는: 센서 그룹 내 센서 프레임 간의 상대적인 방향을 계산하는 단계(S523); 및 센서 그룹 내 개별 센서의 센서 프레임의 절대적인 방향을 각각 계산하는 단계(S525)를 포함한다.
센서 프레임 간의 상대적인 방향을 계산하기 위해, 제1 유형의 센서 그룹에서 센서 쌍을 선택하고, 센서 쌍에 대한 상대적 회전행렬이 계산될 수도 있다(S523). 단계(S523)에서 하나 이상의 센서 쌍이 선택된다.
센서 쌍은 서로 다른 센서로 이루어진다. 선택되는 센서 쌍의 세트는 그룹 내 전체 센서를 포함한다.
일부 실시예예서, 센서 쌍의 형성은 그룹 내 모든 필드 센서가 선택될 때까지 반복된다. 중복된 센서 쌍이 존재하는 경우, 중복된 센서 쌍 중 하나에 대해서만 상대적 회전행렬이 계산된다. 도 4에 도시된 바와 같이 제1 유형의 센서 그룹이 4개의 센서를 포함한 경우 4개의 상대적 회전행렬이 계산된다.
상기 상대적 회전행렬은 다양한 상대적 회전행렬 계산 알고리즘을 통해 계산될 수도 있다. 상대적 회전행렬 계산 알고리즘은, 예를 들어, (예컨대, TRIAD 알고리즘과 같은) Wahba 문제를 해결하는 솔루션을 계산하는 알고리즘 또는 내적 불변(Dot product invariance) 알고리즘을 포함할 수도 있다. 이러한 알고리즘을 통해 각 센서 쌍에 대한 상대적 회전행렬을 계산할 수 있다.
일 예에서, 쌍을 이루는 두 센서의 측정치를 이용하여 Wahba문제를 해결하는 솔루션을 계산함으로써, 쌍을 이루는 두 센서에 대한 상대적 회전행렬을 계산한다.
단계(S525)에서 필드 센서별 절대적 회전행렬이 계산된다. 상기 절대적 회전행렬은 수학식 2,3의 변수 R로 사용된다.
절대적 방향은 기 지정된 공용 좌표계를 기준으로 설정된다. 상기 공용 좌표계는 바디 좌표계일 수도 있다. 그러나, 이에 제한되진 않으며, 센서 그룹 내 임의의 필드 센서의 센서 좌표계가 공용 좌표계로 설정될 수도 있다.
단계(S525)에서 계산되는 절대적 회전행렬은 센서 그룹 내 필드 센서의 개별 센서 프레임과 센서 그룹의 공용 좌표계 사이의 상관관계를 나타낸다.
일 실시예에서, 상대적 회전행렬을 그래프 최적화(graph optimization) 알고리즘에 적용하여 각 센서에 대한 절대적 회전행렬을 계산할 수도 있다(S525). 상기 그래프 최적화 방식은 예를 들어 최소 신장 트리(minimum spanning tree) 방식일 수 있으나, 이에 제한되진 않는다.
다른 일 실시예에서, 단계(S523)에서 계산된 상대적 회전행렬을 회전평균(rotation averaging) 알고리즘에 적용하여 필드 센서별 절대적 회전행렬을 계산할 수도 있다(S525).
그러나, 절대적 회전행렬의 획득은 전술한 알고리즘에 의해 제한되지 않으며, 다양한 알고리즘을 이용하여 상대적 회전행렬의 세트로부터 절대적 회전행렬을 계산할 수 있다.
필드 센서의 외부 변수로서 단계(S525)의 회전 행렬, 그리고 필드 센서의 내부 변수로서 단계(S510)의 내부 변수K(또는 P)에 기초하여 교정 변수 A가 계산된다(S530). 상기 교정 변수 A는 상기 수학식 2 또는 3을 통해 계산된다.
선택적으로, 상기 단계(S520)는: 센서 쌍의 상대적 회전행렬을 계산하기 위해 센서 쌍을 이루는 두 필드 센서의 측정치를 그래프 최적화 알고리즘 또는 회전평균 알고리즘 등에 적용하기 이전에, 센서 쌍을 이루는 두 필드 센서의 측정치에서 아웃라이어 성분의 측정치를 제거하는 단계(S521)를 더 포함할 수도 있다. 그러면, 단계(S521)에서 추출된 인라이어 성분의 측정치를 사용하여 상대적 회전행렬이 계산되고, 결국 인라이어 성분의 측정치 기반 절대적 회전행렬이 계산된다(S525). 상기 아웃라이어 성분의 상대적 회전행렬은 RANSAC 알고리즘 등을 통해 제거될 수도 있다. 아웃라이어 성분의 측정치 제거 과정은 위에서 서술하였는 바, 자세한 설명은 생략한다.
단계(S510 내지 S530)가 제1 유형의 센서 그룹 내 모든 필드 센서에 대해서 수행된다. 예를 들어, 센서 그룹 내 포함된 N개의 필드 센서에 대해서, 각각의 필드 센서별로 계산된 상대적 회전행렬에 기초하여 각 센서에 대한 절대적 회전행렬이 계산된다.
그러면, 제1 유형의 센서 그룹 내 모든 필드 센서는 공용 좌표계로 자가 교정된다. 그러면, 제1 유형의 센서 그룹 내 필드 센서의 측정치는 동일한 공용 좌표계로 표현된다.
선택적으로, 상기 단계(S2)는: 센서 그룹 측면의 오차를 최소화하도록 필드 센서의 교정 변수 A 및/또는 b를 업데이트하는 단계(S570)를 더 포함할 수도 있다.
비선형 최적화 알고리즘을 통해 필드 센서의 변수 K(또는 P), R, b의 새로운 값을 계산할 수도 있다(S570). 상기 비선형 최적화 알고리즘은 최소 자승 알고리즘, 최소 절대값 알고리즘, 매니폴드 최적화 알고리즘(manifold optimization), 구형 매니폴드 최적화(spherical manifold optimization) 알고리즘, 제약조건 최적화((Augmented) Lagrangian Method 등) 알고리즘 등을 포함할 수 있으나, 이에 제한되진 않는다.
일 예에서, 단계(S510)에서 변수K가 계산된 이후 상기 비선형 최적화 알고리즘으로 최소 자승 알고리즘을 사용할 경우, 센서 그룹 내 i번째 필드 센서의 Ki, Ri, bi는 다음의 수학식 5를 통해 계산된다.
[수학식 5]
Figure 112020110550918-pat00028
여기서,
Figure 112020110550918-pat00029
는 필드 센서의 단위 벡터로서, 공용 좌표계를 기준으로 표현한 필드 벡터 X를 정규화(normalized)한 단위 벡터로서, M개의 측정치를 사용하여 계산된다. 단위 벡터의 크기는 임의의 값 c으로 지정될 수도 있다. 자기장 센서일 경우 지구자기장 벡터(그 크기는 ch, 가속도 센서 또는 힘 센서일 경우 중력 벡터cg일 수도 있다.
상기 수학식 5의 제곱 오차 최소화를 해결하는 방향으로 센서 그룹 내 모든 필드 센서의 변수가 조절된다(S570). 필드 센서의 방향벡터의 단위 벡터의 크기가 최적화를 위한 제약 조건으로 활용된다.
센서 그룹 내 모든 필드 센서에 대해서 센서 프레임에 의한 예상치와 실제 측정치 간의 오차를 계산하여 오차를 최소화하는 새로운 값의 교정 변수 A, b가 획득된다.
수학식 5을 통해 계산된 새로운 값으로 필드 센서별 센서 프레임이 재-업데이트된다. 이러한 변수의 조절로 인해, 센서 그룹 측면에서 오차를 최소화하는 최적화 동작이 완료된다.
전술한 단계(S2)를 통해 제1 유형의 센서 그룹이 강체에 부착된 경우에도 별도의 측정 장치 등이 요구되지 않으면서, 아웃라이어 성분의 제거 및/또는 오차의 최소화를 통해 외란에 강인한 자가 교정 동작을 수행할 수 있다.
특히, 제1 유형의 센서 그룹의 다수의 필드 센서가 동일한 강체에 부착이 되어 있으면, 1개의 필드 센서가 측정할 수 없는 물리량을 측정할 수 있는 장점이 있다. 구체적으로, 다수의 가속도 센서이 동일한 강체에 부착되어 있으면, 강체의 “각가속도(angular acceleration)”를 측정할 수 있다.
또는, 다수의 자기장 센서들이 동일한 강체에 고정되어 있으면, 자성(magnetic) 물체 또는 도체로 되어 있는 물체(예: 차량)를 인식(detection)하고, 위치, 방향 등을 정확하게 계산하는데 활용될 수도 있는 장점이 있다.
제2 유형의 센서 그룹의 자가 교정
도 6은, 본 발명의 일 실시예에 따른, 제2 유형의 센서 그룹 내 각 필드 센서의 센서 프레임을 교정하는 과정의 흐름도이다.
제2 유형의 센서 그룹이 강체에 부착된 때, 즉 비틀어진 Q개의 센싱 축을 갖는 3차원 필드 센서 1개가 강체에 고정되어 있을 때, 강체의 표면에 직교하는 센서 좌표계는 사용자가 임의로 정의할 수 있다. 제2 유형의 센서 그룹에서 단계(S2)의 교정 변수는 A 및 b를 포함한다.
센서 그룹이 1개의 센서로 이루어져 있으므로, 공용 좌표계는 센서 좌표계와 동일하게 설정할 수 있다. 그러면, 제2 유형의 센서 그룹 내 단일 필드 센서에 의해 측정치가 획득된다(S1). M번 측정이 반복될 경우, M개의 측정치가 획득된다(S1).
j번째 측정에서 획득된, 필드 센서의 측정치
Figure 112020110550918-pat00030
벡터와 공용 좌표계를 기준으로 표현된 3차원 필드 벡터
Figure 112020110550918-pat00031
는 다음의 수학식 6의 관계를 가진다.
[수학식 6]
Figure 112020110550918-pat00032
3차원 필드 벡터를 감지하는 필드 센서의 센싱 축이 Q개이면, 상기 수학식 6에서
Figure 112020110550918-pat00033
,
Figure 112020110550918-pat00034
,
Figure 112020110550918-pat00035
형태를 가진다. 여기서,
Figure 112020110550918-pat00036
는 j번째 시점(time step)에서 3차원 필드 벡터를 공용 좌표계를 기준으로 표현한 벡터이다.
상기 수학식 6은 다음의 수학식 7로 변환될 수도 있다.
[수학식 7]
Figure 112020110550918-pat00037
여기서, a는 전치행렬이다. 측정이 M번 반복되면, 상기 수학식 6 및 7은 다음의 수학식 8로 표현될 수도 있다.
[수학식 8]
Figure 112020110550918-pat00038
수학식 8에서 행렬Y가 주어진 상태에서 행렬 A의 구속조건이 주어지면 행렬A와 벡터b를 계산할 수 있다(S2).
도 6을 참조하면, 측정치 중 적어도 일부를 사용하여 적어도 하나의 필드 센서의 센서 프레임을 교정하는 단계(S2)는 제2 유형의 센서 그룹이 강체에 부착된 경우, 제2 유형의 센서 그룹 내 각 필드 센서의 센서 프레임을 교정하는 단계를 포함한다. 단계(S2)에서 제2 유형의 센서 그룹 내 필드 센서별 교정 변수가 계산된다.
상기 단계(S2)는: 필드 센서의 교정 변수 A 및 해당 필드 센서의 내부 변수 b를 계산하는 단계(S630)를 포함한다. 상기 변수 A 및 b는 단일 필드 센서가 측정한 M개의 측정치 중 적어도 일부에 기초하여 행렬 형태로 계산된다.
Q축 필드 센서의 측정 행렬(measurement matrix) Y는 다음의 수학식 9로 표현될 수도 있다.
[수학식 9]
Figure 112020110550918-pat00039
일 실시예에서, 수학식 9에 행렬 분해 알고리즘을 적용하여 행렬 A 및 b를 포함한 다수의 변수를 계산할 수도 있다(S630).
상기 행렬 분해 알고리즘은 측정 행렬 Y을 가장 가깝게 표현하는 두 개의 랭크(rank)-4 행렬로 분해하는 알고리즘이다.
상기 행렬 분해 알고리즘은 예를 들어 Eckart-Young-Mirsky therom에 기반한 SVD(Singular Value Decomposition) 기법 또는 다양한 PCA 기법, 또는 랜덤한 초기 값을 사용하는 비선형 최적화 기법 등을 포함하나, 이에 제한되진 않는다.
예를 들어, 수학식 9의 Y에 Eckart-Young-Mirsky theorem 기반 SVD(singular value decomposition)를 적용하여 USVT를 계산한다. 여기서, S는 대각 행렬(diagonal matrix)로서 특이 값(singular value)을 가진다. 획득되는 S에서 첫 4개의 특이 값을 제외하고는 나머지 성분은 0으로 지정하여 랭크-4의 행렬S4를 획득할 수 있다. 획득된 랭크-4의 행렬S4는 아래의 수학식과 같이 측정 행렬Y가 최적의 랭크-4 행렬 두 개로 분해되는데 사용된다.
[수학식 10]
Figure 112020110550918-pat00040
단계(S630)를 통해 변수 A, b의 값이 동시에 추정된다.
일 실시예에서, 랭크-4 행렬의 분해를 통해 변수 A, b를 추정하는 단계(S630)는 변수 t의 각 성분(element)를 최대한 1로 변경하는 변환행렬을 적용하는 단계를 포함한다. 랭크-4 행렬 분해에 의한 수학식 10을 통해 변수 A, b의 초기 값이 추정되고, 변환행렬 h를 적용한 값에 기초하여 변수 A, b가 조절된다.
수학식 9의 인수분해(factorization)로 산출되는 해(solution)에서 변수 t가 물리적 의미를 가지려면 1-벡터여야 하는 제약 조건이 요구된다. 변수 t의 각 성분을 최대한 1로 바꿔주는 변환행렬 h은 다음의 수학식으로 표현된다.
[수학식 11]
Figure 112020110550918-pat00041
여기서, h는 4차원 벡터이다. 변수 h는
Figure 112020110550918-pat00042
의 일부 또는 전부의 성분으로부터 형성된다. 예를 들어, 전체 성분으로부터 형성되거나 또는 4개 이상의 열(즉, 측정 점)을 임의로 샘플링하여 형성된다.
이러한 변환행렬의 적용 결과 수학식 10은 각각 아래와 같이 변경된다.
[수학식 12]
Figure 112020110550918-pat00043
[수학식 13]
Figure 112020110550918-pat00044
랭크-4 행렬 분해 알고리즘의 적용 결과에 의한 변수 A, b는 수학식 12, 13을 통해 새로운 값으로 조절된다.
또한, 상기 단계(S2)는: 단계(S630)에서 획득된 변수 A, b를 포함한 센서 프레임에서 필드 센서의 방향벡터 X의 크기가 단위 벡터의 크기 c에 최대한 가까워지도록 변수 A, b를 교정하는 단계(S640)를 포함한다. 변수 A, b이 값은 단계(S610 및 S630)의 값으로부터 단계(S640)의 값으로 교정된다.
일 실시예에서 X의 각 열 벡터의 크기가 단위 벡터의 크기 c에 최대한 가깝게 하는 행렬 H를 계산하여 변수 A, b를 업데이트할 수도 있다(S640). 예를 들어, 단위 벡터의 크기가 1로 지정될 경우, X의 각 역 벡터의 크기가 1에 가깝게 변경된다. 참고로, 단계(S640)에서 X의 열 벡터의 크기를 1에 가깝게 변경하는 것은 단계(S630)에서 변수 t의 성분이 1에 가깝게 변경되는 것과 별개이다.
X의 각 열 벡터의 크기가 지정된 값 c(예컨대, 1)에 최대한 가깝게 하는 행렬 H는4×4 교정행렬이다.
선택적으로,
Figure 112020110550918-pat00045
는: M개의 측정치에서 아웃라이어 성분을 제거하고, 인라이어 성분의 측정치에 타원체 적용 알고리즘(ellipsoid fitting)을 적용하여 계산된다. 단위 벡터
Figure 112020110550918-pat00046
를 계산하는 과정에서 변수 K(또는 P), b가 함께 획득된다.
변수 K(또는 P)와 b는 교정행렬 H 간의 관계는 다음의 수학식 14로 정의된다.
[수학식 14]
Figure 112020110550918-pat00047
수학식 10에 기초하여 교정행렬 H가 획득된다. 획득된 교정행렬 H에 의해 단계(S610 및 S630)의 변수 A, b는 다음의 수학식 15 및 16을 통해 업데이트되며, 결국 방향 벡터 X의 크기가 최대한 지정된 값 c(예컨대, 1)이 되도록 교정된다.
[수학식 15]
Figure 112020110550918-pat00048
[수학식 16]
Figure 112020110550918-pat00049
단계(S610 내지 S640)를 통해 제2 유형의 센서 그룹 내 필드 센서의 센서 프레임은 공용 좌표계로 자가 교정된다.
선택적으로, 상기 방법은: Q개의 축에서 임의의 3개의 축을 선택하여 공용 좌표계를 설정하는 단계(S650)를 더 포함할 수도 있다.
공용 좌표계는 행렬 A에서 3개의 행을 임의로 지정하여 설정된다. 임의로 지정된 3개의 행은 3차원 축에 해당된다.
또한, 상기 방법은: 회전행렬 G를 계산하여 임의로 지정된 3개의 축을 재-정렬하는 단계(S660)를 더 포함할 수도 있다. 예를 들어, 3개의 축으로서 지정된 행이 행렬 내 연속하도록 정렬된다(S660). 그러면, 행렬 A는 수학식 2 또는 3을 만족하는 부분을 포함하도록 재-정렬될 수도 있다(S660).
상기 재-정렬하는 단계(S660)는: 행렬 A의 하위 행렬(submatrix)의 형태에 기초하여 회전 행렬 G를 계산하는 단계; 및 상기 회전행렬 G에 기초하여 행렬 A를 업데이트하는 단계를 포함할 수도 있다.
행렬 A 및
Figure 112020110550918-pat00050
를 업데이트하기 위한 이러한 회전 행렬 G는 행렬 A의 하위 행렬(submatrix)의 형태에 기초하여 계산된다. 회전 행렬 G는 행렬 A가 수학식 17 또는 18과 같은 형태를 갖게 한다.
일 실시예에서, 행렬 A의 하위 행렬 중 일부는 상기 수학식 2로 표현되는 KR 형태를 포함할 수도 있다. 이 경우, 행렬 A는 다음의 수학식 17으로 표현된다.
[수학식 17]
Figure 112020110550918-pat00051
여기에서,
Figure 112020110550918-pat00052
의 형태를 갖는다.
다른 일 실시예에서, 행렬 A의 하위 행렬 중 일부는 상기 수학식 3으로 표현되는 KR 형태를 포함할 수도 있다. 이 경우, 행렬 A는 다음의 수학식 18로 표현된다.
[수학식 18]
Figure 112020110550918-pat00053
여기에서,
Figure 112020110550918-pat00054
의 형태를 갖는다.
회전 행렬 G는 제2 유형의 센서 그룹 내 센서와 강체 간의 상대적 회전행렬이다. 센서 그룹이 단일 센서로 이루어지기 때문에 상대적 회전행렬과 동시에 절대적 회전행렬일 수도 있다.
상기 회전행렬 G를 계산하는 과정은 Wahba 문제 등에 기초한 단계(S520)의 회전행렬 R의 계산 과정과 유사하므로 자세한 설명은 생략한다.
단계(S640)의 행렬 A는 아래의 수학식 19를 통해 업데이트되면, 재-정렬 시 수학식 2 또는 3을 만족하는 새로운 행렬 A가 획득된다(S660).
[수학식 19]
Figure 112020110550918-pat00055
단계(S660)에서 행렬
Figure 112020110550918-pat00056
또한 수학식 20을 통해 업데이트될 수도 있다.
[수학식 20]
Figure 112020110550918-pat00057
이러한 단계(S630, S640 또는 S660)의 변수 A, b를 제2 유형의 센서 그룹 내 센서 프레임의 교정 변수로 사용하여 제2 유형의 센서 그룹 내 필드 센서의 센서 프레임을 자가 교정할 수 있다.
선택적으로, 상기 단계(S2)는: 외란에 강인한 센서 프레임을 얻기 위해 교정 변수 A 및 b를 업데이트하는 단계(S670)를 더 포함할 수도 있다. 단계(S630, S640 또는 S660)를 통해 업데이트된 교정 변수 A, b는 재-업데이트될 수도 있다(S670).
이전 단계(S630, S640 또는 S660)의 센서 프레임에 의한 예상치와 실제 측정치 간의 오차(또는 거리)를 최소화하는, 최적화 방법을 통해 외란에 강인하게 교정 변수 A, b를 업데이트한다(S670).
일 실시예에서, 업데이트될 새로운 교정 변수 A, b는 다음의 수학식 21을 통해 계산될 수도 있다.
[수학식 21]
Figure 112020110550918-pat00058
여기서, 예상치와 측정치 간의 차이의 합은 센서 그룹 내 필드 센서의 수 N개에 대해 수행된다.
상기 수학식 21과 같은 비선형화 최적화 문제를 풀 때, 매니폴드 최적화 알고리즘(manifold optimization), 구형 매니폴드 최적화(spherical manifold optimization) 알고리즘, 제약조건 최적화((Augmented) Lagrangian Method 등) 기법을 포함할 수 있으며, 또한 여러 가지 최적화 기법을 적용할 수 있다.
선택적으로, 상기 단계(S2)는: RANSAC 알고리즘을 실제 측정치의 센싱 축 및/또는 시점(time step)에 대해 적용하는 단계(S601)를 더 포함할 수도 있다. 이 경우, 실제 측정치 중 일부를 사용하여 변수 A, b가 예측될 수도 있다. RANSAC 알고리즘을 Q개의 센싱 축과 M개의 시점(즉, 측정 회수)에 모두 적용할 경우, 적용 결과로서 획득된 임의의 3축 이상 및 임의의 3개 이상의 데이터를 사용하여 변수 A, b가 예측된다.
예측된 변수 A, b가 나머지 센싱 축 및 시점에서의 측정치를 잘 만족하는지 확인한다(S670). 예를 들어, 각 센싱 축과 시점 별 측정치와 센서 프레임의 예상치 간의 오차(또는 거리)를 최소화하는지 확인한다(S670). 최소화되지 않는 오차가 획득되면, 오차가 최소화되도록 교정 변수 A, b는 업데이트될 수도 있다(S670). 이러한 확인 과정(S601 내지 S670)은 어느 정도 만족스러운 해(예컨대, 오차를 최소화하는 해)가 획득될 때까지 반복된다.
전술한 단계(S2)를 통해 제2 유형의 센서 그룹이 강체에 부착된 경우에도 별도의 측정 장치 등이 요구되지 않으면서, 아웃라이어 성분의 제거 및/또는 오차의 최소화를 통해 외란에 강인한 자가 교정 동작을 수행할 수 있다.
도 2 내지 도6을 참조하여 전술한 실시예들에 따르면, 상기 자가 교정 방법은 단순히 자가 교정의 효과를 얻는 것 이외의 두 가지 측면에서 강건한 장점을 가진다.
첫번째로서, 상기 자가 교정 방법은 아웃라이어 성분의 측정 벡터는 제거하여 교정 변수를 계산한다. 이로 인해, 임의의 모션으로 캘리브레이션을 할 경우 주위 환경 및 가속도로 인해 부득이하게 발생되는 아웃라이어에 강건하다.
두번째로서, 측정 데이터 취득이 용이하지 않는 큰 움직임을 요구하지 않는다. 상기 교정 방법은 상대적으로 작은 움직임을 통해 필드 센서를 회전시켜 측정치 데이터를 획득하더라도 보다 정확하게 필드 센서를 교정할 수 있다.
도 7은 비특허문헌 2(M. Kok and T. B. Sch¨on, "Magnetometer calibration using inertial sensors," IEEE Sensors Journal, vol. 16, no. 14, pp. 5679-5689, 2016)에서 자가 교정에 요구되는 측정치 데이터 세트의 분포를 센서 프레임 상에 개념적으로 시각화한 도면이고, 도 7은, 본 발명의 일 실시예에 따른, 자가 교정에 요구되는 측정치 데이터 세트의 분포를 센서 프레임 상에 개념적으로 시각화한 도면이다.
도 7 및 도 8에서 도형 모델은 개별 필드 센서의 센서 프레임을 모델링한 것으로서, 각 점은 자가 교정을 위한 초기 측정치 데이터의 분포를 나타낸다. 초기 측정치 데이터 중에서 아웃라이어 성분은 구별을 위해 x 기호로 표시된다.
도 7에 도시된 바와 같이, 종래에는 센서 프레임에 대응한 모델 상에 전체적으로 분포하는 측정치 데이터 세트를 사용해서 개별 필드 센서를 강체 또는 다른 필드 센서와 교정할 수 밖에 없었다.
이와 같이 전체적으로 분포하는 측정치 데이터 세트는 회전 방향이 급격하게 변화하도록 상대적으로 큰 움직임이 필드 센서에 작용할 경우에만 획득된다(S1). 결국, 종래에는 측정치 데이터의 취득이 용이하지 않는 큰 움직임을 요구하는 한계가 있었다.
반면, 도 8에 도시된 바와 같이, 본 출원의 실시예들에서는 센서 프레임에 대응한 모델 상에 국소적(local)으로 분포하는 측정치 데이터를 획득한 경우(S1) 정확한 자가 교정이 가능하다. 이러한 도 8의 측정치 데이터 세트를 획득하기 위한 움직임은 도 7의 움직임 대비 회전 방향의 변화가 매우 작은, 작은 움직임을 나타낸다.
도 9는, 도 7의 실시예에 도 8의 움직임이 적용된 경우 측정치 데이터 세트의 분포를 도시한 도면이다. 만약 도 8의 측정 데이터 세트를 획득하는데 사용된, 상대적으로 작은 움직임이 도 7에 적용될 경우, 측정치 데이터 세트는 도 9의 타원체 상에서 상대적으로 특정 지역에 집중한 분포를 가진다.
상기 종래의 실시예는 도 7의 분포를 갖는 측정치 데이터 세트를 사용해야만 정확한 교정이 가능하며, 도 9의 분포로는 정확한 자가 교정을 할 수 없다.
전술한 단계(S2)를 통해 제2 유형의 센서 그룹이 강체에 부착된 경우에도 별도의 측정 장치 등이 요구되지 않으면서, 아웃라이어 성분의 제거 및/또는 오차의 최소화를 통해 외란에 강인한 자가 교정 동작을 수행할 수 있다.
실시예들에 따른 상기 자가 교정 방법의 적어도 일부 단계는 시스템에 의해 수행될 수도 있다. 상기 시스템은 전적으로 하드웨어이거나, 전적으로 소프트웨어이거나, 또는 부분적으로 하드웨어이고 부분적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 시스템은 데이터 처리 능력이 구비된 하드웨어 및 이를 구동시키기 위한 운용 소프트웨어를 통칭할 수 있다. 본 명세서에서 "부(unit)", "모듈(module)", "장치", 또는 "시스템" 등의 용어는 하드웨어 및 해당 하드웨어에 의해 구동되는 소프트웨어의 조합을 지칭하는 것으로 의도된다. 예를 들어, 하드웨어는 CPU(Central Processing Unit), GPU(Graphic Processing Unit) 또는 다른 프로세서(processor)를 포함하는 데이터 처리 기기일 수 있다. 또한, 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.
상기 시스템은 필드 센서로부터 데이터를 수신하도록 구성된다. 이를 통해 상기 시스템은 측정치를 획득하여 자가 교정 동작을 수행할 수도 있다.
상기 시스템이 본 명세서에 서술되지 않은 다른 구성요소를 포함할 수도 있다는 것이 통상의 기술자에게 명백할 것이다. 예를 들어, 상기 시스템(1)은 네트워크 인터페이스, 데이터 엔트리를 위한 입력 장치, 및 디스플레이, 인쇄 또는 다른 데이터 표시를 위한 출력 장치, 및 데이터를 저장하는 메모리를 포함하는, 본 명세서에 서술된 동작에 필요한 다른 하드웨어 요소를 포함할 수도 있다.
이러한 시스템은 센서 그룹 내 필드 센서의 센서 프레임을 외란에 강인하게 공용 좌표계로 정확하게 교정할 수 있다. 센서 그룹이 복수의 필드 센서로 이루어진 경우, 시스템의 안정성을 증가시킬 수 있다.
이상에서 설명한 실시예들에 따른 자가 교정 방법 및 이를 수행하는 시스템에 의한 동작은 적어도 부분적으로 컴퓨터 프로그램으로 구현되어, 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 예를 들어, 프로그램 코드를 포함하는 컴퓨터-판독가능 매체로 구성되는 프로그램 제품과 함께 구현되고, 이는 기술된 임의의 또는 모든 단계, 동작, 또는 과정을 수행하기 위한 프로세서에 의해 실행될 수 있다.
상기 컴퓨터는 데스크탑 컴퓨터, 랩탑 컴퓨터, 노트북, 스마트 폰, 또는 이와 유사한 것과 같은 컴퓨팅 장치일 수도 있고 통합될 수도 있는 임의의 장치일 수 있다. 컴퓨터는 하나 이상의 대체적이고 특별한 목적의 프로세서, 메모리, 저장공간, 및 네트워킹 구성요소(무선 또는 유선 중 어느 하나)를 가지는 장치다. 상기 컴퓨터는 예를 들어, 마이크로소프트의 윈도우와 호환되는 운영 체제, 애플 OS X 또는 iOS, 리눅스 배포판(Linux distribution), 또는 구글의 안드로이드 OS와 같은 운영체제(operating system)를 실행할 수 있다.
상기 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록신원확인 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장신원확인 장치 등을 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인 프로그램, 코드 및 코드 세그먼트(segment)들은 본 실시예가 속하는 기술 분야의 통상의 기술자에 의해 용이하게 이해될 수 있을 것이다.
이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.

Claims (23)

  1. 프로세서에 의해 수행되는, 강체에 부착된 하나 이상의 필드 센서를 자가 교정하는 방법은:
    상기 하나 이상의 필드 센서로 이루어진 센서 그룹에 대해서 M번 측정하여, 개별 필드 센서(each field sensor)로부터 M개의 측정치를 획득하는 단계; 및
    상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 센서 프레임을 교정하는 단계를 포함하되,
    상기 센서 그룹이 복수의 3축 필드 센서로 이루어진 경우, 상기 각 필드 센서별 센서 프레임을 교정하는 단계는,
    상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계를 포함하고,
    상기 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계는:
    상기 M개의 측정치 중 적어도 일부에 기초하여 교정 변수 b를 포함한 다수의 내부 변수를 계산하는 단계;
    상기 M개의 측정치 중 적어도 일부에 기초하여, 회전행렬 R을 포함한 외부 변수를 계산하는 단계; 및
    상기 내부 변수와 상기 외부 변수에 기초하여 교정 변수 A를 계산하는 단계;를 포함하며,
    상기 다수의 내부 변수를 계산하는 단계는,
    상기 M개의 측정치에서 아웃라이어 성분의 측정치를 제거하는 단계;
    인라이어 성분의 측정치에 기초하여 변수 b를 포함한 내부 변수를 계산하는 단계; 및
    계산된 내부 변수 b, 그리고 K 또는 P의 값을 외란에 강인하도록 업데이트하되, 상기 계산된 내부 변수 b, 그리고 K 또는 P의 값을 비선형 최적화 알고리즘을 통해 업데이트하는 단계;를 포함하는 것을 특징으로 하는 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 내부 변수는 아래의 청구항 3의 수학식을 만족하는 교정 변수 A의 하위 행렬인 K 또는 P를 포함하는 것을 특징으로 방법.

    청구항 3의 수학식
    Figure 112022100906824-pat00059
    또는
    Figure 112022100906824-pat00060

    여기서, R은 필드 센서의 외부 변수로서 회전행렬임.
  4. 제3항에 있어서,
    상기 내부 변수 K는 정부호 상삼각 형태의 행렬이고,
    상기 내부 변수를 계산하는 단계는,
    상기 인라이어 성분의 측정치에 타원체 적용 알고리즘을 적용하여 AAT를 계산하는 단계; 및
    아래의 청구항 4의 수학식에 기초하여, 양의 정부호 행렬의 분해를 위한 알고리즘을 AAT에 적용하여 K를 계산하는 단계를 포함하는 것을 특징으로 하는 방법.

    청구항 4의 수학식
    Figure 112020110550918-pat00061

  5. 제3항에 있어서, 상기 내부 변수 P는 정부호 대칭 형태의 행렬이고,
    상기 내부 변수를 계산하는 단계는,
    상기 인라이어 성분의 측정치에 타원체 적용 알고리즘을 적용하여 AAT를 계산하는 단계; 및
    아래의 청구항 5의 수학식에 기초하여, 대칭 행렬의 분해를 위한 알고리즘을 AAT에 적용하여 P를 계산하는 단계를 포함하는 것을 특징으로 하는 방법.

    청구항 5의 수학식
    Figure 112020110550918-pat00062

  6. 제1항에 있어서,
    상기 외란에 강인한 내부 변수의 값은 아래의 청구항 6의 수학식을 통해 계산되는 것을 특징으로 하는 방법.

    청구항 6의 수학식
    Figure 112022100906824-pat00081

    여기서, i는 센서 그룹 내 필드 센서의 인덱스, y는 필드 센서의 측정치, j는 시점(time step), ρ(·)는 커널 함수, c는 필드 센서의 단위 벡터의 크기를 나타냄.
  7. 제1항에 있어서, 상기 M개의 측정치 중 적어도 일부에 기초하여 외부 변수를 계산하는 단계는,
    센서 그룹 내 센서 프레임 간의 상대적인 방향을 계산하기 위해, 센서 그룹에서 센서 쌍을 형성하여 센서 쌍의 상대적 회전행렬을 계산하는 단계; 및
    센서 그룹 내 개별 센서의 센서 프레임의 절대적인 방향을 각각 계산하기 위해, 필드 센서별 절대적 회전행렬을 계산하는 단계를 포함하되, 상기 절대적 회전행렬은 외부 변수 R인 것을 특징으로 하는 방법.
  8. 제7항에 있어서, 상기 M개의 측정치 중 적어도 일부에 기초하여 외부 변수를 계산하는 단계는,
    상기 센서 쌍의 상대적 회전행렬을 계산하기 이전에, 센서 쌍을 이루는 두 개의 필드 센서의 측정치에서 아웃라이어 성분의 측정치를 제거하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서, 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계는:
    센서 프레임에 의한 예상치와 실제 측정치 사이의 오차가 최소화되도록, 계산된 교정 변수 A 또는 b를 업데이트하는 단계를 더 포함하는 방법.
  10. 제9항에 있어서,
    상기 업데이트되는 교정 변수 A 또는 b의 값은 아래의 청구항 10의 수학식을 통해 획득되는 것을 특징으로 하는 방법.

    청구항 10의 수학식
    Figure 112020110550918-pat00064

    여기서, i는 센서 그룹(Ω)에 포함된 필드 센서의 인덱스, j는 시점(time step), ρ(·)는 커널 함수, c는 필드 센서의 단위 벡터의 크기를 나타냄.
  11. 제1항에 있어서,
    상기 센서 그룹이 Q개의 축(Q는 4 이상의 자연수)을 갖는 필드 센서를 포함한 경우, 각 필드 센서별 센서 프레임을 교정하는 단계는,
    상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계를 포함하고,
    상기 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계는:
    내부 변수로서 벡터 b를 획득하는 단계;
    측정 값으로 이루어진 측정 행렬 Y에 랭크(rank)-4 행렬 분해 알고리즘을 적용하여 행렬 A를 계산하는 단계; 및
    획득된 변수 A, b를 포함한 센서 프레임에서 방향 벡터의 크기가 지정된 값 c에 최대한 가까워지도록 상기 획득된 변수 A, b의 값을 교정하는 단계를 포함하되,
    상기 벡터 b는 임의의 벡터로 지정되고, 상기 값 c는 필드 센서의 방향 벡터의 단위 벡터의 크기 값인 것을 특징으로 하는 방법.
  12. 제11항에 있어서, 상기 행렬 A를 계산하는 단계;는,
    측정 행렬 Y를 아래의 청구항 12의 수학식으로 표현된 랭크-4 행렬로 분해하는 단계; 및
    변수 t의 각 성분을 최대한 1로 변환하는 단계를 포함하는 것을 특징으로 하는 방법.

    청구항 12의 수학식
    Figure 112022100906824-pat00065

    여기서, S4는 Y로부터 USVT를 계산하여 획득되는 대각 행렬로서, 첫 4개 성분을 특이 값(singular value)으로 포함하고 나머지 성분은 0으로 지정된 랭크-4 행렬임.
  13. 제11항에 있어서, 상기 획득된 변수 A, b는 아래의 청구항 13의 수학식 1으로 정의되는 교정행렬 H에 의해 지정된 값 c에 최대한 가까워지도록 교정되는 것으로서,
    변수 A, b는 청구항 13의 수학식 2를 통해 교정되는 것을 특징으로 하는 방법.

    청구항 13의 수학식 1
    Figure 112020110550918-pat00066


    청구항 13의 수학식 2
    Figure 112020110550918-pat00067

  14. 제11항에 있어서, 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계는:
    Q개의 축에서 임의의 3개의 축을 선택하여 공용 좌표계를 설정하는 단계;를 더 포함하는 방법.
  15. 제14항에 있어서, 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계는:
    상기 교정 변수 A의 하위 행렬(submatrix)의 형태에 기초하여 회전행렬 G를 계산하는 단계; 및 상기 회전행렬 G에 기초하여 행렬 A를 업데이트하는 단계를 더 포함하되,
    상기 행렬 A는 아래의 청구항 15의 수학식의 형태를 갖도록 업데이트되는 것을 특징으로 하는 방법.

    청구항 15의 수학식
    Figure 112022100906824-pat00068
    또는
    Figure 112022100906824-pat00069

    여기서, K 또는 P는 필드 센서의 내부 변수로서, K는 정부호(positive definite) 행렬이고, P는 대칭 행렬의 형태임.
  16. 제11항에 있어서, 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 교정 변수 A 및 b를 계산하는 단계는:
    센서 프레임에 의한 예상치와 실제 측정치 사이의 오차가 최소화되도록, 교정 변수 A 또는 b를 업데이트하는 단계를 더 포함하는 방법.
  17. 제16항에 있어서,
    상기 업데이트되는 교정 변수 A 또는 b의 값은 아래의 청구항 17의 수학식을 통해 획득되는 것을 특징으로 하는 방법.

    청구항 17의 수학식
    Figure 112020110550918-pat00070

    여기서, i는 센서 그룹에 포함된 필드 센서의 인덱스, j는 시점(time step), ρ(·)는 커널 함수, c는 필드 센서의 단위 벡터의 크기를 나타냄.
  18. 제11항에 있어서,
    교정 변수 A 또는 b를 계산하기 이전에, RANSAC 알고리즘을 Q개의 센싱 축과 M개의 시점에 적용하는 단계를 더 포함하되,
    RANSAC 알고리즘의 적용 결과로서 획득된 임의의 3 축 이상 및 임의의 3개 이상의 측정 회수에서의 측정치를 사용하여 교정 변수 A 또는 b가 계산되는 것을 특징으로 하는 방법.
  19. 제18항에 있어서,
    RANSAC 알고리즘의 적용 결과로서 획득되지 않은 나머지 센싱 축 및 측정 회수에서의 측정치를 사용하여, 센서 프레임의 예상치와 실제 측정치 간의 오차가 최소화하는지 확인하는 단계를 더 포함하는 방법.
  20. 제1항에 있어서, 상기 센서 그룹은,
    복수의 3축 가속도 센서를 포함하거나, 복수의 3축 힘 센서를 포함하거나, 하나 이상의 3축 힘 센서와 하나 이상의 3축 가속도 센서를 포함하거나, 또는 복수의 3축 자기장 센서를 포함하는 것을 특징으로 하는 방법.
  21. 제11항에 있어서, 상기 센서 그룹은,
    4개 이상의 축을 갖는 가속도 센서, 힘 센서, 또는 자기장 센서로 이루어진 것을 특징으로 하는 방법.
  22. 컴퓨팅 장치에 의해 판독가능하고, 상기 컴퓨팅 장치에 의해 동작 가능한 프로그램 명령어를 저장하는 컴퓨터 판독가능 기록매체로서, 상기 프로그램 명령어가 상기 컴퓨팅 장치의 프로세서에 의해 실행되는 경우 상기 프로세서가 제1항, 제3항 내지 제21항 중 어느 하나의 항에 따른 방법을 수행하게 하는 컴퓨터 판독가능 기록매체.
  23. M개의 시점에서 측정하여 각각 M개의 측정치를 출력하는, 강체에 부착된 하나 이상의 필드 센서 - 상기 하나 이상의 필드 센서는 3축 필드 센서 또는 4개 이상의 축을 갖는 필드 센서를 포함함; 및
    상기 하나 이상의 필드 센서로부터 각각 M개의 측정치를 획득하고, 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 센서 프레임을 교정하도록 구성된, 프로세서를 포함하며,
    상기 프로세서는,
    상기 센서 그룹이 복수의 3축 필드 센서로 이루어진 경우, 상기 각 필드 센서별 센서 프레임을 교정하기 위해, 상기 M개의 측정치 중 적어도 일부를 사용하여 각 필드 센서별 교정 변수 A 및 b를 계산하되,
    상기 각 필드 센서별 교정 변수 A 및 b를 계산하기 위해,
    상기 M개의 측정치 중 적어도 일부에 기초하여, 교정 변수 b를 포함한 다수의 내부 변수를 계산하고,
    상기 M개의 측정치 중 적어도 일부에 기초하여, 회전행렬 R을 포함한 외부 변수를 계산한 후,
    상기 내부 변수와 상기 외부 변수에 기초하여 교정 변수 A를 계산하고,
    상기 다수의 내부 변수를 계산할 때,
    상기 M개의 측정치에서 아웃라이어 성분의 측정치를 제거한 후, 인라이어 성분의 측정치에 기초하여 변수 b를 포함한 내부 변수를 계산하고, 계산된 내부 변수 b, 그리고 K 또는 P의 값을 외란에 강인하도록 업데이트하되, 상기 계산된 내부 변수 b, 그리고 K 또는 P의 값을 비선형 최적화 알고리즘을 통해 업데이트하는 것을 특징으로 하는 컴퓨팅 장치를 포함하는 시스템.
KR1020200135538A 2020-10-19 2020-10-19 3개 이상의 센싱 축을 갖는, 하나 이상의 필드 센서를 자가 교정하는 방법 및 이를 수행하는 시스템 KR102526278B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200135538A KR102526278B1 (ko) 2020-10-19 2020-10-19 3개 이상의 센싱 축을 갖는, 하나 이상의 필드 센서를 자가 교정하는 방법 및 이를 수행하는 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200135538A KR102526278B1 (ko) 2020-10-19 2020-10-19 3개 이상의 센싱 축을 갖는, 하나 이상의 필드 센서를 자가 교정하는 방법 및 이를 수행하는 시스템

Publications (2)

Publication Number Publication Date
KR20220051752A KR20220051752A (ko) 2022-04-26
KR102526278B1 true KR102526278B1 (ko) 2023-04-28

Family

ID=81391390

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200135538A KR102526278B1 (ko) 2020-10-19 2020-10-19 3개 이상의 센싱 축을 갖는, 하나 이상의 필드 센서를 자가 교정하는 방법 및 이를 수행하는 시스템

Country Status (1)

Country Link
KR (1) KR102526278B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020158485A1 (ja) * 2019-01-28 2020-08-06 パナソニックIpマネジメント株式会社 複合センサおよび角速度補正方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010029668A1 (de) * 2010-06-02 2011-12-08 Robert Bosch Gmbh Kalibrierung eines dreiachsigen Magnetfeldsensors
KR101209571B1 (ko) * 2010-10-20 2012-12-07 한국과학기술연구원 자동 교정 방법 및 장치
KR20140076214A (ko) * 2012-12-12 2014-06-20 코리아디지탈 주식회사 3축 가속도 센서를 구비한 기상관측장치
KR101503046B1 (ko) * 2013-08-22 2015-03-24 한국과학기술연구원 다축 감지 장치 및 이의 교정 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020158485A1 (ja) * 2019-01-28 2020-08-06 パナソニックIpマネジメント株式会社 複合センサおよび角速度補正方法

Also Published As

Publication number Publication date
KR20220051752A (ko) 2022-04-26

Similar Documents

Publication Publication Date Title
US7890291B2 (en) Method and device for detecting a substantially invariant rotation axis
Pylvänäinen Automatic and adaptive calibration of 3D field sensors
CN104884902B (zh) 用于三轴磁力计和三轴加速度计的数据融合的方法和装置
WO2022160391A1 (zh) 磁力计信息辅助的mems陀螺仪标定方法及标定系统
US10788324B2 (en) Method and apparatus for calculation of angular velocity using acceleration sensor and geomagnetic sensor
JP6191145B2 (ja) オフセット推定装置及びプログラム
Pedley High-precision calibration of a three-axis accelerometer
Zhang et al. Calibration of miniature inertial and magnetic sensor units for robust attitude estimation
US8249393B2 (en) Image processing apparatus and image processing method
CN110954134B (zh) 陀螺仪偏差校正方法、校正系统、电子设备及存储介质
CN107765244B (zh) 基于机载双天线InSAR基线测量方法和装置
CN101652629A (zh) 用于定向感测的方法和系统
US20130135463A1 (en) Information processing apparatus, information processing method and computer-readable storage medium
JP5866893B2 (ja) 地磁気測定装置
CN114485641A (zh) 一种基于惯导卫导方位融合的姿态解算方法及装置
CN106813679A (zh) 运动物体的姿态估计的方法及装置
CN107339987A (zh) 一种基于函数迭代积分的刚体姿态解算方法
KR102521697B1 (ko) 3개 이상의 센싱 축을 갖는, 다수의 필드 센서를 자가 교정하는 방법 및 이를 수행하는 시스템
JP5899726B2 (ja) 地磁気測定装置、地磁気測定方法、及び地磁気測定プログラム
KR102526278B1 (ko) 3개 이상의 센싱 축을 갖는, 하나 이상의 필드 센서를 자가 교정하는 방법 및 이를 수행하는 시스템
CN111551258B (zh) 一种基于自适应加权的多红外传感器测温校正方法
CN110672127A (zh) 阵列式mems磁传感器实时标定方法
JP4612804B2 (ja) 位置姿勢計測方法および情報処理装置
CN117630784A (zh) 十参数三轴磁传感器标定方法和装置
Chen et al. A heading correction technology based on magnetometer calibration and adaptive anti-interference algorithm

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant