Abstract

Orientation estimation using low cost sensors is an important task for Micro Aerial Vehicles (MAVs) in order to obtain a good feedback for the attitude controller. The challenges come from the low accuracy and noisy data of the MicroElectroMechanical System (MEMS) technology, which is the basis of modern, miniaturized inertial sensors. In this article, we describe a novel approach to obtain an estimation of the orientation in quaternion form from the observations of gravity and magnetic field. Our approach provides a quaternion estimation as the algebraic solution of a system from inertial/magnetic observations. We separate the problems of finding the “tilt” quaternion and the heading quaternion in two sub-parts of our system. This procedure is the key for avoiding the impact of the magnetic disturbances on the roll and pitch components of the orientation when the sensor is surrounded by unwanted magnetic flux. We demonstrate the validity of our method first analytically and then empirically using simulated data. We propose a novel complementary filter for MAVs that fuses together gyroscope data with accelerometer and magnetic field readings. The correction part of the filter is based on the method described above and works for both IMU (Inertial Measurement Unit) and MARG (Magnetic, Angular Rate, and Gravity) sensors. We evaluate the effectiveness of the filter and show that it significantly outperforms other common methods, using publicly available datasets with ground-truth data recorded during a real flight experiment of a micro quadrotor helicopter.

Highlights

  • The accurate estimation of the orientation of a rigid body, relative to an inertial frame, is required for a wide range of applications

  • The delta quaternion ∆qmag is affected by the noise of the magnetometer, which is filtered by using the procedure we adopted for ∆qacc, switching between Linear intERPolation (LERP) and Spherical Linear intERPolation (SLERP)

  • We compare our method against the orientation estimation proposed by Madgwick et al in [26], the quaternion-based Extended Kalman filtering (EKF) proposed by Sabatini [24], and the algorithm embedded in the low-level processor of the AscTec quadrotor, whose output, in Euler angles form, is provided in the datasets

Read more

Summary

Introduction

The accurate estimation of the orientation of a rigid body, relative to an inertial frame, is required for a wide range of applications. We propose a deterministic approach to solve Whaba’s problem [1] given gravity and magnetic field observations provided by the MARG sensor This method returns an estimation of the attitude in quaternion form without leading to ambiguous results and avoiding singularity problems. We propose a new approach to a complementary filter for fusing together gyroscope data with acceleration and magnetic field measurements from IMU and MARG sensors to obtain an orientation estimation in quaternion form. This algorithm is meant to be used onboard MAVs because of its low computational burden, robustness, and fast convergence.

Previous Work
Background
Quaternion from Earth-Field Observations
Quaternion from Accelerometer Readings
Quaternion from Magnetometer Readings
Quaternion-Based Complementary Filter
Correction
Accelerometer-Based Correction
Magnetometer-Based Correction
Adaptive Gain
Filter Initialization and Bias Estimation
Experiments
MAV Flight Experiment
Magnetic Disturbances
High Nongravitational Acceleration
Findings
Conclusions
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.