SlideShare a Scribd company logo
1 of 42
Introduction to Robotics
ISS3180-01
Professor Mannan Saeed Muhammad
7/16/2023 7:53:12 AM
Quick Math Review
Dot Product:
Geometric Representation:
A
B
θ
cosθ
B
A
B
A 

Unit Vector
Vector in the direction of a chosen vector but whose magnitude is 1.
B
B
uB 






y
x
a
a






y
x
b
b
Matrix Representation:
y
y
x
x
y
x
y
x
b
a
b
a
b
b
a
a
B
A 
















B
B
u
7/16/2023 7:53:12 AM
Quick Matrix Review
Matrix Multiplication:
An (m x n) matrix A and an (n x p) matrix B, can be multiplied since
the number of columns of A is equal to the number of rows of B.
Non-Commutative Multiplication
AB is NOT equal to BA
   
   























dh
cf
dg
ce
bh
af
bg
ae
h
g
f
e
d
c
b
a
Matrix Addition:
   
   























h
d
g
c
f
b
e
a
h
g
f
e
d
c
b
a
7/16/2023 7:53:12 AM
Basic Transformations
Moving Between Coordinate Frames
Translation Along the X-Axis
N
O
X
Y
Px
VN
VO
Px = distance between the XY and NO coordinate planes






 Y
X
XY
V
V
V 





 O
N
NO
V
V
V 






0
P
P x
P
(VN,VO)
Notation:
7/16/2023 7:53:12 AM
N
X
P
VN
VO
Y O

NO
O
N
X
XY
V
P
V
V
P
V 






 

Writing in terms of
XY
V
NO
V
7/16/2023 7:53:12 AM
X
N
VN
VO
O
Y
Translation along the X-Axis and Y-Axis










 O
Y
N
X
NO
XY
V
P
V
P
V
P
V







Y
x
XY
P
P
P
7/16/2023 7:53:12 AM



































o
V
n
V
θ)
cos(90
V
cosθ
V
sinθ
V
cosθ
V
V
V
V NO
NO
NO
NO
NO
NO
O
N
NO
NO
V
o
n Unit vector along the N-Axis
Unit vector along the N-Axis
Magnitude of the VNO vector
Using Basis Vectors
Basis vectors are unit vectors that point along a coordinate axis
N
VN
VO
O
n
o
7/16/2023 7:53:12 AM
Rotation (around the Z-Axis)
X
Y
Z
X
Y

V
VX
VY






 Y
X
XY
V
V
V 





 O
N
NO
V
V
V
 = Angle of rotation between the XY and NO coordinate axis
7/16/2023 7:53:12 AM
X
Y

V
VX
VY

Unit vector along X-Axis
x
V
cosα
V
cosα
V
V NO
NO
XY
X




NO
XY
V
V 
Can be considered with respect to
the XY coordinates or NO coordinates
x
)
o
V
n
(V
V O
N
X





(Substituting for VNO using the N and O
components of the vector)
)
o
x
V
n
x
V
V O
N
X



 (
)
(
)
)
)
(sinθ
V
(cosθ
V
90))
(cos(θ
V
(cosθ
V
O
N
O
N





𝑥
𝑉
7/16/2023 7:53:12 AM
Similarly….
y
V
α)
cos(90
V
sinα
V
V NO
NO
NO
Y





y
)
o
V
n
(V
V O
N
Y





)
o
y
(
V
)
n
y
(
V
V O
N
Y




)
)
)
(cosθ
V
(sinθ
V
(cosθ
V
θ))
(cos(90
V
O
N
O
N





So….
)
) (cosθ
V
(sinθ
V
V O
N
Y


)
) (sinθ
V
(cosθ
V
V O
N
X

 





 Y
X
XY
V
V
V
Written in Matrix Form











 







 O
N
Y
X
XY
V
V
cosθ
sinθ
sinθ
cosθ
V
V
V
Rotation Matrix about the z-
axis
7/16/2023 7:53:12 AM
X1
Y1

VXY
X0
Y0
VNO
P











 














 O
N
y
x
Y
X
XY
V
V
cosθ
sinθ
sinθ
cosθ
P
P
V
V
V
(VN,VO)
In other words, knowing the coordinates of a point (VN,VO) in
some coordinate frame (NO) you can find the position of that point
relative to your original coordinate frame (X0Y0).
(Note : Px, Py are relative to the original coordinate frame. Translation
followed by rotation is different than rotation followed by translation.)
Translation along P followed by rotation by 
7/16/2023 7:53:12 AM











 














 O
N
y
x
Y
X
XY
V
V
cosθ
sinθ
sinθ
cosθ
P
P
V
V
V
HOMOGENEOUS REPRESENTATION
Putting it all into a Matrix



















 























1
V
V
1
0
0
0
cosθ
sinθ
0
sinθ
cosθ
1
P
P
1
V
V
O
N
y
x
Y
X



















 












1
V
V
1
0
0
P
cosθ
sinθ
P
sinθ
cosθ
1
V
V
O
N
y
x
Y
X
What we found by doing
a translation and a
rotation
Padding with 0’s and 1’s
Simplifying into a matrix
form









 

1
0
0
P
cosθ
sinθ
P
sinθ
cosθ
H y
x
Homogenous Matrix for a
Translation in XY plane, followed by
a Rotation around the z-axis
7/16/2023 7:53:12 AM
Rotation Matrices in 3D – OK,lets return from
homogenous repn









 

1
0
0
0
cosθ
sinθ
0
sinθ
cosθ
Rz












cosθ
0
sinθ
0
1
0
sinθ
0
cosθ
Ry












cosθ
sinθ
0
sinθ
cosθ
0
0
0
1
Rx
Rotation around the Z-
Axis
Rotation around the Y-
Axis
Rotation around the X-
Axis
7/16/2023 7:53:12 AM













1
0
0
0
0
a
o
n
0
a
o
n
0
a
o
n
H
z
z
z
y
y
y
x
x
x
Homogeneous Matrices in 3D
H is a 4x4 matrix that can describe a translation, rotation, or both
in one matrix
Translation without
rotation













1
0
0
0
P
1
0
0
P
0
1
0
P
0
0
1
H
z
y
x
P
Y
X
Z
Y
X
Z
O
N
A
O
N
A
Rotation without
translation
Rotation part:
Could be rotation around
z-axis, x-axis, y-axis or a
combination of the three.
7/16/2023 7:53:12 AM















1
A
O
N
XY
V
V
V
H
V



























1
A
O
N
z
z
z
z
y
y
y
y
x
x
x
x
XY
V
V
V
1
0
0
0
P
a
o
n
P
a
o
n
P
a
o
n
V
Homogeneous Continued….
The (n,o,a) position of a point relative to the
current coordinate frame you are in.
The rotation and translation part can be combined into a single
homogeneous matrix IF and ONLY IF both are relative to the same
coordinate frame.
x
A
x
O
x
N
x
X
P
V
a
V
o
V
n
V 



7/16/2023 7:53:12 AM
Finding the Homogeneous Matrix
EX.
Y
X
Z
T
P










A
O
N
W
W
W










A
O
N
W
W
W










K
J
I
W
W
W










Z
Y
X
W
W
W Point relative to
the
N-O-A frame
Point relative to
the
X-Y-Z frame
Point relative to
the
I-J-K frame










































A
O
N
k
k
k
j
j
j
i
i
i
k
j
i
K
J
I
W
W
W
a
o
n
a
o
n
a
o
n
P
P
P
W
W
W









































1
W
W
W
1
0
0
0
P
a
o
n
P
a
o
n
P
a
o
n
1
W
W
W
A
O
N
k
k
k
k
j
j
j
j
i
i
i
i
K
J
I
7/16/2023 7:53:12 AM
Y
X
Z
T
P










A
O
N
W
W
W










































k
J
I
z
z
z
y
y
y
x
x
x
z
y
x
Z
Y
X
W
W
W
k
j
i
k
j
i
k
j
i
T
T
T
W
W
W









































1
W
W
W
1
0
0
0
T
k
j
i
T
k
j
i
T
k
j
i
1
W
W
W
K
J
I
z
z
z
z
y
y
y
y
x
x
x
x
Z
Y
X
Substituting
for 









K
J
I
W
W
W





















































1
W
W
W
1
0
0
0
P
a
o
n
P
a
o
n
P
a
o
n
1
0
0
0
T
k
j
i
T
k
j
i
T
k
j
i
1
W
W
W
A
O
N
k
k
k
k
j
j
j
j
i
i
i
i
z
z
z
z
y
y
y
y
x
x
x
x
Z
Y
X
7/16/2023 7:53:12 AM





























1
W
W
W
H
1
W
W
W
A
O
N
Z
Y
X

























1
0
0
0
P
a
o
n
P
a
o
n
P
a
o
n
1
0
0
0
T
k
j
i
T
k
j
i
T
k
j
i
H
k
k
k
k
j
j
j
j
i
i
i
i
z
z
z
z
y
y
y
y
x
x
x
x
Product of the two
matrices
Notice that H can also be written
as:

















































1
0
0
0
0
a
o
n
0
a
o
n
0
a
o
n
1
0
0
0
P
1
0
0
P
0
1
0
P
0
0
1
1
0
0
0
0
k
j
i
0
k
j
i
0
k
j
i
1
0
0
0
T
1
0
0
T
0
1
0
T
0
0
1
H
k
k
k
j
j
j
i
i
i
k
j
i
z
z
z
y
y
y
x
x
x
z
y
x
H = (Translation relative to the XYZ frame) * (Rotation relative to the
XYZ frame)
* (Translation relative to the IJK frame) * (Rotation relative to the
IJK frame)
7/16/2023 7:53:12 AM
The Homogeneous Matrix is a concatenation of
numerous translations and rotations
Y
X
Z
T
P










A
O
N
W
W
W
One more variation on finding
H:
H = (Rotate so that the X-axis is aligned with T)
* ( Translate along the new t-axis by || T || (magnitude of T))
* ( Rotate so that the t-axis is aligned with P)
* ( Translate along the p-axis by || P || )
* ( Rotate so that the p-axis is aligned with the O-axis)
This method might seem a bit confusing, but it’s actually an
easier way to solve our problem given the information we have.
Here is an example…
7/16/2023 7:53:12 AM
Homogeneous Matrix General Form
• Homogeneous Matrix
𝐻 =
𝑅 𝑑
0 1
• As R is orthogonal, therefore
Inverse of Homogeneous Matrix is
𝐻−1
= 𝑅𝑇 −𝑅𝑇𝑑
0 1
7/16/2023 7:53:12 AM
Homogeneous Matrix Example
• 𝐻 =
0 1 0 0
0 0 −1 0
−1 0 0 2
0 0 0 1
𝐻−1
= 𝑅𝑇
−𝑅𝑇
𝑑
0 1
• 𝑅𝑇
=
0 0 −1
1 0 0
0 −1 0
• 𝑅𝑇
⋅ 𝑑 =
0 0 −1
1 0 0
0 −1 0
⋅
0
0
2
=
−2
0
0
7/16/2023 7:53:12 AM
𝐻−1 =
0 0 −1 −2
1 0 0 0
0 −1 0 0
0 0 0 1
Kinematics relation of robot
7/16/2023 7:53:13 AM





















6
5
4
3
2
1































z
y
x
X
Joint Space
Task Space
θ =IK(X)
X=FK(θ)
We are interested in two kinematics topics
Forward Kinematics (angles to position)
What you are given: The length of each link
The angle of each joint
What you can find: The position of any point
(i.e. it’s (x, y, z) coordinates
Inverse Kinematics (position to angles)
What you are given: The length of each link
The position of some point on the
robot
What you can find: The angles of each joint needed to
obtain that position
7/16/2023 7:53:13 AM
Actuator
Space
Joint Space
Cartesian
Space
Cartesian
Space
Joint Space
Actuator
Space
Solving Kinematics of 3DoF Robots
• All approaches starts by selecting HOME position
• Two ways to solve kinematics of robots
• Geometric Approach
• Suitable for Simple Situations
• Fast and easy to compute
• Works well with 1D, 2D and sometimes 3D
• Gets complicated with 3D or >3D
7/16/2023 7:53:13 AM
Cartesian Robot
• Forward Kinematics
•
𝑟𝑥
𝑟𝑦
=
𝑑𝑥
𝑑𝑦
• Inverse Kinematics
•
𝑑𝑥
𝑑𝑦
=
𝑟𝑥
𝑟𝑦
7/16/2023 7:53:13 AM
𝑑𝑥
𝑑𝑦
𝑥
𝑦
RR Robot: Two link Robot
7/16/2023 7:53:13 AM
• Kinematics
• Forward
• 𝑟𝑥 = 𝑙1𝑐𝑜𝑠𝜃1 + 𝑙2cos(𝜃1 + 𝜃2)
• 𝑟𝑦 = 𝑙1𝑠𝑖𝑛𝜃1 + 𝑙2sin(𝜃1 + 𝜃2)
RR Robot: Two link Robot
7/16/2023 7:53:13 AM
• Kinematics
• Inverse
• cos 𝜃2 =
𝑟𝑥
2+𝑟𝑦
2−(𝑙1
2+𝑙2
2)
2𝑙1𝑙2
• sin 𝜃2 = ± 1 − cos 𝜃2
• 𝜃2 = 𝑎𝑡𝑎𝑛2 cos 𝜃2 , sin 𝜃2
RR Robot: Two link Robot
7/16/2023 7:53:13 AM
• Kinematics
• Inverse
• cos 𝜃1 =
𝑟𝑥 𝑙1+𝑙2 cos 𝜃2 +𝑟𝑦𝑙2 sin 𝜃2
𝑟𝑥
2+𝑟𝑦
2
• sin 𝜃1 = ± 1 − cos 𝜃2
• 𝜃1 = 𝑎𝑡𝑎𝑛2 cos 𝜃1 , sin 𝜃1
Solving Kinematics of 3DoF Robots
• Two ways to solve kinematics of robots
• Geometric Approach
• Suitable for Simple Situations
• Fast and easy to compute
• Works well with 1D, 2D and sometimes 3D
• Gets complicated with 3D or >3D
• Algebraic Approach
• Involves Coordinate Transformation
• Attach frame(s) to first joint
• Rotate the frame at joints
• Translate along links
• Till you reach tool tip (frame)
• Record all rotations and translations
7/16/2023 7:53:13 AM
𝐻 = 𝑅 𝜃1 ⋅ 𝑇 𝑑1 … … … 𝑅 𝜃𝑛 ⋅ 𝑇(𝑑𝑛)
Cartesian Robot
• Forward Kinematics
•
𝑟𝑥
𝑟𝑦
=
𝑑𝑥
𝑑𝑦
• Inverse Kinematics
•
𝑑𝑥
𝑑𝑦
=
𝑟𝑥
𝑟𝑦
7/16/2023 7:53:13 AM
𝑑𝑥
𝑑𝑦
𝑥
𝑦
RR Robot: Two link Robot
7/16/2023 7:53:13 AM
• Kinematics
• Forward
• 𝑟𝑥 = 𝑙1𝑐𝑜𝑠𝜃1 + 𝑙2cos(𝜃1 + 𝜃2)
• 𝑟𝑦 = 𝑙1𝑠𝑖𝑛𝜃1 + 𝑙2sin(𝜃1 + 𝜃2)
Solving Kinematics of 3DoF Robots
• Algebraic Approach
• Involves Coordinate Transformation
• Attach frame(s) to first joint
• Rotate the frame at joints
• Translate along links
• Till you reach tool tip (frame)
• Record all rotations and translations
• Easy for 1D or 2D
• Gets very very complicated with >3D
• Can have multiple rotations and translations along
• 𝑥, 𝑦, 𝑧, 𝜃𝑥, 𝜃𝑦, 𝜃𝑧
• Question is
• How to simplify translational and rotational representation ?
7/16/2023 7:53:13 AM
𝐻 = 𝑅 𝜃1 ⋅ 𝑇 𝑑1 … … … 𝑅 𝜃𝑛 ⋅ 𝑇(𝑑𝑛)
How to simplify translational and rotational
representation ?
• Proposed by Jacques Denavit and Richard S. Hartenberg
• Hartenberg, Richard Scheunemann, and Jacques Denavit
Kinematic synthesis of linkages
McGraw-Hill, 1964.
• Denavit–Hartenberg parameters (also called DH parameters) are the four parameters associated with a
particular convention for attaching reference frames to the links of a spatial kinematic chain, or robot
manipulator.
• Jacques Denavit and Richard Hartenberg introduced this convention in 1955 in order to standardize the
coordinate frames for spatial linkages
• Richard Paul demonstrated its value for the kinematic analysis of robotic systems in 1981.
• While many conventions for attaching reference frames have been developed, the Denavit–Hartenberg
convention remains a popular approach.
• Representing each individual homogeneous transformation as the product of four basic transformations:
𝐻𝑖 = 𝑅 𝜃1𝑧 ⋅ 𝑇 𝑑𝑧 ⋅ 𝑇 𝑑𝑥 ⋅ 𝑅 𝜃𝑥
7/16/2023 7:53:13 AM
General procedure for determining forward
kinematics
1. Label joint axes as z0, …, zn-1 (axis zi is joint axis for joint i+1)
2. Choose base frame: set o0 on z0 and choose x0 and y0 using right-handed convention
3. For i=1:n-1,
i. Place oi where the normal to zi and zi-1 intersects zi. If zi intersects zi-1, put oi at intersection. If zi
and zi-1 are parallel, place oi along zi such that di=0
ii. xi is the common normal through oi, or normal to the plane formed by zi-1 and zi if the two
intersect
iii. Determine yi using right-handed convention
4. Place the tool frame: set zn parallel to zn-1
5. For i=1:n, fill in the table of DH parameters
6. Form homogeneous transformation matrices, i-1
iH
7. Create 0
nH that gives the position and orientation of the end-effector in the inertial
frame
the physical basis for DH parameters
• a1: link length, distance between the o0 and o1 (along x1)
• 1: link twist, angle between z0 and z1 (around x1)
• d1: link offset, distance between o0 and o1 (along z0)
• 1: joint angle, angle between x0 and x1 (around z0)
The Denavit-Hartenberg (DH) Convention
• Representing each individual homogeneous
transformation as the product of four basic
transformations:































































 



1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
Rot
Trans
Trans
Rot ,
,
,
,
1
i
i
i
i
i
x
a
x
d
z
z
i
i
d
c
s
s
a
s
c
c
c
s
c
a
s
s
c
s
c
c
s
s
c
a
d
c
s
s
c
H
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
























DH TABLE
1
2
3
4
5
6
7/16/2023 7:53:13 AM
Different cases for DH parameter’s table
• 𝑧𝑖 ∥ 𝑧𝑖−1
• Parallel/anti parallel
• collinear axis
• 𝑥𝑖 ⊥ (𝑧𝑖 & 𝑧𝑖−1)
• 𝑧𝑖 ⊥ 𝑧𝑖−1
• 𝑧𝑖 not parallel or orthogonal to 𝑧𝑖−1
7/16/2023 7:53:13 AM
Different cases for DH parameter’s table
• 𝑧𝑖 ∥ 𝑧𝑖−1
• 𝑧𝑖 ⊥ 𝑧𝑖−1
• Origins at same point
• Origins at different point
• 𝑥𝑖 ⊥ (𝑧𝑖 & 𝑧𝑖−1)
• 𝑧𝑖 not parallel or orthogonal to 𝑧𝑖−1
7/16/2023 7:53:13 AM
Different cases for DH parameter’s table
• 𝑧𝑖 ∥ 𝑧𝑖−1
• 𝑧𝑖 ⊥ 𝑧𝑖−1
• 𝑧𝑖 not parallel or orthogonal to 𝑧𝑖−1
• Does not intersect at any point
• Lie in two parallel planes
• 𝑥𝑖 ⊥ (𝑧𝑖 & 𝑧𝑖−1)
7/16/2023 7:53:13 AM
7/16/2023 7:53:13 AM

More Related Content

Similar to ISS3180-01-Lecture05.pptx

Robotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse KinematicsRobotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse Kinematics
Damian T. Gordon
 
Collision Detection In 3D Environments
Collision Detection In 3D EnvironmentsCollision Detection In 3D Environments
Collision Detection In 3D Environments
Ung-Su Lee
 
09transformation3d
09transformation3d09transformation3d
09transformation3d
Ketan Jani
 

Similar to ISS3180-01-Lecture05.pptx (20)

Electromagnetic theory EMT lecture 1
Electromagnetic theory EMT lecture 1Electromagnetic theory EMT lecture 1
Electromagnetic theory EMT lecture 1
 
Electromagnetic theory Chapter 1
Electromagnetic theory Chapter 1Electromagnetic theory Chapter 1
Electromagnetic theory Chapter 1
 
Phys111_lecture12.ppt
Phys111_lecture12.pptPhys111_lecture12.ppt
Phys111_lecture12.ppt
 
lectI
lectIlectI
lectI
 
Robotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse KinematicsRobotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse Kinematics
 
Theories and Engineering Technics of 2D-to-3D Back-Projection Problem
Theories and Engineering Technics of 2D-to-3D Back-Projection ProblemTheories and Engineering Technics of 2D-to-3D Back-Projection Problem
Theories and Engineering Technics of 2D-to-3D Back-Projection Problem
 
radially_polarized_piezo_56.pptx
radially_polarized_piezo_56.pptxradially_polarized_piezo_56.pptx
radially_polarized_piezo_56.pptx
 
Vector calculus in Robotics Engineering
Vector calculus in Robotics EngineeringVector calculus in Robotics Engineering
Vector calculus in Robotics Engineering
 
Collision Detection In 3D Environments
Collision Detection In 3D EnvironmentsCollision Detection In 3D Environments
Collision Detection In 3D Environments
 
3D Graphics : Computer Graphics Fundamentals
3D Graphics : Computer Graphics Fundamentals3D Graphics : Computer Graphics Fundamentals
3D Graphics : Computer Graphics Fundamentals
 
visible surface detection
visible surface detectionvisible surface detection
visible surface detection
 
Lecture 7 (Digital Image Processing)
Lecture 7 (Digital Image Processing)Lecture 7 (Digital Image Processing)
Lecture 7 (Digital Image Processing)
 
transformation 3d
transformation 3dtransformation 3d
transformation 3d
 
09transformation3d
09transformation3d09transformation3d
09transformation3d
 
Lec08
Lec08Lec08
Lec08
 
Signals and Systems Assignment Help
Signals and Systems Assignment HelpSignals and Systems Assignment Help
Signals and Systems Assignment Help
 
3-D Transformation in Computer Graphics
3-D Transformation in Computer Graphics3-D Transformation in Computer Graphics
3-D Transformation in Computer Graphics
 
Beginning direct3d gameprogrammingmath06_transformations_20161019_jintaeks
Beginning direct3d gameprogrammingmath06_transformations_20161019_jintaeksBeginning direct3d gameprogrammingmath06_transformations_20161019_jintaeks
Beginning direct3d gameprogrammingmath06_transformations_20161019_jintaeks
 
Hoip10 articulo surface reconstruction_upc
Hoip10 articulo surface reconstruction_upcHoip10 articulo surface reconstruction_upc
Hoip10 articulo surface reconstruction_upc
 
Computer Graphic - Projections
Computer Graphic - ProjectionsComputer Graphic - Projections
Computer Graphic - Projections
 

Recently uploaded

Artificial intelligence presentation2-171219131633.pdf
Artificial intelligence presentation2-171219131633.pdfArtificial intelligence presentation2-171219131633.pdf
Artificial intelligence presentation2-171219131633.pdf
Kira Dess
 
Seizure stage detection of epileptic seizure using convolutional neural networks
Seizure stage detection of epileptic seizure using convolutional neural networksSeizure stage detection of epileptic seizure using convolutional neural networks
Seizure stage detection of epileptic seizure using convolutional neural networks
IJECEIAES
 

Recently uploaded (20)

Artificial Intelligence in due diligence
Artificial Intelligence in due diligenceArtificial Intelligence in due diligence
Artificial Intelligence in due diligence
 
analog-vs-digital-communication (concept of analog and digital).pptx
analog-vs-digital-communication (concept of analog and digital).pptxanalog-vs-digital-communication (concept of analog and digital).pptx
analog-vs-digital-communication (concept of analog and digital).pptx
 
History of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & ModernizationHistory of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & Modernization
 
Circuit Breakers for Engineering Students
Circuit Breakers for Engineering StudentsCircuit Breakers for Engineering Students
Circuit Breakers for Engineering Students
 
Software Engineering Practical File Front Pages.pdf
Software Engineering Practical File Front Pages.pdfSoftware Engineering Practical File Front Pages.pdf
Software Engineering Practical File Front Pages.pdf
 
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...
 
Working Principle of Echo Sounder and Doppler Effect.pdf
Working Principle of Echo Sounder and Doppler Effect.pdfWorking Principle of Echo Sounder and Doppler Effect.pdf
Working Principle of Echo Sounder and Doppler Effect.pdf
 
Worksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptxWorksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptx
 
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdfInstruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
 
Artificial intelligence presentation2-171219131633.pdf
Artificial intelligence presentation2-171219131633.pdfArtificial intelligence presentation2-171219131633.pdf
Artificial intelligence presentation2-171219131633.pdf
 
Maximizing Incident Investigation Efficacy in Oil & Gas: Techniques and Tools
Maximizing Incident Investigation Efficacy in Oil & Gas: Techniques and ToolsMaximizing Incident Investigation Efficacy in Oil & Gas: Techniques and Tools
Maximizing Incident Investigation Efficacy in Oil & Gas: Techniques and Tools
 
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptxSLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
 
CLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference ModalCLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference Modal
 
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas Sachpazis
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas SachpazisSeismic Hazard Assessment Software in Python by Prof. Dr. Costas Sachpazis
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas Sachpazis
 
Raashid final report on Embedded Systems
Raashid final report on Embedded SystemsRaashid final report on Embedded Systems
Raashid final report on Embedded Systems
 
Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1
 
Insurance management system project report.pdf
Insurance management system project report.pdfInsurance management system project report.pdf
Insurance management system project report.pdf
 
What is Coordinate Measuring Machine? CMM Types, Features, Functions
What is Coordinate Measuring Machine? CMM Types, Features, FunctionsWhat is Coordinate Measuring Machine? CMM Types, Features, Functions
What is Coordinate Measuring Machine? CMM Types, Features, Functions
 
Seizure stage detection of epileptic seizure using convolutional neural networks
Seizure stage detection of epileptic seizure using convolutional neural networksSeizure stage detection of epileptic seizure using convolutional neural networks
Seizure stage detection of epileptic seizure using convolutional neural networks
 
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
 

ISS3180-01-Lecture05.pptx

  • 1. Introduction to Robotics ISS3180-01 Professor Mannan Saeed Muhammad 7/16/2023 7:53:12 AM
  • 2. Quick Math Review Dot Product: Geometric Representation: A B θ cosθ B A B A   Unit Vector Vector in the direction of a chosen vector but whose magnitude is 1. B B uB        y x a a       y x b b Matrix Representation: y y x x y x y x b a b a b b a a B A                  B B u 7/16/2023 7:53:12 AM
  • 3. Quick Matrix Review Matrix Multiplication: An (m x n) matrix A and an (n x p) matrix B, can be multiplied since the number of columns of A is equal to the number of rows of B. Non-Commutative Multiplication AB is NOT equal to BA                                dh cf dg ce bh af bg ae h g f e d c b a Matrix Addition:                                h d g c f b e a h g f e d c b a 7/16/2023 7:53:12 AM
  • 4. Basic Transformations Moving Between Coordinate Frames Translation Along the X-Axis N O X Y Px VN VO Px = distance between the XY and NO coordinate planes        Y X XY V V V        O N NO V V V        0 P P x P (VN,VO) Notation: 7/16/2023 7:53:12 AM
  • 5. N X P VN VO Y O  NO O N X XY V P V V P V           Writing in terms of XY V NO V 7/16/2023 7:53:12 AM
  • 6. X N VN VO O Y Translation along the X-Axis and Y-Axis            O Y N X NO XY V P V P V P V        Y x XY P P P 7/16/2023 7:53:12 AM
  • 7.                                    o V n V θ) cos(90 V cosθ V sinθ V cosθ V V V V NO NO NO NO NO NO O N NO NO V o n Unit vector along the N-Axis Unit vector along the N-Axis Magnitude of the VNO vector Using Basis Vectors Basis vectors are unit vectors that point along a coordinate axis N VN VO O n o 7/16/2023 7:53:12 AM
  • 8. Rotation (around the Z-Axis) X Y Z X Y  V VX VY        Y X XY V V V        O N NO V V V  = Angle of rotation between the XY and NO coordinate axis 7/16/2023 7:53:12 AM
  • 9. X Y  V VX VY  Unit vector along X-Axis x V cosα V cosα V V NO NO XY X     NO XY V V  Can be considered with respect to the XY coordinates or NO coordinates x ) o V n (V V O N X      (Substituting for VNO using the N and O components of the vector) ) o x V n x V V O N X     ( ) ( ) ) ) (sinθ V (cosθ V 90)) (cos(θ V (cosθ V O N O N      𝑥 𝑉 7/16/2023 7:53:12 AM
  • 10. Similarly…. y V α) cos(90 V sinα V V NO NO NO Y      y ) o V n (V V O N Y      ) o y ( V ) n y ( V V O N Y     ) ) ) (cosθ V (sinθ V (cosθ V θ)) (cos(90 V O N O N      So…. ) ) (cosθ V (sinθ V V O N Y   ) ) (sinθ V (cosθ V V O N X          Y X XY V V V Written in Matrix Form                      O N Y X XY V V cosθ sinθ sinθ cosθ V V V Rotation Matrix about the z- axis 7/16/2023 7:53:12 AM
  • 11. X1 Y1  VXY X0 Y0 VNO P                             O N y x Y X XY V V cosθ sinθ sinθ cosθ P P V V V (VN,VO) In other words, knowing the coordinates of a point (VN,VO) in some coordinate frame (NO) you can find the position of that point relative to your original coordinate frame (X0Y0). (Note : Px, Py are relative to the original coordinate frame. Translation followed by rotation is different than rotation followed by translation.) Translation along P followed by rotation by  7/16/2023 7:53:12 AM
  • 12.                             O N y x Y X XY V V cosθ sinθ sinθ cosθ P P V V V HOMOGENEOUS REPRESENTATION Putting it all into a Matrix                                             1 V V 1 0 0 0 cosθ sinθ 0 sinθ cosθ 1 P P 1 V V O N y x Y X                                  1 V V 1 0 0 P cosθ sinθ P sinθ cosθ 1 V V O N y x Y X What we found by doing a translation and a rotation Padding with 0’s and 1’s Simplifying into a matrix form             1 0 0 P cosθ sinθ P sinθ cosθ H y x Homogenous Matrix for a Translation in XY plane, followed by a Rotation around the z-axis 7/16/2023 7:53:12 AM
  • 13. Rotation Matrices in 3D – OK,lets return from homogenous repn             1 0 0 0 cosθ sinθ 0 sinθ cosθ Rz             cosθ 0 sinθ 0 1 0 sinθ 0 cosθ Ry             cosθ sinθ 0 sinθ cosθ 0 0 0 1 Rx Rotation around the Z- Axis Rotation around the Y- Axis Rotation around the X- Axis 7/16/2023 7:53:12 AM
  • 14.              1 0 0 0 0 a o n 0 a o n 0 a o n H z z z y y y x x x Homogeneous Matrices in 3D H is a 4x4 matrix that can describe a translation, rotation, or both in one matrix Translation without rotation              1 0 0 0 P 1 0 0 P 0 1 0 P 0 0 1 H z y x P Y X Z Y X Z O N A O N A Rotation without translation Rotation part: Could be rotation around z-axis, x-axis, y-axis or a combination of the three. 7/16/2023 7:53:12 AM
  • 15.                1 A O N XY V V V H V                            1 A O N z z z z y y y y x x x x XY V V V 1 0 0 0 P a o n P a o n P a o n V Homogeneous Continued…. The (n,o,a) position of a point relative to the current coordinate frame you are in. The rotation and translation part can be combined into a single homogeneous matrix IF and ONLY IF both are relative to the same coordinate frame. x A x O x N x X P V a V o V n V     7/16/2023 7:53:12 AM
  • 16. Finding the Homogeneous Matrix EX. Y X Z T P           A O N W W W           A O N W W W           K J I W W W           Z Y X W W W Point relative to the N-O-A frame Point relative to the X-Y-Z frame Point relative to the I-J-K frame                                           A O N k k k j j j i i i k j i K J I W W W a o n a o n a o n P P P W W W                                          1 W W W 1 0 0 0 P a o n P a o n P a o n 1 W W W A O N k k k k j j j j i i i i K J I 7/16/2023 7:53:12 AM
  • 17. Y X Z T P           A O N W W W                                           k J I z z z y y y x x x z y x Z Y X W W W k j i k j i k j i T T T W W W                                          1 W W W 1 0 0 0 T k j i T k j i T k j i 1 W W W K J I z z z z y y y y x x x x Z Y X Substituting for           K J I W W W                                                      1 W W W 1 0 0 0 P a o n P a o n P a o n 1 0 0 0 T k j i T k j i T k j i 1 W W W A O N k k k k j j j j i i i i z z z z y y y y x x x x Z Y X 7/16/2023 7:53:12 AM
  • 18.                              1 W W W H 1 W W W A O N Z Y X                          1 0 0 0 P a o n P a o n P a o n 1 0 0 0 T k j i T k j i T k j i H k k k k j j j j i i i i z z z z y y y y x x x x Product of the two matrices Notice that H can also be written as:                                                  1 0 0 0 0 a o n 0 a o n 0 a o n 1 0 0 0 P 1 0 0 P 0 1 0 P 0 0 1 1 0 0 0 0 k j i 0 k j i 0 k j i 1 0 0 0 T 1 0 0 T 0 1 0 T 0 0 1 H k k k j j j i i i k j i z z z y y y x x x z y x H = (Translation relative to the XYZ frame) * (Rotation relative to the XYZ frame) * (Translation relative to the IJK frame) * (Rotation relative to the IJK frame) 7/16/2023 7:53:12 AM
  • 19. The Homogeneous Matrix is a concatenation of numerous translations and rotations Y X Z T P           A O N W W W One more variation on finding H: H = (Rotate so that the X-axis is aligned with T) * ( Translate along the new t-axis by || T || (magnitude of T)) * ( Rotate so that the t-axis is aligned with P) * ( Translate along the p-axis by || P || ) * ( Rotate so that the p-axis is aligned with the O-axis) This method might seem a bit confusing, but it’s actually an easier way to solve our problem given the information we have. Here is an example… 7/16/2023 7:53:12 AM
  • 20. Homogeneous Matrix General Form • Homogeneous Matrix 𝐻 = 𝑅 𝑑 0 1 • As R is orthogonal, therefore Inverse of Homogeneous Matrix is 𝐻−1 = 𝑅𝑇 −𝑅𝑇𝑑 0 1 7/16/2023 7:53:12 AM
  • 21. Homogeneous Matrix Example • 𝐻 = 0 1 0 0 0 0 −1 0 −1 0 0 2 0 0 0 1 𝐻−1 = 𝑅𝑇 −𝑅𝑇 𝑑 0 1 • 𝑅𝑇 = 0 0 −1 1 0 0 0 −1 0 • 𝑅𝑇 ⋅ 𝑑 = 0 0 −1 1 0 0 0 −1 0 ⋅ 0 0 2 = −2 0 0 7/16/2023 7:53:12 AM 𝐻−1 = 0 0 −1 −2 1 0 0 0 0 −1 0 0 0 0 0 1
  • 22. Kinematics relation of robot 7/16/2023 7:53:13 AM                      6 5 4 3 2 1                                z y x X Joint Space Task Space θ =IK(X) X=FK(θ)
  • 23. We are interested in two kinematics topics Forward Kinematics (angles to position) What you are given: The length of each link The angle of each joint What you can find: The position of any point (i.e. it’s (x, y, z) coordinates Inverse Kinematics (position to angles) What you are given: The length of each link The position of some point on the robot What you can find: The angles of each joint needed to obtain that position 7/16/2023 7:53:13 AM Actuator Space Joint Space Cartesian Space Cartesian Space Joint Space Actuator Space
  • 24. Solving Kinematics of 3DoF Robots • All approaches starts by selecting HOME position • Two ways to solve kinematics of robots • Geometric Approach • Suitable for Simple Situations • Fast and easy to compute • Works well with 1D, 2D and sometimes 3D • Gets complicated with 3D or >3D 7/16/2023 7:53:13 AM
  • 25. Cartesian Robot • Forward Kinematics • 𝑟𝑥 𝑟𝑦 = 𝑑𝑥 𝑑𝑦 • Inverse Kinematics • 𝑑𝑥 𝑑𝑦 = 𝑟𝑥 𝑟𝑦 7/16/2023 7:53:13 AM 𝑑𝑥 𝑑𝑦 𝑥 𝑦
  • 26. RR Robot: Two link Robot 7/16/2023 7:53:13 AM • Kinematics • Forward • 𝑟𝑥 = 𝑙1𝑐𝑜𝑠𝜃1 + 𝑙2cos(𝜃1 + 𝜃2) • 𝑟𝑦 = 𝑙1𝑠𝑖𝑛𝜃1 + 𝑙2sin(𝜃1 + 𝜃2)
  • 27. RR Robot: Two link Robot 7/16/2023 7:53:13 AM • Kinematics • Inverse • cos 𝜃2 = 𝑟𝑥 2+𝑟𝑦 2−(𝑙1 2+𝑙2 2) 2𝑙1𝑙2 • sin 𝜃2 = ± 1 − cos 𝜃2 • 𝜃2 = 𝑎𝑡𝑎𝑛2 cos 𝜃2 , sin 𝜃2
  • 28. RR Robot: Two link Robot 7/16/2023 7:53:13 AM • Kinematics • Inverse • cos 𝜃1 = 𝑟𝑥 𝑙1+𝑙2 cos 𝜃2 +𝑟𝑦𝑙2 sin 𝜃2 𝑟𝑥 2+𝑟𝑦 2 • sin 𝜃1 = ± 1 − cos 𝜃2 • 𝜃1 = 𝑎𝑡𝑎𝑛2 cos 𝜃1 , sin 𝜃1
  • 29. Solving Kinematics of 3DoF Robots • Two ways to solve kinematics of robots • Geometric Approach • Suitable for Simple Situations • Fast and easy to compute • Works well with 1D, 2D and sometimes 3D • Gets complicated with 3D or >3D • Algebraic Approach • Involves Coordinate Transformation • Attach frame(s) to first joint • Rotate the frame at joints • Translate along links • Till you reach tool tip (frame) • Record all rotations and translations 7/16/2023 7:53:13 AM 𝐻 = 𝑅 𝜃1 ⋅ 𝑇 𝑑1 … … … 𝑅 𝜃𝑛 ⋅ 𝑇(𝑑𝑛)
  • 30. Cartesian Robot • Forward Kinematics • 𝑟𝑥 𝑟𝑦 = 𝑑𝑥 𝑑𝑦 • Inverse Kinematics • 𝑑𝑥 𝑑𝑦 = 𝑟𝑥 𝑟𝑦 7/16/2023 7:53:13 AM 𝑑𝑥 𝑑𝑦 𝑥 𝑦
  • 31. RR Robot: Two link Robot 7/16/2023 7:53:13 AM • Kinematics • Forward • 𝑟𝑥 = 𝑙1𝑐𝑜𝑠𝜃1 + 𝑙2cos(𝜃1 + 𝜃2) • 𝑟𝑦 = 𝑙1𝑠𝑖𝑛𝜃1 + 𝑙2sin(𝜃1 + 𝜃2)
  • 32. Solving Kinematics of 3DoF Robots • Algebraic Approach • Involves Coordinate Transformation • Attach frame(s) to first joint • Rotate the frame at joints • Translate along links • Till you reach tool tip (frame) • Record all rotations and translations • Easy for 1D or 2D • Gets very very complicated with >3D • Can have multiple rotations and translations along • 𝑥, 𝑦, 𝑧, 𝜃𝑥, 𝜃𝑦, 𝜃𝑧 • Question is • How to simplify translational and rotational representation ? 7/16/2023 7:53:13 AM 𝐻 = 𝑅 𝜃1 ⋅ 𝑇 𝑑1 … … … 𝑅 𝜃𝑛 ⋅ 𝑇(𝑑𝑛)
  • 33. How to simplify translational and rotational representation ? • Proposed by Jacques Denavit and Richard S. Hartenberg • Hartenberg, Richard Scheunemann, and Jacques Denavit Kinematic synthesis of linkages McGraw-Hill, 1964. • Denavit–Hartenberg parameters (also called DH parameters) are the four parameters associated with a particular convention for attaching reference frames to the links of a spatial kinematic chain, or robot manipulator. • Jacques Denavit and Richard Hartenberg introduced this convention in 1955 in order to standardize the coordinate frames for spatial linkages • Richard Paul demonstrated its value for the kinematic analysis of robotic systems in 1981. • While many conventions for attaching reference frames have been developed, the Denavit–Hartenberg convention remains a popular approach. • Representing each individual homogeneous transformation as the product of four basic transformations: 𝐻𝑖 = 𝑅 𝜃1𝑧 ⋅ 𝑇 𝑑𝑧 ⋅ 𝑇 𝑑𝑥 ⋅ 𝑅 𝜃𝑥 7/16/2023 7:53:13 AM
  • 34. General procedure for determining forward kinematics 1. Label joint axes as z0, …, zn-1 (axis zi is joint axis for joint i+1) 2. Choose base frame: set o0 on z0 and choose x0 and y0 using right-handed convention 3. For i=1:n-1, i. Place oi where the normal to zi and zi-1 intersects zi. If zi intersects zi-1, put oi at intersection. If zi and zi-1 are parallel, place oi along zi such that di=0 ii. xi is the common normal through oi, or normal to the plane formed by zi-1 and zi if the two intersect iii. Determine yi using right-handed convention 4. Place the tool frame: set zn parallel to zn-1 5. For i=1:n, fill in the table of DH parameters 6. Form homogeneous transformation matrices, i-1 iH 7. Create 0 nH that gives the position and orientation of the end-effector in the inertial frame
  • 35. the physical basis for DH parameters • a1: link length, distance between the o0 and o1 (along x1) • 1: link twist, angle between z0 and z1 (around x1) • d1: link offset, distance between o0 and o1 (along z0) • 1: joint angle, angle between x0 and x1 (around z0)
  • 36. The Denavit-Hartenberg (DH) Convention • Representing each individual homogeneous transformation as the product of four basic transformations:                                                                     1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 Rot Trans Trans Rot , , , , 1 i i i i i x a x d z z i i d c s s a s c c c s c a s s c s c c s s c a d c s s c H i i i i i i i i i i i i i i i i i i i i i i i i i i                        
  • 39. Different cases for DH parameter’s table • 𝑧𝑖 ∥ 𝑧𝑖−1 • Parallel/anti parallel • collinear axis • 𝑥𝑖 ⊥ (𝑧𝑖 & 𝑧𝑖−1) • 𝑧𝑖 ⊥ 𝑧𝑖−1 • 𝑧𝑖 not parallel or orthogonal to 𝑧𝑖−1 7/16/2023 7:53:13 AM
  • 40. Different cases for DH parameter’s table • 𝑧𝑖 ∥ 𝑧𝑖−1 • 𝑧𝑖 ⊥ 𝑧𝑖−1 • Origins at same point • Origins at different point • 𝑥𝑖 ⊥ (𝑧𝑖 & 𝑧𝑖−1) • 𝑧𝑖 not parallel or orthogonal to 𝑧𝑖−1 7/16/2023 7:53:13 AM
  • 41. Different cases for DH parameter’s table • 𝑧𝑖 ∥ 𝑧𝑖−1 • 𝑧𝑖 ⊥ 𝑧𝑖−1 • 𝑧𝑖 not parallel or orthogonal to 𝑧𝑖−1 • Does not intersect at any point • Lie in two parallel planes • 𝑥𝑖 ⊥ (𝑧𝑖 & 𝑧𝑖−1) 7/16/2023 7:53:13 AM