Robotics (WS 19/20)

Lecturer: Duy Nguyen-Tuong

TAs: Philipp Kratzer, Janik Hager, Yoojin Oh

TA Email: robotics-course-owner [at]

  • Lecture: Thursdays, 09:45-11:15 (V38.03)
  • Tutorials: Wednesdays, 14:00-15:30 (0.447) (first tutorial on 23.10.)
  • Tutorials: Thursday, 15:45-17:15 (0.124) (first tutorial on 24.10.)
  • Tutorials: Fridays, 11:30-13:00 (0.447) (first tutorial on 25.10.)

NO LECTURE ON 19.12.2019! NO EXERCISES ON 18./19./20.12.2019!

Written exam date: Thursday, 13.02.2020, from 11:00 to 13:00 in room V55.22

Please register with the mailing list. Important information regarding lectures, notes, homework, solutions, etc. is broadcast via the mailing list.

Schedule, slides & exercises
17.10.19IntroductionIntroductione01-geometry.pdf (23./24./25.10.)
24.10.19KinematicsKinematicse02-kinematics.pdf (06./07./08.11.)
31.10.19Kinematics cont.e03-kinematics2.pdf (13./14./15.11.)
07.11.19DynamicsDynamicse04-dynamics.pdf (20./12./22.11.)
14.11.19Dynamics cont.e05-dynamics2.pdf (27./28./29.11.)
21.11.19no lecture
28.11.19ControlControle06-control.pdf (04./05./06.12.)
05.12.19Control cont. e07-stability.pdf (11./12./13.12.)
12.12.19Path PlanningPath Planninge08-planning.pdf (08./09./10.01.2020)
19.12.19no lecture & tutorials
23.12.19 - 06.01.20(Christmas holidays)
09.01.20Mobile RoboticsMobile Robotics
Supplementary: Probabilities
e09-mobileRobotics.pdf (15./16./17.01.2020)
16.01.20Mobile Robotics cont.e10-kalman.pdf (22./23./24.01.2020)
23.01.20Advanced Topics - 1
30.01.20Advanced Topics - 2
06.02.20Recap / Exam Preparation


Robotics is an ultimate test of our progress in Artificial Intelligence, Machine Learning and Control Theory research. However, while these research fields consider general but idealized problem formulations, robotics has to deal with the specifics our concrete 3-dimensional physical world and eventually integrate methods and hardware in autonomous systems. Therefore robotics is more than an application of the above fields and requires specific knowledge of how to generate montion, physically interact with the environment and perceive it.


  • Kinematics & Dynamics orchestrate joint movements for desired movement in task spaces (Kinematic map, Jacobian, optimality principle of inverse kinematics, singularities, configuration/operational/null space, multiple simultaneous tasks, special task variables, trajectory interpolation, motion profiles; 1D point mass, damping \& oscillation, PID, general dynamic systems, Newton-Euler, joint space control, reference trajectory following, optimal operational space control)
  • Planning and optimization planning around obstacles, optimizing trajectories (Path finding vs. trajectory optimization, local vs. global, Dijkstra, Probabilistic Roadmaps, Rapidly Exploring Random Trees, differential constraints, metrics; trajectory optimization, general cost function, task variables, transition costs, gradient methods, 2nd order methods, Dynamic Programming)
  • Control Theory theory on designing optimal controllers (Topics in control theory, optimal control, HJB equation, infinite horizon case, Linear-Quadratic optimal control, Riccati equations (differential, algebraic, discrete-time), controllability, stability, eigenvalue analysis, Lyapunov function)
  • Mobile robots localize yourself; create maps; state estimation, Bayes filter, odometry, particle filter, Kalman filter, Bayes smoothing, SLAM, joint Bayes filter, EKF SLAM, particle SLAM, graph-based SLAM


As a prerequisite, student should have basic knowledge of linear algebra, probability theory and optimization.

Robotics-course code base

You can find our course repository on github.
The recommended operating system to run the code is Ubuntu 18.04. (Note: If you have issues installing it on a different OS, please install it in a virtual machine. We can not give support for all possible systems).

Exercises can be solved in C++ or Python.
If you want to refresh your programming skills you can check out for basic python knowledge and the scipy quickstart for python-numpy (array/matrix operations). A C++ tutorial, for example, can be found on

Previous versions:

Here is a collection of the slides from WS 16/17: 16-Robotics-script.pdf
Previous versions of this lecture can be found here.