CS313 Mobile Robotics

Lecture 1 – January 8th, 2018

You will learn about stereo vision: how to estimate depth.

Objectives

  • To understand the typical sensing modalities used in modern mobile robots: different types of sensors, how they work, how the data is processed, etc…
  • To become familiar with different approaches of localisation and navigation in mobile robotics: where you are, and how to get to your destination.
  • To learn how to design, implement and evaluate robotics algorithms in real-world application scenarios: in the labs you’ll work with Lego NXT robots.

Fundamental Questions

  • Where am I? \Rightarrow Sensing & Perception.
  • Where am I going? \Rightarrow Localisation & Mapping.
  • How should I get there? \Rightarrow Planning & Control.

Assessment

  • Three-hour exam (80%), answer 4/7 questions, same format as past papers.
  • Coursework (20%), detailed below.

Coursework

A: Paired practical activity over 5 weeks [20%]
B: Individual written assignment (approx. 2000 words) [80%]

You will be programming a Lego NXT robot using the LeJOS firmware (writing your solutions in Java).

Deadline: easter holiday.

Programming Prerequisites

  • Basic algebra: vectors, matrices, …
  • Some extra calculus: vector calculus, differential equations, …
  • Probability theory: probability distributions, Bayes rule, …
  • Programming: Java.

Suggested Reading

  • Sebastian Thrun, Wolfram Burgard, Dieter Fox, Probabilistic Robotics, MIT Press

What is a Robot?

A robot is:

  1. An artificial device that can sense its environment and act purposefully in it.
  2. An embodied artificial intelligence.
  3. A machine that can autonomously carry out useful work.

Building on that we have mobile robots:

  • A mobile robot is a robot capable of moving around in its environment and perform certain tasks.
  • The ability to move extends the workspace of a mobile robot substantially, an attractive feature for many applications.
  • However, extended workspace also means that the mobile robot should be able to do the following: have some knowledge about its environment, recognize objects in the environment, generate a real-time response, and do all of these simultaneously.