Difference between revisions of "MSc: Dynamics Of Non Linear Robotic Systems"

From IU
Jump to navigation Jump to search
 
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
 
 
== Course Characteristics ==
 
 
=== Key concepts of the class ===
 
 
Robotics; Robotic components; Robotic control.
 
 
=== What is the 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.
 
   
 
== Prerequisites ==
 
== Prerequisites ==
   
  +
=== Prerequisite subjects ===
The course will benefit if students already know some topics of mathematics and programming.
 
 
 
* Matlab or Python
 
* Matlab or Python
 
* numpy library
 
* numpy library
 
* Google Colab environment.
 
* Google Colab environment.
* [https://eduwiki.innopolis.university/index.php/BSc:_Mathematical_Analysis_I CSE201] — Mathematical Analysis I
+
* CSE201 — Mathematical Analysis I
* [https://eduwiki.innopolis.university/index.php/BSc:_Mathematical_Analysis_II CSE203] — Mathematical Analysis II: differentiation, exponentials, gradient.
+
* CSE203 — Mathematical Analysis II: differentiation, exponentials, gradient.
* [https://eduwiki.innopolis.university/index.php/BSc:_Analytic_Geometry_And_Linear_Algebra_I1 CSE202] — Analytical Geometry and Linear Algebra I
+
* CSE202 — Analytical Geometry and Linear Algebra I
* [https://eduwiki.innopolis.university/index.php/BSc:_Analytic_Geometry_And_Linear_Algebra_II CSE204] — Analytic Geometry And Linear Algebra II: matrix multiplication, change of the bases, orthonormal spaces, cross product and skew-symmetric matrices.
+
* CSE204 — Analytic Geometry And Linear Algebra II: matrix multiplication, change of the bases, orthonormal spaces, cross product and skew-symmetric matrices.
 
* Screw theory (optional).
 
* Screw theory (optional).
* [https://eduwiki.innopolis.university/index.php/BSc:_Physics_I CSE402] — Physics I (Mechanics) and [https://eduwiki.innopolis.university/index.php/BSc:_Physics_II CSE410] — Physics II - Electrical Engineering: Kinematics, Statics and Dynamics.
+
* CSE402 — Physics I (Mechanics) and CSE410 — Physics II - Electrical Engineering: Kinematics, Statics and Dynamics.
   
  +
=== Prerequisite topics ===
== Recommendations for students on how to succeed in the course ==
 
References:
 
* Any text book on Linear algebra, Calculus, Programming and Physics
 
* [https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab 3blue1brown playlist on Linear Algebra] can help to overview selected topics.
 
* [https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/ Gilbert Strang] is one of the best human teachers of Algebra, if you prefer classic lectures to fancy videos.
 
* Kick start your numpy with the official [https://numpy.org/doc/stable/user/quickstart.html quickstart guide].
 
* Dimentberg, F. M. (1965) [http://oai.dtic.mil/oai/oai?verb=getRecord&metadataPrefix=html&identifier=AD0680993 The Screw Calculus and Its Applications in Mechanics]
 
   
   
== Course Objectives Based on Bloom’s Taxonomy ==
+
== Course Topics ==
  +
{| 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 should a student remember at the end of the course? ===
+
=== 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 52: 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.
   
=== 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 ...
 
 
* 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 67: Line 82:
 
* Effectively communicate research results
 
* Effectively communicate research results
   
=== 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 ...
 
 
* 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 78: 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
 
| 0-59
+
|-
  +
| 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
   
== Course Sections ==
+
=== 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 ===
{|
 
  +
|+ Course Sections
 
  +
= Teaching Methodology: Methods, techniques, & activities =
!align="center"| '''Section'''
 
  +
! '''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
 
| 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 ==
   
=== Section 1 ===
+
=== 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> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 1<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<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 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> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 1<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<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 ===
 
 
# 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 269: 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> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 1<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<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 ===
 
 
# 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 325: 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
   
=== Section 4 ===
+
=== The retake exam ===
  +
'''Section 1'''
   
==== Section title: ====
+
'''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> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 1<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<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 ===
 
 
# 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

Course Sections and Topics
Section Topics within the section
Introduction to robotics
  1. Introduction to Robotics, History of Robotics
  2. Introduction to Drones
  3. Introduction to Self driving cars
  4. Programming of Industrial Robot
Kinematics
  1. Rigid body and Homogeneous transformation
  2. Direct Kinematics
  3. Inverse Kinematics
Differential kinematics
  1. Differential kinematics
  2. Geometric calibration
  3. Trajectory Planning
Dynamics
  1. Dynamics of Rigid body
  2. Lagrange approach
  3. 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 ...

  • 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

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

  1. Typical commands for programming industrial manipulator motions
  2. Types of robots and their application ares
  3. Control of self driving car

Section 2

  1. Transformation between reference frames
  2. Find Euler angles for given orientation matrix and transformation order
  3. Transformation between Cartesian and operational spaces
  4. Direct kinematic for SCARA robot
  5. Inverse kinematic for SCARA robot

Section 3

  1. Write Jacobian for Polarrobot
  2. Advantages and disadvantages parametric and non-parametric robot calibration.
  3. complete, irreducible geometric model for spherical manipulator
  4. Compute the joint trajectory q(t) from q(0) = 1 to q(2) = 4 with null initial and final velocities and accelerations. (polynomial)
  5. Obtain manipulator trajectory for given manipulator kinematics, initial and final states and velocity and acceleration limits/

Section 4

  1. Solve inverse dynamics problem for Cartesian robot
  2. Solve direct dynamics problem for RRR spherical manipulator
  3. Moving frame approach for dynamics modelling

The retake exam

Section 1

Section 2

Section 3

Section 4