Undergraduate Teaching

Engineering Tripos Part IIB, 4M20: Introduction to Robotics, 2021-22

Engineering Tripos Part IIB, 4M20: Introduction to Robotics, 2021-22

Not logged in. More information may be available... Login via Raven / direct.

PDF versionPDF version

Module Leader

Dr A Prorok


Dr A Prorok, Dr F Iida, Dr F Forni, Dr R Harle

Timing and Structure

Michaelmas term, 100% coursework


3C5 useful; 3C8 useful; 3F2 useful; 3F3 useful


The aims of the course are to:

  • Introduce fundamentals of robotics
  • Learning technologies and techniques to design, assemble, and control robots
  • Hands-on exercises on robot development through projects
  • Presentation of research and development


As specific objectives, by the end of the course students should be able to:

  • Learning different design strategies and architectures of robots
  • Design methods of automated complex systems
  • Development of simulated complex robots
  • Model-based analysis robot performance


Course Syllabus (subject to minor adaptations during course of term):

1. Introduction (A. Prorok) -- Oct. 7 (Zoom live-stream)

  1. Why study robotics?

  2. The basics of mobile autonomy

  3. History of robotics research

2. Architectures (A. Prorok) -- Oct. 14 (in-person, West Cambridge Computer Lab LT1)

  1. Autonomy and sensor-actuator loops

  2. Reactive vs deliberative decision-making (and control)

  3. Control architectures

3. Introduction to kinematics (F. Forni and F. Iida) -- Oct. 21 (pre-recorded)

  1. Motion models; robots with non-holonomic constraints

  2. Kinematics; forward and inverse kinematics

  3. Open-loop vs closed-loop control; intro to PID control.

4. Introduction to dynamics (F. Iida and F. Forni) -- Oct. 28 (in-person, West Cambridge Computer LabLT1)

  1. Dynamics models

  2. Open-loop and closed-loop control

  3. PID control applied to dynamic systems.

5. Perception and Localization (R. Harle) -- Nov. 4 (in-person, West Cambridge Computer LabLT1)

  1. Sensors and sensor models, odometry

  2. Maximum likelihood estimation and sensor fusion

  3. Noise and belief representation

  4. Bayes rule, Bayes filter, Particle Filter, KF

  5. Grid localization and map representations

6. Navigation and Planning (A. Prorok) -- Nov. 11 (in-person, West Cambridge Computer Lab LT1)

  1. Basic concepts

  2. Reactive navigation (without a roadmap)

  3. Deliberative planning (with a roadmap)

  4. Planning in multi-robot systems

7. Multi-Robot Systems (A. Prorok) -- Nov.18 (in-person, West Cambridge Computer Lab LT1)

  1. Introduction to Multi-Robot Systems (MRS)

  2. Centralized vs decentralized architectures

  3. Collective movement (formations, flocking)

  4. Task assignment

8. Introduction to Advanced Robotics (A. Prorok) -- Nov. 25 (in-person, West Cambridge Computer Lab LT1)

  1. Introduction to reinforcement learning methods

  2. Model-based vs model-free approaches

  3. Open robotics problems



The assignments will be 100% coursework and consist of two elements: (1) experimental work using a robot simulator and real robots, and (2) theory / understanding. The exercises will require data collection and analysis. The balance between practice and theory will depend on the exercise topic. Each student will submit a written report. Students will be expected to be able to demonstrate any results reported in their hand-in.

Each assignment will compose 45% of the final mark; the remaining 10% of the mark will be determined by the student's performance in a 1-on-1 viva with either the lecturer or a senior assessor. The mark for each assignment will be determined in part by the score achieved in the written report, and in part by the performance of the student during a questioning session. The lecturers will hold an in-person questioning session.

Assignment 1: 
Nov. 1, (noon)

Assignment 2: Nov. 22 (noon)
Viva session 1: Nov. 2, 16:00-18:30 (Location: William Gates Building, Intel Lab)

Viva session 2: Nov. 23, 16:00-18:30 (Location: William Gates Building, Intel Lab)


Coursework Format

Due date

& marks

[Coursework activity #1 title / Interim]

Coursework 1 brief description

Learning objective:

  • study basic properties of finite difference methods.
  • learn to use Linux system and Fortran 90
  • Complete and validate a basic Euler code

Individual Report

anonymously marked


Monday at noon Nov 1


[Coursework activity #2 title / Final]

Coursework 2 brief description

Learning objective:

  • Extend and improve the Euler code
  • Use it to investigate challenging flows

Individual Report

anonymously marked

Monday at noon Nov 22



Location: William Gates Building, Intel Lab


Sessions: Nov 2, Nov 23

16:00 - 18.30





Please refer to the Booklist for Part IIB Courses for references to this module, this can be found on the associated Moodle course.

Examination Guidelines

Please refer to Form & conduct of the examinations.

Last modified: 04/10/2021 09:15