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, 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 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 12-13 GB244  
  Wed 16-17 GB244  
  Fri 16-17 GB244 Starts September 10


Tutorial Schedule

Section TA Day and Time Location Tutorial Dates
TUT 01 Rein Otsason Mon 12-14 BA2185 Sept 20, Oct 4, Oct 18, Nov 1 (office hrs), Nov 22, Dec 6
TUT 02 Rein Otsason Mon 12-14 BA2175 Sept 27, Oct 11 (Thanksgiving), Oct 25, Nov 15, Nov 29


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 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 01-1
    6 Forward kinematics problem  
    7 Forward kinematics problem; Frame assignment algorithm  
4 Sept 27 8 DH convention TUT 02-1
    9 DH convention examples  
    10 DH parameters  
5 Oct 4 11 DH table to homogeneous transformations TUT 01-2, Homework 1
    12 Inverse kinematics problem; Kinematic decoupling  
    13 Kinematic decoupling  
6 Oct 11 14 Velocity kinematics; Addition of angular velocities TUT 02-2 (Thanksgiving)
    15 Velocity kinematics problem  
    16 Robot Jacobians  
7 Oct 18 17 Robot Jacobian examples TUT 01-3
    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 02-3
    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; Euler-Lagrange equations  
  Nov 8   Fall Break  
10 Nov 15 26 Euler Lagrange equation; Kinetic energy of a rigid body TUT 02-4
    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 01-4, 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 02-5
    33 LaSalle's invariance principle  
    34 PD control with gravity compensation  
13 Dec 6 35 Passivity-based control TUT 01-5, Homework 4
    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 Oct 4
2 Chapter 3 3-1, 3-2, 3-3, 3-4, 3-5, 3-6 Oct 22
3 Chapter 5, 4 5-4, 5-6, 5-8; 4-10, 4-13, 4-15 Nov 22
4 Chapter 6 6-8, 6-9 (use Euler-Lagrange Method), 6-13, 6-14 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 make-up labs. You may not switch lab sections. Lab 0 is an introduction to the KUKA robots and has no preparation or report. Labs 1-4 include a preparation and in-lab documents, both submitted on Quercus. The preparation is worth 3 marks and the in-lab component is worth 7 marks.

For Labs 1-4, 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 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 Wed 12-15 Sept 15 Oct 13 Oct 27 Nov 17 Dec 1
PRA 02 Wed 12-15 Sept 22 Oct 20 Nov 3 Nov 24 Dec 8
PRA 03 Thu 9-12 Sept 9 Oct 7 Oct 21 Nov 4 Nov 25
PRA 04 Thu 9-12 Sept 16 Oct 14 Oct 28 Nov 18 Dec 2
PRA 06 Fri 9-12 Sept 17 Oct 15 Oct 29 Nov 19 Dec 3
PRA 07 Thu 15-18 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, 6-8pm
Final Exam 40% TBA