CSC 375 Programming Mechatronic Systems

Note: This course offering will focus on Algorithmic Intelligence in Robotics (AIR).

Weekly schedule

Lectures: Tues 5-7pm ET, Zoom
Tutorials: Fri 9-10am, 10-11am ET, Zoom
Animesh Garg office hours: Wed 530-630pm ET, Zoom
Dylan Turpin office hours: Thr 2-3pm ET, Zoom
Homanga Bharadhwaj office hours: Mon 11:30am ET, Zoom

Accessing resources

Course webpage: here
Piazza: piazza
Zoom: Link in Quercus Announcement

Online delivery: Lectures, tutorials, and office hours for this course will be delivered synchronously via Zoom. The link has been posted on Quercus. Lectures and tutorials will be recorded and posted online a few hours after the recording.


Note: This course offering will focus on Algorithmic Intelligence in Robotics (AIR).

Robots of the future will need to operate autonomously in unstructured and unseen environments. It is imperative that these systems are built on intelligent and adaptive algorithms. This course will introduce fundamental algorithmic approaches for building an intelligent robot system that can autonomously operate in unstructured environments such as homes and warehouses.

This course introduces the broad philosophy of “Sense-Plan-Act”, and covers algorithms in each of these areas - - how should the robot perceive the world, how to make long term decisions and how to perform closed-loop control of articulated robots.

Learning objectives

At the end of this course, you will have gained both knowledge and system building abilities in: - Robot Motion Control, - Motion Planning methods: Sampling Based and Optimization Based, - Optimal Control: Iterative LQR and MPC, - Reinforcement Learning: Exact RL, Deep Model-Free Methods and Model-based RL, - Robot Perception: Deep Object detection and segmentation, introduction on point cloud processing and object tracking.


Knowledge of probability, multivariate calculus, linear algebra is expected. Tutorials will assist with computing resources to run assignments both locally and remote. Algorithm implementation will be done mainly in Python or C++/C (if you prefer). Note that familiarity with basic Linux commands, (e.g. using the terminal, using an editor) is assumed and required. If this is not the case for you, please contact the instructor as soon as possible.

Required: CSC209H5 and MAT223H5 and MAT232H5 and STA256
Recommended: CSC384H5 and CSC311H5 and CSC376H5 and MAT224H5

Textbook & Resources

There is no required textbook.The course will provide all material in class and handouts.
The students can refer the following material for additional help: - Sebastian Thrun, Dieter Fox, Wolfram Burgard Probabilistic Robotics - Peter Corke, Robotics, Vision and Control (free available for download on Springer) - For (although draft-status) more about optimal control and motion planning, Russ Tedrake's class: Underactuated Robotics - A great introductory text on reinforcement learning: Sutton and Barto, Reinforcement Learning

Additional resources: - If you want to brush up your linear algebra background, I suggest working through this course (video lectures and homeworks available online) at your own pace: Stephen Boyd's EE263: Introduction to Linear Dynamical Systems. - If you want to learn more about the linear systems aspects (Kalman filtering, LQR), I recommend Stephen Boyd's EE363: Linear Dynamical Systems. - If you want to learn more about convex optimization, I recommend: Stephen Boyd's EE364a: Convex Optimization I and Stephen Boyd's EE364b: Convex Optimization II. Both of them have all course materials, including lecture videos, available online.

Evaluation format

This course combines lectures with tutorials, encouraging both fundamental knowledge acquisition as well as hands-on experience. Each student will be responsible for 4 lab assignments (60%), one final (20%) and one team project (in teams of up to 3) (5% for proposal and 15% for report).

Late penalties

Each student will have 2 grace days throughout the semester for late assignment submissions. Late submissions that exceed those grace days will lose 33% of their value for every late day beyond the allotted grace days. Late submissions that exceed three days of delay after the grace days have been used will unfortunately not be accepted. The official policy of the Registrar’s Office at UTM regarding missed exams can be found here .