ECE470 Robot Modeling and Control
(Last updated: November 19, 2017)
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

Zach Kroeze
 GB348
 TUT 01, TUT 02
 zach.kroeze at mail.utoronto.ca

Andrew Lim
 GB348
 PRA 05, PRA 06
 andrewwilliam.lim at mail.utoronto.ca

Tian Xia
 GB348
 PRA 01, PRA 02, PRA 07
 t.xia at mail.utoronto.ca

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

Lecture Schedule
Section 
Day and Time 
Location 
Dates 
LEC 01
 Mon 910
 WB119
 October 2 in HA403

 Wed 910
 WB119


 Fri 1112
 HA403
 Starts September 8

Tutorial Schedule
Section 
TA 
Day and Time 
Location 
Tutorial Dates 
TUT 01
 Zach Kroeze
 Fri 911
 BA2155
 Sept 22, Oct 6, Oct 20, Nov 3, Nov 17, Dec 1

TUT 02
 Zach Kroeze
 Fri 911
 BA2155
 Sept 15, Sept 29, Oct 13, Oct 27, Nov 10, Nov 24

Textbook

Spong, Hutchinson, Vidyasagar. Robot Modeling and Control . Wiley, 2006.
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 
1 
Sept 4 
1 
Introduction 
2 
Sept 11 
2 
Common kinematic configurations 


3 
Rigid motions; Points and vectors; Rotations 


4 
Rotation matrices; Elementary rotations; Rotational transformations 
3 
Sept 18 
5 
Change of reference frame; Composition of rotations 


6 
Euler angles; Rigid motions 


7 
Change of coordinates; Composition of rigid motions; Homogeneous transformations 
4 
Sept 25 
8 
Elementary homogeneous transformations; Forward kinematics; DH convention 


9 
DH convention exceptions; Examples 


10 
DH table to homogeneous transformation matrices; Inverse kinematics problem 
5 
Oct 2 
11 
Inverse kinematics problem 


12 
Inverse orientation problem; Velocity kinematics 


13 
Angular velocity 
6 
Oct 9 
14 
Instantaneous axis of rotation; Linear velocity; Addition of angular velocities 


15 
Robot Jacobian 


16 
Inverse velocity kinematics 
7 
Oct 16 
17 
Inverse velocity kinematics; End effector forces and torques 


18 
Kinematic singularities 


19 
Motion planning; Artificial potential approach 
8 
Oct 23 
20 
Attractive potential design; Repulsive potential 


21 
Repulsive potential; Gradient descent 


22 
Spline interpolation 
9 
Oct 30 
23 
Decentralized control of robots 


24 
Robot modeling: mass particle example 


25 
Robot modeling; holonomic constraints; Generalized coordinates 
10 
Nov 6 
26 
Virtual displacements; Lagrange D'Alembert principle; EulerLagrange equations 


27 
Euler Lagrange equation; Kinetic energy of a rigid body 


28 
Kinetic energy of a rigid body 
11 
Nov 13 
29 
Derivation of robot Lagrangian 


30 
Equations of motion of a robot; Pendulum on a cart example 


31 
Pendulum on a cart example; Double pendulum 
12 
Nov 20 
32 
Double pendulum; Centralized Robot control; Feedback linearization 


33 
Feedback linearization; Equilibria and stability; Lyapunov's stability theorem 


34 
LaSalle's invariance principle 
13 
Nov 27 
35 
PD control with gravity compensation 


36 
Passivity; passivitybased control 


37 
Passivitybased controllers; Adaptive control 
14 
Dec 4 
38 
Adaptive passivitybased control and computer demo 


39 
TBA 
Homework
Homework problems are turned in at the beginning of the lecture on the dates below.
Homeworks are graded based on (seriously) attempted problems, not correctness.
Homeworks that are clearly written out and reasonably complete are given a mark of 1.
Messy or largely incomplete homeworks are given a mark of 0.
Homework 
Chapter 
Problems 
Due Date 
1 
Chapter 2 
1, 2, 10, 11, 12, 13, 15, 23, 37, 38, 39, 41 
Oct 6 
2 
Chapter 3 
2, 3, 4, 5, 6, 7, 13 
Oct 20 
3 
Chapter 3 
15, 18; Chapter 4: 13 (swap phi and psi in problem statement), 15, 18, 20 
Nov 17 
4 
Chapter 7 
7, 8 (use EulerLagrange Method), 12, 13 
Dec 1 
Laboratories
Labs take place in BA3114 and are performed in groups of two students.
Each lab includes a preparation and a report.
The preparation for the first lab is submitted individually. Thereafter,
each group submits one preparation at the beginning of the lab and
one report one week after the scheduled lab (one report per group), in a
drop box labeled "ECE470", box #15, basement of Sandford Fleming.
There are no makeup labs. If you miss a lab you cannot show up at a
different lab section. You may not switch lab sections. The TA will take
attendance at each lab session.
Section 
Day and Time 
Lab 1 
Lab 2 
Lab 3 
Lab 4 
PRA 01
 Thu 912
 Oct 5
 Oct 19
 Nov 16
 Nov 30

PRA 02
 Thu 912
 Sept 28
 Oct 12
 Nov 9
 Nov 23

PRA 03
 Thu 1518
 Oct 5
 Oct 19
 Nov 16
 Nov 30

PRA 04
 Thu 1518
 Sept 28
 Oct 12
 Nov 9
 Nov 23

PRA 05
 Tue 1518
 Sept 26
 Oct 10
 Nov 7
 Nov 21

PRA 06
 Tue 1518
 Oct 3
 Oct 17
 Nov 14
 Nov 28

PRA 07
 Mon 1518
 Sept 25
 Oct 16
 Nov 6
 Nov 20

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

Midterm 
25% 
Monday, October 23, 68pm, MC 252 
Final Exam 
50% 
December 8, 25pm 