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
-
Spong, Hutchinson, Vidyasagar. Robot Modeling and Control . Wiley, 2020.
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 |