This course will be offered to:
- Intake Y2021 in Spring 2025 (Term 8)
- Intake Y2022 in Fall 2025 (Term 7)
Course Description
The mobile robotics course is an introductory course on intelligent robots and systems. It is a course at the intersection of machine learning, artificial intelligence, computer vision and control theory. The course will introduce fundamentals of developing systems which can sense, plan and act in the world based on various topics from the aforementioned domains. The emphasis will be on algorithm design, probabilistic reasoning, decision making under uncertainty and learning to improve behaviours using data.
Pre-requisite
- Basic knowledge of Linear Algebra and Calculus
- 50.001 Information Systems and Programming / 10.020 Data Driven World (non-CSD students)
- 50.004 Algorithms / 10.020 Data Driven World (non-CSD students)
- 50.034 Introduction to Probability and Statistics / 30.003 Introduction to Probability and Statistics / 40.001 Probability + 40.004 Statistics / 10.022 Modelling Uncertainty
- Python/C++ Programming
- Linux OS (optional)
Learning Objectives
- Introduction: Basics of Linux, Robot Operating System, 3D Gazebo simulator, RViz robot visualizer.
- Feedback Control and Planning: how can we compute the commands that can bring a robotic system from its current state to a desired state?
- Mapping: how can we combine noisy measurements from sensors with the robot’s pose to build a map of the environment?
- State Estimation and Localization: the state of the robot is not always directly measurable/observable. How can we determine the relative weights of multiple sensor measurements in order to form an accurate estimate of the (hidden) state?
- Geometry of Computer Vision: how can modelling pixel projections on an RGB camera help us infer the 3D structure of the world? How can we triangulate points seen from two cameras? How can we estimate the camera’s pose (and therefore the robot’s) while it is moving in the environment?
Measurable Outcomes
- Learn and implement algorithms through lectures and tutorial sessions.
- Learn and implement state-of-the-art software development tools through lectures and tutorial sessions.
- Develop and practice hands-on learning from lectures and tutorial sessions to solve real-world problems on virtual and physical robotic platforms.
- Develop critical thinking and problem-solving skills through instructed lectures and tutorial sessions.
Topics Covered
- Sensors and Actuators
- Kinematics
- Dynamics
- Modelling and Control
- Planning
- Map Representations and Map Alignment
- Occupancy Grid Mapping with Known Robot Poses
- Bayesian Estimation
- Kalman Filter
- Particle Fiter
- Robot Vision
- Visual Odemetry and Visual SLAM
- Planning under Uncertainty
Textbook(s) and/or Other Required Material
No required textbooks as notes will be provided. For further reading, we recommend
- Probabilistic Robotics, by Thrun, Fox, and Burgard (PR in the outline)
- Computational Principles of Mobile Robotics, 2nd edition, by Dudek and Jenkin
- Planning Algorithms, by Lavalle
- Robotics, Vision, and Control, by Corke
- Introduction to Autonomous Mobile Robots, by Siegwart, Nourbakhsh, Scaramuzza