• 카테고리

    질문 & 답변
  • 세부 분야

    임베디드 · IoT

  • 해결 여부

    미해결

BN0080 센서 질문입니다.

22.01.25 23:18 작성 조회수 154

0

안녕하세요
 
강의 잘 듣고 있습니다.
 
BNO080센서에 관해 문의 드립니다.
센서가 출력하는 값에 필터(상보필터) 알고리즘을 적용하지 않아도 되나요??
MO 가 내장되어 있어, 내장 MCU에 필터 알고리즘이 있는건가요??

답변 1

답변을 작성해보세요.

0

안녕하세요!

결론부터 말씀드리자면, BNO080 내부의 ARM cortex M0+ MCU에 자이로, 가속도, 자기장 센서를 이용한 쿼터니언 계산 알고리즘 펌웨어가 내장되어있어서 우리가 따로 필터를 적용하지 않아도 됩니다.

디지털 필터의 종류가 여러가지가 있는데, 그 중 상보필터(Complementary filter)는 서로 상보적인 특성을 갖는 두 신호의 단점(?)을 보완하여 하나의 신호로 만들어주는 필터라고 볼 수 있습니다.

자이로로 구한 회전각도와 가속도로 구한 회전각도는 서로 상보적인 특성을 가지고 있기에 이 둘의 단점을 보완하여 회전각도를 구할 때 상보필터가 적합하겠죠.

근데 회전각도를 구하기 위한 방식이 이 방식만 있는 것이 아니고, Madgwick, Kalman 등 여러 알고리즘이 오픈되어있어서 그 중 하나를 사용할 수도 있습니다.

BNO080은 내부에 어떤 알고리즘이 들어가있는지는 알 수 없지만, 이미 9축 센서의 값을 이용해 쿼터니언으로 계산해주기 때문에 추가적으로 상보필터를 사용하지 않아도 됩니다. 단, 그 쿼터니언을 실제 롤, 피치, 요 3축 회전각도(오일러각)로 변환해서 사용해야 합니다.

참고로 상보필터나 Madgwick, Kalman 같은 필터 외에 단순 주파수 대역만 잘라내는 LPF, HPF, BPF 등도 있습니다.

김은범님의 프로필

김은범

질문자

2022.01.28

답변 감사합니다.~

많은 도움이 되었습니다.^^