MSc: Fundamentals of Robot Control
Fundamentals of Robot Control
- Course name: Fundamentals of Robot Control
- Course number: F19
Course Characteristics
Key concepts of the class
- Introductory nonlinear control over dynamic systems with the focus on robotics
- Stability, pros and cons of nonlinear control systems
What is the purpose of this course?
Control theory is an integral part of modern robotics, and there is a high chance that most students majoring in Robotics would face the problems of controlling a physical plant (a robot, manipulator, drone, autonomous vehicle) in their research and graduation work as well as their professional careers. Therefore, the main purpose of this course is to prepare the students for solving practical control problems by teaching the most fundamental approaches of nonlinear control used in modern robotics applications.
Prerequisites
The course will benefit if students already know some topics of mathematics and programming.
Programming:
- python,
- numpy library,
- Google Colab environment
Math:
- CSE201 — Mathematical Analysis I
- CSE203 — Mathematical Analysis II: integration and differentiation, exponentials, gradient.
- CSE202 — Analytical Geometry and Linear Algebra I
- CSE204 — Analytic Geometry And Linear Algebra II: matrix multiplication, eigenvector and eigenvalue.
- CSE205 — Differential Equations: state-space representation, homogeneous and nonhomogeneous equations, general solution of linear 1st and 2nd order ODEs, stability of solutions.
- Linear control theory: concepts of feedback, open- and closed-loop systems, linear controllers (PD, PID)
How can students fill the gap?
- 3blue1brown playlist on Linear Algebra can help to overview selected topics.
- Most lectures of Steve Brunton on linear control will be useful.
- Kick start your numpy with the official quickstart guide.
Course objectives based on Bloom’s taxonomy
- What should a student remember at the end of the course?
By the end of the course, the students should be able to remember and differentiate
- Basic structure of differential equations describing motion of robotic manipulators,
- Motivation behind and the basic structure of feedback control systems,
- How to find control system’s error dynamics and methods to analyze it,
- General structure of linear controllers (P, PD, PID),
- Physical motivation behind Lyapunov stability analysis,
- Basic structure of robust control system.
- What should a student be able to understand at the end of the course?
By the end of the course, the students should be able to
- Name the main sources of nonlinearities in physical systems,
- Explain the cons of applying PID controllers to nonlinear systems,
- Understand pros and cons of feedback linearization method,
- Name pros and cons of robust control approach,
- Numerically solve differential equations in MATLAB environment.
- What should a student be able to apply at the end of the course?
By the end of the course, the students should be able to ...
- Know how to analyze stability of physical systems with Lyapunov direct method,
- Design feedback linearization systems,
- Synthesize robust control systems and tune them,
- Implement nonlinear control in MATLAB environment to simulate the behavior of multi-DOF robotic systems.
Course evaluation
Proposed points | ||
---|---|---|
Labs/seminar classes | 20 | 0 |
Interim performance assessment | 30 | 60 |
Exams | 50 | 40 |
If necessary, please indicate freely your course’s features in terms of students’ performance assessment:
The course grades are given according to the following rules: Homework assignments (4) = 20 pts, Quizzes (4) = 40 pts, Term project = 40 pts.
Grades range
Proposed range | ||
---|---|---|
A. Excellent | 90-100 | 80-100 |
B. Good | 75-89 | 60-79 |
C. Satisfactory | 60-74 | 40-59 |
D. Poor | 0-59 | 0-39 |
If necessary, please indicate freely your course’s grading features: The first year master course students come with very diverse backgrounds, and therefore the grade requirements for this course are relaxed.
Resources and reference material
The course is build based on these main textbooks:
- “Applied nonlinear control,” J.-J. Slotine & Weiping Li. Pearson, 1991.
- “Robotics: modelling, planning and control,” Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, and Giuseppe Oriolo. Springer Science & Business Media, 2010.
Other reference material:
- “Robot modeling and control,” Mark Spong, Seth Hutchinson, M. Vidyasagar. John Wiley & Sons, 2006.
- “Modern Control Systems” (13th Edition), Richard Dorf & Robert H. Bishop. Pearson, 2016.
- “Modern Robotics: Mechanics, Planning, and Control,” Kevin Lynch, Frank Park. Cambridge University Press, 2017 (also, check out their video materials on YouTube).
Course Sections
The main sections of the course and approximate hour distribution between them is as follows:
Section | Section Title | Teaching Hours |
---|---|---|
1 | Motion. Kinematics. Dynamics | 7 |
2 | Linear systems. Stability | 6 |
3 | Feedback control systems | 3 |
4 | Feedback linearization | 6 |
5 | Robust control | 8 |
Section 1
Section title:
Motion. Kinematics. Dynamics.
Topics covered in this section:
- Free body motion
- Manipulator position and orientation
- Homogeneous transformations
- Forward and inverse kinematics
- Kinetic and potential energy
- Euler-Lagrange equations
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- Given initial and final object position and orientations, obtain the corresponding transformation matrix.
- Find the Jacobian for a given manipulator.
- For a given differential equation describing a physical system, and for given kinetic (K) and potential energies (U) do the following:
- Show that there always exists a solution with respect to acceleration and that it is unique;
- Demonstrate that the system’s Hamiltonian H = K + U remains constant in the absence of external torques and forces;
- Show that the rate of change of the total energy equals instantaneous mechanical power.
- For a given manipulator with known Jacobian, do the following:
- Find kinetic and potential energies of the robot;
- Drive the Euler-Lagrange differential equation of motion.
Typical questions for seminar classes (labs) within this section
- Do the following with MATLAB Robotics Toolbox:
- Compute basic rotation and homogeneous transformation matrices;
- Create a two-link manipulator and solve its forward kinematics;
- Simulate forward dynamics;
- Compute inertial, Coriolis and gravitational forces for the manipulator.
- Compute and analyze inertial tensor for a given robotic manipulator;
- For manipulators with different kinematic configurations, analytically derive their Jacobian matrices;
- Derive and analyze Euler-Lagrange equations describing dynamics of a given manipulator (required torques, singularities).
Test questions for final assessment in this section
- What is a rotation matrix and what does it describe?
- How to find a homogeneous transformation matrix? How is it different from rotation matrix?
- What is manipulator Jacobian? How does it relate static forces and torques? How can one use the Jacobian to analyze manipulator singularities?
- What is physical nature of the terms of Euler-Lagrange equations of robot motion?
- What are the main properties of the basic terms of differential equations of motion (invertibility, positive definiteness, singularities, limits).
Section 2
Section title:
Linear systems. Stability
Topics covered in this section:
- State-space equations
- Eigenvalues and eigenvectors
- Phase plane analysis
- Energy and stability
- Lyapunov’s direct method
- Lyapunov stability analysis
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 1
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- Convert given differential equation into state-space form
- Find eigenvalue for a given matrix
- Show that given a constant matrix and any time-varying vector , the time derivative of the scalar can be written in the given form.
- For a given system of differential equations:
- Find equilibria points;
- Given a Lyapunov function, analyze system stability using Lyapunov’s direct method;
- Analyze system stability in a given range.
Typical questions for seminar classes (labs) within this section
- For a given differential equation, find the values of coefficients and that would make it critically damped.
- Convert a given system of differential equations into state-space form.
- For an equation given in the state space form, write it as an ordinary differential equation for specified input and output variables.
- Analyze system’s stability given equation of its full energy.
- Apply Lyapunov’s direct method to analyze stability of a physical system.
Test questions for final assessment in this section
- Evaluate stability of a linear system whose dynamics is written in the state-space form.
- What must be the properties of Lyapunov function candidate and its time derivative to confirm
- Local stability,
- Global stability of the system.
- How to analyze system’s stability based on its phase portrait (with examples)?
- Describe physical motivation behind Lyapunov’s direct method and how it used to analyze stability of dynamical systems.
Section 3
Section title:
Feedback control systems
Topics covered in this section:
- Feedback and building control loops
- Stabilization and trajectory tracking
- Linear regulators (P, PD, PID)
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 0
Midterm evaluation & 0
Testing (written or computer based) & 0
Reports & 0
Essays & 0
Oral polls & 1
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- Give an example of using feedback in activities of daily life
- Drive error dynamics equations for a given feedback control law
- What are the physical analogies for the individual terms of PD-controller?
- How to implement PD regulator in MATLAB software?
Typical questions for seminar classes (labs) within this section
- Solve numerically in MATLAB a second-order ODE for the following controller types: P, PD, PID.
- Analyze stability of a given linear control system.
- How individual gains of PD and PID controllers affect transient and steady-state response?
- How does underestimation of system parameters affect performance of linear controllers and how to improve it?
Test questions for final assessment in this section
- What is the physical analog of PD-regulator in application to control over second-oder mechanical systems?
- For a given system described by differential equations, design a linear control system and analyze its stability.
- Describe pros and cons of linear controllers in application to nonlinear system control.
Section 4
Section title:
Feedback linearization
Topics covered in this section:
- Joint-space inverse dynamics of serial manipulators
- Stabilization and trajectory tracking problems
- Input-state linearization
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 1
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- For a given differential equation that describes pendulum dynamicsm do the following:
- Find control law transforming original dynamics into that of a linear mass-spring-damper system;
- Write position error dynamics for the designed control law (inverse dynamics);
- Repeat the previous steps if there are uncertainties in some of the system’s parameters.
- For a given general form of dynamics equation, demonstrate that the following control laws guarantee system stability.
- Simulate dynamics of given nonlinear system in MATLAB for given control law.
- Perform input-state linearization for a given system of differential equations.
Typical questions for seminar classes (labs) within this section
- Find control law that linearizes a given differential equation.
- Analyze stability of given nonlinear systems and contribution of individual terms to system stability.
- Find general feedback linearization law for a given system of differential equations.
- Analyze stability and limitations of a given feedback linearization control law over a two-link manipulator.
Test questions for final assessment in this section
- What are the pros and cons of feedback linearization approach?
- Provide examples of systems (differential equations) for which feedback linearization can result in infinite control effort.
- What are the typical issues when applying feedback linearization approach to control over robotic manipulators?
Section 5
Section title:
Robust control
Topics covered in this section:
- Sliding modes in dynamic systems
- Robust control in scalar and matrix form
- Stability and tuning of robust controllers
- Control law smoothening.
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 0
Reports & 1
Essays & 0
Oral polls & 1
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- Name uncertainties typical for mechanical systems
- Analyze system behavior in sliding mode
- Simulate system behavior with robust control in MATLAB
- Numerically implement control law smoothening for a robust controller.
Typical questions for seminar classes (labs) within this section
- How to synthesize robust controller for a given range of system parameters’ deviations?
- Describe the effect of robust gain coefficient on system stability, control output and resulting system behavior.
- Design robust controller for a dynamical system described by a given set of differential equations and implement it in MATLAB.
- Analyze stability of robust control system for a robotic manipulator with given equation of motion.
Test questions for final assessment in this section
- Describe typical sources of uncertainties and parameter deviations in models of physical and mechanical systems, their typical ranges and influence on system behavior.
- Name pros and cons of robust control systems with and without control law smoothening.
- How to tune robust controller terms to compensate for system uncertainties?