연속 선형 가속 및 진동 (0.4g 미만, 10HZ 미만의 주파수)에서 피치, 롤 및 요 (yaw)를 얻기 위해 여러 알고리즘을 시도했습니다. 판독 값이 표류하거나 선형 가속에 의해 너무 많은 영향을 받기 때문에 좋은 결과를 얻지 못합니다. 내가 달성하고자하는 것은 외부 가속이 + -0.4g보다 작을 때, 피치 및 롤의 오류가 + -1deg보다 작아야합니다.
이 알고리즘을 시도했습니다.
-
Madgwick의 알고리즘 . 베타 게인을 매우 높게 설정하면 수렴이 빠르지 만 각도가 선형 가속에 더 취약합니다. 나는 그것을 조정하고 선형 가속시 오류를 + -0.5deg로 줄였습니다. 그러나 진동이 연속적이면 판독 값이 표류하고 실제 값으로 수렴하는 데 시간이 오래 걸립니다. 선형 가속에서는 자이로가 더 신뢰할 수 있고 자이로 통합 드리프트로 각도 드리프트가 계산되기 때문에 의미가 있습니다.
-
Mahony의 알고리즘 . Madgwick과 달리 Ki와 Kp에 어떤 값을 사용하든 전혀 표류하지 않습니다. 그러나 항상 선형 가속의 영향을받습니다. (+ -6deg보다 큰 오류)
-
전통적인 칼만 필터 . 거대한 R 및 Q 벡터를 튜닝하는 데 많은 시간이 소요되었습니다. 지금까지 Mahony와 동일한 성능을 가지고 있습니다.
내가 사용하고 면도기 IMU를 . 나는 싸구려 센서는 같은 결과를 달성하는 것은 불가능 알고 이 일을 .
UKF와 같은 몇 가지 옵션이 더 있지만 이해하거나 구현하기가 어렵습니다.
어떤 제안이라도 환영합니다.
답변
먼저 두 가지 핵심 사항을 이해해야합니다.
-
IMU 데이터만으로 태도를 판단하는 것은 본질적으로 선형 가속이있을 때 모호합니다 . 가속 특성에 대한 추가 지식이 없으면 달성 할 수있는 정확도에 항상 상한이 있습니다.
-
통합 자이로 스코프 측정의 드리프트에 의해 정확도가 제한됩니다 . 완벽한 자이로 데이터와 통합으로 가속도계 데이터가 전혀 필요하지 않습니다. 완벽에 가까울수록 가속을 무시할 수 있습니다.
오리엔테이션 알고리즘의 선택은 여기서 크게 관련이 없습니다. 모두 동일한 원리로 작동합니다. 중력 가속 방향을 사용하여 통합 자이로 데이터를 드리프트 보정하고 두 가지 사이에 가중 가중치가 약간 다릅니다. 매개 변수 조정을 시도했지만 원하는 결과를 얻지 못한 경우 다른 알고리즘으로 더 나은 결과를 얻지 못할 수 있습니다.
따라서 본질적으로 할 수있는 두 가지가 있습니다.
- 자이로 통합의 정확성을 향상시킵니다.
- 어떻게 든 선형 가속의 특성을 모델링하십시오.
두 번째 옵션은 공부하려는 동작의 세부 사항에 따라 다르므로 논의하기가 어렵습니다. 주어진 범위 밖에서 버리는 가속이나 폐기와 같은 간단한 트릭이 있습니다. 본질적으로 이것들은 간단한 일 생일 뿐인 선형 가속도를 모델링하는 것입니다. 시스템이 계속 움직이면 별 도움이되지 않습니다.
자이로 통합을 향상시키기 위해 할 수있는 몇 가지가 있습니다 :
- 자이로 바이어스에 대한 최상의 추정치를 얻으십시오 . 사용 직전에 몇 초 동안 정적 자이로 판독 값을 가져 와서 평균값으로 오프셋 값을 구하십시오. 일회성 사전 교정에 의존하지 마십시오.
- 온도로 인한 드리프트를 최소화하십시오. 교정 / 사용 전에 IMU를 정상 작동 온도로 예열하십시오. 작동하는 동안 온도를 일정하게 유지하십시오.
- 교정 모델을 개선하십시오. 교차 축 효과 및 비선형 성뿐만 아니라 스케일 및 오프셋 포함도 고려하십시오.
- 더 나은 통합 방법을 사용하십시오. 귀하의 질문에 대한 의견에는 이미 몇 가지 아이디어가 있습니다.
- 자이로 드리프트를 추적 할 수 있는지 확인하십시오. 오리엔테이션 알고리즘이 특정 방향으로 드리프트를 일관되게 보정해야하는 경우이를 감지하여 바이어스 값을 부드럽게 조정하는 데 사용할 수 있습니다.
사용중인 센서가 사용 가능한 최고 등급이 아닌 것이 맞습니다. 그러나 충분히 잘 특성화되고 보정 된 경우 소비자 센서에서 매우 우수한 결과를 얻을 수 있습니다.