Autonomous Navigation for Flying Robots
About this courseSkip About this course
In recent years, flying robots such as miniature helicopters or quadrotors have received a large gain in popularity. Potential applications range from aerial filming over remote visual inspection of industrial sites to automatic 3D reconstruction of buildings. Navigating a quadrotor manually requires a skilled pilot and constant concentration. Therefore, there is a strong scientific interest to develop solutions that enable quadrotors to fly autonomously and without constant human supervision. This is a challenging research problem because the payload of a quadrotor is uttermost constrained and so both the quality of the onboard sensors and the available computing power is strongly limited.
In this course, we will introduce the basic concepts for autonomous navigation for quadrotors. The following topics will be covered:
- 3D geometry,
- probabilistic state estimation,
- visual odometry, SLAM, 3D mapping,
- linear control.
In particular, you will learn how to infer the position of the quadrotor from its sensor readings and how to navigate it along a trajectory.
The course consists of a series of weekly lecture videos that we be interleaved by interactive quizzes and hands-on programming tasks. For the flight experiments, we provide a browser-based quadrotor simulator which requires the students to write small code snippets in Python.
This course is intended for undergraduate and graduate students in computer science, electrical engineering or mechanical engineering. This course has been offered by TUM for the first time in summer term 2014 on EdX with more than 20.000 registered students of which 1400 passed examination. The MOOC is based on the previous TUM lecture “Visual Navigation for Flying Robots” which received the TUM TeachInf best lecture award in 2012 and 2013.
Do I need to buy a textbook?
No, all required materials will be provided within the courseware. However, if you are interested, we recommend the following additional materials:
- This course is based on the TUM lecture Visual Navigation for Flying Robots. The course website contains lecture videos (from last year), additional exercises and the full syllabus: http://vision.in.tum.de/teaching/ss2013/visnav2013
- Probabilistic Robotics. Sebastian Thrun, Wolfram Burgard and Dieter Fox. MIT Press, 2005.
- Computer Vision: Algorithms and Applications. Richard Szeliski. Springer, 2010.
Do I need to build/own a quadrotor?
No, we provide a web-based quadrotor simulator that will allow you to test your solutions in simulation. However, we took special care that the code you will be writing will be compatible with a real Parrot Ardrone quadrotor. So if you happen to have a Parrot Ardrone quadrotor, we encourage you to try out your solutions for real.
At a glance
- Institution: TUMx
- Subject: Computer Science
- Level: Advanced
Proficient in linear algebra and 3D geometry. Basic python programming skills.
- Language: English
- Video Transcript: English
- Associated skills: Algorithms, Writing, Electrical Engineering, Geometry, Odometry, 3D Reconstruction, Research, Mechanical Engineering, SLAM Algorithms (Simultaneous Localization And Mapping), Computer Science, Code Snippets
What you'll learnSkip What you'll learn
After successful participation of this module, students will be able to
- Understand the flight principles of quadrotors and their application potential
- Specify the pose of objects in 3D space and to perform calculations between them (e.g., compute the relative motion)
- Explain the principles of Bayesian state estimation
- Implement and apply an extended Kalman filter (EKF), and to select appropriate parameters for it
- Implement and apply a PID controller for state control, and to fine tune its parameters
- Understand and explain the principles of visual motion estimation and 3D mapping