Difference between revisions of "MSc: Fundamentals of Robot Control"

From IU
Jump to navigation Jump to search
 
(6 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
 
 
== 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 ==
 
== Prerequisites ==
The course will benefit if students already know some topics of mathematics and programming.
 
   
  +
=== Prerequisite subjects ===
Programming:
 
* python,
+
* python,
* numpy library,
+
* numpy library,
 
* Google Colab environment
 
* Google Colab environment
  +
* CSE201 — Mathematical Analysis I and CSE203 — Mathematical Analysis II]: integration and differentiation, exponentials, gradient.
 
  +
* CSE202 — Analytical Geometry and Linear Algebra I
Math:
 
  +
* CSE204 — Analytic Geometry And Linear Algebra II: matrix multiplication, eigenvector and eigenvalue.
* [https://eduwiki.innopolis.university/index.php/BSc:_Mathematical_Analysis_I CSE201] — Mathematical Analysis I and CSE203 — Mathematical Analysis II]: integration and differentiation, exponentials, gradient.
 
  +
* CSE205 — Differential Equations: state-space representation, homogeneous and nonhomogeneous equations, general solution of linear 1st and 2nd order ODEs, stability of solutions.
* [https://eduwiki.innopolis.university/index.php/BSc:_Analytic_Geometry_And_Linear_Algebra_I1 CSE202] — Analytical Geometry and Linear Algebra I and CSE204 — Analytic Geometry And Linear Algebra II: matrix multiplication, eigenvector and eigenvalue.
 
* [https://eduwiki.innopolis.university/index.php/BSc:_Differential_Equations 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)
 
* Linear control theory: concepts of feedback, open- and closed-loop systems, linear controllers (PD, PID)
   
  +
=== Prerequisite topics ===
== Recommendations for students on how to succeed in the course ==
 
   
How can students fill the gap?
 
* [https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab 3blue1brown playlist on Linear Algebra] can help to overview selected topics.
 
* Most lectures of [https://youtu.be/Pi7l8mMjYVE Steve Brunton] on linear control will be useful.
 
* Kick start your numpy with the official [https://numpy.org/doc/stable/user/quickstart.html quickstart guide].
 
   
=== Course objectives based on Bloom’s taxonomy ===
+
== 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 should a student remember at the end of the course? ===
+
=== 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 ===
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 49: Line 77:
 
* Basic structure of robust control system.
 
* Basic structure of robust control system.
   
=== - What should a student be able to understand at the end of the course? ===
+
==== 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 59: Line 85:
 
* Numerically solve differential equations in MATLAB environment.
 
* Numerically solve differential equations in MATLAB environment.
   
=== - What should a student be able to apply at the end of the course? ===
+
==== 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 evaluation ===
+
=== 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
 
| 50
+
|-
  +
| 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
 
 
|-
 
|-
| D. Poor
+
| 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 &amp; 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 &amp; 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 &amp; Sons, 2006.
 
* “Modern Control Systems” (13th Edition), Richard Dorf &amp; 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 ==
   
=== Section 1 ===
+
=== 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> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 0<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 0<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 0<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 0<br />
 
Discussions &amp; 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 226: 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> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 0<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 0<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 0<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 1<br />
 
Discussions &amp; 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,
+
Local stability,
#* Global stability of the system.
+
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> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 0<br />
 
Homework and group projects &amp; 0<br />
 
Midterm evaluation &amp; 0<br />
 
Testing (written or computer based) &amp; 0<br />
 
Reports &amp; 0<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 1<br />
 
Discussions &amp; 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> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 0<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 0<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 0<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 1<br />
 
Discussions &amp; 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?
   
=== Section 5 ===
+
=== The retake exam ===
  +
'''Section 1'''
   
==== Section title: ====
+
'''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> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 0<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 0<br />
 
Testing (written or computer based) &amp; 0<br />
 
Reports &amp; 1<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 1<br />
 
Discussions &amp; 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

Course Sections and Topics
Section Topics within the section
Motion. Kinematics. Dynamics.
  1. Free body motion
  2. Manipulator position and orientation
  3. Homogeneous transformations
  4. Forward and inverse kinematics
  5. Kinetic and potential energy
  6. Euler-Lagrange equations
Linear systems. Stability
  1. State-space equations
  2. Eigenvalues and eigenvectors
  3. Phase plane analysis
  4. Energy and stability
  5. Lyapunov’s direct method
  6. Lyapunov stability analysis
Feedback control systems
  1. Feedback and building control loops
  2. Stabilization and trajectory tracking
  3. Linear regulators (P, PD, PID)
Feedback linearization
  1. Joint-space inverse dynamics of serial manipulators
  2. Stabilization and trajectory tracking problems
  3. Input-state linearization
Robust control
  1. Sliding modes in dynamic systems
  2. Robust control in scalar and matrix form
  3. Stability and tuning of robust controllers
  4. 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.

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

Activities within each section
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

  1. What is a rotation matrix and what does it describe?
  2. How to find a homogeneous transformation matrix? How is it different from rotation matrix?
  3. What is manipulator Jacobian? How does it relate static forces and torques? How can one use the Jacobian to analyze manipulator singularities?
  4. What is physical nature of the terms of Euler-Lagrange equations of robot motion?
  5. What are the main properties of the basic terms of differential equations of motion (invertibility, positive definiteness, singularities, limits).

Section 2

  1. Evaluate stability of a linear system whose dynamics is written in the state-space form.
  2. What must be the properties of Lyapunov function candidate and its time derivative to confirm

Local stability, Global stability of the system.

  1. How to analyze system’s stability based on its phase portrait (with examples)?
  2. Describe physical motivation behind Lyapunov’s direct method and how it used to analyze stability of dynamical systems.

Section 3

  1. What is the physical analog of PD-regulator in application to control over second-oder mechanical systems?
  2. For a given system described by differential equations, design a linear control system and analyze its stability.
  3. Describe pros and cons of linear controllers in application to nonlinear system control.

Section 4

  1. What are the pros and cons of feedback linearization approach?
  2. Provide examples of systems (differential equations) for which feedback linearization can result in infinite control effort.
  3. What are the typical issues when applying feedback linearization approach to control over robotic manipulators?

Section 5

  1. Describe typical sources of uncertainties and parameter deviations in models of physical and mechanical systems, their typical ranges and influence on system behavior.
  2. Name pros and cons of robust control systems with and without control law smoothening.
  3. How to tune robust controller terms to compensate for system uncertainties?

The retake exam

Section 1

Section 2

Section 3

Section 4

Section 5