ECE470 Robot Modeling and Control (Last updated: October 11, 2025)

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 Mon 3-4pm SF1101  
  Wed 3-4pm SF1101 Starts September 3
  Fri 3-4pm SF1101  


Tutorial Schedule

Section TA Day and Time Location Tutorial Dates
TUT 01/02 Lukasz Jagodzinski Mon 10-11am GB304 Starts Sept 8


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


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 26
2 Chapter 3 3-1, 3-2, 3-3, 3-4, 3-5, 3-6 Oct 17
3 Chapter 5, 4 5-4, 5-6, 5-8; 4-10, 4-13, 4-15 Nov 14
4 Chapter 6 6-8, 6-9 (use Euler-Lagrange Method), 6-13, 6-14 Nov 28


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 Fri 12-3pm Sept 19 Oct 3 Oct 17 Nov 7 Nov 21
PRA 02 Fri 12-3pm Sept 26 Oct 10 Oct 24 Nov 14 Nov 28
PRA 03 Thu 9-12am Sept 18 Oct 2 Oct 16 Nov 6 Nov 20
PRA 04 Thu 9-12am Sept 25 Oct 9 Oct 23 Nov 13 Nov 27
PRA 05 Thu 3-6pm Sept 18 Oct 2 Oct 16 Nov 6 Nov 20
PRA 06 Thu 3-6pm Sept 25 Oct 9 Oct 23 Nov 13 Nov 27
PRA 07 Thu 12-3pm Sept 18 Oct 2 Oct 16 Nov 6 Nov 20
PRA 08 Thu 12-3pm Sept 25 Oct 9 Oct 23 Nov 13 Nov 27


Grading

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