Andrew Davison: Robotics

I am responsible for the Robotics Course in the Department of Computing, attended by third years and MSc students. This is a nine week course which focuses on mobile robotics, and aims to cover the main issues in this dynamic field via lectures and a large practical element where students work in groups and implement robotics ideas using the Lego Mindstorms NXT kits. The course always finishes with a competition where the groups compete to build and program the robot which can most effectively achieve a certain challenge against the clock. See the bottom of this page for pictures and videos from previous years' competitions.

Jindong Liu is the Course Support Leader for Robotics and another point of contact for questions you might have.

Thank you to Adrien Angeli who was previous CSL on the course and has helped substantially with the preparation of materials and exercises; and to Ian Harries and Keith Clark who developed earlier material from which the current course has evolved.

Lecture and practical sheets for the course will be available from the links below (the links will come alive gradually throughout term). Extra handouts from the lectures are available further down.

Spring 2012 Lecture Plan

Lectures at 9am on Wednesdays will be held in room 145. In the first week of the course we will stay in the lecture theatre for a combined lecture/tutorial until 12pm. From the second week of the course onwards, at 10am we will normally head straight down to the lab (room 202) and spend the 10am-12pm Wednesday slot working on practical tutorial work. Practical exercises will be set in the lectures and assessed regularly in the labs as explained clearly in the practical sheets. Please check for details each week below and I will annouce any changes.

Wednesday 9am Wednesday 10am Wednesday 11am
Week 1
Jan 18
Lecture (145)
Introduction to Robotics
Tutorial (145)
Robot Floor Cleaner
Lecture/Tutorial continued (145)
Week 2
Jan 25
Lecture (145)
Robot Motion
Practical (202)
Locomotion, Calibration and Accurate Motion
Practical continued (202)
Week 3
Feb 1
Lecture (145)
Sensors
Practical (202)
Investigating Sensors
Practical continued (202)
Week 4
Feb 8
Lecture (145)
Robot Behaviours
Practical (202)
Obstacle Course
Practical continued (202)
Week 5
Feb 15
Lecture (145)
Probabilistic Robotics
Practical (202)
Probabilistic Motion and Sensing
Practical continued (202)
Week 6
Feb 22
Lecture (145)
Monte Carlo Localisation
Practical (202)
Monte Carlo Localisation
Practical continued (202)
Week 7
Mar 1
Lecture (145)
Advanced Sonar Sensing
Practical (202)
Place Recognition
Practical continued (202)
Week 8
Mar 8
Lecture (145)
SLAM
Practical (202)
Navigation Challenge
Practical continued (202)
Week 9
Mar 15
Extra Practical/Questions (202)
Review
Practical (202)
Robot Team Competition
Practical continued (202)

Additional Handouts

The directory RoboticsResources/ contains all the lecture notes, tutorial sheets, additional handouts below and also bits of code that I point to in the practicals.

Here are mirrored electronic versions of extra handouts given out in paper form during the course (all of these are available elsewhere on the internet).

Week 1:
Robot Science, Chapter 1, Andrew Davison (A chapter of a popular style book on robotics I am working on... not part of the content of the course but may be an interesting read and any comments welcome).
Berlin Summit on Robotics 2011 Report (Also certainly beyond the scope of this course but this report from a meeting I attended recently gives a good snapshot of the current thinking of various roboticists on the state of the field and current challenges).
Week 2:
ROBOTC - Improved Movement.pdf (mirrored from the RobotC website where you will find other useful material).
Debugging_RobotC.pdf (how to use the RobotC debugger.)
Week 3:
ROBOTC - Sensor Wall with Sonar.pdf (mirrored from the RobotC website.)
Week 4:
Intelligence without Representation, Rodney Brooks
Week 5:
Modelling the World in Real-Time, Andrew Davison
Week 6:
Monte Carlo Localization: Efficient Position Estimation for Mobile Robots, Dieter Fox, Wolfram Burgard, Frank Dellaert, Sebastian Thrun
Also see this link: Frank Dellaert's online tutorial material on MCL
Week 7:
Instructions for Matlab-Based SLAM Practical (optional)
SLAM Tutorial Part 1, Hugh Durrant-Whyte and Tim Bailey
SLAM Tutorial Part 2, Tim Bailey and Hugh Durrant-Whyte

Mapping and Navigation Challenge in 2012

This year we had a completely new challenge where the teams had to build robots able to cross an area filled with obstacles without bumping into any of them. The robots had to rely on good odometry for localisation, and then use sonar to detect obstacles and plan a path between them. Marks were given depending on how far the robots managed to advance, with extra time points for those teams that made it all the way across. The starting point was the techniques for occupancy grid mapping we had learnt in the course, but the desire for speed meant that many teams switched to simpler methods due to the high computational cost of occupancy mapping.

The winning robot was developed by Nicolas Paglieri, Clemens Lutz, Antonio Azevedo and Francesco Giovannini and completed the challenge in a remarkably fast 21 seconds, though impressively around half of the teams completed the whole course and a couple came close to this time. The winning team's robot used the Lego light sensors cleverly as proximity sensors, allowing giving the robot an extra obstacle sensor which was particularly useful at high speed, and this together with fast planning gave them the best time.

MTS

Localisation Challenge in 2011

We used quite a different layout for this year's localisation challenge, with the robots needing to recognise their location and orientation in one of three randomly chosen places and then navigate fast along a long corridor to pre-determined waypoints. Marks were given both for accuracy and time.

The winners' robot was remarkably precise, and its motion included particularly nice curved entries into the waypoint spaces, all while maintaining very good speed such that it beat its nearest competitor by 8 seconds. The members of the winning group were Alexandre Vicente, Ajay Lakshmanan, Garance Bruneau, Kevin Keraudren, Axel Bonnet and Zae Kim (video courtesy of Jindong Liu).

MP4

Localisation Challenge in 2010

The challenge this year was similar to 2009, but in a new course and with a marking scheme which emphasized accuracy over speed. Again, the robots were placed randomly by me at one of five pre-learned waypoints and had to determine their locations and navigate autonomously to all of the other waypoints --- within 5cm accuracy to gain full marks, which was a challenging problem.

The winning team this time consisted of Jim Li, Daniel Abebe, Robert Kopaczyk, Nicholas Heung and Cheuk Tam, and their robot's successful completion of the course in under 40 seconds is shown below (video courtesy of the team).

Localisation Challenge in 2009

This year's competition challenge required the robots to first localise from scratch at one of five pre-learned locations, and then to localise continuously to navigate around a route of waypoints. The whole process was timed so there was some need to trade off accuracy for speed in order to win.

Again there were several teams which achieved the challenge impressively within the target time of 30 seconds, but the winners by a narrow margin were Ivan Dryanovski, Tingting Li, Wenbin Li, Edmund Noon and Ke Wang whose winning run is shown in the video below (video courtesy of the team).

MPEG

Monte Carlo Localisation in 2008

The challenge at the end of the course in 2008 was to implement a probabilistic localisation algorithm based on particle filtering, using the Lego Mindstorms NXT kits with motor odometry, sonar and compass sensors. The groups were given a "map" of a small enclosed area, indicating the measured locations of walls relative to a fixed coordinate system. The goal was to use Monte Carlo Localisation to keep a continuous estimate of the moving robot's position which was good enough to accurately follow a pre-defined path through a sequence of waypoints.

Several of the teams achieved good results, and one or two even made promising progress on the more difficult problem of global localisation (the "kidnapped robot problem"), where the robot had to initialise a localisation estimate from scratch when dropped at an arbitrary position in the course. This video shows the robot of the team of David Passingham, Vincent Dedoyard, John Payce and Mengru Li in action (video courtesy of the team).

Robot Obstacle Course in 2007

At the end of the course in 2007 we had a robot obstacle course challenge where the students in groups of three or four designed Lego robots to reach a light beacon while bouncing off and avoiding obstacles. The robots used light sensors to detect the direction of the bright light and bump sensors to detect collisions. Each of the robots was timed over three runs from different start points on a course constructed by Simon Overell.

The winning robot was from the team of Philip Stennett, Nicholas Ball, Maurice Adler and Wei Chieh Soon which completed the course all three times with a total time of 36.9 seconds --- this is a (very dark) video of their robot in action . The robots from the team of Si Yu Li, Henry Arnold, Shobhit Srivastava and Jonathan Dorling, and the team of Ricky Shrestha, Hussein Elgridly and Maxim Zverev also successfully completed the course three times.

Robot Racing in 2006

Last year we finished the course with a time-trial competition between Lego line-following robots designed and programmed by the students in groups of three. The robots used downward-looking light sensors to observe the line, and ran programs written in the C-like NQC language. The robots were timed over three laps of this course, which the groups saw for the first time on the day of the races:

The easy winner of the time-trial was the simple but very slick robot from Jiefei Ma, Winnie Xu Zheng and Nan Wang which you can see in action in this movie. Another interesting robot featuring articulation from Steven Lovegrove, Alex Lamaison and Folabi Ogunkoya performed very well in practice but didn't quite make it round three laps of the race track. Also see this movie of several of the robots on track at once. (Thanks to Jiefei Ma and Steven Lovegrove for providing the videos).
Andrew Davison