# EKF-Based Parameter Identification of Multi-Rotor Unmanned Aerial VehiclesModels

^{1}

^{2}

^{3}

^{*}

## Abstract

**:**

## 1. Introduction

#### 1.1. Objectives and Contributions

#### 1.2. Paper Outline

## 2. Multi-Rotor Modeling

## 3. System Definition

## 4. Observability Analysis

**(a)**). Moreover, this means that the state vector $\mathbf{x}$ Equation (10), and thus the model parameters, can be observable even if the linear velocities $(u,v,w)$ are not measured (see Configuration

**(b)**).

**(e)**). Moreover, the minimal set of sensors needed for estimating the model parameters appears to be the Configuration

**(f)**. In this case, only angular measurements and measurement of the vertical position ${p}_{d}$ are considered.

## 5. Kalman Filtering

**(b)**. In this case, the linear velocities $(u,v,w)$ are not used for updating the system state $\widehat{\mathbf{x}}$ (see Section 4). It is well worth noting that, as indicated in Figure 3, the filter was updated in a separate manner just after each type of measurement is available.

## 6. Results

#### 6.1. Simulations

#### 6.1.1. Sensors Configurations Test

**(a**–

**f)**, from whose parameters $({J}_{x},{J}_{y},{J}_{z},b,k)$ were observable (see Section 4), were tested. Figure 4 shows the control reference signals $({p}_{{d}_{r}},{\varphi}_{r},{\theta}_{r},{\psi}_{r})$ used for exciting the quadrotor state (green signals). Note that the quadrotor was commanded to maintain a stable altitude ${p}_{d}$, while its orientation $(\varphi ,\theta ,\psi )$ was excited by sinusoidal signals. Furthermore, the actual values for all the vehicle states in ${\mathbf{x}}_{v}$ are shown (blue signals). The measured vehicle states, used for estimating the model parameters, are illustrated by the red signals.

**(a**–

**f)**. For instance, in this case, the first row of plots (Configuration

**(a)**) shows the results obtained when the measurements of all the vehicle states are used for updating the EKF. In the same manner, the last row of plots (configuration

**(f)**) shows the results obtained when only measurements of altitude and angular velocities were used for updating the filter. Observing Figure 5, it can be seen that, with all the sensors configurations, it was possible to estimate in a good manner the model parameters values $({J}_{x},{J}_{y},{J}_{z},b,k)$. Table 5 shows the average values of the parameters estimated and their respective mean errors obtained for each sensor configuration. The above results validated the theoretical findings obtained from the observability analysis regarding the measurements needed for estimating the parameters.

#### 6.1.2. Observability Conditions Test

**(d)**are shown, but similar results were obtained with the other configurations. The following cases were tested:

#### 6.2. Experimental Case

## 7. Conclusions

## Author Contributions

## Funding

## Acknowledgments

## Conflicts of Interest

## References

- Wei, W.; Schwartz, N.; Cohen, K. Frequency-Domain System Identification and Simulation of a Quadrotor Controller. In Proceedings of the AIAA Modeling and Simulation Technologies Conference, Atlanta, GA, USA, 16–20 June 2014. [Google Scholar]
- Gremillion, G.; Humbert, J. System Identification of a Quadrotor Micro Air Vehicle. In Proceedings of the AIAA Atmospheric Flight Mechanics Conference, Toronto, ON, Canada, 2–5 August 2010. [Google Scholar]
- Sonntag, D. A Study of Quadrotor Modeling. Ph.D. Thesis, Linkopings Universitet, Linköping, Sweden, 2011. [Google Scholar]
- Liu, L.L. Research on the Modeling and Control to a Quadrotor Helicopter Simulator. Master’s Thesis, Central South University, Changsha, China, 2009. [Google Scholar]
- Luo, Q.L. Application of RBF-ARX Model-Based Predictive Control on Quad-Rotor Helicopter Simulator. Master’s Thesis, Central South University, Changsha, China, 2012. [Google Scholar]
- Bergamasco, M.; Lovera, M. Identification of Linear Models for the Dynamics of a Hovering Quadrotor. IEEE Trans. Control. Syst. Technol.
**2014**, 22, 1696–1707. [Google Scholar] [CrossRef][Green Version] - Castillo, P.; Dzul, A. Aerodynamic Configurations and Dynamic Models; Wiley: Hoboken, NJ, USA, 2010; Chapter 1; pp. 1–20. [Google Scholar]
- Derafa, L.; Madani, T.; Benallegue, A. Dynamic Modelling and Experimental Identification of Four Rotors Helicopter Parameters. In Proceedings of the 2006 IEEE International Conference on Industrial Technology, Mumbai, India, 15–17 December 2006; pp. 1834–1839. [Google Scholar]
- Erginer, B.; Altug, E. Modeling and PD Control of a Quadrotor VTOL Vehicle. In Proceedings of the 2007 IEEE Intelligent Vehicles Symposium, Istanbul, Turkey, 13–15 June 2007; pp. 894–899. [Google Scholar]
- Mian, A.A.; Daobo, W. Modeling and Backstepping-based Nonlinear Control Strategy for a 6 DOF Quadrotor Helicopter. Chin. J. Aeronaut.
**2008**, 21, 261–268. [Google Scholar] [CrossRef][Green Version] - Abas, N.; Legowo, A.; Akmeliawati, R. Parameter identification of an autonomous quadrotor. In Proceedings of the 2011 4th International Conference on Mechatronics (ICOM), Kuala Lumpur, Malaysia, 17–19 May 2011. [Google Scholar]
- Ryll, M.; Bülthoff, H.H.; Giordano, P.R. Modeling and control of a quadrotor UAV with tilting propellers. In Proceedings of the 2012 IEEE International Conference on Robotics and Automation, St. Paul, MN, USA, 14–18 May 2012; pp. 4606–4613. [Google Scholar]
- Corke, P. Robotics, Vision and Control; Springer: Berlin/Heidelberg, Germany, 2013. [Google Scholar]
- Chovancová, A.; Fico, T.; Chovanec, Ľ.; Hubinsk, P. Mathematical Modelling and Parameter Identification of Quadrotor (a survey). Procedia Eng.
**2014**, 96, 172–181. [Google Scholar] [CrossRef][Green Version] - Dong, W.; Gu, G.Y.; Zhu, X.; Ding, H. Development of a Quadrotor Test Bed—Modelling, Parameter Identification, Controller Design and Trajectory Generation. Int. J. Adv. Robot. Syst.
**2015**, 12, 7. [Google Scholar] [CrossRef] - Zhang, X.; Li, X.; Wang, K.; Lu, Y. A Survey of Modelling and Identification of Quadrotor Robot. Abstr. Appl. Anal.
**2014**, 2014, 16. [Google Scholar] [CrossRef] - Ljung, L. Perspectives on system identification. Annu. Rev. Control
**2010**, 34, 1–12. [Google Scholar] [CrossRef][Green Version] - Pounds, P.; Mahony, R.; Corke, P. Modelling and control of a quad-rotor robot. In Proceedings of the Australasian Conference on Robotics and Automation 2006, Auckland, New Zealand, 6–8 December 2006. [Google Scholar]
- Zawiski, R.; Blachuta, M. Dynamics and Optimal Control of Quadrotor Platform. In Proceedings of the AIAA Guidance, Navigation, and Control Conference, Minneapolis, MN, USA, 13–16 August 2012. [Google Scholar]
- Chowdhary, G.; Jategaonkar, R. Aerodynamic parameter estimation from flight data applying extended and unscented Kalman filter. Aerosp. Sci. Technol.
**2010**, 14, 106–117. [Google Scholar] [CrossRef] - Lyu, P.; Bao, S.; Lai, J.; Liu, S.; Chen, Z. A dynamic model parameter identification method for quadrotors using flight data. Proc. Inst. Mech. Eng. Part G J. Aerosp. Eng.
**2019**, 233, 1990–2002. [Google Scholar] [CrossRef] - McLain, R.W.B.T.W. Small Unmanned Aircraft; Prinncenton University Press: Princeton, NJ, USA, 2012. [Google Scholar]
- Hermann, R.; Krener, A.J. Nonlinear controllability and observability. IEEE Trans. Autom. Control
**1977**, 22, 728–740. [Google Scholar] [CrossRef][Green Version] - Slotine, J.E.; Li, W. Applied Nonlinear Control; Prentice-Hall Englewood Cliffs: Upper Saddle River, NJ, USA, 1991. [Google Scholar]
- Munguia, R.; Grau, A. A Practical Method for Implementing an Attitude and Heading Reference System. Int. J. Adv. Robot. Syst.
**2014**, 11. [Google Scholar] [CrossRef] - Rankin, J. An error model for sensor simulation GPS and differential GPS. In Proceedings of the Position Location and Navigation Symposium, Las Vegas, NV, USA, 11–15 April 1994; pp. 260–266. [Google Scholar]
- Sanca, A.S.; Alsina, P.J.; Cerqueira, J.d.J.F. Dynamic Modelling of a Quadrotor Aerial Vehicle with Nonlinear Inputs. In Proceedings of the 2008 IEEE Latin American Robotic Symposium, Washington, DC, USA, 29–30 October 2008; pp. 143–148. [Google Scholar]

**Figure 1.**Notation for three common classes of multi-rotor UAV showing their rotors, thrust vectors, and direction of rotation.

**Figure 4.**Control reference signals (green). Actual quadrotor states (blue). Measured quadrotor states (red).

**Figure 5.**Estimates of the model parameters values $({J}_{x},{J}_{y},{J}_{z},b,k)$ obtained from each sensor configurations (

**a**–

**f**). Each row of plots shows the results of a different sensor configuration.

**Figure 6.**Parameter estimates obtained from different observability conditions. The left and right plots show respectively the results obtained in the Case 1 and Case 2 tests. The upper plots show the maneuvers of the aerial vehicle carried out to establish the different observability conditions. The lower plots show the parameter estimates.

**Figure 7.**Quadrotor in × configuration whose model parameters were estimated using the proposed method.

**Figure 9.**Estimates of the model parameters $({J}_{x},{J}_{y},{J}_{z},b,k)$ obtained from the flight log data of the quadrotor.

**Figure 10.**Linear approximation models obtained for the thrust coefficient b and the drag coefficient k using a custom-built test bench.

**Table 1.**Sets of measurements from which the full rank matrix condition ($rank\left(\mathcal{O}\right)=dim\left(\mathbf{x}\right)$) is accomplished.

Configuration | $\{{\mathit{p}}_{\mathit{n}},{\mathit{p}}_{\mathit{e}},{\mathit{p}}_{\mathit{d}}\}$ | $\{\mathit{u},\mathit{v},\mathit{w}\}$ | $\{\mathit{\varphi},\mathit{\theta},\mathit{\psi}\}$ | $\{\mathit{p},\mathit{q},\mathit{r}\}$ |
---|---|---|---|---|

(a) | ✓ | ✓ | ✓ | ✓ |

(b) | ✓ | ✗ | ✓ | ✓ |

**Table 2.**Sets of measurements from which the full rank matrix condition ($rank\left(\mathcal{O}\right)=dim\left(\mathbf{x}\right)$) is not accomplished, but from which the parameters $({J}_{x},{J}_{y},{J}_{z},b,k)$ can be estimated.

Configuration | $\{{\mathit{p}}_{\mathit{n}},{\mathit{p}}_{\mathit{e}}\}$ | $\left\{{\mathit{p}}_{\mathit{d}}\right\}$ | $\{\mathit{u},\mathit{v},\mathit{w}\}$ | $\{\mathit{\varphi},\mathit{\theta},\mathit{\psi}\}$ | $\{\mathit{p},\mathit{q},\mathit{r}\}$ |
---|---|---|---|---|---|

(c) | ✗ | ✗ | ✓ | ✓ | ✓ |

(d) | ✓ | ✓ | ✗ | ✗ | ✓ |

(e) | ✗ | ✗ | ✓ | ✗ | ✓ |

(f) | ✗ | ✓ | ✗ | ✗ | ✓ |

Parameter | Value | Units | Known |
---|---|---|---|

m | 0.65 | kg | ✓ |

d | 0.165 | m | ✓ |

${J}_{x}$ | 0.03 | kg·m${}^{2}$ | ✗ |

${J}_{y}$ | 0.025 | kg·m${}^{2}$ | ✗ |

${J}_{z}$ | 0.045 | kg·m${}^{2}$ | ✗ |

b | 3.50 | N/rad/s | ✗ |

k | 0.06 | N·m/rad/s | ✗ |

Parameter | ${\mathit{p}}_{\mathit{n}}$ | ${\mathit{p}}_{\mathit{e}}$ | ${\mathit{p}}_{\mathit{d}}$ | u | v | w | $\mathit{\varphi}$ | $\mathit{\theta}$ | $\mathit{\psi}$ | p | q | r | ${\mathit{J}}_{\mathit{x}}$ | ${\mathit{J}}_{\mathit{y}}$ | ${\mathit{J}}_{\mathit{z}}$ | b | k |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|

${P}_{ini}$ | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.001 | 0.001 | 0.001 | 0.01 | 0.01 |

Q | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.0001 | 0.0001 | 0.0001 | 0.001 | 0.0001 |

R | 0.01 | 0.01 | 0.01 | 0.0025 | 0.0025 | 0.0025 | 0.0025 | 0.0025 | 0.0025 | 0.0025 | 0.0025 | 0.0025 | - | - | - | - | - |

Configuration | b | ${\mathit{e}}_{\mathit{b}}$ | k | ${\mathit{e}}_{\mathit{k}}$ | ${\mathit{J}}_{\mathit{x}}$ | ${\mathit{e}}_{{\mathit{J}}_{\mathit{x}}}$ | ${\mathit{J}}_{\mathit{y}}$ | ${\mathit{e}}_{{\mathit{J}}_{\mathit{y}}}$ | ${\mathit{J}}_{\mathit{z}}$ | ${\mathit{e}}_{{\mathit{J}}_{\mathit{z}}}$ |
---|---|---|---|---|---|---|---|---|---|---|

(a) | 3.477 | 2.2 × ${10}^{-2}$ | 0.0589 | 1.0 × ${10}^{-3}$ | 0.0304 | 4.2 × ${10}^{-4}$ | 0.0254 | 4.1 × ${10}^{-4}$ | 0.0450 | 1.2 × ${10}^{-5}$ |

(b) | 3.501 | 1.6 × ${10}^{-3}$ | 0.0592 | 7.4 × ${10}^{-4}$ | 0.0306 | 1.0 × ${10}^{-2}$ | 0.0255 | 5.8 × ${10}^{-4}$ | 0.0452 | 2.8 × ${10}^{-4}$ |

(c) | 3.474 | 2.5 × ${10}^{-2}$ | 0.0589 | 1.0 × ${10}^{-3}$ | 0.0303 | 3.9 × ${10}^{-4}$ | 0.0254 | 4.0 × ${10}^{-4}$ | 0.0450 | 3.3 × ${10}^{-5}$ |

(d) | 3.516 | 1.6 × ${10}^{-2}$ | 0.0596 | 3.9 × ${10}^{-4}$ | 0.0307 | 7.4 × ${10}^{-4}$ | 0.0256 | 6.9 × ${10}^{-4}$ | 0.0455 | 5.5 × ${10}^{-4}$ |

(e) | 3.475 | 2.4 × ${10}^{-2}$ | 0.0590 | 9.3 × ${10}^{-4}$ | 0.0304 | 4.3 × ${10}^{-4}$ | 0.0254 | 4.3 × ${10}^{-4}$ | 0.0451 | 1.4 × ${10}^{-4}$ |

(f) | 3.509 | 4.0 × ${10}^{-2}$ | 0.0594 | 8.1 × ${10}^{-4}$ | 0.0306 | 6.9 × ${10}^{-4}$ | 0.0256 | 6.4 × ${10}^{-4}$ | 0.0454 | 6.1 × ${10}^{-4}$ |

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Munguía, R.; Urzua, S.; Grau, A.
EKF-Based Parameter Identification of Multi-Rotor Unmanned Aerial VehiclesModels. *Sensors* **2019**, *19*, 4174.
https://doi.org/10.3390/s19194174

**AMA Style**

Munguía R, Urzua S, Grau A.
EKF-Based Parameter Identification of Multi-Rotor Unmanned Aerial VehiclesModels. *Sensors*. 2019; 19(19):4174.
https://doi.org/10.3390/s19194174

**Chicago/Turabian Style**

Munguía, Rodrigo, Sarquis Urzua, and Antoni Grau.
2019. "EKF-Based Parameter Identification of Multi-Rotor Unmanned Aerial VehiclesModels" *Sensors* 19, no. 19: 4174.
https://doi.org/10.3390/s19194174