ECE470 Robot Modeling and Control
(Last updated: October 22, 2021)
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
 GB434A
 LEC 01
 broucke at control.utoronto.ca

Anurag Agarwal
 GB348
 PRA 06
 anurag.agarwal at mail.utoronto.ca

Lukas Brunke
 GB348
 PRA 03, PRA 07
 lukas.brunke at mail.utoronto.ca

Rein Otsason
 GB348
 TUT 01, TUT 02
 rein.otsason at mail.utoronto.ca

Gianluca Villani
 GB348
 PRA 02
 gianluca.villani at mail.utoronto.ca

Siqi Zhou
 GB348
 PRA 01, PRA 04
 siqi.zhou at mail.utoronto.ca

Lecture Schedule
Section 
Day and Time 
Location 
Dates 
LEC 01
 Tue 1213
 GB244


 Wed 1617
 GB244


 Fri 1617
 GB244
 Starts September 10

Tutorial Schedule
Section 
TA 
Day and Time 
Location 
Tutorial Dates 
TUT 01
 Rein Otsason
 Mon 1214
 BA2185
 Sept 20, Oct 4, Oct 18, Nov 1 (office hrs), Nov 22, Dec 6

TUT 02
 Rein Otsason
 Mon 1214
 BA2175
 Sept 27, Oct 11 (Thanksgiving), Oct 25, Nov 15, Nov 29

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

2 
Sept 13 
2 
Common kinematic configurations; Points and vectors; Coordinate transformations 



3 
Rotation matrices; Elementary rotations; Rotational transformations 



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

3 
Sept 20 
5 
Rigid motions; Composition of rigid motions; Homogeneous transformations 
TUT 011 


6 
Forward kinematics problem 



7 
Forward kinematics problem; Frame assignment algorithm 

4 
Sept 27 
8 
DH convention 
TUT 021 


9 
DH convention examples 



10 
DH parameters 

5 
Oct 4 
11 
DH table to homogeneous transformations 
TUT 012, Homework 1 


12 
Inverse kinematics problem; Kinematic decoupling 



13 
Kinematic decoupling 

6 
Oct 11 
14 
Velocity kinematics; Addition of angular velocities 
TUT 022 (Thanksgiving) 


15 
Velocity kinematics problem 



16 
Robot Jacobians 

7 
Oct 18 
17 
Robot Jacobian examples 
TUT 013 


18 
Inverse velocity kinematics; Inverse kinematics without kinematic decoupling;
End effector force and torque 



19 
Independent joint control 
Homework 2 
8 
Oct 25 
20 
Motion planning algorithm 
TUT 023 


21 
Attractive and repulsive forces 



22 
Gradient descent algorithm; Cublic splines 

9 
Nov 1 
23 
Robot modeling: mass particle example 
Midterm 


24 
Robot modeling; Holonomic constraints; Generalized coordinates 



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


Nov 8 

Fall Break
 
10 
Nov 15 
26 
Euler Lagrange equation; Kinetic energy of a rigid body 
TUT 024 


27 
Kinetic energy of a rigid body 



28 
Derivation of robot Lagrangian 

11 
Nov 22 
29 
Equations of motion of a robot; Pendulum on a cart example 
TUT 014, Homework 3 


30 
Pendulum on a cart example; Double pendulum 



31 
Double pendulum; Centralized Robot control; Feedback linearization 

12 
Nov 29 
32 
Feedback linearization; Equilibria and stability; Lyapunov's stability theorem 
TUT 025 


33 
LaSalle's invariance principle 



34 
PD control with gravity compensation 

13 
Dec 6 
35 
Passivitybased control 
TUT 015, 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 4 
2 
Chapter 3 
31, 32, 33, 34, 35, 36 
Oct 22 
3 
Chapter 5, 4 
54, 56, 58; 410, 413, 415 
Nov 22 
4 
Chapter 6 
68, 69 (use EulerLagrange Method), 613, 614 
Dec 6 
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. Lab 0 is an introduction to the KUKA robots and has no
preparation or report. 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/present to the TA a preparation at the
beginning of the lab. This preparation must also be uploaded on Quercus.
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
 Wed 1215
 Sept 15
 Oct 13
 Oct 27
 Nov 17
 Dec 1

PRA 02
 Wed 1215
 Sept 22
 Oct 20
 Nov 3
 Nov 24
 Dec 8

PRA 03
 Thu 912
 Sept 9
 Oct 7
 Oct 21
 Nov 4
 Nov 25

PRA 04
 Thu 912
 Sept 16
 Oct 14
 Oct 28
 Nov 18
 Dec 2

PRA 06
 Fri 912
 Sept 17
 Oct 15
 Oct 29
 Nov 19
 Dec 3

PRA 07
 Thu 1518
 Sept 9
 Oct 7
 Oct 21
 Nov 4
 Nov 25

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

Midterm 
30% 
Monday, November 1, 68pm 
Final Exam 
40% 
TBA 