Module 06-22382 (2016)
|Nicholas Hawes||Semester 2||10 credits|
This module teaches basic AI and robotic programming skills through a series of team exercises using small, mostly prebuilt, robots. Regular exercises will give each team the skills to build up a robot capable of tackling a competitive, arena-based, task that includes a variety of AI-requiring sub-problems.
The aims of this module are to:
- present some of the core problems in building and programming intelligent robots (design trade-offs, choices of sensors etc.)
- illustrate how problems can be decomposed
- demonstrate how Java can be used to implement AI algorithms (e.g. informed search) and robot control paradigms (e.g. feeback controllers, the subsumption architecture)
- present good programming and debugging practice in Java in an applied setting
On successful completion of this module, the student should be able to:
- implement and deploy Java programs on a robot using the tools provided
- apply AI and Java knowledge to implement some classic AI/robotics representations and techniques
- develop a modular robotic system over an extended period of time
Lectures, labs, group work.
Contact Hours: 22 hours taught lecture, 4 hours/week lab time
Sessional: continuous assessment (100%), via regular group exercises, assessed via demonstration and code submission.
Supplementary (where allowed): By repeat only
Exercises will increase in complexity over time. Early exercise will encourage the development of basic skills and techniques. Later exercises will require the application of these skills to solve more advanced problems.
- Basic knowledge
- The NXT hardware.
- The leJOS Java software.
- Software Engineering for Robot Programming
- Dealing with sensors and motors
- Motor control.
- Event handling and polling.
- The basic NXT sensors.
- Colour-based vision and the NXTCam
- Sensor-based control
- Feedback control
- The Subsumption Architecture
- More advanced knowledge
- Java collections: ArrayList, Stack and Queue
- Generic programming
- Search-based control
- Uniformed search
- Informed search
- Adversarial search
- Mapping and localisation
- Probabilistic road maps
Programmes containing this module
- BSc Artificial Intelligence & Computer Science 
- BSc Artificial Intelligence & Computer Science with an Industrial Year 
- BSc Artificial Intelligence & Computer Science with Study Abroad [452B]
- BSc Computer Science 
- BSc Computer Science with an Industrial Year 
- BSc Computer Science with Study Abroad 
- MEng Computer Science/Software Engineering 
- MEng Computer Science/Software Engineering with an Industrial Year 
- MSci Computer Science 
- MSci Computer Science with an Industrial Year 
- MSci Computer Science with Study Abroad