Sei sulla pagina 1di 35

Chapter 2

Robot Kinematics: Position Analysis

2.1 INTRODUCTION

♦Forward Kinematics:
to determine where the robot’s hand is?
(If all joint variables are known)

♦Inverse Kinematics:
to calculate what each joint variable is?
(If we desire that the hand be
located at a particular point)
Chapter 2
Robot Kinematics: Position Analysis

2.2 ROBOTS AS MECHANISM


♦Multiple type robot have multiple DOF.
(3 Dimensional, open loop, chain mechanisms)

Fig. 2.1 A one-degree-of-freedom closed-loop Fig. 2.2 (a) Closed-loop versus (b) open-loop
four-bar mechanism mechanism
Chapter 2
Robot Kinematics: Position Analysis
2.3 MATRIX REPRESENTATION
2.3.1 Representation of a Point in Space

♦A point P in space :
3 coordinates relative to a reference frame

^ ^ ^
P = a x i + by j + c z k

Fig. 2.3 Representation of a point in


space
Chapter 2
Robot Kinematics: Position Analysis
2.3 MATRIX REPRESENTATION
2.3.2 Representation of a Vector in Space

♦A Vector P in space :
3 coordinates of its tail and of its head

__ ^ ^ ^
P = a x i + by j + c z k
x
__  y
P= 
z
 
 w
Fig. 2.4 Representation of a vector in
space
Chapter 2
Robot Kinematics: Position Analysis
2.3 MATRIX REPRESENTATION
2.3.3 Representation of a Frame at the Origin of a Fixed-Reference Frame

♦Each Unit Vector is mutually perpendicular. :


normal, orientation, approach vector

 nx ox a x 
F = n y o y a y 
 nz oz a z 

Fig. 2.5 Representation of a frame at the origin of the reference frame


Chapter 2
Robot Kinematics: Position Analysis
2.3 MATRIX REPRESENTATION
2.3.4 Representation of a Frame in a Fixed Reference Frame

♦Each Unit Vector is mutually perpendicular. :


normal, orientation, approach vector

 nx ox ax Px 
n oy ay Py 
F=  y

 nz oz az Pz 
 
0 0 0 1

Fig. 2.6 Representation of a frame in a frame


Chapter 2
Robot Kinematics: Position Analysis
2.3 MATRIX REPRESENTATION
2.3.5 Representation of a Rigid Body

♦An object can be represented in space by attaching a frame


to it and representing the frame in space.

 nx ox ax Px 
n oy ay Py 
Fobject =  y

 nz oz az Pz 
 
0 0 0 1

Fig. 2.8 Representation of an object in space


Chapter 2
Robot Kinematics: Position Analysis
2.4 HOMOGENEOUS TRANSFORMATION MATRICES
♦A transformation matrices must be in square form.

• It is much easier to calculate the inverse of square matrices.


• To multiply two matrices, their dimensions must match.

 nx ox ax Px 
n oy ay Py 
F=  y

 nz oz az Pz 
 
0 0 0 1
Chapter 2
Robot Kinematics: Position Analysis
2.5 REPRESENTATION OF TRANSFORMATINS
2.5.1 Representation of a Pure Translation

♦A transformation is defined as making a movement in space.


• A pure translation.
• A pure rotation about an axis.
• A combination of translation or rotations.

1 0 0 dx 
0 1 0 d y 
T =
0 0 1 dz 
 
0 0 0 1
Fig. 2.9 Representation of an pure translation in space
Chapter 2
Robot Kinematics: Position Analysis
2.5 REPRESENTATION OF TRANSFORMATINS
2.5.2 Representation of a Pure Rotation about an Axis

♦Assumption : The frame is at the origin of the reference frame and parallel to it.

Fig. 2.10 Coordinates of a point in a rotating


frame before and after rotation.
Fig. 2.11 Coordinates of a point relative to the reference
frame and rotating frame as viewed from the x-axis.
Chapter 2
Robot Kinematics: Position Analysis
2.5 REPRESENTATION OF TRANSFORMATINS
2.5.3 Representation of Combined Transformations

♦A number of successive translations and rotations….

Fig. 2.13 Effects of three successive transformations Fig. 2.14 Changing the order of transformations will
change the final result
Chapter 2
Robot Kinematics: Position Analysis
2.5 REPRESENTATION OF TRANSFORMATINS
2.5.5 Transformations Relative to the Rotating Frame

♦Example 2.8

Fig. 2.15 Transformations relative to the current frames.


Chapter 2
Robot Kinematics: Position Analysis
2.6 INVERSE OF TRANSFORMATION MATIRICES
♦Inverse of a matrix calculation steps :
• Calculate the determinant of the matrix.
• Transpose the matrix.
• Replace each element of the transposed matrix by its own minor(adjoint matrix).
• Divide the converted matrix by the determinant.

Fig. 2.16 The Universe, robot, hand, part, and end effecter frames.
Chapter 2
Robot Kinematics: Position Analysis
2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS
♦Forward Kinematics Analysis:
• Calculating the position and orientation of the hand of the robot.
• If all robot joint variables are known, one can calculate where the robot is
at any instant.
• Recall Chapter 1.

Fig. 2.17 The hand frame of the robot relative to the reference frame.
Chapter 2
Robot Kinematics: Position Analysis
2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS
2.7.1 Forward and Inverse Kinematics Equations for Position

♦Forward Kinematics and Inverse Kinematics equation for position analysis :

(a) Cartesian (gantry, rectangular) coordinates.


(b) Cylindrical coordinates.
(c) Spherical coordinates.
(d) Articulated (anthropomorphic, or all-revolute) coordinates.
Chapter 2
Robot Kinematics: Position Analysis
2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS
2.7.1 Forward and Inverse Kinematics Equations for Position
2.7.1(a) Cartesian (Gantry, Rectangular) Coordinates

♦IBM 7565 robot


• All actuator is linear.
• A gantry robot is a Cartesian robot.

1 0 0 Px 
0 1 0 Py 
TP = Tcart
R
=
0 0 1 Pz 
 
0 0 0 1

Fig. 2.18 Cartesian Coordinates.


Chapter 2
Robot Kinematics: Position Analysis
2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS
2.7.1 Forward and Inverse Kinematics Equations for Position
2.7.1(b) Cylindrical Coordinates

♦2 Linear translations and 1 rotation


• translation of r along the x-axis
• rotation of α about the z-axis
• translation of l along the z-axis

R
TP = Tcyl (r , α , l ) = Trans(0,0, l )Rot( z , α )Trans(r ,0,0)

Cα − Sα 0 rCα 
 Sα Cα 0 rSα 
R
TP = Tcyl =  
 0 0 1 l 
 
 0 0 0 1 
Fig. 2.19 Cylindrical Coordinates.
Chapter 2
Robot Kinematics: Position Analysis
2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS
2.7.1 Forward and Inverse Kinematics Equations for Position
2.7.1(c) Spherical Coordinates

♦2 Linear translations and 1 rotation


• translation of r along the z-axis
• rotation of β about the y-axis
• rotation of γ along the z-axis

R
TP = Tsph (r , β , l ) = Rot( z , γ )Rot( y , β )Trans(0,0, γ )

Cβ ⋅ Cγ − Sγ Sβ ⋅ Cγ rSβ ⋅ Cγ 
 Cβ ⋅ Sγ Cγ Sβ ⋅ Sγ rSβ ⋅ Sγ 
TP = Tsph
R
= 
 − Sβ 0 Cβ rCβ 
 
 0 0 0 1 
Fig. 2.20 Spherical Coordinates.
Chapter 2
Robot Kinematics: Position Analysis
2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS
2.7.1 Forward and Inverse Kinematics Equations for Position
2.7.1(d) Articulated Coordinates

♦3 rotations -> Denavit-Hartenberg representation

Fig. 2.21 Articulated Coordinates.


Chapter 2
Robot Kinematics: Position Analysis
2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS
2.7.2 Forward and Inverse Kinematics Equations for Orientation

♦ Roll, Pitch, Yaw (RPY) angles


♦ Euler angles
♦ Articulated joints
Chapter 2
Robot Kinematics: Position Analysis
2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS
2.7.2 Forward and Inverse Kinematics Equations for Orientation
2.7.2(a) Roll, Pitch, Yaw(RPY) Angles
♦Roll: Rotation of φa about a-axis (z-axis of the moving frame)
♦Pitch: Rotation of φo about o-axis (y-axis of the moving frame)
♦Yaw: Rotation of φnabout n-axis (x-axis of the moving frame)

Fig. 2.22 RPY rotations about the current axes.


Chapter 2
Robot Kinematics: Position Analysis
2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS
2.7.2 Forward and Inverse Kinematics Equations for Orientation
2.7.2(b) Euler Angles
♦Rotation of φ about a-axis (z-axis of the moving frame) followed by
♦Rotation of θ about o-axis (y-axis of the moving frame) followed by
♦Rotation of ψ about a-axis (z-axis of the moving frame).

Fig. 2.24 Euler rotations about the current axes.


Chapter 2
Robot Kinematics: Position Analysis
2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS
2.7.2 Forward and Inverse Kinematics Equations for Orientation
2.7.2(c) Articulated Joints

Consult again section 2.7.1(d)…….


Chapter 2
Robot Kinematics: Position Analysis
2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS
2.7.3 Forward and Inverse Kinematics Equations for Orientation

♦ Assumption : Robot is made of a Cartesian and an RPY set of joints.


R
TH = Tcart ( Px , Py , Pz ) × RPY (φa , φo , φ n )

♦ Assumption : Robot is made of a Spherical Coordinate and an Euler angle.

R
TH = Tsph (r , β , γ ) × Euler (φ , θ ,ψ )

Another Combination can be possible……

Denavit-Hartenberg Representation
Chapter 2
Robot Kinematics: Position Analysis
2.8 DENAVIT-HARTENBERG REPRESENTATION OF
FORWARD KINEMATIC EQUATIONS OF ROBOT
• Denavit-Hartenberg Representation :
@ Simple way of modeling robot links and
joints for any robot configuration,
regardless of its sequence or complexity.

@ Transformations in any coordinates


is possible.

@ Any possible combinations of joints


and links and all-revolute articulated
robots can be represented.

Fig. 2.25 A D-H representation of a general-purpose joint-link combination


Chapter 2
Robot Kinematics: Position Analysis
2.8 DENAVIT-HARTENBERG REPRESENTATION OF
FORWARD KINEMATIC EQUATIONS OF ROBOT

• Denavit-Hartenberg Representation procedures:

Start point:
Assign joint number n to the first shown joint.
Assign a local reference frame for each and every joint before or

after these joints.


Y-axis does not used in D-H representation.
Chapter 2
Robot Kinematics: Position Analysis
2.8 DENAVIT-HARTENBERG REPRESENTATION OF
FORWARD KINEMATIC EQUATIONS OF ROBOT

• Procedures for assigning a local reference frame to each joint:

‫ ٭‬All joints are represented by a z-axis.


(right-hand rule for rotational joint, linear movement for prismatic joint)
‫ ٭‬The common normal is one line mutually perpendicular to any two

skew lines.
‫ ٭‬Parallel z-axes joints make a infinite number of common normal.
‫ ٭‬Intersecting z-axes of two successive joints make no common
normal between them(Length is 0.).
Chapter 2
Robot Kinematics: Position Analysis
2.8 DENAVIT-HARTENBERG REPRESENTATION OF
FORWARD KINEMATIC EQUATIONS OF ROBOT

• Symbol Terminologies :

⊙ θ : A rotation about the z-axis.


⊙ d : The distance on the z-axis.
⊙ a : The length of each common normal (Joint offset).
⊙ α : The angle between two successive z-axes (Joint twist)

 Only θ and d are joint variables.


Chapter 2
Robot Kinematics: Position Analysis
2.8 DENAVIT-HARTENBERG REPRESENTATION OF
FORWARD KINEMATIC EQUATIONS OF ROBOT
• The necessary motions to transform from one reference
frame to the next.
(I) Rotate about the zn-axis an able of θn+1. (Coplanar)
(II) Translate along zn-axis a distance of dn+1 to make xn and xn+1
colinear.
(III) Translate along the xn-axis a distance of an+1 to bring the origins
of xn+1 together.
(IV) Rotate zn-axis about xn+1 axis an angle of αn+1 to align zn-axis
with zn+1-axis.
Chapter 2
Robot Kinematics: Position Analysis
2.9 THE INVERSE KINEMATIC SOLUTION OF ROBOT
• Determine the value of each joint to place the arm at a
desired position and orientation.
R
TH = A1 A2 A3 A4 A5 A6
C1 (C234C5C6 − S 234 S 6 ) C1 (−C234C5C6 − S 234C6 ) 
− S S C C1 (C234 S 5 ) + S1C5 C1 (C234 a4 + C23a3 + C2 a2 )
 1 5 6 + S1S 5C6 
 S1 (C234C5C6 − S 234 S 6 ) S1 (−C234C5C6 − S 234C6 )
= S1 (C234 S 5 ) − C1C5 S1 (C234 a4 + C23 a3 + C2 a2 ) 
 + C1S5C6 − C1S 5C6 
 S 234C5C6 + C234 S 6 − S 234C5C6 + C234C6 S 234 S5 S 234 a4 + S 23 a3 + S 2 a2 
 
 0 0 0 1 
 nx ox ax px 
n oy ay p y 
=
y

 nz oz az pz 
 
0 0 0 1
Chapter 2
Robot Kinematics: Position Analysis
2.9 THE INVERSE KINEMATIC SOLUTION OF ROBOT

 nx ox ax px 
 p y 
−1  n y oy ay
A1 × = A1−1[ RHS ] = A2 A3 A4 A5 A6
 nz oz az pz 
 
0 0 0 1

C1 S1 0 0  n x ox ax px 
0 0 1 0 n y oy ay p y 
 × = A2 A3 A4 A5 A6
 S1 − C1 0 0  n z oz az pz 
   
0 0 0 1  0 0 0 1
Chapter 2
Robot Kinematics: Position Analysis
2.9 THE INVERSE KINEMATIC SOLUTION OF ROBOT
 py 
θ1 = tan −1  
 px 
(C3 a3 + a2 )( p z − S 234 a4 ) − S 3 a3 ( p x C1 + p y S1 − C234 a4 )
θ 2 = tan −1
(C3 a3 + a2 )( p x C1 + p y S1 − C234 a4 ) + S 3 a3 ( Pz − S 234 a4 )
 S3 
θ 3 = tan −1  
 C3 

θ 4 = θ 234 − θ 2 − θ 3

C234 (C1a x + S1a y ) + S 234 a z


θ 5 = tan −1
S1a x − C1a y

− S 234 (C1nx + S1n y ) + S 234 nz


θ 6 = tan −1
− S 234 (C1ox + S1o y ) + C234 oz
Chapter 2
Robot Kinematics: Position Analysis
2.10 INVERSE KINEMATIC PROGRAM OF ROBOTS
• A robot has a predictable path on a straight line,
• Or an unpredictable path on a straight line.

‫ ٭‬A predictable path is necessary to recalculate joint variables.


(Between 50 to 200 times a second)
‫ ٭‬To make the robot follow a straight line, it is necessary to break
the line into many small sections.
‫ ٭‬All unnecessary computations should be eliminated.

Fig. 2.30 Small sections of movement for straight-line motions


Chapter 2
Robot Kinematics: Position Analysis
2.11 DEGENERACY AND DEXTERITY
∴Degeneracy : The robot looses a degree of freedom
and thus cannot perform as desired.
‫ ٭‬When the robot’s joints reach their physical limits,
and as a result, cannot move any further.
‫ ٭‬In the middle point of its workspace if the z-axes
of two similar joints becomes colinear.

∴Dexterity : The volume of points where one can


position the robot as desired, but not
orientate it.

Fig. 2.31 An example of a robot in a degenerate


position.
Chapter 2
Robot Kinematics: Position Analysis
2.12 THE FUNDAMENTAL PROBLEM WITH D-H
REPRESENTATION
∴Defect of D-H presentation : D-H cannot represent any motion about
the y-axis, because all motions are about the x- and z-axis.
TABLE 2.3 THE PARAMETERS TABLE FOR THE
STANFORD ARM

# θ d a α
1 θ1 0 0 -90

2 θ2 d1 0 90

3 0 d1 0 0

4 θ4 0 0 -90

5 θ5 0 0 90

6 θ6 0 0 0
Fig. 2.31 The frames of the Stanford Arm.

Potrebbero piacerti anche