April 26, 2024

디바이스마트 미디어:

[66호] 원하는 색상으로 제어가 가능한 아두이노 IoT 스마트 무드등 키트 -

2021-06-25

★2021 ICT 융합 프로젝트 공모전 결과 발표! -

2021-05-12

디바이스마트 국내 온라인 유통사 유일 벨로다인 라이다 공급! -

2021-02-16

★총 상금 500만원 /2021 ICT 융합 프로젝트 공모전★ -

2021-01-18

디바이스마트 온라인 매거진 전자책(PDF)이 무료! -

2020-09-29

[61호]음성으로 제어하는 간접등 만들기 -

2020-08-26

디바이스마트 자체제작 코딩키트 ‘코딩 도담도담’ 출시 -

2020-08-10

GGM AC모터 대량등록! -

2020-07-10

[60호]초소형 레이더 MDR, 어떻게 제어하고 활용하나 -

2020-06-30

[60호]NANO 33 IoT보드를 활용한 블루투스 수평계 만들기 -

2020-06-30

라즈베리파이3가 드디어 출시!!! (Now Raspberry Pi 3 is Coming!!) -

2016-02-29

MoonWalker Actuator 판매개시!! -

2015-08-27

디바이스마트 레이저가공, 밀링, 선반, 라우터 등 커스텀서비스 견적요청 방법 설명동영상 입니다. -

2015-06-09

디바이스마트와 인텔®이 함께하는 IoT 경진대회! -

2015-05-19

드디어 adafruit도 디바이스마트에서 쉽고 저렴하게 !! -

2015-03-25

[29호] Intel Edison Review -

2015-03-10

Pololu 공식 Distributor 디바이스마트, Pololu 상품 판매 개시!! -

2015-03-09

[칩센]블루투스 전 제품 10%가격할인!! -

2015-02-02

[Arduino]Uno(R3) 구입시 37종 센서키트 할인이벤트!! -

2015-02-02

[M.A.I]Ahram_ISP_V1.5 60개 한정수량 할인이벤트!! -

2015-02-02

[12호]왜 두 개의 센서를 융합하는가? 2부

상보필터 Part 2. 

왜 두 개의 센서를 융합하는가?

저자약력 : PinkWink.
로봇의 실제 구현에 관련된 모든 것에 관심이 많으며, pinkwink.kr이라는 개인 블로그를 운영중.
2011년부터 은둔 생활을 청산하고 (주)엔티렉스 로봇연구소의 연구소장으로 재직중.
연재와 관련된 질문은 devicezine.co.kr에서 문의바랍니다.

 

1. 들어가며

1회에서 왜 하나의 센서만 사용해서는 각도 측정이 어려운가에 대해 이야기를 했다. 이제 본 회에서는 어떻게 센서를 융합하고, 또 어떤 원리로 그것이 동작하는가에 대해 이야기를 하려고 한다. 본 글에서는 융합의 방법으로 인터넷상에 나와있는 것 중 대표적인 것이 칼만필터와 상보필터인데, 그 중 상보필터를 다룰려고 한다. 필터가 중요한 것이 아니라 어떻게 융합하는지 그 원리가 중요할 것이다.

2. 현상의 관측

12scsang011

그림 1. 실험용 장비

먼저 그림1에는 실험용 장비가 나타나있다. 흔히들 펜들럼, 역진자 시스템이라고 부르는 장비인데, 그림에 표시된 것처럼 자이로 센서와 가속도센서를 장착했다. 해당 위치에 장착해서 암과 진자를 모두 흔들면 1회에서 이야기한 것 처럼, 자이로 센서나 특히 가속도 센서 하나만 사용해서는 각도 측정에 어려움을 겪게 된다.

그림2. 진자의 흔들림에 대한 엔코더와 자이로 센서의 적분 결과

그림2. 진자의 흔들림에 대한 엔코더와 자이로 센서의 적분 결과

그림1의 장비에서 진자와 암을 동시에 임의로 흔든다. 그리고 나서 진자의 각도를 엔코더를 통해 보고(실선), 자이로 센서의 결과인 각속도를 적분해서 각도(점선)로 본 것이 그림2이다. 1회에서도 이야기했지만, 확실히 드리프트(drift)현상이 발생하는 것은 확인가능하다. 그런데, 한가지 자이로 센서의 결과를 적분한 것은 전체적으로 각도의 흐름현상은 있지만, 움직이는 변화추이는 상당히 잘 나타나 있다는 것을 알 수 있다.

그림3. 진자의 흔들림에 대한 엔코더와 가속도 센서의 각도측정 결과

그림3. 진자의 흔들림에 대한 엔코더와 가속도 센서의 각도측정 결과

그림3에서는 그림2와 같은 상황에서 엔코더의 각도와 가속도 센서에서 계산된 각도를 비교한 것이다. 그림2의 자이로의 결과를 적분한 것과는 달리, 각도의 흐름 현상(drift)은 관측되지 않지만, 암이 많이 움직인 곳에서는 신뢰할 수 없는 결과가 나타나고 있다. 또 다른 표현으로는 진자 자체만 보더라도 각도의 변화가 심한 곳에서는 신뢰할 수 없다고 볼 수도 있다.
그렇다면, 주어진 실험에서 확인할 수 있는 것은 각도가 흐르는 것은 아주 저 주파수의 영역이라고 본다면, 자이로 센서는 가속도센서에 비해 고주파 영역에서 비교적으로 괜찮은 결과가 나오며, 가속도 센서는 상대적으로 저주파 영역에서 괜찮은 결과가 나온다고 볼 수 있다. 결국, 자이로+가속도 센서를 통해 각도를 얻으려고 한다면, 저주파 영역에서는 가속도 센서를, 고주파 영역에서는 자이로 센서의 결과를 신뢰하면 안될까?

3. 상보필터의 기본개념

그림4. 상보필터의 기본개념

그림4. 상보필터의 기본개념

그림4의 상보필터의 기본개념을 보자. 이전 절에서 자이로 센서를 적분한 결과로 나타나는 각도는 고주파 영역에서 응답특성이 좋았기 때문에 고역통과필터를, 가속도 센서에서 계산된 각도는 저주파 영역에서 응답특성이 좋았기 때문에 저역통과필터를 적용시키고, 이를 합하기로 한다. 그림4의 개념은 이전 절의 제목처럼 현상을 보고 그 현상을 극복하는 방안으로 잡힌 것이다.
그림4를 수식화하면 바로,

12scsang001
가 된다. 고역/저역통과필터를 더한 값은,

12scsang003
‘1’이 되어야만 최종식은 성립된다. 이 규칙을 무너뜨리면 필터의 안정성은 보장받기가 어렵다.
4. 상보필터의 설계 방법

그렇다면 상보필터는 어떻게 설계하는 것일까. 먼저 아래 그림을 보자.

그림5. 저역/고역통과필터의 보드선도

그림5. 저역/고역통과필터의 보드선도

그림5는 저역/고역통과필터의 보드선도를 그려놓은 것이다. 저 두 필터가 만나는 곳을 차단주파수로 설정하는 것이 일반적으로 알려진 방법이다. 대상은 1차 필터로 한정하자.

12scsang002
위 식은 1차 저역통과필터,

12scsang0023
위 식은 1차 고역통과필터이다. 이 두식을 필터의 개념식에 대입해서 정리하면,

12scsang001
이 된다. 이 수식을 그림4처럼 블록선도로 표현하면,

그림6. 1차 상보필터

그림6. 1차 상보필터

아주 간단한 그림6의 1차 상보필터가 된다. 이때 필터계수는 딱 하나 뿐으로, 이를 가지고 간단히 실험을 수행해보면 쉽게 필터를

확정지을 수 있다. a1을 여기서는 간단히 ‘1’이라고 하자.

그림7. 1차 상보필터의 결과

그림7. 1차 상보필터의 결과

그림7에서 제시한 아주 간단히 설계된 1차 상보필터를 최초 실험에 적용한 결과를 보면 얼마나 각도가 잘 맞아가는지를 알 수 있다.
5. 결론

이렇게 2회 연재를 마치게 되었다. 애초 각도측정에 있어서, 프로세서에 적용하는 방법이나, 실제 MCU단에서의 설계 등은 이미 인터넷 서치를 통해 그 소스를 쉽게 구할 수 있다. 필자는 단지 그와 같은 소스들의 단순 사용이 아니라, 상보필터라는 것이 왜 필요한지에 대해 이야기를 할려고 했었다. 1회에서는 자이로 센서, 가속도 센서, 기울기 센서 등을 하나만 사용했을 때, 왜 각도 추정에 실패하는지에 대해 이야기를 했고, 이번 2회에서는 그 중, 자이로 센서와 가속도 센서를 놓고 센서들의 특성을 관측했다. 그로부터 상보필터의 개념을 소개했다. 다시 이야기하지만, 이 필터를 MCU단, 혹은 PC 프로그램상에서 어떻게 설계하는 것인가에 대한 문제는 이미 많이 공개된 인터넷상의 자료로 넘기고자 한다.


■ 본 글은 2011년 2월 필자의 학위논문 중 일부를 발췌 후 잡지의 의도에 맞게 재정리한 것임을 미리 밝힙니다.

Leave A Comment

*