John Nassour Web Page

Lecturer and Researcher in Neurorobotics



This lecture is offered at the Professorship Artificial Intelligence (Technische Universität Chemnitz) in winter Semester 2014. 

Target (expected learning outcomes and acquired competences):

Basic practical knowledge for robot control, task acquisition, motion generation, and sensory motor interaction in robotics.


Basic knowledge of Mathematics


This course gives an introduction to robotics, with a particular interest in biologically inspired robots; like humanoid robots. It presents different methods for programming robots to perform tasks that involve sensory motor interactions. The participants of the course will have the opportunity to apply their knowledge in the Praktikum Robotik and program robots for different tasks.

  1. Introduction

  2. Mathematical model

    1. 1. Transformations kinematics

    2. 2. Inverse kinematics

    3. 3. Differential kinematics

    4. 4. Dynamics

  3. Control

    1. 1. Sensors

    2. 2. Actuators

    3. 3. PID controller

    4. 4. Vision-based control

  4. Biologically inspired robots

    1. 1. Legged robots

    2. 2. Locomotion

    3. 3. Humanoid robots

    4. 4. Central Pattern Generator

    5. 5. Generation of whole body motion patterns

  5. Navigation

  6. Social robotics

  7. Perceptual robotics

  8. Roboethics

Lecture link:

Praktikum Robotik

This lecture is offered at the Professorship Artificial Intelligence (Technische Universität Chemnitz) in winter Semester 2014. 

Target (expected learning outcomes and acquired competences):

Programming NAO humanoid robot to perform tasks that involve vision and motor control based on the kinematic and dynamic description of the robot.


Basic knowledge of Mathematics, Computer vision, C++ programming.


The goal of “Praktikum Robotik” is to give students the opportunity to work with real robots and program them for real life tasks (reaching, writing, throwing …) by applying basic robotics concepts (e.g, inverse kinematics, vision-based control …). 

The duration of “Praktikum Robotik” is two semesters (starting in winter semester).

We will have seven NAO humanoid robots at our professorship available for research and teaching proposes, two robots are already in, and five robots will arrive in November 2014.

Student will be organized in groups and they will work in the lab according to a weekly timetable that we are going to prepare soon. However, all groups will meet together before/after each task (we estimate 4 weeks for each task).

Biologically-Inspired Learning for Humanoid Robots

This lecture was offered for the first time at the Institute for Cognitive Systems (Technische Universität München) in Summer Semester 2013. 

Target (expected learning outcomes and acquired competences):

The lecture provides a detailed presentation of humanoid robots learning with practical applications on a humanoid robot platform. The class makes connection with the experimentation on a humanoid robot; students will be able to investigate learning models on real robots. At the end of the module, students will be able to create their own model to solve humanoid robot problems that benefits from learning. Furthermore, students will be exposed to the existed literatures about brain regions that are involved in the learning process.


C/C++ programming skills, MATLAB, mathematics.

A prior knowledge about artificial neural networks is highly recommended. 


1. Introduction

1.1. Motivation

1.1.1. Humanoids robots

1.1.2. Legged robots

1.1.3. Human tasks and humanoids

1.1.4. Humanoids problems (walking, navigation, manipulation, stirs, balancing, grasping…)

1.2. Human brain

1.2.1. Neurons

1.2.2. Loops

1.2.3. Learning strategies

1.3. Learning and development

1.4. Tutorial1: familiarization with the simulator (Webots)

2. Humanoid learning overview

2.1. What humanoid need to learn?

2.2. Supervised and unsupervised learning

2.3. Learning by self-exploration

2.4. Learning by demonstration

2.5. Tutorial2: first step with a humanoid robot (NAO)

2.5.1. Example in simulation (NAO humanoid robot in Webots)

2.5.2. Example on NAO humanoid robot.

3. Humanoid supervised learning

3.1. Learning rules

3.1.1. Delta rule

3.1.2. Back propagation

3.2. Neural networks

3.3. Kernel-based techniques

3.4. Error-based learning in the cerebellum (cerebellar model articulation controller- CMAC)

3.5. Tutorial3: comparator model of the cerebellum (balance control during standing position)

4. Humanoid unsupervised learning

4.1. Learning rules

4.1.1. Hebbian learning

4.1.2. Competitive learning

4.2. Neural networks

4.2.1. Self-organising maps

4.2.2. Hopfield networks

4.3. K-means clustering

4.4. Unsupervised learning in the cortex

4.5. Tutorial5: learning of a motor map for humanoid robot reaching

5. Humanoid reinforcement learning

5.1. Introduction

5.2. Methods

5.2.1. Temporal difference methods

5.2.2. Q-learning

5.2.3. Qualitative adaptive reward learning QARL

5.3. Reinforcement learning in the basal ganglia

5.4. Tutorial6: action selection for humanoid robot walking in different conditions (e.g. terrain slops)

6. Humanoid transfer of learning

6.1. A background: human inspiration

6.2. What to transfer?

6.3. Transfer with different conditions

6.4. Transfer with different tasks

6.5. Tutorial8: humanoid robot draws basic forms on vertical boards based on his experience in drawing on horizontal one.

7. Humanoid grasping and manipulation

7.1. Vision-based grasping

7.2. Object recognition and localization

7.3. Bimanual grasping

7.4. Tutorial9: humanoid robot opening and closing door

8. Humanoid robots learning: perspectives

Copyright © 2014. John Nassour. All Rights Reserved.