Difference between revisions of "MSc: Dynamics Of Non Linear Robotic Systems"
I.konyukhov (talk | contribs) m (I.konyukhov moved page MSc:DynamicsOfNonLinearRoboticSystems to MSc:DynamicsOfNonLinearRoboticSystems.F21) |
R.sirgalina (talk | contribs) |
||
(20 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | |||
= Dynamics of Non Linear Robotic Systems = |
= Dynamics of Non Linear Robotic Systems = |
||
+ | * '''Course name''': Dynamics of Non Linear Robotic Systems |
||
+ | * '''Code discipline''': R-01 |
||
+ | * '''Subject area''': |
||
+ | == Short Description == |
||
− | * <span>'''Course name:'''</span> Dynamics of Non Linear Robotic Systems |
||
+ | This course covers the following concepts: Robotics; Robotic components; Robotic control.. |
||
− | * <span>'''Course number:'''</span> R-01 |
||
− | == |
+ | == 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. |
||
+ | * Screw theory (optional). |
||
+ | * CSE402 — Physics I (Mechanics) and CSE410 — Physics II - Electrical Engineering: Kinematics, Statics and Dynamics. |
||
+ | === Prerequisite topics === |
||
− | Robotics; Robotic components; Robotic control. |
||
− | === What is the purpose of this course? === |
||
+ | == Course Topics == |
||
− | This course is an introduction to the field of robotics. It covers the fundamentals of kinematics, dynamics, and control of robot manipulators, robotic vision, and sensing. The course deals with forward and inverse kinematics of serial chain manipulators, the manipulator Jacobian, force relations, dynamics, and control. It presents elementary principles on proximity, tactile, and force sensing, vision sensors, camera calibration, stereo construction, and motion detection. The course concludes with current applications of robotics in active perception, medical robotics, autonomous vehicles, and other areas. |
||
+ | {| class="wikitable" |
||
+ | |+ Course Sections and Topics |
||
+ | |- |
||
+ | ! Section !! Topics within the section |
||
+ | |- |
||
+ | | Introduction to robotics || |
||
+ | # Introduction to Robotics, History of Robotics |
||
+ | # Introduction to Drones |
||
+ | # Introduction to Self driving cars |
||
+ | # Programming of Industrial Robot |
||
+ | |- |
||
+ | | Kinematics || |
||
+ | # Rigid body and Homogeneous transformation |
||
+ | # Direct Kinematics |
||
+ | # Inverse Kinematics |
||
+ | |- |
||
+ | | Differential kinematics || |
||
+ | # Differential kinematics |
||
+ | # Geometric calibration |
||
+ | # Trajectory Planning |
||
+ | |- |
||
+ | | Dynamics || |
||
+ | # Dynamics of Rigid body |
||
+ | # Lagrange approach |
||
+ | # Newton-Euler approach |
||
+ | |} |
||
+ | == Intended Learning Outcomes (ILOs) == |
||
− | === |
+ | === What is the main purpose of this course? === |
+ | This course is an introduction to the field of robotics. It covers the fundamentals of kinematics, dynamics, and control of robot manipulators, robotic vision, and sensing. The course deals with forward and inverse kinematics of serial chain manipulators, the manipulator Jacobian, force relations, dynamics, and control. It presents elementary principles on proximity, tactile, and force sensing, vision sensors, camera calibration, stereo construction, and motion detection. The course concludes with current applications of robotics in active perception, medical robotics, autonomous vehicles, and other areas. |
||
− | === |
+ | === 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 ... |
By the end of the course, the students should be able to ... |
||
− | |||
* Model the kinematics of robotic systems. |
* Model the kinematics of robotic systems. |
||
* Compute end-effector position and orientation from joint angles of a robotic system. |
* Compute end-effector position and orientation from joint angles of a robotic system. |
||
Line 29: | Line 69: | ||
* Apply the learned knowledge to several robotic systems: including robotic manipulators, humanoid robots. |
* Apply the learned knowledge to several robotic systems: including robotic manipulators, humanoid 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 ... |
||
− | |||
* Name various applications of robots |
* Name various applications of robots |
||
* Describe the current and potential economic and societal impacts of robot technology |
* Describe the current and potential economic and societal impacts of robot technology |
||
Line 44: | Line 82: | ||
* Effectively communicate research results |
* Effectively communicate research results |
||
− | === |
+ | ==== 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 ... |
||
− | |||
* Describe rigid body motions using positions, orientations, frames, and mappings |
* Describe rigid body motions using positions, orientations, frames, and mappings |
||
* Describe orientations using Euler angles, fixed angles, and quaternions |
* Describe orientations using Euler angles, fixed angles, and quaternions |
||
Line 55: | Line 91: | ||
* Determine the singularities of a robot manipulator |
* Determine the singularities of a robot manipulator |
||
* Write the dynamic equations of a robot manipulator using the Lagrangian Formulation |
* Write the dynamic equations of a robot manipulator using the Lagrangian Formulation |
||
− | * Analyze the workspace of a robot manipulator |
+ | * Analyze the workspace of a robot manipulator |
+ | == Grading == |
||
− | |||
− | === Course evaluation === |
||
+ | === Course grading range === |
||
− | {| |
||
+ | {| class="wikitable" |
||
− | |+ Course grade breakdown |
||
+ | |+ |
||
− | ! |
||
− | ! |
||
− | !align="center"| '''Proposed points''' |
||
|- |
|- |
||
+ | ! Grade !! Range !! Description of performance |
||
− | | Weekly quizzes |
||
− | | 20 |
||
− | |align="center"| |
||
|- |
|- |
||
+ | | A. Excellent || 92-100 || - |
||
− | | Home assignments |
||
− | | 20 |
||
− | |align="center"| |
||
|- |
|- |
||
+ | | B. Good || 80-91 || - |
||
− | | Project |
||
− | | 20 |
||
− | |align="center"| |
||
|- |
|- |
||
+ | | C. Satisfactory || 65-79 || - |
||
− | | Midterm Exam |
||
− | | 20 |
||
− | |align="center"| |
||
|- |
|- |
||
+ | | D. Poor/Fail || 0-59 || - |
||
− | | Final Exam |
||
− | | 20 |
||
− | |align="center"| |
||
|} |
|} |
||
+ | === Course activities and grading breakdown === |
||
− | === Grades range === |
||
+ | {| class="wikitable" |
||
− | |||
− | + | |+ |
|
− | |+ Course grading range |
||
− | ! |
||
− | ! |
||
− | !align="center"| '''Proposed range''' |
||
|- |
|- |
||
+ | ! Activity Type !! Percentage of the overall course grade |
||
− | | A. Excellent |
||
− | | 92-100 |
||
− | |align="center"| |
||
|- |
|- |
||
+ | | Weekly quizzes || 20 |
||
− | | B. Good |
||
− | | 80-91 |
||
− | |align="center"| |
||
|- |
|- |
||
+ | | Home assignments || 20 |
||
− | | C. Satisfactory |
||
− | | 65-79 |
||
− | |align="center"| |
||
|- |
|- |
||
+ | | Project || 20 |
||
− | | D. Poor/Fail |
||
− | | |
+ | |- |
+ | | Midterm Exam || 20 |
||
− | |align="center"| |
||
+ | |- |
||
+ | | Final Exam || 20 |
||
|} |
|} |
||
+ | === Recommendations for students on how to succeed in the course === |
||
− | === Resources and reference material === |
||
+ | |||
+ | == Resources, literature and reference materials == |
||
+ | |||
+ | === Open access resources === |
||
* Siciliano, Sciavicco, Villani, and Oriolo, Robotics: Modeling, Planning and Control, Springe |
* Siciliano, Sciavicco, Villani, and Oriolo, Robotics: Modeling, Planning and Control, Springe |
||
− | == |
+ | === Closed access resources === |
+ | |||
+ | === 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" |
||
− | |+ Course Sections |
||
+ | |+ Activities within each section |
||
− | !align="center"| '''Section''' |
||
− | ! '''Section Title''' |
||
− | !align="center"| '''Teaching Hours''' |
||
|- |
|- |
||
+ | ! Learning Activities !! Section 1 !! Section 2 !! Section 3 !! Section 4 |
||
− | |align="center"| 1 |
||
− | | Introduction to robotics |
||
− | |align="center"| 14 |
||
|- |
|- |
||
+ | | Development of individual parts of software product code || 1 || 1 || 1 || 1 |
||
− | |align="center"| 2 |
||
− | | Kinematics |
||
− | |align="center"| 14 |
||
|- |
|- |
||
+ | | Homework and group projects || 1 || 1 || 1 || 1 |
||
− | |align="center"| 3 |
||
− | | Differential kinematics |
||
− | |align="center"| 16 |
||
|- |
|- |
||
+ | | Midterm evaluation || 1 || 1 || 1 || 1 |
||
− | |align="center"| 4 |
||
+ | |- |
||
− | | Dynamics |
||
+ | | Testing (written or computer based) || 1 || 1 || 1 || 1 |
||
− | |align="center"| 16 |
||
− | | |
+ | |- |
+ | | Discussions || 1 || 1 || 1 || 1 |
||
+ | |} |
||
+ | == Formative Assessment and Course Activities == |
||
− | === |
+ | === Ongoing performance assessment === |
− | |||
− | ==== Section title: ==== |
||
− | |||
− | Introduction to robotics |
||
− | |||
− | === Topics covered in this section: === |
||
− | |||
− | * Introduction to Robotics, History of Robotics |
||
− | * Introduction to Drones |
||
− | * Introduction to Self driving cars |
||
− | * Programming of Industrial Robot |
||
− | |||
− | === 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 & 1<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 is the difference between the manipulator arm and manipulator wrist |
||
− | # What is Node in ROS |
||
− | # What are the disadvantages of ROS |
||
− | # Write sensors which are used in self driving cars. |
||
− | # Describe the classical approach for deign self driving car |
||
− | |||
− | === Typical questions for seminar classes (labs) within this section === |
||
− | |||
− | # Advantages and drawbacks of robotic manipulators |
||
− | # Programming industrial robots |
||
− | # Developing self driving car |
||
− | # Drones and controllers for them |
||
− | |||
− | === Test questions for final assessment in this section === |
||
+ | ==== Section 1 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || What is the difference between the manipulator arm and manipulator wrist || 1 |
||
+ | |- |
||
+ | | Question || What is Node in ROS || 1 |
||
+ | |- |
||
+ | | Question || What are the disadvantages of ROS || 1 |
||
+ | |- |
||
+ | | Question || Write sensors which are used in self driving cars. || 1 |
||
+ | |- |
||
+ | | Question || Describe the classical approach for deign self driving car || 1 |
||
+ | |- |
||
+ | | Question || Advantages and drawbacks of robotic manipulators || 0 |
||
+ | |- |
||
+ | | Question || Programming industrial robots || 0 |
||
+ | |- |
||
+ | | Question || Developing self driving car || 0 |
||
+ | |- |
||
+ | | Question || Drones and controllers for them || 0 |
||
+ | |} |
||
+ | ==== Section 2 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || Properties of Rotation Matrix || 1 |
||
+ | |- |
||
+ | | Question || How to find Euler angles from rotation matrix || 1 |
||
+ | |- |
||
+ | | Question || How to compute rotation matrix from knowing Euler angles || 1 |
||
+ | |- |
||
+ | | Question || How to derive equations for direct kinematic problem || 1 |
||
+ | |- |
||
+ | | Question || How to solve inverse kinematics problem || 1 |
||
+ | |- |
||
+ | | Question || Structure, properties, and advantages of Homogeneous transformation || 0 |
||
+ | |- |
||
+ | | Question || Expression for rotation around an arbitrary axis || 0 |
||
+ | |- |
||
+ | | Question || Euler angles || 0 |
||
+ | |- |
||
+ | | Question || Difference between Joint and Operational spaces || 0 |
||
+ | |- |
||
+ | | Question || Direct kinematics for serial kinematic chain || 0 |
||
+ | |- |
||
+ | | Question || Piper approach for inverse kinematics || 0 |
||
+ | |} |
||
+ | ==== Section 3 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || Write the matrix of differential transformation || 1 |
||
+ | |- |
||
+ | | Question || What is Jacobian matrix || 1 |
||
+ | |- |
||
+ | | Question || Difference between parametric and non-parametric robot calibration. || 1 |
||
+ | |- |
||
+ | | Question || Why we need complete and irreducible model || 1 |
||
+ | |- |
||
+ | | Question || How trajectory planning is realised || 1 |
||
+ | |- |
||
+ | | Question || What is trajectory junction || 1 |
||
+ | |- |
||
+ | | Question || Jacobian matrix calculation || 0 |
||
+ | |- |
||
+ | | Question || Jacobian matrices for typical serial manipulators || 0 |
||
+ | |- |
||
+ | | Question || Robot calibration procedure || 0 |
||
+ | |- |
||
+ | | Question || complete, irreducible geometric model || 0 |
||
+ | |- |
||
+ | | Question || robot control strategies with offline errors compensation || 0 |
||
+ | |- |
||
+ | | Question || Trajectory planning in joint and Cartesian spaces || 0 |
||
+ | |- |
||
+ | | Question || Trajectory junction || 0 |
||
+ | |} |
||
+ | ==== Section 4 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
+ | |- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
+ | |- |
||
+ | | Question || Energy of rigid body || 1 |
||
+ | |- |
||
+ | | Question || Dynamics of rigid body || 1 |
||
+ | |- |
||
+ | | Question || What is Direct and Inverse Dynamics || 1 |
||
+ | |- |
||
+ | | Question || Difference between Newton Euler and Lagrange Euler approaches || 1 |
||
+ | |- |
||
+ | | Question || Dynamics of rigid body || 0 |
||
+ | |- |
||
+ | | Question || Direct and Inverse Dynamic || 0 |
||
+ | |- |
||
+ | | Question || Newton-Euler Approach || 0 |
||
+ | |- |
||
+ | | Question || Lagrange-Euler Approach || 0 |
||
+ | |} |
||
+ | === Final assessment === |
||
+ | '''Section 1''' |
||
# Typical commands for programming industrial manipulator motions |
# Typical commands for programming industrial manipulator motions |
||
# Types of robots and their application ares |
# Types of robots and their application ares |
||
# Control of self driving car |
# Control of self driving car |
||
+ | '''Section 2''' |
||
− | |||
− | === Section 2 === |
||
− | |||
− | ==== Section title: ==== |
||
− | |||
− | Kinematics |
||
− | |||
− | === Topics covered in this section: === |
||
− | |||
− | * Rigid body and Homogeneous transformation |
||
− | * Direct Kinematics |
||
− | * Inverse Kinematics |
||
− | |||
− | === 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 & 1<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 === |
||
− | |||
− | # Properties of Rotation Matrix |
||
− | # How to find Euler angles from rotation matrix |
||
− | # How to compute rotation matrix from knowing Euler angles |
||
− | # How to derive equations for direct kinematic problem |
||
− | # How to solve inverse kinematics problem |
||
− | |||
− | === Typical questions for seminar classes (labs) within this section === |
||
− | |||
− | # Structure, properties, and advantages of Homogeneous transformation |
||
− | # Expression for rotation around an arbitrary axis |
||
− | # Euler angles |
||
− | # Difference between Joint and Operational spaces |
||
− | # Direct kinematics for serial kinematic chain |
||
− | # Piper approach for inverse kinematics |
||
− | |||
− | === Test questions for final assessment in this section === |
||
− | |||
# Transformation between reference frames |
# Transformation between reference frames |
||
# Find Euler angles for given orientation matrix and transformation order |
# Find Euler angles for given orientation matrix and transformation order |
||
Line 246: | Line 278: | ||
# Direct kinematic for SCARA robot |
# Direct kinematic for SCARA robot |
||
# Inverse kinematic for SCARA robot |
# Inverse kinematic for SCARA robot |
||
+ | '''Section 3''' |
||
− | |||
− | === Section 3 === |
||
− | |||
− | ==== Section title: ==== |
||
− | |||
− | Differential kinematics |
||
− | |||
− | ==== Topics covered in this section: ==== |
||
− | |||
− | * Differential kinematics |
||
− | * Geometric calibration |
||
− | * Trajectory Planning |
||
− | |||
− | === 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 & 1<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 === |
||
− | |||
− | # Write the matrix of differential transformation |
||
− | # What is Jacobian matrix |
||
− | # Difference between parametric and non-parametric robot calibration. |
||
− | # Why we need complete and irreducible model |
||
− | # How trajectory planning is realised |
||
− | # What is trajectory junction |
||
− | |||
− | ==== Typical questions for seminar classes (labs) within this section ==== |
||
− | |||
− | # Jacobian matrix calculation |
||
− | # Jacobian matrices for typical serial manipulators |
||
− | # Robot calibration procedure |
||
− | # complete, irreducible geometric model |
||
− | # robot control strategies with offline errors compensation |
||
− | # Trajectory planning in joint and Cartesian spaces |
||
− | # Trajectory junction |
||
− | |||
− | ==== Test questions for final assessment in this section ==== |
||
− | |||
# Write Jacobian for Polarrobot |
# Write Jacobian for Polarrobot |
||
# Advantages and disadvantages parametric and non-parametric robot calibration. |
# Advantages and disadvantages parametric and non-parametric robot calibration. |
||
Line 302: | Line 284: | ||
# Compute the joint trajectory q(t) from q(0) = 1 to q(2) = 4 with null initial and final velocities and accelerations. (polynomial) |
# Compute the joint trajectory q(t) from q(0) = 1 to q(2) = 4 with null initial and final velocities and accelerations. (polynomial) |
||
# Obtain manipulator trajectory for given manipulator kinematics, initial and final states and velocity and acceleration limits/ |
# Obtain manipulator trajectory for given manipulator kinematics, initial and final states and velocity and acceleration limits/ |
||
+ | '''Section 4''' |
||
+ | # Solve inverse dynamics problem for Cartesian robot |
||
+ | # Solve direct dynamics problem for RRR spherical manipulator |
||
+ | # Moving frame approach for dynamics modelling |
||
− | === |
+ | === The retake exam === |
+ | '''Section 1''' |
||
− | + | '''Section 2''' |
|
+ | '''Section 3''' |
||
− | Dynamics |
||
+ | '''Section 4''' |
||
− | ==== Topics covered in this section: ==== |
||
− | |||
− | * Dynamics of Rigid body |
||
− | * Lagrange approach |
||
− | * Newton-Euler approach |
||
− | |||
− | === 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 & 1<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 === |
||
− | |||
− | # Energy of rigid body |
||
− | # Dynamics of rigid body |
||
− | # What is Direct and Inverse Dynamics |
||
− | # Difference between Newton Euler and Lagrange Euler approaches |
||
− | |||
− | ==== Typical questions for seminar classes (labs) within this section ==== |
||
− | |||
− | # Dynamics of rigid body |
||
− | # Direct and Inverse Dynamic |
||
− | # Newton-Euler Approach |
||
− | # Lagrange-Euler Approach |
||
− | |||
− | ==== Test questions for final assessment in this section ==== |
||
− | |||
− | # Solve inverse dynamics problem for Cartesian robot |
||
− | # Solve direct dynamics problem for RRR spherical manipulator |
||
− | # Moving frame approach for dynamics modelling |
Latest revision as of 11:47, 29 August 2022
Dynamics of Non Linear Robotic Systems
- Course name: Dynamics of Non Linear Robotic Systems
- Code discipline: R-01
- Subject area:
Short Description
This course covers the following concepts: Robotics; Robotic components; Robotic control..
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.
- Screw theory (optional).
- CSE402 — Physics I (Mechanics) and CSE410 — Physics II - Electrical Engineering: Kinematics, Statics and Dynamics.
Prerequisite topics
Course Topics
Section | Topics within the section |
---|---|
Introduction to robotics |
|
Kinematics |
|
Differential kinematics |
|
Dynamics |
|
Intended Learning Outcomes (ILOs)
What is the main purpose of this course?
This course is an introduction to the field of robotics. It covers the fundamentals of kinematics, dynamics, and control of robot manipulators, robotic vision, and sensing. The course deals with forward and inverse kinematics of serial chain manipulators, the manipulator Jacobian, force relations, dynamics, and control. It presents elementary principles on proximity, tactile, and force sensing, vision sensors, camera calibration, stereo construction, and motion detection. The course concludes with current applications of robotics in active perception, medical robotics, autonomous vehicles, and other areas.
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 ...
- Model the kinematics of robotic systems.
- Compute end-effector position and orientation from joint angles of a robotic system.
- Compute the joint angles of a robotic system to reach the desired end-effector position and orientation.
- Compute the linear and angular velocities of the end-effector of a robotic system from the joint angle velocities.
- Convert a robot’s workspace to its configuration space and represent obstacles in the configuration space.
- Compute valid path in a configuration space with motion planning algorithms.
- Apply the generated motion path to the robotic system to generate a proper motion trajectory.
- Apply the learned knowledge to several robotic systems: including robotic manipulators, humanoid 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 ...
- Name various applications of robots
- Describe the current and potential economic and societal impacts of robot technology
- Use the Jacobian to transform velocities and forces from joint space to operational space
- Determine the singularities of a robot manipulator
- Formulate the dynamic equations of a robot manipulator in joint space and in Cartesian space
- List the major design parameters for robot manipulators and mobile robots
- List the typical sensing and actuation methods used in robots
- Analyze the workspace of a robot manipulator
- List the special requirements of haptic devices and medical robots
- Effectively communicate research results
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 ...
- Describe rigid body motions using positions, orientations, frames, and mappings
- Describe orientations using Euler angles, fixed angles, and quaternions
- Develop the forward kinematic equations for an articulated manipulator
- Describe the position and orientations of a robot in terms of joint space, Cartesian space, and operational space
- Develop the Jacobian for a specific manipulator
- Determine the singularities of a robot manipulator
- Write the dynamic equations of a robot manipulator using the Lagrangian Formulation
- Analyze the workspace of a robot manipulator
Grading
Course grading range
Grade | Range | Description of performance |
---|---|---|
A. Excellent | 92-100 | - |
B. Good | 80-91 | - |
C. Satisfactory | 65-79 | - |
D. Poor/Fail | 0-59 | - |
Course activities and grading breakdown
Activity Type | Percentage of the overall course grade |
---|---|
Weekly quizzes | 20 |
Home assignments | 20 |
Project | 20 |
Midterm Exam | 20 |
Final Exam | 20 |
Recommendations for students on how to succeed in the course
Resources, literature and reference materials
Open access resources
- Siciliano, Sciavicco, Villani, and Oriolo, Robotics: Modeling, Planning and Control, Springe
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 | 1 | 1 | 1 |
Homework and group projects | 1 | 1 | 1 | 1 |
Midterm evaluation | 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 | What is the difference between the manipulator arm and manipulator wrist | 1 |
Question | What is Node in ROS | 1 |
Question | What are the disadvantages of ROS | 1 |
Question | Write sensors which are used in self driving cars. | 1 |
Question | Describe the classical approach for deign self driving car | 1 |
Question | Advantages and drawbacks of robotic manipulators | 0 |
Question | Programming industrial robots | 0 |
Question | Developing self driving car | 0 |
Question | Drones and controllers for them | 0 |
Section 2
Activity Type | Content | Is Graded? |
---|---|---|
Question | Properties of Rotation Matrix | 1 |
Question | How to find Euler angles from rotation matrix | 1 |
Question | How to compute rotation matrix from knowing Euler angles | 1 |
Question | How to derive equations for direct kinematic problem | 1 |
Question | How to solve inverse kinematics problem | 1 |
Question | Structure, properties, and advantages of Homogeneous transformation | 0 |
Question | Expression for rotation around an arbitrary axis | 0 |
Question | Euler angles | 0 |
Question | Difference between Joint and Operational spaces | 0 |
Question | Direct kinematics for serial kinematic chain | 0 |
Question | Piper approach for inverse kinematics | 0 |
Section 3
Activity Type | Content | Is Graded? |
---|---|---|
Question | Write the matrix of differential transformation | 1 |
Question | What is Jacobian matrix | 1 |
Question | Difference between parametric and non-parametric robot calibration. | 1 |
Question | Why we need complete and irreducible model | 1 |
Question | How trajectory planning is realised | 1 |
Question | What is trajectory junction | 1 |
Question | Jacobian matrix calculation | 0 |
Question | Jacobian matrices for typical serial manipulators | 0 |
Question | Robot calibration procedure | 0 |
Question | complete, irreducible geometric model | 0 |
Question | robot control strategies with offline errors compensation | 0 |
Question | Trajectory planning in joint and Cartesian spaces | 0 |
Question | Trajectory junction | 0 |
Section 4
Activity Type | Content | Is Graded? |
---|---|---|
Question | Energy of rigid body | 1 |
Question | Dynamics of rigid body | 1 |
Question | What is Direct and Inverse Dynamics | 1 |
Question | Difference between Newton Euler and Lagrange Euler approaches | 1 |
Question | Dynamics of rigid body | 0 |
Question | Direct and Inverse Dynamic | 0 |
Question | Newton-Euler Approach | 0 |
Question | Lagrange-Euler Approach | 0 |
Final assessment
Section 1
- Typical commands for programming industrial manipulator motions
- Types of robots and their application ares
- Control of self driving car
Section 2
- Transformation between reference frames
- Find Euler angles for given orientation matrix and transformation order
- Transformation between Cartesian and operational spaces
- Direct kinematic for SCARA robot
- Inverse kinematic for SCARA robot
Section 3
- Write Jacobian for Polarrobot
- Advantages and disadvantages parametric and non-parametric robot calibration.
- complete, irreducible geometric model for spherical manipulator
- Compute the joint trajectory q(t) from q(0) = 1 to q(2) = 4 with null initial and final velocities and accelerations. (polynomial)
- Obtain manipulator trajectory for given manipulator kinematics, initial and final states and velocity and acceleration limits/
Section 4
- Solve inverse dynamics problem for Cartesian robot
- Solve direct dynamics problem for RRR spherical manipulator
- Moving frame approach for dynamics modelling
The retake exam
Section 1
Section 2
Section 3
Section 4