Lecture Humanoid Robotics (MA-INF 4215)

Humanoid robots are currently an active research platform. Since they have a human-like body plan they can act in environments designed for humans. Humanoid robots are able to, e.g., climb stairs, walk through cluttered environments, manipulate objects, and open doors.

This lecture covers techniques for humanoid robots such as perception, navigation, motion planning, grasping, and human motion analysis.



Exam: Second Date

The second round of exams will take place on Monday, 21 September 2015. Please contact Stefan Oßwald for arranging a time slot in case you would like to take part.



No. Topic Date Slides
1 Introduction 09 April [PDF]
2 Linear algebra 09 April [PDF]
3 Least squares and odometry calibration 16 April [PDF]
4 Projective geometry and homogeneous coordinates 23 April [PDF]
5 Camera calibration 23 April [PDF]
6 Whole-body self-calibration 30 April [PDF]
7 3D world representations 30 April, 07 May [PDF]
8 Monte Carlo localization 19 May [PDF]
9 Path planning and walking 11 June, 18 June [PDF]
10 Inverse kinematics and whole-body motion planning 18 June, 25 June [PDF]
11 Statistical testing 25 June, 2 July [PDF]
12 Bag-of-words models and appearance-based mapping 9 July [PDF]
13 Summary 16 July [PDF]


No. Topic Date published Submission deadline PDF
1 GIT, linear algebra, odometry calibration 16 April 23 April [PDF]
2 Projective geometry, camera calibration 23 April 30 April [PDF]
3 Forward kinematics, Octrees, k-d trees 30 April 7 May [PDF]
4 Signed distance function, ICP 08 May 21 May [PDF]
5 Particle filter 21 May 04 June [PDF]
6 Path planning with A* 11 June 18 June [PDF]
7 Foot step planning, inverse kinematics 18 June 25 June [PDF]
8 Rapidly exploring random trees (RRT) 25 June 2 July [PDF]
9 Inverse reachability maps (IRM), statistical testing 2 July 9 July [PDF]

Exercise sheet 9 is the last exercise sheet. It will be discussed in the last week of the lecture period.


Project setup on your own computer

  1. Install python-catkin-tools using your favorite package manager or by executing in a terminal
    sudo apt-get install python-catkin-tools
  2. Open a new terminal, create a new catkin workspace and clone your GIT repository:
    mkdir catkin_ws
    cd catkin_ws
    git clone https://INSERT_YOUR_REPOSITORY_URI_HERE src
    catkin build --force-cmake -G"Eclipse CDT4 - Unix Makefiles"
    echo "source \"$(readlink -f devel/setup.bash)\"" >> "${HOME}/.bashrc"
  3. You can then import each exercise as a project in Eclipse using File > Import > Existing projects into workspace. Select catkin_ws as the root directory, then select the projects that you would like to import.
  4. Some Eclipse versions have issues with finding the standard library includes. You can fix this in Project > Properties > C/C++ General > Preprocessor Includes > Providers by enabling the check mark in front of "CDT GCC Built-in Compiler Settings".
  5. To execute a program, open a new terminal and run
    cd catkin_ws
    catkin build
    source devel/setup.bash
    rosrun linear_algebra linear_algebra_node
    rosrun odometry_calibration odometry_calibration_node
  6. In order to pull/push code from/to the GIT server, you need to change to the src folder:
    cd src
    git commit
    git push

See Tutorials and Resources for a collection of installation instructions, tutorials, and help resources related to ROS and GIT.