Course Level: Master Students (Typically in their 1st or 2nd semester)
State estimation in autonomous UAVs, or flying robots, is a critical functionality. It allows a UAV to accurately localize itself and estimate the positions of a tracked target (from the UAV).
Without robust state estimation, any of the other functionalities like planning, decision making and even low-level control can be jeopardized. The goal of this course is to provide students with
a deep understanding of Bayesian estimation techniques and how they can be applied for UAV state estimation and target tracking. Students should be able to appreciate parametric ad non-parametric
forms of estimation and their pros and cons. Finally, they should be able to implement various Bayesian filters for online applications, both in simulation and in a real UAV.
Lecture Contents
Bayesian filtering: Introduction to recursive state estimation, concept of Markov assumption and basic Bayes filter.
Sensor models:
* Probabilistic sensor models: e.g., laser range finders, RGB cameras.
* Modeling raw sensor measurements and feature-based approaches.
* Overview of camera projection models e.g., perspective, equidistant, etc.
* Barometric pressure based altitude sensors.
* Differential pressure airspeed sensors
Motion and Sensor models:
* Probabilistic approaches to robot motion modeling
* Velocity motion model
* Fixed wing UAV with dead reckoning
Parametric filters: (Extended) Kalman filter and Information filter
* Basics of KF, EKF, derivation, assumptions and properties.
* Canonical representations, their advantages, Information filter (IF) and extended versions. Overview of related state-of-the-art techniques.
Non-Parametric filters: Histogram filter and Particle filter and variants
* Why non-parametric filters? Advantages (multiple modalities, nonlinearities) and Disadvantages (curse of dimensionality). Discretization and Histogram filtering.
* Particle filters (PFs): concepts and properties. Discussion of state-of-the-art PF-based methods.
Practical Contents
[Topic 1] Introduction to to ROS, Gazebo and Python
[Topic 2] Intro to ‘how to use our UAV environment’ and code a node — Sensors.
[Topic 3] State estimation and control -- Code ROS nodes for UAV localization using on-board IMU and simulated GPS
[Topic 4] Visual Tracking -- Code ROS node to track the state of a moving target from a UAV.