Robotics (WS 18/19)

Lecturers: 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 24.10.)
  • Tutorials: Thursday, 11:30-13:00 (0.457) (first tutorial on 25.10)
  • Tutorials: Fridays, 11:30-13:00 (0.124) (first tutorial on 26.10)

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

Written exam date: Wednesday, 13.02.2019, from 11:00 to 13:00 in room V57.03

Schedule, slides & exercises
18.10.18Introduction01 - Introductione01-geometry.pdf (24./25./26.10.)
25.10.18Kinematics02 - Kinematicse02-kinematics.pdf (07./08./09.11.)
01.11.18(public holiday)exercises cancelled
08.11.18Kinematics cont.e03-kinematics2.pdf (14./15./16.11.)
15.11.18Dynamics03 - Dynamicse04-dynamics.pdf (21./22./23.11.)
22.11.18Dynamics cont.e05-dynamics2.pdf (28./29./30.11.)
29.11.18Control04 - Control Theorye06-control.pdf (5./6./7.12.)
06.12.18Control cont.e07-stability.pdf (12./13./14.12.)
13.12.18Path Planning05 - Path Planninge08-planning.pdf (09./10./11.01.)
21.12.18(no lecture / no exercise)
22.12.18 -
(Christmas holidays)
10.01.19Mobile Robotics06-MobileRobotics
Suppl. - Probability
e09-mobileRobotics.pdf (23./24./25.01.)
17.01.19Mobile Robotics cont.exercises cancelled
24.01.19Advanced Topics - 1Imitation Learninge10-kalman.pdf (30./31.01.+01.02.)
31.01.19Advanced Topics - 2Reinforcement Learning
07.02.19Recap / Exam PreparationRecapno exercises


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 16.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: 11-Robotics-script.pdf
Previous versions of this lecture can be found here.