Difference between revisions of "MSc: Advanced Robotics"

From IU
Jump to navigation Jump to search
 
(10 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,
* Numpy library,
 
 
* Google Colab environment.
 
* Google Colab environment.
  +
* CSE201 — Mathematical Analysis I
 
  +
* CSE203 — Mathematical Analysis II: differentiation, exponentials, gradient.
Mathematics:
 
  +
* CSE202 — Analytical Geometry and Linear Algebra I
* [https://eduwiki.innopolis.university/index.php/BSc:MathematicalAnalysisI CSE201 — Mathematical Analysis 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.
* [https://eduwiki.innopolis.university/index.php/BSc:MathematicalAnalysisII CSE203 — Mathematical Analysis II]: differentiation, exponentials, gradient.
 
  +
* CSE402 — Physics I (Mechanics) and CSE410 — Physics II - Electrical Engineering]: Kinematics, Statics and Dynamics.
* [https://eduwiki.innopolis.university/index.php/BSc:AnalyticGeometryAndLinearAlgebraI CSE202 — Analytical Geometry and Linear Algebra I]
 
  +
* Statistics: Linear regression, .Covariance matrix, Information matrix, Observability matrix, Design of Experiments, Statistical evaluation
* [https://eduwiki.innopolis.university/index.php/BSc:AnalyticGeometryAndLinearAlgebraII 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.
 
 
* Screw theory.
 
* Screw theory.
 
* Product of Exponents (PoE)
 
* Product of Exponents (PoE)
   
  +
=== Prerequisite topics ===
Physics
 
* [https://eduwiki.innopolis.university/index.php/BSc:PhysicsI CSE402 — Physics I (Mechanics)]
 
* [https://eduwiki.innopolis.university/index.php/BSc:PhysicsII CSE410 — Physics II - Electrical Engineering]: Kinematics, Statics and Dynamics.
 
   
*Statistics: Linear regression, .Covariance matrix, Information matrix, Observability matrix, Design of Experiments, Statistical evaluation
 
   
  +
== Course Topics ==
References:
 
  +
{| class="wikitable"
* Any text book on Linear algebra, Calculus, Statistics, Programming and Physics
 
  +
|+ Course Sections and Topics
* [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.
 
  +
! Section !! Topics within the section
* Kick start your numpy with the official [https://numpy.org/doc/stable/user/quickstart.html quickstart guide].
 
  +
|-
* Statistics for Applications
 
  +
| 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? ===
* Dimentberg, F. M. (1965) [http://oai.dtic.mil/oai/oai?verb=getRecord&metadataPrefix=html&identifier=AD0680993 The Screw Calculus and Its Applications in Mechanics]
 
  +
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 ===
== Course Objectives Based on Bloom’s Taxonomy ==
 
 
=== - What should a student remember at the end of the course? ===
 
 
By the end of the course, the students should be able to remember
 
   
  +
==== 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 64: Line 70:
 
* Motivation behind energy-based approaches to control elastic robots.
 
* Motivation behind energy-based approaches to control elastic robots.
   
=== - 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 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 74: Line 78:
 
* How to model and control tendon-driven robots.
 
* How to model and control tendon-driven robots.
   
=== - 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
 
 
 
* 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 evaluation ==
+
=== 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"|
 
 
|-
 
|-
| D. Poor
+
| 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
 
|}
 
   
=== Section 1 ===
+
=== 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> &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 ===
 
 
# 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> &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 ===
 
 
# 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> &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 ===
 
 
# 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.
   
=== Section 4 ===
+
=== The retake exam ===
  +
'''Section 1'''
   
==== Section title: ====
+
'''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> &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 ===
 
 
# 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

Course Sections and Topics
Section Topics within the section
Stiffness modeling
  1. Position and velocity kinematics
  2. Virtual joint modeling
  3. Finite element analysis
  4. Matrix structural analysis
Robot calibration
  1. Types of robot calibration
  2. Sources of uncertainties and model errors in practical robots
  3. Robot errors
  4. Complete, irreducible geometric models
  5. Elastostatic calibration
Position tracking
  1. Adaptive control of flexible joint manipulators
  2. Adaptive robust control
  3. Modeling and control of cable-driven robotic systems
Energy, impedance, and force control
  1. Energy-based control of compliant robots
  2. Limit cycles
  3. Passivity-based control
  4. 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

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

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

  1. Describe main stiffness modeling approaches, their particularities, advantages and limitations.
  2. Use variable joint model for a serial manipulator (assume all elements are flexible) to find stiffness matrix.
  3. Drive VSJ and MSA models of the tripteron robot shown.

Section 2

  1. Describe particularities and difficulties of the elastostatic calibration.
  2. What do good/bad accuracy and repeatability mean?
  3. What is complete, irreducible geometric model and why do we need it?
  4. Find complete and irreducible model for geometric calibration of robot presented below.

Section 3

  1. Provide examples of practical systems with non-collocated feedback. What unique challenges does this pose for control systems?
  2. Design a position tracking controller for a given compliant system.
  3. Analyze stability of a given nonlinear control approach.

Section 4

  1. What are the physical fundamentals behind the concept of passivity and passivity-based control?
  2. Drive the dynamics of a given elastically actuated robot.
  3. Analyze stability of a given system with passivity-based controller.

The retake exam

Section 1

Section 2

Section 3

Section 4