Difference between revisions of "MSc: Advanced Robotics"
Line 23: | Line 23: | ||
== Prerequisites == |
== Prerequisites == |
||
The course will benefit if students already know some topics of mathematics and programming. |
The course will benefit if students already know some topics of mathematics and programming. |
||
− | Programming: Matlab or Python, numpy library, Google Colab environment. |
+ | * Programming: Matlab or Python, numpy library, Google Colab environment. |
− | Mathematics: |
+ | * Mathematics: |
− | Calculus: differentiation, exponentials, gradient. |
+ | ** Calculus: differentiation, exponentials, gradient. |
− | Linear Algebra: matrix multiplication, change of the bases, orthonormal spaces, cross product and skew-symmetric matrices, eigenvector and eigenvalue, SVD. |
+ | ** Linear Algebra: 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) |
||
− | Physics: |
+ | * Physics: |
− | Kinematics, Statics and Dynamics. |
+ | ** Kinematics, Statics and Dynamics. |
− | Statistics: |
+ | *Statistics: |
− | Linear regression, .Covariance matrix, Information matrix, Observability matrix, Design of Experiments, Statistical evaluation |
+ | ** Linear regression, .Covariance matrix, Information matrix, Observability matrix, Design of Experiments, Statistical evaluation |
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
== Course Objectives Based on Bloom’s Taxonomy == |
== Course Objectives Based on Bloom’s Taxonomy == |
Revision as of 16:29, 11 April 2022
Advanced Robotics
[C:AdvancedRobotics]
- Course name: Advanced Robotics
- Course number:
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
The course will benefit if students already know some topics of mathematics and programming.
- Programming: Matlab or Python, numpy library, Google Colab environment.
- Mathematics:
- Calculus: differentiation, exponentials, gradient.
- Linear Algebra: matrix multiplication, change of the bases, orthonormal spaces, cross product and skew-symmetric matrices, eigenvector and eigenvalue, SVD.
Screw theory. Product of Exponents (PoE)
- Physics:
- Kinematics, Statics and Dynamics.
- Statistics:
- Linear regression, .Covariance matrix, Information matrix, Observability matrix, Design of Experiments, Statistical evaluation
References:
- Any text book on Linear algebra, Calculus, Statistics, Programming and Physics
- 3blue1brown playlist on Linear Algebra can help to overview selected topics.
- 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 quickstart guide.
- Statistics for Applications
- Dimentberg, F. M. (1965) The Screw Calculus and Its Applications in Mechanics
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
- 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.
- What should a student be able to understand at the end of the course?
By the end of the course, the students should be able to describe and explain
- 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.
- What should a student be able to apply at the end of the course?
By the end of the course, the students should be able to
- 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.
Course evaluation
Proposed points | ||
---|---|---|
Labs/seminar classes | 20 | 10 |
Interim performance assessment | 30 | 60 |
Exams | 50 | 30 |
If necessary, please indicate freely your course’s features in terms of students’ performance assessment:
The course grades are given according to the following rules: 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
Proposed range | ||
---|---|---|
A. Excellent | 90-100 | |
B. Good | 75-89 | |
C. Satisfactory | 60-74 | |
D. Poor | 0-59 |
If necessary, please indicate freely your course’s grading features.
Resources and reference material
Textbooks:
Course Sections
The main sections of the course and approximate hour distribution between them is as follows:
Section | Section Title | Teaching Hours |
---|---|---|
1 | Stiffness modeling | 6 |
2 | Robot calibration | 6 |
3 | Position tracking | 6 |
4 | Energy, impedance, and force control | 6 |
Section 1
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?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- 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
- 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
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?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- 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.
- 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
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?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- 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?
- Design a position tracking controller for a given compliant system.
- Analyze stability of a given nonlinear control approach.
Section 4
Section title:
Energy, impedance, and force control
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?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- 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.