disturbance compensation mechanism for improving immu

110
석사학위논문 관성자기센서 기반 자세추정 성능 향상을 위한 교란 보상 메커니즘 Disturbance Compensation Mechanism for Improving IMMU-Based Orientation Estimation Performance 지도교수 한경대학교 대학원 기계공학과 2018 2

Upload: others

Post on 25-Oct-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

석사학위논문

관성자기센서 기반 자세추정

성능 향상을 위한 교란 보상 메커니즘

Disturbance Compensation Mechanism for Improving

IMMU-Based Orientation Estimation Performance

지도교수 이 정 근

한경대학교 대학원

기계공학과

최 미 진

2018 년 2 월

석사학위논문

관성자기센서 기반 자세추정

성능 향상을 위한 교란 보상 메커니즘

Disturbance Compensation Mechanism for Improving

IMMU-Based Orientation Estimation Performance

지도교수 이 정 근

한경대학교 대학원

기계공학과

최 미 진

2018 년 2 월

공학석사학위논문

관성자기센서 기반 자세추정

성능 향상을 위한 교란 보상 메커니즘

Disturbance Compensation Mechanism for Improving

IMMU-Based Orientation Estimation Performance

이 논문을 공학 석사 학위논문으로 제출함

2017 년 12 월

한경대학교 대학원

기계공학과

최 미 진

최미진의 공학 석사

학위논문을 인준함

심사 위원장 (인)

심 사 위 원 (인)

심 사 위 원 (인)

2017 년 12 월

한경대학교 대학원

목 차

표 목차 ………………………………………∙……………… ⅰ

그림 목차 ………………………………………∙……………… ⅱ

국문 요약 ………………………………………∙………………∙ ⅳ

1. 서 론 ∙∙…………………………………………………∙ 1

1.1 연구 배경 ∙…………………………………………………∙ 1

1.2 연구 내용 ∙…………………………………………………∙ 2

2. 교란성분 모델링이 관성자기센서 기반 자세추정 정확성에 미치는 영향 ∙∙…………………………………∙ 5

2.1 서 론 ………………………………………∙………………∙ 5

2.2 교란성분 모델링 및 실험 ∙………………………………∙ 7

2.2.1 교란성분 모델링 ………………………………………∙ 7

2.2.2 실 험 …………………………………………………… 11

2.3 결 과 ………………………………………∙………………∙ 12

2.3.1 파라미터 튜닝에 따른 추정정확성 민감도 ∙………∙ 12

2.3.1 파라미터 고정시 추정정확성 ∙………………………∙∙ 14

2.4 고찰 및 결론 ………………………………………………∙ 16

Acknowledgement ………………………………………………∙ 18

3. 정확한 방위각 추정을 위한 차수 변환 방식

자기왜곡 보상 메커니즘 ………………………………… 19

3.1 서 론 ………………………………………∙………………∙ 19

3.2 자기왜곡 보상 메커니즘 ∙………………………………∙ 21

3.2.1 자기왜곡 모델링 ∙∙∙……………………………………∙ 21

3.2.2 방위각 칼만필터 ∙∙∙……………………………………∙ 22

3.2.3 차수 변환 방식 ∙∙∙……………………………………∙ 25

3.3 실 험 ………………………………………∙………………∙ 26

3.3.1 실험 장치 구성 ………………………………………∙ 26

3.3.2 시험 조건 및 설정 …………………………………… 27

3.4 결과 및 고찰 ………………………………………………∙ 29

3.5 결 론 ………………………………………∙………………∙ 35

Acknowledgement ………………………………………………∙ 36

4. 자기교란에 대한 영향을 헤딩 추정에 제한시킨

순차적 자세 칼만필터 ………………………………… 37

4.1 서 론 ………………………………………∙………………∙ 37

4.2 자세추정 칼만필터 ………………………………………… 39

4.2.1 문제 정의 ……………………………………………… 39

4.2.2 추정 알고리즘 ………………………………………… 41

4.3 실험 결과 ∙…………………………………………………∙ 46

4.3.1 검증실험 ………………………………………………∙ 46

4.3.2 결 과 ∙…………………………………………………∙ 48

4.4 고찰 및 결론 ………………………………………………∙ 52

Acknowledgement ………………………………………………∙ 55

5. 가속도로 인한 부정확성 제거를 위해 기구학적

구속조건을 결합한 관성센반 자세추정 …………… 56

5.1 서 론 ………………………………………∙………………∙ 56

5.2 제안하는 자세추정 칼만필터 ……………………………∙ 58

5.2.1 센서가속도 구속조건 ∙∙………………………………∙ 58

5.2.2 구속 칼만필터 ………………………………………… 61

5.3 검증 실험 …………………………………………………∙ 63

5.3.1 실험 장치 구성 ………………………………………∙ 63

5.3.2 시험 조건 ………………………………………………∙ 65

5.4 결과 및 고찰 ………………………………………………∙ 66

5.5 결 론 ………………………………………∙………………∙ 68

Acknowledgement ………………………………………………∙ 69

6. 기구학적 구속조건을 투영한 IMU 기반

자세추정 칼만필터 ……………………………………… 70

6.1 서 론 ………………………………………∙………………∙ 70

6.2 자세추정 구속 칼만필터 …………………………………∙ 72

6.2.1 자세추정 칼만필터 …………………………………… 73

6.2.2 구속방정식 ∙……………………………………………∙ 74

6.2.3 구속 투영 기법 ∙………………………………………∙ 77

6.3 검증 실험 ……………………………………………… 80

6.4 결과 및 고찰 ……………………………………………… 82

6.5 결 론 ………………………………………∙………………∙ 85

Acknowledgement ………………………………………………∙ 86

7. 결 론 ∙∙…………………………………………………∙ 87

참 고 문 헌 ………………………………………………… 91

ABSTRACT ………………………………………………… 97

- i -

표 목차

Table 2.1 RMSEs in estimations from four different methods (unit: degree). …………………………………………………… 14

Table 3.1 Experimental conditions for the four validation tests. …… 28

Table 3.2 Results of azimuth and tilt RMSEs (unit: degree). ……… 32

Table 3.3 Azimuth estimation RMSEs depending on the order of

magnetic distortion model (unit: degree). ……………… 33

Table 4.1 Test results of the root mean squared error (in units of degree). …………………………………………………… 51

Table 5.1 Specification of the MPU6050. ………………………… 63

Table 5.2 RMSEs from Test A, B, C, D (unit: degree). …………… 66

Table 6.1 RMSEs of attitude estimation (unit: degree). …………… 81

- ii -

그림 목차

Fig. 2.1 Flowchart of the attitude-heading estimation algorithm with disturbance models (gray boxes). ………………… 8

Fig. 2.2 Test setup: OptiTrack Flex13 and MTw. ………………… 11

Fig. 2.3 Parameter tuning results of Method A: RMSEs in

estimation of (a) Test 1, (b) Test 2, and (c) Test 3. ……… 13

Fig. 2.4 Parameter tuning results of Method B: RMSEs in estimation of (a) Test 1, (b) Test 2, and (c) Test 3. ……… 13

Fig. 2.5 Yaw estimation errors in Test 3 with respect to the truth

reference from the optical tracker (dashed). …………… 15

Fig. 3.1 Proposed magnetic distortion compensation mechanism. . 23

Fig. 3.2 Switching from the first-order KF to the second-order KF in the fading memory average technique. ……………… 26

Fig. 3.3 Experimental setup for motor test. ……………………… 27

Fig. 3.4 Results of Test 2: (a) exposed magnetic distortion for each

axis, (b) roll estimation error, and (c) azimuth estimation error. ……………………………………………………… 30

Fig. 3.5 Results of Test 3: (a) exposed magnetic distortion for each

axis, (b) pitch estimation error, and (c) azimuth estimation error. ……………………………………………………… 31

Fig. 3.6 Azimuth estimation error depending on the order of

magnetic distortion model for Test 3. …………………… 34

Fig. 4.1 Inertial and sensor frames, and dip angle. ……………… 40

Fig. 4.2 Structure of the proposed sequential Kalman filter. …… 45

Fig. 4.3 Test setup: optical motion tracker and MTw IMMU sensor. …………………………………………………… 46

- iii -

Fig. 4.4 Test B results: (a) exposed magnetic disturbance for each axis, and (b)-(d) estimation errors with respect to the true reference. ………………………………………………… 49

Fig. 4.5 Test D results: (a) exposed magnetic disturbance for each

axis, and (b)-(d) estimation errors with respect to the true reference. ………………………………………………… 50

Fig. 5.1 An inertial sensor attached to a constrained link by a ball

joint. ……………………………………………………… 59

Fig. 5.2 Test setup: inertial sensor MPU6050 and optical markers attached to the link with the ball joint constraint. ……… 64

Fig. 5.3 Results of Test D: Estimation errors from the conventional

KF (red solid) and the proposed KF (blue solid) with respect to the truth reference angles (black dashed). …… 67

Fig. 6.1 Spherical joint constraint. ……………………………… 74

Fig. 6.2 Configuration of sensors and joint. ……………………… 76

Fig. 6.3 Flowcharts of the conventional unconstrained approach

and the three constraint projection methods: (a) conventional unconstrained Kalman filter, (b) OEP, (c) CEP, and (d) SPP. * Dashed lines indicate from where the posteriori estimate of the previous time comes for the prediction. ……………………………………………… 78

Fig. 6.4 Results of Test A-1: attitude estimation errors from the

conventional unconstrained Kalman filter (red) and the three constrained Kalman filters (OEP-green, CEP and SPP-blue) with respect to the truth reference angle (black dashed). ………………………………………………… 83

Fig. 6.5 Results of Test B-2: attitude estimation errors from the

conventional unconstrained Kalman filter (red) and the three constrained Kalman filters (OEP-green, CEP and SPP-blue) with respect to the truth reference angle (black dashed). ………………………………………………… 84

- iv -

국 문 요 약

관성자기센서 기반 자세추정

성능 향상을 위한 교란 보상 메커니즘

논문 제출자 최 미 진

지 도 교 수 이 정 근

이동물체 또는 인간에 대한 3 차원 자세는 다양한 분야에서

요구되고 있는 중요한 물리량이다. 특히, 관성자기센서를 이용하여

자세를 추정하는 방식은 소형경량시스템이며, 장소에 구애 없이

어디서든 사용이 가능한 장점으로 인해 많은 분야에서 사용되고 있다.

이러한 관성자기센서 기반 자세추정에 있어 추정 성능을 저하시키는

대표적인 요인으로 지자기센서 신호와 관련된 자기교란과 가속도계

신호와 관련된 외부가속도가 있다. 따라서 자세추정 알고리즘에 있어

추정 성능 저하를 방지하기 위한 교란 보상 메커니즘이 반드시

필요하다. 본 논문에서는 관성자기센서 기반의 3 차원 자세추정 성능을

향상시키기 위해, 자세추정 성능을 저하시키는 교란성분을 보상하는

메커니즘에 대한 연구를 수행하였다. 구체적으로는 순차적 자세추정

구조, 자기교란과 관련한 차수 변환 방식, 외부가속도와 관련한

기구학적 구속조건 등이 제안되었으며, 이러한 보상 메커니즘을

적용한 자세추정 방식들이 기존 방식 대비 향상된 성능을 보였다. 본

논문의 연구 결과는 실질적인 관성자기센서 기반 모션캡쳐시스템을

구현하는데 효율적으로 활용될 수 있을 것이라 기대한다.

주제어: 자세추정, 관성자기센서, 교란 보상 메커니즘, 칼만필터

- 1 -

1. 서 론

1.1 연구 배경

최근 소형센서와 모바일 컴퓨팅 기술의 비약적인 발전으로 동작감지

기술에 대한 연구가 다양한 분야에서 활발히 진행되고 있다. 이러한

동작감지 기술에 기본이 되는 것은 이동물체 또는 인간에 대한 정확한

3 차원 자세(orientation)를 추정하는 것이다. 예를 들어, 무인자동차나

항공기와 같은 이동물체의 항법 시스템부터 스포츠과학이나 재활과

같은 휴먼 모션캡쳐(human motion capture) 분야에 이르기까지

자세추정은 다양한 분야에서 사용되고 있다[1-3]. 특히, 관성 모션

캡쳐(inertial motion capture)라 불리는 관성자기센서(inertial and magnetic

measurement unit, IMMU)기반의 3 차원 자세추정 방식은 소형

경량시스템이며, 장소에 제한 없이 어디서든 사용이 가능한 장점으로

인해 이동형 시스템에서 많이 사용되는 추정 방식이다[2-4]. 여기서

관성자기센서는 3 축 자이로스코프(gyroscope)와 3 축 가속도계

(accelerometer)로 이루어진 IMU(inertial and magnetic measurement unit)에

3 축 지자기센서(magnetometer)가 결합된 센서모듈이다. 일반적으로

관성자기센서의 신호는 칼만필터(Kalman filter)를 통해 융합된다[5-7].

다양한 방식의 관성자기센서기반 자세추정 칼만필터가 개발되었으나,

자이로스코프로 측정된 각속도를 적분하여 자세를 예측(prediction)하고,

적분과정을 반복함에 따라 누적되는 표류(drift)오차를 가속도계와

지자기센서가 제공하는 고정 참조벡터(reference vector)를 이용하여

보정(correction)한다는 기본 개념은 동일하다[6-9]. 여기서 가속도계는

수직방향 참조벡터인 중력가속도를 통해 2 차원 자세인 롤(roll)과

- 2 -

피치(pitch)에 해당되는 attitude(또는 tilt)을 보정하고, 지자기센서는

수평방향 참조벡터인 지구자기장(local magnetic field)을 통해 요(yaw)에

해당하는 heading(또는 azimuth)을 보정한다. 그러나 동적 조건에서

가속도계 신호는 중력가속도에 센서가 움직이면서 발생하는

외부가속도(또는 센서가속도, external acceleration)가 교란성분으로

더해지게 되고, 지자기센서 신호는 지구자기장에 센서 주변의

자성체에 의해 발생되는 자기교란(또는 자기왜곡, magnetic distortion)이

교란성분으로 더해져 정확한 참조벡터를 측정할 수 없게 된다. 이처럼

참조벡터에 교란성분이 더해지게 되면 참조벡터의 “고정성(constant)”이

훼손되고 이는 자세추정에 있어 정확성 저하의 주된 원인이 된다[5,7].

따라서 자세추정 알고리즘에 있어 추정 성능 저하를 방지하기 위한

교란 보상 메커니즘이 반드시 필요하다. 본 논문에서는 자세추정

성능을 향상시키기 위해 교란성분을 보상하는 다양한 메커니즘을

제안한다.

1.2 연구 내용

본 논문은 관성자기센서 기반 자세추정 성능 향상을 위한 교란 보상

메커니즘에 대한 연구이다. 자기교란과 외부가속도는 모두 시변

교란(time-varying disturbance) 성분으로 자성체 주변에서는 자기교란에

의해, 동적 조건에서는 외부가속도에 의해 자세추정 성능이 크게

영향을 받는다. 이러한 두 교란성분이 발생하는 조건이 서로 상이한

만큼 본 논문에서는 자기교란과 외부가속도를 구분하여 각각에 대한

보상 메커니즘을 제안한다.

본 논문의 구성은 다음과 같다.

- 3 -

2 장에서는 자세추정과 관련된 두 가지 교란성분에 의한 영향을

최소화하기 위한 모델링기반 보상 메커니즘에 대한 내용을 다룬다. 이

장에서는 교란성분 모델링이 자세추정 성능에 미치는 영향을 확인하기

위해 모델링에 차이가 있는 기존의 모델링기반 보상 메커니즘을

다양한 시험조건에서 비교·분석한다.

3 장과 4 장에서는 두 가지 교란성분 중에서 지자기센서와 관련된

자기교란에 대한 보상 메커니즘을 제안한다.

3 장에서는 자기교란 모델의 차수 변환 방식 자기교란 보상

메커니즘을 적용한 3 차원 자세추정 칼만필터를 제안한다. 이 장에서

제안하는 칼만필터는 자기교란을 보상할 뿐만 아니라, attitude

칼만필터와 heading 칼만필터가 병렬구조로 구성되어 독립적으로

추정함으로써, 쿼터니언 방식의 자세성분 혼합문제를 근본적으로

해결한 자세추정 알고리즘이다.

4 장에서는 자기교란에 대한 영향을 heading 추정에 제한시킨 순차적

자세추정 칼만필터를 제안한다. 이 장에서 제안하는 칼만필터는

attitude 칼만필터와 heading 칼만필터가 AHRS(attitude and heading

reference system)에 부합되는 순차적인 구조로 구성되어, 자기교란의

영향이 attitude 추정에 무관하고 heading 추정에 제한된 알고리즘이다.

또한, 매시간 복각(dip angle)을 새롭게 계산하여 지구자기장벡터를

관성좌표계의 수평축에 투영함으로써 heading 을 추정한다.

5 장과 6 장에서는 두 가지 교란성분 중에서 외부가속도를 보상하기

위해 기구학적 구속조건을 적용한 보상 메커니즘을 제안한다.

5 장에서는 기구학적 구속조건을 이용하여 가속도로 인한

불확실성을 근본적으로 제거하고, 이를 통해 운동조건에서도 강건한

IMU 기반 attitude 추정 칼만필터를 제안한다. 이 장에서는 볼

조인트(ball joint)를 대상으로 센서가속도 구속조건식을 유도하고,

- 4 -

유도된 구속조건식을 칼만필터의 측정벡터와 결합한 새로운 구조의

자세추정 칼만필터를 제안한다.

6 장에서는 기존의 비구속 칼만필터에 기구학적 구속조건을 투영한

IMU 기반 attitude 추정 칼만필터를 제안한다. 이 장에서는 구면

조인트(spherical joint)를 대상으로 외부가속도에 대한 구속방정식을

유도하고, 유도된 구속방정식을 결합하기 위해 투영법 방식의

OEP(open-loop estimate projection), CEP(closed-loop estimate projection),

SPP(state prediction projection)를 적용하여, 투영법에 따른 자세추정

성능을 비교·분석한다.

마지막으로 7 장에서는 본 논문의 결론과 각 장에 대한 내용을

요약하여 서술한다.

- 5 -

2. 교란성분 모델링이 관성자기센서 기반

자세추정 정확성에 미치는 영향

2.1 서 론

소형센서와 모바일 컴퓨팅 기술의 비약적인 발전으로 장소의 구애를

받지 않는 동작감지 기술이 다양한 산업에서 주목받고 있다[4]. 특히,

9 축 관성자기센서(inertial and magnetic measurement unit, IMMU) 기반의

3 차원 자세추정은 관성 모션캡쳐(inertial motion capture) 기술의

핵심으로 재활에서 가상 현실에 이르기까지 다양한 분야에 적용되고

있다[3,6-8]. 여기서 9 축 IMMU 는 3 축 가속도계(accelerometer)와 3 축

자이로스코프(gyroscope)로 구성된 6 축 IMU(inertial measurement unit)에

3 축 지자기센서(magnetometer)를 결합한 센서모듈이다.

일반적으로 3 차원 자세는 오일러각(Euler angle), 쿼터니언(quaternion),

또는 DCM(direction cosine matrix)의 형태로 표현된다. 오일러각은

특이점(singularity) 문제에 따른 불편함으로 사용이 제한적인 반면,

쿼터니언은 특이점 문제도 없고, 변수도 DCM 에 비해 적어서 가장

보편적으로 사용되어 왔다[6,9-11]. 하지만 쿼터니언은 오일러각이나

DCM 보다 직관적이지 못하며, 무엇보다 롤(roll), 피치(pitch),

요(yaw)성분이 서로 영향을 받는 문제점이 있다[12,13]. 최근 들어

DCM 방식은 AHRS(attitude and heading reference system)에서 attitude 와

heading 을 별도로 처리 가능하며, 이를 통해 앞서 언급한 쿼터니언의

성분혼합문제가 근본적으로 해결되는 장점으로 인해 새롭게 관심을

받고 있다[14]. 이때 attitude 는 중력축에 대한 기울기로 롤과 피치를

내포하고 있으며, heading 은 진행방향각으로 요에 해당한다.

- 6 -

3 차원 자세추정에 있어 대표적인 정확성 저하요인은 가속도계

신호와 관련된 외부가속도와 지자기센서 신호와 관련된 자기교란이라

할 수 있다. 여기서, 외부가속도 a 는 동적 조건에서 수직방향

참조벡터 역할을 하는 중력가속도성분 g 에 더해져 가속도계 신호 As

에 교란요소로 추가되며, 자기교란 d 는 자성체주변에서 수평방향

참조벡터 역할을 하는 지구자기장성분 m 에 더해져 지자기센서 신호

Ms 에 교란요소로 추가된다. 따라서 외부가속도와 자기교란은 모두

시변 교란(time-varying disturbance)성분으로 동적 조건에서는

외부가속도에 의해, 자성체주변에서는 자기교란에 의해 자세추정의

정확성이 크게 영향을 받는다[7].

두 교란성분에 의한 영향을 최소화하기 위한 방법으로

문턱값(threshold)을 설정하고, 조건에 따라 가속도계 또는 지자기센서

신호 대비 자이로스코프 신호의 가중치를 스위칭을 통해 조절하는

방식(switching approach)이 많이 사용된다[6,9,11]. 또 다른 접근방식으로

두 교란성분을 모델링하여 상태방정식에 포함시키는 방식(model-based

approach)이 있다. Lee[15]는 쿼터니언 자세추정 알고리즘[10]에 두

방식을 적용하여 비교하였는데 모델링기반 기법이 다소 우수한 성능을

보였다. 또한, Ligorio 와 Sabatini[16]는 쿼터니언 자세추정 알고리즘

[11]과 DCM 자세추정 알고리즘[8]에 스위칭 기법과 모델링기반 기법을

교차 적용하여 성능을 비교하였으며, 여기서도 모델링기반 기법의

우수성이 소개된 바 있다.

최근 두 개의 DCM 방식 3D 자세 알고리즘이 발표되었다. 첫

번째는 참고문헌[18]에 소개된 6 축 IMU 기반 attitude 알고리즘을

확장시킨 9 축 IMMU 기반 attitude-heading 알고리즘[7]이다 (이후 이를

Method A 라 한다). 두 번째는 참고문헌[17]에 소개된 6 축 IMU 기반

attitude 알고리즘을 확장시킨 9 축 IMMU 기반 attitude-heading

- 7 -

알고리즘[8]이다 (이후 이를 Method B 라 한다). Method A 와 B 는

상태벡터 설정이 서로 유사하며, 스위칭 기법이 아닌 모델링기반

기법을 채택하고 있다는 공통점을 지녔다. 하지만 교란성분을

모델링하는 구체적인 방식에 있어 차이가 있으며, 이로 인해 진행잡음

공분산 행렬(process noise covariance matrix)에 차이를 발생시키고 있고,

결과적으로 자세추정 성능에 영향을 끼칠 수 있다.

앞서 기술한 바와 같이 교란성분에 대한 대응방법으로서 모델링기반

기법과 스위칭 기법을 비교한 연구는 발표된 바 있다. 하지만

모델링기반 기법에서 모델링의 차이가 자세추정 성능에 미치는 영향에

대한 연구는 현재까지 발표된 바 없다. 본 장은 Method A 와 B 를

교란성분이 존재하는 다양한 시험조건에서 광학식 모션캡쳐 시스템을

이용하여 자세추정 정확성을 비교하고, 이를 통해 교란성분 모델링이

관성자기센서기반 자세추정 정확성에 미치는 영향을 고찰하고자 한다.

2.2 교란성분 모델링 및 실험

2.2.1 교란성분 모델링

Method A 와 Method B 는 3 차원 자세 및 교란성분을 추정하는

IMMU 기반 알고리즘이다. IMMU 를 구성하는 가속도계(A),

지자기센서(M), 자이로스코프(G)의 신호는 다음과 같이 모델링

되었다[7].

S SA A s g a n (2.1a)

S SM M s m d n (2.1b)

SG G s ω n (2.1c)

여기서 g 는 중력가속도, a 는 외부가속도, m 은 지구자기장, d 는

자기

S 는

추정

설정

attitu

자기

마르

하지

우선

모델

같이

구분

Fig

교란, ω 는

해당 벡터가

방법 모두

하는 attitud

하여 추정하

ude 칼만필

교란모델이

코프 연쇄(M

지만, 이산시

, 식 (2.1a

링에 따른

서로 상이

한다).

g. 2.1. Flowdistu

는 각속도이

가 센서좌표

두 attitude

de 칼만필터

하는 headin

필터에는

추가되어

Markov chai

시간 k 에 대

a)의 외부가

A,S

ka 와 Me

이하다(이후

wchart of turbance mod

- 8

며, n 들은

표계(sensor f

벡터와 외

터와, headin

ng 칼만필터

외부가속도

작동된다는

in)식에 기반

대한 세부 모

가속도성분

ethod B 에서

후 첫 번째

the attitude-dels (gray bo

-

은 각 센서의

frame)에서

외부가속도를

ng 벡터와

터로 구성된

도모델이,

는 점과 이

반한다는 점

모델링에 있

Ska 에 대

서의 모델링

째 아래첨자

-heading estoxes).

의 신호잡음

관측되었음

를 상태벡터

자기교란을

된다(Fig. 2.1

heading

이들 교란모

역시 동일

있어 차이를

대해 Metho

링에 따른 S

자 A 와 B

timation alg

음이다. 위첨

을 의미한다

터로 설정하

을 상태벡터

참조). 또

칼만필터에

모델들이 1

일하다.

보이고 있

od A 에서

B,ka 는 아래

B 로 방법

gorithm with

첨자

다.

하여

터로

또한,

에는

있다.

서의

래와

법을

th

- 9 -

A, A, A, 1 A, ,S S

k a k acc kc a a ε (2.2a)

B, B, B, 1 B, B, 1S S

k a k b kc c a a ε (2.2b)

여기서 A,ac 와 B,ac 는 각각의 방법에서 1 차 마르코프 연쇄식의

차단주파수를 결정하는 0~1 사이 값을 갖는 파라미터이다. 교란모델

잡음을 모델링함에 있어 식 (2.2a)의 Method A 는 시변성분 A, ,acc kε 로

정의한 반면, 식 (2.2b)의 Method B 는 B, B, 1b kc ε 로 정의하여 B,bc 라는

별도의 파라미터를 추가로 사용하고 있다.

비슷한 방식으로 식 (2.1b)의 자기교란성분 Skd 에 대해 각 방법의

모델링은 다음과 같다.

A, A, A, 1 A, ,

S Sk d k mag kc d d ε (2.3a)

B, B, B, 1 B, B, 1S S

k a k b kc c d d ε (2.3b)

식 (2.2)의 외부가속도 모델로부터, 공분산 행렬 , 1acc kQ 를 갖는

화이트 가우시안 진행잡음 , 1acc kw 를 각각의 방법별로 나타내면

다음과 같다.

, , 1 A, ,acc k acc k Aw ε (2.4a)

B, , 1 B, B, 1acc k b kc w ε (2.4b)

식 (2.4)에 진행잡음과 진행잡음에 대한 공분산 행렬의 관계식,

1 1 1T

k k kE Q w w [19]을 적용하면, 외부가속도 모델 진행잡음 공분산

행렬 , 1acc kQ 는 다음과 같다.

A, , 1 A, , A, ,( )( )Tacc k acc k acc kE Q ε ε (2.5a)

B, , 1 B, B, 1 B, B, 1( )( )Tacc k b k b kE c c Q ε ε (2.5b)

- 10 -

여기서 E 는 기대연산자(expectation operator)이다. 각각의 방법은

식(2.5)를 다음과 같이 설정하였다[7,8].

22 1 2

A, , 1 3 A, A, 1 33 Sacc k acc a kc

Q I a I (2.6a)

2B, , 1 B, 3acc k bc Q I (2.6b)

여기서 3I 는 3 3 단위행렬이며, acc 는 정적 조건에서 측정된

가속도계 잡음 An 의 표준편차이다.

식 (2.3)의 자기교란 모델식으로부터 식(2.6)에 대응되는 자기교란

모델 진행잡음 공분산 행렬 , 1mag kQ 를 구하면 다음과 같다.

22 1 2

A, , 1 3 A, A, 1 33 Smag k mag d kc

Q I d I (2.7a)

2B, , 1 B, 3mag k bc Q I (2.7b)

여기서 mag 는 정적 조건에서 측정된 지자기센서 잡음 Mn 의

표준편차이다.

Method A 와 B 는 교란성분을 모델링하는 방식에 있어 차이가 있고,

이에 따라 진행잡음에 대한 공분산 행렬이 서로 다르다. 또한 Method

A 와 B 의 진행잡음 공분산 행렬을 비교해보면, Method A 의 A, , 1acc kQ 와

A, , 1mag kQ 는 매시간마다 추정되는 두 교란성분에 의해 새로운 값으로

변하게 되는 반면, Method B 의 B, , 1acc kQ 와 B, , 1mag kQ 는 모두 2B, 3bc I 로

동일하며 파라미터 값에 의해 일정한 값으로 고정되어있다. 여기서

다루고 있는 진행잡음 공분산 행렬은 칼만필터의 오차 공분산(error

convariance)에 반영됨으로써, 궁극적으로 자세추정 정확성에 영향을

미치게 된다.

2.2.2

9 축

자세추

(Natu

이때

자세를

1 에

빠르

외부

천천

117 ×

노출

환경(

2 실 험

란성분 모델

IMMU 로

추정 결과

uralPoint, US

, MTw 는

를 제공하고

험은 서로

에서는 외부

게(평균가속

가속도를 발

히(평균가속

× 225 × 2.2 m

시켰다. Tes

(Test 2 와

F

델링에 의한

MTw(Xsens

과비교를 위

SA) 광학식

자체의 자

고 있는데 이

다른 교

부가속도에

속도: 3.4[m/

발생시켰다.

속도: 2.8[m/

mm3 크기의

st 3 에서는

와 동일)에서

Fig. 2.2. Test

- 11

한 자세추정

s Technolog

한 참조값

모션캡쳐

세추정 알고

이를 Method

란조건의 3

초점을 맞

/s2], 최대가

. Test 2 에

/s2], 최대가

의 철제 자성

는 두 교란성

서 빠르게(평

setup: OptiT

1 -

성능을 비

ies B.V., N

값을 얻기

시스템을 사

고리즘을 통

d C 라고한다

3 가지 시

맞추어, 자기

가속도: 26.4

에서는 자기

가속도: 17.4

성체를 이용

성분이 모두

평균가속도

Track Flex13

교하기 위하

etherlands)를

위해 Opti

사용하였다(

통해 매우 높

다.

시험이 진행

기교란이 없

[m/s2]) 자세

기교란에 초

[m/s2]) 자세

용하여 센서를

두 반영되도

: 4.2[m/s2],

3 and MTw.

하여 시험에

를 사용하였

iTrack Flex

(Fig. 2.2 참

높은 정확도

행되었다. T

없는 환경에

세를 변경하

초점을 맞추

세를 변경하

를 자기교란

도록, 자기교

, 최대가속

에는

였고,

x13

참조).

도의

Test

에서

하여

추어,

하되

란에

교란

속도:

- 12 -

21.0[m/s2]) 자세를 변경하며 움직였다.

Method B 의 두 교란성분 모델식, 식 (2.2b)와 식(2.3b)를 보면, 하나의

파라미터 값이 두 모델식에 모두 적용되고 있다. 예를 들어, B,ac 는

attitude 와 heading 추정 모두에 사용된다. 가속환경과 자기환경이 서로

상이한 만큼 두 교란성분 모델에서 파라미터는 분리하여 독립적으로

사용하는 것이 자세추정 정확도측면에서 유리할 것이다. 이후 이런

방식을 Method B'라고 한다.

본 장은 Method A 와 Method B 뿐 아니라 Method B 를 변형한 Method

B'와 MTw 소프트웨어 Method C 로부터의 결과를 비교하였다.

2.3 결 과

2.3.1 파라미터 튜닝에 따른 추정정확성 민감도

교란성분 모델링에 사용된 파라미터 선정은 자세추정 성능에 영향을

끼치는 중요한 요소 중 하나이다. Fig. 2.3 과 2.4 은 각각 Method A 와

B 의 파라미터를 가용범위(0.05~0.7) 내에서 튜닝 하였을 경우, 그에

따른 Test 1~3 의 자세추정 결과를 RMSE(root mean squared error)

평균으로 보여주고 있다. 이때 Method A 의 파라미터와 Method B 의

파라미터는 일대일 대응구조가 아니므로 직접비교는 할 수 없다.

따라서, 각 방법별로 파라미터 변화에 따른 자세추정결과를 분석하면

다음과 같다.

Method A: 시험조건에 따라 경향의 차이를 보였으나, 파라미터 값이

일정 범위( A, A,0.1 0.2, 0.05 0.2a dc c ) 내에 있을 경우 유사하면서도

안정적인 성능이었으나, 일정 범위를 넘어선 구간에서는 자세추정

정확성이 급격하게 저하되었다.

최적

두드

자기

확인

Me

Fig

Fig

가지 테스트

의 파라미터

러지게 보

교란모델관

할 수 있었

ethod B: 모

g. 2.3. ParamTest 1

g. 2.4. ParamTest 1

트 결과를

터로 가장

보여지듯 M

관련 A,dc 가

다.

모든 시험에

meter tuning 1, (b) Test 2,

meter tuning 1, (b) Test 2,

- 13

전체적으로

우수한 결과

ethod A

자세추정에

서 파라미터

results of M, and (c) Test

results of M, and (c) Test

3 -

로 고려시 Ac

과를 보였다

에서 가속

에 더 크게

터 값이 일

Method A: RMt 3.

Method B: RMt 3.

A, A,0.1,a dc

다. 한편, F

속도 모델관

게 영향을

정 범위( 0.

MSEs in esti

MSEs in esti

0.1d 조합

Fig. 2.3(c)에

관련 A,ac 보

미치는 것

B,.05 0ac

mation of (a

mation of (a

합이

에서

보다

것을

0.7 ,

a)

a)

- 14 -

B,0.05 0.2bc ) 내에 있을 경우, 자세추정 정확성에 민감하게 반응하지

않고 안정적이었다. 자세추정에 있어 차단주파수관련 B,ac 보다

모델잡음관련 B,bc 에 더 민감하게 반응하였다(Fig. 2.4 참조).

2.3.2 파라미터 고정시 추정정확성

Table 2.1 은 Method A, Method B, 그리고 Method B'의 파라미터 튜닝

결과 아래와 같은 최적의 값으로 고정하였을 경우에 대한 오일러각

자세추정 RMSE 결과이다.

- Method A: A, A,0.1, 0.1a dc c

- Method B: B, B,0.1, 0.05a bc c

- Method B': B', 1 B', 1 B', 2 B', 20.05, 0.2, 0.05, 0.05a b a bc c c c

Test 1 의 경우 외부가속도에 초점을 맞추어 자기교란이 없는

Table 2.1. RMSEs in estimations from four different methods (unit: degree).

Roll Pitch Yaw Average

Test 1

Method A 2.48 1.38 1.60 1.82

Method B 1.82 2.36 5.05 3.08

Method B' 1.98 1.47 3.89 2.45

Method C 1.24 0.77 2.03 1.35

Test 2

Method A 1.80 1.38 1.10 1.43

Method B 1.21 1.89 4.36 2.49

Method B' 1.11 1.02 3.56 1.90

Method C 1.16 1.00 1.28 1.15

Test 3

Method A 1.72 1.14 3.44 2.10

Method B 1.91 1.95 7.64 3.83

Method B' 1.35 1.29 6.43 3.02

Method C 2.15 1.35 3.40 2.30

환경

Meth

피치

효과를

보였

Tes

변경

Meth

우수

Tes

교란

크게

발생

7.64°

Fig

임에도 불구

hod B 와 같

에 비해 크

를 보였다.

다.

st 2 의 경

하였기 때문

hod B 를

한 정확성을

st 3 의 경

성분의 영향

증가하였다

하였는데,

°로 4° 이상

g. 2.5. Yawrefere

※Note: Figure can

구하고, Met

같은 성향을

크게 나왔지만

Method A 는

경우 자기교

문에 모든

제외한 나

을 보였다.

경우 두 교란

향을 받는

다. 요성분

Method A

상의 열세를

w estimationence from then be viewed in co

- 15

thod B 의 요

을 갖는 Me

만, Method

는 Method

교란 환경에

방법에서

나머지 방법

란성분의 영

Test 1 과

추정에 있

에서의 오

보였으며, M

n errors in e optical traclor in the PDF ve

5 -

요성분 오차

ethod B' 또

B 보다 RM

C 와 비슷한

에서 실험되

Test 1 보다

들은 모두

영향을 모두

2 에 비해

있어서는 방

오차가 3.44

Method B'도

Test 3 witcker (dashed)ersion of thesis on

차는 5.05°로

또한 요성분

MSE 평균이

한 결과로 높

되었지만 자

다 좋은 결

두 RMSE 평

두 받았기 때

해 모든 방법

방법간 성능

°인 반면

도 Method A

th respect to). n the RISS websi

크게 나왔

오차가 롤

0.63° 개선

높은 정확성

자세를 천천

결과가 나왔

평균 2°이하

때문에 한가

법에서 오차

능에도 차이

Method B

대비 약 3°

o the truth

te, www.riss.kr.

왔다.

롤과

선된

성을

천히

왔다.

하의

가지

차가

이가

°의

th

- 16 -

열세를 보였다. 오차경향에 있어 Method B 와 B'는 정확도에 차이가

있을뿐 비슷하였지만, Method A 와 C 는 상이하였다 (Fig. 2.5 참조).

종합적으로 비교해보면, 롤과 피치의 추정성능은 모든 방법에서 약

2° 이하로 우수하였기 때문에 우세를 판별할 수 없었다 − (Method

A/B/B'/C 순서로) 롤 추정 RMSE 평균: 2.00°/1.65°/1.48°/1.52°; 피치 추정

RMSE 평균: 1.30°/2.07°/1.26°/1.04°. 그러나, 요성분 추정성능은

자기교란이 없는 Test 1 에서조차 최대 3° 이상의 차이가 나는 등

성능간 편차를 보였다. Method A 는 XKF-3-w 알고리즘[20]이라 불리는

MTw 의 내부알고리즘인 Method C 와 비슷한 성능으로 매우 정확한

결과를 주었다. Method B 와 Method B'의 요성분 추정성능은 Method

A 에 비해 현저히 떨어졌지만, Method B 의 문제점을 근본적인

방법으로 해결한 Method B'를 통해 Method B 의 요성분 추정성능을 약

1.05° 개선시킬 수 있었다 − 요 추정 RMSE 평균: 2.05°/5.68°/4.63°/2.24°.

2.4 고찰 및 결론

파라미터 튜닝에 따른 추정정확성 민감도는 일정 범위내에서 크지는

않았지만, 결과에 영향을 주는 만큼 최적의 파라미터 선정은 알고리즘

운용에 있어 중요한 요소이다. 그러므로 선정되어야 할 파라미터의

증가는 알고리즘 운용의 편의성을 저해할 수 있다. 따라서, 2 개의

파라미터를 갖는 Method B 는 4 개의 파라미터를 갖는 Method B'에

비해 추정정확도는 다소 떨어지는 반면 편의성이 우수하다고 할 수

있다. Method A 역시 Method B 와 마찬가지로 2 개의 파라미터를 가지나,

파라미터의 구성은 Method A 와 B 가 서로 전혀 다르다. 구체적으로,

Method A 는 2 개의 파라미터가 외부가속도모델과 자기교란모델에

하나씩 사용되는 반면, Method B 에서는 2 개의 파라미터가

- 17 -

외부가속도모델과 자기교란모델에 모두 공유되어 사용되고 있다. 즉,

Method A 에서 하나의 파라미터는 한가지 자세추정에만 영향을 미치는

구조이기 때문에 서로 연동되지 않고 독립적으로 선정이 가능한

장점을 갖는다.

본 장에서는 Method A 와 B 를 다양한 시험조건에서 비교함으로써,

교란성분 모델링이 관성자기센서 기반 자세추정 정확성에 미치는

영향을 확인하였고 다음과 같은 결론을 도출하였다.

(1) 관성자기센서 기반의 3 차원 자세추정에 있어, 교란성분 모델링의

차이는 진행잡음 공분산 행렬의 차이를 발생시키며 이로 인해

자세추정 정확성에도 영향을 미친다. 참고문헌[7]에서 제안하는

자세추정 알고리즘인 Method A 가 참고문헌[8]에서 제안하는 자세추정

알고리즘인 Method B 보다 3 차원 자세 평균에서 1.35°, 요성분에서

3.63°만큼 더 우수한 추정 정확성을 보였다.

(2) 참고문헌[8]에서 제안하는 Method B 의 문제점을 해결하기 위한

변경방법인 Method B'를 통해, 요성분 추정성능을 약 1.05° 개선시키는

효과를 얻었다. 하지만 이 경우 선정 파라미터 수가 4 개로 증가한다는

단점을 지닌다.

(3) 미세한 교란성분 모델링의 차이가 자세추정 정확도에 영향을

주는 것을 확인할 수 있었으며, 가상현실, 스포츠과학과 같은

가속환경이나 로봇, 무인항공기와 같은 자기교란 환경에서 정확한

자세 추정을 위해 교란성분 모델링 시 추정의 정확도와 운용의 편의성

등이 종합적으로 고려되어야 한다.

교란성분 모델링의 파라미터 선정은 자세추정 성능과 접한 관련이

있는 매우 중요한 요소이다. 외부 환경 변화에 따라 자동적으로

교란성분 모델링의 파라미터를 변경하는 방식을 통해 성능 향상을

기대할 수 있으며, 이에 대한 연구를 진행할 예정이다.

- 18 -

Acknowledgement

본 장에 대한 내용은 다음 논문(참고문헌[49])을 기반으로

작성되었다: 최미진, 이정근, “교란성분 모델링이 IMMU 기반 자세추정

정확성에 미치는 영향,” 대한기계학회 논문집(A), 41 권, 8 호, pp. 783-789,

2017 년 4 월.

- 19 -

3. 정확한 방위각 추정을 위한 차수 변환 방식

자기왜곡 보상 메커니즘

3.1 서 론

센서융합 기술은 항법시스템, 로봇, 증강현실, 스포츠과학 등 여러

응용분야에서 폭넓게 사용되고 있다[21-24]. 특히, 관성자기센서 기반의

센서융합 기술은 3 차원 자세를 추정하는 관성 모션캡쳐(inertial motion

capture) 시스템에 핵심 기술로 사용되고 있다[7,8,24-26]. 여기서

관성자기센서는 3 축 자이로스코프(gyroscope)와 3 축 가속도계

(accelerometer)로 이루어진 IMU(inertial measurement unit)에 3 축

지자기센서(magnetometer)가 결합된 센서모듈이다.

관성자기센서를 이용한 3 차원 자세 추정의 기본적인 원리는,

자이로스코프를 통해 측정된 각속도를 적분하여 자세를 예측하고,

적분과정을 반복함에 따라 누적되는 표류(drift)오차를 가속도계와

지자기센서가 제공하는 고정 참조벡터(reference vector)를 이용하여

보정한다[7]. 여기서 가속도계는 수직방향 참조벡터인 중력가속도를

통해 경사각(tilt)을 보정하고, 지자기센서는 수평방향 참조벡터인

지구자기장을 통해 방위각(azimuth)을 보정한다. 따라서 정확한

참조벡터를 측정하는 것이 자세 추정에 있어 중요한 요소이다. 그러나

동적 조건에서 가속도계 신호는 중력가속도에 센서가 움직이면서

발생되는 외부가속도가 교란성분으로 더해지게 되고, 지자기센서

신호는 지구자기장에 센서주변의 자성체에 의해 발생된

자기왜곡(magnetic distortion)이 교란성분으로 더해져 정확한 참조벡터를

측정할 수 없게 된다. 이처럼 참조벡터에 교란성분이 더해지게 되면

- 20 -

참조벡터의 ‘고정성’이 훼손되고 이는 자세 추정에 있어 정확성 저하의

주된 원인이 된다. 따라서 자세 추정 알고리즘에 있어 정확성 저하

방지를 위한 교란성분 보상 메커니즘이 반드시 필요하다[7,8].

두 가지 교란성분 중에서 본 장의 주제인 자기왜곡은 특히 심각한

문제를 발생시키는 것으로 인식되고 있다[13,16]. 왜냐하면, 교란성분

중 다른 하나인 외부가속도의 경우 외부가속도의 크기와 지속시간이

크지 않은 경우가 대부분인 반면(예, 환자 재활용 동작분석분야 등),

자기왜곡은 관성자기센서의 적용분야에 따라 매우 큰 자성체에 빈번히

노출될 수 있기 때문이다. 예를 들어, 방위각 추정과정에서 선박,

항공기, 로봇과 같은 자성체와 함께 사용하는 경우가 많고 자성체와

함께 사용되는 경우가 아니더라도 주변 건물 및 전자기기로부터

발생되는 다양한 자기왜곡이 존재하기 때문에, 정확한 방위각 추정을

위해 자기왜곡은 반드시 고려해야 하는 요인이다[7,8,13,16,26].

이에 다양한 자기왜곡 보상 메커니즘이 제안되어왔다. 참고문헌

[9,11]에서는 자기왜곡의 유무를 판단하여 참조벡터를 변환하는 벡터

선택방식이 소개되었으며, 참고문헌[27]에서는 자기왜곡이 존재하는

경우 칼만필터의 레지듀얼(residual) 벡터가 커지는 원리를 이용하여

그에 상응하게 측정잡음 공분산 행렬의 가중치를 조절하는

적응필터방식이 소개되었다. 한편, 참고문헌[28]에서는 Gauss-Markov

기반의 자기왜곡 모델을 통하여 보상하는 방식이 소개되었다. 이를

발전시켜 참고문헌[26]에서는 자기왜곡 모델차수를 기존 1 차에서

2 차까지 확장하고 이를 상황에 따라 변환하여 적용하는 방법을

소개하였고, 본 장에서도 이를 응용하고 있다. 하지만 [26]에 소개된

방법의 경우 쿼터니언(quaternion)을 기반으로 설계되어, 쿼터니언

특유의 자세성분 혼합문제를 지니고 있다. 여기서, 자세성분

혼합문제란 쿼터니언의 4 원소 모두에 방위각과 경사각 성분이

- 21 -

혼합되어 있는 것으로 자기왜곡이 방위각 추정뿐만 아니라 경사각

추정에도 영향을 미치는 문제점을 말한다.

본 장에서는 이러한 쿼터니언 기반 자세추정 알고리즘의 문제점을

극복하기 위하여, DCM(direction cosine matrix)을 기반으로 경사각과

방위각을 순차적으로 구하는 알고리즘을 소개하고자 한다. 이 때,

방위각 추정의 정확도 향상을 위한 차수 변환 방식 자기왜곡 보상

메커니즘을 제안한다. 제안 방법은 자기왜곡의 영향이 방위각

추정에만 제한되는 장점을 가짐은 물론, 단일 차수적용 방식 대비

우수한 방위각 추정 성능을 보인다. 다양한 자기왜곡 환경에서 방위각

추정 성능을 확인하여 이를 검증하였다.

3.2 자기왜곡 보상 메커니즘

3.2.1 자기왜곡 모델링

자성체 주변에서의 3 축 지자기센서 신호는 참조대상인

지구자기장벡터 m 에 자기왜곡벡터 d 가 더해진 형태로, 정확한

방위각 추정을 위한 자기왜곡 보상 메커니즘이 필요하다. 본 장에서는

1 차 및 2 차 Gauss-Markov 기반 자기왜곡 모델들을 조건 별로

변환해가며 적용함으로써 자기왜곡을 보상한다.

1 차 Gauss-Markov(이하 GM-1) 기반의 자기왜곡에 대한 기본 모델은

이산시간 k 에 대하여 다음과 같이 표현된다[26].

,S S

k L k L k d d w (3.1)

여기서 L 는 자기왜곡 모델 파라미터, Lw 는 공분산 행렬(covariance

matrix)로 23L I 을 갖는 자기왜곡 모델 잡음이며, 위첨자 S 는 해당 벡터가

센서좌표계(sensor frame)에서 관측되었음을 의미한다. 식(3.1)을 적분함으로써

- 22 -

자기왜곡 S d 에 대한 모델링은 다음과 같이 나타낼 수 있다.

1 1exp( )S S Lk L s k kT d d w (3.2)

여기서 sT 는 샘플링 간격이며, L w 는 Lw 의 적분형태인

( 1)

, 1exp[ {( 1) }]s

s

k T

L s LkTk T d

w 이다[29].

2 차 Gauss-Markov(이하 GM-2) 기반의 자기왜곡 변화율에 대한 기본

모델은 다음과 같이 표현된다.

,S S

k H k H k d d w (3.3)

여기서 H 는 자기왜곡 변화율 모델 파라미터, Hw 는 공분산 행렬로 23H I

을 갖는 자기왜곡 변화율 모델 잡음이다. 식(3.3)을 적분함으로써 자기왜곡

변화율 S d 에 대한 모델링은 다음과 같이 나타낼 수 있다.

1 1exp( )S S Hk H s k kT d d w (3.4)

여기서 H w는 ( 1)

, 1exp[ {( 1) }]s

s

k T

H s HkTk T d

w 이다.

3.2.2 방위각 칼만필터

본 장에서 제안하는 알고리즘은 경사각(즉, 롤과 피치)을 추정하는

경사각 칼만필터와 방위각(즉, 요)을 추정하는 방위각 칼만필터로

구성된다. 여기서 경사각 칼만필터는 중력가속도 g 와 외부가속도 a 가

상태벡터로 설정되어, 경사각을 추정하는 DCM 기반의 칼만필터[17]를

사용하였다(Fig. 3.1 참조).

방위각 칼만필터는 차수에 따른 두 개의 상태모델을 가진다. 1 차

상태모델은 상태벡터를 2

TS T S T x m d 로, 자기왜곡 모델을 GM-1 기반의

식(3.2)로 설정하였다(이하 1 차 KF). 2 차 상태모델은 1 차 상태벡터에 S d 를

추가하

2 기

각속도

여기서

자이로

의미하

1 차

같이

하여 상태벡

반의 식(3.4

도의 스트랩

서 Gy 는 자

로스코프의

하는 기호이

차 KF 의 진행

구성된다.

Fig. 3.1. P

벡터를 2 x

)로 설정하였

다운(strapdow

exp(Sk m

자이로스코프

신호잡음, [e

다.

행모델(proce

Sk

Sk

mF

d

z

Proposed ma

- 23

S T S T m d

였다(이하 2

wn) 적분기반

, 1[ ] )G k sT y

프의 신호,

]e 는 벡터

ss model)과

1, 1

1

Sk

L k Sk

mF

d

3 3k

I I

agnetic disto

3 -

TT S T d 로

차 KF). 여

반으로 다음과

1) [S Sk sT m

Gn 는 공분

e 의 외적 행

측정모델(me

[ Ss

L

T

m

w

Sk

MSk

mn

d

rtion compen

로, 자기왜곡

여기서 지구

과 같이 모델

1 ]Sk G m n

분산 행렬로

행렬(cross pr

easurement m

1

1

]k G

k

n

w

nsation mech

곡 모델을 G

구자기장 S m

델링되었다[8

(3

23G I 을 갖

roduct matrix

model)는 다음

(3

(3

hanism.

GM-

m 은

8].

3.5)

갖는

x)을

음과

3.6)

3.7)

- 24 -

여기서 식(3.6)의 천이행렬 , 1L kF 과 진행잡음에 대한 공분산 행렬

, 1L kQ 은 다음과 같이 표현된다.

, 1 1, 1 , 1

3 2

exp( [ ] ) 0 0,

0 exp( ) 0

LG k s

L k L k LL s

T

T

y QF Q

I Q (3.8)

여기서 2 21 1 1[ ][ ]L S S T

s G k kT Q m m , 22 3

1 exp( 2 )

2L L s

LL

T

Q I 이다.

또한, 식(3.7)의 측정잡음 Mn 은 공분산 행렬로 23M I 을 갖는

지자기센서의 신호잡음이다.

2 차 KF 의 진행모델과 측정모델은 다음과 같이 구성된다.

11

1, 1 1

1

1

[ ]

1

Ss k GS S

k k HS S k

k H k kHS S

k k Hk

T

m nm m

wd F d

d dw

(3.9)

3 3 0

Sk

Sk k M

Sk

m

z I I d n

d (3.10)

여기서 식(3.9)의 천이행렬 , 1H kF 과 진행잡음에 대한 공분산 행렬 , 1H kQ 는

다음과 같이 표현된다.

, 1

, 1 3 3

3

1

, 1 2 3

3 4

exp( [ ] ) 0 0

1 exp( )0 ,

0 0 exp( )

0 0

0

0

G k s

H sH k

H

H s

H

H HH k

H T H

T

T

T

y

F I I

I

Q

Q Q Q

Q Q

(3.11)

- 25 -

여기서 1 2 3 4, , ,H H H HQ Q Q Q 는 다음과 같다.

2 21 1 1

22 3

23 3

24 3

[ ][ ] ,

4exp( ) 3 exp( 2 ) 2,

2

exp( 2 ) 1 2exp( ),

2

1 exp( 2 )

2

H S S Ts G k k

H H s H s H sH

H

H H s H sH

H

H H sH

H

T

T T T

T T

T

Q m m

Q I

Q I

Q I

(3.12)

3.2.3 방위각 칼만필터

제안하는 알고리즘의 방위각 칼만필터는 기본 작동모드가 1 차 KF 로

설정되어 방위각을 추정한다. 1 차 KF 의 추정 과정에서 특정 조건을

만족하면 방위각 칼만필터는 2 차 KF 로 변환된다. 마찬가지로 2 차 KF 의

추정 과정에서 또 다른 특정 조건에 만족하면 다시 1 차 KF 로

되돌아온다. 이러한 차수 변환 방식을 사용하는 이유는 (i) 1 차 KF 는

자기왜곡의 빠른 변화가 생기는 경우 방위각을 효과적으로 추정하지 못할

수 있으며, (ii) 2 차 KF 는 상태모델 구성요소의 추가에 기인한 계산시간

증가 및 적분기반 자기왜곡 추정에 따른 추정오차 발생 우려가 있기

때문이다. 따라서 다양한 자기왜곡 조건에서 적절한 차수 변환을 통해

방위각 추정의 정확도를 향상시킬 수 있다.

제안하는 알고리즘의 차수 변환 방식은 참고문헌[30]에서 제안한

페이딩 메모리 평균(fading memory average) 기술에서 착안한 방식이다.

여기서 페이딩 메모리 평균이란 카이제곱 분포(Chi-squared distribution)를

따르는 변수에 지수형태의 가중치를 두어 계산된 평균을 말하며,

실시간으로 상태 추정 성능을 확인할 때 주로 사용되는 기술이다.

1 차 KF 에서 2 차 KF 로의 변환은, 2 ( )TS T S T x m d 에 대한

NIS(normalized innovations squared) 페이딩 메모리 평균이 설정된 상승

문턱

변환이

KF 로

여기서

한편,

에 대

떨어질

방위각

3.3

3.3.1

Fig

값(threshold

이 발생한다

로 추정하여

서 s 는 페이

, 2 차 KF 에

대한 NIS 페이

질 때 발생

각을 추정한

실 험

1 실험 장치

장에서 제

g. 3.2. Switcfading

d) 1 2 을

다면 k −s −1

추정의 정확

이딩 메모리의

서 1 차 KF

이딩 메모리

생한다. 제안

한다.

치 구성

제안하는 알

ching from tg memory av

- 26

초과할 때

부터 k 까지

확성을 높이

의 유효 실행

로의 변환은

평균의 크기

안된 방식은

알고리즘의

the first-ordeverage techn

6 -

발생한다.

지 거슬러 올

는 방식을 취

행시간 길이(e

은, 2 차 KF 의

기가 설정된

은 이러한

방위각 추

er KF to thenique.

이때, 시간

올라오며(man

취하고 있다

effective wind

의 새로운 구

된 하강 문턱

일련의 과정

정 성능 검

e second-ord

간 k 에서 차

neuvering) 2

다(Fig. 3.2 참조

dow length)이

구성 요소인

값 2 1 이하

정을 반복하

검증 실험에

der KF in th

차수

참조).

이다.

S d

하로

하며

에는

he

IMU(

사용

알고

참조

모션

참조

없는

3.3.2

시험

발생

움직

참조)

가해

Tes

(MPU6050)와

되었다. GY

리즘에 입

값(truth refe

캡쳐 시스템

값 optd 를 얻

나무판에

2 시험 조건

험은 자기왜

이 진행되었

방식과 강

임은 정적

). Table 3.

진 구간에서

st 1 은 정

와 지자기센

Y-87 의 신호

력되었다.

erence)을 얻

템이 사용되

얻었다. GY-

마커와 함께

건 및 설정

왜곡 발생방

었다. 자기

강철판에 의

조건과 동

1 에서 d

서의 평균제

적 상태의

Fig. 3.3. E

- 27

센서(HMC58

호는 Arduino

또한 자세

얻기 위해 O

었다. 이를

-87 은 실험

께 부착하여

방식과 센서

왜곡 발생방

의한 자기왜

동적 조건으

opt 의 RM

제곱근을 의미

센서 주변

Experimental

7 -

883L)로 구

o UNO R3

세 추정

OptiTrack Fle

를 통해 자세

의 편의성과

여 사용하였다

의 움직임에

방식은 모터

왜곡 발생방

으로 나누어

MS(root mea

미한다.

변에 모터를

l setup for mo

구성된 GY-8

를 통해 PC

결과를 비

ex13(Natura

세참조값 oR

과 축정렬을

다(Fig. 3.3

에 차이를

터구동에 의

방식으로

어 시험하였

an square)는

위치(Fig.

otor test.

7 센서모듈

C 와 통신되

교하기 위

lPoint) 광학

opt 와 자기왜

을 위해 자성

참조).

주어 네 가

의한 자기왜

나뉘며, 센

였다(Table

는 자기왜곡

3.3 참조)시

듈이

되어

위한

학식

왜곡

성이

가지

왜곡

센서

3.1

곡이

시켜

- 28 -

모터의 on-off 통해 자기왜곡을 발생시켰고, Test 2 는 임의로 센서의

자세를 변경(Fig. 3.4(b)-(c) 참조)하며 작동 중인 모터에 가까워졌다

멀어지는 방식으로 자기왜곡의 영향을 받도록 실험하였다. Test 3 은

정적 상태의 센서 주변에서 강철판을 움직이며 자기왜곡을 발생(Fig.

3.5(a) 참조)시켰고, Test 4 는 센서의 자세를 변경하며 강철판에

가까워졌다 멀어지는 방식으로 자기왜곡의 영향을 받도록 실험하였다.

모터구동 방식을 위해 HF-SP202(Mitsubishi) 스텝모터가 1000[rpm]

속도로 작동되었으며, 강철판 방식을 위해서는 117 × 225 × 2.2 mm3

크기의 강철판이 사용되었다.

제안하는 알고리즘(이하 Method A)의 추정성능을 검증하기 위해,

제안하는 알고리즘과 동일한 자기왜곡 모델링과 차수 변환 방식을

사용하는 쿼터니언 기반의 3 차원 자세 추정 알고리즘[26](이하 Method

B)과 제안하는 알고리즘에서 사용하는 경사각 칼만필터의 확장판인

DCM 기반의 기존 3 차원 자세 추정 알고리즘[8](이하 Method C)을

비교하였다. 또한, Method A 에서 자기왜곡 보상 메커니즘이 제거된

방식(이하 uncompensated)을 함께 비교하여 자기왜곡 보상 성능을

확인하였다.

Method A 와 Method B 의 자기왜곡 모델 파라미터 설정은 다양한 시험에서

Table 3.1. Experimental conditions for the four validation tests.

Source of

Magnetic Distortion Sensor Motion

RMS / Max of optd

[mGauss]

Test 1 Motor driving Static 392 / 815

Test 2 Motor driving Dynamic 67 / 498

Test 3 Steel plate Static 237 / 783

Test 4 Steel plate Dynamic 65 / 510

- 29 -

좋은 성능을 보이는 최적의 값으로 설정되었다( 10,L 1,H

6.5L H ). 또한 차수 변환 방식의 상승 문턱값 1 2 은 100, 하강

문턱값 2 1 은 30, 그리고 유효 실행시간 길이 s 는 10 으로 설정되었다.

참고문헌[8]에서는 Method C 의 두 교란성분 모델(외부가속도 모델과

자기왜곡 모델)에 서로 동일한 파라미터를 사용하였으나, 외부가속도와

자기왜곡이 서로 상이한 만큼 본 장에서는 Method C 의 두 교란성분 모델

파라미터를 서로 구분하여 독립적인 최적의 값으로 설정하였다(센서가속도

GM 모델에서 상관 시정수 파라미터 , 0.1a accc 와 분산 관련 파라미터

, 0.05b accc , 그리고 자기왜곡 GM 모델에서 상관 시정수 파라미터

, 0.9a magc 와 분산 관련 파라미터 , 0.95b magc ).

3.4 결과 및 고찰

Table 3.2 는 네 가지 방법(Method A, B, C, uncompensated)에 대해

방위각 및 경사각 추정 RMSE(root mean squared error)를 보여준다. 이때

경사각 RMSE 는 롤과 피치 각각의 RMSE 에 평균을 취한 값이다.

Method A, C 와 uncompensated 는 같은 경사각 칼만필터를 사용하기

때문에 경사각 추정오차가 동일하다(Fig. 3.4(b), 3.5(b) 참조).

Test 1 의 경우 자세변화가 없기 때문에 네 가지 방법 모두 1° 이하의

매우 우수한 경사각 추정 정확성을 보였다. 또한, 네 가지 시험 중

가장 큰 자기왜곡의 영향을 받았음에도 불구하고, 자기왜곡에

직접적인 영향을 받는 방위각 추정오차는 Method A 는 0.82°, Method

B 는 1.22°로 높은 정확성을 보였다. 그러나, Method C 는 7.15°로 큰

방위각 추정오차를 보였다.

Fig

g. 3.4. Resultroll e

※Note: Figure can

ts of Test 2: stimation errn be viewed in co

- 30

(a) exposed ror, and (c) alor in the PDF ve

0 -

magnetic diazimuth estimersion of thesis on

istortion for mation error. n the RISS websi

each axis, (b

te, www.riss.kr.

b)

Fig

g. 3.5. Resultpitch

※Note: Figure can

ts of Test 3: estimation e

n be viewed in co

- 31

(a) exposed error, and (c)

lor in the PDF ve

1 -

magnetic di azimuth estersion of thesis on

istortion for imation erron the RISS websi

each axis, (br.

te, www.riss.kr.

b)

- 32 -

Test 2 의 경우 자세가 변하였기 때문에, 네 가지 방법 모두 경사각

추정오차가 증가하였고, Method A 와 B 는 Test 1 보다 방위각

추정오차도 증가하였다. 또한, Method A 와 C 는 Method B 에 비해

방위각 추정오차가 약 1° 이상 우수한 정확성을 보였다(Fig. 3.4(c)

참조). Method B 와 uncompensated 는 방위각 추정오차가 4° 대로 비슷한

결과를 얻었으나, Method B 는 자기왜곡의 영향이 방위각 추정뿐만

아니라 경사각 추정 추정에도 영향을 미치는 쿼터니언의 문제점

때문에 경사각 추정오차가 DCM 기반의 Method A, C, uncompensated 에

비해 2.46° 크게 나왔다(Fig. 3.4(b) 참조).

Test 3 의 경우 Fig. 3.5(a)와 같이 자기왜곡의 영향을 받았으나, 같은

정적 조건인 Test 1 과 비슷한 경향을 보였다. 방위각 추정오차는

Method A 가 1.09°로 가장 우수했으며, Method B 는 3.60°의 결과를

보였다. 또한, 쿼터니언 기반의 Method B 는 자기왜곡의 영향이 경사각

추정에 영향을 미쳐 경사각 추정오차가 증가하였다(Fig. 3.5(b) 참조).

Test 1 과 마찬가지로 Method C 는 다른 두 방법에 비해 13.75°로 매우

Table 3.2. Results of azimuth and tilt RMSEs (unit: degree).

Method A Method B Method C uncom-pensated

Test 1 Azimuth 0.82 1.22 7.15 42.68

Tilt 0.18 0.31 0.18 0.18

Test 2 Azimuth 2.87 4.35 3.01 4.08

Tilt 1.92 4.38 1.92 1.92

Test 3 Azimuth 1.09 3.60 13.75 19.53

Tilt 0.09 0.39 0.09 0.09

Test 4 Azimuth 2.86 3.23 4.52 9.15

Tilt 1.15 5.51 1.15 1.15

- 33 -

큰 방위각 추정오차를 보였으며, 자기왜곡이 발생되는 세 구간(약

5~15 초, 20~30 초, 40 초~55 초)에서 방위각 추정오차가 증가하였고, 최대

25.3°까지 오차가 벌어졌다(Fig. 3.5(c) 참조).

Test 4 의 경우 Method A 는 방위각 추정오차가 2.86°로 네 가지 방법

중 가장 우수하였다. Method B 는 자기왜곡의 직접적인 영향을 받는

방위각보다 경사각 추정오차가 2.28° 더 커진 5.51°가 나왔다.

자기왜곡 조건에서 실험된 네 가지 시험 결과에서 보듯이, 본

장에서 제안하는 알고리즘인 Method A 는 방위각 추정과 경사각 추정

모두 Method B 와 C 에 비해 우수한 정확성을 보였다(Method

A/B/C/uncompensated 순서로 방위각 추정오차 평균: 1.91°/3.10°/7.11°

/18.86°, 경사각 추정오차 평균: 0.84°/2.65°/0.84°/0.84°). 쿼터니언 기반의

Method B 는 자기왜곡 모델의 차수 변환 방식을 통한 자기왜곡 보상

효과로 네 가지 시험에서 방위각 추정오차가 모두 5° 이내의 결과를

얻었으나, 쿼터니언의 문제점인 자세성분 혼합의 영향으로 자기왜곡이

경사각 추정에 영향을 미쳐 경사각 추정오차를 증가시켰으며, 경사각

추정오차 또한 방위각 추정에 영향을 주는 문제가 나타났다. Method

A 와 동일한 경사각 칼만필터를 사용하는 DCM 기반의 기존 방식인

Method C 는 자기왜곡의 영향이 방위각 추정에만 제한적인 구조적

Table 3.3. Azimuth estimation RMSEs depending on the order of magnetic distortion model (unit: degree).

Method A

(order-switching) First-order KF Second-order KF

Test 1 0.82 13.51 1.28

Test 2 2.87 3.16 2.92

Test 3 1.09 15.32 2.59

Test 4 2.86 6.06 2.94

장점을

때문

보였

방위

변환

방식

더 우

보듯

자기

추정오

자기

계산

자기

Fig

을 지녔지만

에 자기왜곡

다. 따라서

각 및 경사

안하는 알고

방식을 통

의 적용으로

우수한 방위

이, 1 차

왜곡을 효

오차가 증

왜곡에 해

시간이 늘

왜곡을 추

g. 3.6. Azimdistor

※Note: Figure can

만, 갑작스

곡이 크게

서 제안하는

사각 추정의

고리즘의 방

통해 변환하

로 1 차 KF

위각 추정성

KF 만

효과적으로

가하게 되

당되는 상

늘어났음에도

추정하기 때

muth estimatrtion model fn be viewed in co

- 34

런 자기왜곡

발생한 경

는 알고리즘

정확성을 높

방위각 칼만필

하여 방위각

만 사용하거

성능을 가졌

사용하면

추 정하

었다. 또한

태벡터가

도 불구하고

때문에 적

tion error dfor Test 3.

lor in the PDF ve

4 -

곡에 대한

경우 매우

즘은 이러한

높이는 결과

필터는 1 차

각을 추정한

거나, 2 차 K

졌다(Table 3

자기왜곡이

하지 못하여

한 2 차 K

S d 에서 S

고, 진행모

적분오차의

depending on

ersion of thesis on

보상 메커

큰 방위각

한 문제점

과를 얻었다

차 KF 와 2 차

한다. 이러한

KF 만 사용하

3.3 참조). F

이 빠르게

여, 결과적

KF 만 사

S d 와 S d

모델 S d

영향으로

n the order

n the RISS websi

커니즘이 없

각 추정오차

을 해결하

.

차 KF 를 차

한 차수 변

하였을 때보

Fig. 3.6 에

변하는 경

으로 방위

사용하는 경

로 증가되

을 적분하

표류오차

of magneti

te, www.riss.kr.

없기

차를

하여,

차수

변환

보다

에서

경우

위각

경우

되어

하여

차가

ic

- 35 -

발생하여 추정성능이 저하되었다. 따라서 제안하는 알고리즘은 차수

변환 방식을 적용하여 다양한 자기왜곡 변화에 알맞게 대응함으로써,

단일 차수적용 방식 대비 향상된 자기왜곡 보상 성능을 얻었다(방위각

추정오차 평균: Method A = 1.91°, 1 차 KF = 9.51°, 2 차 KF = 2.43°).

3.5 결 론

본 장에서는 자기왜곡 모델의 차수 변환 방식을 적용한 자기왜곡

보상 메커니즘을 통해, 우수한 방위각 추정성능을 가지는 3 차원

자세추정 알고리즘을 제안한다. 제안된 알고리즘은 경사각 칼만필터와

방위각 칼만필터로 구성되어, 경사각과 방위각을 독립적으로

추정함으로써 쿼터니언의 자세성분 혼합문제를 해결하였다.

제안된 알고리즘은 자기왜곡 조건( optd = 65~400 [mG] RMS)에서

다양한 시험을 통해 방위각 추정 성능을 검증하였다. 제안하는

알고리즘은 최대 방위각 추정오차가 3°이내로 높은 정확도를 가졌다.

특히, 방위각 추정오차 평균에 있어, 쿼터니언 기반의 Method B 보다

1.19°, 기존의 DCM 방식인 Method C 보다 5.20° 우수한 결과를 얻었다.

또한 차수 변환 방식을 통해 단일 차수적용 방식보다 향상된 추정

성능을 얻었다.

제안하는 차수 변환 방식 자기왜곡 보상 메커니즘은 선박, 항공기,

로봇과 같은 강한 자성체의 자세추정이 필요한 경우나, 다양한

자기환경에 빈번히 노출되는 웨어러블 모션캡쳐 분야에서 정확한

방위각 추정을 위해 효율적으로 적용될 수 있다.

- 36 -

Acknowledgement

본 장의 내용은 다음 논문(참고문헌[5])을 기반으로 작성되었다:

최미진, 이정근, “정확한 방위각 추정을 위한 차수 변환 방식 자기왜곡

보상 메커니즘,” 제어로봇시스템 학회 논문지, 23 권, 7 호, pp. 552-558,

2017 년 5 월.

- 37 -

4. 자기교란에 대한 영향을 헤딩 추정에 제한시킨

순차적 자세 칼만필터

4.1 서 론

가속도계 및 자이로스코프와 같은 소형 IMU 가 급속도로 발전함에

따라, 웨어러블 관성 모션캡쳐 시스템은 스포츠과학, 물리치료, 재활과

같은 다양한 휴먼 모션 추적(human motion tracking) 분야에서 활용되고

있다[31-33]. 이러한 관성 휴먼 모션캡쳐에서 가장 중요한 요소 중에

하나는 정확한 3 차원 자세(orientation)를 추정하는 것이다[9]. 본

장에서는 관성자기센서를 이용하여 AHRS(attitude and heading reference

system)에 대한 3 차원 자세를 추정하는 알고리즘을 제안한다. 여기서

관성자기센서는 3 축 자이로스코프, 3 축 가속도계, 3 축 지자기센서로

구성된 센서모듈이다.

관성자기센서를 이용하여 자세를 추정하는 과정에서 가속도계와

지자기센서는 자이로스코프의 표류오차를 보정하기 위해 두 개의

고정된 참조 벡터를 제공한다: a) 수직방향 참조에 사용되는

중력벡터와 b) 수평방향 참조에 사용되는 지구자기장벡터. 그러나,

자세를 추정하는 과정에서 추정 정확성을 저하시키는 두 가지 조건이

있다. 첫 번째 조건은 센서가 가속을 받을 때이며, 이 경우 가속도계

신호는 중력 가속도와 외부가속도의 합과 같기 때문에 정확한

중력벡터를 알 수 없다. 두 번째 조건은 센서가 강자성 물체 근처에

있을 때이며, 이 경우 지자기센서 신호는 지구자기장과 강자성

물체로부터 발생되는 자기장(자기교란)의 합과 같기 때문에 정확한

지구자기장벡터를 알 수 없다. 일반적인 인간의 움직임은 느린

- 38 -

동작(노인과 환자의 경우)과 관련되기 때문에, 동적인 동작은 인간의

움직임에서는 거의 없다[11]. 그러나 자기교란의 문제는 가속도와 같은

일시적인 교란이 아닌 지자기센서에 지속적으로 자기교란에 노출될 수

있기 때문에 실용적인 관점에서 더욱 문제가 된다[34-36].

3 차원 자세 표현의 형태 중에 하나인 쿼터니언(quaternion)은 계산

효율과 특이점이 없는 장점을 가지고 있어 가장 보편적으로 사용하는

표현방식이다[9,11,37]. 그럼에도 불구하고, 쿼터니언 표현 방식은 교란

문제와 관련된 중요한 단점을 가지고 있다. 자이로스코프와 가속도계

측정은 attitude(즉, 롤과 피치)를 계산하기 충분한 정보를 주며[19],

따라서 attitude 의 계산과정에 지자기센서 신호를 사용하지 않는 것이

좋은 결과를 준다. 그러나 쿼터니언 방식에서 지자기센서 측정은

heading(즉, 요) 추정뿐만 아니라 attitude 에도 영향을 미치는 단점을

가지고 있다.

쿼터니언 방식에서 attitude 추정은 자기교란의 영향 받지 않고

heading 추정에 대하여 자기교란의 영향을 제한하는 몇 가지 접근법이

있다. 자세를 추정하는 과정에서 Wahba 의 문제[38]를 해결하기 위한

기존의 쿼터니언 추정(quaternion estimator, QUEST)과는 달리, Yun et

al.[39]는 가속도계와 지자기센서 신호를 분리하고 attitude 추정을 위한

지자기센서 신호의 영향을 제거할 수 있는 FQA(factored quaternion

algorithm)를 제안했다. Suh[40]은 칼만필터(Kalman filter, KF)의 측정

업데이트 방정식을 가속도계 측정 업데이트와 지자기센서 측정

업데이트의 두 단계로 구분하는 접근법을 제안했다. 또한, Suh et

al.[13]는 쿼터니언 기반 간접 자세추정 칼만필터의 계산과정에서

지자기센서 측정에 포함된 attitude 정보를 버리는 방법을 제안했다.

이러한 복잡한 분리 과정은 계산 효율 측면에서 쿼터니언의 장점을

줄인다. 또 다른 자세 표현 방식인 DCM(direction cosine matrix)은

- 39 -

구성요소의 수(즉, 9 개의 구성요소)로 인해 쿼터니언 대비 많은

계산시간을 요구한다. 그러나 DCM 은 물리적으로 직관적이며

교란성분을 분리하는 과정 없이 사용할 수 있으므로 다른 방식에 비해

사용하기 편리하다[41].

DCM 은 attitude 벡터와 heading 벡터(즉, 6 개의 성분)를 추정함으로써

자세를 결정할 수 있다. 본 장에서는 AHRS 를 위한 새로운 DCM

기반의 자세추정 알고리즘을 제안한다.

4.2 자세추정 칼만필터

4.2.1 문제 정의

센서좌표계(sensor frame, S)와 고정 관성좌표계(inertial reference frame, I)

사이의 3×1 벡터 x의 좌표변환은 다음과 같다.

I I SSx R x (4.1)

여기서 x 의 좌측 위첨자 S 와 I 는 벡터가 각각 S 와 I 좌표계에서

관측되었음을 나타내며, IS R 는 I 좌표계에 대한 S 좌표계의 자세를

의미하는 DCM 이다. IS R 는 S 좌표계에서 관찰된 I 좌표계의 세 개의

단위 및 직교 열벡터를 통해 다음과 같이 표현된다.

TI S S S

S I I I R X Y Z (4.2)

제안하는 자세추정 KF 는 I 좌표계로부터 복각(dip angle) 에 의해

y 축을 중심으로 기울어진(회전된) 좌표계(I′)를 사용하였다. 여기서

자기 경사라고 알려진 복각은 수평축과 지구자기장 벡터에 의해

정의된 각도이며, 자기 적도(magnetic equator)를 제외하고 0 이 아닌

위치에 의존적인 어떠한 값을 가진다[14]. I 좌표계와 I′ 좌표계 사이의

관계

여기서

사용

g 와

벡터

여기서

를 고

는 다음과

서 복각 는

안하는 알고

한다: attitud

heading 벡

m . 두 개

서 g g

고려하면, he

Fi

같다.

II

는 1cos ( SI

Z

고리즘은 자

de 벡터 S Z

벡터 'S

IX 와

의 참조 벡

S gg

이고, m

ading 벡터

ig. 4.1. Inert

- 40

cos

0

sin

R

) /SI I m

자세를 결정

IZ 와 관련된

와 관련된 수

터는 다음과

SIg Z and

m 이다(F

'S

IX 는 다음

ial and senso

0 -

0 sin

1 0

0 cos

/ 2 과 같이

정하기 위해

된 수직방향

수평방향 참

과 같이 나타

d S Sm m

Fig. 4.1 참조

음과 같이

or frames, an

결정된다.

해 두 개의

향 참조 벡터

참조 벡터인

타낼 수 있다

SI X

조). 관계식

표현된다.

nd dip angle.

(4

참조 벡터

인 중력 벡

인 지구자기

다.

(4

''

I I TS I SR R

4.3)

터를

벡터

기장

4.4)

IS R

- 41 -

cos sinS S SI I I X X Z- (4.5)

본 장에서 IS R 은 다음과 같은 과정을 통해 결정된다: (i) S

IZ 는

가속도계 신호로부터 계산된 g를 사용하여 추정하고, (ii) 'S

IX 는 SIZ 와

지자기센서 신호로부터 계산되는 m 을 이용하여 추정되며, (iii) SIY 는

단위벡터들의 직교성(즉, S S SI I I Y X Z )을 이용하여 추정한다. 이후로

본 장에서는 간편성을 위해 , ,I S SS I IR X Y 와 S

IZ 는 각각 , ,S SR X Y 와

S Z 로 표시된다.

4.2.2 추정 알고리즘

제안하는 자세추정 알고리즘은 attitude KF(롤과 피치 추정용)과

heading KF(요 추정용)로 구성된 두 개의 선형 칼만필터를 사용한다.

여기서 attitude 와 heading 은 DCM 의 Z 축과 X 축 단위벡터로 표현되며

다시 말해, 첫 번째 attitude KF 는 I 좌표계의 수직축(중력축)에

적용되며, 두 번째 heading KF 는 수평축(헤딩축)에 적용된다.

A) Sensor Modeling

자이로스코프(G), 가속도계(A)와 지자기센서(M)의 신호는 다음과

같이 모델링된다.

S SA A y g a n (4.6a)

S SM M y m d n (4.6b)

SG G y ω n (4.6c)

여기서 ω 는 각속도, a 는 외부가속도, d 는 자기교란이며, n 들은 각

센서의 신호잡음이다. 식(4.6b)와 식(4.6c)에서 외부가속도와 자기교란은

1 차 마르코프 연쇄(Markov chain)식에 기반하여 특정시간 t 에 대하여

다음과 같이 모델링 된다[19, 42].

- 42 -

1 ,S S

t a t a tc a a ε- (4.7a)

1 ,S S

t d t d tc d d ε- (4.7b)

여기서 ac 와 dc 는 각각의 교란모델에 대한 파라미터이며, ,a tε 와 ,d tε 는

각각의 교란모델에 대한 시변 오차(time-varying errors)를 의미한다.

B) 1st Step KF: Attitude Estimation

첫 번째 KF 는 참고문헌[19]을 기반하여 S Z (첫 번째 KF 의

상태벡터)를 추정한다. 칼만필터의 진행모델(process model)은

자이로스코프 신호의 스트랩다운 적분식(strapdown integration)으로부터

다음과 같이 모델링된다.

, 1 1 1S S S

t G t t t Gt t Z I y Z Z n- - -- - (4.8)

여기서 I 는 3 3 단위행렬(identity matrix), t 는 샘플링 간격이며, 문자

위에 표시된 틸트“~”는 해당 벡터의 외적 행렬(cross product)을

의미한다(즉, [ ] a a ). 칼만필터의 측정모델(measurement model)은

가속도계 신호 식(4.6b)에 식(4.7a)을 적용하여 다음과 같이 모델링된다.

, 1 ,S S S

A t a t t t Ac g y a Z a n--- - (4.9)

여기서 관계식 ,S S S

t t t a a a- - - 와 1S S

t a tc a a-- 가 사용되었다. 또한,

위첨자 +와 − 표기는 각각 예측값(a priori)과 보정값(a posteriori)을

의미한다.

식 (4.8)과 (4.9)를 통해 첫 번째 KF 에 대한 식들이 도출된다.

1, 1 1 1, 1S S

t t t t Z Φ Z w- - - (4.10)

1, 1 1,S

t t t z H Z v (4.11)

여기서 천이행렬 1Φ 는 , 1G ttI y -- 이고, 진행잡음 1w 는 1S

t Gt Z n--

- 43 -

이다. 또한, 측정 벡터 1z 는 , 1S

A t a tc y a -- , 관측행렬 1H 는 g I 이며,

측정잡음 1v 는 ,S

t A a n-- 이다.

진행잡음과 측정잡음에 대한 공분산 행렬 1, 1 1, 1 1, 1( )Tt t tE Q w w- - 와

1, 1, 1,( )Tt t tE M v v 는 다음과 같다.

21, 1 1 1

S St t G tt Q Z Σ Z - - -- (4.12)

1, 1t acc A M Σ Σ (4.13)

여기서 E 는 기대연산자(expectation operator)이다. 따라서 가속도계와

자이로스코프 신호잡음에 대한 공분산 행렬 AΣ 와 GΣ 는 각각 2A I 와

2G I 이며, 2

A 와 2G 는 각각의 신호잡음에 대한 분산이다. 또한,

가속도 모델 오차의 공분산 행렬 1accΣ 는 , ,( )( )S S Tt tE

a a 로

정의되며, 다음과 같이 설정된다.

21 2

1 13 Sacc a tc Σ a I-

- (4.14)

C) 2nd Step KF: Heading Estimation

두 번째 KF 는 S X (두 번째 KF 의 상태벡터)를 추정한다. 식(4.8)와

마찬가지로 진행모델은 다음과 같다.

, 1 1 1S S S

t G t t t Gt t X I y X X n- - -- - (4.15)

측정모델은 식(4.6c)로 표시된 지자기센서 신호를 기반으로 한다.

그러나 가속도계 신호의 중력 벡터(첫 번째 KF 와 관련됨)는 수직축과

정렬되어있는 반면 지자기센서 신호의 지구자기장벡터(두 번째 KF 와

관련됨)는 복각으로 인해 수평축과 정렬되지 않는다. 그러므로

지구자기장벡터는 수평축에 투영되어야 한다. 식(4.3)와 (4.5)를

고려하면 식(4.6c)는 다음과 같이 재구성할 수 있다.

- 44 -

cos sinS S SM Mm m y X Z d n- (4.16)

식(4.16)에 관계식 ,ˆS S S

t t t Z Z Z- , ,

ˆS S St t t d d d- - - 와 1

ˆ ˆS St d tc d d-

- 를

적용하면 다음과 같다.

, 1

, ,

ˆ ˆsin

cos sin

S SM t t d t

S S St t t M

m c

m m

y Z d

X Z d n

-

-

-

- (4.17)

식(4.17)의 좌변항의 ˆStZ 는 첫 번째 KF 를 통해 추정된다. 또한,

ˆStm 는 시간 t 에서 알 수 없는 미지의 값이기 때문에 식(4.17)에서

사용되는 복각 는 식(4.18)로부터 얻어진다.

1 ˆ ˆcos ( ) / 2S St t Z m (4.18)

여기서 ˆStm 는 ,

ˆSM t ty d- 이다.

식 (4.16)과 (4.17)를 통해 두 번째 KF 에 대한 식들이 도출된다.

2, 1 1 2 1S S

t t t ,t X Φ X w- - - (4.19)

2, 2 2,S

t t t z H X v (4.20)

여기서 2 1Φ Φ 이고, 2, 1tw - 는 1S

t Gt X n-- 이다. 또한,

2 , , 1ˆ ˆsin S S

t M t t d tm c z y Z d -- (4.21)

2 cosm H I (4.22)

2, , ,sin S St t t Mm v Z d n-- (4.23)

가 된다.

진행잡음에 대한 공분산 행렬 2, 1tQ - 는 21 1

S S Tt G tt X Σ X - - 이다.

측정잡음에 대한 공분산 행렬 2,tM 은 식(4.23)에 식(4.24)를 대입하여

얻을 수 있다.

따라서

식(

공분산

여기서

이며(

서 식(4.23)

(4.25)의 우

산 행렬은

M

서 지자기

( 2M 는 신

Fig. 4.

은 다음과

2,

st

m

gv -

우변항은 서

다음과 같이

2

2, 2

sint

m

gM

센서의 신

신호잡음

.2. Structure

- 45

, (St A

Z n -

같이 된다.

,

sin St

m

g a

로 관련이

이 된다.

2

2

nacc

호잡음에

Mn 의 분산

of the propo

5 -

, ) /St g

a-

sin SA

m

g

n -

없으므로(

2 2

2

sinA

m

g

Σ

대한 공분

산), 2accΣ

osed sequenti

,S

t M d n-

(uncorrelated

dist M Σ Σ

분산 행렬

,( )(StE

a

ial Kalman f

(4.

(4.

d) 측정잡음

(4.

MΣ 는

,( )S Tt

a 이

filter.

24)

25)

음의

26)

2M I

고,

distΣ

동일

Fig

보여준

추정

때문

자세

4.3

4.3.1

위해

Hz 샘

Fig

,( )(StE d-

하게 선정하

g. 4.2 는

준다. 순차

에만 영향을

에 추가적인

추정 알고

실험 결과

1 검증실험

안하는 알고

IMMU 센서

샘플링 속도

g. 4.3. Test se

,( )S Tt d- 이

하며, distΣ 는

제안하는

차적 구조로

을 미치고,

인 분리과정

고리즘의 고유

고리즘은 M

서로 MTw(f

도로 사용하

etup: optical

- 46

이다. 제안하

는 1accΣ 와 유

순차적 자

로 인해 자

attitude(즉

정이 필요하

유한 문제를

MATLAB®을

from Xsens T

하였다. 또한

motion track

6 -

하는 방법

유사하게 3-

자세추정 칼

자기교란의

즉, 롤과 피

하지 않는다

를 해결한다.

을 통해 구현

Technologies

한, 추정 정

ker and MTw

은 2accΣ

21 21

Sd tc d I-

-

칼만필터의

영향이 he

피치) 추정과

. 따라서 쿼

.

현되었으며,

s B. V., Neth

정확도를 비

w IMMU sen

과 1accΣ

I 로 선정된

전체 구조

eading(즉,

과는 무관하

쿼터니언 기

성능 검증

erlands)를 1

비교하기 위

nsor.

된다.

조를

요)

하기

기반

증을

100

위해

- 47 -

광학식 모션캡쳐 시스템 OptiTrack Flex13(from NaturalPoint, Inc. USA)를

사용하여 세 개의 마커 위치를 추적함으로써 자세 참조값(truth

reference)을 얻었다(Fig. 4.3 참조). 제안하는 알고리즘에서 사용하는

파라미터 ac 와 dc 는 각각 0.1 과 0.15 로 선정되었다.

교란성분(외부가속도와 자기교란)의 관점에서 네 가지 다양한 시험이

진행되었다. 자기교란은 117 × 225 × 2.2 mm3 크기의 강철판을 이용하여

자기장을 발생시켰다. 시험조건은 아래와 같다.

• Test A: 강철판으로부터 50cm 떨어진 자기적으로 교란이 없는

영역에서부터 센서의 자세를 30 초동안 계속해서 천천히 변경하며

강철판에 가까워졌다 멀어지는 방식으로 실험하였다. 그런 다음

자기적으로 교란이 없는 초기 위치에 센서를 이동시켰다.

• Test B: Test A 와 유사하지만, Test A 보다 센서의 속도가 빠르며 더

많은 움직임을 주며 실험하였다(Fig. 4.4 참조). Fig. 4.4(a)는

강철판에 의해 가해진 자기교란을 보여준다. I 좌표계에 대한

자기교란 I d 는 신호잡음 Mn 을 알 수 없기 때문에 관계식

I I IS opt M d R y m 을 통해 계산되었으며, 여기서 I

S optR 는 광학식

모션캡쳐 시스템을 통해 얻은 자세 참조값을 사용하였다.

• Test C: 센서의 자세가 변경되지 않도록 바닥에 고정시킨 상태에서

강철판을 센서의 각 축에 따라 가까워졌다 멀어지는 방식으로

움직이며 자기교란의 영향을 받도록 실험하였다.

• Test D: Test C 와 유사하지만, Test C 보다 센서 주위에서 강철판을

다양하게 움직였다. 또한, 자기교란의 영향을 받는 시간을 Test

C 보다 훨씬 긴 약 80 초동안 자기교란의 영향을 받도록 하였다

(Fig. 4.5 참조). Test D 는 각각의 알고리즘에 따른 추정 성능이

얼마나 오랫동안 유지되고, 자기교란이 사라진 후에 얼마나 빠르게

- 48 -

성능이 복귀되는지를 알아보는데 목적이 있다.

네 가지 실험에 대하여 세 가지 자세추정 알고리즘의 결과를

비교하였다. Method 1 은 본 장에서 제안하는 DCM 기반 자세추정

알고리즘이다. Method 2 는 참고문헌[37]에서 제안하는 쿼터니언 기반의

알고리즘이며, MATLAB®으로 구현된 오픈 소스 알고리즘을 사용하였다

(http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/ [last accessed on

October 2016]). Method 3 은 XKF-3w[17] 알고리즘이라 불리는 MTw 의

내부 알고리즘이다. 추정 정확도는 오일러 각(Euler angles)의 RMSE

(root-mean-squared-error)을 통해 비교하였다.

4.3.2 결 과

Table 4.1 은 네 가지 실험에 대한 세 가지 자세추정 알고리즘을 통해

추정된 전체 평균과 개별 오일로 각의 RMSE 를 보여준다.

Test A 의 경우 저속 조건에서 실험하였기 때문에 Method 1 과 Method

3 은 세 가지 오일러 각의 오차 모두 2°이내의 매우 정확한 결과를

보였다. Method 2 는 다른 두 가지 알고리즘에 비해 요 추정 오차가 더

크게 나왔다(Method 1/2/3 요 추정 RMSE: 0.84°/2.50°/1.23°). 이를 통해

요 추정과정에서 Method 2 는 Method 1 과 Method 3 에 비해 자기교란에

더 많은 영향을 받는다는 것을 알 수 있다.

Test B 의 경우 자기교란의 영향으로 Method 1 과 Method 3 의 요 추정

오차가 3° 대로 Test A 대비 증가하였다. Method 2 는 요 추정 오차가

10.33°로 다른 방법보다 더 많은 오차 증가 폭을 보였다. 또한, Method

2 는 약 14 초에서 요 추정오차가 급속도로 증가할 때, 롤 추정오차도

30°까지 증가하였다(Fig. 4.4 참조). Fig. 4.4(a)에서 보듯이 17 초에

자기교란이 제거되었을 때, Method 2 의 요 추정 성능은 Fig. 4.4(d)과

같이 서서히 회복되었다.

Fig

g. 4.4. Test B(b)-(d

※Note: Figure can

B results: (a)d) estimationn be viewed in co

- 49

) exposed man errors with

lor in the PDF ve

9 -

agnetic disturespect to th

ersion of thesis on

urbance for ehe true referen the RISS websi

each axis, annce. te, www.riss.kr.

nd

Fig

g. 4.5. Test D(b)-(d

※Note: Figure can

D results: (a)d) estimationn be viewed in co

- 50

) exposed man errors with

lor in the PDF ve

0 -

agnetic disturespect to th

ersion of thesis on

urbance for ehe true referen the RISS websi

each axis, annce. te, www.riss.kr.

nd

- 51 -

Test C 와 Test D 의 경우 외부가속도의 영향이 없는 센서가 고정된

상태이므로 세 가지 알고리즘 모두 롤과 피치 추정에서 높은 정확성을

가졌다. 그러나 자기교란의 영향을 받는 요 추정은 두 가지 실험에서

상이한 결과가 나왔다. Method 1 과 Method 3 의 경우, Test D 가 Test

C 보다 자기교란의 영향을 받는 시간이 더 길었기 때문에 요 추정

오차가 증가하였지만, 롤과 피치 추정 결과는 Test C 와 Test D 가 거의

동일하였다. 이를 통해 Method 1 과 Method 3 은 롤과 피치 추정

과정에서 자기교란의 영향을 받지 않는 것을 알 수 있다. 반면에,

Table 4.1. Test results of the root mean squared error (in units of degree).

Method 1 Method 2 Method 3

Test A

Average 1.33 1.94 1.15

Roll 1.80 2.12 1.16

Pitch 1.34 1.20 1.00

Yaw 0.84 2.50 1.23

Test B

Average 2.10 5.92 2.30

Roll 1.70 5.00 2.15

Pitch 1.13 2.44 1.35

Yaw 3.45 10.33 3.40

Test C

Average 0.59 1.62 0.92

Roll 0.03 0.55 0.12

Pitch 0.13 0.21 0.13

Yaw 1.61 4.11 2.52

Test D

Average 0.99 5.30 1.90

Roll 0.04 1.61 0.17

Pitch 0.03 1.12 0.11

Yaw 2.89 13.14 5.43

- 52 -

쿼터니언 기반의 Method 2 의 경우, 요 추정뿐만 아니라 롤과 피치

추정에서도 Test C 보다 Test D 에서 더 큰 RMSE 를 보였다. 이를 통해

쿼터니언 기반의 Method 2 는 지자기센서 신호가 롤과 피치 추정에

영향을 미치는 것을 알 수 있다. 이러한 점은 Fig. 4.5(b)와 Fig.

4.5(c)에서 명확하게 확인할 수 있다.

종합적으로 비교해보면, Method 2 는 교란에 의한 심각한 영향을

받았으며, Method 1 과 Method 3 은 Method 2 보다 추정성능이 우수했다.

요 추정에 대하여 Method 1 의 결과와 Method 3 의 결과 사이의 정상

상태 오차로부터 부분적인 차이가 발생했다. Fig 4.5(d)에서 보듯이,

자기교란이 제거된 자기환경이 균일한 상태로 되돌아가면 Method 3 은

요 추정 오차가 점차적으로 감소하지만, 자기교란이 제거되자마자

회복되는 것이 아니라 약 10 초의 시간이 지난 이후부터 회복되었다.

이와 달리, 제안하는 방법인 Method 1 은 자기교란이 제거되자마자

바로 회복되었다. 또한, 요 추정 오차의 패턴도 Method 1 과 Method

3 에서 차이를 보였다. Method 3 의 요 추정 오차는 교란에 노출되는

동안 선형적으로 증가하지만, Method 1 의 요 추정 오차는 교란의

크기에 따라 변동되는 패턴이 관찰되었다.

4.4 고찰 및 결론

휴먼 모션캡쳐 분야에서 지자기센서 신호의 교란성분인 자기교란은

가속도계 신호의 교란성분인 외부가속도보다 더 많이 발생되며, 자세추정

성능을 저하시키는 문제를 발생한다. 쿼터니언 기반의 자세추정 알고리즘은

자기교란의 영향이 heading 뿐만 아니라 attitude 에도 영향을 미쳐 추정 성능이

저하되는 단점을 가지고 있다[16]. Method 1 과 Method 3 은 롤과 피치

추정과정에서 자기교란의 영향을 받지 않는 반면, 쿼터니언 기반 자세추정

- 53 -

알고리즘인 Method 2 는 롤과 피치 추정 과정에서 자기교란의 영향을 받아

오차가 발생하였으며, 이러한 모습은 Fig. 4.5(b)와 Fig. 4.5(c)를 통해 확인할 수

있었다.

본 장에서 제안하는 방법인 Method 1 은 자기교란에 대해 별도의 분리

과정(예, 교란 보상 메커니즘 등) 없이 AHRS(즉, attitude 를 추정한 이후

heading 를 추정함)와 쌍을 이루는 순차적 구조의 DCM 기반 칼만필터이다.

Method 2 는 참고문헌[37]에서 제안하는 쿼터니언 기반 자세추정

알고리즘으로 자기교란 보상 메커니즘을 가지고 있다. 참고문헌[37]에서는

보상 메커니즘을 사용함으로써 자기교란 성분이 자세 추정과정에서

heading 추정에만 영향을 미친다고 하였으나, 본 장의 결과는 참고문헌

[37]에서 소개된 내용을 뒷받침하지 못하였다.

Method 3(MTw 의 XKF-3w)의 결과에서 보듯이, Method 3 은 롤과 피치

추정과정에서 자기교란의 영향을 받지 않는다는 점은 흥미로운 발견이었다.

이러한 점은 MTw 의 매뉴얼[17]에 작성된 내용과 관련이 있다: “만약

지구자기장이 일시적으로 교란을 받고 있다면, XKF-3w 는 자기교란 성분을

추정한다. 그러나 구조상 자기교란이 지속되는 경우(10~20 초 이상), heading

추정 과정은 “새로운” 자기 북쪽을 사용하는 솔루션으로 천천히 수렴한다.

또한, 측정된 자기장은 attitude 추정에 직접적인 영향을 미치지 않는다.”

본 장에서 제안하는 방법은 매시간마다 새로운 복각을 계산한다.

이론적으로 특정 위치에서의 복각은 일정하기 때문에, 처음 계산된 복각을

전체 시간에서 적용할 수 있다. 그러나, 초기 복각을 기반한 추정 결과는

제안하는 방법만큼 정확하지 않았다: Test B 에 대한 요 추정 RMSE 결과

제안하는 방법은 3.45°, 초기 복각을 사용하는 방법은 4.20°.

네 가지 자기교란 조건에서 실험한 결과에서 보듯이, Method 1 은 Method

3 과 비슷한 자세추정 정확성을 보였다. 본 장의 실험 결과에서 Method 2 는

다른 알고리즘에 비해 상대적으로 낮은 수준의 추정 정확도를 가졌다.

- 54 -

그러나 Method 2 는 튜닝해야하는 파라미터가 쿼터니언 유도체(derivative)의

크기(magnitude)로 표현되는 자이로스코프 측정 오차를 나타내는 파라미터

β 만 단 하나만 존재하는 장점이 있다. Table 4.1 은 β 를 0.033[37]으로

선정하였을 때 얻어진 결과이다. 각각의 실험에 대하여 최적의 파라미터가

선정된다면, Method 2 는 더 낮은 추정 오차를 보일 것이라 예상된다.

본 장에서는 AHRS 을 위한 순차적인 DCM 기반 자세추정 칼만필터를

제안하였다. 제안된 알고리즘은 두 개의 선형 칼만필터를 사용하며, attitude

칼만필터로 추정된 이후 heading 칼만필터로 추정되도록 구성된다. Heading

칼만필터의 경우, attitude 칼만필터에서 추정된 결과를 통해 복각을

계산함으로써 지구자기장벡터의 방향을 I 좌표계의 수평축(heading axis)에

투영한다. 제안하는 알고리즘은 attitude 칼만필터의 외부가속도 모델

이외에도 heading 칼만필터에서 자기교란을 보상하기 위해 자기교란 모델을

사용하였다.

제안하는 알고리즘은 순차적인 구조로 인해 별도의 분리 과정 없이,

자기교란의 영향이 요 추정에 제한되며 롤과 피치 추정에 영향을 미치지

않는다. 이를 통해 쿼터니언기반 자세추정 알고리즘의 고유한 문제를

해결하였다.

제안하는 알고리즘은 다양한 자기교란 조건에서 실험을 통해 성능을

검증하였으며, 두 개의 동적실험(Test A 와 Test B)에서 평균 RMSE 1.71°, 두

개의 정적실험(Test C 와 Test D)에서는 평균 RMSE 0.79°로 높은 자세 추정

성능을 보였다. 이를 통해 자기적으로 균일하지 않는 환경에서 제안하는

알고리즘의 우수한 추정 성능을 확인하였다. 특히, 제안된 방법은 heading

추정관점에서 추정 정확성과 회복 속도에 대하여 다른 두 가지 자세추정

알고리즘 대비 우수한 성능을 가졌다.

- 55 -

Acknowledgement

본 장에 대한 내용은 다음 논문(참고문헌[66])을 기반으로

작성되었다: J. K. Lee and M. J. Choi, “A sequential orientation Kalman filter

for AHRS limiting magnetic disturbance to heading estimation,” Journal of

Electrical Engineering & Technology, vol. 12, no. 4, pp. 1675-1682, Apr. 2017.

- 56 -

5. 가속도로 인한 부정확성 제거를 위해 기구학적

구속조건을 결합한 관성센서기반 자세추정

5.1 서 론

자세(attitude) 추정은 센서신호를 이용하여 운동체의 2 차원 자세인

롤(roll)과 피치(pitch)를 결정하는 것으로, 로봇이나 무인항공기뿐만

아니라 다양한 기계시스템에서 필수적으로 요구된다[1,43-45]. 특히,

관성센서(inertial sensor) 기반의 자세추정은 센서고유의 이동성으로

인해 이동형 시스템에서 가장 많이 사용되는 추정 방식이다[19,45-47].

여기서 관성센서는 각속도를 측정하는 3 축 자이로스코프와

중력가속도와 센서가속도의 합을 출력하는 3 축 가속도계로 구성되며,

두 센서의 신호는 주로 칼만필터(Kalman filter)를 통해 융합된다[46, 48].

다양한 방식의 관성센서기반 자세추정 칼만필터가 개발되었으나,

자이로스코프의 측정신호를 적분하여 자세를 예측(prediction)하고,

적분과 더불어 발생하는 표류오차를 방지하기 위해 가속도계

측정신호를 통해 보정(correction)한다는 기본 개념은 동일하다. 이때

가속도계 신호가 보정에 사용되는 원리는, 정적 또는 등속조건에서

가속도계 신호는 중력가속도이며 이 중력가속도가 표류없이

수직방향을 참조할 수 있도록 알려주고 있는 것이다. 하지만

동적조건에서 가속도계의 신호는 센서가속도와 중력가속도의 합을

의미하며, 더 이상 참조벡터의 역할을 수행하지 못하게 된다[18,49].

따라서 가속조건에서는 센서가속도로 인해 참조벡터의 정확성이

훼손되고 부정확성이 증가하게 되어, 자세추정 성능이 크게 감소할 수

있다.

- 57 -

이에 대한 대응으로, 가속조건에서 자세추정 칼만필터의 성능을

향상시키기 위한 다양한 가속도 보상 메커니즘이 제안되어왔으며,

대표적인 방식으로 스위칭 방식, 적응추정 방식, 가속도모델 방식 등이

있다[15,49]. Lee[15]는 간접 칼만필터에 세가지 가속도 보상 메커니즘을

적용하여, 그에 따른 성능을 비교 분석하였다. 그 결과, 스위칭

방식보다 적응추정 방식과 가속도모델 방식의 성능이 우수하였다.

그러나 우수한 성능을 보인 두 방식 모두 동적조건에서 4° 이상의

추정 오차를 보였으며, 이는 가속도 보상 메커니즘을 통해 가속도

관련 부정확성을 완벽하게 제거할 수 없다는 것을 의미한다. 특히,

동적조건이 지속되는 로봇시스템이나, 고속 가동조건이 빈번히

발생하는 기계시스템의 경우 기존의 가속도 보상 메커니즘으로는

강건한 자세추정이 불가능하다.

참고문헌[50-52]에서는 칼만필터에 구속조건을 결합하는 방법들을

소개하였다. 하지만, 아직까지 이러한 연구가 관성센서기반 자세추정에

적용된 바 없다. 본 장은 가속도로 인한 부정확성을 제거하기 위해

기구학적 구속조건을 이용한다. 특히, 3 방향 회전조인트인 볼

조인트(ball joint)를 통해 도출되는 구속조건을 대상으로 하는데, 이는

많은 기계 및 로봇시스템의 분절(segment)들이 회전조인트로

연결되어있기 때문이다. 이때, 기구학적 구속조건을 통해 가속도 관련

부정확성이 제거되므로, 가속도계 신호에서 중력가속도가 완벽히

분리되고 이는 참조벡터가 어떠한 운동조건에서도 훼손되지 않음을

의미한다. 따라서, 운동조건에 상관없이 강건한 자세추정이 가능하게

된다.

본 장에서는 볼 조인트에 의한 센서가속도 구속조건식을 유도하였고,

다음으로 가속도모델 방식의 가속도 보상 메커니즘을 적용하고 있는

기존의 자세추정 칼만필터[18]에 유도된 구속조건식을 결합하므로서,

- 58 -

새로운 구조의 구속 칼만필터를 제안하였다. 마지막으로 제안하는

방법의 성능을 다양한 시험 조건에서 검증하고 고찰하였다.

5.2 제안하는 자세추정 칼만필터

본 장에서는 고정 관성좌표계(inertial reference frame)를 I 좌표계로

센서좌표계(sensor frame)를 S 좌표계로 정의하며, 좌측 위첨자를 통해

벡터의 관측좌표계를 표기한다. 즉, , ,S S SX Y Z 는 각각 I 좌표계의 X, Y,

Z 축 단위벡터를 S 좌표계에서 관찰한 것이다. 따라서 I 좌표계에 대한

S 좌표계의 자세를 나타내는 방향코사인행렬 IS R 은 다음과 같이

표현된다.

TI S S S

S R X Y Z (5.1)

여기서 S Z 는 수직축에 대한 센서의 기울기를 의미하는 틸트(tilt)

벡터이며, 이를 통해 자세 정보를 얻을 수 있다[19].

5.2.1 센서가속도 구속조건

볼 조인트에 의해 기구학적으로 구속된 센서가 Fig. 5.1 과 같이

고정되면, S 좌표계의 중심에서부터 볼 조인트의 중심까지의

위치벡터를 S 좌표계에서 관찰한 S p 는 고정 값을 지닌다. 볼 조인트는

모든 병진 운동을 제한하고 오직 회전에 대한 3 자유도만 허용한다.

따라서 구속된 위치벡터를 이용하여 센서가속도 구속조건식을 유도할

수 있다.

우선, 위치벡터 p 에 대한 좌표계간 변환식은 다음과 같다.

I I SSp R p (5.2)

이때

관점

여기서

각속

다음

정리

F

, I p 를 시

에서의 센서

서 방향코사

도 Sω 의 외

과 같이 표

라서 식(5.3

된다.

Fig. 5.1. An

시간에 대하

서가속도 I a

사인행렬 IS

외적(cross p

표현된다.

I IS SR

3)에 식(5.4)

inertial sens

- 59

하여 두 번

a 가 도출된

I ISa R

IS R 를 두 번

product)행렬

I SS R ω

)를 대입하

sor attached t

9 -

미분하면

된다.

SR p

번 미분한

렬 (즉, S ω

S S ω ω

면, 센서가속

to a constrain

다음과 같

IS R 는 I

S R

S II S ω R R

ω

속도 I a 는

ned link by a

같이 I 좌표

(5

R 로 표현되

R )을 이용하

(5

다음과 같

a ball joint.

표계

5.3)

되는

하여

5.4)

같이

- 60 -

I I S S S SS a R ω ω ω p (5.5)

식(5.5)으로부터, S 좌표계 관점에서의 센서가속도 S a 는 다음과 같이

표현된다.

S S S S S a ω ω ω p (5.6)

이때, 식(5.6)의 각속도 Sω 는 측정이 불가능하므로 자이로스코프의

신호 Gs 와 신호 잡음 Gn 만으로 표현해야 한다. 우선, SG G ω s n 에

a b a b 를 적용하면 아래의 두 식이 유도된다. 여기서,

0G G n n 을 적용하였다.

SG G ω s n (5.7a)

S SG G G G G G ω ω s s s n n s (5.7b)

식(5.7)을 식(5.6)에 대입하여 정리하면, 아래와 같이 센서가속도

구속조건식이 유도된다.

S SG G G a a s s s p ε (5.8)

여기서 센서가속도 구속조건 오차 aε 는 다음과 같이 표현된다.

Sa G G G G G ε n s n n s p (5.9)

식(5.9)에서 신호 잡음 Gn 의 외적행렬을 제거하기 위해

a b b a a b 와 a b b a 를 적용하여 정리하면

구속조건 오차 aε 는 다음과 같이 표현된다.

2S S Sa G G G G ε p n p s s p n (5.10)

- 61 -

5.2.2 구속 칼만필터

본 장에서 제안하는 구속 칼만필터는 관성센서 신호를 통해 자세와

센서가속도를 추정하는 칼만필터[18]를 기반으로 하며, 5.2.1 절에서

유도된 센서가속도 구속조건식을 칼만필터의 측정벡터와 결합하여

센서가속도를 보상하는 새로운 방식의 칼만필터이다.

칼만필터의 상태벡터 x 는 자세 변수인 틸트벡터 S Z 와

센서가속도 S a 로 구성되고, 측정벡터 z 는 가속도계 신호 As 와

식(5.8)의 센서가속도 구속조건으로 구성되며, 이산시간 k 에 대하여

다음과 같이 정의된다.

S

kk S

k

Zx

a (5.11a)

,

, , ,

A k

k SG k G k G k

sz

s s s p (5.11b)

진행모델(process model)은 자이로스코프 신호의 스트랩다운

적분식(strapdown integration)과 1 차 마르코프 체인진행(Markov chain

process)기반의 가속도 모델식으로 다음과 같이 구성된다[18].

, 1 1 1S S S

k G k k k Gh h Z I s Z Z n (5.12a)

1S S

k a k kc a a ε (5.12b)

여기서 h 는 샘플링간격, I 는 3 3 단위행렬(identity matrix)이며, ac 는

1 차 마르코프 체인진행식의 차단주파수를 결정하는 0 과 1 사이의

값을 갖는 가속도모델 파라미터, kε 는 가속도모델 잡음이다.

측정모델(measurement model)은 가속도계 신호와 센서가속도

구속조건인 식(5.8)을 이용하여 다음과 같이 구성된다.

- 62 -

,S S

A k k k A s g a n (5.13a)

, , , ,S S

G k G k G k k a k s s s p a ε (5.13b)

여기서 S g 는 중력가속도벡터로 gS S g Z 로 표현 가능하며, 이때 g

는 중력가속도의 크기이다. 또한 An 는 가속도계의 신호 잡음을

의미한다.

이를 통해 다음과 같이 칼만필터 식들이 도출된다.

1 1 1k k k k x F x w (5.14a)

k k k k z H x v (5.14b)

여기서 식(5.14a)의 F 는 천이행렬(transient matrix), w 는 화이트

가우시안 진행 잡음(white Gaussian process noise)이며 공분산

행렬(covariance matrix)로 Q 를 갖는다. 식(5.14b)의 H 는

관측행렬(observation matrix), v 는 화이트 가우시안 측정 잡음(white

Gaussian measurement noise)이며 공분산 행렬로 M 을 갖는다. 각각의

수식은 다음과 같이 표현된다.

, 11

0

0

G kk

a

h

c

I sF

I (5.15a)

11

Sk G

k

k

h

Z nw

ε (5.15b)

1, 1

12, 1

0

0k

kk

QQ

Q (5.15c)

2 21, 1 1 1

TS Sk G k kh Q Z Z (5.15d)

21 2 2

2, 1 13 Sk a k Ac Q a I I (5.15e)

- 63 -

g

0k

I IH

I (5.15f)

,

Ak

a k

nv

ε (5.15g)

1,

2,

0

0k

kk

MM

M (5.15h)

21,k AM I (5.15i)

22,

2, ,

, ,

2

2

TS Sk dG

S SG G k G k

TS S

G k G k

M p p

p s s p

p s s p

(5.15j)

여기서 G , A 와 dG 는 각각 Gn , An 와 Gn 의 표준편차이다.

5.3 검증 실험

5.3.1 실험 장치 구성

제안하는 구속 칼만필터는 MATLAB®을 통해 구현되었으며,

성능확인을 위하여 InvenSense 사의 관성센서 MPU6050(Table 5.1

참조)을 사용하였다. 또한 자세추정 결과를 비교하기 위한 자세

참조값(truth reference)을 얻기 위해 NaturalPoint 사의 OptiTrack Flex13

Table 5.1. Specification of the MPU6050

Accelerometer Gyroscope

Range ±2~16 g ±250~2000 °/s

Sensitivity 2048~16384 LSB/g 16.4~131 LSB/(°/s)

RMS noise 400 μg / Hz 0.05 °/s

광학

통해

을 얻

얻어지

결과

Fig

동일

소켓부

Fig

식 모션캡

세 개의 마

얻었다. 이를

지는 참조

와 비교하였

g. 5.2 에서

축상에 놓

부분이 바

g. 5.2. Test sto the

쳐 시스템

마커의 위치

를 통해 참

센서가속도

였다.

보듯이, 플

놓이도록 부

바닥에 고정

setup: inertiae link with th

- 64

을 사용하

를 추적함으

참조 틸트벡

도 Sopta 를 얻

라스틱 삼각

부착하였다

정된 환봉형

al sensor MPhe ball joint c

4 -

하였다. 광학

으로써, 3 차

벡터 SoptZ 와

얻었으며, 이

각자에 세 개

다. 이 삼

형 링크에

PU6050 and constraint.

학식 모션캡

차원 자세 참

와 gA s

이들을 제안

개의 마커와

삼각자를, 볼

단단히

optical mar

캡쳐 시스템

참조값인 IS R

SoptZ 를 통

안 방법의 추

와 MPU6050

볼 조인트

고정함으로

rkers attache

템을

optR

통해

추정

0 을

트의

로써

ed

- 65 -

기구학적 구속조건 식 (5.2)가 만족되도록 설치하였다. 환봉형 링크를

손으로 무작위로 움직여 센서의 자세를 변경시키는 실험을 진행하였다.

5.3.2 시험 조건

가속도로 인한 부정확성 제거를 통한 추정성능변화를 확인하기 위해,

구속조건을 적용한 제안 방법(Proposed)의 결과와 구속조건을 적용하지

않은 기존 칼만필터(Conventional)[18] 의 결과를 비교하였다. 시험

조건의 다양성을 위해, 센서가속도 S a 의 크기와 센서의 부착 위치(즉,

위치벡터 S p 의 길이)에 차이를 준 네 가지 실험이 진행되었다. 이때,

저속조건에서는 기존 칼만필터도 오차 평균 1° 이하의 우수한

자세추정 성능을 가지기 때문에(8) 성능개선 효과를 확인하기 위해선

일정 크기 이상의 가속도가 존재해야 한다. 이를 고려하여, 가속도

관점에서 저속실험을 배제한 중속( Sopta 의 평균 6 m/s2 이하, 최대 30

m/s2 이하) 및 고속( Sopta 의 평균 6 m/s2 이상, 최대 30 m/s2 이상) 실험이

실시되었다.

• Test A (중속실험): Sopta 의 평균 5.26 m/s2, 최대 22.07 m/s2, S p 는

0.45 1.85 83.85T cm.

• Test B (고속실험): Sopta 의 평균 6.79 m/s2, 최대 38.91 m/s2, S p 는

0.45 1.85 83.85T cm.

• Test C (중속실험): Sopta 의 평균 4.87 m/s2, 최대 19.15 m/s2, S p 는

0.45 1.85 64.55T cm.

• Test D (고속실험): Sopta 의 평균 6.79 m/s2, 최대 34.53 m/s2, S p 는

0.45 1.85 64.55T cm.

제안 방법과 기존 방법에서 사용하는 가속도모델 파라미터 ac 는

- 66 -

참고문헌[18]에서 제안한 0.1 로 선정되었다.

5.4 결과 및 고찰

Table 5.2 은 네 가지 실험에 대해 제안 방법(Proposed)과 기존

방법(Conventional)의 자세추정 RMSE(root mean squared error) 결과이다.

Test A 의 경우 구속조건을 적용하지 않은 기존 방법은 롤과 피치

평균 3.91°의 오차를 보였다. 반면에 구속조건을 적용한 제안 방법은

기존 방법 대비 평균 2° 개선된 자세추정 정확성을 보였다.

Test B 의 경우 매우 빠른 가속조건을 가하였기 때문에, 기존 방법은

자세추정 정확도가 Test A 대비 큰 폭으로 하락한 평균 11.21°의 오차를

가졌다. 이와 달리, 가혹한 가속조건에도 불구하고 제안 방법은 오차

평균 2.23°의 우수한 자세추정 성능을 보였다.

Test C 의 경우 기존 방법은 평균 5.1°의 오차를 보였으며, 제안

방법은 기존 방법보다 평균 3.02° 개선된 2.08°의 오차를 보였다.

Table 5.2. RMSEs from Test A, B, C, D (unit: degree)

Method Roll Pitch Average

Test A Proposed 2.03 1.79 1.91

Conventional 3.38 4.44 3.91

Test B Proposed 2.52 1.94 2.23

Conventional 14.34 8.09 11.21

Test C Proposed 1.84 2.33 2.08

Conventional 5.02 5.17 5.10

Test D Proposed 2.21 1.71 1.96

Conventional 14.65 11.71 13.18

Tes

기존

평균

사이

이하

모두

오차를

결과를

크게

오차를

Fig

st D 의 경

방법은 평

1.96°의 오

에서 기존

의 매우 우

오차가 큰

를 보였다(F

속조건에 차

를 비교하였

증가하였

를 가졌다

g. 5.3. Resultsolid)refere

※Note: Figure can

경우 매우 빠

평균 13.18°

오차를 보였

방법은 20°

우수한 추정

큰 폭으로 증

Fig. 5.3 참조

차이를 준

였을 경우

였으나, 제안

. 이러한

ts of Test D:) and the prence angles (n be viewed in co

- 67

빠른 가속조

°의 매우 큰

였다. 특히

° 이상의 오

성능을 가졌

증가하는 구

조).

Test A 와

가속도가

안 방법은

결과가 발

: Estimation roposed KF((black dashedlor in the PDF ve

7 -

조건에서 자

큰 오차를

Fig. 5.3(a)

오차를 보이

졌다. 또한,

구간 없이, 전

Test B(혹은

클수록 기

가속도에

발생한 이유

errors from (blue solid) d). ersion of thesis on

세를 변경하

가졌으나,

에서 보듯이

는 반면, 제

, 제안 방법

전체 구간에

은 Test C

존 방법의

상관없이

유는, 기존

the conventiwith respect

n the RISS websi

하였기 때문

제안 방법

이 65~100

제안 방법은

은 롤과 피

에서 7° 미만

와 Test D

오차는 매

동등수준

방법의 경

ional KF (ret to the truth

te, www.riss.kr.

문에

법은

피치

만의

D)의

매우

준의

경우

ed th

- 68 -

가속도에 기인하는 부정확성이 오차를 발생시키는 반면, 제안 방법의

경우 구속조건을 통해 가속도 관련 부정확성을 제거함으로써

추정성능이 운동조건에 영향을 받지 않기 때문이다.

한편, 센서의 부착 위치를 다르게 설정한 Test A 와 Test C (혹은 Test

B 와 Test D)의 결과를 비교하였을 경우, 제안 방법은 동일한 오차를

가진 반면, 기존 방법의 오차는 위치벡터의 길이가 작을수록 소폭으로

증가하였다. 그러나 오차의 증가 폭이 가속조건에 비해 작으며,

수동적인 임의 움직임에 대한 오차를 고려한다면, 센서의 부착 위치에

따른 자세추정 영향은 매우 미비하다고 할 수 있다.

제안 방법은 모든 실험에서 오차 평균이 2° 수준으로 우수한

자세추정 성능을 가졌다. 이러한 결과는 기존 방법의 성능과 비교하여

매우 향상된 결과이며, 이를 통해 가속도 관련 부정확성 제거를 통한

성능 향상을 확연히 확인할 수 있었다. 다만, 가속도관련 부정확성을

제거하였음에도 불구하고 존재하는 2° 수준의 오차는, 센서 성능 및

신호 잡음, 구속조건의 위배, 위치벡터 측정오차, 센서 및 조인트의

불안정한 고정 등 다양한 원인을 예상할 수 있다.

5.5 결 론

본 장에서는 볼 조인트로 구속된 움직임에 대하여 센서가속도

구속조건식을 유도하였으며, 유도된 구속조건을 칼만필터의

측정벡터와 결합한 새로운 구조의 자세추정 칼만필터를 제안하였다.

이를 통해 센서가속도에 기인한 자세추정의 부정확성을 제거하였고

추정성능을 향상시켰다.

검증실험 결과, 기존 방법은 가속도가 증가할수록 추정 오차가 최대

13°(Test C)까지 증가하는 반면에, 제안된 방법은 센서가속도

- 69 -

구속조건을 통해 가속도 관련 부정확성을 제거함으로써 가속도 크기에

상관없이 모든 실험에서 2° 수준의 정확하고 균일한 추정오차를

보였다. 네 가지 실험에 대한 자세추정 오차 비교 시, 제안하는

칼만필터가 기존 칼만필터보다 평균 6.31°, 최대 11.22° 향상된 성능을

보였다.

제안하는 칼만필터는 구속조건만 확보되면 운동조건에 상관없는

추정정확성을 지니고 있으므로, 동적조건이 지속되는 로봇시스템이나,

고속 가동조건이 빈번히 발생하는 기계시스템의 경우처럼 기존

칼만필터의 적용이 어려운 분야에서 효과적으로 사용될 수 있다.

Acknowledgement

본 장에 대한 내용은 다음 논문을 기반으로 작성되었다: 최미진,

이정근, “가속도로 인한 부정확성 제거를 위해 기구학적 구속조건을

결합한 관성센서기반 자세추정,” 대한기계학회 논문집(A), 심사 중.

- 70 -

6. 기구학적 구속조건을 투영한 IMU 기반

자세추정 칼만필터

6.1 서 론

이동체의 자세(attitude)를 추정하기 위한 방법으로, 자이로스코프와

가속도계로 구성된 IMU(inertial measurement unit)를 활용한 ARS(attitude

reference system)가 광범위하게 활용되고 있다[17.53]. 특히 반도체

기술의 발달에 기인한 저가 소형의 MEMS(micro-electromechanical

system) IMU 보급은 IMU 기반 자세추정에 대한 폭발적 수요를

견인하고 있다[43,54].

자이로스코프와 가속도계가 빈번히 결합되는 이유는 두 센서의

상호보완적 특성에 기인한다. 즉, 자이로스코프는 자세의 변화량을

감지하므로 이를 적분하여 자세를 추정할 수 있지만, 표류오차가

누적되는 문제를 피할 수 없다. 반면에, 가속도계는 중력벡터라는

고정참조벡터를 통한 자세 추정이므로 오차누적과 무관하지만,

동적조건에서는 가속도계 신호 내 외부가속도 유입으로 참조벡터가

훼손되는 문제를 지닌다. 따라서, 두 센서의 특성을 고려한 센서융합이

IMU 기반 자세추정 성능의 관건이라고 할 수 있다[17,18].

두 센서의 신호 융합을 위해 가장 보편적으로 사용되는 기법은

칼만필터(Kalman filter)이다[18.55-57]. 칼만필터는 (i) 상태모델과 이전

상태 추정치를 이용하여 현재 측정시간의 상태와 오차 공분산에 대한

추정치를 예측하는 시간 갱신(time update) 단계와, (ii) 예측(prediction)된

추정치를 측정값을 통해 보정(correction)하는 측정 갱신(measurement

update) 단계를 반복함으로써 최적의 상태를 추정하는 필터이다[58].

- 71 -

본 장의 주제인 IMU 기반 자세추정 칼만필터의 경우, 다양한 방식의

칼만필터가 있으나, 시간 갱신단계를 위해 자이로스코프 신호가

이용되고, 측정 갱신단계를 위해 가속도계신호가 이용된다는 점은

대다수의 경우 동일하다[17-19]. 여기서, 본 장은 측정 갱신단계를 위한

가속도계 신호의 불완전성에 주목한다. 앞서 설명하였듯이

동적조건에서 가속도계 신호는 외부가속도와 중력가속도의 합으로 더

이상 중력벡터로 국한되지 않는다. 이는 참조벡터의 부정확성을

의미하고, 측정 갱신단계를 통해 추정된 상태의 부정확성으로

이어진다. 동적조건이 짧은 시간으로 국한되는 경우, 자이로스코프

신호의 비중을 증가시킴으로써 이 문제에 대응할 수 있다. 이러한

대응은 짧은 시간동안의 표류오차 누적량은 심각하지 않다는 판단에

따른 것이다. 하지만 로봇시스템이나 선박, 항공기 등에서처럼

동적조건이 지속되는 경우 자이로스코프 신호에 장시간 의존은

해결책이 될 수 없다.

이를 극복하기 위해 다양한 기법들이 시도되었으나[18,19,59], 미지의

외부가속도가 존재하는 한 근본적인 해결책이라고 할 수는 없다.

외부가속도 문제에 대응하기 위한 기존의 시도들은 모두 IMU 가

부착된 이동체가 아무런 구속 없이 자유롭게 움직이는 경우를

대상으로 하고 있다. 하지만, 많은 이동체는 기구학적으로 다양한

구속조건에 그 움직임이 제한을 받고 있다[51,60,61]. 따라서 본 장은

기구학적으로 구속된 이동체의 자세추정에 있어, 외부가속도 문제를

구속조건으로 대응하는 것이다.

자세추정이 아닌 다른 응용분야에 대하여, 칼만필터에 구속조건을

결합하기 위한 다양한 구속 결합 기법들이 개발되었다[51,61-63].

대표적인 구속 결합 기법으로 투영법(projection)이 있으며, 이는

구속조건을 사용하지 않은 비구속(unconstrained) 칼만필터에서 얻은

- 72 -

상태 추정치를 구속 공간에 투영하는 구속 결합 기법이다[14,15]. 이때,

투영법은 구속조건을 결합하는 위치 및 조건과 귀환(feedback)하는

방식에 따라 개루프 추정 투영법(open-loop estimate projection, OEP),

폐루프 추정 투영법(closed-loop estimate projection, CEP), 상태 예측

투영법(state prediction projection, SPP) 등으로 세분화할 수 있다[63].

본 장에서는 기구학적 구속조건을 투영한 IMU 기반 자세추정

칼만필터를 제안한다. 이를 통해, 기존의 비구속 자세추정 칼만필터와

달리, 동적조건에 무관하게 정확한 자세추정이 가능하게 하고자 한다.

이를 위해, 다양한 기계시스템에 사용되는 구면 조인트(spherical joint)를

대상으로, 자세추정에 관계된 외부가속도에 대하여 구속방정식을

유도하였다. 다음으로 유도된 구속방정식을 결합하기 위해 투영법

방식의 OEP, CEP, SPP 를 적용하였다. 또한, 이들 투영기법에 따른

자세추정 정확성을 다양한 조건에서 실험을 통해 비교 분석하였다.

6.2 자세추정 구속 칼만필터

본 장에서는 3 축 가속도계와 3 축 자이로스코프가 결합된 6 축 IMU 를

이용하여 자세를 추정하는 칼만필터를 주제로 한다. 여기서 자세는 헤딩에

대한 정보 없이 수직축에 대한 기울기(즉, 롤과 피치)를 의미한다. 고정된

항법좌표계(navigation frame, n)에 대해 이동하는 센서좌표계(sensor frame, s)의

3 차원 자세를 의미하는 회전행렬(rotation matrix) nsR 에서 마지막 행(row)

벡터는, Z 축이 수직상향으로 설정된 n 좌표계의 Z 축 단위벡터를 s 좌표계에서

관찰한 sZ 이다. 따라서, sZ 는 수직축에 대한 센서의 기울기를 의미하는

자세(attitude) 벡터이며, 제안하는 칼만필터의 목적은 정확한 sZ 를 추정하는

것이다.

- 73 -

6.2.1 자세추정 칼만필터

본 장에서 제안하는 자세추정 구속 칼만필터는 참고문헌[19]에서 제안된

비구속 자세추정 칼만필터를 기반으로 한다. 칼만필터의 진행모델(process

model)은 자이로스코프 신호 Gy 의 스트랩다운 적분식(strapdown

integration)으로부터 이산시간 k 에 대하여 다음과 같이 모델링된다.

, 1 1 1s s sk s G k k s k GT T Z I y Z Z n (6.1)

여기서 I 는 3 3 단위행렬(identity matrix), sT 는 샘플링 간격이며, Gn

는 자이로스코프의 신호잡음이다. 또한, 문자 위에 표기된 틸드(~)는

해당 벡터의 외적 행렬(cross product)을 의미한다.

칼만필터의 측정모델(measurement model)은 가속도계 신호 Ay 와 1 차

마르코프 연쇄진행(Markov chain process)기반의 가속도 모델식인

1s sk a k kc a a ε 을 혼합하여 다음과 같이 모델링된다.

, 1 1 , 1s s s

A k a k Ak k k kc g y a Z a n (6.2)

여기서, 이산시간 k 에 대하여, 1k k 는 예측값(a priori), k k 는 보정값(a

posteriori)을 의미한다. 또한, ac 는 가속도모델 파라미터, kε 는 가속도모델

잡음, g 는 중력가속도의 크기, An 는 가속도계의 신호잡음이다. 식 (6.2)의

도출을 위해 관계식 , 1 1

s s skk k k k a a a 와

1 1 1s s

ak k k kc a a 가 사용되었다.

식(6.1)과 (6.2)를 통해 자세추정 칼만필터의 식들이 도출된다.

1 1 1k k k k x F x w (6.3a)

k k k z Hx v (6.3b)

여기서 식(6.3a)의 상태벡터 kx 는 skZ , 천이행렬(transient matrix) 1kF 은

, 1s G kT I y , 진행 잡음(process noise) 1kw 은 1s

s k GT Z n 이며 공분산

행렬(

측정벡

잡음(

k

M

자이로

로 설

6.2.2

기구학

제한하

(covariance

벡터 kz 는

(measurement

1 213 s

a kc

a

로스코프와

설정되었다. 여

2 구속방정

장에서는

학적 구속조

하며, 회전

matrix) Q

, 1s

A k a kc y a

t noise)

2

1 Ak

Σ

가속도계의

여기서, G 와

자세추정

조건을 투영

운동에 대

Fig. 6

- 74

1k sT Q Z

1k , 관측행렬

kv 는

을 갖는다

신호잡음에

와 A 는 각각

칼만필터의

영하였다. 본

대해 3 자유

.1. Spherical

4 -

1 1s sk G k Σ Z

렬(observatio

, 1s

k k a n

다. 여기서

에 대한 공분

각의 신호잡

의 추정 성

본 장의 구속

유도를 가지

l joint constr

을 갖는다

on matrix) H

A 이며

GΣ 와

분산 행렬이며

잡음에 대한 표

성능을 향상

속방정식은

지는 구면 조

raint.

다. 식(6.3b

H 은 gI , 측

공분산 행

AΣ 는 각

며, 2G I 와

표준편차이다

상시키기 위

병진 운동

조인트에 의

b)의

측정

행렬

각각

2A I

다.

위해

동을

의해

- 75 -

생성된 기구학적 구속조건을 대상으로 한다. 이러한 이유는 많은 기계 및

로봇시스템의 분절(segment)들이 회전 조인트로 연결되며, 모든 회전

조인트들은 구면 조인트 구속조건을 만족하기 때문이다.

Fig. 6.1 에서 보듯이, 구면 조인트의 소켓부분을 링크 i, 볼 부분을 링크

j 라고 정의하면, 위치수준에서의 구면 조인트 구속방정식은 다음과 같다.

n ni i n nj jsph ni ip nj jp Φ r R d r R d 0 (6.4)

여기서 nnir 와 n

njr 는 각각 n 좌표계에서 i 좌표계까지의 위치벡터 nir 와

n 좌표계에서 j 좌표계까지의 위치벡터 njr 를 n 좌표계에서 관찰한 것이다.

또한 구면 조인트의 중심을 점 P 라 할 때, iipd 와 j

jpd 는 각각 i 좌표계의

원점에서 P 점까지의 위치벡터 ipd 를 i 좌표계에서, j 좌표계의 원점에서

P 점까지의 위치벡터 jpd 를 j 좌표계에서 관찰한 것이다. 이때,

ipd 와 jpd

는 링크부착 벡터로서, 자신의 링크에서 관찰된 iipd 와 j

jpd 는 링크의

자세변화에 상관없이 항상 일정한 값을 갖는다. 따라서, 가속도에 대한

구속방정식은 식(4)를 시간에 대해 두 번 미분하여 다음과 같이 표현된다.

n ni i n nj jsph i ip j jp Φ a R d a R d 0 (6.5)

여기서 nia 와 n

ja 는 각각 nnir 와 n

njr 에 해당하며, 해당 좌표계 위치에서의

가속도이다.

본 장에서는 검증실험 조건을 간단히 하기 위하여, Fig. 6.2 와 같이 구면

조인트의 링크 i(소켓부분)를 바닥에 고정시킴으로써 구속방정식을

특수조건으로 규정하였다. 따라서, 식(6.5)의 nia 와 niR 는 0 이 된다.

지금부터 링크 j 에 부착된 IMU 센서의 s 좌표계가 링크부착 j 좌표계와

일치한다고 가정하자(즉, j = s). 그렇다면, 식(6.5)는 다음과 같이

센서부착좌표계의 (또는 센서의) 가속도를 표현하는 방정식이 된다.

즉, 식

번 미

ns R

따라서

외부가

식(6.6)의 ssd

미분한 nsR

ns s R ω [56]

서 식(6.6)에

가속도 ssa 는

ssp 는 식(6.5)

는 각속도

]를 적용하여

에 식(6.7)을

는 다음과 같

Fig. 6.2. C

- 76

ns a R

의 jjpd 에 해

도 sω 로 표

여 다음과 같

ns nsR R ω

을 대입하여

같이 표현된다

s ss a ω

Configuration

6 -

ns sspR d

해당한다. 식

표현되는 회

같이 정리된다

s s sω ω ω

여 정리하면

다.

s s sspω ω d

n of sensors a

식(6.6)에서

회전행렬의

다.

면, s 좌표계

and joint.

(6

회전행렬을

미분 방정

(6

계 관점에서

(6

6.6)

정식

6.7)

서의

6.8)

- 77 -

이때, 식(6.8)의 각속도 sω 는 자이로스코프의 신호잡음 때문에 완벽한

측정이 불가능하므로 자이로스코프의 측정값 Gy 과 신호잡음 Gn 으로

표현해야 한다. 따라서 자이로스코프 신호 모델(즉, sG G y ω n )을

식(6.8)에 적용하여 정리하면, 다음과 같은 외부가속도에 대한

구속방정식이 유도된다.

s ss G G G sp c a y y y d ε (6.9)

여기서 a b a b , ab ba ab 과 0G G n n 을 적용하였다. 또한 Gy 는

자이로스코프 신호의 수치 미분을 통해 구하며, 외부가속도 구속방정식

오차 cε 는 아래와 같이 정리된다.

( 2 )s s sc sp G sp G G sp G ε d n d y y d n (6.10)

6.2.3 구속 투영 기법

본 장은 자세추정용 비구속(unconstrained) 칼만필터(6.2.1절)에 앞서

유도된 외부가속도 구속방정식(6.2.2절)을 결합한 구속 칼만필터를

제안한다. 구속조건을 결합하는 기법으로 세 가지 투영(projection) 방식을

사용하였는데, Fig. 6.3은 기존의 비구속 칼만필터와 구속조건을 투영한 세

가지 구속 칼만필터에 대한 흐름도를 보여주고 있다. 이때, 구속

투영단계가 칼만필터의 보정단계 다음에 위치되는 OEP 과 CEP 을 합쳐

추정 투영법(estimate projection)이라고 한다[51,60].

A) 개루프 추정 투영법(OEP)

개루프 추정 투영법 OEP(open-loop estimate projection)는 칼만필터의

상태벡터 k kx 를 구속조건에 투영시킨 구속 칼만필터의 추정 결과 OEP

k kx 가

칼만필터에 귀환되지 않는 방식으로, 칼만필터의 예측과 보정단계는

구속조건에 영향을 받지 않고 독립적으로 추정하는 방식이다[64,65]. 따라서

OEP

사용하

여기서

Fig

는 구속되지

하며, 다음과

서 칼만게인

g. 6.3. Flowthree Kalmindicacome

지 않은 추정

과 같은 과정으

1k k

k k

OEPk

x

x

x

인 ,c kK 는

wcharts of thconstraint pr

man filter, (bate from wh

es for the pred

- 78

정 결과를 다

으로 상태(자

1 1 1

1

k k k

kk k

ck k k

F x

x K z

x K

c ck kH P H

he conventiorojection me

b) OEP, (c) here the postdiction.

8 -

다음 샘플링

자세)를 추정

1

, ,

k k k

k c k c

z Hx

z H x

Tc c ck k P H R

onal unconstethods: (a) co

CEP, and (teriori estim

시간에서의

한다.

k kx

1

,c k

, 측정

trained approonventional u(d) SPP. *

mate of the p

의 예측을 위

(6.

정벡터 ,c kz

oach and thunconstraineDashed line

previous tim

위해

.11)

he ed es

me

- 79 -

, , ,s

A k s k c k y a ε , 관측행렬 cH 는 gI 이다. 또한, ,c kK 에서 ,c kR 는 ,c k Aε n

의 공분산 행렬이다.

B) 폐루프 추정 투영법(CEP)

폐루프 추정 투영법 CEP(closed-loop estimate projection)는 또 다른 추정

투영법인 OEP 와 다르게 구속조건에 투영시킨 구속 칼만필터의 추정 결과

CEPk kx 가 귀환되는 방식으로, 칼만필터의 예측과 보정단계는 구속조건에

영향을 받으며 종속적으로 상태를 추정하는 방식이다[52]. 따라서 다음

샘플링 시간에서의 예측은 구속조건에 투영된 결과를 기반으로 하며, 다음과

같은 과정으로 자세를 추정한다.

11 1 1

1 1

, ,

CEPkk k k k

k kk k k k k k

CEPc k c k ck k k k k k

x F x

x x K z Hx

x x K z H x

(6.12)

C) 상태 예측 투영법(SPP)

상태 예측 투영법 SPP(state prediction projection)는 추정 투영법과 다르게

구속 결합단계가 칼만필터의 예측과 보정단계 사이에서 위치하여 구속조건을

투영하는 방식이다[63]. 따라서 예측단계에 추정된 결과가 구속조건에

투영되며, 이를 통해 추정 결과 SPPk kx 도 구속조건을 만족하게 된다. 다음과

같은 과정으로 자세를 추정한다.

11 1 1

, ,1 1

SPPkk k k k

sppc k c k ck k k k k k

SPP spp sppk kk k k k k k

x F x

x x K z H x

x x K z H x

(6.13)

여기서 sppk kx 는 구속조건은 만족하지만 칼만필터의 보정단계 이전으로

- 80 -

측정값을 통해 보정되지 않은 상태벡터이며, SPPk kx 는 보정단계까지 거친

구속조건과 측정값을 모두 만족하는 추정 결과이다.

6.3 검증 실험

자세추정 구속 칼만필터의 성능을 검증하기 위하여 InvenSense 사의

MPU6050 6 축 IMU 를 Arduion 사 UNO 보드에 연결하여 사용하였다. 또한,

자세추정 성능을 비교하기 위한 자세 참조값(truth reference) soptZ 을 얻기 위해

OptiTrack 사의 Flex13 광학식 모션캡쳐 시스템을 사용하였다. 이때 플라스틱

삼각자에 MPU6050 과 더불어 세 개의 마커를 부착하여, 마커 위치정보를

이용한 자세 참조값을 구한다. 다음으로 하단에 구면 조인트가 있는 링크에

MPU6050 및 마커가 부착된 삼각자를 단단히 고정하였고, 구면 조인트의

소켓부분을 바닥에 고정함으로써 식(6.9)가 성립하도록 하였다(Fig. 6.2 참조).

여기서, 구면조인트가 포함된 링크는 Horusbennu 사의 FX-3460A

모노포드(monopod)가 사용되었다. IMU 센서는 구면 조인트의 중심에서

s 좌표계의 중심까지의 위치벡터 sspd 가 0.5 1.8 84.5

T cm 인 위치에

부착하였다.

구속조건 투영에 따른 성능개선 효과를 검증하기 위하여 일정크기 이상의

가속도가 존재하는 실험조건을 설정하였다. 이는 기존의 비구속 칼만필터가

저속 조건에서 추정 오차 평균 2° 이하의 우수한 성능을 갖는 것을

고려하여[19], 구속조건 투영 여부에 따른 추정 성능의 변별력을 분명히 하기

위함이다. 따라서 가속도 관점에서 중속 조건(Test A)과 고속 조건(Test B)에서

실험하였으며, 시험조건의 다양성을 위해 각 조건에서 2 번의 실험을

진행하였다. 이때, 센서의 자세 변화는 링크를 손으로 임의로 움직이며

변경하였다.

- 81 -

• Test A-1 (중속 조건): sopta 의 평균 5.81 m/s2.

• Test A-2 (중속 조건): sopta 의 평균 6.01 m/s2.

• Test B-1 (고속 조건): sopta 의 평균 6.66 m/s2.

• Test B-2 (고속 조건): sopta 의 평균 6.86 m/s2.

여기서 sopta 는 s

A optgy Z 를 통해 구한 외부가속도 참조값 sopta 의 크기이다.

기존 비구속 칼만필터와 제안하는 구속 칼만필터에 사용되는 가속도 모델

파라미터 ac 는 참고문헌[19]에서 제안하는 0.1로 선정되었다.

Table 6.1. RMSEs of attitude estimation (unit: degree).

Method Roll Pitch Average

Test A-1

Conventional 6.75 5.77 6.26

OEP 6.39 5.45 5.92

CEP 1.53 1.56 1.55

SPP 1.53 1.56 1.55

Test A-2

Conventional 6.01 7.00 6.50

OEP 5.44 6.44 5.94

CEP 1.03 1.21 1.12

SPP 1.03 1.21 1.12

Test B-1

Conventional 11.30 9.47 10.39

OEP 10.44 8.80 9.62

CEP 2.03 1.63 1.83

SPP 2.03 1.63 1.83

Test B-2

Conventional 13.89 9.57 11.73

OEP 12.86 9.00 10.93

CEP 1.74 1.45 1.59

SPP 1.74 1.45 1.59

- 82 -

6.4 결과 및 고찰

Table 6.1 은 각각의 실험에 대한 기존 비구속 칼만필터(Conventional)와 세

가지 투영 기법에 따른 구속 칼만필터(OEP, CEP, SPP)의 자세추정 RMSE(root

mean squared error)를 보여준다.

Test A-1 의 경우 구속조건을 결합하지 않은 기존 방법은 롤과 피치 평균

6.26°의 오차를 가졌으며, 구속조건을 결합한 OEP 는 기존 방법보다 0.34°

개선된 평균 5.92°의 오차를 보였다. 반면에 칼만필터의 예측단계에서

구속조건에 투영된 결과를 기반으로 하는 CEP 와 SPP 는 오차 평균 1.55°의

매우 우수한 자세추정 성능을 가졌다(Fig. 6.4 참조).

Test A-2 의 경우 또 다른 종속실험인 Test A-1 과 동일한 경향을 보였다.

기존 방법은 평균 6.50°의 오차를 가졌으며, OEP 는 오차 평균 5.94°로 기존

방법 대비 약간의 개선 효과를 확인할 수 있다. 이와 다르게 CEP 와 SPP 는

기존 방법보다 5.38° 개선된 평균 1.12°의 오차를 보였다.

Test B-1 의 경우 Test A 보다 빠른 가속조건에서 실험하였기 때문에 기존

방법은 평균 10.39°의 큰 오차를 보였으며, 특히 롤 추정 오차는 11.30°까지

매우 크게 증가하였다. OEP 는 구속조건을 결합하여 기존 방법 대비 다소

개선된 추정 성능을 가졌으나 평균 9.62°의 큰 오차를 보였다. 반면에 CEP 와

SPP 는 빠른 가속조건에도 불구하고 오차 평균 1.83°의 매우 정확한 추정

성능을 보였다. Test B-2 의 경우 네 가지 실험에서 가장 빠른 평균

외부가속도를 가진 조건이기 때문에 기존 방법은 네 가지 실험에서 가장 큰

오차인 평균 11.73°를 가졌으며, 최대 롤 추정오차가 35.6°까지 증가하였다(Fig.

6.5 참조). OEP 는 기존 방법과 동일하게 네 가지 실험에서 가장 큰 오차를

가졌다. 반면 CEP 와 SPP 는 1.59°의 매우 높은 추정 정확성을 보였다. 또한

Fig. 5 에서 보듯이, CEP 와 SPP 는 추정 결과가 거의 동일할 뿐만 아니라,

모든 구간에서 5° 미만의 오차를 가졌다.

가속

칼만필

영향으

방법의

Fig

속조건에서

필터에서 추

으로 가속도

의 오차는

g. 6.4. Resconveconstrrespe

※Note: Figure can

실험한

추정 성능을

도가 증가한

매우 크게

sults of Teentional uncrained Kalmct to the truthn be viewed in co

- 83

네 가지

저하시키는

한 실험일수록

증가하였다

est A-1: atconstrained

man filters (Oh reference alor in the PDF ve

3 -

시험 결과

는 가속도계

록 구속조건

다. 본 장에

ttitude estimKalman fil

OEP-green, angle (black ersion of thesis on

과에서 보듯

교란성분인

건을 결합하

에서 제안하는

mation errorter (red) anCEP and SPdashed). n the RISS websi

듯이, 자세추

외부가속도

지 않은 기

는 구속조건

rs from thnd the threPP-blue) with

te, www.riss.kr.

추정

도의

기존

건이

he ee th

투영된

수 있

OE

있었지

Fig

된 자세추정

있었다.

EP 는 본 장의

지만, 다음

g. 6.5. ResultunconKalmtruth

※Note: Figure can

구속 칼만필

의 실험결과

샘플링 시간

ts of Test B-2nstrained K

man filters (Oreference an

n be viewed in co

- 84

필터는 기존

과에서 기존 방

간의 예측에서

2: attitude esKalman filterOEP-green, Cngle (black da

lor in the PDF ve

4 -

존 방법 대비

방법에 비해

서 구속조건

stimation errr (red) and

CEP and SPPashed). ersion of thesis on

성능 개선

추정 성능에

건에 투영된

rors from the d the threeP-blue) with

n the RISS websi

효과를 확인

에 다소 개선

상태 추정치

conventionae constrainerespect to th

te, www.riss.kr.

인할

선은

치를

al ed he

- 85 -

사용하는 CEP 와 SPP 에 비하면 매우 열세하였다. 이러한 이유는 OEP 기반

구속 칼만필터의 예측단계에서 사용하는 이전 상태 추정치는 기존 방법과

동일하게 구속조건을 만족하지 않은 상태 추정치이며, 이것은 가속조건에서

매우 큰 오차를 가지기 때문이다. 단, 구속조건에 침해(violation)가 있는

경우에는 OEP 대비 CEP 와 SPP 가 더 취약할 수 있다. 왜냐하면 구속조건에

대한 의존성이 상대적으로 강한 CEP 와 SPP 의 경우 침해에 따른 영향이

성능저하로 직결되는 반면, OEP 는 구속조건이 투영되지 않은 상태 추정치를

이용하여 예측하기 때문에 침해의 영향이 직접적이지 않으며 이로 인해 추정

성능이 보전될 수 있기 때문이다.

CEP 와 SPP 는 모든 실험에서 오차 평균 2° 미만으로 우수한 자세추정

성능을 가졌으며, 이는 기존 비구속 칼만필터는 물론 OEP 와 비교하여 매우

향상된 추정결과이다. 이를 통해 다음 샘플링 시간의 예측에서 구속조건에

투영된 상태 추정치를 사용함으로써 성능 개선 효과를 확연히 확인할 수

있었다. 또한 모든 실험에서 두 방식의 추정 결과는 동일하였는데, 이는

자세추정 구속 칼만필터에서 측정갱신과 구속조건 투영의 순서에 따른

영향은 없음을 의미한다.

6.5 결 론

본 장에서는 IMU 기반 자세추정 칼만필터의 추정 성능을 향상시키기 위한

구속조건 투영 칼만필터를 제안한다. 이를 위해 가장 일반적으로 활용이

가능한 구면 조인트에 대하여 기구학적 구속조건으로부터 외부가속도에 대한

구속방정식을 유도하였다. 유도된 구속방정식을 칼만필터에 결합함에 있어

세 가지 방식의 투영 기법을 제안 및 검증하였다.

자세추정 구속 칼만필터는 일정 가속도 이상의 가속조건에서 다양한

시험을 통해 추정 성능을 검증하였다. 제안한 세 가지 구속 칼만필터 모두

- 86 -

기존 비구속 칼만필터보다 개선된 추정 성능을 가졌다. 특히, 폐루프 추정

투영법(CEP)과 상태 예측 투영법(SPP) 기반의 구속 칼만필터는 기존

칼만필터보다 최대 10.14° 향상된 우수한 결과를 얻었다. 또한, 모든 실험에서

2° 미만의 정확하면서도 안정적인 결과를 보였다. 따라서, CEP 와 SPP 의

경우 구속조건 투영을 통해 가속조건에 무관한 정확성 확보가 가능하다는

점에서 큰 의미가 있다.

제안하는 자세추정 구속 칼만필터는 구속조건을 적용할 수 있는 로봇이나

자동차 등의 분야에서 정확한 자세추정을 위해 활용할 수 있다. 향후, 본

장에서 유도된 외부가속도에 대한 구속방정식과 구속 칼만필터는 자세추정뿐

아니라 IMU 기반의 속도 및 위치 추정을 위해 확대 적용될 수 있다.

Acknowledgement

본 장에 대한 내용은 다음 논문을 기반으로 작성되었다: 최미진,

이정근, “기구학적 구속조건을 투영한 IMU 기반 자세추정 칼만필터,”

제어로봇시스템학회 논문지, 심사 중.

- 87 -

7. 결 론

본 논문에서는 관성자기센서 기반의 자세추정 성능을 향상시키기

위해, 추정 성능을 저하시키는 두 가지 교란성분인 자기교란과

외부가속도를 보상하는 다양한 메커니즘을 제안하였다.

본 논문의 2 장에서는 두 가지 교란성분에 대하여 모델링기반 보상

메커니즘의 모델링 차이에 따른 자세추정 성능을 비교·분석하였다.

3 장에서는 차수 변환 방식 자기교란 보상 메커니즘을 적용한

자세추정 칼만필터를 제안하였고, 기존 방식 및 단일 방식 대비

우수한 추정 성능을 확인하였다. 4 장에서는 자기교란에 대한 영향을

heading 추정에 제한시킨 순차적 자세추정 칼만필터를 제안하였고,

기존의 쿼터니언 방식 대비 우수한 추정 성능을 확인하였다.

5 장에서는 가속도로 인한 불확실성을 제거하기 위해 칼만필터의

측정벡터에 기구학적 구속조건을 적용한 attitude 추정 칼만필터를

제안하였고, 기존의 비구속 칼만필터보다 우수한 attitude 추정 성능을

가질 뿐만 아니라, 운동조건에 상관없이 안정적인 추정 성능을

확인하였다. 6 장에서는 기구학적 구속조건을 결합하기 위해 세 가지

투영기법을 적용한 attitude 추정 구속 칼만필터를 제안하였고, 세 가지

구속 투영 기법을 적용한 구속 칼만필터 모두 기존의 비구속

칼만필터보다 개선된 추정 성능을 확인하였으며, 구속조건을 통해

가속조건에 무관한 정확성 확보가 가능하다는 것을 확인하였다.

본 논문에서 제안하는 교란 보상 메커니즘은 교란성분에 빈번히

노출되는 다양한 응용분야에서 관성자기센서 기반의 자세추정 성능을

향상시키기 위해 효과적으로 적용될 수 있다. 본 논문의 연구 결과는

실질적인 관성자기센서 기반 모션캡쳐시스템을 구현하는데 효율적으로

활용될 수 있을 것이라 기대한다.

- 88 -

각 장에 대한 내용은 다음과 같이 요약된다.

Summary of Chapter 2

In terms of 3D orientation estimation based on nine-axis IMMU (inertial and magnetic measurement unit), there are two disturbance components decreasing estimation accuracy: one is external acceleration disturbing accelerometer’s signals and the other is magnetic disturbance related to magnetometer’s signals. In order to minimize effects by these two disturbances, two approaches including switching approach and model-based approach have been suggested and further research comparing these two has also been conducted. Nevertheless, effect of disturbance modeling differences on orientation estimation accuracy in model-based approach has not been studied before. This chapter compares the recently reported two orientation estimation algorithms that have difference in disturbance models, in order to investigate the effect of disturbance models on accuracy of IMMU-based orientation estimation under various operating conditions. This research shows that the difference in disturbance models leads to difference in process noise covariance matrix. Consequently, this affected the orientation estimation, i.e., the estimation differences between the algorithms were root mean square errors of 1.35° in average and 3.63° in yaw estimation.

Summary of Chapter 3

One of the most problematic factors in inertial/magnetic sensing-based tilt/azimuth estimation is magnetic distortion that can be added in magnetometer signals and may decrease the azimuth estimation accuracy. In this chapter, we propose an order switching magnetic distortion compensation mechanism for accurate azimuth estimation. The proposed compensation mechanism switches between a first-order Gauss-Markov (GM) model and a second-order GM model of magnetic distortion. When the second order model is selected, the time-derivative of the magnetic distortion is additionally augmented in the states of the corresponding second-order azimuth Kalman filter. The proposed mechanism was experimentally validated in four different magnetically distorted conditions. The results show that the azimuth estimation error of the proposed method was less than 3° in all the tests and the proposed mechanism outperformed conventional approaches in the azimuth estimation.

- 89 -

Summary of Chapter 4

This chapter deals with three dimensional orientation estimation algorithm for an attitude and heading reference system (AHRS) based on nine-axis inertial/magnetic sensor signals. In terms of the orientation estimation based on the use of a Kalman filter (KF), the quaternion is arguably the most popular orientation representation. However, one critical drawback in the quaternion representation is that undesirable magnetic disturbances affect not only yaw estimation but also roll and pitch estimations. In this chapter, a sequential direction cosine matrix-based orientation KF for AHRS has been presented. The proposed algorithm uses two linear KFs, consisting of an attitude KF followed by a heading KF. In the latter, the direction of the local magnetic field vector is projected onto the heading axis of the inertial frame by considering the dip angle, which can be determined after the attitude KF. Owing to the sequential KF structure, the effects of even extreme magnetic disturbances are limited to the roll and pitch estimations, without any additional decoupling process. This overcomes an inherent issue in quaternion-based estimation algorithms. Validation test results show that the proposed method outperforms other comparison methods in terms of the yaw estimation accuracy during perturbations and in terms of the recovery speed.

Summary of Chapter 5

With regards to attitude estimation Kalman filter (KF) based on inertial sensor signals, one of the major issues that affect the estimation accuracy is the acceleration-induced inaccuracy associated with accelerometer signals. To deal with this issue, researchers have proposed various types of acceleration-compensating mechanisms. Since those mechanisms, however, are basically stochastic approaches such as Markov chain models, they cannot thoroughly eliminate the acceleration-induced inaccuracy and accordingly improvement in estimation performance is limited. In this chapter, the kinematic constraint associated with a ball joint is formulated to eliminate the acceleration-induced inaccuracy. Then, the constraint is augmented in a state-of-the-art attitude estimation KF. In our experimental results, the proposed KF with constraint was superior to the conventional KF by an average of 6.31° and a maximum of 11.22°.

- 90 -

Summary of Chapter 6

With regards to the IMU (inertial measurement unit)-based attitude estimation Kalman filter, the estimation accuracy is highly affected by external acceleration during dynamic conditions. For this reason, various efforts have been made to respond to the external acceleration issue. However, previous approaches are directed to cases in which an IMU-attached object moves freely without any constraint. In fact, movements of many mechanical and robotic systems are kinematically constrained and the constraints can be utilized to increase the estimation accuracy. In this regards, this chapter proposes an IMU-based attitude estimation Kalman filter with kinematic constraint projection. As a proof-of-concept, this research deals with a spherical joint constraint. In the way of projecting the constraint, this chapter applied three different methods: open-loop estimate projection (OEP), closed-loop estimate projection (CEP), and state prediction projection (SPP). The estimation accuracies of the three constrained Kalman filters are validated experimentally in comparison to that of the unconstrained Kalman filter. Results show that, although all of the three constrained methods have better estimation performances than the conventional unconstrained method, the CEP and SPP outperformed the OEP and maintain high accuracy even in severe dynamic conditions.

- 91 -

참 고 문 헌 (References)

[1] D. H. Yu, J. H. Park, J. H. Ryu, and K. T. Chong, “Attitude control of quad-

rotor by improving the reliability of multi-sensor system,” Trans. Korean Soc. Mech. Eng. A, vol. 39, no. 5, pp. 517-526, 2015.

[2] J. Zhang, Y. Wu, W. Liu, and X. Chen, “Novel approach to position and orientation estimation in vision-based UAV navigation,” IEEE Trans. Aerosp. Electron. Syst., vol. 46, no. 2, pp. 687-700, 2010.

[3] H. G. Kortier, J. Antonsson, H. M. Schepers, F. Gustafsson, and P. H. Veltink, “Hand pose estimation by fusion of inertial and magnetic sensing aided by a permanent magnet,” IEEE Trans. Neural Syst. Rehabil. Eng., vol. 23, no. 5, pp. 796-806, 2015.

[4] K. J. Park and M. Won, “People tracking and accompanying algorithm for mobile robot using Kinect sensor and extended Kalman filter,” Trans. Korean Soc. Mech. Eng. A, vol. 38, no. 4, pp. 345-354, 2014.

[5] M. J. Choi and J. K. Lee, “An order-switching magnetic distortion compensation mechanism for accurate azimuth estimation,” J. Inst. Contr. Robot. Syst., vol. 23, no. 7, pp. 552-558, 2017.

[6] A. M. Sabatini, “Quaternion-based extended Kalman filter for determining orientation by inertial and magnetic sensing,” IEEE Trans. Biomed. Eng., vol. 53, no. 7, pp. 1346-1356, 2006.

[7] J. K. Lee, “A parallel Kalman filter for estimation of magnetic disturbance and orientation,” Trans. Korean Soc. Mech. Eng. A, vol. 40, no. 7, pp. 659-666, 2016.

[8] G. Ligorio and A. M. Sabatini, “A linear Kalman filtering-based approach for 3D orientation estimation from magnetic/inertial sensors,” in Proc. of IEEE Multisensor Fusion and Integration for Intelligent Systems(MFI), pp. 77-82, Sept. 2015.

[9] J. K. Lee and E. J. Park, “A fast quaternion-based orientation optimizer via virtual rotation for human motion tracking,” IEEE Trans. Biomed. Eng., vol. 56, no. 5, pp. 1574-1582, May 2009.

[10] J. K. Lee, “Quaternion-based Pseudo Kalman filter for wearable inertial/magnetic sensor applications,” MATEC Web of Conferneces, vol. 59, 2016.

- 92 -

[11] J. K. Lee and E. J. Park, “Minimum-order Kalman filter with vector selector for accurate estimation of human body orientation,” IEEE Trans. Robot., vol. 25, no. 5, pp. 1196-1201, 2009.

[12] X. Yun, E. R. Bachmann, and R. B. McGhee, “A simplified quaternion-based algorithm for orientation estimation from earth gravity and magnetic field measurements,” IEEE Trans. Instrum. Meas., vol. 57, pp. 638-650, 2008.

[13] Y. S. Suh, Y. S. Ro, and H. J. Kang, “Quaternion-based indirect Kalman filter discarding pitch and roll information contained in magnetic sensors,” IEEE Trans. Instrum. Meas., vol. 61, no. 6, pp. 1786-1792, 2012.

[14] S. Zihajehzadeh, D. Loh, M. Lee, R. Hoskinson, and E. J. Park, “A cascaded two-step Kalman filter for estimation of human body segment orientation using MEMS-IMU,” in Proc. of IEEE Engineering in Medicine and Biology Society (EMBC), Aug. 2014.

[15] J. K. Lee, “Comparison of acceleration-compensating mechanisms for improvement of IMU-based orientation determination,” Trans. Korean Soc. Mech. Eng. A, vol. 40, no. 9, pp. 783-790, 2016.

[16] G. Ligorio and A.M. Sabatini, “Dealing with magnetic disturbances in human motion capture: a survey of techniques,” Micromachines, vol. 7, no. 43, 2016.

[17] G. Ligorio and A. M. Sabatini, “A novel Kalman filter for human motion tracking with an inertial-based dynamic inclinometer,” IEEE Trans. Biomed. Eng., vol. 62, no. 8, pp. 2033-2043, 2015.

[18] J. K. Lee, “Kalman filter for estimation of sensor acceleration using six-axis inertial sensor,” Trans. Korean Soc. Mech. Eng. A, vol. 39, no. 2, pp. 179-185, 2015.

[19] J. K. Lee, E. J. Park, and S. N. Robinovitch, “Estimation of attitude and external acceleration using inertial sensor measurement during various dynamic conditions,” IEEE Trans. Instrum. Meas., vol. 61, no. 8, pp. 2262-2273, 2012.

[20] Xsens MTw uer’s manual, available online: https://www.xsens.com.

[21] M. G. Kyung, D. K. Nguyen, T. S. Kang, D. K. Min, and J. O. Lee, “Vision-based reduction of gyro drift for intelligent vehicles,” J. Inst. Contr. Robot. Syst., vol. 21, no. 7, pp. 627-633, 2015.

[22] D. -H. Yu, D. Y. Lim, N. O Sel, and J. H. Park, “Study of sensor fusion for attitude control of a quad-rotor,” J. Inst. Contr. Robot. Syst., vol. 21, no. 5, pp. 453-458, 2015.

- 93 -

[23] J. Y. Kim and S. Y. Lee, “Estimation of the user’s location/posture for mobile augmented reality,” J. Inst. Contr. Robot. Syst., vol. 18, no. 11, pp. 1011-1017, 2012.

[24] S. Y. Cho, “Multi-attitude heading reference system-based motion-tracking and localization of a person/walking robot,” J. Inst. Contr. Robot. Syst., vol. 22, no. 1, pp. 66-73, 2016.

[25] M. -K. Kim, T. Y. Kim, and J. Lyou, “Performance improvement of an AHRS for motion capture,” J. Inst. Contr. Robot. Syst., vol. 21, no. 12, pp. 1167-1172, 2015.

[26] A. M. Sabatini, “Variable-state-dimension Kalman-based filter orientation determination using inertial and magnetic sensors,” Sensors, vol. 12, pp. 8491-8506, 2012.

[27] T. Harada, T. Mori, and T. Sato, “Development of a tiny orientation estimation device to operate under motion and magnetic disturbance,” Int. J. Rob. Res., vol. 26, no. 6, pp. 547-559, 2007.

[28] D. Roetenberg, H. J. Luinge, C. Baten, and P. H. Veltink, “Compensation of magnetic disturbances improves inertial and magnetic sensing of human body segment orientation,” IEEE Trans Neural. Syst. Rehabil. Eng., vol. 13, no. 3, pp. 395-405, 2005.

[29] R. A. Singer, “Estimating optimal tracking filter performance for manned maneuvering targets,” IEEE Trans. Aerosp. Electron. Syst., vol. 6, no. 4, pp. 473-483, 1970.

[30] Y. Bar-Shalom, X. R. Li, and T. Kirubarajan, Estimation with applications to tracking and navigation: theory algorithms and software, John Wiley & Sons, NJ, USA, 2001.

[31] J. K. Lee, S. N. Robinovitch and E. J. Park, “Inertial sensing-based pre-impact detection of falls involving near-fall scenarios,” IEEE Trans. Neural Syst. Rehab. Eng., vol. 23, pp. 258-266, 2015.

[32] J. W. Yoon, Y. S. Noh, Y. S. Kwon, W. K. Kim and H. R. Yoon, “Improvement of dynamic respiration monitoring through sensor fusion of accelerometer and gyro-sensor,” J. Elect. Eng. Technol., vol. 9, no. 1, pp. 334-343, 2014.

[33] D. D. Pham, Q. K. Dang and Y. S. Suh, “Golf green slope estimation using a cross laser structured light system and an accelerometer,” J. Elect. Eng. Technol., vol. 11, no. 2, pp. 508-518, 2016.

[34] E. R. Bachmann, X. Yun and A. Brumfield, “Limitations of attitude estimation algorithms for inertial/magnetic sensor modules,” IEEE. Robot.

- 94 -

Autom., vol. 14, pp.76-87, 2007.

[35] W. De Vries, H. Veeger, C. Baten and F. van der Helm, “Magnetic distortion in motion labs, implications for validating inertial magnetic sensors,” Gait Posture., vol. 29, pp. 535-541, 2009.

[36] N. Yadav and C. Bleakley, “Accurate orientation estimation using AHRS under conditions of magnetic distortion,” Sensors, vol. 14, pp. 20008-20024, 2014.

[37] S. Madgwick, A. Harrison and R. Vaidyanathan, “Estimation of IMU and MARG orientation using a gradient descent algorithm,” in Proc. of the 2011 IEEE Int'l Conf. on Rehab. Robotics (ICORR), Zurich, Switzerland, July 2011.

[38] G. Wahba, “Problem 65-1: A least squares estimate of satellite attitude,” SIAM Rev., vol. 7, no. 3, p.409, Jul. 1965.

[39] X. Yun, E. R. Bachmann and R. B. McGhee, “A simplified quaternion-based algorithm for orientation estimation from Earth gravity and magnetic field measurements,” IEEE Trans. Instrum. Meas., vol. 57, no. 3, pp. 638-650, Mar. 2008.

[40] Y. S. Suh, “Orientation estimation using a quaternion-based indirect Kalman filter with adaptive estimation of external acceleration.” IEEE Trans. Instrum. Meas., vol. 59, no. 12, pp. 3296-3305, Dec. 2010.

[41] N.H.Q. Phuong, H.J. Kang, Y.S. Suh and Y.S. Ro, “A DCM based orientation estimation algorithm with an inertial measurement unit and a magnetic compass,” J. Univers. Comput. Sci., vol. 15, no. 4, pp. 859-876, 2009.

[42] H. J. Luinge and P. H. Veltink, “Measuring orientation of human body segments using miniature gyroscopes and accelerometers,” Med. Biol. Eng. Comput., vol. 43, no. 2, pp. 273-282, 2005.

[43] H. G. Marina, F. Espinosa, and C. Santos, “Adaptive UAV attitude estimation employing unscented Kalman filter, FOAM and low-cost MEMS sensors,” Sensors, vol. 12, no. 7, pp. 9566-9585, 2012.

[44] N. Y. Ko, S. Jeong, and Y. Bae, “Sine rotation vector method for attitude estimation of an underwater robot,” Sensors, vol. 16, no. 8, pp. 1213, 2016.

[45] T. Zhang and Y. Liao, “Attitude measure system based on extended Kalman filter for multi-rotors,” Comput. Electron. Agric., vol. 134, pp. 19-26, 2017.

[46] K. D. Sebesta and N. Boizot, “A real-time adaptive high-gain EKF, applied to a

- 95 -

quadcopter inertial navigation system,” IEEE Trans. Ind. Elctron., vol. 61, no. 1, pp. 495-502, 2014.

[47] S. C. Lee and S. K. Hong, “Velocity-aided attitude estimation for helicopter aircraft using microelectromechanical system inertial-measurement units,” Sensors, vol. 16, no. 12, pp. 2102, 2016.

[48] R. E. Kalman, “A new approach to linear filtering and prediction problem,” J. Basic. Eng., vol. 82, no. 1, pp. 35-45, 1960.

[49] M. J. Choi and J. K. Lee, “Effect of disturbance modeling on IMMU-based orientation estimation accuracy,” Trans. Korean Soc. Mech. Eng. A, vol. 41, no. 8, pp. 783-789, 2017.

[50] L. Xu, R. Li, Z. Duan, and J. Lan, “Modeling and state estimation for dynamic systems with linear equality constraints,” IEEE. Trans. Signal Process., vol. 61, no. 11, pp. 2927-2939, 2013.

[51] D. Simon, “Kalman filtering with state constraints: A survey of linear and nonlinear algorithms,” IET Control Theory Appl., vol. 4, no. 8, pp. 1310-1318, 2010.

[52] B. O. S. Teixeria, J. Chandrasekar, L. A. B. Torres, L. A. Aguirre, and D. S. Bernstein, “State estimation for linear and nonlinear equality-constrained systems,” Int. J. Control, vol. 82, no. 5, pp. 918-936, 2009.

[53] H. J. Luinge and P. H. Veltink, “Measuring orientation of human body segments using miniature gyroscopes and accelerometers,” Medical and Biological Engineering and Computing, vol. 43, no. 2, pp. 273-282, 2005.

[54] A. Filippeschi, N. Schmitz, M. Miezal, G. Bleser, E. Ruffaldi, and D. Stricker, “Survey of motion tracking methods based on inertial sensors: a focus on upper limb human motion,” Sensors, vol. 17, no. 6, pp. 1257, 2017.

[55] J. E. Kim, S. H. Lee, B. S. Kim, I. T. Lee, and M. K. Sung, “A study on the velocity controller based on the Kalman filter to improve the flexible pouring motion of a X-Y-Z-T(Yaw) 4-axes pouring-robot,” J. Inst. Contr. Robot. Syst., vol. 23, no. 1, pp. 33-39, 2017.

[56] W. Huang, T. Fang, L. Luo, L. Zhao, and F. Che, “A damping grid strapdown inertial navigation system based on a Kalman filter for ships in polar regions,” Sensors, vol. 17, no. 7, pp. 1551, 2017.

[57] J. W. Hwang, K. Choi, H. T. Seo, K. S. Kim, and S. Kim, “Controller design for motion stabilization of a turret on a moving platform,” J. Inst. Contr. Robot. Syst., vol. 23, no. 10, pp. 816-824, 2017.

- 96 -

[58] G. Bishop and G. Welch, “An introduction to the Kalman filter,” in Proc. of SIGGRAPH Course Notes, pp. 1-81, 2001.

[59] Z. Q. Zhang, W. C. Wong and J. K. Wu, “Ubiquitous human upper-limb motion estimation using wearable sensors,” IEEE Trans. Inf. Technol. Biomed., vol. 15, no. 4, pp. 513-521, 2011.

[60] S. J. Julier and J. J. Laviola, “On Kalman filter with nonlinear equality constratints,” IEEE Trans. Signal Process., vol. 55, no. 6, pp. 2774-2784, Jun. 2007.

[61] N. Gupta and R. Hauser, “Kalman filtering with equality and inequality state constraints,” Oxford Univ. Computing Lab., Numerical Analysis Group, Oxford, U.K., Research Rep., Aug. 2007.

[62] C. Wen, Y. Cai, Y. Liu, and C. Wen, “A reduced-order approach to filtering for systems with linear equality constraints,” Neurocomputing, vol. 193, no. 12, pp. 219-226, 2016.

[63] C. Y. Jiang and Y. A. Zhang, “Some results on linear equality constrained state filtering,” Int. J. Control, vol. 86, no. 12, pp. 2115-2130, Dec. 2013.

[64] V. Sircoulomb, G. Hoblos, H. Chafouk, and J. Ragot, “State estimation under nonlinear state inequality constraints. A tracking application.” in Proc. of 16th Mediterranean Conf. on Control and Automation, pp. 1669-1674, 2008.

[65] D. Simon and T. L. Chia, “Kalman filtering with state equality constraints,” IEEE Trans. Aerosp., vol. 38, no. 1, pp. 128-136, 2002.

[66] J. K. Lee and M. J. Choi, “A Sequential Orientation Kalman Filter for AHRS Limiting Effects of Magnetic Disturbance to Heading Estimation,” J. Electr. Eng. Technol., vol. 12, no. 4, pp. 1675-1682, 2017.

- 97 -

ABSTRACT

Disturbance Compensation Mechanism for Improving

IMMU-Based Orientation Estimation Performance

CHOI, Mi Jin

Dept. of Mechanical Engineering

Graduate School of

Hankyong National University

Accurate 3D orientation of a moving object or human is an important physical

quantity required in various fields. In this regard, an IMMU (inertial and

magnetic measurement unit) based orientation estimation has been widely used

due to the recent advent of small size, lightweight and easy-to-use IMMUs.

Despite of the popularity of the IMMU-based orientation estimation, there are

two disturbance components that significantly decrease estimation accuracy: one

is magnetic distortion related to magnetometer’s signals and the other is external

acceleration disturbing accelerometer’s signals. Therefore, the two disturbance

components are a critical factor to be compensated for accurate orientation

estimation. This paper proposes magnetic distortion compensation mechanisms

follow by external acceleration compensation mechanisms. In particular, the

followings are proposed: a sequential orientation estimation structure, an order-

switching mechanism related to magnetic disturbance, and a kinematic constraint

related to external acceleration. The outcomes of the research in this thesis can

serve as foundation towards achieving a truly practical IMMU-based motion

capture system.

Keywords: orientation estimation, IMMU, disturbance compensation mechanism, Kalman filter

- 98 -

감사의 글

지난 2년이라는 시간은 많은 분들의 도움과 격려, 그리고 사랑에

한없이 행복한 시간이었습니다. 제 주위에 모든 분들께 감사의 인사를

드립니다.

먼저, 놓았던 학업의 길을 다시 걷게 해주신 이정근 지도교수님께

가슴깊이 존경과 감사를 드립니다. 많이 부족한 저에게 항상 좋은

말씀과 깊은 가르침을 주셔서 진심으로 감사드립니다. 교수님의

지도를 통해 연구가 무엇이고, 제게 부족한 점이 무엇인지를 알 수

있었습니다. 앞으로 교수님의 제자로서 부족함이 없는 연구자가 될 수

있도록 노력하겠습니다. 또한, 학문적으로나 인생에 있어 많은 조언과

격려를 아끼지 않고 해주신 기계공학과 모든 교수님들께 감사드립니다.

저에게 큰 힘이 되어준 iMoCap 선후배님들께 감사하단 말을

전합니다. 처음 들어왔을 때 많은 도움을 주신 성인 오빠, 2년 동안

친구이자 동료로서 많은 격려와 도움을 준 태형이, 늘 항상 웃으며

도와준 재익이와 우창이 모두 함께 연구할 수 있어 즐거웠습니다.

또한 2년 동안 저와 함께 동고동락하며, 울고 웃어줬던 사랑하는

룸메이트 희연이에게 고맙단 말을 전합니다.

항상 저를 믿어주시고, 묵묵히 응원해주시는 사랑하는 부모님께

감사드립니다. 많은 조언을 주시고, 든든한 버팀목이 되어주시는

아버지와 매일 안부 전화와 아낌없는 지원을 해주시는 어머니께 이

논문을 빌려 감사와 사랑의 말을 전합니다. 온 마음을 다해

사랑합니다. 또한, 저의 영원한 지원군 미래 언니와 현준이에게 고맙단

말을 전합니다.

이외에도 여기에 미처 적지 못한 저를 아끼고 사랑해주신 많은

분들께 다시 한번 감사드립니다.

마지막으로 제가 어느 곳에 있든지 항상 지켜주시고, 인도해주시는

하나님 아버지께 감사드립니다.

2017년 12월 최 미 진