skip to content

Department of Computer Science and Technology

 

Alert:

These pages are currently being updated for 2020/2021

Principal lecturer: 
Dr Amanda Prorok
Students: 
MPhil ACS, Part III
Course code: 
L310
Prerequisites: 
C++ or Python; Basic probability/calculus; Basic physics (kinematics); Must feel comfortable working with a Linux environment.
Hours: 
16
Class limit: 
10

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

Aims

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.

Lectures

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

Objectives

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, http://www.ros.org).

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.

Assessment

  • 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 course shares lectures with the Part II Computer Science Tripos course Mobile Robot Systems. The assessment will be adjusted to an appropriate level for those enrolled on Part III of the Tripos or the M.Phil in Advanced Computer Science.