Bio Publications Students Teaching Contact Meeting on Systems and Control Theory

Manfredi Maggiore

PROFESSOR

Systems Control Group | Department of Electrical and Computer Engineering | University of Toronto
SCG | ECE | UofT

Teaching > ECE470S

ECE470S - Robot Modelling and Control (Winter 2024)

Calendar Description

3/1.50m/1m/0.50

III,IV-AECPEBASC, III,IV-AEELEBASC,
IV-AEESCBASER, IV-AEESCBASET,
IV-AEESCBASEZ

Classification of robot manipulators, kinematic modeling, forward and inverse kinematics, velocity kinematics, path planning, point-to-point trajectory planning, dynamic modeling, Euler-Lagrange equations, inverse dynamics, joint control, computed torque control, passivity-based control, feedback linearization.

Prerequisite: ECE311H1 or ECE356H1
Exclusion: AER525H11

Graduate Attributes

Reference: UofT Engineering Graduate Attributes Poster

Learning Objectives

This course gives a thorough coverage of the five foundational problems of manipulator robotics:

Instructor

M. Maggiore
GB344
maggiore (at) control.utoronto.ca

Teaching Assistants

Saima Alisaiima.ali (at) mail.utoronto.ca
Masoud Moghanimasoud.moghani (at) mail.utoronto.ca
Luiz Dias Navarroluiz.navarro (at) mail.utoronto.ca
Emily Vukovichemily.vukovich (at) mail.utoronto.ca

Lectures

Mon 5PM-6PMBA1210
Wed 5PM-6PMBA1210
Thu 5PM-6PMBA1210

Composition of Final Mark

Labs20%
Homework Assignments5%
Midterm Exam25%
Final Exam50%

Textbook

Spong, Hutchinson, Vidyasagar, Robot Modeling and Control, Wiley, 2006 or alternatively, the second edition of this book, published in 2020.

Note: previous versions (pre-2006) of this text cannot be used for this course.

Additional Reference Texts

Course Outline

Calendar of deliverables

Deliverable Due date
Assignment 1Jan 29
Assignment 2Feb 5
Assignment 3Mar 4
Midterm testMar 7
Assignment 4Apr 1
Assignment 5Apr 11

The calendar above does not contain lab deliverables. The dates of these will depend on the practical section you are in. See the Assignments section of Quercus for these deadlines.

Late Submission Policy

We do not accept late online submissions, under any circumstance. We do not accept submissions via email. This policy is strictly enforced for labs and assignments. A late submission will receive a mark of 0.

If you deem it unavoidable to submit a deliverable after the deadline, you need to contact the instructor before the deadline of the deliverable, explain the circumstances surrounding the expected delay, and check whether or not the instructor gives you permission to submit late. In the absence of such an advance permission, the policy above applies.

Midterm Exam

Date/Time Room
Thursday, March 7, 6-8PMEX310

Tutorials

Section Day and Time Dates
TUT101Fri 9-10AM, BA1220weekly starting on Jan 12

Homework Assignments

There are five homework assignments posted on Quercus. The first four assignments are taken from the textbook. You need to use the 2006 or 2020 editions of this text, as previous versions of the book contain different exercises. Each submission will be given full credit (1 out of 1), independently of its correctness, provided that it is clearly legible and complete. Poorly written or incomplete assignments will not be given credit. We will not post solutions of the assignments, but the most interesting/challenging problems will be solved in tutorials.

Laboratories (BA3114)

You will perform five labs in this course. The lab documents are posted on Quercus. The experimental setup used in the lab is the Kuka robot in the figure.

Lab 0 familiarizes you with the KUKA robot and safety procedures to work with it. Lab 1 is Matlab-based. In it, you'll write Matlab code implementing forward and inverse kinematics for a PUMA560 manipulator. Lab 2 is hardware-based, and it deals with the Kuka robot depicted in the figure. You will first familiarize yourself with safety procedures and learn how to manually move each of the robot axes. Then, you will adapt the code you've developed in Lab 1 to run on the actual Kuka robot. Using this adapted code, you will make the Kuka robot draw patterns on paper. Lab 3 is Matlab-based. You will write Matlab code for motion planning of a PUMA560 manipulator. Lab 4 is hardware-based. You will adapt the Lab 3 code for implementation in the actual Kuka robot. First, you'll make the robot pick up an object and drop it at a different location, while avoiding two large obstacles. Then, in a creative development phase, you'll develop your own motion planning algorithm making the Kuka robot perform more complex maneuvers.

All labs will be run in BA3114. Attendance is mandatory, and there are no make-up labs. Labs are performed in groups of two or three students. You will form groups at the beginning of Lab 0.

All labs, except lab 0, require a preparation. Each lab group submits the preparation on Quercus at least 48 hours before the beginning of the lab. After the lab is completed, each lab group submits their code, photos and videos (as applicable) on Quercus.

Section Day and Time Lab 0 Lab 1 Lab 2 Lab 3 Lab 4
PRA0101Tue 9AM-12PMJan 23Feb 6Feb 27Mar 12Mar 26
PRA0102Tue 9AM-12PMJan 30Feb 13Mar 5Mar 19Apr 2
PRA0103Thu 9AM-12PMJan 25Feb 8Feb 29Mar 14Mar 28
PRA0104Thu 9AM-12PMFeb 1Feb 15Mar 7Mar 21Apr 4

Lab policies