Course Search, Navigate, and Actuate

"Zoeken, Sturen en Bewegen"

This is the information of year 2016.

The current information of the course can be found here. In 2015 Arnoud Visser was also responsible for this course, the site can be found here.
In 2013 and 2014 the course was coordinated by Toto van Inge. His site could be found here.
The experiments of the last week are listed on a separate page.


The official description of course baiZSB6 can be found (in Dutch) here. The organization of the course can be found in the Studiewijzer. Also a Blackboard portal to this information is available. Blackboard is mainly used for email and grading.


  • Search Algorithms
    Game playing is an example of type of problems that can easily decomposed in subproblems. For interesting games, like chess, the tree of subproblems grows to fast to be searched exhaustively, so other approaches are necessary. To solve the game we have to find a solution tree regardless of the opponent's replies.
    • MiniMax principle
    • alpha-beta algorithm
    • increasing the effectiveness with advice rules

  • Path planning
    You have had planning algorithms such as A* that work on graphs. So let's try to reformulate the path planning problem as a graph problem. These graphs are somewhat special, it is convenient to see them as discretized spaces because this leads to better implementations. So then we need the notion of configuration space to explain the graph's properties.
    • A* revisited
    • Mapping path planning as graph search
    • Task space and discretized configuration space
    • Kinematics -> connectivity
    • Criteria -> metric
    • Obstacles -> forbidden nodes
    • Examples: robot arm and self-parking car
    • Other approaches of mapping path planning into graphs

  • Trajectory planning
    If you have setpoints, how to make it into a controllable path.

  • Rigid body motion
    • physical rigid bodies as idealization
    • physical space as vector space
    • representing motions using linear algebra (coordinate-free)
    • isometries
    • proof of decomposition theorem: rigid body motion = rotation followed by translation
    • coordinates: vector spaces in the computer
    • rotation matrices: how to design them
    • reference angles: Euler angles
    • homogeneous coordinates

  • Kinematics of linked mechanisms
    • Denavit-Hartenberg notation
    • Forward kinematics
    • Inverse kinematics (briefly)
    • Redundancy and degeneracy (briefly)
    • Differential kinematics


This schedule has some correspondance with the official schedule, but in case of doubt use the data on

Week 22

Download Lecturnity Player to listen to lecture, synchronized with the sheets.

date time type subject location lecturer/assistant
Monday 30/5 9:00-11:00 L0 Course Overview
Lecture pdf
H0.08 Arnoud Visser
Monday 30/5 11:00-17:00 SCR1 Searching through Game Trees - minimax and alpha-beta
Lecture pdf
A1.10 / B0.201 / A1.16B Arnoud Visser,,,
Tuesday 31/5 9.00-11:00 L1 C1.110 Path Planning Lecture, Recording Leo Dorst
Tuesday 31/5 11.00-17.00 P1 Task 1: Endgames A1.10 / B1.24GHIJ / A1.20
Wednesday 1/6 9.00-17.00 ZS Endgame Task 1: Endgames no assistance
Thursday 2/6 9.00-11.00 L4 Rigid body motionLecture, Recording C0.05 Leo Dorst
Thursday 2/6 11.00-17.00 P2 Task 1: Endgames A1.19 / B0.201 / A1.14
Friday 3/6 9.00-11:00 L2 Qualitative Navigation
Lecture (pdf 1.1 Mb), recording (lpd 32 Mb)
Distinctive Place Movie (88 Mb)
Visual Homing Movie (15 Mb)
C0.05 Arnoud Visser Home-work article
Friday 3/6 11.00-17.00 P3 Task 1: Endgames B1.24GHIJ, A1.20, B0.201

Week 23

date time type subject location lecturer/assistant
P4 Task 2: Path planning module
PAV1 Practicum Academische Vaardigheden Tutors
L5 Forward Kinematics Lecture, Recording Leo Dorst
P5 Task 2: Path planning module Toto van Inge
ZS Task 2: Path planning module G0.12, G0.23, G0.25 no assistance
L6 Inverse and Differential Kinematics Lecture, Recording Leo Dorst
P6 Task 2: Path planning module
ZS Task 2: Path planning module no assistance
No Lecture
P7 Task 2: Path planning module
ZS Task 2: Path planning module no assistance

Week 24

date time type subject location lecturer/assistant
P7 Task 3: Inverse kinematics module
P8 Task 3: Inverse kinematics module
Experiment0 Brainstorming next week Arnoud Visser
P9 Task 3: Inverse kinematics module
Pres demonstration and integration Task 2 and 3

Week 25

Go, where no one has gone before.
date time type subject location lecturer/assistant
Monday 20/6 9.00-12.00 Experiment1 Kick-Off C3.165 / A1.10 / B1.24F / B0.201 Arnoud Visser
Monday 20/6 12.00-17.00 ZS C3.165 no assistance
Tuesday 21/6 9.00-17.00 ZS C3.165 Kyriacos Shiarlis
Wednesday 22/6 9.00-12.00 Experiment2 Mid-Term C3.165 / G0.24 / G0.19 / G0.12 Arnoud Visser
Wednesday 23/6 12.00-17.00 ZS C3.165 no assistance
Thursday 23/6 9.00-17.00 ZS C3.165 Kyriacos Shiarlis
Friday 24/6 9:00-17.00 Experiment3 Demonstration and Documentation C3.165 / A1.10 / A1.06 / B1.24GHIJ Arnoud Visser, Kyriacos Shiarlis
Friday 24/6 from 17.00 Experiment4 Barbecue & Flux Festival near cantine VIA

It is not the result that counts, but your summery of your survey. Document your progress, experiments and decisions in a LabBook.

With a working system, and the acquired knowledge, you can explore new possibilities.

Here are the surveys of the previous years:

Here are some suggestions:
  • Path-planning for a Hemisson-robot
  • Talking mouth for a Aibo-robot
  • Maze navigation with a Nao-robot
  • Looking to a talking person with a Nao-robot.
  • Extend the checkmate problem to more complex situations
  • Refine the visualisation of the Virtual robot.
  • Creating a gamepad interface for a virtual Aibo (Visual Basic)
  • WiiBot RTX UMI
  • Solve chess endgame with Monte Carlo tree search (MCTS)
  • Hacking the Neato XV-11
  • Programming the Concept Wheels of Ramon Lull.
It is recommanded to work in groups of four students.

You will be evaluated on your LabBook at the end of the week.


In 2016 the course was overall evaluated by the participants with a 4.5, due to the problems with the virtual machine:


For the implementation in prolog we will look at chapter 24 of Prolog Programming for Artificial Intelligence by Ivan Bratko. The companion website of the 4th edition is not yet available, the companion website of the 3th edition contains several student resources.
This book was explored until chapter 13 in the previous course Logic Programming and Search Techniques.

Further we use the syllabus 'An Introduction to Robotics' by Leo Dorst, which is available for download at the Blackboard site.


In the old days, when Bachelors were not schooled at Dutch Universities, a different course was given with another focus. Still, much can be learned from the course 'Robotica'.

Last updated May 18, 2017

o This web-page ist of participants to this course is maintained by Faculty of Science
University of Amsterdam

visitors in