M17 ‚Äď PARIS‚ÄźSACLAY 11/04/2016 ‚Äď 15/04/2016

Nonlinear observers: applications to aerial robotic systems

Robert Mahony
Department of Engineering
The Australian National University
      Jochen Trumpf
     Department of Engineering
     The Australian National University

     Tarek Hamel
     Laboratoire d’Informatique de Signaux
     et Système de Sophia-Antipolis (I3S),
     CNRS-UNSA, France

Abstract  of the course

The functionality of any robotic system depends critically on its ability to estimate its dynamic state. For aerial robotic systems, with limited sensor suites, highly dynamic motion, non-linear state space, and limited computational capacity, the state observer performance is even more important. A key technology enabler underlying the explosion of small scale commercial aerial robotic systems seen in the last five years was the development of high quality, simple, robust, attitude observers. This course provides an introduction to the theory underlying design of observers for kinematic systems with symmetry that was fundamental in this development. The approach taken is based on matrix calculus and Lie theoretic foundations, and students will be given an introduction to these topics from an engineering perspective. The course is based around an extensive suite of case studies drawn from aerial robotic applications including; attitude estimation, velocity aided attitude estimation, pose estimation, and homography estimation. Students will come out of the course with a strong understanding of how to derive and implement nonlinear observers for real world robotic systems.


1) Perspectives on observer design for physical systems.
2) Matrix calculus and matrix ODEs.
3) Lyapunov observer design for systems with matrix state.
4) Dealing with practical issues, velocity bias, asynchronousmeasurements and delays.
5) Lie theory foundations, Kinematic systems with symmetry.
6) Second-order-optimal minimum-energy filters

Practical work in this course uses MATLAB (or equivalent scripting language) extensively. Students are required to have a working system on their own laptop for the course. The real-time implementation exercise will be undertaken in C++ in a virtual machine that will be provided. A SIMULINK environment will be available for students without C++ programming experience for this component of the course.