Robotics - CO333
This course will focus on the field of mobile robotics, at the exciting time when cutting-edge robots are beginning to leave the research laboratory to tackle real-world tasks --- in space, in the desert or in your living room. A robot is a physical device where sensing and actuation must be linked by efficient, robust and flexible on-board computing. We will emphasize both theoretical and practical aspects of the field.
We will start by looking at the basics of wheeled locomotion, basic control, proprioceptive and outward-looking sensors, and examine how these can be coupled in direct servo loops to produce reactive behaviours.
The second half of the course will concentrate on modern probabilistic methods for robotics, which are the key to processing and combining uncertain data from advanced sensors. We will look in depth at the Monte Carlo Localisation algorithm for localisation from a known map using odometry and sonar, place recognition using sonar signatures and occupancy mapping. Finally we will cover the basic principles of Simultaneous Localisation and Mapping algorithms for mobile robots which must operate in previously unknown environments.
This is a course with an intensive practical element, and every week there will be practical sessions in the laboratory where students will work in groups with Lego Mindstorms NXT components together with Raspberry Pi single board computers and the Python programming language under Linux. Marking of the assessed coursework component is cumulative: every week there will be a practical task set and marks will be given to each group for successfully demonstrating results in the next practical session. The final exam for the course will be strongly based on the contents of the practical sessions.