ECE470 Robot Modeling and Control
(Last updated: October 2, 2024)
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
|
Saima Ali
| GB348
| TUT 01, 02
| saiima.ali at mail.utoronto.ca
|
Liza Babaoglu
| GB348
| PRA05, PRA06
| liza.babaoglu at mail.utoronto.ca
|
Deniz Jafari
| GB348
| PRA07, PRA08
| deniz.jafari at mail.utoronto.ca
|
Koorosh Moslemi
| GB348
| PRA05, PRA06
| koorosh.moslemi at mail.utoronto.ca
|
Luiz Dias Navarro
| GB348
| PRA01, PRA02
| luiz.navarro at mail.utoronto.ca
|
Bryan Pawlina
| GB348
| PRA01, PRA02
| bryanpawlina22 at gmail.com
|
Gautham Raj Palanivel Rajan
| GB348
| PRA03, PRA04
| gauthamraj3000 at gmail.com
|
Trent Suzuki
| GB348
| PRA07, PRA08
| t.suzuki at mail.utoronto.ca
|
Stephen Yang
| GB348
| PRA03, PRA04
| stephy.yang at mail.utoronto.ca
|
Lecture Schedule
Section |
Day and Time |
Location |
Dates |
LEC 01
| Mon 2-3pm
| SF3202
|
|
| Wed 2-3pm
| SF3202
| Starts September 4
|
| Thu 3-4pm
| SF3202
|
|
Tutorial Schedule
Section |
TA |
Day and Time |
Location |
Tutorial Dates |
TUT 01/02
| Saima Ali
| Thu 12-1pm
| SF2202
| Starts Sept 12
|
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 4 |
1 |
Introduction |
|
|
Sept 5 |
2 |
Common kinematic configurations; Points and vectors |
|
2 |
Sept 9 |
3 |
Rotation matrices; Elementary rotations; Rotational transformations |
|
|
Sept 11 |
4 |
Change of reference frame; Composition of rotations; Euler angles |
|
|
Sept 12 |
5 |
Rigid motions; Composition of rigid motions; Homogeneous transformations |
|
3 |
Sept 16 |
6 |
Forward kinematics problem |
|
|
Sept 18 |
7 |
Frame assignment algorithm |
|
|
Sept 19 |
8 |
Frame assignment examples, DH parameters |
|
4 |
Sept 23 |
9 |
DH parameter examples, DH table to homogeneous transformations |
|
|
Sept 25 |
10 |
Inverse kinematics problem |
|
|
Sept 26 |
11 |
Kinematic decoupling; Inverse orientation problem |
Homework 1 |
5 |
Sept 30 |
12 |
Velocity Kinematics
| |
|
Oct 2 |
13 |
Velocity Kinematics
| |
|
Oct 3 |
14 |
Robot Jacobian derivation |
|
6 |
Oct 7 |
15 |
Robot Jacobian examples |
|
|
Oct 9 |
16 |
Inverse velocity kinematics; Inverse kinematics without kinematic decoupling;
End effector force and torque |
|
|
Oct 10 |
17 |
Motion planning algorithm |
|
7 |
Oct 14 |
18 |
Thanksgiving |
|
|
Oct 16 |
19 |
Attractive and repulsive forces |
|
|
Oct 17 |
20 |
Gradient descent algorithm; Cublic splines |
Homework 2 |
8 |
Oct 21 |
21 |
Independent joint control |
|
|
Oct 23 |
22 |
Robot modeling: mass particle example |
|
|
Oct 24 |
23 |
Midterm |
|
|
Oct 28 |
|
Fall Break
| |
9 |
Nov 4 |
24 |
Robot modeling; Holonomic constraints; Generalized coordinates |
|
|
Nov 6 |
25 |
Virtual displacements; Lagrange D'Alembert principle; Euler-Lagrange equations |
|
|
Nov 7 |
26 |
Euler Lagrange equation; Kinetic energy of a rigid body |
|
10 |
Nov 11 |
27 |
Kinetic energy of a rigid body |
|
|
Nov 13 |
28 |
Derivation of robot Lagrangian |
|
|
Nov 14 |
29 |
Equations of motion of a robot; Pendulum on a cart example |
Homework 3 |
11 |
Nov 18 |
30 |
Pendulum on a cart example; Double pendulum |
|
|
Nov 20 |
31 |
Double pendulum; Centralized Robot control; Feedback linearization |
|
|
Nov 22 |
32 |
Feedback linearization; Equilibria and stability; Lyapunov's stability theorem |
|
12 |
Nov 25 |
33 |
LaSalle's invariance principle |
|
|
Nov 27 |
34 |
PD control with gravity compensation |
|
|
Nov 28 |
35 |
Passivity-based control |
Homework 4 |
13 |
Dec 2 |
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.
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 48 hours before the scheduled
lab. Your Lab TA will review your work to make sure you are ready to perform the lab.
Pre-labs that are submitted late will have 1.5 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. 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
| Tue 3-6pm
| Sept 17
| Oct 1
| Oct 15
| Nov 5
| Nov 19
|
PRA 02
| Tue 3-6pm
| Sept 24
| Oct 8
| Oct 22
| Nov 12
| Nov 26
|
PRA 03
| Tue 9-12am
| Sept 17
| Oct 1
| Oct 15
| Nov 5
| Nov 19
|
PRA 04
| Tue 9-12am
| Sept 24
| Oct 8
| Oct 22
| Nov 12
| Nov 26
|
PRA 05
| Wed 9-12am
| Sept 18
| Oct 2
| Oct 16
| Nov 6
| Nov 20
|
PRA 06
| Wed 9-12am
| Sept 25
| Oct 9
| Oct 23
| Nov 13
| Nov 27
|
PRA 07
| Fri 12-3pm
| Sept 20
| Oct 4
| Oct 18
| Nov 8
| Nov 22
|
PRA 08
| Fri 12-3pm
| Sept 27
| Oct 11
| Oct 25
| Nov 15
| Nov 29
|
Grading
Labs |
25% |
Includes preparation, lab work, and report |
Homework |
5% |
|
Midterm |
30% |
Thursday, October 24, 5-7pm |
Final Exam |
40% |
TBA |