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
-
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 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 |