MSc: Dynamics Of Non Linear Robotic Systems
Dynamics of Non Linear Robotic Systems
- Course name: Dynamics of Non Linear Robotic Systems
- Course number: 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
The course will benefit if students already know some topics of mathematics and programming.
- Matlab or Python
- numpy library
- Google Colab environment.
- CSE201 — Mathematical Analysis I and CSE203 — Mathematical Analysis II: differentiation, exponentials, gradient.
- CSE202 — Analytical Geometry and Linear Algebra I and 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.
Recommendations for students on how to succeed in the course
References:
- Any text book on Linear algebra, Calculus, Programming and Physics
- 3blue1brown playlist on Linear Algebra can help to overview selected topics.
- Gilbert Strang is one of the best human teachers of Algebra, if you prefer classic lectures to fancy videos.
- Kick start your numpy with the official quickstart guide.
- Dimentberg, F. M. (1965) The Screw Calculus and Its Applications in Mechanics
Course objectives based on Bloom’s taxonomy
- What should a student remember at the end of the course?
By the end of the course, the students should be able to ...
- 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.
- What should a student be able to understand at the end of the course?
By the end of the course, the students should be able to ...
- 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
- What should a student be able to apply at the end of the course?
By the end of the course, the students should be able to ...
- 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
Course evaluation
Proposed points | ||
---|---|---|
Weekly quizzes | 20 | |
Home assignments | 20 | |
Project | 20 | |
Midterm Exam | 20 | |
Final Exam | 20 |
Grades range
Proposed range | ||
---|---|---|
A. Excellent | 92-100 | |
B. Good | 80-91 | |
C. Satisfactory | 65-79 | |
D. Poor/Fail | 0-59 |
Resources and reference material
- Siciliano, Sciavicco, Villani, and Oriolo, Robotics: Modeling, Planning and Control, Springe
Course Sections
The main sections of the course and approximate hour distribution between them is as follows:
Section | Section Title | Teaching Hours |
---|---|---|
1 | Introduction to robotics | 14 |
2 | Kinematics | 14 |
3 | Differential kinematics | 16 |
4 | Dynamics | 16 |
Section 1
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?
|a|c| & Yes/No
Development of individual parts of software product code & 1
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- What 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
- Typical commands for programming industrial manipulator motions
- Types of robots and their application ares
- Control of self driving car
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?
|a|c| & Yes/No
Development of individual parts of software product code & 1
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1
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
- 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
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?
|a|c| & Yes/No
Development of individual parts of software product code & 1
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1
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
- 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
Section title:
Dynamics
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?
|a|c| & Yes/No
Development of individual parts of software product code & 1
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1
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