ECE470 Robot Modeling and Control
(Last updated: October 18, 2023)
Course Description
Classification of robot manipulators, kinematic modeling, forward and inverse kinematics, velocity kinematics, path planning, pointtopoint trajectory planning, dynamic modeling, EulerLangrange equations, inverse dynamics, joint control, computed torque control, passivitybased 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

Mohamed Hafez
 GB348
 TUT 01, TUT 02
 mohamed.hafez at mail.utoronto.ca

Luiz Dias Navarro
 GB348
 PRA01, PRA02
 luiz.navarro at mail.utoronto.ca

Masoud Moghani
 GB348
 PRA05, PRA06
 masoud.moghani at mail.utoronto.ca

Mohamed Hafez
 GB348
 PRA03, PRA04
 mohamed.hafez at mail.utoronto.ca

Lecture Schedule
Section 
Day and Time 
Location 
Dates 
LEC 01
 Mon 56pm
 BA1190


 Wed 56pm
 BA1130


 Thu 56pm
 BA1190
 Starts September 7

Tutorial Schedule
Section 
TA 
Day and Time 
Location 
Tutorial Dates 
TUT 01
 Mohamed Hafez
 Wed 34pm
 SF3201
 Starts Sept 13

TUT 02
 Mohamed Hafez
 Thu 45pm
 GB244
 Starts Sept 14

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

2 
Sept 11 
2 
Common kinematic configurations; Points and vectors 



3 
Rotation matrices; Elementary rotations; Rotational transformations 



4 
Change of reference frame; Composition of rotations; Euler angles 

3 
Sept 18 
5 
Rigid motions; Composition of rigid motions; Homogeneous transformations 



6 
Forward kinematics problem 



7 
Frame assignment algorithm 

4 
Sept 25 
8 
Frame assignment examples, DH parameters 



9 
DH parameter examples, DH table to homogeneous transformations 



10 
Inverse kinematics problem 

5 
Oct 2 
11 
Kinematic decoupling; Inverse orientation problem 
Homework 1 


12 
Velocity Kinematics
 


13 
Velocity Kinematics
 
6 
Oct 9 
14 
Thanksgiving 



15 
Robot Jacobian derivation 



16 
Robot Jacobian examples 

7 
Oct 16 
17 
Inverse velocity kinematics; Inverse kinematics without kinematic decoupling;
End effector force and torque 



18 
Motion planning algorithm 



19 
Attractive and repulsive forces 

8 
Oct 23 
20 
Gradient descent algorithm; Cublic splines 
Homework 2 


21 
Independent joint control 



22 
Robot modeling: mass particle example 

9 
Oct 30 
23 
Robot modeling; Holonomic constraints; Generalized coordinates 


Nov 1 
24 
Midterm 



25 
Virtual displacements; Lagrange D'Alembert principle; EulerLagrange equations 


Nov 6 

Fall Break
 
10 
Nov 13 
26 
Euler Lagrange equation; Kinetic energy of a rigid body 



27 
Kinetic energy of a rigid body 



28 
Derivation of robot Lagrangian 

11 
Nov 20 
29 
Equations of motion of a robot; Pendulum on a cart example 
Homework 3 


30 
Pendulum on a cart example; Double pendulum 



31 
Double pendulum; Centralized Robot control; Feedback linearization 

12 
Nov 27 
32 
Feedback linearization; Equilibria and stability; Lyapunov's stability theorem 



33 
LaSalle's invariance principle 



34 
PD control with gravity compensation 

13 
Dec 4 
35 
Passivitybased control 
Homework 4 


36 
Passivitybased 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 
21, 22, 210, 211, 212, 213, 215, 223, 236, 237, 238, 240 
Oct 2 
2 
Chapter 3 
31, 32, 33, 34, 35, 36 
Oct 23 
3 
Chapter 5, 4 
54, 56, 58; 410, 413, 415 
Nov 20 
4 
Chapter 6 
68, 69 (use EulerLagrange Method), 613, 614 
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 makeup 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.
Lab 0 is an introduction to the KUKA robots and has no preparation or report, but
it is a mandatory safety lab to proceed. Labs 14 include a preparation and inlab
documents, both submitted on Quercus. The preparation is worth 3 marks and the inlab
component is worth 7 marks.
For Labs 14, each group will submit a preparation on Quercus two days before the scheduled
lab. Your Lab TA will review your work to make sure you are ready to perform the lab.
One week after the scheduled lab by 5pm, each lab group will submit on Quercus any documents
for the inlab component, as per the lab sheet instructions. This second submission includes
any matlab files and results for inlab 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 inlab component. 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 123pm
 Sept 15
 Oct 13
 Oct 27
 Nov 17
 Dec 1

PRA 02
 Fri 123pm
 Sept 22
 Oct 6
 Oct 20
 Nov 3
 Nov 24

PRA 03
 Tue 36pm
 Sept 12
 Oct 10
 Oct 24
 Nov 14
 Nov 28

PRA 04
 Fri 36pm
 Sept 22
 Oct 6
 Oct 20
 Nov 3
 Nov 24

PRA 05
 Thu 123pm
 Sept 14
 Oct 12
 Oct 26
 Nov 16
 Nov 30

PRA 06
 Thu 123pm
 Sept 21
 Oct 5
 Oct 19
 Nov 2
 Nov 23

Grading
Labs 
25% 
Includes preparation, lab work, and report 
Homework 
5% 

Midterm 
30% 
Wednesday, November 1, 57pm 
Final Exam 
40% 
TBA 