skip to primary navigationskip to content

Department of Computer Science and Technology

Masters

 

Course pages 2020–21

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. 48 students
Prerequisites: C++ or Python; Basic probability/calculus; Basic physics (kinematics); Must feel comfortable working with a Linux environment.

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