CSCC85 - Fundamentals of Robotics and Automated Systems

This course covers a carefully selected range of topics that are essential for the implementation and operation of automated systems, including mobile robots. Software and algorithms for these systems have to deal with constraints not present in the kind of computer applications you may have worked with before. These constraints include the need for redundancy and fail-safe operation (e.g. medical and transportation systems), managing noisy, unreliable, and incomplete input (sensor data and user input both), and determining from available evidence what the state of the system is, in order to make appropriate decisions regarding the behaviour of the system.

  • This is a very practical course, for most of the topics in the course you will be implementing a related algorithm for either a lab exercise or project.

  • You will be working with a real robot. We have a set of Lego EV3 robot kits, and you will get to work with one of these through the term.

  • The kinds of projects you will work on have a significant open-ended, design and implementation component. Be ready to use your creative side as well as your problem solving ability, and yes, you will frequently need to make reasonable assumptions.

  • You will work in teams (pairs or groups of three, depending on course enrolment) - so if you know people who are interested in this course and with whom you would like to work, send them a note!

Sensors and Signal Processing

Automated systems have to deal with real-world environments, and to do so they require information provided by sensors and other sources of information. The signals provided by sensors are unavoidably noisy and unreliable, so in order to build a robust system we need to learn how to manage sensor input in order to extract reliable information in the presence of noise and other artifacts

Redundancy and Fault Tolerance

Automated systems have to be reliable and continue to work in the presence of component failures and breakdowns. We will study how redundancy in hardware, software, and sensors can be used to build a system that is fault tolerant

Robotic Localization

Determining the location of a mobile system like a robot, and in general determining the state of an automated system are fundamental problems in robotics. We will study general methods for state estimation based on Markov localization. We will look at histogram based, and particle based methods.

Robo Soccer

The final project for the course is a robotics soccer competition - you will apply all you learn through the course and implement a set of contollers and a simple state-based A.I. to get your lego EV3 to play soccer, 1 on 1. We will have a competition, and there will be pizza!

As part of the Robo Soccer project, you can download the EV3 Robot Control API in C which was developed to control the EV3 from a computer via Bluetooth. This API was developed by Lucy Tishkina.

Robo Soccer 2022 Recordings

Click here to read what people who completed the course think about it!