ECE 780 T03: Robot Dynamics and Control (Spring 2023)

Time and place
Thursday 13:00-14:20, E7 4043
Friday 13:00-14:20, E7 4053
Office hours
Tuesday 15:00-17:00
Description
This course will introduce students to dynamic modeling and control techniques for robotic systems, and expose them to some cutting-edge research. The course will be divided into five modules, corresponding to the following topics:
  1. Dynamics of manipulators
  2. Control of manipulators
  3. Kinematics of mobile robots
  4. Control of mobile robots
  5. Optimization-based robot control
Each module will be presented during lectures supported by interactive demonstrations with the Franka Emika manipulator robot (https://www.franka.de/research) in the RoboHub. The concepts will be reinforced through homeworks containing both theoretical exercises and programming assignments (Python or MATLAB). The course will also include a project which will allow students to implement robot control algorithms on the mobile manipulator DJI RoboMaster EP (https://www.dji.com/ca/robomaster-ep).
Prerequisites
There are no formal prerequisites for the course. Some knowledge of linear algebra, rigid body dynamics, feedback control systems, and mathematical optimization can make life a bit easier.
Reading
There is no required textbook. The following texts will be used for parts of the course.
  1. Mark Spong, Seth Hutchinson, and Mathukumalli Vidyasagar, Robot modeling and control, John Wiley & Sons, 2020
  2. Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, and Giuseppe Oriolo, Robotics. Modelling, planning and control, Springer, 2009
  3. Stephen Boyd and Lieven Vandenberghe, Convex optimization, Cambridge University Press, 2004
  4. Magnus Egerstedt, Robot Ecology: Constraint-Based Design for Long-Duration Autonomy, Princeton University Press, 2021
Additional reading material will be provided as appropriate.
Delivarables and grading
  • Homeworks
    • 4 homeworks
    • 15% each
  • Project
    • Midterm project report: 10%
    • Final project report: 20%
    • Project code: 10%
Project details
The project will consist of a mobile manipulation task using the DJI RoboMaster EP programmed in Python. The deliverables will be three:
  1. A midterm report, in the form a PDF document of maximum 3 pages, describing the progress made and the results obtained so far
  2. A final report, in the form of a PDF document of maximum 6 pages, structured as follows:
    • Section I: Proposed approach
    • Section II: Results
    • Section III: Discussion
  3. The code developed to complete the project
The work will be carried out in groups of 2 or 3 people. The reports must be accompanied by the detailed description of the work carried out by each member of the group, including what sections of each report were written by whom. The reports must be formatted using the IEEE conference template (https://www.ieee.org/conferences/publishing/templates.html).
Project details (Alternative for MASc students)
The project will consist of the solution to a problem in the student's research area using the techniques covered during the course. The deliverables will be four:
  1. A proposal, in the form of a 1-page PDF document, structured as follows:
    • Section I: Problem description
    • Section II: Novelty and/or impact
    • Section III: How robot dynamics and control techniques play a key role
    • Section IV: Technical challenges
    • Section V: Metric for success
    • Section VI: Timeline
  2. A midterm report, in the form a PDF document of maximum 3 pages, describing the progress made and the results obtained so far
  3. A final report, in the form of a PDF document of maximum 6 pages, structured as follows:
    • Section I: Introduction
    • Section II: Literature review
    • Section III: Materials and methods
    • Section IV: Results
    • Section V: Discussion
  4. The code developed to complete the project
Additionally, a short video (maximum 1 minute) to supplement the results may also be attached. All documents must be formatted using the IEEE conference template (https://www.ieee.org/conferences/publishing/templates.html).
Audit policy
Either the homeworks or the project must be completed to audit the course.
Policy on Academic Integrity
Academic Integrity To maintain a culture of academic integrity, members of the University of Waterloo are expected to promote honesty, trust, fairness, respect and responsibility. A student is expected to know what constitutes academic integrity, to avoid committing academic offences, and to take responsibility for their actions. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about “rules” for group work/collaboration should seek guidance from course instructor, academic advisor, or Graduate Associate Dean. When misconduct has been found to have occurred, disciplinary penalties will be imposed under Policy 71 - Student Discipline. For information on categories of offenses and types of penalties, students should refer to Policy 71 - Student Discipline, \url{https://uwaterloo.ca/secretariat/policies-procedures-guidelines/policy-71}.
Grievance A student who believes that a decision affecting some aspect of their University life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70 - Student Petitions and Grievances, Section 4, \url{https://uwaterloo.ca/secretariat/policies-procedures-guidelines/policy-70}.
Discipline A student is expected to know what constitutes academic integrity (\url{https://uwaterloo.ca/academic-integrity}) to avoid committing an academic offence, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about ``rules'' for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate Associate Dean.
Appeals A student may appeal the finding and/or penalty in a decision made under Policy 70 - Student Petitions and Grievances (other than regarding a petition) or Policy 71 - Student Discipline if a ground for an appeal can be established. Read Policy 72 - Student Appeals, \url{https://uwaterloo.ca/secretariat/policies-procedures-guidelines/policy-72}.
Note for students with disabilities The Office for persons with Disabilities (OPD), located in Needles Hall, Room 1132, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with the OPD at the beginning of each academic term.
Academic Integrity Office (UW) https://uwaterloo.ca/academic-integrity/.
Schedule
Date Subject Optional reading HW/project due
DYNAMICS OF MANIPULATORS
May 11 Rigid body transformations 2 [1], 2 [2]
May 12 Direct kinematics 4 [1], 3 [2]
May 18 Differential kinematics 3 [1], 2 [2]
May 19 Inverse kinematics 5 [1], 3 [2]
May 25 Lagrange formulation 6 [1], 7 [2]
May 26 Dynamics model of manipulators 6 [1], 7 [2] HW1
 
CONTROL OF MANIPULATORS
Jun 1 Decentralized control 8 [1], 8 [2] Project groups/proposal
Jun 2 Centralized control 9 [1], 8 [2]
Jun 8 Operational space control 9 [1], 8 [2]
Jun 9 Impedance and admittance control 9 [1], 8 [2] HW2
 
KINEMATICS OF MOBILE ROBOTS
Jun 15 Kinematic constraints 14 [1], 11 [2]
Jun 16 Kinematic model 14 [1], 11 [2]
Jun 22 Dynamic model 14 [1], 11 [2]
Jun 23 Controllability 14 [1], 11 [2] HW3
 
CONTROL OF MOBILE ROBOTS
Jun 29 Control of driftless systems 14 [1], 11 [2]
Jun 30 Control of driftless systems 14 [1], 11 [2] Midterm project report
Jul 6 Differential flatness 14 [1], 11 [2]
Jul 7 Control of differentially flat systems 14 [1], 11 [2] HW4
 
OPTIMIZATION-BASED ROBOT CONTROL
Jul 13 Recap of mathematical optimization 1 [3], lecture notes
Jul 14 Constrained convex optimization 4, 5 [3], lecture notes
Jul 20 Stability and control Lyapunov functions 4 [4], lecture notes
Jul 21 Invariance and control barrier functions 4 [4], lecture notes
Jul 27 Combining stability and invariance tasks 4 [4], lecture notes
Jul 28 Research challenges and opportunities Final project report