Bio Publications Students Teaching Contact Meeting on Systems and Control Theory

Manfredi Maggiore

PROFESSOR

Systems Control Group | Department of Electrical and Computer Engineering | University of Toronto
SCG | ECE | UofT

Teaching > ECE470S

ECE470S - Robot Modelling and Control (Winter 2026)

Calendar Description

3/1.50m/1m/0.50

III,IV-AECPEBASC, III,IV-AEELEBASC,
IV-AEESCBASER, IV-AEESCBASET,
IV-AEESCBASEZ

Classification of robot manipulators, kinematic modeling, forward and inverse kinematics, velocity kinematics, path planning, point-to-point trajectory planning, dynamic modeling, Euler-Lagrange equations, inverse dynamics, joint control, computed torque control, passivity-based control, feedback linearization.

Prerequisite: ECE311H1 or ECE356H1
Exclusion: AER525H11

Graduate Attributes

Reference: UofT Engineering Graduate Attributes Poster

Learning Objectives

This course gives a thorough coverage of the five foundational problems of manipulator robotics:

Instructor

M. Maggiore
GB344
maggiore (at) ece.utoronto.ca

Teaching Assistants

The email addresses of the TAs are obtained from the entries in the second column below by appending "@.mail.utoronto.ca" to the email ID

Saima Alisaiima.ali
Liza Babaogluliza.babaoglu
Fatima Ghadiehfatima.ghadieh
Patricia Hongpatricia.hong
Lukasz Jagodzinskilukasz.jagodzinski
Jesse Machtjesse.macht
Emily Vukovichemily.vukovich

Lectures

Tue 13-14BA1220
Wed 13-14GB244
Fri 13-14GB244

Composition of Final Mark

Labs20%
Quiz10%
Midterm Exam20%
Final Exam50%

Textbook

Spong, Hutchinson, Vidyasagar, Robot Modeling and Control, Wiley, 2006 or alternatively, the second edition of this book, published in 2020.

Note: previous versions (pre-2006) of this text cannot be used for this course.

Additional Reference Texts

Course Outline

Calendar of deliverables

Deliverable Due date
QuizFeb 6
Midterm testMar 5

The calendar above does not contain lab deliverables. The dates of these will depend on the practical section you are in. See the Assignments section of Quercus for these deadlines.

Quiz

Date/Time Room
Friday, February 6, 6-7PMTutorial classroom

Midterm Exam

Date/Time Room
Thursday, March 5, 6-8PMMS4171 and MS4279

Tutorials

Section Day and Time Dates
TUT101Fri 6-7PM, BA2135weekly starting on Jan 9
TUT102Fri 6-7PM, BAB024weekly starting on Jan 9

Laboratories (BA3114)

You will perform five labs in this course. The lab documents are posted on Quercus. The experimental setup used in the lab is the Kuka robot in the figure.

Lab 0 familiarizes you with the KUKA robot and safety procedures to work with it. Lab 1 is Matlab-based. In it, you'll write Matlab code implementing forward and inverse kinematics for a PUMA560 manipulator. Lab 2 is hardware-based, and it deals with the Kuka robot depicted in the figure. You will first familiarize yourself with safety procedures and learn how to manually move each of the robot axes. Then, you will adapt the code you've developed in Lab 1 to run on the actual Kuka robot. Using this adapted code, you will make the Kuka robot draw patterns on paper. Lab 3 is Matlab-based. You will write Matlab code for motion planning of a PUMA560 manipulator. Lab 4 is hardware-based. You will adapt the Lab 3 code for implementation in the actual Kuka robot. First, you'll make the robot pick up an object and drop it at a different location, while avoiding two large obstacles. Then, in a creative development phase, you'll develop your own motion planning algorithm making the Kuka robot perform more complex maneuvers.

All labs will be run in BA3114. Attendance is mandatory, and there are no make-up labs. Labs are performed in groups of two or three students. You will form groups at the beginning of Lab 0.

All labs, except lab 0, require a preparation. Each lab group submits the preparation on Quercus at least 48 hours before the beginning of the lab. After the lab is completed, each lab group submits their code, photos and videos (as applicable) on Quercus.

Section Day and Time Lab 0 Lab 1 Lab 2 Lab 3 Lab 4
PRA0101Thu 15-18Jan 22Feb 5Feb 26Mar 12Mar 26
PRA0102Thu 15-18Jan 29Feb 12Mar 5Mar 19Apr 2
PRA0103Fri 9-12Jan 23Feb 6Feb 27Mar 13Mar 27
PRA0104Fri 9-12Jan 30Feb 13Mar 6Mar 20To be rescheduled b/c of Good Friday
PRA0105Mon 15-18Jan 19Feb 2Feb 23Mar 9Mar 23

Lab policies