Difference between revisions of "MSc: Fundamentals of Robot Control"
m (M.petrishchev moved page MSc:FundamentalsofRobotControl to MSc: Fundamentals of Robot Control) |
R.sirgalina (talk | contribs) |
||
(11 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | |||
= Fundamentals of Robot Control = |
= Fundamentals of Robot Control = |
||
+ | * '''Course name''': Fundamentals of Robot Control |
||
+ | * '''Code discipline''': F19 |
||
+ | * '''Subject area''': |
||
+ | == Short Description == |
||
− | * <span>'''Course name:'''</span> Fundamentals of Robot Control |
||
+ | This course covers the following concepts: Introductory nonlinear control over dynamic systems with the focus on robotics; Stability, pros and cons of nonlinear control systems. |
||
− | * <span>'''Course number:'''</span> F19 |
||
− | == |
+ | == Prerequisites == |
− | === |
+ | === Prerequisite subjects === |
+ | * python, |
||
+ | * numpy library, |
||
+ | * Google Colab environment |
||
+ | * CSE201 — Mathematical Analysis I and 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) |
||
+ | === Prerequisite topics === |
||
− | * 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? === |
||
+ | == Course Topics == |
||
+ | {| class="wikitable" |
||
+ | |+ Course Sections and Topics |
||
+ | |- |
||
+ | ! Section !! Topics within the section |
||
+ | |- |
||
+ | | Motion. Kinematics. Dynamics. || |
||
+ | # Free body motion |
||
+ | # Manipulator position and orientation |
||
+ | # Homogeneous transformations |
||
+ | # Forward and inverse kinematics |
||
+ | # Kinetic and potential energy |
||
+ | # Euler-Lagrange equations |
||
+ | |- |
||
+ | | Linear systems. Stability || |
||
+ | # State-space equations |
||
+ | # Eigenvalues and eigenvectors |
||
+ | # Phase plane analysis |
||
+ | # Energy and stability |
||
+ | # Lyapunov’s direct method |
||
+ | # Lyapunov stability analysis |
||
+ | |- |
||
+ | | Feedback control systems || |
||
+ | # Feedback and building control loops |
||
+ | # Stabilization and trajectory tracking |
||
+ | # Linear regulators (P, PD, PID) |
||
+ | |- |
||
+ | | Feedback linearization || |
||
+ | # Joint-space inverse dynamics of serial manipulators |
||
+ | # Stabilization and trajectory tracking problems |
||
+ | # Input-state linearization |
||
+ | |- |
||
+ | | Robust control || |
||
+ | # Sliding modes in dynamic systems |
||
+ | # Robust control in scalar and matrix form |
||
+ | # Stability and tuning of robust controllers |
||
+ | # Control law smoothening. |
||
+ | |} |
||
+ | == Intended Learning Outcomes (ILOs) == |
||
+ | |||
+ | === What is the main 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. |
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. |
||
− | === |
+ | === ILOs defined at three levels === |
− | |||
− | === - 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 |
||
+ | ==== Level 1: What concepts should a student know/remember/explain? ==== |
||
+ | By the end of the course, the students should be able to ... |
||
* Basic structure of differential equations describing motion of robotic manipulators, |
* Basic structure of differential equations describing motion of robotic manipulators, |
||
* Motivation behind and the basic structure of feedback control systems, |
* Motivation behind and the basic structure of feedback control systems, |
||
Line 28: | Line 77: | ||
* Basic structure of robust control system. |
* Basic structure of robust control system. |
||
− | === |
+ | ==== Level 2: What basic practical skills should a student be able to perform? ==== |
+ | By the end of the course, the students should be able to ... |
||
− | |||
− | By the end of the course, the students should be able to |
||
− | |||
* Name the main sources of nonlinearities in physical systems, |
* Name the main sources of nonlinearities in physical systems, |
||
* Explain the cons of applying PID controllers to nonlinear systems, |
* Explain the cons of applying PID controllers to nonlinear systems, |
||
Line 38: | Line 85: | ||
* Numerically solve differential equations in MATLAB environment. |
* Numerically solve differential equations in MATLAB environment. |
||
− | === |
+ | ==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ==== |
− | |||
By the end of the course, the students should be able to ... |
By the end of the course, the students should be able to ... |
||
− | |||
* Know how to analyze stability of physical systems with Lyapunov direct method, |
* Know how to analyze stability of physical systems with Lyapunov direct method, |
||
* Design feedback linearization systems, |
* Design feedback linearization systems, |
||
* Synthesize robust control systems and tune them, |
* Synthesize robust control systems and tune them, |
||
− | * Implement nonlinear control in MATLAB environment to simulate the behavior of multi-DOF robotic systems. |
+ | * Implement nonlinear control in MATLAB environment to simulate the behavior of multi-DOF robotic systems. |
+ | == Grading == |
||
− | === Course |
+ | === Course grading range === |
+ | {| class="wikitable" |
||
− | |||
− | + | |+ |
|
− | |+ Course grade breakdown |
||
− | ! |
||
− | ! |
||
− | !align="center"| '''Proposed points''' |
||
|- |
|- |
||
+ | ! Grade !! Range !! Description of performance |
||
− | | Labs/seminar classes |
||
− | | 20 |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | A. Excellent || 80-100 || - |
||
− | | Interim performance assessment |
||
− | | 30 |
||
− | |align="center"| 60 |
||
|- |
|- |
||
+ | | B. Good || 60-79 || - |
||
− | | Exams |
||
− | | |
+ | |- |
+ | | C. Satisfactory || 40-59 || - |
||
− | |align="center"| 40 |
||
+ | |- |
||
+ | | D. Poor || 0-39 || - |
||
|} |
|} |
||
+ | === Course activities and grading breakdown === |
||
− | If necessary, please indicate freely your course’s features in terms of students’ performance assessment: |
||
+ | {| class="wikitable" |
||
− | |||
+ | |+ |
||
− | 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 === |
||
− | |||
− | {| |
||
− | |+ Course grading range |
||
− | ! |
||
− | ! |
||
− | !align="center"| '''Proposed range''' |
||
|- |
|- |
||
+ | ! Activity Type !! Percentage of the overall course grade |
||
− | | A. Excellent |
||
− | | 90-100 |
||
− | |align="center"| 80-100 |
||
|- |
|- |
||
+ | | Labs/seminar classes || 0 |
||
− | | B. Good |
||
− | | 75-89 |
||
− | |align="center"| 60-79 |
||
|- |
|- |
||
+ | | Interim performance assessment || 60 |
||
− | | C. Satisfactory |
||
− | | 60-74 |
||
− | |align="center"| 40-59 |
||
|- |
|- |
||
− | | |
+ | | Exams || 40 |
− | | 0-59 |
||
− | |align="center"| 0-39 |
||
|} |
|} |
||
+ | === Recommendations for students on how to succeed in the course === |
||
− | 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 === |
||
+ | == Resources, literature and reference materials == |
||
− | The course is build based on these main textbooks: |
||
+ | === Open access resources === |
||
− | * “Applied nonlinear control,” J.-J. Slotine & Weiping Li. Pearson, 1991. |
||
+ | * “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. |
||
+ | * “Robotics: modelling, planning and control,” Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, and Giuseppe Oriolo. Springer Science & Business Media, 2010. |
||
+ | * “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). |
||
+ | === Closed access resources === |
||
− | 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''). |
||
+ | === Software and tools used within the course === |
||
− | == Course Sections == |
||
+ | |||
+ | = Teaching Methodology: Methods, techniques, & activities = |
||
+ | == Activities and Teaching Methods == |
||
− | The main sections of the course and approximate hour distribution between them is as follows: |
||
+ | {| class="wikitable" |
||
− | |||
+ | |+ Activities within each section |
||
− | {| |
||
− | |+ Course Sections |
||
− | !align="center"| '''Section''' |
||
− | ! '''Section Title''' |
||
− | !align="center"| '''Teaching Hours''' |
||
|- |
|- |
||
+ | ! Learning Activities !! Section 1 !! Section 2 !! Section 3 !! Section 4 !! Section 5 |
||
− | |align="center"| 1 |
||
− | | Motion. Kinematics. Dynamics |
||
− | |align="center"| 7 |
||
|- |
|- |
||
+ | | Homework and group projects || 1 || 1 || 0 || 1 || 1 |
||
− | |align="center"| 2 |
||
− | | Linear systems. Stability |
||
− | |align="center"| 6 |
||
|- |
|- |
||
+ | | Testing (written or computer based) || 1 || 1 || 0 || 1 || 0 |
||
− | |align="center"| 3 |
||
− | | Feedback control systems |
||
− | |align="center"| 3 |
||
|- |
|- |
||
+ | | Discussions || 1 || 1 || 1 || 1 || 1 |
||
− | |align="center"| 4 |
||
− | | Feedback linearization |
||
− | |align="center"| 6 |
||
|- |
|- |
||
+ | | Oral polls || 0 || 1 || 1 || 1 || 1 |
||
− | |align="center"| 5 |
||
+ | |- |
||
− | | Robust control |
||
+ | | Reports || 0 || 0 || 0 || 0 || 1 |
||
− | |align="center"| 8 |
||
− | |} |
+ | |} |
+ | == Formative Assessment and Course Activities == |
||
− | === |
+ | === Ongoing performance assessment === |
− | |||
− | ==== 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? === |
||
− | |||
− | <div class="tabular"> |
||
− | |||
− | <span>|a|c|</span> & '''Yes/No'''<br /> |
||
− | Development of individual parts of software product code & 0<br /> |
||
− | Homework and group projects & 1<br /> |
||
− | Midterm evaluation & 0<br /> |
||
− | Testing (written or computer based) & 1<br /> |
||
− | Reports & 0<br /> |
||
− | Essays & 0<br /> |
||
− | Oral polls & 0<br /> |
||
− | Discussions & 1<br /> |
||
− | |||
− | |||
− | |||
− | </div> |
||
− | === 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 === |
||
+ | ==== Section 1 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || Given initial and final object position and orientations, obtain the corresponding transformation matrix. || 1 |
||
+ | |- |
||
+ | | Question || Find the Jacobian for a given manipulator. || 1 |
||
+ | |- |
||
+ | | Question || For a given differential equation describing a physical system, and for given kinetic (K) and potential energies (U) do the following:<br>Show that there always exists a solution with respect to acceleration and that it is unique;<br>Demonstrate that the system’s Hamiltonian H = K + U remains constant in the absence of external torques and forces;<br>Show that the rate of change of the total energy equals instantaneous mechanical power. || 1 |
||
+ | |- |
||
+ | | Question || For a given manipulator with known Jacobian, do the following:<br>Find kinetic and potential energies of the robot;<br>Drive the Euler-Lagrange differential equation of motion. || 1 |
||
+ | |- |
||
+ | | Question || Do the following with MATLAB Robotics Toolbox:<br>Compute basic rotation and homogeneous transformation matrices;<br>Create a two-link manipulator and solve its forward kinematics;<br>Simulate forward dynamics;<br>Compute inertial, Coriolis and gravitational forces for the manipulator. || 0 |
||
+ | |- |
||
+ | | Question || Compute and analyze inertial tensor for a given robotic manipulator; || 0 |
||
+ | |- |
||
+ | | Question || For manipulators with different kinematic configurations, analytically derive their Jacobian matrices; || 0 |
||
+ | |- |
||
+ | | Question || Derive and analyze Euler-Lagrange equations describing dynamics of a given manipulator (required torques, singularities). || 0 |
||
+ | |} |
||
+ | ==== Section 2 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || Convert given differential equation into state-space form || 1 |
||
+ | |- |
||
+ | | Question || Find eigenvalue for a given matrix || 1 |
||
+ | |- |
||
+ | | Question || Show that given a constant matrix <math>{\textstyle {\textbf {M}}}</math> and any time-varying vector <math>{\textstyle {\textbf {x}}}</math> , the time derivative of the scalar <math>{\textstyle \mathbf {x} ^{T}\mathbf {Mx} }</math> can be written in the given form. || 1 |
||
+ | |- |
||
+ | | Question || For a given system of differential equations:<br>Find equilibria points;<br>Given a Lyapunov function, analyze system stability using Lyapunov’s direct method;<br>Analyze system stability in a given range. || 1 |
||
+ | |- |
||
+ | | Question || For a given differential equation, find the values of coefficients <math>{\textstyle k_{1}}</math> and <math>{\textstyle k_{2}}</math> that would make it critically damped. || 0 |
||
+ | |- |
||
+ | | Question || Convert a given system of differential equations into state-space form. || 0 |
||
+ | |- |
||
+ | | Question || For an equation given in the state space form, write it as an ordinary differential equation for specified input and output variables. || 0 |
||
+ | |- |
||
+ | | Question || Analyze system’s stability given equation of its full energy. || 0 |
||
+ | |- |
||
+ | | Question || Apply Lyapunov’s direct method to analyze stability of a physical system. || 0 |
||
+ | |} |
||
+ | ==== Section 3 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || Give an example of using feedback in activities of daily life || 1 |
||
+ | |- |
||
+ | | Question || Drive error dynamics equations for a given feedback control law || 1 |
||
+ | |- |
||
+ | | Question || What are the physical analogies for the individual terms of PD-controller? || 1 |
||
+ | |- |
||
+ | | Question || How to implement PD regulator in MATLAB software? || 1 |
||
+ | |- |
||
+ | | Question || Solve numerically in MATLAB a second-order ODE for the following controller types: P, PD, PID. || 0 |
||
+ | |- |
||
+ | | Question || Analyze stability of a given linear control system. || 0 |
||
+ | |- |
||
+ | | Question || How individual gains of PD and PID controllers affect transient and steady-state response? || 0 |
||
+ | |- |
||
+ | | Question || How does underestimation of system parameters affect performance of linear controllers and how to improve it? || 0 |
||
+ | |} |
||
+ | ==== Section 4 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || For a given differential equation that describes pendulum dynamicsm do the following:<br>Find control law transforming original dynamics into that of a linear mass-spring-damper system;<br>Write position error dynamics for the designed control law (inverse dynamics);<br>Repeat the previous steps if there are uncertainties in some of the system’s parameters. || 1 |
||
+ | |- |
||
+ | | Question || For a given general form of dynamics equation, demonstrate that the following control laws guarantee system stability. || 1 |
||
+ | |- |
||
+ | | Question || Simulate dynamics of given nonlinear system in MATLAB for given control law. || 1 |
||
+ | |- |
||
+ | | Question || Perform input-state linearization for a given system of differential equations. || 1 |
||
+ | |- |
||
+ | | Question || Find control law that linearizes a given differential equation. || 0 |
||
+ | |- |
||
+ | | Question || Analyze stability of given nonlinear systems and contribution of individual terms to system stability. || 0 |
||
+ | |- |
||
+ | | Question || Find general feedback linearization law for a given system of differential equations. || 0 |
||
+ | |- |
||
+ | | Question || Analyze stability and limitations of a given feedback linearization control law over a two-link manipulator. || 0 |
||
+ | |} |
||
+ | ==== Section 5 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || Name uncertainties typical for mechanical systems || 1 |
||
+ | |- |
||
+ | | Question || Analyze system behavior in sliding mode || 1 |
||
+ | |- |
||
+ | | Question || Simulate system behavior with robust control in MATLAB || 1 |
||
+ | |- |
||
+ | | Question || Numerically implement control law smoothening for a robust controller. || 1 |
||
+ | |- |
||
+ | | Question || How to synthesize robust controller for a given range of system parameters’ deviations? || 0 |
||
+ | |- |
||
+ | | Question || Describe the effect of robust gain coefficient <math>{\textstyle k}</math> on system stability, control output and resulting system behavior. || 0 |
||
+ | |- |
||
+ | | Question || Design robust controller for a dynamical system described by a given set of differential equations and implement it in MATLAB. || 0 |
||
+ | |- |
||
+ | | Question || Analyze stability of robust control system for a robotic manipulator with given equation of motion. || 0 |
||
+ | |} |
||
+ | === Final assessment === |
||
+ | '''Section 1''' |
||
# What is a rotation matrix and what does it describe? |
# What is a rotation matrix and what does it describe? |
||
# How to find a homogeneous transformation matrix? How is it different from rotation matrix? |
# How to find a homogeneous transformation matrix? How is it different from rotation matrix? |
||
Line 205: | Line 279: | ||
# What is physical nature of the terms of Euler-Lagrange equations of robot motion? |
# 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). |
# What are the main properties of the basic terms of differential equations of motion (invertibility, positive definiteness, singularities, limits). |
||
+ | '''Section 2''' |
||
− | |||
− | === 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? === |
||
− | |||
− | <div class="tabular"> |
||
− | |||
− | <span>|a|c|</span> & '''Yes/No'''<br /> |
||
− | Development of individual parts of software product code & 0<br /> |
||
− | Homework and group projects & 1<br /> |
||
− | Midterm evaluation & 0<br /> |
||
− | Testing (written or computer based) & 1<br /> |
||
− | Reports & 0<br /> |
||
− | Essays & 0<br /> |
||
− | Oral polls & 1<br /> |
||
− | Discussions & 1<br /> |
||
− | |||
− | |||
− | |||
− | </div> |
||
− | === 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 <math display="inline">\textbf{M}</math> and any time-varying vector <math display="inline">\textbf{x}</math>, the time derivative of the scalar <math display="inline">\mathbf{x}^T\mathbf{Mx}</math> 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 <math display="inline">k_1</math> and <math display="inline">k_2</math> 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. |
# 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 |
# 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)? |
# 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. |
# Describe physical motivation behind Lyapunov’s direct method and how it used to analyze stability of dynamical systems. |
||
+ | '''Section 3''' |
||
− | |||
− | === 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? === |
||
− | |||
− | <div class="tabular"> |
||
− | |||
− | <span>|a|c|</span> & '''Yes/No'''<br /> |
||
− | Development of individual parts of software product code & 0<br /> |
||
− | Homework and group projects & 0<br /> |
||
− | Midterm evaluation & 0<br /> |
||
− | Testing (written or computer based) & 0<br /> |
||
− | Reports & 0<br /> |
||
− | Essays & 0<br /> |
||
− | Oral polls & 1<br /> |
||
− | Discussions & 1<br /> |
||
− | |||
− | |||
− | |||
− | </div> |
||
− | === 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? |
# 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. |
# 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. |
# Describe pros and cons of linear controllers in application to nonlinear system control. |
||
+ | '''Section 4''' |
||
− | |||
− | === 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? === |
||
− | |||
− | <div class="tabular"> |
||
− | |||
− | <span>|a|c|</span> & '''Yes/No'''<br /> |
||
− | Development of individual parts of software product code & 0<br /> |
||
− | Homework and group projects & 1<br /> |
||
− | Midterm evaluation & 0<br /> |
||
− | Testing (written or computer based) & 1<br /> |
||
− | Reports & 0<br /> |
||
− | Essays & 0<br /> |
||
− | Oral polls & 1<br /> |
||
− | Discussions & 1<br /> |
||
− | |||
− | |||
− | |||
− | </div> |
||
− | === 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? |
# 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. |
# 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? |
# What are the typical issues when applying feedback linearization approach to control over robotic manipulators? |
||
+ | '''Section 5''' |
||
+ | # 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? |
||
− | === |
+ | === The retake exam === |
+ | '''Section 1''' |
||
− | + | '''Section 2''' |
|
+ | '''Section 3''' |
||
− | Robust control |
||
+ | '''Section 4''' |
||
− | ==== Topics covered in this section: ==== |
||
+ | '''Section 5''' |
||
− | * 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? === |
||
− | |||
− | <div class="tabular"> |
||
− | |||
− | <span>|a|c|</span> & '''Yes/No'''<br /> |
||
− | Development of individual parts of software product code & 0<br /> |
||
− | Homework and group projects & 1<br /> |
||
− | Midterm evaluation & 0<br /> |
||
− | Testing (written or computer based) & 0<br /> |
||
− | Reports & 1<br /> |
||
− | Essays & 0<br /> |
||
− | Oral polls & 1<br /> |
||
− | Discussions & 1<br /> |
||
− | |||
− | |||
− | |||
− | </div> |
||
− | === 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 <math display="inline">k</math> 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? |
Latest revision as of 11:44, 29 August 2022
Fundamentals of Robot Control
- Course name: Fundamentals of Robot Control
- Code discipline: F19
- Subject area:
Short Description
This course covers the following concepts: Introductory nonlinear control over dynamic systems with the focus on robotics; Stability, pros and cons of nonlinear control systems.
Prerequisites
Prerequisite subjects
- python,
- numpy library,
- Google Colab environment
- CSE201 — Mathematical Analysis I and 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)
Prerequisite topics
Course Topics
Section | Topics within the section |
---|---|
Motion. Kinematics. Dynamics. |
|
Linear systems. Stability |
|
Feedback control systems |
|
Feedback linearization |
|
Robust control |
|
Intended Learning Outcomes (ILOs)
What is the main 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.
ILOs defined at three levels
Level 1: What concepts should a student know/remember/explain?
By the end of the course, the students should be able to ...
- 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.
Level 2: What basic practical skills should a student be able to perform?
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.
Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios?
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.
Grading
Course grading range
Grade | Range | Description of performance |
---|---|---|
A. Excellent | 80-100 | - |
B. Good | 60-79 | - |
C. Satisfactory | 40-59 | - |
D. Poor | 0-39 | - |
Course activities and grading breakdown
Activity Type | Percentage of the overall course grade |
---|---|
Labs/seminar classes | 0 |
Interim performance assessment | 60 |
Exams | 40 |
Recommendations for students on how to succeed in the course
Resources, literature and reference materials
Open access resources
- “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.
- “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).
Closed access resources
Software and tools used within the course
Teaching Methodology: Methods, techniques, & activities
Activities and Teaching Methods
Learning Activities | Section 1 | Section 2 | Section 3 | Section 4 | Section 5 |
---|---|---|---|---|---|
Homework and group projects | 1 | 1 | 0 | 1 | 1 |
Testing (written or computer based) | 1 | 1 | 0 | 1 | 0 |
Discussions | 1 | 1 | 1 | 1 | 1 |
Oral polls | 0 | 1 | 1 | 1 | 1 |
Reports | 0 | 0 | 0 | 0 | 1 |
Formative Assessment and Course Activities
Ongoing performance assessment
Section 1
Activity Type | Content | Is Graded? |
---|---|---|
Question | Given initial and final object position and orientations, obtain the corresponding transformation matrix. | 1 |
Question | Find the Jacobian for a given manipulator. | 1 |
Question | 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. |
1 |
Question | 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. |
1 |
Question | 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. |
0 |
Question | Compute and analyze inertial tensor for a given robotic manipulator; | 0 |
Question | For manipulators with different kinematic configurations, analytically derive their Jacobian matrices; | 0 |
Question | Derive and analyze Euler-Lagrange equations describing dynamics of a given manipulator (required torques, singularities). | 0 |
Section 2
Activity Type | Content | Is Graded? |
---|---|---|
Question | Convert given differential equation into state-space form | 1 |
Question | Find eigenvalue for a given matrix | 1 |
Question | Show that given a constant matrix and any time-varying vector , the time derivative of the scalar can be written in the given form. | 1 |
Question | 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. |
1 |
Question | For a given differential equation, find the values of coefficients and that would make it critically damped. | 0 |
Question | Convert a given system of differential equations into state-space form. | 0 |
Question | For an equation given in the state space form, write it as an ordinary differential equation for specified input and output variables. | 0 |
Question | Analyze system’s stability given equation of its full energy. | 0 |
Question | Apply Lyapunov’s direct method to analyze stability of a physical system. | 0 |
Section 3
Activity Type | Content | Is Graded? |
---|---|---|
Question | Give an example of using feedback in activities of daily life | 1 |
Question | Drive error dynamics equations for a given feedback control law | 1 |
Question | What are the physical analogies for the individual terms of PD-controller? | 1 |
Question | How to implement PD regulator in MATLAB software? | 1 |
Question | Solve numerically in MATLAB a second-order ODE for the following controller types: P, PD, PID. | 0 |
Question | Analyze stability of a given linear control system. | 0 |
Question | How individual gains of PD and PID controllers affect transient and steady-state response? | 0 |
Question | How does underestimation of system parameters affect performance of linear controllers and how to improve it? | 0 |
Section 4
Activity Type | Content | Is Graded? |
---|---|---|
Question | 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. |
1 |
Question | For a given general form of dynamics equation, demonstrate that the following control laws guarantee system stability. | 1 |
Question | Simulate dynamics of given nonlinear system in MATLAB for given control law. | 1 |
Question | Perform input-state linearization for a given system of differential equations. | 1 |
Question | Find control law that linearizes a given differential equation. | 0 |
Question | Analyze stability of given nonlinear systems and contribution of individual terms to system stability. | 0 |
Question | Find general feedback linearization law for a given system of differential equations. | 0 |
Question | Analyze stability and limitations of a given feedback linearization control law over a two-link manipulator. | 0 |
Section 5
Activity Type | Content | Is Graded? |
---|---|---|
Question | Name uncertainties typical for mechanical systems | 1 |
Question | Analyze system behavior in sliding mode | 1 |
Question | Simulate system behavior with robust control in MATLAB | 1 |
Question | Numerically implement control law smoothening for a robust controller. | 1 |
Question | How to synthesize robust controller for a given range of system parameters’ deviations? | 0 |
Question | Describe the effect of robust gain coefficient on system stability, control output and resulting system behavior. | 0 |
Question | Design robust controller for a dynamical system described by a given set of differential equations and implement it in MATLAB. | 0 |
Question | Analyze stability of robust control system for a robotic manipulator with given equation of motion. | 0 |
Final assessment
Section 1
- 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
- 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
- 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
- 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
- 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?
The retake exam
Section 1
Section 2
Section 3
Section 4
Section 5