### Lecturers: Duy Nguyen-Tuong

### TAs: Philipp Kratzer, Janik Hager, Yoojin Oh

**TA Email: robotics-course-owner [at] mailman.informatik.uni-stuttgart.de**

- 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

Date | Topics | Slides | Exercises |
---|---|---|---|

18.10.18 | Introduction | 01 - Introduction | e01-geometry.pdf (24./25./26.10.) |

25.10.18 | Kinematics | 02 - Kinematics | e02-kinematics.pdf (07./08./09.11.) |

01.11.18 | (public holiday) | exercises cancelled | |

08.11.18 | Kinematics cont. | e03-kinematics2.pdf (14./15./16.11.) | |

15.11.18 | Dynamics | 03 - Dynamics | e04-dynamics.pdf (21./22./23.11.) |

22.11.18 | Dynamics cont. | e05-dynamics2.pdf (28./29./30.11.) | |

29.11.18 | Control | 04 - Control Theory | e06-control.pdf (5./6./7.12.) |

06.12.18 | Control cont. | e07-stability.pdf (12./13./14.12.) | |

13.12.18 | Path Planning | 05 - Path Planning | e08-planning.pdf (09./10./11.01.) |

21.12.18 | (no lecture / no exercise) | ||

22.12.18 - 06.01.19 | (Christmas holidays) | ||

10.01.19 | Mobile Robotics | 06-MobileRobotics Suppl. - Probability | e09-mobileRobotics.pdf (23./24./25.01.) |

17.01.19 | Mobile Robotics cont. | exercises cancelled | |

24.01.19 | Advanced Topics - 1 | Imitation Learning | e10-kalman.pdf (30./31.01.+01.02.) |

31.01.19 | Advanced Topics - 2 | Reinforcement Learning | |

07.02.19 | Recap / Exam Preparation | Recap | no exercises |

### 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 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 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:

Here is a collection of the slides from WS 16/17: 11-Robotics-script.pdf

Previous versions of this lecture can be found here.