Skip to main content

Robot State Estimation

  • Chapter
  • First Online:
  • 628 Accesses

Part of the book series: Springer Tracts in Advanced Robotics ((STAR,volume 125))

Abstract

Micro aerial vehicles have gained significant attention in the last decade both in academia and industry, mostly due to their potential use in a wide range of applications such as exploration [46], inspection [52], mapping, interaction with the environment [7, 44], search and rescue [27], and to their significant mechanical simplicity and ease of control. Moreover, their ability to operate in confined spaces, hover in space and even perch, together with a decrease in cost make them very attractive with tremendous potential as UAM flying platforms.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   99.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   129.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   129.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    https://gitlab.iri.upc.edu/asantamaria/QuadSim.

  2. 2.

    https://gitlab.iri.upc.edu/asantamaria/QuadOdom.

  3. 3.

    www.asctec.de/en/uav-uas-drones-rpas-roav/asctec-pelican.

  4. 4.

    www.optitrack.com.

  5. 5.

    www.asctec.de/en/uav-uas-drones-rpas-roav/asctec-hummingbird.

  6. 6.

    www.qualisys.com.

References

  1. Bar-Shalom, Yaakov, X. Rong Li, and Thiagalingam Kirubarajan. 2004. Estimation with Applications to Tracking and Navigation: Theory Algorithms and Software. Wiley.

    Google Scholar 

  2. Blösch, Michael, Sammy Omari, Péter Fankhauser, Hannes Sommer, Christian Gehring, Jemin Hwangbo, Mark A. Hoepflinger, Marcus Hutter, and Roland Siegwart. 2014. Fusion of optical flow and inertial measurements for robust egomotion estimation. In IEEE/RSJ International Conference on Intelligent Robots and Systems, 3102–3107. Chicago, USA, September 2014.

    Google Scholar 

  3. Blösch, Michael, Stephan Weiss, Davide Scaramuzza, and Roland Siegwart. Vision based MAV navigation in unknown and unstructured environments. In IEEE International Conference on Robotics and Automation, 21–28. Anchorage, USA, May 2010.

    Google Scholar 

  4. Bullo, Francesco, and Andrew D. Lewis. 2004. Geometric Control of Mechanical Systems. Texts in Applied Mathematics, vol. 49. Springer.

    Google Scholar 

  5. Engel, Jakob, Jürgen Sturm, and Daniel Cremers. 2012. Camera-based navigation of a low-cost quadrocopter. In IEEE/RSJ International Conference on Intelligent Robots and Systems, 2815–2821. Vilamoura, Portugal, October 2012.

    Google Scholar 

  6. Fliess, Michael, Jean Lévine, Philippe Martin, and Pierre Rouchon. 1995. Flatness and defect of non-linear systems: introductory theory and examples. International Journal of Control 61 (6): 1327–1361.

    Article  MathSciNet  Google Scholar 

  7. Forte, Francesco, Roberto Naldi, Alessandro Macchelli, and Lorenzo Marconi. 2012. Impedance control of an aerial manipulator. In American Control Conference, 3839–3844. Montréal, Canada, June 2012.

    Google Scholar 

  8. Fraundorfer, Friedrich, Lionel Heng, Dominik Honegger, Gim Hee Lee, Lorenz Meier, Petri Tanskanen, and Marc Pollefeys. 2012. Vision-based autonomous mapping and exploration using a quadrotor MAV. In IEEE/RSJ International Conference on Intelligent Robots and Systems, 4557–4564. Vilamoura, Portugal, October 2012.

    Google Scholar 

  9. Hesch, Joel A., Dimitrios G. Kottas, Sean L. Bowman, and Stergios I. Roumeliotis. 2013. Camera-IMU-based localization: Observability analysis and consistency improvement. The International Journal of Robotics Research 33 (1): 182–201.

    Article  Google Scholar 

  10. Honegger, Dominik, Lorenz Meier, Petri Tanskanen, and Marc Pollefeys. 2013. An open source and open hardware embedded metric optical flow cmos camera for indoor and outdoor applications. In IEEE International Conference on Robotics and Automation, 1736–1741. Karlsruhe, Germany, May 2013.

    Google Scholar 

  11. Jones, Eagle S., and Stefano Soatto. 2011. Visual-inertial navigation, mapping and localization: A scalable real-time causal approach. The International Journal of Robotics Research 30 (4): 407–430.

    Article  Google Scholar 

  12. Kelly, Jonathan, and Gaurav S. Sukhatme. 2007. An experimental study of aerial stereo visual odometry. IFAC Proceedings Volumes 40 (15): 197–202.

    Article  Google Scholar 

  13. Kelly, Jonathan, and Gaurav S. Sukhatme. 2011. Visual-inertial sensor fusion: Localization, mapping and sensor-to-sensor self-calibration. The International Journal of Robotics Research 30 (1): 56–79.

    Article  Google Scholar 

  14. Konolige, Kurt, Motilal Agrawal, and Joan Sola. 2011. Large-Scale Visual Odometry for Rough Terrain. Robotics Research: The 13th International Symposium ISRR, vol. 66, 201–212. Berlin Heidelberg: Springer.

    Google Scholar 

  15. Lee, Taeyoung, Melvin Leok, and N. Harris McClamroch. 2013. Nonlinear robust tracking control of a quadrotor UAV on SE (3). Asian Journal of Control, 15 (2): 391–408.

    Google Scholar 

  16. Li, Mingyang, and Anastasios I. Mourikis. 2012. Improving the accuracy of EKF-based visual-inertial odometry. In IEEE International Conference on Robotics and Automation, 828–835. St. Paul, USA, May 2012.

    Google Scholar 

  17. Li, Mingyang, and Anastasios I. Mourikis. 2013. High-precision, consistent EKF-based visual-inertial odometry. The International Journal of Robotics Research 32 (6): 690–711.

    Article  Google Scholar 

  18. Lim, Hyon, Sudipta N. Sinha, Michael F. Cohen, and Matthew Uyttendaele. 2012. Real-time image-based 6-dof localization in large-scale environments. In IEEE Conference on Computer Vision and Pattern Recognition, 1043–1050. Providence, USA, June 2012.

    Google Scholar 

  19. Liu, Hui, Houshang Darabi, Pat Banerjee, and Jing Liu. 2007. Survey of wireless indoor positioning techniques and systems. IEEE Transactions on Systems, Man, and Cybernetics 37 (6): 1067–1080.

    Article  Google Scholar 

  20. Loianno, G., Y. Mulgaonkar, C. Brunner, D. Ahuja, A. Ramanandan, M. Chari, S. Diaz, and V. Kumar. 2015. Smartphones power flying robots. In IEEE/RSJ International Conference on Intelligent Robots and Systems, 1256–1263. Hamburg, Germany, September 2015.

    Google Scholar 

  21. Loianno, Giuseppe, Justin Thomas, and Vijay Kumar. 2015. Cooperative localization and mapping of MAVs using RGB-D sensors. In IEEE International Conference on Robotics and Automation, 4021–4028. Seattle, USA, May 2015.

    Google Scholar 

  22. Lupton, Todd, and Salah Sukkarieh. 2012. Visual-inertial-aided navigation for high-dynamic motion in built environments without initial conditions. IEEE Transactions on Robotics 28 (1): 61–76.

    Article  Google Scholar 

  23. Madyastha, Venkatesh, Vishal Ravindra, Srinath Mallikarjunan, and Anup Goyal. 2011. Extended Kalman filter vs. error state Kalman filter for aircraft attitude estimation. AIAA Guidance, 6615–6638. Navigation, and Control Conference Oregon: Portland, August 2011.

    Google Scholar 

  24. Martinelli, Agostino. 2012. Vision and IMU data fusion: Closed-form solutions for attitude, speed, absolute scale, and bias determination. IEEE Transactions on Robotics 28 (1): 44–60.

    Article  Google Scholar 

  25. Martinelli, Alessio. 2013. Visual-inertial structure from motion: observability and resolvability. In IEEE/RSJ International Conference on Intelligent Robots and Systems, 4235–4242. Tokyo, Japan, November 2013.

    Google Scholar 

  26. Mellinger, Daniel, and Vijay Kumar. 2011. Minimum snap trajectory generation and control for quadrotors. In IEEE International Conference on Robotics and Automation, 2520–2525. Shanghai, China, May 2011.

    Google Scholar 

  27. Michael, Nathan, Daniel Mellinger, Quentin Lindsey, and Vijay Kumar. 2010. The GRASP multiple micro-UAV testbed. IEEE Robotics & Automation Magazine 17 (3): 56–65.

    Article  Google Scholar 

  28. Michael, Nathan, Shaojie Shen, Kartik Mohta, Yash Mulgaonkar, Vijay Kumar, Keiji Nagatani, Yoshito Okada, Seiga Kiribayashi, Kazuki Otake, and Kazuya Yoshida, Ohno, Kazunori, Takeuchi, Eijiro, and Tadokoro, Satoshi. 2012. Collaborative mapping of an earthquake-damaged building via ground and aerial robots. Journal of Field Robotics 29 (5): 832–841.

    Google Scholar 

  29. Mourikis, Anastasios I., and Stergios I. Roumeliotis. 2007. A multi-state constraint Kalman filter for vision-aided inertial navigation. In IEEE International Conference on Robotics and Automation, 3565–3572. Roma, Italy, April 2007.

    Google Scholar 

  30. Nikolic, Janosch, Joern Rehder, Michael Burri, Pascal Gohl, Stefan Leutenegger, Paul T. Furgale, and Roland Siegwart. A synchronized visual-inertial sensor system with FPGA pre-processing for accurate real-time SLAM. In IEEE International Robotics and Automation, 431–437. Hong Kong, China, May 2014.

    Google Scholar 

  31. Omari, S., and G. Ducard. 2013. Metric visual-inertial navigation system using single optical flow feature. In European Control Conference, 1310–1316. Aalborg, Denmark, July 2013.

    Google Scholar 

  32. Ravindra, Vishal C., Venkatesh K. Madyastha, and Anup Goyal. 2012. The equivalence between two well-known variants of the Kalman filter. In International Conference on Advances in Control and Optimization of Dynamic Systems. Bangalore, India, February 2012.

    Google Scholar 

  33. Roumeliotis, Stergios I., Andrew E. Johnson, and James F. Montgomery. 2002. Augmenting inertial navigation with image-based motion estimation. In IEEE International Conference on Robotics and Automation, vol. 4, 4326–4333. Washington, USA, May 2002.

    Google Scholar 

  34. Roussillon, Cyril, Aurélien Gonzalez, Joan Solá, Jean-Marie Codol, Nicolas Mansard, Simon Lacroix, and Michel Devy. 2011. RT-SLAM: a Generic and Real-Time Visual SLAM Implementation. In Computer Vision Systems. Lecture Notes in Computer Science, vol. 6962, 31–40. Springer.

    Google Scholar 

  35. Ruffo, M., M. Di Castro, L. Molinari, R. Losito, A. Masi, J. Kovermann, and Luis Rodrigues. 2014. New infrared time of-flight measurement sensor for robotic platforms. In 20th IMEKO TC4 International Symposium and Workshop on ADC Modelling and Testing. Benevento, Italy, September 2014.

    Google Scholar 

  36. Santamaria-Navarro, Angel, and Juan Andrade-Cetto. 2013. Uncalibrated image-based visual servoing. In IEEE International Conference on Robotics and Automation, 5247–5252. Karlsruhe, Germany, May 2013.

    Google Scholar 

  37. Santamaria-Navarro, Angel, Giuseppe Loianno, Joan Solá Vijay Kumar, and Juan Andrade-Cetto. 2017. Autonomous navigation of micro aerial vehicles: State estimation using fast and low-cost sensors. Submitted to Autonomous Robots.

    Google Scholar 

  38. Santamaria-Navarro, Angel, Joan Sola, and Juan Andrade-Cetto. 2015. High-frequency MAV state estimation using low-cost inertial and optical flow measurement units. In IEEE/RSJ International Conference on Intelligent Robots and Systems, 1864–1871. Hamburg, Germany, October 2015.

    Google Scholar 

  39. Shen, Shaojie, Nathan Michael, and Vijay Kumar. 2012. Autonomous indoor 3d exploration with a micro-aerial vehicle. In IEEE International Conference on Robotics and Automation, 9–15. St. Paul, USA, May 2012.

    Google Scholar 

  40. Shen, Shaojie, Nathan Michael, and Vijay Kumar. 2015. Tightly-coupled monocular visual-inertial fusion for autonomous flight of rotorcraft MAVs. In IEEE International Conference on Robotics and Automation, 5303–5310. Seattle, USA, May 2015.

    Google Scholar 

  41. Shen, Shaojie, Yash Mulgaonkar, Nathan Michael, and Vijay Kumar. 2013. Vision-based state estimation and trajectory control towards high-speed flight with a quadrotor. In Robotics: Science and Systems, vol. 1. Berlin, Germany, June 2013.

    Google Scholar 

  42. Solá, Joan. 2012. Quaternion kinematics for the error-state KF. Laboratoire d’Analyse et d’Architecture des Systemes-Centre national de la recherche scientifique (LAAS-CNRS) technical report.

    Google Scholar 

  43. Solá, Joan, Teresa Vidal-Calleja, Javier Civera, and José María Martínez Montiel. 2012. Impact of landmark parametrization on monocular EKF-SLAM with points and lines. International Journal of Computer Vision, 97 (3): 339–368.

    Google Scholar 

  44. Thomas, Julian, Giuseppe Loianno, Koushil Sreenath, and Vipin Kumar. 2014. Toward image based visual servoing for aerial grasping and perching. In IEEE International Conference on Robotics and Automation, 2113–2118. Hong Kong, China, June 2014.

    Google Scholar 

  45. Thompson, R. 1985. A note on restricted maximum likelihood estimation with an alternative outlier model. Journal of the Royal Statistical Society. Series B (Methodological) 47 (1): 53–55.

    Google Scholar 

  46. Tomić, Teodor, Korbinian Schmid, Philipp Lutz, Andreas Dömel, Michael Kassecker, Elmar Mair, Iris Lynne Grixa, Felix Ruess, Michael Suppa, and Darius Burschka. 2012. Toward a fully autonomous UAV: Research platform for indoor and outdoor urban search and rescue. IEEE Robotics & Automation Magazine, 19 (3): 46–56.

    Google Scholar 

  47. Trawny, Nikolas, and Stergios I. Roumeliotis. 2005. Indirect Kalman filter for 3d attitude estimation. University of Minnesota, Department of Computer Science and Engineering, Technical Report, 2:2005.

    Google Scholar 

  48. Valenti, Roberto G., Ivan Dryanovski, Carlos Jaramillo, Daniel Perea Strom, and Jizhong Xiao. 2014. Autonomous quadrotor flight using onboard RGB-D visual odometry. In IEEE International Conference on Robotics and Automation, 5233–5238. Hong Kong, China, June 2014.

    Google Scholar 

  49. Weiss, Stephan, Markus W. Achtelik, Simon Lynen, Margarita Chli, and Roland Siegwart. 2012. Real-time onboard visual-inertial state estimation and self-calibration of mavs in unknown environments. In IEEE International Conference on Robotics and Automation, 957–964. Minneapolis, USA, May 2012.

    Google Scholar 

  50. Weiss, Stephan, Davide Scaramuzza, and Roland Siegwart. 2011. Monocular-SLAM based navigation for autonomous micro helicopters in GPS-denied environments. Journal of Field Robotics 28 (6): 854–874.

    Article  Google Scholar 

  51. Wendel, Andreas, Arnold Irschara, and Horst Bischof. Natural landmark-based monocular localization for MAVs. In IEEE International Conference on Robotics and Automation, 5792–5799. Shanghai, China, May 2011.

    Google Scholar 

  52. özaslan, Tolga, Shaojie Shen, Yash Mulgaonkar, Nathan Michael, and Vijay Kumar. Inspection of penstocks and featureless tunnel-like environments using micro UAVs. In Field and Service Robotics. 123–136. Springer.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Angel Santamaria-Navarro .

Appendices

Appendix 2.A Error State Kinematics (Continous Time)

To obtain the error-state kinematic equations we have to write each state equation in (2.28) as its composition of nominal- and error-state, solve for the error-state and simplify all second-order infinitesimals. For the terms \(\delta {\dot{\varvec{p}}}\), \(\delta {\dot{\varvec{a}}}_{b}\), \(\delta {\dot{\varvec{\omega }}}_{b}\) this operation is trivial. In contrast, for the terms involving rotation elements (\(\delta {\dot{\varvec{v}}}\) and \(\delta {\dot{\varvec{q}}}\)) require some non-trivial manipulations which are detailed in the following depending the orientation error definition (GE or LE).

2.1.1 2.A.1 Globally-Defined Orientation Error (GE)

2.1.1.1 2.A.1.1 GE: Linear Velocity Error

Considering the true acceleration as large- and small-signal accelerations in body frame \({\varvec{a}}_{Bt} = {\varvec{a}}_{B} + \delta {\varvec{a}}_{B}\) with

$$\begin{aligned}&{\varvec{a}}_{B} \triangleq {\varvec{a}}_s-{\varvec{a}}_{b} \,, \end{aligned}$$
(2.93a)
$$\begin{aligned}&\delta {\varvec{a}}_{B} \triangleq -\delta {\varvec{a}}_{b}-{\varvec{a}}_n \,, \end{aligned}$$
(2.93b)

and substituting in (2.28b) we have

$$\begin{aligned} \dot{\varvec{v}}_t = {\varvec{R}}_t\,({\varvec{a}}_{B} + \delta {\varvec{a}}_{B}) + {\varvec{g}}\,. \end{aligned}$$
(2.94)

Defining \({\varvec{v}}_{t}\) as the composition of the nominal- plus the error-state, and \({\varvec{R}}_t\) with its small signal approximation (i.e., \({\varvec{R}}_t\,=\,({\varvec{I}}+ [\delta {\varvec{\theta }}]_\times ){\varvec{R}}+ {\varvec{O}}(||\delta {\varvec{\theta }}||^2)\)) ignoring the infinitesimal term \({\varvec{O}}(||\delta {\varvec{\theta }}||^2)\), we end up with

$$\begin{aligned} \dot{\varvec{v}}+ \delta {\dot{\varvec{v}}} = ({\varvec{I}}+ [\delta {\varvec{\theta }}]_\times ){\varvec{R}}\,({\varvec{a}}_B + \delta {\varvec{a}}_B) + {\varvec{g}}\,. \end{aligned}$$
(2.95)

Substituting the nominal velocity \(\dot{\varvec{v}}\) by (2.30b), then using (2.93a) and finally rearranging terms, we have

$$\begin{aligned} \delta {\dot{\varvec{v}}} = {\varvec{R}}\delta {\varvec{a}}_B + [\delta {\varvec{\theta }}]_\times {\varvec{R}}({\varvec{a}}_B + \delta {\varvec{a}}_B)\,. \end{aligned}$$
(2.96)

Reorganizing some cross-products (with \([{\varvec{a}}]_\times {\varvec{b}}= - [{\varvec{b}}]_\times {\varvec{a}}\)), we get

$$\begin{aligned} \delta {\dot{\varvec{v}}} = {\varvec{R}}\delta {\varvec{a}}_B - [{\varvec{R}}{\varvec{a}}_B]_\times \delta {\varvec{\theta }}\,, \end{aligned}$$
(2.97)

which recalling (2.93a) and (2.93b), and rearranging leads to

$$\begin{aligned} \delta {\dot{\varvec{v}}} = -[{\varvec{R}}({\varvec{a}}_s - {\varvec{a}}_b)]_\times \delta {\varvec{\theta }}- {\varvec{R}}\delta {\varvec{a}}_b - {\varvec{R}}{\varvec{a}}_n\,. \end{aligned}$$
(2.98)

Assuming accelerometers noise as white, uncorrelated and isotropic, we obtain the dynamics of the linear velocity error

$$\begin{aligned} \delta {\dot{\varvec{v}}} = -[{\varvec{R}}({\varvec{a}}_s - {\varvec{a}}_b)]_\times \delta {\varvec{\theta }}- {\varvec{R}}\delta {\varvec{a}}_b - {\varvec{a}}_n\,. \end{aligned}$$
(2.99)

2.1.1.2 2.A.1.2 GE: Orientation Error

With the true quaternion \({\varvec{q}}_t\) as a composition of the nominal- and error-state rotations, and its derivation from (2.10), we have

$$\begin{aligned} \dot{\varvec{q}}_t&= \dot{(\delta {\varvec{q}}\otimes {\varvec{q}})} \end{aligned}$$
(2.100a)
$$\begin{aligned}&= \delta \dot{{\varvec{q}}}\otimes {\varvec{q}}+ {\delta {\varvec{q}}}\otimes \dot{\varvec{q}}\end{aligned}$$
(2.100b)
$$\begin{aligned}&= \delta \dot{{\varvec{q}}}\otimes {\varvec{q}}+ \frac{1}{2}\delta {\varvec{q}}\otimes {\varvec{q}}\otimes {\varvec{\omega }}\,. \end{aligned}$$
(2.100c)

Similarly, we can define

$$\begin{aligned} \dot{\varvec{q}}_t&= \frac{1}{2}{\varvec{q}}_t\otimes {\varvec{\omega }}_t \end{aligned}$$
(2.101a)
$$\begin{aligned}&= \frac{1}{2}{\delta {\varvec{q}}}\otimes {\varvec{q}}\otimes {\varvec{\omega }}_t \,. \end{aligned}$$
(2.101b)

Matching (2.100c) with (2.101b), and having \({\varvec{\omega }}_t = {\varvec{\omega }}+ \delta {\varvec{\omega }}\), this reduces to

$$\begin{aligned} \delta \dot{{\varvec{q}}}\otimes {\varvec{q}}= \frac{1}{2}{\delta {\varvec{q}}}\otimes {\varvec{q}}\otimes \delta {\varvec{\omega }}\,. \end{aligned}$$
(2.102)

Right-multiplying left and right terms by \({\varvec{q}}^*\), and recalling that \({\varvec{q}}\otimes \delta {\varvec{\omega }}\otimes {\varvec{q}}^* \equiv {\varvec{R}}\delta {\varvec{\omega }}\), we can further develop as follows

$$\begin{aligned} \delta \dot{{\varvec{q}}}&= \frac{1}{2}{\delta {\varvec{q}}}\otimes {\varvec{q}}\otimes \delta {\varvec{\omega }}\otimes {\varvec{q}}^* \end{aligned}$$
(2.103a)
$$\begin{aligned}&= \frac{1}{2}{\delta {\varvec{q}}}\otimes ({\varvec{R}}\delta {\varvec{\omega }}) \end{aligned}$$
(2.103b)
$$\begin{aligned}&= \frac{1}{2}{\delta {\varvec{q}}}\otimes \delta {\varvec{\omega }}_G\,, \end{aligned}$$
(2.103c)

with \(\delta {\varvec{\omega }}_G \equiv {\varvec{R}}\delta {\varvec{\omega }}\) the small-signal angular rate expressed in the global frame. Then,

$$\begin{aligned} 2\delta \dot{\varvec{q}}&= \delta {\varvec{q}}\otimes \delta {\varvec{\omega }}_G\end{aligned}$$
(2.104a)
$$\begin{aligned}&= {\varvec{\varOmega }}(\delta {\varvec{\omega }}_G)\delta {\varvec{q}}\end{aligned}$$
(2.104b)
$$\begin{aligned}&= \begin{bmatrix} 0&-\delta {\varvec{\omega }}_G^\top \\ \delta {\varvec{\omega }}_G&-[\delta {\varvec{\omega }}_G]_\times \end{bmatrix} \begin{bmatrix} 1 \\ \delta {\varvec{\theta }}/2 \end{bmatrix}\,. \end{aligned}$$
(2.104c)

Discarding the first row, which is not very useful, we can extract

$$\begin{aligned} \delta \dot{{\varvec{\theta }}} = \delta {\varvec{\omega }}_G - \frac{1}{2}[\delta {\varvec{\omega }}_G]_\times \delta {\varvec{\theta }}\,, \end{aligned}$$
(2.105)

where also removing the second order infinitesimal terms

$$\begin{aligned} \delta \dot{{\varvec{\theta }}} = \delta {\varvec{\omega }}= {\varvec{R}}\delta {\varvec{\omega }}\,, \end{aligned}$$
(2.106)

where recalling (2.119b) we obtain the linearized dynamics of the global angular error,

$$\begin{aligned} \delta \dot{{\varvec{\theta }}} = -{\varvec{R}}\delta {\varvec{\omega }}_b -{\varvec{R}}\delta {\varvec{\omega }}_n\,. \end{aligned}$$
(2.107)

2.1.2 2.A.2 Locally-Defined Orientation Error (LE)

2.1.2.1 2.A.2.1 LE: Linear Velocity Error

Starting from (2.94) and defining \({\varvec{v}}_{t}\) as the composition of the nominal- plus the error-state, and \({\varvec{R}}_t\) with its small signal approximation (i.e., \({\varvec{R}}_t\,=\,{\varvec{R}}\,({\varvec{I}}+ [\delta {\varvec{\theta }}]_\times ) + {\varvec{O}}(||\delta {\varvec{\theta }}||^2)\)) ignoring the infinitesimal term \({\varvec{O}}(||\delta {\varvec{\theta }}||^2)\), we end up with

$$\begin{aligned} \dot{\varvec{v}}+ \delta {\dot{\varvec{v}}} = {\varvec{R}}\,({\varvec{I}}+ [\delta {\varvec{\theta }}]_\times )\,({\varvec{a}}_B + \delta {\varvec{a}}_B) + {\varvec{g}}\,. \end{aligned}$$
(2.108)

Substituting the nominal velocity \(\dot{\varvec{v}}\) by (2.30b), then using (2.93a) and finally rearranging terms, we have

$$\begin{aligned} \delta {\dot{\varvec{v}}} = {\varvec{R}}[\delta {\varvec{\theta }}]_\times {\varvec{a}}_B + {\varvec{R}}\delta {\varvec{a}}_B + {\varvec{R}}[\delta {\varvec{\theta }}]_\times \,\delta {\varvec{a}}_B\,. \end{aligned}$$
(2.109)

Reorganizing some cross-products (with \([{\varvec{a}}]_\times {\varvec{b}}= - [{\varvec{b}}]_\times {\varvec{a}}\)), we get

$$\begin{aligned} \delta {\dot{\varvec{v}}} = {\varvec{R}}(\delta {\varvec{a}}_B - [{\varvec{a}}_B]_\times \delta {\varvec{\theta }})\,, \end{aligned}$$
(2.110)

which recalling (2.93a) and (2.93b), and rearranging leads to

$$\begin{aligned} \delta {\dot{\varvec{v}}} = -{\varvec{R}}[{\varvec{a}}_s - {\varvec{a}}_b]_\times \delta {\varvec{\theta }}- {\varvec{R}}\delta {\varvec{a}}_b - {\varvec{R}}{\varvec{a}}_n\,. \end{aligned}$$
(2.111)

Assuming accelerometers noise as white, uncorrelated and isotropic, we obtain the dynamics of the linear velocity error

$$\begin{aligned} \delta {\dot{\varvec{v}}} = -{\varvec{R}}[{\varvec{a}}_s - {\varvec{a}}_b]_\times \delta {\varvec{\theta }}- {\varvec{R}}\delta {\varvec{a}}_b - {\varvec{a}}_n\,. \end{aligned}$$
(2.112)

2.1.2.2 2.A.2.2 LE: Orientation Error

With the true quaternion \({\varvec{q}}_t\) as a composition of the nominal- and error-state rotations, and the quaternion derivative from (2.10), we have

$$\begin{aligned} \dot{\varvec{q}}_t&= \dot{({\varvec{q}}\otimes \delta {\varvec{q}})} \end{aligned}$$
(2.113a)
$$\begin{aligned}&= \dot{\varvec{q}}\otimes \delta {\varvec{q}}+ {\varvec{q}}\otimes \delta \dot{{\varvec{q}}} \end{aligned}$$
(2.113b)
$$\begin{aligned}&= \frac{1}{2}{\varvec{q}}\otimes {\varvec{\omega }}\otimes \delta {\varvec{q}}+ {\varvec{q}}\otimes \delta \dot{{\varvec{q}}} \,. \end{aligned}$$
(2.113c)

Similarly, we can define

$$\begin{aligned} \dot{\varvec{q}}_t&= \frac{1}{2}{\varvec{q}}_t\otimes {\varvec{\omega }}_t \end{aligned}$$
(2.114a)
$$\begin{aligned}&= \frac{1}{2}{\varvec{q}}\otimes {\delta {\varvec{q}}}\otimes {\varvec{\omega }}_t \,. \end{aligned}$$
(2.114b)

Matching (2.113c) with (2.114b), simplifying the leading \({\varvec{q}}\) and isolating \(\delta \dot{\varvec{q}}\), we get

$$\begin{aligned} 2\delta \dot{\varvec{q}}= \delta {\varvec{q}}\otimes {\varvec{\omega }}_t - {\varvec{\omega }}\otimes \delta {\varvec{q}}\,, \end{aligned}$$
(2.115)

where substituting (2.4) and (2.7c), we end up with

$$\begin{aligned} 2\delta \dot{\varvec{q}}&= ^-{\varvec{Q}}({\varvec{\omega }}_t)\delta {\varvec{q}}- ^+{\varvec{Q}}({\varvec{\omega }})\delta {\varvec{q}}\end{aligned}$$
(2.116a)
$$\begin{aligned}&= \left( ^-{\varvec{Q}}({\varvec{\omega }}_t) - ^+{\varvec{Q}}({\varvec{\omega }})\right) \begin{bmatrix} 1 \\ \delta {\varvec{\theta }}/2 \end{bmatrix} \end{aligned}$$
(2.116b)
$$\begin{aligned}&= \begin{bmatrix} 0&-({\varvec{\omega }}_t-{\varvec{\omega }})^\top \\ ({\varvec{\omega }}_t-{\varvec{\omega }})&-[{\varvec{\omega }}_t+{\varvec{\omega }}]_\times \end{bmatrix} \begin{bmatrix} 1 \\ \delta {\varvec{\theta }}/2 \end{bmatrix} \end{aligned}$$
(2.116c)
$$\begin{aligned}&= \begin{bmatrix} 0&-\delta {\varvec{\omega }}^\top \\ \delta {\varvec{\omega }}&-[2{\varvec{\omega }}+\delta {\varvec{\omega }}]_\times \end{bmatrix} \begin{bmatrix} 1 \\ \delta {\varvec{\theta }}/2 \end{bmatrix}\,. \end{aligned}$$
(2.116d)

Simplifying again with (2.7c) the derivative term, we obtain

$$\begin{aligned} \begin{bmatrix} 0 \\ \delta \dot{{\varvec{\theta }}} \end{bmatrix} = \begin{bmatrix} 0&-\delta {\varvec{\omega }}^\top \\ \delta {\varvec{\omega }}&-[2{\varvec{\omega }}+\delta {\varvec{\omega }}]_\times \end{bmatrix} \begin{bmatrix} 1 \\ \delta {\varvec{\theta }}/2 \end{bmatrix}\,. \end{aligned}$$
(2.117)

Discarding the first row, which is not very useful, we can extract

$$\begin{aligned} \delta \dot{{\varvec{\theta }}} = \delta {\varvec{\omega }}- [{\varvec{\omega }}]_\times \delta {\varvec{\theta }}- \frac{1}{2}[\delta {\varvec{\omega }}]_\times \delta {\varvec{\theta }}\,, \end{aligned}$$
(2.118)

where also removing the second order infinitesimal terms and considering the true angular velocities as a composition of its large- and small-signal elements \({\varvec{\omega }}_t = {\varvec{\omega }}+ \delta {\varvec{\omega }}\) with

$$\begin{aligned}&{\varvec{\omega }}\triangleq {\varvec{\omega }}_s-{\varvec{\omega }}_{b} \,, \end{aligned}$$
(2.119a)
$$\begin{aligned}&\delta {\varvec{\omega }}\triangleq -\delta {\varvec{\omega }}_{b}-{\varvec{\omega }}_n \,, \end{aligned}$$
(2.119b)

we obtain the dynamics of the orientation error

$$\begin{aligned} \delta \dot{{\varvec{\theta }}} = -[{\varvec{\omega }}_s - {\varvec{\omega }}_b]_\times \delta {\varvec{\theta }}- \delta {\varvec{\omega }}_b - \delta {\varvec{\omega }}_n\,. \end{aligned}$$
(2.120)

Appendix 2.B Rotation Matrix Partial Derivatives

In order to differentiate the rotation of a vector, , it is convenient to use the matrix form \({\varvec{R}}({\varvec{q}})\). Herein, we compute an example of the derivatives of the function

(2.121)

with \({\varvec{n}}\) the measurement noise assumed to be Gaussian with zero mean and covariance matrix \({\varvec{n}}\). The corresponding derivatives are detailed in the following sections depending on whether they are computed with respect to the quaternion value (used in EKF) or with the orientation error with minimal representation (used in ESKF).

2.1.1 2.B.1 Partial Derivative w.r.t. Quaternion

To compute \(\partial h({\varvec{x}})/\partial {\varvec{q}}\) (the subscripts t is avoided here for clarity) is more convenient to express the derivatives w.r.t. each component i of the quaternion \({\varvec{q}}\) such as

(2.122)

With the definition of (2.9) we get

(2.123a)
(2.123b)
(2.123c)
(2.123d)

2.1.2 2.B.2 Partial Derivative w.r.t. Rotation Error Using Minimal Representation

We now want to compute \(\partial h({\varvec{x}}_t)/\partial \delta {\varvec{\theta }}\), which will depend on the orientation error representation (GE or LE) as explained in the following.

2.1.2.1 2.B.2.1 Globally-Defined Orientation Error (GE)

If we define the orientation error globally (i.e.  \({\varvec{q}}_t = \delta {\varvec{q}}\otimes {\varvec{q}}\)) and with minimal representation \(\delta {\varvec{\theta }}\) as shown in (2.7c), we have

(2.124)

Taking advantage of the rotation matrix approximation \({\varvec{R}}({\delta {\varvec{\theta }}})^\top \approx ({\varvec{I}}-[\delta {\varvec{\theta }}]_\times )\), we end up with

(2.125)

Thus, the derivative with respect to the orientation error is

(2.126)

2.1.2.2 2.B.2.2 Locally-Defined Orientation Error (LE)

Similarly to the previous derivation, if the orientation error is defined locally (i.e. \({\varvec{q}}_t = {\varvec{q}}\otimes \delta {\varvec{q}}\)) and with minimal representation, we have

(2.127)

Using the rotation matrix approximation \({\varvec{R}}({\delta {\varvec{\theta }}})^\top \approx ({\varvec{I}}-[\delta {\varvec{\theta }}]_\times )\), we end up with

(2.128)

So, the derivative with respect to the orientation error is

(2.129)

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Santamaria-Navarro, A., Solà, J., Andrade-Cetto, J. (2019). Robot State Estimation. In: Visual Guidance of Unmanned Aerial Manipulators. Springer Tracts in Advanced Robotics, vol 125. Springer, Cham. https://doi.org/10.1007/978-3-319-96580-2_2

Download citation

Publish with us

Policies and ethics