## Course Info

**Instructor**: Wei Zhang, College of Engineering North Tower 519**Time**: Monday 2:00- 3:50pm / Wednesday 10:20-12:10 am (even week)**Location**: 荔园 2栋 202 / 一教 506**TAs**: Zhen Fu, Ben Liu, Yangxing Shang**Recordings**: https://space.bilibili.com/474380277/channel/collectiondetail?sid=214337

## Description

The objective of this course is for students to develop the ability to recognize, formulate, and solve control problems within the context of robotic applications. We will introduce important concepts and tools for design and analysis of advanced robotic control systems. Topics include advanced rigid body kinematics and dynamics using product of exponentials, screw theory, and spatial vectors, nonlinear dynamical systems, Lyapunov stability, feedback linearization, optimal control and trajectory optimization, model predictive control, among others. An emphasis will be placed on developing competency in control and optimization theory and on applications within robotics.

## Objectives

- Develop solid analytical skills to conduct cutting edge research in control theory and robotics
- Train the student’s ability in formulating robotic control problems through optimization
- Develop advanced understanding in multibody dynamics using product of exponential, spatial vectors, and screw theory
- Develop good theoretic foundations on advanced control methods that are commonly used in robotics, including feedback linearization, optimal control, trajectory optimization, DDP, reachability, and MPC
- Use the theory learned in class to solve research problems of interest

## Lecture Notes

**Lecture 0: Course Information**[PDF]**Lecture 1: Linear Differential Equations and Matrix Exponential**[PDF][Noted]

Linear System Model, Matrix Exponential, Solution to Linear Differential Equations**Lecture 2: Rigid Body Configuration and Velocity**[PDF][Noted]

Rigid Body Configuration, Rigid Body Velocity(Twist), Geometric Aspect of Twist: Screw Motion**Lecture 3: Operator View of Rigid-Body Transformation**[PDF][Noted]

Rotation Operation with Rotation Matrix, Rigid-Body Operation with Homogeneous Transformation Matrix**Lecture 4: Exponential Coordinate of Rigid Body Configuration**[PDF][Noted]

Exponential Coordinate of SO(3), Euler Angles and Euler-Like Parameterizations, Exponential Coordinate of SE(3)**Lecture 5: Instantaneous Velocity of Moving Frames**[PDF][Noted]

Instantaneous Velocity of Rotating Frames, Instantaneous Velocity of Moving Frames**Lecture 6: Product of Exponential and Kinematics of Open Chain**[PDF][Noted]

Kinematics Background, Product of Exponential Formula Derivations**Lecture 7: Velocity Kinematics: Geometric and Analytic Jacobian of Open Chain**[PDF][Noted]

Velocity Kinematics Background, Geometric Jacobian Derivations, Analytic Jacobian**Lecture 8: Rigid Body Dynamics**[PDF][Noted]

Spatial Acceleration, Spatial Force (Wrench), Spatial Momentum, Newton-Euler Equation using Spatial Vectors**Lecture 9: Dynamics of Open Chains**[PDF][Noted]

Inverse Dynamics: Recursive Newton-Euler Algorithm (RNEA), Analytical Form of the Dynamics Model, Forward Dynamics Algorithms**Lecture 10: Basics of Stability Analysis**[PDF][Noted]

Lyapunov Stability Definitions and Theorem, Lyapunov Stability of Linear Systems, Converse Lyapunov Function, Extension to Discrete-Time System**Lecture 11: Basics of Optimization**[PDF][Noted]

Some Linear Algebra, Sets and Functions, Optimizaiton Inctroduction, Linear Program, and Quadratic Program**Lecture 12: Semidefinite Programming for Stability Analysis**[PDF][Noted]

Linear Matrix Inequalities, Semidefinite Programming Problems, S-Procedure**Lecture 13: Differential Inverse Kinematics**[PDF]

Inverse Kinematics Problem, Differential IK, Optimization based DIK, DIK with constraints**Lecture 14: Robot Motion Control**[PDF]

Motion Control Problems, Basic Linear Control Design, Motion Control with Velocity/Acceleration/Torque as Input, Task Space Inverse Dynamics

## Grading

Homework 20%

Mini-Project 15%

Quiz 10%

Midterm 25%

Final Exam 30%

## Homework and Projects

## Supporting Materials

Tutorial for Python Numpy and Matplotlib: [file]

## References

- “Mathematical introduction to robotic manipulation”, R. Murray, Z. Li, S. Sastry

https://www.cds.caltech.edu/~murray/books/MLS/pdf/mls94-complete.pdf - “Modern Robotics: Mechanics, Planning, and Control”, Kevin M. Lynch and Frank C. Park, Cambridge University Press, 2017, ISBN 9781107156302

http://hades.mech.northwestern.edu/index.php/Modern_Robotics - “Rigid Body Dynamics Algorithms”, Roy Featherston

https://www.springer.com/gp/book/9780387743141 - “Predictive Control for Linear and Hybrid Systems”, F. Borrelli, A. Bemporad, M. Morari, Cambridge University Press , July, 2017

http://www.mpc.berkeley.edu/mpc-course-material - “Calculus of Variations and Optimal Control Theory: A Concise Introduction”, Daniel Liberzon, Princeton University Press, 2011

http://liberzon.csl.illinois.edu/teaching/cvoc/cvoc.html - “Convex optimization”, Stephen Boyd, Cambridge University Press

https://web.stanford.edu/~boyd/cvxbook/ - Lecture notes, and papers distributed in class.