Difference between revisions of "BSc: Robotic Systems"
R.sirgalina (talk | contribs) |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | |||
= Robotic Systems = |
= Robotic Systems = |
||
+ | * '''Course name''': Robotic Systems |
||
+ | * '''Code discipline''': |
||
+ | * '''Subject area''': Robotics; Robotic components; Robotic control. |
||
+ | == Short Description == |
||
− | * <span>'''Course name:'''</span> Robotic Systems |
||
+ | This course covers the following concepts: Robot hardware; Feedback control in application to robotic systems; Trajectory tracking and advanced control algorithms. |
||
− | * <span>'''Course number:'''</span> |
||
− | * <span>'''Knowledge area:'''</span> Robotics; Robotic components; Robotic control. |
||
− | == Course characteristics == |
||
− | |||
− | === Key concepts of the class === |
||
− | |||
− | * Robot hardware |
||
− | * Feedback control in application to robotic systems |
||
− | * Trajectory tracking and advanced control algorithms |
||
− | |||
− | === What is the purpose of this course? === |
||
− | |||
− | The purpose of this course is to review the concepts of linear control theory and then learn some advanced control methods while applying them to practical simple robotic systems with 1 and 2 degrees of freedom. The course also presents all the necessary background of such fundamental components of robotic manipulators as DC and BLDC motors, encoders, microcontrollers and CAN bus (communication protocol). Based on these, the course teaches the student to design and implement on practice simple and advanced control approaches and teaches the students to tune and analyze stability of selected controllers in application to robotic systems. |
||
== Prerequisites == |
== Prerequisites == |
||
+ | === Prerequisite subjects === |
||
− | * [https://eduwiki.innopolis.university/index.php/BSc:MathematicalAnalysisI CSE201 — Mathematical Analysis I] and [https://eduwiki.innopolis.university/index.php/BSc:MathematicalAnalysisII CSE203 — Mathematical Analysis II]: ordinary and partial derivatives, definite and indefinite integrals. |
||
+ | * CSE201 — Mathematical Analysis I and CSE203 — Mathematical Analysis II: ordinary and partial derivatives, definite and indefinite integrals. |
||
+ | * CSE202 — Analytical Geometry and Linear Algebra I and ACSE204 — Analytic Geometry And Linear Algebra II: matrix operations, eigenvalues and eigenvectors |
||
+ | * CSE205 — Differential Equations: first- and second-order ODEs, state-space representation and modeling, concepts of stability (Lyapunov, asymptotic, exponential) |
||
+ | * What are the fundamental principles behind DC and BLDC motors, |
||
+ | * How to tune PD controllers to achieve critically damped response, |
||
+ | * What is gravity compensation and how it is implemented in robotic systems, |
||
+ | * What is inverse dynamics. |
||
+ | * What are the advantages of BLDC motors over DC motors, |
||
+ | * Why PD and PID controllers constitute the majority of industrial controllers, |
||
+ | * What methods exist for trajectory generation and tracking, |
||
+ | * How to design an inverse dynamics controller. |
||
+ | * Tune PD and PID controllers, |
||
+ | * Design stable position controllers for manipulators, |
||
+ | * Develop nonlinear controllers such as gravity compensation and inverse dynamics, |
||
+ | * Interface practical robotic hardware (BLDC motors, encoders, microcontrollers) and implement their control algorithms. |
||
+ | === Prerequisite topics === |
||
− | * [https://eduwiki.innopolis.university/index.php/BSc:AnalyticGeometryAndLinearAlgebraI CSE202 — Analytical Geometry and Linear Algebra I] and [https://eduwiki.innopolis.university/index.php/BSc:AnalyticGeometryAndLinearAlgebraII ACSE204 — Analytic Geometry And Linear Algebra II]: matrix operations, eigenvalues and eigenvectors |
||
− | * [https://eduwiki.innopolis.university/index.php/BSc:DifferentialEquations CSE205 — Differential Equations]: first- and second-order ODEs, state-space representation and modeling, concepts of stability (Lyapunov, asymptotic, exponential) |
||
− | + | == Course Topics == |
|
+ | {| class="wikitable" |
||
+ | |+ Course Sections and Topics |
||
+ | |- |
||
+ | ! Section !! Topics within the section |
||
+ | |- |
||
+ | | Robot Hardware || |
||
+ | # DC and BLDC motors |
||
+ | # Position sensors (encoders) |
||
+ | # CAN bus |
||
+ | |- |
||
+ | | Feedback Control || |
||
+ | # Review of feedback control |
||
+ | # PD controllers |
||
+ | # PID controllers |
||
+ | # Gravity compensation |
||
+ | # Stability of linear systems |
||
+ | |- |
||
+ | | Position tracking in robots || |
||
+ | # Linear feedback control in application to manipulators |
||
+ | # Lyapunov stability analysis |
||
+ | # Stabilization and trajectory tracking |
||
+ | |- |
||
+ | | Energy, impedance, and force control || |
||
+ | # Joint-space inverse dynamics of serial manipulators |
||
+ | # Energy-based control of compliant robots |
||
+ | # Passivity-based control |
||
+ | # Adaptive control of flexible joint manipulators |
||
+ | |} |
||
+ | == Intended Learning Outcomes (ILOs) == |
||
− | + | === What is the main purpose of this course? === |
|
+ | The purpose of this course is to review the concepts of linear control theory and then learn some advanced control methods while applying them to practical simple robotic systems with 1 and 2 degrees of freedom. The course also presents all the necessary background of such fundamental components of robotic manipulators as DC and BLDC motors, encoders, microcontrollers and CAN bus (communication protocol). Based on these, the course teaches the student to design and implement on practice simple and advanced control approaches and teaches the students to tune and analyze stability of selected controllers in application to robotic systems. |
||
+ | === 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 ... |
||
* What are the fundamental principles behind DC and BLDC motors, |
* What are the fundamental principles behind DC and BLDC motors, |
||
* How to tune PD controllers to achieve critically damped response, |
* How to tune PD controllers to achieve critically damped response, |
||
Line 35: | Line 73: | ||
* What is inverse dynamics. |
* What is inverse dynamics. |
||
− | ==== |
+ | ==== 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 |
||
− | |||
* What are the advantages of BLDC motors over DC motors, |
* What are the advantages of BLDC motors over DC motors, |
||
* Why PD and PID controllers constitute the majority of industrial controllers, |
* Why PD and PID controllers constitute the majority of industrial controllers, |
||
Line 44: | Line 80: | ||
* How to design an inverse dynamics controller. |
* How to design an inverse dynamics controller. |
||
− | ==== |
+ | ==== 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 |
||
− | |||
* Tune PD and PID controllers, |
* Tune PD and PID controllers, |
||
* Design stable position controllers for manipulators, |
* Design stable position controllers for manipulators, |
||
* Develop nonlinear controllers such as gravity compensation and inverse dynamics, |
* Develop nonlinear controllers such as gravity compensation and inverse dynamics, |
||
− | * Interface practical robotic hardware (BLDC motors, encoders, microcontrollers) and implement their control algorithms. |
+ | * Interface practical robotic hardware (BLDC motors, encoders, microcontrollers) and implement their control algorithms. |
+ | == Grading == |
||
− | === Course |
+ | === Course grading range === |
+ | {| class="wikitable" |
||
− | |||
− | + | |+ |
|
+ | |- |
||
− | |+ Course grade breakdown |
||
+ | ! Grade !! Range !! Description of performance |
||
− | ! |
||
− | ! |
||
− | !align="center"| '''Proposed points''' |
||
|- |
|- |
||
+ | | A. Excellent || 85-100 || - |
||
− | | Labs/seminar classes |
||
− | | 20 |
||
− | |align="center"| 30 |
||
|- |
|- |
||
+ | | B. Good || 70-84 || - |
||
− | | Quizzes |
||
− | | 30 |
||
− | |align="center"| 30 |
||
|- |
|- |
||
+ | | C. Satisfactory || 55-69 || - |
||
− | | Final exam |
||
− | | |
+ | |- |
+ | | D. Poor || 0-54 || - |
||
− | |align="center"| 40 |
||
|} |
|} |
||
+ | === 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 (6) = 30 pts (factoring in the attendance at the labs), Quizzes (3) = 30 pts, Final exam = 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"| 85-100 |
||
|- |
|- |
||
+ | | Labs/seminar classes || 30 |
||
− | | B. Good |
||
− | | 75-89 |
||
− | |align="center"| 70-84 |
||
|- |
|- |
||
+ | | Quizzes || 30 |
||
− | | C. Satisfactory |
||
− | | 60-74 |
||
− | |align="center"| 55-69 |
||
|- |
|- |
||
+ | | Final exam || 40 |
||
− | | D. Poor |
||
− | | 0-59 |
||
− | |align="center"| 0-54 |
||
|} |
|} |
||
+ | === 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 === |
||
− | Textbooks: |
||
− | * |
||
− | * |
||
− | == |
+ | === Closed access resources === |
− | The main sections of the course and approximate hour distribution between them is as follows: |
||
+ | === Software and tools used within the course === |
||
− | {| |
||
+ | |||
− | !align="center"| '''Section''' |
||
+ | = Teaching Methodology: Methods, techniques, & activities = |
||
− | ! '''Section Title''' |
||
+ | |||
− | !align="center"| '''Teaching Hours''' |
||
+ | == Activities and Teaching Methods == |
||
+ | {| class="wikitable" |
||
+ | |+ Activities within each section |
||
|- |
|- |
||
+ | ! Learning Activities !! Section 1 !! Section 2 !! Section 3 !! Section 4 |
||
− | |align="center"| 1 |
||
− | | Robot Hardware |
||
− | |align="center"| 8 |
||
|- |
|- |
||
+ | | Development of individual parts of software product code || 1 || 0 || 0 || 0 |
||
− | |align="center"| 2 |
||
− | | Fundamentals of Feedback Control |
||
− | |align="center"| 12 |
||
|- |
|- |
||
+ | | Homework and group projects || 1 || 1 || 1 || 1 |
||
− | |align="center"| 3 |
||
+ | |- |
||
− | | Trajectory Tracking and Advanced Control |
||
+ | | Testing (written or computer based) || 1 || 1 || 1 || 1 |
||
− | |align="center"| 12 |
||
− | | |
+ | |- |
+ | | Reports || 1 || 1 || 0 || 0 |
||
+ | |- |
||
+ | | Discussions || 1 || 1 || 1 || 1 |
||
+ | |} |
||
+ | == Formative Assessment and Course Activities == |
||
− | === |
+ | === Ongoing performance assessment === |
− | |||
− | ==== Section title: ==== |
||
− | |||
− | Robot Hardware |
||
− | |||
− | === Topics covered in this section: === |
||
− | |||
− | * DC and BLDC motors |
||
− | * Position sensors (encoders) |
||
− | * CAN bus |
||
− | |||
− | === 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 & 1<br /> |
||
− | Homework and group projects & 1<br /> |
||
− | Midterm evaluation & 0<br /> |
||
− | Testing (written or computer based) & 1<br /> |
||
− | Reports & 1<br /> |
||
− | Essays & 0<br /> |
||
− | Oral polls & 0<br /> |
||
− | Discussions & 1<br /> |
||
− | |||
− | |||
− | |||
− | </div> |
||
− | === Typical questions for ongoing performance evaluation within this section === |
||
− | |||
− | * Describe the basic operation principle of DC motors. |
||
− | * What are the main advantages of BLDC motors over DC motors? |
||
− | * Describe operation principles of optical and magnetic encoders. |
||
− | |||
− | === Typical questions for seminar classes (labs) within this section === |
||
− | |||
− | # Rewrite the equation of DC motor in the state space form. |
||
− | # Rewrite the equation of cart pole system in the state space form with the state <math display="inline">\mathbf{x}=[\theta, \dot{\theta}, x, \dot{x}]^T</math>. |
||
− | # Find eigen system (values and vectors) of following matrices by hand |
||
− | |||
− | === Test questions for final assessment in this section === |
||
+ | ==== Section 1 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || Describe the basic operation principle of DC motors. || 1 |
||
+ | |- |
||
+ | | Question || What are the main advantages of BLDC motors over DC motors? || 1 |
||
+ | |- |
||
+ | | Question || Describe operation principles of optical and magnetic encoders. || 1 |
||
+ | |- |
||
+ | | Question || Rewrite the equation of DC motor in the state space form. || 0 |
||
+ | |- |
||
+ | | Question || Rewrite the equation of cart pole system in the state space form with the state <math>{\textstyle \mathbf {x} =[\theta ,{\dot {\theta }},x,{\dot {x}}]^{T}}</math> . || 0 |
||
+ | |- |
||
+ | | Question || Find eigen system (values and vectors) of following matrices by hand || 0 |
||
+ | |} |
||
+ | ==== Section 2 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || What are overshoot and settling time? || 1 |
||
+ | |- |
||
+ | | Question || How do the gains of PD controller affect transient response parameters? || 1 |
||
+ | |- |
||
+ | | Question || sdf || 1 |
||
+ | |- |
||
+ | | Question || Find stiffness matrix of a given parallel robotic platform. || 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 || Estimate identification accuracy for 3-link manipulator. || 0 |
||
+ | |- |
||
+ | | Question || Comment on differences between compliance matrix of a manipulator obtained via CAD modeling and identification results. || 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 || For a given differential equation describing robot dynamics and several control laws, find which ones are stable using Lyapunov stability theory. || 1 |
||
+ | |- |
||
+ | | Question || How does elasticity affect error dynamics in robot control applications? || 1 |
||
+ | |- |
||
+ | | Question || What components of mechanical energy exist in robots with compliance? || 1 |
||
+ | |- |
||
+ | | Question || Design PD controller for a rigid two-link manipulator. || 0 |
||
+ | |- |
||
+ | | Question || Numerically model behavior of compliant robot with PID controller. || 0 |
||
+ | |- |
||
+ | | Question || Compare performance of linear controllers in application to rigid and 2-link manipulator control. || 0 |
||
+ | |- |
||
+ | | Question || Analyze stability of a given 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 happens with the energy of passive systems with time? || 1 |
||
+ | |- |
||
+ | | Question || For a given differential equation that describes pendulum dynamics, do the following: || 1 |
||
+ | |- |
||
+ | | Question || Perform input-state linearization for a given system of differential equations. || 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 || Implement and simulate passivity-based control over given robot. || 0 |
||
+ | |- |
||
+ | | Question || For a given differential equation that describes pendulum dynamics, 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. || 0 |
||
+ | |} |
||
+ | === Final assessment === |
||
+ | '''Section 1''' |
||
# Write a differential equation that describes the mechanical part of DC motor. |
# Write a differential equation that describes the mechanical part of DC motor. |
||
# Write a differential equation that describes the electrical part of DC motor. |
# Write a differential equation that describes the electrical part of DC motor. |
||
# How many CPTs must a 2-channel magnetic encoder have if you want to measure the output displacement of a DC motor with the resolution of 0.1 degree? |
# How many CPTs must a 2-channel magnetic encoder have if you want to measure the output displacement of a DC motor with the resolution of 0.1 degree? |
||
+ | '''Section 2''' |
||
− | |||
− | === Section 2 === |
||
− | |||
− | ==== Section title: ==== |
||
− | |||
− | Feedback Control |
||
− | |||
− | === Topics covered in this section: === |
||
− | |||
− | * Review of feedback control |
||
− | * PD controllers |
||
− | * PID controllers |
||
− | * Gravity compensation |
||
− | * Stability of linear 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 & 1<br /> |
||
− | Essays & 0<br /> |
||
− | Oral polls & 0<br /> |
||
− | Discussions & 1<br /> |
||
− | |||
− | |||
− | |||
− | </div> |
||
− | === Typical questions for ongoing performance evaluation within this section === |
||
− | |||
− | # What are overshoot and settling time? |
||
− | # How do the gains of PD controller affect transient response parameters? |
||
− | # sdf |
||
− | |||
− | === Typical questions for seminar classes (labs) within this section === |
||
− | |||
− | # Find stiffness matrix of a given parallel robotic platform. |
||
− | # Perform matrix structural analysis of a cantilever beam. |
||
− | # Find stiffness matrix of a two-link manipulator with elastic joint. |
||
− | # Estimate identification accuracy for 3-link manipulator. |
||
− | # Comment on differences between compliance matrix of a manipulator obtained via CAD modeling and identification results. |
||
− | |||
− | === Test questions for final assessment in this section === |
||
− | |||
# 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. |
||
# Describe particularities and difficulties of the elastostatic calibration. |
# Describe particularities and difficulties of the elastostatic calibration. |
||
# Find the controller gains that will stabilize a system described by a second order differential equation. |
# Find the controller gains that will stabilize a system described by a second order differential equation. |
||
+ | '''Section 3''' |
||
− | |||
− | === Section 3 === |
||
− | |||
− | ==== Section title: ==== |
||
− | |||
− | Position tracking in robots |
||
− | |||
− | ==== Topics covered in this section: ==== |
||
− | |||
− | * Linear feedback control in application to manipulators |
||
− | * Lyapunov stability analysis |
||
− | * Stabilization and trajectory tracking |
||
− | |||
− | === 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 === |
||
− | |||
− | # Give an example of using feedback in activities of daily life. |
||
− | # Drive error dynamics equations for a given feedback control law. |
||
− | # For a given differential equation describing robot dynamics and several control laws, find which ones are stable using Lyapunov stability theory. |
||
− | # How does elasticity affect error dynamics in robot control applications? |
||
− | # What components of mechanical energy exist in robots with compliance? |
||
− | |||
− | ==== Typical questions for seminar classes (labs) within this section ==== |
||
− | |||
− | # Design PD controller for a rigid two-link manipulator. |
||
− | # Numerically model behavior of compliant robot with PID controller. |
||
− | # Compare performance of linear controllers in application to rigid and 2-link manipulator control. |
||
− | # Analyze stability of a given controller. |
||
− | |||
− | ==== Test questions for final assessment in this section ==== |
||
− | |||
# What challenges does robot compliance pose for a control system? |
# What challenges does robot compliance pose for a control system? |
||
# Design a position tracking controller for a given compliant system. |
# Design a position tracking controller for a given compliant system. |
||
# How does cable elasticity affect dynamics and control of tendon-driven robots? |
# How does cable elasticity affect dynamics and control of tendon-driven robots? |
||
+ | '''Section 4''' |
||
+ | # 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 system with passivity-based controller |
||
+ | # What are the physical fundamentals behind the concept of passivity and passivity-based control? |
||
− | === |
+ | === The retake exam === |
+ | '''Section 1''' |
||
− | + | '''Section 2''' |
|
+ | '''Section 3''' |
||
− | Energy, impedance, and force control |
||
+ | '''Section 4''' |
||
− | ==== Topics covered in this section: ==== |
||
− | |||
− | * Joint-space inverse dynamics of serial manipulators |
||
− | * Energy-based control of compliant robots |
||
− | * Passivity-based control |
||
− | * Adaptive control of flexible joint manipulators |
||
− | |||
− | === 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 happens with the energy of passive systems with time? |
||
− | # For a given differential equation that describes pendulum dynamics, do the following: |
||
− | # Perform input-state linearization for a given system of differential equations. |
||
− | |||
− | ==== 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. |
||
− | # Implement and simulate passivity-based control over given robot. |
||
− | # For a given differential equation that describes pendulum dynamics, 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. |
||
− | |||
− | ==== 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 system with passivity-based controller |
||
− | # What are the physical fundamentals behind the concept of passivity and passivity-based control? |
Latest revision as of 12:58, 12 July 2022
Robotic Systems
- Course name: Robotic Systems
- Code discipline:
- Subject area: Robotics; Robotic components; Robotic control.
Short Description
This course covers the following concepts: Robot hardware; Feedback control in application to robotic systems; Trajectory tracking and advanced control algorithms.
Prerequisites
Prerequisite subjects
- CSE201 — Mathematical Analysis I and CSE203 — Mathematical Analysis II: ordinary and partial derivatives, definite and indefinite integrals.
- CSE202 — Analytical Geometry and Linear Algebra I and ACSE204 — Analytic Geometry And Linear Algebra II: matrix operations, eigenvalues and eigenvectors
- CSE205 — Differential Equations: first- and second-order ODEs, state-space representation and modeling, concepts of stability (Lyapunov, asymptotic, exponential)
- What are the fundamental principles behind DC and BLDC motors,
- How to tune PD controllers to achieve critically damped response,
- What is gravity compensation and how it is implemented in robotic systems,
- What is inverse dynamics.
- What are the advantages of BLDC motors over DC motors,
- Why PD and PID controllers constitute the majority of industrial controllers,
- What methods exist for trajectory generation and tracking,
- How to design an inverse dynamics controller.
- Tune PD and PID controllers,
- Design stable position controllers for manipulators,
- Develop nonlinear controllers such as gravity compensation and inverse dynamics,
- Interface practical robotic hardware (BLDC motors, encoders, microcontrollers) and implement their control algorithms.
Prerequisite topics
Course Topics
Section | Topics within the section |
---|---|
Robot Hardware |
|
Feedback Control |
|
Position tracking in robots |
|
Energy, impedance, and force control |
|
Intended Learning Outcomes (ILOs)
What is the main purpose of this course?
The purpose of this course is to review the concepts of linear control theory and then learn some advanced control methods while applying them to practical simple robotic systems with 1 and 2 degrees of freedom. The course also presents all the necessary background of such fundamental components of robotic manipulators as DC and BLDC motors, encoders, microcontrollers and CAN bus (communication protocol). Based on these, the course teaches the student to design and implement on practice simple and advanced control approaches and teaches the students to tune and analyze stability of selected controllers in application to robotic systems.
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 ...
- What are the fundamental principles behind DC and BLDC motors,
- How to tune PD controllers to achieve critically damped response,
- What is gravity compensation and how it is implemented in robotic systems,
- What is inverse dynamics.
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 ...
- What are the advantages of BLDC motors over DC motors,
- Why PD and PID controllers constitute the majority of industrial controllers,
- What methods exist for trajectory generation and tracking,
- How to design an inverse dynamics controller.
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 ...
- Tune PD and PID controllers,
- Design stable position controllers for manipulators,
- Develop nonlinear controllers such as gravity compensation and inverse dynamics,
- Interface practical robotic hardware (BLDC motors, encoders, microcontrollers) and implement their control algorithms.
Grading
Course grading range
Grade | Range | Description of performance |
---|---|---|
A. Excellent | 85-100 | - |
B. Good | 70-84 | - |
C. Satisfactory | 55-69 | - |
D. Poor | 0-54 | - |
Course activities and grading breakdown
Activity Type | Percentage of the overall course grade |
---|---|
Labs/seminar classes | 30 |
Quizzes | 30 |
Final exam | 40 |
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 |
---|---|---|---|---|
Development of individual parts of software product code | 1 | 0 | 0 | 0 |
Homework and group projects | 1 | 1 | 1 | 1 |
Testing (written or computer based) | 1 | 1 | 1 | 1 |
Reports | 1 | 1 | 0 | 0 |
Discussions | 1 | 1 | 1 | 1 |
Formative Assessment and Course Activities
Ongoing performance assessment
Section 1
Activity Type | Content | Is Graded? |
---|---|---|
Question | Describe the basic operation principle of DC motors. | 1 |
Question | What are the main advantages of BLDC motors over DC motors? | 1 |
Question | Describe operation principles of optical and magnetic encoders. | 1 |
Question | Rewrite the equation of DC motor in the state space form. | 0 |
Question | Rewrite the equation of cart pole system in the state space form with the state . | 0 |
Question | Find eigen system (values and vectors) of following matrices by hand | 0 |
Section 2
Activity Type | Content | Is Graded? |
---|---|---|
Question | What are overshoot and settling time? | 1 |
Question | How do the gains of PD controller affect transient response parameters? | 1 |
Question | sdf | 1 |
Question | Find stiffness matrix of a given parallel robotic platform. | 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 | Estimate identification accuracy for 3-link manipulator. | 0 |
Question | Comment on differences between compliance matrix of a manipulator obtained via CAD modeling and identification results. | 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 | For a given differential equation describing robot dynamics and several control laws, find which ones are stable using Lyapunov stability theory. | 1 |
Question | How does elasticity affect error dynamics in robot control applications? | 1 |
Question | What components of mechanical energy exist in robots with compliance? | 1 |
Question | Design PD controller for a rigid two-link manipulator. | 0 |
Question | Numerically model behavior of compliant robot with PID controller. | 0 |
Question | Compare performance of linear controllers in application to rigid and 2-link manipulator control. | 0 |
Question | Analyze stability of a given 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 happens with the energy of passive systems with time? | 1 |
Question | For a given differential equation that describes pendulum dynamics, do the following: | 1 |
Question | Perform input-state linearization for a given system of differential equations. | 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 | Implement and simulate passivity-based control over given robot. | 0 |
Question | For a given differential equation that describes pendulum dynamics, 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. |
0 |
Final assessment
Section 1
- Write a differential equation that describes the mechanical part of DC motor.
- Write a differential equation that describes the electrical part of DC motor.
- How many CPTs must a 2-channel magnetic encoder have if you want to measure the output displacement of a DC motor with the resolution of 0.1 degree?
Section 2
- 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.
- Describe particularities and difficulties of the elastostatic calibration.
- Find the controller gains that will stabilize a system described by a second order differential equation.
Section 3
- What challenges does robot compliance pose for a control system?
- Design a position tracking controller for a given compliant system.
- How does cable elasticity affect dynamics and control of tendon-driven robots?
Section 4
- 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 system with passivity-based controller
- What are the physical fundamentals behind the concept of passivity and passivity-based control?
The retake exam
Section 1
Section 2
Section 3
Section 4