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, 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
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


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 Passivity-based 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 Euler-Lagrange Method), 12, 13 Nov 27


Laboratories

Labs are Matlab-based 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 01-08 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