Robotics (SS21)

Lecturer: Jim Mainprice

TAs: Philipp Kratzer, Yoojin Oh, Janik Hager

All material of this course is available via ilias: Course on ilias


  • No lecture recording on July 07. Instead we will have the lecture recording on July 08, at 11:30.
  • First lecture: April 21 (Introduction)
  • First tutorial: April 29 (Introduction)

Live Lecture

The lecture will be held using a LIVE STREAM online on the normal lecture slots on the following youtube channel:
There will be a possibility for questions through comments on the live stream. For later access, the videos from the live stream will be uploaded to ilias. The tutorials will be held using Webex, the link and the password is available in ilias.


  • Lectures on Wednesdays 14:00
  • Tutorials on Thursdays 14:00


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: