KTRB 403050
KTRB 403050
403050
ROBOTICS
TRI Q. THIEU, M.Eng.
COURSE OBJECTIVES
Transformations.
Finding the DH parameter of robots.
Finding the kinematics equations of
robots.
Solving the kinematics equations of
robots.
Planning the robot’s trajectory.
Chosing the sensors and actuators.
10/5/2016 403050 - Robotics 6
TEXTBOOKS AND REFERENCES
TEXTBOOKS:
[1]. John J. Craig, [2014], Introduction
to robotics: mechanics and control, 3e,
Pearson.
RECOMMENDED
REFERENCES:
[2]. Carl D. Crane III, Joseph Duff, [1998],
Kinematic analysis of robot manipulators,
Cambridge University Press.
[3]. Phillip John McKerrow, [1991],
Introduction to robotics, Addison-Wesley
Publishing.
OTHER REFERENCES:
EXAMS:
• Final exam: 50% - Multiple choice question,
Constructed response test.
IN-CLASS TEST AND ASSIGNMENTS:
• In-class process exercise: 20% - individually.
• Essay: 30% - group.
Bonus points for students who actively
participate in class activities.
CHAPTER 1
INTRODUCTION
403050 - ROBOTICS
CHAPTER 1: INTRODUCTION
1.1 Background
1.2 Definitions
1.3 Notations
1.4 Classification
1.1 Background
1.2 Definitions
1.3 Notations
1.4 Classification
1.1 Background
1.2 Definitions
1.3 Notations
1.4 Classification
1.2.7 Dynamics
• Dynamics is a huge field of study devoted to
studying the forces required to cause motion.
• Controlling a manipulator to follow a desired
path
• Calculating these actuator torque functions
by using the dynamic equations of motion of
the manipulator.
1.1 Background
1.2 Definitions
1.3 Notations
1.4 Classification
1.1 Background
1.2 Definitions
1.3 Notations
1.4 Classification
ROBOTS
DoF(s)
Space coordinate, position and
orientation.
Forward and inverse kinematics
Velocity and static force
Dynamic
Trajectory
CHAPTER 2
SPATIAL DESCRIPTIONS
AND TRANSFORMATIONS
403050 - ROBOTICS
CHAPTER 2: SPATIAL
DESCRIPTIONS AND
TRANSFORMATIONS
2.1.2 Orientations
2.1.2 Orientations
2.1.2 Orientations
2.1.2 Orientations
• We denote:
The unit vectors 𝑋 𝐵, 𝑌 𝐵 and 𝑍መ 𝐵 giving the
directions of coordinate system {B}.
These vectors are call 𝐴𝑋 𝐵, 𝐴𝑌 𝐵 and 𝐴𝑍መ 𝐵 in terms
of coordinate system {A}.
2.1.2 Orientations
2.1.2 Orientations
• Where the scalars rij can be calculated by
scalar multiply unit vectors 𝑋 𝐵, 𝑌 𝐵 and 𝑍መ 𝐵 to
the unit directions of its reference frame.
2.1.2 Orientations
So:
2.1.2 Orientations
Hence,
2.1.3 Frames
• A frame is a set of four vectors giving position
and orientation information.
• It can be described as a rotation matrix and a
position vector.
Ex:
2.1.3 Frames
Example 2.1
The figure shows a frame
{B}, which is rotated
relative to frame {A}
about 𝑍መ by 30 degrees.
Here, 𝑍መ is pointing out of
the page. Find AP.
Where BP = [0 2 0]T.
Or:
Example 2.2
Example 2.2
The figure shows a frame {B}, which is:
• Rotated relative to frame {A} about 𝑍መ by 30
degrees
• Translated 10 units in 𝑋 𝐴
• And translated 5 units in 𝑌 𝐴
Find AP.
Where BP = [3 7 0]T.
𝐴𝑃 = 𝐴𝑃1 + 𝐴𝑄
2
Or:
𝐴𝑃 = 𝐷𝑄 𝑞 . 𝐴𝑃1
2
1 0 0 𝑞𝑥
𝐷𝑄 𝑞 = 0 1 0 𝑞𝑦
0 0 1 𝑞𝑧
0 0 0 1
Where:
𝑞= 𝑞𝑥2 + 𝑞𝑦2 + 𝑞𝑧2
𝐴𝑃
2 = 𝑅𝐾 . 𝐴𝑃1
1 0 0 0
𝑅𝑋 = 0 c −𝑠 0
0 𝑠 𝑐 0
0 0 0 1
𝑐 0 𝑠 0
𝑅𝑌 = 0 1 0 0
−𝑠 0 𝑐 0
0 0 0 1
𝑐 −𝑠 0 0
𝑅𝑍 = 𝑠 c 0 0
0 0 1 0
0 0 0 1
Compound transform.
Find AP if CP is known.
𝐴𝑃 = 𝐴𝐶𝑇. 𝐶𝑃
Where,
𝐴
𝐶𝑇 = 𝐵𝐴𝑇. 𝐵𝐶𝑇
Inverting a transform.
If 𝐵𝐴𝑇 is a homogeneous transform matrix, it
can be proved that:
𝐵
𝐴𝑇 = 𝐵𝐴𝑇 −1
Or:
Then
𝑈 𝐴
𝐴 𝐷𝑇
𝑇. = 𝑈𝐵𝑇. 𝐵𝐶𝑇. 𝐷𝐶𝑇
Example:
𝐵
𝑆𝑇 and 𝐺𝑆𝑇 are known.
𝑎Ԧ × 𝑏
= 𝑎𝑦 𝑏𝑧 − 𝑎𝑧 𝑏𝑦 𝑖Ԧ + 𝑎𝑧 𝑏𝑥 − 𝑎𝑥 𝑏𝑧 𝑗Ԧ + 𝑎𝑥 𝑏𝑦 − 𝑎𝑦 𝑏𝑥 𝑘
Where:
𝐴
𝐵 𝑅𝑋𝑌𝑍 𝛾, 𝛽, 𝛼 = 𝑅𝑍 𝛼 𝑅𝑌 𝛽 𝑅𝑋 𝛾
Hence:
𝐴
𝐵 𝑅𝑍 ′ 𝑌 ′ 𝑋 ′ 𝛾, 𝛽, 𝛼 = 𝑅𝑍 𝛼 𝑅𝑌 𝛽 𝑅𝑋 𝛾
Hence:
Where:
Transformation arithmetic
RPY transformation
Euler transformation
CHAPTER 3
MANIPULATOR
KINEMATICS
403050 - ROBOTICS
CHAPTER 3: MANIPULATOR
KINEMATICS
3.1 Introduction
3.2 Links description
3.3 Joints description
3.4 Convention for affixing frames to links
3.1 Introduction
3.2 Links description
3.3 Joints description
3.4 Convention for affixing frames to links
3.1 Introduction
3.2 Links description
3.3 Joints description
3.4 Convention for affixing frames to links
3.1 Introduction
3.2 Links description
3.3 Joints description
3.4 Convention for affixing frames to links
3.1 Introduction
3.2 Links description
3.3 Joints description
3.4 Convention for affixing frames to links
Example:
Attached frames on
links of the beside robot.
Example:
Example:
Link i i di ai i
1
2
3
Link transformations:
Matlab exercise 3
CHAPTER 4
INVERSE MANIPULATOR
KINEMATICS
403050 - ROBOTICS
CHAPTER 4: INVERSE
MANIPULATOR KINEMATICS
4.1 Introduction
4.2 Solvability
4.3 Algebraic solution
4.4 Geometric solution
4.5 Examples of inverse manipulator
kinematics
4.6 Problems
4.1 Introduction
4.2 Solvability
4.3 Algebraic solution
4.4 Geometric solution
4.5 Examples of inverse manipulator
kinematics
4.6 Problems
4.1 Introduction
4.2 Solvability
4.3 Algebraic solution
4.4 Geometric solution
4.5 Examples of inverse manipulator
kinematics
4.6 Problems
If L1=L2:
• The reachable workspace is a disc of radius
(2L1).
• The dexterous workspace is only a single
point, the origin.
If L1L2:
There is no dexterous workspace.
The reachable workspace become a ring of
outer radius (L1+L2) and inner radius |L1-L2|.
4.1 Introduction
4.2 Solvability
4.3 Algebraic solution
4.4 Geometric solution
4.5 Examples of inverse manipulator
kinematics
4.6 Problems
Then:
Where:
Then:
So:
We get:
So:
4.1 Introduction
4.2 Solvability
4.3 Algebraic solution
4.4 Geometric solution
4.5 Examples of inverse manipulator
kinematics
4.6 Problems
We have:
Then we have:
𝜃1 = 𝛽 ±
• Where:
The plus sign is used if 2 < 0.
The minus sign is used if 2 > 0.
So: 𝜃3 = ∅ − 𝜃1 − 𝜃2
4.1 Introduction
4.2 Solvability
4.3 Algebraic solution
4.4 Geometric solution
4.5 Examples of inverse manipulator
kinematics
4.6 Problems
− 2ൗ2 − 2ൗ2 0 5 2
0
3𝑇 =
2ൗ − 2ൗ 0 −5 2
2 2
0 0 1 0
0 0 0 1
We have:
0
3𝑇 = 01𝑇 12𝑇 23𝑇
Where
𝑐1 −𝑠1 0 0
0
𝑇 = 𝑠1 𝑐1 0 0
1 0 0 1 0
0 0 0 1
𝑐1 𝑠1 0 0
0 −1
1𝑇 = −𝑠1 𝑐1 0 0
0 0 1 0
0 0 0 1
10/5/2016 403050 - Inverse manipulator kinematics 45
4.5.3 ANOTHER EXAMPLE
1 0 0 0 1 0 0 0
1
𝑇 = 0 0 −1 −𝑑2 , 1 −1
= 0 0 1 0
2 2𝑇 0 −1 0 −𝑑2
0 1 0 0
0 0 0 1 0 0 0 1
𝑐3 −𝑠3 0 0 𝑐3 −𝑠3 0 0
2
𝑇 = 0 0 1 0 , 1
𝑇 = 𝑠3 𝑐3 0 −𝑑2
3 −𝑠3 −𝑐3 0 0 3
0 0 1 0
0 0 0 1 0 0 0 1
We can compute:
𝑐13 −𝑠13 0 𝑠1𝑑2
0
𝑇 = 𝑠13 𝑐13 0 −𝑐1𝑑2
3
0 0 1 0
0 0 0 1
− 2ൗ2 − 2ൗ2 0 5 2
= 2ൗ − 2ൗ 0 −5 2
2 2
0 0 1 0
0 0 0 1
10/5/2016 403050 - Inverse manipulator kinematics 47
4.5.3 ANOTHER EXAMPLE
By solving:
𝑐13 = − 2ൗ2
൞ → 𝜃1 + 𝜃3 = 135𝑜
𝑠13 = 2ൗ2
And
𝑠1𝑑2 = 5 2 𝜃1 = 45𝑜
൝ →ቈ 𝑜 𝑖𝑓 𝑑2 ≠ 0
𝑐1𝑑2 = 5 2 𝜃1 = −135
𝜃1 = 45𝑜 ; 𝜃3 = 90𝑜 ; 𝑑2 = 10
ቈ
𝜃1 = −135𝑜 ; 𝜃3 = 270𝑜 ; 𝑑2 = −10
4.1 Introduction
4.2 Solvability
4.3 Algebraic solution
4.4 Geometric solution
4.5 Examples of inverse manipulator
kinematics
4.6 Problems
Matlab exercise 4
Algebraic solution
Geometric solution
CHAPTER 5
ROBOT SIMULATION
403050 - ROBOTICS
CHAPTER 5: ROBOT
SIMULATION
5.1 Introduction
5.2 RoboAnalyzer software
5.3 Easy-Rob software
5.4 Robotics toolbox
5.1 Introduction
5.2 RoboAnalyzer software
5.3 Easy-Rob software
5.4 Robotics toolbox
NOTICE
5.1 Introduction
5.2 RoboAnalyzer software
5.3 Easy-Rob software
5.4 Robotics toolbox
It features:
• Forward Kinematics.
• Inverse Kinematics.
• Animation and Plots.
• Virtual Robot Module.
• Integration with MATLAB.
Visualize DH:
Link configuration:
End-Effector configuration:
Other functions:
• Forward Kinematics.
• Inverse Kinematics.
• Inverse Dynamics.
• Forward Dynamics.
• Motion Planning.
5.1 Introduction
5.2 RoboAnalyzer software
5.3 Easy-Rob software
5.4 Robotics toolbox
Assignment 1 (10%):
• Reading the user’s manual of easy-rob
software.
• Creating one of learned robots (at least 3
DoFs).
• Programming for this robot to perform a task
(grab a tool, move it to another position and
release it).
5.1 Introduction
5.2 RoboAnalyzer software
5.3 Easy-Rob software
5.4 Robotics toolbox
Assignment 2 (10%):
NOTICE
CHAPTER 6
TRAJECTORY GENERATION
403050 - ROBOTICS
CHAPTER 6: TRAJECTORY
GENERATION
6.1 Introduction
6.2 Joint-space schemes
6.3 Cubic polynomials
6.4 Higher-order polynomials
6.5 Linear function with parabolic blends
6.1 Introduction
6.2 Joint-space schemes
6.3 Cubic polynomials
6.4 Higher-order polynomials
6.5 Linear function with parabolic blends
6.1 Introduction
6.2 Joint-space schemes
6.3 Cubic polynomials
6.4 Higher-order polynomials
6.5 Linear function with parabolic blends
6.1 Introduction
6.2 Joint-space schemes
6.3 Cubic polynomials
6.4 Higher-order polynomials
6.5 Linear function with parabolic blends
Consider (t)
is a function of
one joint
respected to
time.
There are
many possible
smooth path
for (t).
Example:
A single-link robot with a rotary joint is
motionless at =15o. It is desired to move the
joint in a smooth manner to =75o in 3 seconds.
Find the coefficients of a cubic that
accomplishes this motion and brings the
manipulator to rest at the goal.
Plot the position, velocity, and acceleration
of the joint as a function of time.
Example:
We can easily find the coefficients of that
cubic polynomial: a0 = 15; a1 = 0; a2 = 20; a3 = -
4.44
Then, the position, velocity and acceleration
functions are:
Example:
6.1 Introduction
6.2 Joint-space schemes
6.3 Cubic polynomials
6.4 Higher-order polynomials
6.5 Linear function with parabolic blends
Solution:
6.1 Introduction
6.2 Joint-space schemes
6.3 Cubic polynomials
6.4 Higher-order polynomials
6.5 Linear function with parabolic blends
Matlab exercise 7
CHAPTER 7
ACTUATOR AND
CONTROLLER
403050 - ROBOTICS
CHAPTER 7: ACTUATORS
AND CONTROLLERS
Equivalent circuit: