ECE470 Robot Modeling and Control
(Last updated: October 20, 2020)
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

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

Anurag Agarwal
 GB348
 PRA 01, PRA 02
 anurag.agarwal at mail.utoronto.ca

Erin Battle
 GB348
 PRA 03, PRA 04, PRA05
 erin.battle at mail.utoronto.ca

Emily Vukovich
 GB348
 PRA 06, PRA 07, PRA08
 emily.vukovich at mail.utoronto.ca

Tutorial Schedule
Section 
TA 
Tutorial Dates 
TUT 01, TUT 02
 Tian Xia
 Sept 21, Sept 28, Oct 5, Oct 12, Oct 19, Oct 26, Nov 2, Nov 16, Nov 23, Nov 30, Dec 7

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 
Due Dates 
1 
Sept 7 
1 
Introduction 



2 
Common kinematic configurations 

2 
Sept 14 
3 
Rigid motions; Points and vectors; Rotations 



4 
Rotation matrices; Elementary rotations; Rotational transformations 



5 
Change of reference frame; Composition of rotations 

3 
Sept 21 
6 
Euler angles; Rigid motions 
Tutorial 1 


7 
Change of coordinates; Composition of rigid motions; Homogeneous transformations 



8 
Elementary homogeneous transformations; Forward kinematics; DH convention 

4 
Sept 28 
9 
DH convention exceptions; Examples 
Tutorial 2 


10 
DH table to homogeneous transformation matrices; Inverse kinematics problem 



11 
Inverse kinematics problem 
Homework 1 
5 
Oct 5 
12 
Inverse orientation problem; Velocity kinematics 
Tutorial 3 


13 
Angular velocity 



14 
Instantaneous axis of rotation; Linear velocity;
Addition of angular velocities 
Lab 1 
6 
Oct 12 
15 
Robot Jacobian 
Tutorial 4 


16 
Inverse velocity kinematics 



17 
Inverse velocity kinematics; End effector forces and torques 
Homework 2 
7 
Oct 19 
18 
Kinematic singularities 
Tutorial 5 


19 
Motion planning; Artificial potential approach 



20 
Attractive potential design; Repulsive potential 

8 
Oct 26 
21 
Repulsive potential; Gradient descent 
Tutorial 6 


22 
Spline interpolation 



23 
Decentralized control of robots 
Lab 2, Homework 3 
9 
Nov 2 
24 
Robot modeling: mass particle example 
Tutorial 7 


25 
Robot modeling; holonomic constraints; Generalized coordinates 



26 
Virtual displacements; Lagrange D'Alembert principle; Euler Lagrange equations 
Midterm 

Nov 9 

Reading Week
 
10 
Nov 16 
27 
Euler Lagrange equation; Kinetic energy of a rigid body 
Tutorial 8 


28 
Kinetic energy of a rigid body 



29 
Derivation of robot Lagrangian 
Lab 3 
11 
Nov 23 
30 
Equations of motion of a robot; Pendulum on a cart example 
Tutorial 9 


31 
Pendulum on a cart example; Double pendulum 



32 
Double pendulum; Centralized Robot control; Feedback linearization 
Homework 4 
12 
Nov 30 
33 
Feedback linearization; Equilibria and stability; Lyapunov's stability theorem 
Tutorial 10 


34 
LaSalle's invariance principle 



35 
PD control with gravity compensation 

13 
Dec 7 
36 
Passivitybased controllers; Adaptive control 
Tutorial 11, Lab 4 
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 
1, 2, 10, 11, 12, 13, 15, 23, 37, 38, 39, 41 
Oct 2 
2 
Chapter 3 
2, 3, 4, 5, 6, 7, 13 
Oct 16 
3 
Chapter 3 
15, 18; Chapter 4: 13 (swap phi and psi in problem statement), 15, 18, 20 
Oct 30 
4 
Chapter 7 
7, 8 (use EulerLagrange Method), 12, 13 
Nov 27 
Laboratories
Labs are Matlabbased and performed in groups of one or two. You may select your own
lab partner, or your assigned practical TA will help you form a group.
Each student submits a preparation.
Each group submits a lab report or Matlab code, depending on the lab instructions.
Lab preps and reports are submitted on Quercus to your assigned practical section
by 5pm on the due date.
Section 
Lab 1 
Lab 2 
Lab 3 
Lab 4 
PRA 0108
 Oct 9
 Oct 23
 Nov 20
 Dec 7

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

Midterm 
35% 
Friday, November 6 
Final Exam 
25% 
TBA 