AHRS는 Altitude and Heading Reference System의 줄임말이다. 즉 항공기나 다른 물체의 자세를 측정하는 시스템이라고 할 수 있다.

 

현재 드론에 들어간 자세를 측정하는 부분은 상보 필터를 사용한다. 

ddtxrx.tistory.com/entry/STM32-LL%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84-I2C-DMA-MPU6050-%EC%83%81%EB%B3%B4%ED%95%84%ED%84%B0

 

[STM32] LL 드라이버 - I2C DMA로 작성한 MPU6050 상보필터

LL드라이버를 기반으로 MPU6050과 I2C 통신을 하는 코드를 작성했다. 초기화하는 코드와 Offset을 구하는 코드에는 DMA를 적용하지 않았고 상보 필터를 사용하여 각도를 계산하는 과정에 DMA를 사용했�

ddtxrx.tistory.com

 

기본적으로 각도에 각속도*dt 를 더해주고 가속도로 구한 각도를 보정해준다는 아이디어로 각도를 구하는 것이다.

 

하지만 불안정해지는 상황이 나오기도 하며 실제 드론을 날릴 때 살짝 어색해지는 경우도 있었다.

 

그래서 다른 자세 측정방식을 알아보게 되었고 Open source로 공개된 AHRS 알고리즘이 있어 한번 적용해 보았다.

 

 

x-io.co.uk/open-source-ahrs-with-x-imu/

 

Open source AHRS with x-IMU – x-io Technologies

 

x-io.co.uk

 

위 사이트에서 코드를 다운받아볼 수 있고 코드에 대한 내용은 따로 적어두지 않겠다. 실제로 변수들만 변경하면 바로 적용할 수 있다.

 

 

 

결과 - (0)

 

MahonyAHRS와 MadgwickAHRS 두 개의 알고리즘이 있으며 위의 사진은 MahonyAHRS를 적용한 결과이다.

 

실제 적용해보면 MahonyAHRS 알고리즘이 노이즈는 더 적다.

 

지자기 센서의 값도 넣어 계산이 가능하지만 아직 넣어서 테스트해보지는 않았다.

 

 

 

 

-

드론의 각도를 구하는 방법에 대해 계속 찾아보는 중 찾게 된 알고리즘이다.

 

계산 시간이나 여러 가지를 측정한 후에 드론에 적용해볼 것이다.

 

실제 이론에 대한 논문이 있는데 시간이 날 때마다 읽어볼 생각이다.

'임베디드 > 기타' 카테고리의 다른 글

[STM32] I2C Error Control  (0) 2021.03.22
APC220 통신 모듈  (0) 2020.09.11
Posted by DDTXRX
,