====== B(E)3M33MRS Multi-robot Aerial Systems / Multirobotické Letecké Systémy ====== * Links to [[https://cw.felk.cvut.cz/forum|discussions]], [[https://cw.felk.cvut.cz/brute/|BRUTE]] * [[https://cw.fel.cvut.cz/wiki/help/common/plagiarism_cheating|Plagiarism and cheating]] * [[https://fel.cvut.cz/cz/education/rozvrhy-ng/public/html/predmety/66/52/p6652206.html|schedule]] ===== 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. ===== 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, 25 (MS) | Autonomous aerial system, architectures, and taxonomies (sensors, actuators, applications; fixed wing, multirotor, VTOL - convertibles, ...) | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_01.pdf|slides]] | | 2 | Oct, 02 (TB) | Multirotor helicopter dynamics model and control | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_02.pdf|slides]], [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_02_notes.pdf|slides_with_notes]] | | 3 | Oct, 09 (TB) | Multirotor helicopter state estimation and localization | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_03.pdf|slides]], [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_03_notes.pdf|slides_with_notes]] | | 4 | Oct, 16 (RP) | Single aerial robot mapping and planning | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_04.pdf|slides]] | | 5 | Oct, 23 (MS) | Multi-robot architectures and taxonomies (centralized, decentralized, and distributed...). | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_05.pdf|slides]] | | 6 | Oct, 30 (RP) | Multi-robot planning, mapping, and exploration | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_06.pdf|slides]] | | 7 | Nov, 06 (MS) | Formation control (leader-follower, virtual structures, time-varying topology, connectivity maintenance, pursuit-evader, steady-state and bearing-based formations) | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_07.pdf|slides]] | | 8 | Nov, 13 (MS) | Behavior-based systems (swarm robotics, bio-inspired flocking algorithms) | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_08.pdf|slides]] | | 9 | Nov, 27 (MS) | Cooperative localization of team members (nearby robots) | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_09.pdf|slides]] | | 10 | Dec, 04 (MS) | Failure detection, recovery, and reconfiguration in aerial systems | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_11.pdf|slides]] | | 11 | Dec, 11 (TB) | Transportation and manipulation by aerial robots | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_12.pdf|slides]] | | 12 | Dec, 18 (RP) | Task assignment and collective decision-making | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_13.pdf|slides]] | | 13 | Jan, 08 (RP) | Learning for aerial robots - Learning to coordinate | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_14.pdf|slides]] | | 14 | --not-given-- | (!not examined!) Communication architectures and communication issues in reactive multi-robot systems | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/lectures/lecture_10.pdf|slides]] | ===== Labs: Wednesday, 12:45-14:15, KN-E230 ===== * labs leader: Tomáš Báča (tomas.baca@fel.cvut.cz) * labs attendance: compulsory 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. ==== Using the lab's computer ==== The lab's computers are available for in-person and **remote use**. Follow this [[courses:mrs:tutorials:start|link to learn how to connect to the lab remotely]]. ==== Labs: Wednesday, 12:45-14:15, 14:30-16:00, KN:E-230 ==== ^ Week ^ Date ^ Topic ^ Deadlines ^ Materials ^ | 1 | Sep, 27 | Introduction to task 01 (Control), preparing software environment | | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/tutorials/lab_01_slides.pdf|slides]], [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/tutorials/task_01_controller.tar.gz|task_01_controller.tar.gz]], [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/tutorials/task_01_controller.pdf|task_01_controller.pdf]] | | 2 | Oct, 04 | Feedback and feedforward UAV Control | | | | 3 | Oct, 11 | Linear Kalman Filter | | | | 4 | Oct, 18 | Work on task 01 | | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/tutorials/eigen-doc.zip|Eigen documentation]] | | 5 | Oct, 25 | Introduction to task 02 (Formation) | Task 01 (Oct 24, 8pm) | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/tutorials/task_02_formation.tar.gz|task_02_formation.tar.gz]], [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/tutorials/task_02_formation.pdf|task_02_formation.pdf]] | | 6 | Nov, 01 | Prioritized multi-robot planning | | | | 7 | Nov, 08 | Ranging multi-lateration | | | | 8 | Nov, 15 | Work on task 02 | | | | 9 | Nov, 22 | Introduction to task 03 (Swarm) | Task 02 (Nov 21, 8pm) | [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/tutorials/task_03_swarm.tar.gz|task_03_swarm.tar.gz]], [[https://cw.fel.cvut.cz/wiki/_media/courses/mrs/tutorials/task_03_swarm.pdf|task_03_swarm.pdf]] | | 10 | Nov, 29 | Multi-robot consensus | | | | 11 | Dec, 06 | Aerial Swarming | | | | 12 | Dec, 13 | Work on task 03 | | | | 13 | Dec, 20 | Work on task 03 | | | | 14 | Jan, 10 | 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: * [[http://mrs.felk.cvut.cz/people/martin-saska|Doc. Ing. Martin Saska, Ph.D.]], martin.saska@fel.cvut.cz (Guarantee) * [[http://mrs.felk.cvut.cz/people/tomas-baca|Ing. Tomáš Báča, Ph.D.]], tomas.baca@fel.cvut.cz * [[http://mrs.felk.cvut.cz/people/robert-penicka|Ing. Robert Pěnička, Ph.D.]], robert.penicka@fel.cvut.cz Labs: * [[http://mrs.felk.cvut.cz/people/tomas-baca|Ing. Tomáš Báča, Ph.D.]], tomas.baca@fel.cvut.cz, KN-E116 (Guarantee) * [[http://mrs.felk.cvut.cz/people/pavel-petracek|Ing. Pavel Petráček]], pavel.petracek@fel.cvut.cz, KN-E123