A two-step strategy to fuse the height measurements of quadrotors: theoretical analysis and experimental verifications

  • Qiang Wang
  • Youzhi Yang
  • Boxian Lin
  • Bo ZhuEmail author
Original Paper


For low-cost unmanned aerial vehicles, it is practically important to estimate flight height using the measurements from low-cost accelerometer and barometer sensors. In this paper, we propose a simple two-step strategy to fuse the measurements from the two sensors. In the first step, two different filters, moving average filter and Kalman filter, are adopted to pre-process the measurements from accelerometer and barometer, respectively. In the second step, a properly designed complementary filter is employed for high-precision height estimation. Several experimental comparison results on a small-size quadrotor demonstrate the effectiveness of the strategy. The strategy is further combined with a simple height controller to yield a height feedback-control scheme. The closed-loop experimental results show that 8-cm and 20-cm control accuracies are achieved for 5-m- and 10-m-height tracking tasks, respectively.


Accelerometer Barometer Complementary filter Kalman filter Quadrotor 

1 Introduction

Height determination is an important task for controlling an aerial vehicle. With the increasing demands on UAV applications as well as reducing the overall UAV cost, it is reasonable to use some low-cost on-board sensors. In the past two decades, low-cost, small-size inertial measurement units (IMUs) have been widely adopted in various UAVS to measure and report a body’s specific force, angular rate, and sometimes the magnetic field surrounding the body. As far as the height measurement issue of a UAV is concerned, many kinds of sensors can be used, for instance, accelerometers, barometers, GPS, ultrasonic sensors and infrared sensors.

Ultrasonic sensors can measure the distance to an object by sound waves [1]. By recording the elapsed time between the sound wave being generated and the sound wave bouncing back, it is able to calculate the distance between the sensors and object. A laser sensor works using laser to detect object [2]. Then, it is able to receive the intensity of laser from an object, and it is easy to calculate the distance between the sensor and the object. GPS could also be utilized to determine the distance by means of triangulation method [3]. In practice, this involves determining the distances to at least four GPS satellites from the user’s GPS receiver. However, ultrasonic sensor has a limited measurement range (less than 3 m); GPS cannot provide an accurate height measurement. The price of laser sensor is higher [4]. For these reasons, the three kinds of sensors are not perfect for a low-cost UAV to obtain high-precision height measurements.

Accelerometers are used to measure body’s acceleration, and position and velocity information could be obtained by integrating acceleration measurements. Barometers measure the flight height of a quadrotor by sensing the atmospheric pressure. There are two types of industrial UAV control modules at present. One is the flight controllers (A2 and A3) of DJI Corporation. The height fusion strategies and control algorithms are not open source and hence not available for a detailed analytical evaluation. The other is Pixhawks controller or its variations. The height measurements are mainly obtained by accelerometers, and the function of barometer is to correct the acceleration offset by calculating a modified coefficient. This approach is simpler, but the height estimation performance depends heavily on the weather or atmospheric condition, and is not as stable as the performance of the approach proposed in this paper. Besides, laser–radar sensor can be used to sense the flight height. But its price is usually much higher than the low-cost MEMS IMU or barometer, and its performance depends heavily on the ground condition.

Note that both accelerometers and barometers have performance limitations in their own right for height estimation: the estimation by accelerometer is not accurate in the long term because of zero drift that arises due to the integration operation. In contrast, the barometer measurement is not precise in the short term because of temperature drifts at the beginning. Then, a natural question then arises: is it possible to obtain a higher-accuracy estimation of flight height by fusing the measurements of an accelerometer and a barometer? Up to now, there have been many works adopting complementary filters to fuse attitude measurements [5, 6, 7]. However, to the best of our knowledge, an approach of using complementary filters to estimate height has been rarely explicitly reported. In this work, we propose a simple two-step processing strategy to generate high-accuracy height estimations as shown in Fig. 1.
Fig. 1

The proposed height estimation strategy

In the first step, different filters are proposed to pre-process the measurements from the accelerometers and barometer. Specifically, systematic errors involved in accelerometer measurements are eliminated by calibration, and random error is eliminated by a FIR low-pass filter and a moving average filter. As for barometer measurements, we first analyzed the involved disturbance (caused by the wind and change of temperature) and then proposed a moving average filter and a Kalman filter to eliminate the effect of disturbance. In the second step, a proper complementary filter is used to fuse the pre-processed information. Comparison experiments are conducted on a low-cost quadrotor (shown in Fig. 2) to verify the effectiveness of the strategy.
Fig. 2

The low-cost experimental quadrotor

Finally, the strategy is combined with a height controller to yield a complete height feedback-control solution. This extends the results published in our recent conference paper [8]. The collected data of two closed-loop height-control experiments demonstrate that a high-accuracy control performance is achieved by implementing the solution.

2 Accelerometer analysis

Accelerometer is fixed on the quadrotor, so the value of accelerometer should be transformed from body frame to inertial frame. Consider the value under body frame denoted by \( \left[ {a_{bx} ,a_{by} ,a_{bz} } \right]^{T} \) and the value under inertial frame by \( \left[ {a_{x} ,a_{y} ,a_{z} } \right]^{T} \). The transformation is shown as follows
$$ \left[ {\begin{array}{*{20}c} {a_{x} } \\ {a_{y} } \\ {a_{z} } \\ \end{array} } \right] = C_{b}^{n} \left[ {\begin{array}{*{20}c} {a_{bx} } \\ {a_{by} } \\ {a_{bz} } \\ \end{array} } \right], $$
where \( C_{b}^{n} \) is the rotation matrix from body frame to inertial frame. The velocity and positions along the gravitational direction could be obtained by
$$ \left\{ {\begin{array}{*{20}c} {v_{z} = \int_{{t_{0} }}^{{t_{1} }} {a_{z} {\text{d}}t} } \\ {h = \int_{{t_{0} }}^{{t_{1} }} {v_{z} {\text{d}}t} } \\ \end{array} } \right. $$
In practice, there are many factors affecting the accuracy, such as the constant drift, the scale factor, the measurement noises and the vibrations of motors. We use two steps to process the measurements from accelerometers. The first step is to calibrate the accelerometer. The actual acceleration \( a_{nz} \) along the gravitational direction can be simply modeled by
$$ a_{nz} = a_{z} + n_{z} , $$
where \( a_{z} \) is the normalized measurement and \( n_{z} \) is the noise due to constant drift, scale factor and measurement noise. Calibration can be achieved by rotating the quadrotor at different stationary positions. The relationship between the calibrated accelerations \( \hat{a}_{nx} \), \( \hat{a}_{ny} \) and \( \hat{a}_{nz} \) and the raw measurements \( a_{nx} \), \( a_{ny} \) and \( a_{nz} \) can be expressed as
$$ \left\{ \begin{array}{l} \hat{a}_{nx} = ba_{nx} + c, \\ \hat{a}_{ny} = da_{ny} + e, \\ \hat{a}_{nz} = fa_{nz} + h, \\ g^{2} = \hat{a}_{nx}^{2} + \hat{a}_{ny}^{2} + \hat{a}_{nz}^{2} ,\\ \end{array} \right. $$
where \( b \),\( d \) and \( f \) are scale coefficients and \( c \),\( e \) and \( h \) are translation coefficients. Then, we apply the least square (LS) algorithm to determine \( b \), \( d \), \( f \),\( c \), \( e \) and \( h \):
$$ \left\{ \begin{array}{l} b = 1.0034,d = 1.0037,f = 0.9855 \\ c = - 0.3613,e = - 0.6274,h = - 0.0436 \\ \end{array} \right. $$
A comparative experiment is conducted to show the necessity of acceleration calibration. The results are shown Fig. 3.
Fig. 3

Acceleration calibration

To make clear the results of calibration, we compare the calibrated error \( e_{1} \) and the raw error \( e_{2} \) in Fig. 4.
Fig. 4

Comparison of calibrated error and raw error

$$ \left\{ \begin{aligned} e_{1} = g - \sqrt {\hat{a}_{nx}^{2} + \hat{a}_{ny}^{2} + \hat{a}_{nz}^{2} } \hfill \\ e_{2} = g - \sqrt {a_{nx}^{2} + a_{ny}^{2} + a_{nz}^{2} } \hfill \\ \end{aligned} \right. $$
It is seen that the variance of calibrated acceleration is smaller. The system error is mainly eliminated by the calibration of accelerometer, and random error needs to be properly dealt with in the second step. Some filters are used to eliminate the noise caused by the motors. It is well known that the accelerometer is sensitive to vibrations. When the motors run faster, the effect of the noise caused by the variations is more obvious. The acceleration along z-axis is recorded when Euler angles are equal to zero with 0, 30%, 60% of duty l of the motor. As the duty ratio increases, the motors run faster. The time-domain and frequency-domain results are shown in Figs. 5 and 6.
Fig. 5

Unfiltered data in the time domain

Fig. 6

Unfiltered data in the frequency domain

The average values of accelerations in the time-domain figure are equal to zero approximately, and noises exist as the frequency-domain figure shows. As the duty ratio increases, high-frequency noise performs more obviously. To eliminate the effects of high-frequency noise, a 10-order FIR low-pass filter with a cut-off frequency 20 Hz is used.

Noises with a frequency higher than 20 Hz are restrained effectively. Moving average filter is adopted to deal with the noise components with frequencies lower than 20 Hz. The results are shown in Figs. 7 and 8.
Fig. 7

Filtered data in the time domian

Fig. 8

Filtered data in the frequency domain

By the FIR low-pass filter and moving average filter, noise is well eliminated. In engineering, in addition to the method by reducing the vibrations of the motors using filters, some physical methods could also be used, such as cushioning or laying a piece of sponge.

3 Barometer analysis

The barometer works by measuring the atmospheric pressure. The MS5611 is used as a high-resolution altimeter sensor. The main error stems from sudden change of airflow, sunlight and temperature. Besides, absolute height from MS6511 should be converted into the relative height we need. Thus, it is necessary to pre-process the data from barometer directly. By the property of barometers, we record the measurements by barometer with static motor and moving motor, respectively. Furthermore, we change the temperature and carry out experiments with the wind blowing. The comparison results are expressed in the time domain and the frequency domain as shown in Figs. 9 and 10. The mean value and the variance of data in Fig. 9 are listed in Table 1. The vibration of quadrotor can be neglected because the performance in frequency domain is almost the same under different situations. The variance is approximately identical when the motors keep static or moving. The mean value when the motors keep static is 60 cm less. It is because of zero shift of barometer at the beginning. When the temperature becomes higher, the variance and the mean value have a great change with respect to time. When the effect of the wind is obvious, the variance will have an obvious change but the mean value remains stable, and thus the height measured by barometer is unstable. To eliminate the effects of temperature, wind and zero drift, we use a black cloth to cover the barometer to prevent from disturbance of airflow and temperature physically. On the other hand, we discard the unstable data of barometer at the beginning of measuring.
Fig. 9

Comparison results in the time domain

Fig. 10

Comparison results in the frequency domain

Tabel 1

Mean value and variance under different situations






Mean value










The precondition of data reduces the effects of disturbance though the vibration is still obvious. We use two different filters, moving average filter and Kalman filter, to process the data further. The results of two filters are shown in Fig. 11. The variance of data vibrates in the range of 200 mm. The data perform smoothly after filtering by moving average filter and have little delay. When we use Kalman filter, the data are smoother but has time delay. Different filters could be chosen for different situations.
Fig. 11

Comparison of moving average filter and Kalman filter

Fig. 12

The estimated height in the static experiment

4 A complementary filter for height estimation

A complementary filter for height estimation performs low-pass filtering on a low-frequency height estimate, obtained from accelerometer data, and high-pass filtering on a high-frequency height estimate, measured by barometer, and fuses these estimates together to obtain an all-pass estimate of height. The principle of complementary filter is introduced in [9].

According to the analysis of accelerometer and barometer, we know that the value measured by barometer is accurate in long term, for the results will not change over time; on the contrary, the estimated value measured by accelerometer is accurate in short term, for its value shifts away from the true value because of the integration and drift over time. We use complementary filter to process the data measured by accelerometer and barometer to make the estimated value close to the true value.

The estimated acceleration is transformed from body frame to inertial frame, which is denoted by \( \hat{a}_{z} \) in the gravitational direction. The velocity \( \hat{v}_{a} \) and the height \( \hat{h}_{a} \) can be integrated by \( a_{z} \). The height measured by barometer is expressed by \( \hat{h}_{b} \), the first derivative of which is the vertical velocity denoted by \( \hat{v}_{b} \). We design low-pass filters \( F_{1} \left( s \right) \), \( F_{1}^{\prime } \left( s \right) \) and high-pass filters \( F_{2} \left( s \right) \), \( F_{2}^{\prime } \left( s \right) \) for the estimations of vertical velocity and height, respectively. In the following, we use \( \hat{v} \) to denote the complemented velocity and \( \hat{h} \) to denote the complemented height.
$$\left\{ \begin{gathered} F_{1} \left( s \right){\text{ = }}\frac{K}{{K{\text{ + }}s}},F_{2} \left( s \right){\text{ = }}\frac{s}{{K{\text{ + }}s}} \hfill \\ F_{1} ^{\prime } \left( s \right){\text{ = }}\frac{{K^{\prime}}}{{K^{\prime}{\text{ + }}s}},F^{\prime}_{2} \left( s \right){\text{ = }}\frac{s}{{K^{\prime}{\text{ + }}s}} \hfill \\ \end{gathered} \right.$$
$$ \left\{ \begin{aligned} \hat{v}\left( s \right) = F_{1} \left( s \right)\hat{v}_{b} \left( s \right) + F_{2} \left( s \right)\hat{v}_{a} \left( s \right) \hfill \\ \hat{h}\left( s \right) = F_{1}^{\prime } \left( s \right)\hat{h}_{b} \left( s \right) + F_{2}^{\prime } \left( s \right)\hat{h}_{a} \left( s \right) \hfill \\ \end{aligned} \right. $$
Assume \( s = \frac{{1 - z^{ - 1} }}{T} \), where \( T \) is the minimum time interval. Then, Eq. (8) can be expressed as
$$ \left\{ \begin{gathered} \hat{v}\left( z \right) = \frac{{\hat{v}\left( z \right)z^{{ - 1}} + KT\hat{v}_{b} \left( z \right) + \left( {1 - z^{{ - 1}} } \right)\hat{v}_{a} \left( z \right)}}{{1 + KT}} \hfill \\ \hat{h}\left( z \right) = \frac{{\hat{h}\left( z \right)z^{{ - 1}} + K^{\prime}T\hat{h}_{b} \left( z \right) + \left( {1 - z^{{ - 1}} } \right)\hat{h}_{a} \left( z \right)}}{{1 + K^{\prime}T}} \hfill \\ \end{gathered} \right. $$
For actual implementing, we transform Eq. (9) into the following difference equation form:
$$ \left\{ \begin{gathered} \hat{v}\left( n \right) = \frac{{\hat{v}\left( {n - 1} \right) + KT\hat{v}_{b} \left( n \right) + \hat{v}_{a} \left( n \right) - \hat{v}_{a} \left( {n - 1} \right)}}{{1 + KT}} \hfill \\ \hat{h}\left( n \right) = \frac{{\hat{h}\left( {n - 1} \right) + K^{\prime}T\hat{h}_{b} \left( n \right) + \hat{h}_{a} \left( n \right) - \hat{h}_{a} \left( {n - 1} \right)}}{{1 + K^{\prime}T}} \hfill \\ \end{gathered} \right. $$
From the property of acceleration, we have
$$ \left\{ \begin{aligned} a_{z} \left( n \right) = \dot{\hat{v}}_{a} \left( n \right) = \frac{{\hat{v}_{a} \left( n \right) - \hat{v}_{a} \left( {n - 1} \right)}}{T} \hfill \\ \hat{v}_{a} \left( n \right) = \frac{{\hat{h}_{a} \left( n \right) - \hat{h}_{a} \left( {n - 1} \right)}}{T} \hfill \\ \end{aligned} \right. $$
By combining (10) and (11), we obtain
$$ \left\{ \begin{gathered} \hat{v}\left( n \right) = \frac{{\hat{v}\left( {n - 1} \right) + KT\hat{v}_{b} \left( n \right) + a_{z} \left( n \right)T}}{{1 + KT}} \hfill \\ \hat{h}\left( n \right) = \frac{{\hat{h}\left( {n - 1} \right) + K^{\prime}T\hat{h}_{b} \left( n \right) + \hat{v}_{a} \left( n \right)T}}{{1 + K^{\prime}T}} \hfill \\ \end{gathered} \right. $$
Which can be expressed in time domain as
$$ \left\{ \begin{gathered} \hat{v}\left( t \right) = \frac{{\hat{v}\left( {t - T} \right) + KT\hat{v}_{b} \left( t \right) + a_{z} \left( t \right)T}}{{1 + KT}} \hfill \\ \hat{h}\left( t \right) = \frac{{\hat{h}\left( {t - T} \right) + K^{\prime}T\hat{h}_{b} \left( t \right) + \hat{v}_{a} \left( t \right)T}}{{1 + K^{\prime}T}} \hfill \\ \end{gathered} \right. $$
By the property of first-order low-pass filters, the cut-off frequencies of \( F_{1} \left( s \right) \) and \( F_{1}^{\prime } \left( s \right) \), denoted by \( f_{T} \) and \( f^{\prime}_{T} \) respectively, are given by
$$ \left\{ \begin{aligned} f_{T} = \frac{K}{2\pi } \hfill \\ f^{\prime}_{T} = \frac{{K^{\prime}}}{2\pi } \hfill \\ \end{aligned} \right. $$

In this paper, both static and dynamic experiments are conducted to verify the performance of the complementary filter. In the static experiment, the height estimation obtained by the complementary filter is compared with the two estimations obtained in the first step, as shown in Fig. 12. The mean value is − 22.97 and the variance is 864.85 for the output of the complementary filter. In contrast, they are, respectively, − 23.88 and 3677.7 for the output of the barometer filter. We also note that the output of the accelerometer filter has a constant error (about 140 mm). Thus the complementary filter leads to a better height estimation.

The estimated velocity in stationary state is illustrated in Fig. 13. The mean value of the complemented velocity is − 2.78 and the variance is 95.68.
Fig. 13

The estimated velocity in the static experiment

For the case with a time-varying height in the dynamic experiment, we consider to switch the flight heights along the sequence: 0 mm, 1000 mm, 1800 mm, 2500 mm, 1500 mm, 0 mm. These heights are determined using a high-accuracy ruler with the resolution 1 mm. In the experiment, we move the quadrotor according to the height sequence, and collect the fused results. The collected results are shown in Figs. 14 and 15. It is seen that there is an obvious time delay in the accelerometer measurements (compared to the data measured by barometer), because of the delay effect introduced by the integration operation, and the data obtained from barometer suffer from high-frequency noises. The height estimated by complementary filter is better.
Fig. 14

The estimated height in the dynamic experiment

Fig. 15

The estimated velocity in the dynamic experiment

5 Height-control and closed-loop test results

The flight characteristic of the quadrotor is the ability to hover and can be controlled from multiple degrees of freedom in space. The remarkable flight performance requires the construction of the mathematical model of the quadrotor. Further discussions about the flight principle of the quadrotor are omitted here due to space limitations. The general X-type quadrotor model is given by (see [10] for a detailed introduction about the model).
$$ \left\{ \begin{array}{l} \ddot{x} = \frac{{u_{4} (\cos \psi \sin \theta \cos \phi + \sin \phi \sin \psi )}}{m}, \\ \ddot{y} = \frac{{u_{4} (\sin \phi \sin \theta \cos \psi - \cos \phi \sin \psi )}}{m}, \\ \ddot{z} = \frac{{u_{4} \cos \theta \cos \phi - mg}}{m}, \\ \ddot{\theta } = \frac{{lu_{1} }}{{I_{x} }}, \\ \ddot{\phi } = \frac{{lu_{2} }}{{I_{y} }}, \\ \ddot{\psi } = \frac{{k_{d} u_{3} }}{{I_{z} }}, \\ \end{array} \right. $$
where \( x \),\( y \) and \( z \) represent for three-axis displacement relative to the ground coordinate; \( \theta \),\( \phi \) and \( \psi \) are the pitch angle, roll angle and yaw angle, respectively; \( m \) is the mass of the quadrotor; \( I_{x} \),\( I_{y} \) and \( I_{z} \) are the three moments of inertia of the body around the inertial coordinate; \( k_{d} \) is the coefficient; \( u_{1} \),\( u_{2} \),\( u_{3} \) and \( u_{4} \) are the control input, which can be represented by
$$ \left\{ \begin{array}{l} u_{1} = \frac{\sqrt 2 }{2}\left( {F_{2} + F_{3} - F_{1} - F_{4} } \right), \\ u_{2} = \frac{\sqrt 2 }{2}\left( {F_{1} + F_{2} - F_{3} - F_{4} } \right), \\ u_{3} = F_{2} + F_{4} - F_{1} - F_{3} , \\ u_{4} = F_{1} + F_{2} + F_{3} + F_{4} , \\ \end{array} \right. $$
where \( F_{i} = k\omega_{i}^{2} \), \( k \) is the motor coefficient and \( \omega_{i} \) is the angular velocity of the \( i \) motor.
The height model is nonlinear and the vertical motion is coupled with the pitch and roll motion. A linearization model can be obtained by applying the well-known small perturbation linearization technique, which is given by
$$ \ddot{z} = \frac{{u_{4} - mg}}{m} $$
This model can be written in the form of a state space equation
$$ \dot{Z} = AZ + BU, $$
$$ Z = \left[ {\begin{array}{*{20}c} z & {\dot{z}} \\ \end{array} } \right]^{T} ,\,U = \frac{{u_{4} - mg}}{m} $$
$$ A = \left[ {\begin{array}{*{20}c} 0 & 1 \\ 0 & 0 \\ \end{array} } \right],\,B = \left[ {\begin{array}{*{20}c} 0 \\ 1 \\ \end{array} } \right]. $$
In recent years, many controllers for height control have been developed, such as the PID and LQR controllers as in [11] and [12], and the backstepping controller given by [13]. The cascade PID control structure, which is widely used in the control system of various robotics and aircraft, is applied here with the fused height information as the real-time feedback signals. This structure, as shown in Fig. 16, proves to be effective for various quadrotors as well as for other aircraft. Compared with the traditional PID control structure, the cascade PID control structure has the advantage that the resulting closed-loop control system is more robust with respect to uncertainties. This advantage has been also demonstrated on many fixed-wing aircraft platform.
Fig. 16

The cascade PID control structure for height control

For the applied cascade PID control solution, the inner loop is the speed-control loop for the vertical direction, where the feedback signal is the vertical speed obtained by the state estimator. The outer loop is the height-control loop with the fused height measurements as the feedback. Generally, the outer loop admits a PD controller. The inner-loop control frequency is 200 Hz, and the outer-loop control frequency is 100 Hz. The desired height commands are set to be 5 m and 10 m, respectively. The collected experimental results are shown in the Figs. 17 and 18.
Fig. 17

The results of 5-m-height tracking

Fig. 18

The result of 10-m-height tracking

These results show that the height-control errors finally enter into the bound [− 8 cm, + 8 cm] in the 5-m tracking experiment, whereas the errors enter into the larger bounds [− 20 cm, + 20 cm] in the 10-m tracking experiment. This phenomenon is arising, because of the fact that when the small-size quadrotor flies higher, the effect of airflow disturbances on height control will be more obvious.

6 Conclusion

To obtain a high-accuracy height estimation for low-cost quadrotors, this paper proposed a simple two-step strategy to fuse the measurements from accelerometers and barometers. In the first step, moving average filter and Kalman filter are adopted to preprocess the measurements. In the second step, a complementary filter is designed. Comparison results from both static and dynamic experiments on a small-size quadrotor demonstrate the effectiveness of the strategy. Furthermore, we designed a cascade PID controller and combined it with the fusion strategy to yield a height feedback-control solution. The solution is finally implemented on the quadrotor and verified by flight tests at 5-m and 10-m heights, respectively.

In future study, we shall systematically evaluate the ground effect and wind disturbances acting on the quadrotor, and apply the input disturbance compensation techniques developed in [14] and [15] to improve the control accuracy.



This work was supported by the National Natural Science Foundation of China (Grant No. 61773095) and the Fundamental Research Funds for the Central Universities (Grant No. ZYGX2016J161) at UESTC.


  1. 1.
    Roberts JF, Stirling T, Zufferey JC, Floreano D (2007) Quadrotor using minimal sensing for autonomous indoor flight. In: European micro air vehicle conference and flight competition (EMAV2007), No. LIS-CONF-2007-006Google Scholar
  2. 2.
    He R, Prentice S, Roy N (2008) Planning in information space for a quadrotor helicopter in a GPS-denied environment. In: IEEE international conference on robotics and automation (ICRA 2008). IEEE, pp 1814–1820Google Scholar
  3. 3.
    Xie N, Lin X, Yu Y (2016) Position estimation and control for quadrotor using optical flow and GPS sensors. In: Conference of Chinese association of automation youth academic annual (YAC). IEEE, pp 181–186Google Scholar
  4. 4.
    Achtelik M, Bachrach A, He R et al (2009) Stereo vision and laser odometry for autonomous helicopters in GPS-denied indoor environments. In: Unmanned systems technology XI. International society for optics and photonics, vol 7332, p 733219Google Scholar
  5. 5.
    Euston M, Coote P, Mahony R et al (2008) A complementary filter for attitude estimation of a fixed-wing UAV. In: IEEE/RSJ international conference on intelligent robots and systems (IROS 2008). IEEE, pp 340–345Google Scholar
  6. 6.
    Hamel T, Mahony R (2006) Attitude estimation on SO [3] based on direct inertial measurements. In: Proceedings 2006 IEEE international conference on robotics and automation. IEEE, pp 2170–2175Google Scholar
  7. 7.
    Baerveldt AJ, Klang R (1997) A low-cost and low-weight attitude estimation system for an autonomous helicopter. In: Proceedings of IEEE international conference on intelligent engineering systems (INES'97). IEEE, pp 391–395Google Scholar
  8. 8.
    Yang YZ, Wang Q, Lin BX, Zhu B et al (2018) A two-step strategy for high-accuracy height estimation in low-cost quadrotors. In: The 2018 IEEE/CSAA guidance, navigation and control conference, pp 1106–1011Google Scholar
  9. 9.
    Higgins WT (1975) A comparison of complementary and Kalman filtering. IEEE Trans Aerosp Electron Syst 3:321–325CrossRefGoogle Scholar
  10. 10.
    Pierre DM, Zakaria N, Pal AJ (2012) Self-organizing map approach to determining compromised solutions for multi-objective UAV path planning. In: 12th international conference on control automation robotics & vision (ICARCV). IEEE, pp 995–1000Google Scholar
  11. 11.
    Kodgirwar VP, Kumar V, Sawant S, Shegokar M (2014) Design of control system for quadcopter using complementary filter and PID controller. Int J Eng Res Technol 3(4):2278-0181Google Scholar
  12. 12.
    Bouabdallah S, Murrieri P, Siegwart R (2004) Design and control of an indoor micro quadrotor. IEEE Int Conf Robot Autom 5:4393–4398Google Scholar
  13. 13.
    Bouabdallah S, Siegwart R (2006) Backstepping and Sliding-mode techniques applied to an indoor micro quadrotor. IEEE Int Conf Robot Autom 3:2247–2252Google Scholar
  14. 14.
    Zhu B, Liu Hugh HT, Li Z (2015) Robust distributed attitude synchronization of multiple three-DOF experimental helicopters. Control Eng Pract 36:87–99CrossRefGoogle Scholar
  15. 15.
    Zhu B, Zhang Q, Liu Hugh HT (2018) Design and experimental evaluation of robust motion synchronization control for multivehicle system without velocity measurements. Int J Robust Nonlinear Control 28:5437–5463CrossRefGoogle Scholar

Copyright information

© Shanghai Jiao Tong University 2018

Authors and Affiliations

  1. 1.General Aviation AcademyChengdu Aeronautic PolytechnicChengduChina
  2. 2.School of Aeronautics and AstronauticsUniversity of Electronic Science and Technology of China (UESTC)ChengduChina
  3. 3.School of Aeronautics and AstronauticsSun Yat-Sen University (SYSU)GuangzhouChina

Personalised recommendations