Department of Computer Science and Technology

Course pages 2019–20

Mobile Robot Systems

Principal lecturer: Dr Amanda Prorok
Taken by: MPhil ACS, Part III
Code: L310
Hours: 16 (12 lectures and 4 practical classes)
Class limit: max. 10 students
Prerequisites: C++ or Python; Basic probability/calculus; Basic physics (kinematics); Must feel comfortable working with a Linux environment.


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.


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. & Scaramuzza, D. (2004). Autonomous mobile robots. MIT Press.
Thrun, S., Wolfram B. & Dieter F. (2005). Probabilistic robotics. MIT Press.
Mondada, F. & Mordechai B. (2018) Elements of Robotics. Springer
Siciliano, B. & Khatib, O. (2016) Springer handbook of robotics. Springer.
Mesbahi, M. & Egerstedt, M. (2010) Graph theoretic methods in multiagent networks. Princeton University Press.

Further Information

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.


  • 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.

This course is borrowed from Part II of the Computer Science Tripos. As such, assessment will be adjusted to an appropriate level for those enrolled for Part III of the Tripos or the M.Phil in Advanced Computer Science. Further information about assessment and practicals will follow at the first lecture.