B(E)3M33MRS Multi-robot Aerial Systems / Multirobotické Letecké Systémy

The subject focus

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

  • multirotor UAV control and state estimation,
  • centralized robot formation control,
  • decentralized robot swarm control.

Evaluation

The final grade will be based on the ECTS grading scale, is composed of:

  • Final exam (maximum 40 points, minimum 20 points to pass the exam),
  • Points earned during the practical labs (60 points).

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.

Lectures: Monday, 09:15-10:45, KN-E112

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–

Labs: Wednesday

  • labs overseer: Tomáš Báča
  • labs tutors: Michal Werner, Martin Jiroušek
  • labs attendance: voluntary

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:

  • basic knowledge of operating within Linux terminal (moving within folders, executing scripts),
  • basic knowledge of C++ programming (being able to orient yourselves in an existing code skeleton),
  • basic knowledge of 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

Using a personal laptop is encouraged. The requirements for running the tasks are the following:

  • natively installed Linux (it does not matter which one),
  • at least 4 GB of RAM,
  • at least a 4-core CPU,
  • 5 GB of disk space.

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.

Troubleshooting

GUI Issues

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:

  1. Ensure You’re Using the Xorg Display Server
    • If you’re using the Wayland display server (the default in Ubuntu 24.04 LTS), switch to Xorg. You can do this at the login screen by selecting Xorg before logging in. This should resolve the issue in most cases.
  2. Use xhost to Grant Display Access
    • Run the following command to allow processes under your username (including Singularity) to access the display server:
      • xhost +si:localuser:$(whoami)
This method is less secure. It grants all processes under your username access to the display server, which could be exploited by malicious software. To minimize risk, remember to revoke this access once you’ve finished using Singularity by running:
xhost -si:localuser:$(whoami)
.Xauthority error

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 1
you can resolve it by creating the missing file with:
 touch ~/.Xauthority 
After running this command, the error should disappear and the script will work as expected.

Gazebo Simulation is too computationally intensive

You can turn off the Gazebo GUI. How to do that?

  • Open file <task_folder>/simulation/tmux/session.yaml and set GUI=false on line 4:
     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

Using the lab's computer

The lab's computers are available for in-person and remote use. Follow this link to learn how to connect to the lab remotely.

Labs: Wednesday, 11:00-12:30, 12:45-14:15, KN:E-230

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)

Lab Tasks

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

Final evaluation

The total amount of points is the summation of

  • The points from the semester (maximum 60 points)
  • The points from the exam (minimum 20 points to pass, maximum 40 points).
Points [0,50) [50,60) [60,70) [70,80) [80,90) [90,100]
Mark F E D C B A

Late submissions

Late submissions will be penalized by 2 points per each week of submission after the deadline.

Contacts

Lectures:

Labs:

courses/mrs/start.txt · Last modified: 2025/10/15 09:15 by wernemic