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.
Lecturers: Martin Saska (MS), Tomáš Báča (TB), Robert Pěnička (RP)
Week | Date | Topic | Materials |
---|---|---|---|
1 | Sep, 22 (MS) | Autonomous aerial system, architectures, and taxonomies (sensors, actuators, applications; fixed wing, multirotor, VTOL - convertibles, …) | lecture_01 |
2 | Sep, 29 (TB) | Multirotor helicopter dynamics model and control | lecture_02 lecture_02_notes |
3 | Oct, 06 (TB) | Multirotor helicopter state estimation and localization | lecture_03.pdf lecture_03_notes.pdf |
4 | Oct, 13 (RP) | Single-robot aerial robot mapping and planning | lecture_04 |
5 | Oct, 20 (RP) | Multi-robot planning, mapping, and exploration | |
6 | Oct, 27 (MS) | Multi-robot architectures and taxonomies (centralized, decentralized, and distributed…) | |
7 | Nov, 03 (MS) | Formation control | |
8 | Nov, 10 (MS) | Behavior-based systems (swarm robotics, bio-inspired flocking algorithms) | |
Nov, 17 | National holiday | ||
9 | Nov, 24 (MS) | Cooperative localization of team members (nearby robots) | |
10 | Dec, 01 (MS) | Communication architectures and communication issues in reactive multi-robot systems | |
11 | Dec, 08 (TB) | Transportation and manipulation by aerial robots | |
12 | Dec, 15 (RP) | Task assignment and collective decision-making | |
13 | Jan, 05 (RP) | Learning for aerial robots - Learning to coordinate | |
14 | –not-given– |
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)
If you encounter the following error when running task_01_controller/simulation/compile.sh (or any other script):
realpath: /$HOME/.Xauthority: No such file or directory ./singularity.sh: "SOURCE[$i/2]=$( realpath -e "${MOUNTS[$i]}" )" command failed with exit code 1you can resolve it by creating the missing file with:
touch ~/.XauthorityAfter running this command, the error should disappear and the script will work as expected.
You can turn off the Gazebo GUI. How to do that?
pre_window: export GUI=false; export realtime_factor=1.0; export uav_name=uav1; export run_type=simulation; export uav_type=t650; export world_name=simulation; export sensors=""; export odometry_type="gps"; export debug=false
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, 24 | Introduction, preparing software environment | slides,task_01_controller.tar.gz,task_01_controller.pdf | |
2 | Oct, 01 | Introduction to task 01 (Control), Feedback and feedforward UAV Control | Eigen documentation | |
3 | Oct, 08 | Linear Kalman Filter | slides | |
4 | Oct, 15 | Work on task 01 | ||
5 | Oct, 22 | Introduction to task 02 (Formation) | Task 01 (Oct 22, 8pm) | |
6 | Oct, 29 | Prioritized multi-robot planning | ||
7 | Nov, 05 | Ranging multi-lateration | ||
8 | Nov, 12 | Work on task 02 | ||
9 | Nov, 19 | Introduction to task 03 (Swarm) | Task 02 (Nov 19, 8pm) | |
10 | Nov, 26 | Multi-robot consensus | ||
11 | Dec, 03 | Aerial Swarming | ||
12 | Dec, 10 | ORCA, Consultations + work on task 03 | ||
13 | Dec, 17 | Task assignment (Hungarian algorithm), Work on task 03 | online solver | |
14 | Jan, 07 | 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: