ECE470 Robot Modeling and Control (Last updated: October 18, 2023)

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
Mohamed Hafez GB348 TUT 01, TUT 02 mohamed.hafez at
Luiz Dias Navarro GB348 PRA01, PRA02 luiz.navarro at
Masoud Moghani GB348 PRA05, PRA06 masoud.moghani at
Mohamed Hafez GB348 PRA03, PRA04 mohamed.hafez at

Lecture Schedule

Section Day and Time Location Dates
LEC 01 Mon 5-6pm BA1190  
  Wed 5-6pm BA1130  
  Thu 5-6pm BA1190 Starts September 7

Tutorial Schedule

Section TA Day and Time Location Tutorial Dates
TUT 01 Mohamed Hafez Wed 3-4pm SF3201 Starts Sept 13
TUT 02 Mohamed Hafez Thu 4-5pm GB244 Starts Sept 14


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 7 1       Introduction  
2 Sept 11 2 Common kinematic configurations; Points and vectors  
    3 Rotation matrices; Elementary rotations; Rotational transformations  
    4 Change of reference frame; Composition of rotations; Euler angles  
3 Sept 18 5 Rigid motions; Composition of rigid motions; Homogeneous transformations  
    6 Forward kinematics problem  
    7 Frame assignment algorithm  
4 Sept 25 8 Frame assignment examples, DH parameters  
    9 DH parameter examples, DH table to homogeneous transformations  
    10 Inverse kinematics problem  
5 Oct 2 11 Kinematic decoupling; Inverse orientation problem Homework 1
    12 Velocity Kinematics  
    13 Velocity Kinematics  
6 Oct 9 14 Thanksgiving  
    15 Robot Jacobian derivation  
    16 Robot Jacobian examples  
7 Oct 16 17 Inverse velocity kinematics; Inverse kinematics without kinematic decoupling; End effector force and torque  
    18 Motion planning algorithm  
    19 Attractive and repulsive forces  
8 Oct 23 20 Gradient descent algorithm; Cublic splines Homework 2
    21 Independent joint control  
    22 Robot modeling: mass particle example  
9 Oct 30 23 Robot modeling; Holonomic constraints; Generalized coordinates  
  Nov 1 24 Midterm  
    25 Virtual displacements; Lagrange D'Alembert principle; Euler-Lagrange equations  
  Nov 6   Fall Break  
10 Nov 13 26 Euler Lagrange equation; Kinetic energy of a rigid body  
    27 Kinetic energy of a rigid body  
    28 Derivation of robot Lagrangian  
11 Nov 20 29 Equations of motion of a robot; Pendulum on a cart example Homework 3
    30 Pendulum on a cart example; Double pendulum  
    31 Double pendulum; Centralized Robot control; Feedback linearization  
12 Nov 27 32 Feedback linearization; Equilibria and stability; Lyapunov's stability theorem  
    33 LaSalle's invariance principle  
    34 PD control with gravity compensation  
13 Dec 4 35 Passivity-based control Homework 4
    36 Passivity-based control with adaptation  


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 2
2 Chapter 3 3-1, 3-2, 3-3, 3-4, 3-5, 3-6 Oct 23
3 Chapter 5, 4 5-4, 5-6, 5-8; 4-10, 4-13, 4-15 Nov 20
4 Chapter 6 6-8, 6-9 (use Euler-Lagrange Method), 6-13, 6-14 Dec 4


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. 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 a preparation on Quercus two days before the scheduled lab. Your Lab TA will review your work to make sure you are ready to perform the lab. 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 Fri 12-3pm Sept 15 Oct 13 Oct 27 Nov 17 Dec 1
PRA 02 Fri 12-3pm Sept 22 Oct 6 Oct 20 Nov 3 Nov 24
PRA 03 Tue 3-6pm Sept 12 Oct 10 Oct 24 Nov 14 Nov 28
PRA 04 Fri 3-6pm Sept 22 Oct 6 Oct 20 Nov 3 Nov 24
PRA 05 Thu 12-3pm Sept 14 Oct 12 Oct 26 Nov 16 Nov 30
PRA 06 Thu 12-3pm Sept 21 Oct 5 Oct 19 Nov 2 Nov 23


Labs 25% Includes preparation, lab work, and report
Homework 5%  
Midterm 30% Wednesday, November 1, 5-7pm
Final Exam 40% TBA