Mobile Robotics for Computer Scientists

Teaching Staff

Meeting Times

  • The class meets Monday and Wednesday 9:30 AM to 10:45 AM In Person: 156 Henry Administration Bldg
  • The class counts for 3 credits, and includes several programming assignments. There is a 4 credit version for graduate students which includes a project.
Instructor's Office Hours
  • Half hour before and after class or by appointment
TA's Office Hours
  • Location: online
  • Times: TBA

Course Description

This course will introduce students to foundational principles of mobile robotics with a view towards development of robot software. Topics covered will be dynamic modeling, coordinate transformations, principles of operations of different sensors, sensor fusion algorithms including Kalman filters, introduction to Simultaneous Localization and Mapping, and introduction to feedback control for robotics. Prerequisite of CS 225 suggested.


This course will draw from a number of texts, in addition to notes supplied by the instructor. I do not expect that you will be purchasing all of these texts, but if you are interested in building a robotics library, these texts will be the right ones to invest in. I will provide scans and summaries where appropriate on Piazza. In addition, a number of papers will are included in the required reading.The primary texts utilized are:

  • Primary text: Siegwart et al., Autonomous Mobile Robots, electronic version available in UIUC library
  • Kuipers, Quaternions and Rotation Sequences
  • Farrell, Aided Navigation, GPS with high-rate Sensors
  • Murphy R., Introduction to AI for Robotics
  • Instructor notes
Optional additional reading:
  • Murphy R., Robotics Through Science Fiction: Artificial Intelligence Explained Through Six Classic Robot Short Stories
  • Dudek and Jenkin, Computational Principles of Mobile Robotics

Course Motivation

This section of the syllabus explains the motivation behind the creation of this course and what you can expect to get out of it.

Robots are computerized systems that perceive and understand the world around them and are capable of navigating the world or manipulating objects to perform tasks. Robots embody intelligence through programmed software-hardware interactions. Unlike a typical computer, robots are able to reposition themselves and manipulate their environments.

The last century has seen an unprecedented growth in manufacturing productivity and quality largely due to the advent of factory-based robots. These robots accomplish complex manufacturing and assembly tasks in structured and highly controlled indoor environments. In contrast, mobile robots can maneuver themselves to locations where tasks need to be done. This opens the possibility of tackling a much broader variety of tasks in the real-world, outdoor, or loosely structured environments, which are not controlled, and in some cases can be harsh, full of uncertainty, and dynamically changing.

The next age in robotics will be enabled by rapid and profound advances in mobile robotics. The objective of this course is to prepare students in the foundations of mathematical principles, computational algorithms, and systems architecture aspects to enable them to design the next generation of mobile and outdoor robots that accomplish complex tasks in the face of high level of uncertainty.

This course has been created to teach students with programming experience how to develop software for mobile robots. The emphasis in this course is on understanding underlying scientific and engineering principles for the design and automation of mobile field robots, and how to use them to create robust robotic cyber-physical systems.

Lecture Schedule

Module Slides & NOTES (currently based heavily off of ABE/ECE 426, subject to change during the semester)



  • Coordinate frame transformations
  • Quaternions and mobile robot dynamics