// 1. Include Header

Faculty of Engineering > Department of Computer Science >

Winter Term 14/15

Human-Oriented Robotics

The course will introduce basic and advanced concepts and methods in robotics, machine learning, artificial intelligence and human-robot interaction. In particular, we will consider robotics with the "human in the loop" which is concerned with key technologies that enable robots to better live, work and interact with humans. This is a growing research field with many new and exciting applications such as companion robots, health-care robots, autonomous cars, human-robot cooperation in manufacturing, search and rescue etc. In addition to their theoretical treatment, the methods will be exemplified with Matlab 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, error propagation
    • 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

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) but some exercises will require Matlab-only functionalities.



  • Lectures: Tuesday 10h-12h, Building 101, Room SR 01 018
  • Exercises: Thursday 12h-14h, Building 101, Room SR 01 018
  • Exams: Tuesday, March 3, 2015 and Friday, March 27, 2015.
    Building 074, Office 015. Enter the building by the parking lot, not the Uni Radio.
  • Language: English
  • Recordings: I want you to participate :-) so no recordings


  • No formal requirements.


  • Solving and submitting the exercise sheets does influence the exam grade.
  • There are no exam admission requirements.
  • In general, assignments will be published on Tuesday and have to be submitted the following Tuesday before class.
  • Submit programming exercises via email to the address indicated on the respective sheet.

Exercise Sheets

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

Slides and Additional Material



Additional Material
1. Introduction

(20 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

(67 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

(77 slides)

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

(101 slides)

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

(83 slides)

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

(67 slides)