skip to content

Department of Computer Science and Technology

Principal lecturer: 
MPhil ACS, Part III
Lent term
Course code: 
C++ or Python; Basic probability/calculus; Basic physics (kinematics); Must feel comfortable working with a Linux environment.
Class limit: 

This module can accommodate up to 48 students consisting of both Part II students and MPhil / Part III Students


This course teaches the foundations of autonomous mobile robots, covering topics such as perception, motion control, and planning. It also teaches algorithmic strategies that enable the coordination of multi-robot systems and robot swarms. The course will feature several practical sessions with hands-on robot programming. The students will undertake mini-projects, which will be formally evaluated through a report and presentation.


  • Robot motion and control. Kinematics, control models, trajectory tracking.
  • Control architectures. Sensor-actuator loops, reactive path planning.
  • Sensing. Sensors, perception.
  • Localization. Markov localization, environment modeling, SLAM.
  • Navigation. Planning, receding horizon control.
  • Multi-robot systems I. Centralization vs. decentralization, robot swarms.
  • Multi-robot systems II. Consensus algorithms, graph-theoretic methods.
  • Multi-robot systems III. Task assignment.
  • Multi-robot systems IV. Multi-robot path planning.
  • Robot learning. Introduction to reinforcement learning for autonomous decision-making.


By the end of the course students should:

  • understand how to control a mobile robot;
  • understand how a robot perceives its environment;
  • understand how a robot plans actions (navigation paths);
  • know paradigms of coordination in systems of multiple robots;
  • know classical multi-robot problems and their solution methods;
  • Know how to use ROS (Robot Operating System,

Recommended reading

Siegwart, R., Nourbakhsh, I.R. and Scaramuzza, D. (2004). Autonomous mobile robots. MIT Press.
Thrun, S., Wolfram B. and Dieter F. (2005). Probabilistic robotics. MIT Press.
Mondada, F. and Mordechai B. (2018) Elements of Robotics. Springer
Siciliano, B. and Khatib, O. (2016) Springer handbook of robotics. Springer.
Mesbahi, M. and Egerstedt, M. (2010) Graph theoretic methods in multiagent networks. Princeton University Press.


  • Two practical exercises (marked on a scale of 0-100), each composing 30% of mark
  • One course project. The hand-in will include a 6-page double-column report (conference-formatted).
  • The project will compose 40% of the mark and will be evaluated on a scale of 0-100. It be handed in as group-work.

Further Information

Due to COVID-19, the method of teaching for this module will be adjusted to cater for physical distancing and students who are working remotely. We will confirm precisely how the module will be taught closer to the start of term.

Current Cambridge undergraduate students who are continuing onto Part III or the MPhil in Advanced Computer Science may only take this module if they did NOT take it as a Unit of Assessment in Part II.

This module is shared with the Part II Computer Science Tripos course Mobile Robot Systems. Assessment will be adjusted for the two groups of students to be at an appropriate level for whichever course the student is enrolled on. Further information about assessment and practicals will follow at the first lecture.