// 1. Include Header

Faculty of Engineering > Department of Computer Science >

Winter Term 13/14

Human-Oriented Robotics

The course will introduce basic and advanced concepts and methods in robotics, machine learning, artificial intelligence and human-robot interaction. While the methods are of general interest for students interested in advanced robotics, we will also discuss techniques that consider the "human in the loop" – a growing field of activity in robotics with new exciting applications. The challenge is to develop key technologies that enable robots to better live, work and interact with humans. In addition to their theoretical treatment, the methods will be exemplified with programming exercises. The course outline is as follows:

  • Introduction
  • Basics
    • Matlab/Octave introduction
    • Probability refresher, common distributions
    • Probabilistic reasoning, Bayes networks, Markov chains
  • Perception of Humans
    • Supervised learning: naive Bayes, logistic regression, SVM, AdaBoost, k-NN, cross-validation
    • Unsupervised learning: hierarchical clustering, k-means, GMM and EM
    • Temporal Reasoning: Hidden Markov Models, LDS and Kalman filtering: representation and inference
    • Tracking and data association: NN, GNN, PDAF, JPDAF, MHT
  • Planning among Humans
    • Robot motion planning: combinatorial techniques, PRM, RRT, potential fields, A*, Theta*, obstacle avoidance
    • From plans to policies: Markov Decision Processes (MDP)
  • Interaction with Humans
    • Introduction to Human-Robot Interaction

The course is accompanied by programming exercises in Matlab. We assume that students have a laptop with Matlab installed (download and install instructions can be found here). Octave, the open-source alternative to Matlab, can also be used (download for free from www.octave.org).



  • Lectures: Monday 14h-16h, Room SR 00-034, Building 051
  • Exercises: Wednesday 12h-14h, Room SR 00-031, Building 051
  • Exams: March 14/26, 2014, Building 074, Office 015
  • Language: English
  • Recordings: I want you to participate :-) so no recordings



  • Solving and submitting the exercise sheets is not mandatory to be admitted to the final exam. Of course, it is highly recommended for the sake of a successful exam.
  • There are no bonus points, no exam admission requirements.
  • In general, assignments will be published on Monday and have to be submitted the following Monday before class.
  • Submit programming exercises via email to the address indicated on the respective sheet.

Exercise Sheets

  • Exercise 1, Matlab/Octave basics
  • Exercise 2, Introduction to probability
  • Exercise 3, Basics of probabilistic reasoning
  • Exercise 4, Naive Bayes classifier
  • Exercise 5, Support vector machines
  • Exercise 6, k-NN, cross-validation
  • Exercise 7, k-Means clustering
  • Exercise 8, Hidden Markov model
  • Exercise 9, Kalman filter
  • Exercise 10, Tracking and data association
  • Exercise 11, Rapidly-exploring random trees
  • Exercise 12, Q&A session

Slides and Additional Material



Additional Material
1. Introduction

(19 slides)

2. Matlab/Octave Tutorial

(121 slides)

3. Probability Refresher

(54 slides)

4. Basics of Probabilistic Reasoning

(38 slides)

5. Supervised Learning 1/3:
Basics, Naive Bayes, logistic regression

(48 slides)

6. Supervised Learning 2/3:
Support Vector Machines

(66 slides)

7. Supervised Learning 3/3:
AdaBoost, k-NN, cross-validation

(82 slides)

8. Unsupervised Learning:
AHC, k-means, GMMs and EM

(70 slides)

9. Temporal Reasoning 1/3:
Basics, HMM

(76 slides)

10. Temporal Reasoning 2/3:
LDS, Kalman filter

(81 slides)

11. Temporal Reasoning 3/3:
Tracking and Data Association

(84 slides)

12. Robot Motion Planning:
Basics, combinatorial and sampling-based methods

(67 slides)