Robotics (SS21)

Lecturer: Jim Mainprice

TAs: Philipp Kratzer, Yoojin Oh, Janik Hager

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

Announcements

  • 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:
https://www.youtube.com/channel/UCVe0W0-tDpHaTuxLB8DmV2g
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.

Dates

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

Description

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.

Topics

  • 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

Prerequisites

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 python.org for basic python knowledge and the scipy quickstart for python-numpy (array/matrix operations). A C++ tutorial, for example, can be found on tutorialspoint.com/cplusplus.

Previous versions:

https://ipvs.informatik.uni-stuttgart.de/mlr/teaching/robotics-ws-19-20/