This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

Autonomous robotics – B(E)3M33ARO1

!!! Prerequisites !!!

It is assumed that students of this course have a working knowledge of

  • 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
  • Programming (B3B33ALP + B3B36PRG): python + linux

Exam (Jun 1, 2023, at 9:00 in KN:E-107)

  • ARO exam will take place on Jun 1, 2023, at 9:00 in KN:E-107 (the lecture hall)
  • You should be seated sufficiently distant from your colleagues to avoid inadvertently cribbing LOL; therefore, one free space on both sides is imperative for starting the test.
  • 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).
  • Maximum number of points from the exam test is 45; it is assumed to take 90 minutes at maximum.
  • 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 in order to distinguish students who achieved a deep understanding of presented theoretical concepts from the rest - i.e. not everyone is assumed to solve everything.
  • Please make sure that you are able to use the following theoretical concepts for solving a given assignment :
  1. Formulate a given localization/mapping task as a maximum likelihood / maximum aposteriori estimate of unknown parameters (typically subproblem of SE(2), such as only rotation or only translation).
  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. Draw the underlying factor graph
  4. 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) ).
  5. Estimate pose from unknown correspondences (i.e. use ICP, RANSAC on simple problems).
  6. Localization with complete states (i.e. w/o loops). Ability to use Bayes filter, Kalman filter, Extended Kalman filter
  7. Ability to work with a pinhole camera model.
  8. Know/explain/draw/describe-by-pseudocode all presented planners (all combinatorial planners, sampling-based planners, RRT, PRM and their subsequent variants including RRT*/PRM*).
  9. 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).
  10. 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

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 8 weeks will be focused on regular labs, the second half is devoted to solving the semestral work. Most 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. Students will have opportunity to demonstrate their solution on the real robot for bonus points. The consultation of semestral work will be provided during the consultation labs in the second half of the semester. In case of any problems which need to be solved immediately, please contact Frantisek Nekovar.

Points, credit requirements and final grade

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

  • homework (35 total),
  • semestral work (10 simulation + 10 practical),
  • exam test (45).

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 (it should explore at least 50% of the map when deployed on real robots)
  • 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. Thrun et al. Probabilistic robotics, MIT press 2017,[pdf]
  2. Hartley, Zisserman Multipleview Geometry, 2004, https://www.robots.ox.ac.uk/~vgg/hzbook
  3. Steven M. LaValle. Planning Algorithms, Cambridge University Press, 2006. (free online, http://planning.cs.uiuc.edu/)


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: 2023/06/15 13:35 by zimmerk