Course Search, Navigate, and Actuate

"Zoeken, Sturen en Bewegen"

This is the information of year 2017.

The previous years Arnoud Visser was also responsible for this course, the 2015 and 2016 are still available. In 2013 and 2014 the course was coordinated by Toto van Inge. His site could be found here.
The experiments of the last weeks are listed on a separate page.

Description

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.

Contents

  • 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

  • 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

Schedule

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

Week 23

Search
date time type subject location lecturer/assistant
Tuesday 6/6 9:00-11:00 L0 Course Overview
Lecture pdf
CWI Turingzaal Arnoud Visser
Tuesday 6/6 9:00-11:00 L1 Searching through Game Trees - minimax and alpha-beta
Lecture pdf
CWI Turingzaal Arnoud Visser
Tuesday 6/6 11:00-17:00 (several rooms) Task1 A chess engine for SimpleChess (several rooms) (several assistants)
Wednesday 7/6 9.00-11.00 L2 Homogene coordinaten Lecture, Recording C0.05 Leo Dorst
Wednesday 7/6 11:00-17:00 (several rooms) Task1 A chess engine for SimpleChess (several rooms) (several assistants)
Thursday 8/6 9:00-11:00 L3 Kinematics Lecture, Recording C0.05 Leo Dorst
Thursday 8/6 11:00-17:00 (several rooms) Task1 A chess engine for SimpleChess (several rooms) (several assistants)
Friday 9/6 11:00-17:00 (several rooms) Task1 A chess engine for SimpleChess (several rooms) (several assistants)

Week 24

Actuate
date time type subject location lecturer/assistant
Tuesday, Thursday, Friday PAV1 Practicum Academische Vaardigheden Tutors
Tuesday 13/6 9:00-11:00 L4 Kinematics Lecture, Recording C0.05 Leo Dorst
Tuesday 13/6 11:00-17:00 (several rooms) Task2 A chess playing robot arm (several rooms) (several assistants)
Thursday 15/6 11:00-17:00 (several rooms) Task2 A chess playing robot arm (several rooms) (several assistants)
Friday 16/6 11:00-17:00 (several rooms) Task2 A chess playing robot arm (several rooms) (several assistants)

Week 25

Go, where no one has gone before
date time type subject location lecturer/assistant
Tuesday, Thursday PAV2 Practicum Academische Vaardigheden Tutors
Tuesday 20/6 9:00-17:00 (several rooms) Task3 own project (several rooms) (several assistants)
Thursday 22/6 9:00-17:00 (several rooms) Task3 own project (several rooms) (several assistants)
Friday 23/6 9:00-17:00 (several rooms) Task3 own project (several rooms) (several assistants)

Week 26

Go, where no one has gone before.
date time type subject location lecturer/assistant
Monday 26/6 9:00-17:00 (several rooms) Task3 own project (several rooms) (several assistants)
Wednesday 28/6 9:00-17:00 (several rooms) Task3 own project (several rooms) (several assistants)
Friday 30/6 9:00-17:00 (several rooms) Task3 own project (several rooms) (several assistants)
Friday 30/6 from 16.00 VIA and USC

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
  • Maze navigation with a Pepper-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 last two weeks you should work in groups of four students.

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

Evaluation

In 2017 the course was overall evaluated by the participants with a 7.4:
.

Literature


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.


Inheritance

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 August 8, 2017

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

visitors in a.visser@uva.nl