Navigation employing low cost Micro Electro Mechanical Systems (MEMS) sensors in Unmanned Aerial Vehicles (UAVs) is an uprising challenge. One important part of this navigation is the right estimation of the attitude angles. Most of the existent algorithms handle the sensor readings in a fixed way, leading to large errors in different mission stages like take-off aerobatic maneuvers. This paper presents an adaptive method to estimate these angles using off-the-shelf components.
This paper introduces an Attitude Heading Reference System (AHRS) based on the Unscented Kalman Filter (UKF) using the Fast Optimal Attitude Matrix (FOAM) algorithm as the observation model. The performance of the method is assessed through simulations. Moreover, field experiments are presented using a real fixed-wing UAV. The proposed low cost solution, implemented in a microcontroller, shows a satisfactory real time performance.
BACKGROUND AND RELATED WORK
The core of a well designed Kalman filter relies on an accurate model of the plant as well as the noise. Fortunately the attitude kinematics based on rate gyros is well known and corresponds to experimental results. However these equations are highly non-linear. This issue leads to the employment of the Unscented Transformation (UT) and the UKF, which have been introduced by Julier and Uhlmann. Navigation algorithms employing this technique were further explained, with examples, by Wan and Merwe.
The attitude angles describe the aircraft body-axis orientation in north, east, and down coordinates, i.e., in longitudinal, lateral and normal coordinates, with respect to the local tangent plane to the Earth and true north. Here θ is the pitch angle, φ the roll angle and ψ is the yaw angle according to Figure 2. The angular velocity vector expressed in body frame includes three components: P the roll rate, Q the pitch rate and R the yaw rate; and it is related to the Earth frame by the transformation given by the kinematics Equation (1).
UNSCENTED KALMAN FILTER AS SENSOR FUSION CORE
In our case, the correction step is limited by the GPS velocity with respect to ground at 1 Hz sample rate, which fits safely with the before requirement. This GPS velocity is employed to compensate the centripetal acceleration in the accelerometers readings. The diagram of the algorithm is described in Figure 3. It can be noted how the FOAM information feeds the correction step. The area surrounded by dashed lines contains the elements involved in the FOAM calculations.
The other three parts are: the plug-in code for X-Plane 9, the realistic model of the sensors, and finally, the online or off-line processing of the sensors with the algorithm. The idea is to integrate a six-degrees-of-freedom aerodynamic model, provided by X-Plane with a realistic model of the sensors we are using. The plug-in code is just an UDP interface to link each other. Figure 4 shows the diagram block implemented to the on-line processing and for the post-processing.
Figure 6 shows the estimation of the biases. It can be noted how the convergence is smoother with FOAM in the right graph than with TRIAD in the left graph. Moreover, since in TRIAD the accelerometers are always trusted in a fixed way, wrong accelerometers corrections lead to a wrong estimation of the biases, which finally gives a less confident estimation in the attitude angles as result.
FIELD EXPERIMENT RESULTS
The vision system uses a small camera attached to the UAV. An algorithm was developed to obtain the roll angle from the video measuring the slope of the horizon. Figure 11 shows one of the frames taken during the flight and processed by the vision system. The results of this system have an uncertainty of ±4°. This systematic error comes from the statistical processing of the video frames; in this way, the roll angle can be determined directly by hand from the horizon.
Figure 14 shows a comparison of the yaw angle estimated and the heading measured by the GPS. The figure corresponds to a one and a half turn, and the different stages are marked with numbers in each figure. It can be noted how the North points to the bottom left corner.
This paper considered the navigation problem of attitude estimation of a light-weight UAV. Due to the severely limited free space of this kind of vehicles, MEMS accelerometers and gyroscopes are only suitable for being on board. Previous studies in the attitude determination context give the same confidence to the sensors throughout the whole UAV mission. This is unsuitable for missions that mix both aerobatic and non-aerobatic maneuvers. A common solution in the satellite attitude estimation is the FOAM algorithm and it has been used as the observation model in the UKF framework due to the highly non-linear kinematic model of aircraft attitude.
An adaptive algorithm to determine the weights in FOAM algorithm has been presented, showing reliable results of the attitude along the different phases of a flight. The performance of the algorithm has been validated by simulation and assessed using field experiments. By means of independent sensors it has been checked that the estimation algorithm gives good results, confirming the suitable quality of the estimations. The algorithm is light enough to be run on an on board system with minimal electronic resources. The experimental results give confidence to pursue next works concerning automatic control implementation.
Source: University of Groningen
Authors: Hector Garcıa de Marina | Felipe Espinosa | Carlos Santos