Course Overview and Objectives
Robotics is a field that brings together computer science and engineering, resulting in systems that interact intelligently with their environment. With applications ranging from agriculture to factory automation, from healthcare to education, robotics is a fascinating and fun way to develop creativity as well as the design, implementation, and integration skills that are essential for computer scientists and technologists.
The main goal of the course is to challenge students to think creatively and to teach them to integrate diverse areas of knowledge such as Computer Science, Design, Engineering and Math to create innovative systems. The course touches on foundational concepts in robotics, with a particular emphasis on Artificial Intelligence (AI) Robotics. The course currently uses the Lego Mindstorms NXT robotics kits as a platform to for students to implement projects, working individually and in teams. Through these projects, students will learn how to write programs that control a physical robot. They will learn to read and understand research papers, to give presentations to technical and non-technical audiences, and follow a project through from an initial idea through design to implementation.
The course includes lectures covering fundamental concepts of robotics, and labs during which students become familiar with the platforms and tools they will be using for their projects. Topics covered in lectures include:
- Introduction to robotics and its applications, the sense-think-act paradigm
- Sensing: Overview of approaches
- Locomotion: Overview of approaches, kinematics of differential drive systems
- Manipulation: Fundamental concepts,
- Control: Fundamentals of closed-loop control
- Path Planning: Overview of approaches, cell-decomposition approaches
- Vision: Fundamental concepts, approaches to edge-detection
- Robotic control architectures: Deliberative, reactive, behavior-based, hybrid
- Special topics (based on student interest) e.g. multi-robot coordination
Throughout the semester,hands-on tasks are completed in teams of 2-3 students, and written assignments give students practice with theoretical aspects of the course. Examples of tasks that have been performed in previous semesters include
- Use locally available materials to build a machine that can get a ball into a goal area
- Build and program a robot to navigate a maze
- Build and program a robot that can compute and follow the shortest path to a goal
- Build a robot that identify and retrieve objects of interest in an environment.
In the second half of the semester, students individually select, review and present on a robotics research paper of interest to them. Students also propose and complete a final project which is often completed individually and occasionally in pairs. Examples of projects that have been completed in the past include, among others:
- A tic-tac-toe playing robot
- Multi-robot coordination to identify and visit points of interest
- Multi-robot coordination to collaboratively carry an object
- A sorting robot
- Implementation of D* Lite for path-planning