The subject aims to provide an overview of the current knowledge in the multi-robotics field, specifically using aerial vehicles. The lectures will briefly introduce the common denominator of today's aerial research: multirotor helicopters. Furthermore, the lecture will span sensors, robot mapping, planning, centralized and decentralized multi-robot group control, and communication.
In the labs, we focus on providing practical experience by implementing common approaches in the field. The students will obtain hands-on experience with
The final grade will be based on the ECTS grading scale, is composed of:
The subject is lab-oriented. Therefore, there are no midterm tests during the semester.
You need to complete all lab assignments (meeting the minimum requirements for each) to receive a 'zápočet' and be eligible to attend the exam.
Exam topics can be found here: Exam_Topics_24/25
Lecturers: Martin Saska (MS), Tomáš Báča (TB), Robert Pěnička (RP)
| Week | Date | Topic | Materials |
|---|---|---|---|
| 1 | Sep, 23 (MS) | Autonomous aerial system, architectures, and taxonomies (sensors, actuators, applications; fixed wing, multirotor, VTOL - convertibles, …) | lecture_01 |
| 2 | Sep, 30 (TB) | Multirotor helicopter dynamics model and control | lecture_02 lecture_02_notes |
| 3 | Oct, 07 (TB) | Multirotor helicopter state estimation and localization | lecture_03 lecture_03_notes |
| 4 | Oct, 14 (RP) | Single aerial robot mapping and planning | lecture_04.pdf |
| 5 | Oct, 21 (MS) | Multi-robot architectures and taxonomies (centralized, decentralized, and distributed…) | lecture_05.pdf |
| 6 | Nov, 04 (MS) | Behavior-based systems (swarm robotics, bio-inspired flocking algorithms) | lecture_06.pdf |
| 7 | Nov, 11 (TB) | Formation control (leader-follower, virtual structures, time-varying topology, connectivity maintenance, pursuit-evader, steady-state and bearing-based formations) | lecture_07.pdf |
| 8 | Nov, 18 (TB) | Transportation and manipulation by aerial robots | lecture_08.pdf |
| 9 | Nov, 25 (MS) | Cooperative localization of team members (nearby robots) | lecture_09.pdf |
| 10 | Dec, 02 (RP) | Multi-robot planning, mapping, and exploration | lecture_10.pdf |
| 11 | Dec, 09 (MS) | Communication architectures and communication issues in reactive multi-robot systems | lecture_11.pdf |
| 12 | Dec, 16 (RP) | Task assignment and collective decision-making | lecture_12.pdf |
| 13 | Jan, 06 (RP) | Learning for aerial robots - Learning to coordinate | lecture_13.pdf |
| 14 | –not-given– | (!not examined!) Failure detection, recovery, and reconfiguration in aerial systems |
During the labs, students will focus on the practical use and implementation of control and estimation algorithms for mobile robots and their groups. The class will utilize a dedicated software container system to provide students with development and simulation environments. We strive to shield students as much as possible from unnecessary technical overhead. The prerequisites for working on the lab tasks are the following:
C++ programming (being able to orient yourselves in an existing code skeleton),
git (to be able to backup up and version your code).
All the lab work will be conducted by working on a standalone C++ program, using libraries limited to the standard libraries and the Eigen algebraic library.
Using a personal laptop is encouraged. The requirements for running the tasks are the following:
However, the development and simulation environment will be available on the computers in the lab for those who don't have the option to run Linux.
If the GUI of the simulator does not appear, the issue is likely related to the display server. You can resolve this in two ways:
xhost +si:localuser:$(whoami)
xhost -si:localuser:$(whoami)
The lab's computers are available for in-person and remote use. Follow this link to learn how to connect to the lab remotely.
| Week | Date | Topic | Deadlines | Materials |
|---|---|---|---|---|
| 1 | Sep, 25 | Introduction to task 01 (Control), preparing software environment | slides, task_01_controller.tar.gz, task_01_controller.pdf | |
| 2 | Oct, 02 | Feedback and feedforward UAV Control | Eigen documentation | |
| 3 | Oct, 09 | Linear Kalman Filter | slides | |
| 4 | Oct, 16 | Work on task 01 | ||
| 5 | Oct, 23 | Introduction to task 02 (Formation) | Task 01 (Oct 22, 8pm) | task_02_formation.tar.gz, task_02_formation.pdf |
| 6 | Oct, 30 | Prioritized multi-robot planning | ||
| 7 | Nov, 06 | Ranging multi-lateration | ||
| 8 | Nov, 13 | Work on task 02 | ||
| 9 | Nov, 20 | Introduction to task 03 (Swarm) | Task 02 (Nov 19, 8pm) | task_03_swarm.tar.gz, task_03_swarm.pdf |
| 10 | Nov, 27 | Multi-robot consensus | ||
| 11 | Dec, 04 | Aerial Swarming | ||
| 12 | Dec, 11 | ORCA, Consultations + work on task 03 | ||
| 13 | Dec, 18 | Task assignment (Hungarian algorithm), Work on task 03 | online solver | |
| 14 | Jan, 08 | Recap, Work on task 03 | Task 03 (Jan 12, 8pm) |
Students will work individually on three lab assignments. The assignments will be evaluated automatically using the BRUTE system. The final point counts will be confirmed manually.
Each task will earn students a base score when the minimum requirements are met. Some tasks will earn additional points based on the solution's performance.
| Task | Base points | Bonus points |
|---|---|---|
| 1 | 10 | 0 |
| 2 | 10 | 15 |
| 3 | 10 | 15 |
The total amount of points is the summation of
| Points | [0,50) | [50,60) | [60,70) | [70,80) | [80,90) | [90,100] |
|---|---|---|---|---|---|---|
| Mark | F | E | D | C | B | A |
Late submissions will be penalized by 2 points per each week of submission after the deadline.
Lectures:
Labs: