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


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