Autonomous robotics – B(E)3M33ARO1

!!! Prerequisites !!!

It is assumed that students of this course have a working knowledge of the following concepts:

  • Mathematical analysis (B0B01MA2): gradient, Jacobian, Hessian, multidimensional Taylor polynomial
  • Optimization (B0B33OPT): Gauss-Newton method, Levenberg Marquardt method, full Newton method
  • Linear algebra (B0B01LAG): pseudo-inverse, SVD decomposition, least-squares method
  • Probability theory (B0B01PST): multivariate gaussian probability, Bayes theorem
  • Statistics (B0B01PST): maximum likelihood and maximum aposteriori estimate
  • Robotics (B3B33ROB): coordinate frames, Euclidean transformation and camera model.
  • Programming (B3B33ALP + B3B36PRG): python + linux

Exam (50 points)

  • ARO exam will take place May 30 (Thursday) at 12:00 in the lecture hall (KN:E-107).
  • Please vote for a suitable date here till the end of April (there two possible starting times 9:00 or 10:00).
  • It is the main exam slot that is meant to be the only one; however, in well-justified cases such as illness, we can provide some (not-easier) alternatives.
  • Exam is the written test only (no oral exam is expected); it is assumed to take 90 minutes at maximum.
  • Maximum number of points from the exam test is 50 points
  • Minimum number of required points for passing the exam is 10 points.
  • You should be seated sufficiently distant from your colleagues to avoid inadvertently cribbing LOL; therefore, one free space on both sides of each student is imperative for starting the test.
  • You can bring your own cheatsheet for ARO exam. It can contain arbitrary stuff (equations, images, etc. ), but the length is limited to one A4 page. In addition to that, if any formula (such as EKF, BF, PF steps) is necessary to solve the task, all required formulas will always be provided in the test assignment. We want rather to test the level of comprehension than memory.


  • The exam will consist of several numerical examples and multiple-choice questions in which you have to demonstrate the ability to employ learned knowledge on given practical problems.
  • Some of the questions are meant to be hard to distinguish between students who achieved a deep understanding of presented theoretical concepts and those who did not - i.e., not everyone is assumed to solve everything.
  • We have provided some solved training examples from perception (it is meant to be first solved by the student and then compared with the provided solution) tests_and_solved_examples.pdf
  • Exemplar tests from the previous years are available here (the structure of the perception part has changed; therefore, corresponding part is not relevant and you should rather assume questions similar to solved examples):
    exam_aro_2022.pdf, exam_aro_2022b.pdf, questions_aro_2022.pdf
  • Besides that, your colleagues are working on lecture notes; once available, I will share them with the rest of the materials (recording, slides) in the lecture schedule table.
  • Please make sure that you are able to use the following theoretical concepts for solving a given assignment :
  1. Formulate a given SLAM problem as a maximum likelihood / maximum aposteriori estimate of unknown parameters (typically subproblem of SE(2), such as only rotation or only translation) and draw the underlying factor graph.
  2. Reformulate the task as a non-linear least squares problem and compute its residuals and its jacobian (distinguish linear and non-linear least squares problems, know the dimensionality of used variables, etc.).
  3. Estimate pose from known correspondences (i.e. solve absolute orientation problem and have working knowledge of its derivation in order to solve any given subproblem in SE(2) ).
  4. Estimate pose from unknown correspondences (i.e. use ICP, RANSAC on simple problems).
  5. SLAM with complete states (i.e. w/o loops). Ability to use Bayes filter, Kalman filter, Extended Kalman filter, Particle filter
  6. Know/explain/draw/describe-by-pseudocode all presented planners (all combinatorial planners, sampling-based planners, RRT, PRM and their subsequent variants including RRT*/PRM*).
  7. Learn the pros/cons of all methods, types of environments/robots where they are applicable, and their time complexities. You should be familiar with basic data structures/routines (e.g. sampling, nearest-neighbour search, collision detection).
  8. The exam will not cover topics “Early randomized planners” and using physical simulation in planning (all slides from “Local planner: system simulator” till the end of the last lecture).</note>

Good luck, KZ+VV

Bonus task: Student's lecture notes (max 5 points) We are searching for volunteers (1-2 students per lecture) willing to create the student's lecture notes. The format could be anything (pdf compiled from latex or a web page that could also include animations). Of course, we will provide all materials (animations, images, latex sources for formulas, etc …). I believe it would benefit both you and your classmates: (i) you will get eternal fame, learn the lecture properly, get feedback for your written notes, and you could possibly get rich (ii) your classmates will see the lecture from a student's point of view.

In order to compensate the effort spent on creating the notes, we offer an additional 5 points bonus. If you want to become the author of lecture notes, put your name(s) to the corresponding (not yet booked) lecture here.

The preferred format of lecture notes: Markdown file in school gitlab.

Bonus task: R.U.R. challenge (max 3 points)

Boost your creativity and come up with an original sci-fi postapocalyptic universe with:

  • 1) Unique law of physics (e.g. variable gravity even negative, speed of light = 60km/h)
  • 2) Unique sensor with non-linear measurement function (e.g. z = sin(x) )
  • 3) Unique state estimation problem (describe + draw corresponding factorgraph)
  • 4) Implement a two-state example in pytorch
  • 5) Optionally, you can use the image diffusion model to create additional art materials
  • 6) Upload to BRUTE (rur task)

Bonus task: Verify Localization on Robots (max 5 points)

See Homework 4 assignment

Deadline is before the start of 9th labs.

Course overview

The Autonomous robotics course will explain the principles needed to develop algorithms for mobile robots. In particular, the main focus is on the perception-action cycle:

  • Perception: Simultaneous Localization and Mapping (SLAM) that estimates a metrical map (e.g. pointcloud map, occupancy grid) of the world and the robot's location from online measurements (camera or lidar, accelerometers, gyroscopes, GPS, radio beacons) and localization of markers in the map.
  • Action: Planning the trajectory that optimizes a user-specified exploration criterion given the estimated map and the robot's location and performing the plan in the real world.

The course consists of lectures and labs. Lectures take place in KN:E-107 every Monday at 11:00. Labs take place in KN:E-132, the time slot corresponds to the code of your course.

  • Lectures: Some lecture are accompanied by a PDF worksheet with numerical problems to be solved by students (we do not check if students do so, however the individual solution of provided problems is highly recommended in order to pass the exam test).
  • Labs: The first 10 weeks will be focused on regular labs, the rest is devoted to solving the semestral work. Some of the regular labs contain homework to be solved before the start of the following labs.
  • Semestral work is scheduled for the second half of the term. Students will start to solve the semestral work in the Gazebo simulator and then submit the work on a real robot.

Points, credit requirements and final grade

Maximum number of points is 100. Points are structured as follows:

  • homework (30 total),
  • semestral work (10 simulation + 10 practical),
  • exam test (50).
  • extra bonus points for challenges announced during the semester (~15).

Minimum credit requirements:

  • Upload own solution of all homework (which satisfy minimum requirements) before the beginning of the labs in the thirteenth week.
  • Upload own solution of the semestral work for simulation evaluation.
  • Demonstration of the semestral work on a real robot.
  • Active participation on all regular labs. Active participation means that students are able to demonstrate progress on the lab assignment and answer questions of the lab tutor.

The final grade will be determined by the total number of points according to the following table

No of points Exam assessment
0-49 F
50- 59 E
60-69 D
70-79 C
80-89 B
90-100 A
  1. Dellaert, Kaess, Factor Graphs for Robot Perception, 2017, [pdf]
  2. Thrun et al. Probabilistic robotics, MIT press 2017,[pdf]
  3. Steven M. LaValle. Planning Algorithms, Cambridge University Press, 2006. (free online,


We want students to work individually, therefore any plagiarism in codes, homework or reports will be mercilessly punished ;-). We strongly urge each student to read what is/isnot a plagiarism - we believe that many students will be surprised. In any case, it is not permitted to use the work of your colleagues or predecessors. Each student is responsible for ensuring that his work does not get into the hands of other colleagues. In the case of multiple submission of the same work, all involved students will be penalized, including those who gave the work available to others

courses/aro/start.txt · Last modified: 2024/05/29 12:15 by zimmerk