ECE470 Robot Modeling and Control (Last updated: August 10, 2026)

Course Description

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


Learning Objective

To model, to perform motion planning, and to control a robotic manipulator.


Teaching Staff

Prof. M.E. Broucke GB342 LEC 01 broucke at control.utoronto.ca
Lukasz Jagodzinski GB348 TUT 01, 02 lukasz.jagodzinski at mail.utoronto.ca
Elliot Preston Krebs GB348 PRA01, PRA02 elliot.prestonkrebs at mail.utoronto.ca
Fatima Ghadieh GB348 PRA01, PRA02 fatima.ghadieh at mail.utoronto.ca
Dhairya Patel GB348 PRA03, PRA04 dhairya.patel at mail.utoronto.ca
Keyin Liang GB348 PRA03, PRA04 keryn.liang at mail.utoronto.ca
Kalana Abeywardena GB348 PRA05, PRA06 kalana.abeywardena at mail.utoronto.ca
Deniz Jafari GB348 PRA05, PRA06 deniz.jafari at mail.utoronto.ca
Calvin Li GB348 PRA07, PRA08 calvinkf.li at mail.utoronto.ca
Bokai Shang GB348 PRA07, PRA08 bokai.shang at mail.utoronto.ca


Lecture Schedule

Section Day and Time Location Dates
LEC 01 Tue 9-10am BA1190 Starts September 8
  Thu 12-1pm BA1170  
  Fri 9-10am MC252  


Tutorial Schedule

Section TA Day and Time Location Tutorial Dates
TUT 01/02 Lukasz Jagodzinski Fri 1-2pm TBA Starts Sept 11


Textbook


Course Outline

The following table shows the lecture topics. Note that the lecture schedule may be updated as the semester progresses, so it's a good idea to check the webpage periodically.

Week Date Lecture Topics Important Dates
1 Sept 8 1       Introduction  
  Sept 10 2 Common kinematic configurations; Points and vectors  
  Sept 11 3 Rotation matrices; Elementary rotations; Rotational transformations  
2 Sept 15 4 Change of reference frame; Composition of rotations; Euler angles  
  Sept 17 5 Rigid motions; Composition of rigid motions; Homogeneous transformations  
  Sept 18 6 Forward kinematics problem  
3 Sept 22 7 Frame assignment algorithm  
  Sept 24 8 Frame assignment examples, DH parameters  
  Sept 25 9 DH parameter examples, DH table to homogeneous transformations Homework 1
4 Sept 29 10 Inverse kinematics problem  
  Oct 1 11 Kinematic decoupling; Inverse orientation problem  
  Oct 2 12 Velocity Kinematics  
5 Oct 6 13 Velocity Kinematics  
  Oct 8 14 Robot Jacobian derivation  
  Oct 9 15 Robot Jacobian examples  
6 Oct 13 16 Inverse velocity kinematics; Inverse kinematics without kinematic decoupling; End effector force and torque  
  Oct 15 17 Motion planning algorithm  
  Oct 16 18 Attractive and repulsive forces Homework 2
7 Oct 20 19 Gradient descent algorithm; Cublic splines  
  Oct 22 20 Independent joint control  
  Oct 23 21 Midterm  
  Oct 26   Fall Break  
8 Nov 3 22 Robot modeling: mass particle example  
  Nov 5 23 Robot modeling; Holonomic constraints; Generalized coordinates  
  Nov 6 24 Virtual displacements; Lagrange D'Alembert principle; Euler-Lagrange equations  
9 Nov 10 25 Euler Lagrange equation; Kinetic energy of a rigid body  
  Nov 12 26 Kinetic energy of a rigid body  
  Nov 13 27 Derivation of robot Lagrangian  
10 Nov 17 28 Equations of motion of a robot; Pendulum on a cart example  
  Nov 19 29 Pendulum on a cart example; Double pendulum  
  Nov 20 30 Double pendulum; Centralized Robot control; Feedback linearization Homework 3
11 Nov 24 31 Feedback linearization; Equilibria and stability; Lyapunov's stability theorem  
  Nov 26 32 LaSalle's invariance principle  
  Nov 27 33 PD control with gravity compensation  
12 Dec 1 34 Passivity-based control  
  Dec 3 35 Passivity-based control with adaptation  
  Dec 4 36 TBA Homework 4
13 Dec 8 37 TBA  


Homework

Homework problems are submitted on Quercus by 5pm on the due date. Homeworks are graded based on (seriously) attempted problems, not correctness. Homeworks that are clearly written and complete are given a mark of 1. Poorly written or incomplete homeworks are given a mark of 0.

Homework Chapter Problems Due Date
1 Chapter 2 2-1, 2-2, 2-10, 2-11, 2-12, 2-13, 2-15, 2-23, 2-36, 2-37, 2-38, 2-40 Sept 25
2 Chapter 3 3-1, 3-2, 3-3, 3-4, 3-5, 3-6 Oct 16
3 Chapter 5, 4 5-4, 5-6, 5-8; 4-10, 4-13, 4-15 Nov 20
4 Chapter 6 6-8, 6-9 (use Euler-Lagrange Method), 6-13, 6-14 Dec 4


Laboratories

Labs take place in BA3114 and are performed in groups of two or three students. Lab groups are formed in the first lab. There are no make-up labs; you may not switch lab sections; and all labs must be performed in person, without exception, unless prior permission has been obtained from the instructor (only).

Lab 0 is an introduction to the KUKA robots and has no preparation or report, but it is a mandatory safety lab to proceed. Please note that you cannot continue in the course if you do not attend Lab 0. Labs 1-4 include a preparation and in-lab documents, both submitted on Quercus. The preparation is worth 3 marks, the in-lab component is worth 2 marks, and the report or code submission is worth 5 marks. For Labs 1-4, each group will submit a preparation on Quercus before the scheduled lab. Pre-labs that are submitted late will have 2 marks deducted.

One week after the scheduled lab by 5pm, each lab group will submit on Quercus any documents for the in-lab component, as per the lab sheet instructions. This second submission includes any matlab files and results for in-lab activities. Note that Quercus allows multiple attempts to submit materials, so the first attempt may be used for the preparation and the second attempt for the in-lab component. Lab documents that are submitted late will have 2 marks deducted for each day. Finally, the instructions provided here override any variations you may see in the individual lab sheets.

Section Day and Time Lab 0 Lab 1 Lab 2 Lab 3 Lab 4
PRA 01 Mon 1-4pm Sept 21 Oct 5 Oct 19 Nov 9 Nov 23
PRA 02 Mon 1-4pm Sept 28 Oct 12 Nov 2 Nov 16 Nov 30
PRA 03 Tue 3-6pm Sept 22 Oct 6 Oct 20 Nov 10 Nov 24
PRA 04 Tue 3-6pm Sept 29 Oct 13 Nov 3 Nov 17 Dec 1
PRA 05 Mon 9-12pm Sept 21 Oct 5 Oct 19 Nov 9 Nov 23
PRA 06 Mon 9-12pm Sept 28 Oct 12 Nov 2 Nov 16 Nov 30


Grading

Labs 25% Includes preparation, lab work, and report
Homework 5%  
Midterm 30% Friday, October 23, 6-8pm
Final Exam 40% TBA