Difference between revisions of "MSc: Advanced Robotics"
R.sirgalina (talk | contribs) |
|||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | |||
= Advanced Robotics = |
= Advanced Robotics = |
||
+ | * '''Course name''': Advanced Robotics |
||
+ | * '''Code discipline''': |
||
+ | * '''Subject area''': Robotic control. |
||
+ | == Short Description == |
||
− | <span id="C:AdvancedRobotics" label="C:AdvancedRobotics">[C:AdvancedRobotics]</span> |
||
+ | This course covers the following concepts: Elastostatic modeling and calibration of robots; Advanced control approaches for compliant robotic systems. |
||
− | |||
− | * <span>'''Course name:'''</span> Advanced Robotics |
||
− | * <span>'''Course number:'''</span> |
||
− | |||
− | == Course characteristics == |
||
− | |||
− | == What subject area does your course (discipline) belong to? == |
||
− | |||
− | Robotic control. |
||
− | |||
− | == Key concepts of the class == |
||
− | |||
− | * Elastostatic modeling and calibration of robots |
||
− | * Advanced control approaches for compliant robotic systems |
||
− | |||
− | == What is the purpose of this course? == |
||
− | |||
− | While traditional robotics studies rigid robots and manipulators, many practical robotic systems exhibit non-negligible compliance. Its effects can be both detrimental (for instance, decrease in positioning accuracy of industrial manipulators) and beneficial (improved safety during human-robot interaction), depending on the application. However, regardless of whether the robot’s compliance is positive or negative, it must be accurately accounted for during modeling, trajectory tracking and robot control tasks. The main purpose of this course is to introduce elastostatic modeling of manipulators and robotic systems, methods for calibration of these devices, as well as advanced approaches to control robotic systems with non-negligible stiffness. |
||
== Prerequisites == |
== Prerequisites == |
||
− | The course will benefit if students already know some topics of mathematics and programming. |
||
+ | === Prerequisite subjects === |
||
− | Programming: |
||
− | * Matlab or Python, |
+ | * Matlab or Python, Numpy library, |
+ | * Google Colab environment. |
||
− | * Numpy library, |
||
+ | * CSE201 — Mathematical Analysis I |
||
− | * Google Colab environment. |
||
− | * |
+ | * CSE203 — Mathematical Analysis II: differentiation, exponentials, gradient. |
− | * CSE202 — Analytical Geometry and Linear Algebra I |
+ | * CSE202 — Analytical Geometry and Linear Algebra I |
+ | * CSE204 — Analytic Geometry And Linear Algebra II: matrix multiplication, change of the bases, orthonormal spaces, cross product and skew-symmetric matrices, eigenvector and eigenvalue, SVD. |
||
+ | * CSE402 — Physics I (Mechanics) and CSE410 — Physics II - Electrical Engineering]: Kinematics, Statics and Dynamics. |
||
+ | * Statistics: Linear regression, .Covariance matrix, Information matrix, Observability matrix, Design of Experiments, Statistical evaluation |
||
* Screw theory. |
* Screw theory. |
||
* Product of Exponents (PoE) |
* Product of Exponents (PoE) |
||
− | * CSE402 — Physics I (Mechanics) and CSE410 — Physics II - Electrical Engineering]: Kinematics, Statics and Dynamics. |
||
− | *Statistics: Linear regression, .Covariance matrix, Information matrix, Observability matrix, Design of Experiments, Statistical evaluation |
||
+ | === Prerequisite topics === |
||
− | == Recommendations for students on how to succeed in the course == |
||
− | References: |
||
− | * Any text book on Linear algebra, Calculus, Statistics, Programming and Physics |
||
− | * [https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab 3blue1brown playlist on Linear Algebra] can help to overview selected topics. |
||
− | * [https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/ Gilbert Strang] is one of the best human teachers of Algebra, if you prefer classic lectures to fancy videos. |
||
− | * Kick start your numpy with the official [https://numpy.org/doc/stable/user/quickstart.html quickstart guide]. |
||
− | * Statistics for Applications |
||
− | * Dimentberg, F. M. (1965) [http://oai.dtic.mil/oai/oai?verb=getRecord&metadataPrefix=html&identifier=AD0680993 The Screw Calculus and Its Applications in Mechanics] |
||
− | == Course |
+ | == Course Topics == |
+ | {| class="wikitable" |
||
+ | |+ Course Sections and Topics |
||
+ | |- |
||
+ | ! Section !! Topics within the section |
||
+ | |- |
||
+ | | Stiffness modeling || |
||
+ | # Position and velocity kinematics |
||
+ | # Virtual joint modeling |
||
+ | # Finite element analysis |
||
+ | # Matrix structural analysis |
||
+ | |- |
||
+ | | Robot calibration || |
||
+ | # Types of robot calibration |
||
+ | # Sources of uncertainties and model errors in practical robots |
||
+ | # Robot errors |
||
+ | # Complete, irreducible geometric models |
||
+ | # Elastostatic calibration |
||
+ | |- |
||
+ | | Position tracking || |
||
+ | # Adaptive control of flexible joint manipulators |
||
+ | # Adaptive robust control |
||
+ | # Modeling and control of cable-driven robotic systems |
||
+ | |- |
||
+ | | Energy, impedance, and force control || |
||
+ | # Energy-based control of compliant robots |
||
+ | # Limit cycles |
||
+ | # Passivity-based control |
||
+ | # Impedance control |
||
+ | |} |
||
+ | == Intended Learning Outcomes (ILOs) == |
||
− | === |
+ | === What is the main purpose of this course? === |
+ | While traditional robotics studies rigid robots and manipulators, many practical robotic systems exhibit non-negligible compliance. Its effects can be both detrimental (for instance, decrease in positioning accuracy of industrial manipulators) and beneficial (improved safety during human-robot interaction), depending on the application. However, regardless of whether the robot’s compliance is positive or negative, it must be accurately accounted for during modeling, trajectory tracking and robot control tasks. The main purpose of this course is to introduce elastostatic modeling of manipulators and robotic systems, methods for calibration of these devices, as well as advanced approaches to control robotic systems with non-negligible stiffness. |
||
+ | === ILOs defined at three levels === |
||
− | By the end of the course, the students should be able to remember |
||
+ | ==== Level 1: What concepts should a student know/remember/explain? ==== |
||
+ | By the end of the course, the students should be able to ... |
||
* How to derive expressions for position kinematics and differential kinematics of serial manipulators, |
* How to derive expressions for position kinematics and differential kinematics of serial manipulators, |
||
* What approaches exist to model robot joints’ elasticity, |
* What approaches exist to model robot joints’ elasticity, |
||
Line 57: | Line 70: | ||
* Motivation behind energy-based approaches to control elastic robots. |
* Motivation behind energy-based approaches to control elastic robots. |
||
− | === |
+ | ==== 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 describe and explain |
||
− | |||
* How to find Jacobian for series and parallel robots and use it to compute forces and torques, |
* How to find Jacobian for series and parallel robots and use it to compute forces and torques, |
||
* What constitutes a common manipulator calibration procedure, |
* What constitutes a common manipulator calibration procedure, |
||
Line 67: | Line 78: | ||
* How to model and control tendon-driven robots. |
* How to model and control tendon-driven robots. |
||
− | === |
+ | ==== 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 |
||
− | |||
* Find stiffness matrix for given manipulator, |
* Find stiffness matrix for given manipulator, |
||
* Analyze joint constraints and find singularities, |
* Analyze joint constraints and find singularities, |
||
* Perform robot calibration procedure, |
* Perform robot calibration procedure, |
||
* Apply passivity principle to design stable position controllers, |
* Apply passivity principle to design stable position controllers, |
||
− | * Design force controller for elastic and compliant robots. |
+ | * Design force controller for elastic and compliant robots. |
+ | == Grading == |
||
− | == Course |
+ | === Course grading range === |
+ | {| class="wikitable" |
||
− | |||
− | + | |+ |
|
+ | |- |
||
− | |+ Course grade breakdown |
||
+ | ! Grade !! Range !! Description of performance |
||
− | ! |
||
+ | |- |
||
− | ! |
||
+ | | A. Excellent || 90-100 || - |
||
− | !align="center"| '''Proposed points''' |
||
|- |
|- |
||
+ | | B. Good || 75-89 || - |
||
− | | Labs/seminar classes |
||
− | | 20 |
||
− | |align="center"| 10 |
||
|- |
|- |
||
+ | | C. Satisfactory || 60-74 || - |
||
− | | Interim performance assessment |
||
− | | 30 |
||
− | |align="center"| 60 |
||
|- |
|- |
||
+ | | D. Poor || 0-59 || - |
||
− | | Exams |
||
− | | 50 |
||
− | |align="center"| 30 |
||
|} |
|} |
||
+ | === 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: In-class discussion and lab performance = 10 pts, Homework assignments (4) = 20 pts, Quizzes (4) = 20 pts, Exams = 30 pts, Term project = 20 pts. |
||
− | |||
− | == Grades range == |
||
− | |||
− | {| |
||
− | |+ Course grading range |
||
− | ! |
||
− | ! |
||
− | !align="center"| '''Proposed range''' |
||
|- |
|- |
||
+ | ! Activity Type !! Percentage of the overall course grade |
||
− | | A. Excellent |
||
− | | 90-100 |
||
− | |align="center"| |
||
|- |
|- |
||
+ | | Labs/seminar classes || 10 |
||
− | | B. Good |
||
− | | 75-89 |
||
− | |align="center"| |
||
|- |
|- |
||
+ | | Interim performance assessment || 60 |
||
− | | C. Satisfactory |
||
− | | 60-74 |
||
− | |align="center"| |
||
|- |
|- |
||
− | | |
+ | | Exams || 30 |
− | | 0-59 |
||
− | |align="center"| |
||
|} |
|} |
||
+ | === Recommendations for students on how to succeed in the course === |
||
− | If necessary, please indicate freely your course’s grading features. |
||
+ | |||
+ | |||
+ | == Resources, literature and reference materials == |
||
+ | === Open access resources === |
||
− | == Resources and reference material == |
||
− | Textbooks: |
||
+ | === Closed access resources === |
||
− | * |
||
− | * |
||
− | * |
||
− | * |
||
− | * |
||
− | * |
||
− | == Course Sections == |
||
+ | === Software and tools used within the course === |
||
− | The main sections of the course and approximate hour distribution between them is as follows: |
||
+ | |||
+ | = Teaching Methodology: Methods, techniques, & activities = |
||
+ | == Activities and Teaching Methods == |
||
− | {| |
||
+ | {| class="wikitable" |
||
− | !align="center"| '''Section''' |
||
+ | |+ Activities within each section |
||
− | ! '''Section Title''' |
||
− | !align="center"| '''Teaching Hours''' |
||
|- |
|- |
||
+ | ! Learning Activities !! Section 1 !! Section 2 !! Section 3 !! Section 4 |
||
− | |align="center"| 1 |
||
− | | Stiffness modeling |
||
− | |align="center"| 6 |
||
|- |
|- |
||
+ | | Homework and group projects || 1 || 1 || 1 || 1 |
||
− | |align="center"| 2 |
||
− | | Robot calibration |
||
− | |align="center"| 6 |
||
|- |
|- |
||
+ | | Testing (written or computer based) || 1 || 1 || 1 || 1 |
||
− | |align="center"| 3 |
||
− | | Position tracking |
||
− | |align="center"| 6 |
||
|- |
|- |
||
+ | | Discussions || 1 || 1 || 1 || 1 |
||
− | |align="center"| 4 |
||
+ | |} |
||
− | | Energy, impedance, and force control |
||
+ | == Formative Assessment and Course Activities == |
||
− | |align="center"| 6 |
||
− | |} |
||
− | === |
+ | === Ongoing performance assessment === |
− | |||
− | ==== Section title: ==== |
||
− | |||
− | Stiffness modeling |
||
− | |||
− | === Topics covered in this section: === |
||
− | |||
− | * Position and velocity kinematics |
||
− | * Virtual joint modeling |
||
− | * Finite element analysis |
||
− | * Matrix structural 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 & 0<br /> |
||
− | Discussions & 1<br /> |
||
− | |||
− | |||
− | |||
− | </div> |
||
− | === Typical questions for ongoing performance evaluation within this section === |
||
− | |||
− | # Name types of robot workspace. |
||
− | # Name key features and differences between serial and parallel manipulators. |
||
− | # What is Jacobian matrix and how to use it for singularity analysis. |
||
− | # What is stiffness matrix of manipulator and what does it describe? |
||
− | |||
− | === Typical questions for seminar classes (labs) within this section === |
||
− | |||
− | # Find stiffness matrix of a given parallel robotic platform. |
||
− | # Apply direct FEA method to analyze compliance of a given manipulator. |
||
− | # Perform matrix structural analysis of a cantilever beam. |
||
− | # Find stiffness matrix of a two-link manipulator with elastic joint. |
||
− | # Model stiffness of a non-rigid mobile platform. |
||
− | |||
− | === Test questions for final assessment in this section === |
||
+ | ==== Section 1 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || Name types of robot workspace. || 1 |
||
+ | |- |
||
+ | | Question || Name key features and differences between serial and parallel manipulators. || 1 |
||
+ | |- |
||
+ | | Question || What is Jacobian matrix and how to use it for singularity analysis. || 1 |
||
+ | |- |
||
+ | | Question || What is stiffness matrix of manipulator and what does it describe? || 1 |
||
+ | |- |
||
+ | | Question || Find stiffness matrix of a given parallel robotic platform. || 0 |
||
+ | |- |
||
+ | | Question || Apply direct FEA method to analyze compliance of a given manipulator. || 0 |
||
+ | |- |
||
+ | | Question || Perform matrix structural analysis of a cantilever beam. || 0 |
||
+ | |- |
||
+ | | Question || Find stiffness matrix of a two-link manipulator with elastic joint. || 0 |
||
+ | |- |
||
+ | | Question || Model stiffness of a non-rigid mobile platform. || 0 |
||
+ | |} |
||
+ | ==== Section 2 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || Why is robot calibration needed? || 1 |
||
+ | |- |
||
+ | | Question || What are the main sources of errors in robot parameters? || 1 |
||
+ | |- |
||
+ | | Question || Give examples of geometric and non-geometric errors. || 1 |
||
+ | |- |
||
+ | | Question || Describe typical steps of calibration procedure. || 1 |
||
+ | |- |
||
+ | | Question || Drive information matrix of a 2-link manipulator. || 0 |
||
+ | |- |
||
+ | | Question || Estimate identification accuracy for 4-link manipulator. || 0 |
||
+ | |- |
||
+ | | Question || Comment on differences between compliance matrix of a manipulator obtained via CAD modeling and identification results. || 0 |
||
+ | |- |
||
+ | | Question || Perform model reduction for a given manipulator. || 0 |
||
+ | |} |
||
+ | ==== Section 3 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || What challenges does robot compliance pose for a control system? || 1 |
||
+ | |- |
||
+ | | Question || What are the mathematical fundamentals of adaptive control? || 1 |
||
+ | |- |
||
+ | | Question || How does cable elasticity affect dynamics of tendon-driven robots? || 1 |
||
+ | |- |
||
+ | | Question || How to perform feedback linearization for a given compliant robot? || 1 |
||
+ | |- |
||
+ | | Question || Design PD controller with gravity compensation for a manipulator with elastic joint. || 0 |
||
+ | |- |
||
+ | | Question || Numerically model behavior of compliant robot with nonlinear controller. || 0 |
||
+ | |- |
||
+ | | Question || Numerically model and compare accuracy and power efficiency of robust and adaptive controllers for a cable-driven robot. || 0 |
||
+ | |- |
||
+ | | Question || Analyze stability of adaptive controller. || 0 |
||
+ | |} |
||
+ | ==== Section 4 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || Provide examples of passive and active systems. || 1 |
||
+ | |- |
||
+ | | Question || What are limit cycles? || 1 |
||
+ | |- |
||
+ | | Question || What components of mechanical energy exist in robots with compliance? || 1 |
||
+ | |- |
||
+ | | Question || What happens with the energy of passive systems with time? || 1 |
||
+ | |- |
||
+ | | Question || Find limit cycles of a given robot with compliance. || 0 |
||
+ | |- |
||
+ | | Question || Design gravity and compliance compensator for a robot with flexible joints. || 0 |
||
+ | |- |
||
+ | | Question || Simulate numerically behavior of a compliant robot during cyclic motion. || 0 |
||
+ | |- |
||
+ | | Question || Implement and simulate passivity-based control over given robot. || 0 |
||
+ | |} |
||
+ | === Final assessment === |
||
+ | '''Section 1''' |
||
# Describe main stiffness modeling approaches, their particularities, advantages and limitations. |
# Describe main stiffness modeling approaches, their particularities, advantages and limitations. |
||
# Use variable joint model for a serial manipulator (assume all elements are flexible) to find stiffness matrix. |
# Use variable joint model for a serial manipulator (assume all elements are flexible) to find stiffness matrix. |
||
# Drive VSJ and MSA models of the tripteron robot shown. |
# Drive VSJ and MSA models of the tripteron robot shown. |
||
+ | '''Section 2''' |
||
− | |||
− | === Section 2 === |
||
− | |||
− | ==== Section title: ==== |
||
− | |||
− | Robot calibration |
||
− | |||
− | === Topics covered in this section: === |
||
− | |||
− | * Types of robot calibration |
||
− | * Sources of uncertainties and model errors in practical robots |
||
− | * Robot errors |
||
− | * Complete, irreducible geometric models |
||
− | * Elastostatic calibration |
||
− | |||
− | === 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 === |
||
− | |||
− | # Why is robot calibration needed? |
||
− | # What are the main sources of errors in robot parameters? |
||
− | # Give examples of geometric and non-geometric errors. |
||
− | # Describe typical steps of calibration procedure. |
||
− | |||
− | === Typical questions for seminar classes (labs) within this section === |
||
− | |||
− | # Drive information matrix of a 2-link manipulator. |
||
− | # Estimate identification accuracy for 4-link manipulator. |
||
− | # Comment on differences between compliance matrix of a manipulator obtained via CAD modeling and identification results. |
||
− | # Perform model reduction for a given manipulator. |
||
− | |||
− | === Test questions for final assessment in this section === |
||
− | |||
# Describe particularities and difficulties of the elastostatic calibration. |
# Describe particularities and difficulties of the elastostatic calibration. |
||
# What do good/bad accuracy and repeatability mean? |
# What do good/bad accuracy and repeatability mean? |
||
# What is complete, irreducible geometric model and why do we need it? |
# What is complete, irreducible geometric model and why do we need it? |
||
# Find complete and irreducible model for geometric calibration of robot presented below. |
# Find complete and irreducible model for geometric calibration of robot presented below. |
||
+ | '''Section 3''' |
||
− | |||
− | === Section 3 === |
||
− | |||
− | ==== Section title: ==== |
||
− | |||
− | Position tracking |
||
− | |||
− | ==== Topics covered in this section: ==== |
||
− | |||
− | * Adaptive control of flexible joint manipulators |
||
− | * Adaptive robust control |
||
− | * Modeling and control of cable-driven robotic systems |
||
− | |||
− | === 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 === |
||
− | |||
− | # What challenges does robot compliance pose for a control system? |
||
− | # What are the mathematical fundamentals of adaptive control? |
||
− | # How does cable elasticity affect dynamics of tendon-driven robots? |
||
− | # How to perform feedback linearization for a given compliant robot? |
||
− | |||
− | ==== Typical questions for seminar classes (labs) within this section ==== |
||
− | |||
− | # Design PD controller with gravity compensation for a manipulator with elastic joint. |
||
− | # Numerically model behavior of compliant robot with nonlinear controller. |
||
− | # Numerically model and compare accuracy and power efficiency of robust and adaptive controllers for a cable-driven robot. |
||
− | # Analyze stability of adaptive controller. |
||
− | |||
− | ==== Test questions for final assessment in this section ==== |
||
− | |||
# Provide examples of practical systems with non-collocated feedback. What unique challenges does this pose for control systems? |
# Provide examples of practical systems with non-collocated feedback. What unique challenges does this pose for control systems? |
||
# Design a position tracking controller for a given compliant system. |
# Design a position tracking controller for a given compliant system. |
||
# Analyze stability of a given nonlinear control approach. |
# Analyze stability of a given nonlinear control approach. |
||
+ | '''Section 4''' |
||
+ | # What are the physical fundamentals behind the concept of passivity and passivity-based control? |
||
+ | # Drive the dynamics of a given elastically actuated robot. |
||
+ | # Analyze stability of a given system with passivity-based controller. |
||
− | === |
+ | === The retake exam === |
+ | '''Section 1''' |
||
− | + | '''Section 2''' |
|
+ | '''Section 3''' |
||
− | Energy, impedance, and force control |
||
+ | '''Section 4''' |
||
− | ==== Topics covered in this section: ==== |
||
− | |||
− | * Energy-based control of compliant robots |
||
− | * Limit cycles |
||
− | * Passivity-based control |
||
− | * Impedance control |
||
− | |||
− | === 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 === |
||
− | |||
− | # Provide examples of passive and active systems. |
||
− | # What are limit cycles? |
||
− | # What components of mechanical energy exist in robots with compliance? |
||
− | # What happens with the energy of passive systems with time? |
||
− | |||
− | ==== Typical questions for seminar classes (labs) within this section ==== |
||
− | |||
− | # Find limit cycles of a given robot with compliance. |
||
− | # Design gravity and compliance compensator for a robot with flexible joints. |
||
− | # Simulate numerically behavior of a compliant robot during cyclic motion. |
||
− | # Implement and simulate passivity-based control over given robot. |
||
− | |||
− | ==== Test questions for final assessment in this section ==== |
||
− | |||
− | # What are the physical fundamentals behind the concept of passivity and passivity-based control? |
||
− | # Drive the dynamics of a given elastically actuated robot. |
||
− | # Analyze stability of a given system with passivity-based controller. |
Latest revision as of 11:48, 29 August 2022
Advanced Robotics
- Course name: Advanced Robotics
- Code discipline:
- Subject area: Robotic control.
Short Description
This course covers the following concepts: Elastostatic modeling and calibration of robots; Advanced control approaches for compliant robotic systems.
Prerequisites
Prerequisite subjects
- Matlab or Python, Numpy library,
- Google Colab environment.
- CSE201 — Mathematical Analysis I
- CSE203 — Mathematical Analysis II: differentiation, exponentials, gradient.
- CSE202 — Analytical Geometry and Linear Algebra I
- CSE204 — Analytic Geometry And Linear Algebra II: matrix multiplication, change of the bases, orthonormal spaces, cross product and skew-symmetric matrices, eigenvector and eigenvalue, SVD.
- CSE402 — Physics I (Mechanics) and CSE410 — Physics II - Electrical Engineering]: Kinematics, Statics and Dynamics.
- Statistics: Linear regression, .Covariance matrix, Information matrix, Observability matrix, Design of Experiments, Statistical evaluation
- Screw theory.
- Product of Exponents (PoE)
Prerequisite topics
Course Topics
Section | Topics within the section |
---|---|
Stiffness modeling |
|
Robot calibration |
|
Position tracking |
|
Energy, impedance, and force control |
|
Intended Learning Outcomes (ILOs)
What is the main purpose of this course?
While traditional robotics studies rigid robots and manipulators, many practical robotic systems exhibit non-negligible compliance. Its effects can be both detrimental (for instance, decrease in positioning accuracy of industrial manipulators) and beneficial (improved safety during human-robot interaction), depending on the application. However, regardless of whether the robot’s compliance is positive or negative, it must be accurately accounted for during modeling, trajectory tracking and robot control tasks. The main purpose of this course is to introduce elastostatic modeling of manipulators and robotic systems, methods for calibration of these devices, as well as advanced approaches to control robotic systems with non-negligible stiffness.
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 ...
- How to derive expressions for position kinematics and differential kinematics of serial manipulators,
- What approaches exist to model robot joints’ elasticity,
- How to model dynamics of compliant robots,
- Fundamental principles of position tracking control for robots with compliance,
- Motivation behind energy-based approaches to control elastic robots.
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 ...
- How to find Jacobian for series and parallel robots and use it to compute forces and torques,
- What constitutes a common manipulator calibration procedure,
- Reasons and examples of singularities for serial and parallel robots,
- How to drive elastic robots into limit cycles and what benefits does it bring in terms of control effort,
- How to model and control tendon-driven robots.
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 ...
- Find stiffness matrix for given manipulator,
- Analyze joint constraints and find singularities,
- Perform robot calibration procedure,
- Apply passivity principle to design stable position controllers,
- Design force controller for elastic and compliant robots.
Grading
Course grading range
Grade | Range | Description of performance |
---|---|---|
A. Excellent | 90-100 | - |
B. Good | 75-89 | - |
C. Satisfactory | 60-74 | - |
D. Poor | 0-59 | - |
Course activities and grading breakdown
Activity Type | Percentage of the overall course grade |
---|---|
Labs/seminar classes | 10 |
Interim performance assessment | 60 |
Exams | 30 |
Recommendations for students on how to succeed in the course
Resources, literature and reference materials
Open access resources
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 |
---|---|---|---|---|
Homework and group projects | 1 | 1 | 1 | 1 |
Testing (written or computer based) | 1 | 1 | 1 | 1 |
Discussions | 1 | 1 | 1 | 1 |
Formative Assessment and Course Activities
Ongoing performance assessment
Section 1
Activity Type | Content | Is Graded? |
---|---|---|
Question | Name types of robot workspace. | 1 |
Question | Name key features and differences between serial and parallel manipulators. | 1 |
Question | What is Jacobian matrix and how to use it for singularity analysis. | 1 |
Question | What is stiffness matrix of manipulator and what does it describe? | 1 |
Question | Find stiffness matrix of a given parallel robotic platform. | 0 |
Question | Apply direct FEA method to analyze compliance of a given manipulator. | 0 |
Question | Perform matrix structural analysis of a cantilever beam. | 0 |
Question | Find stiffness matrix of a two-link manipulator with elastic joint. | 0 |
Question | Model stiffness of a non-rigid mobile platform. | 0 |
Section 2
Activity Type | Content | Is Graded? |
---|---|---|
Question | Why is robot calibration needed? | 1 |
Question | What are the main sources of errors in robot parameters? | 1 |
Question | Give examples of geometric and non-geometric errors. | 1 |
Question | Describe typical steps of calibration procedure. | 1 |
Question | Drive information matrix of a 2-link manipulator. | 0 |
Question | Estimate identification accuracy for 4-link manipulator. | 0 |
Question | Comment on differences between compliance matrix of a manipulator obtained via CAD modeling and identification results. | 0 |
Question | Perform model reduction for a given manipulator. | 0 |
Section 3
Activity Type | Content | Is Graded? |
---|---|---|
Question | What challenges does robot compliance pose for a control system? | 1 |
Question | What are the mathematical fundamentals of adaptive control? | 1 |
Question | How does cable elasticity affect dynamics of tendon-driven robots? | 1 |
Question | How to perform feedback linearization for a given compliant robot? | 1 |
Question | Design PD controller with gravity compensation for a manipulator with elastic joint. | 0 |
Question | Numerically model behavior of compliant robot with nonlinear controller. | 0 |
Question | Numerically model and compare accuracy and power efficiency of robust and adaptive controllers for a cable-driven robot. | 0 |
Question | Analyze stability of adaptive controller. | 0 |
Section 4
Activity Type | Content | Is Graded? |
---|---|---|
Question | Provide examples of passive and active systems. | 1 |
Question | What are limit cycles? | 1 |
Question | What components of mechanical energy exist in robots with compliance? | 1 |
Question | What happens with the energy of passive systems with time? | 1 |
Question | Find limit cycles of a given robot with compliance. | 0 |
Question | Design gravity and compliance compensator for a robot with flexible joints. | 0 |
Question | Simulate numerically behavior of a compliant robot during cyclic motion. | 0 |
Question | Implement and simulate passivity-based control over given robot. | 0 |
Final assessment
Section 1
- Describe main stiffness modeling approaches, their particularities, advantages and limitations.
- Use variable joint model for a serial manipulator (assume all elements are flexible) to find stiffness matrix.
- Drive VSJ and MSA models of the tripteron robot shown.
Section 2
- Describe particularities and difficulties of the elastostatic calibration.
- What do good/bad accuracy and repeatability mean?
- What is complete, irreducible geometric model and why do we need it?
- Find complete and irreducible model for geometric calibration of robot presented below.
Section 3
- Provide examples of practical systems with non-collocated feedback. What unique challenges does this pose for control systems?
- Design a position tracking controller for a given compliant system.
- Analyze stability of a given nonlinear control approach.
Section 4
- What are the physical fundamentals behind the concept of passivity and passivity-based control?
- Drive the dynamics of a given elastically actuated robot.
- Analyze stability of a given system with passivity-based controller.
The retake exam
Section 1
Section 2
Section 3
Section 4