Professional Documents
Culture Documents
Chapter 7 Robot Kinematics
Chapter 7 Robot Kinematics
Kinematics
Contents
• Definitions,
• Transformations,
• Properties of transformation matrices,
• Forward kinematics,
• Matlab and the robotics toolbox,
• Inverse kinematics
Robot kinematics
• Kinematics –study of motion with out regard
to the force generating it
• In robots
– Forward kinematics
• Deals with determination of position and orientation of
end effector as a function of joint positions
– Inverse kinematics
• Deals with determination of joint positions for a given
end effector position and orientation
Forward kinematics
• Description of objects in space
– Needs six parameters
• 3 for rotation or orientation
• 3 for position
– For 3D space manipulation, 6DOF robot is
required
– Most industrial robots are 5 or 6DOF
• To describe position and orientation of a
link in space, a coordinate frame is attached
to the link
Forward kinematics
• Mechanical structure and notation
y
Link i
Link i-1 x
Revolute link
prismatic
Mappings
• Rotations
– Given the coordinates of a point in frame {1}, find
the coordinate of the vector in another frame {2}
which is rotated by a given angle wrt frame {1}
2
P 1 R 2 P
2
P 1 P1 D 2
Mappings
• Combined motion
– Given coordinate of vector or point p in frame {1},
find its coordinates in frame {2} which is rotated
by angles() about x,y and z respectively and
translated by a distance d
1
P1 T2 2 P
x.u x.v x.w dx
y.u y.v y.w dy
1
T2
z.u z.v z.w dz
0 0 0 1
Example: use of transformations
• The coordinates of point p in frame {1} are [3
2 1], find its coordinates in frame {2} which is
rotated by 45 degree about Z axis
Ans =[0.707 3.535 1]
y1
P*
Forward kinematics
• Naming convention
– Base is link 0
– End effector is link n
– Joint between base and link 1 is joint 1
– Joint between n-1 link and end effector is joint n
Forward kinematics
• Twisted link
– Link length is distance between common
normal to z-axis of the joints
– Link twist is the angle between the two z-axis
• Straight link
i
ai
DH algorithm or notation
• The definition of a manipulator with four
parameters and the method of assigning
frames and axis is first proposed by Denavit-
Hartenberg in 1955
Axis i-2, joint
i-1 Axis i-1, joint
i, zi-1 Zi
i
ai
C D
A di
Xi-1
B i
Rule for frame assignment
• Zi axis is aligned with axis i, its assignment is
arbitrary
• Xi axis is perpendicular to axis of Zi-1 and Zi
and points away from axis Zi-1
• Origin of ith coordinate frame is located at the
intersection of axis of joint i+1 and common
normal between (i-1) and i
• Yi is assigned to complete the RH rule
Joint parameters
i 1
Ti Tz i Tz d i Tx a i Tz i
C SC SS aC
S CC CS aS
i 1
Ti
0 S C d
0 0 0 1
Complete transformation matrix of a robot
x L1 cos( 1 ) L 2 cos(1 2 )
y L1 sin(1 ) L 2 sin(1 2 )
Frame assignment
zo z1 z2
Kinematic parameters
Link a d
1 L1 0 1 90
2 L2 0 2 90
Y4
3
Y2 2 X3 3
2 X2
X4
1
The position of the yellow dot relative to the X4Y4 frame
Y1
X0
is (0,0).
Inverse kinematics is given (x4, y4), find the angles y3,y2 and y1
A Simple Example
Revolute and Prismatic Joints Combined
Finding :
y
θ arctan( )
x
More Specifically:
(x , y)
y arctan2() specifies that it’s in the
θ arctan 2( ) first quadrant
x
Y
S
1 Finding S:
X
S (x 2 y 2 )
Inverse Kinematics of a Two Link Manipulator
(x , y) Given: l1, l2 , x , y
2 Find: 1 , 2
l2
Redundancy:
A unique solution to this problem
does not exist. Notice, that using the
1
l1 “givens” two solutions are possible.
Sometimes no solution is possible.
l2 (x , y)
l2
l1 l1
The Geometric Solution
(x , y) Using the Law of Cosines:
l2
2 c 2 a 2 b 2 2ab cos C
2 2
( x 2 y 2 ) l1 l2 2l1l2 cos(180 θ 2 )
cos(180 θ 2 ) cos(θ 2 )
2 2
l1 x 2 y 2 l1 l2
cos(θ 2 )
2l1l2
1
x 2 y 2 l12 l2 2
θ 2 arccos
2l1l2
Using the Law of Sines:
Redundant since 2 could be in the
sin B sin C
first or fourth quadrant.
b c
sin θ1 sin(180 θ 2 ) sin(θ 2 )
Redundancy caused since 2 has two possible
l2 x 2 y2 x 2 y2 values
θ1 θ1 α l sin(θ ) y
θ1 arcsin 2 2
arctan 2
y x 2 y2 x
α arctan 2
x
The Algebraic Solution
l2 (x , y)
2
c 1 cos θ 1
c 1 2 cos( θ 2 θ 1 )
l1 (1) x l1 c 1 l 2 c 1 2
(2) y l1 s 1 l 2 sin 1 2
1
(3) θ θ 1 θ 2
(1) 2 (2) 2 x 2 y 2
2 2 2
2 2 2
l1 c1 l2 (c1 2 ) 2 2l1l2 c1 (c1 2 ) l1 s1 l2 (sin 1 2 ) 2 2l1l2 s1 (sin 1 2 )
l1 l2 2l1l2 c1 (c1 2 ) s1 (sin 1 2 )
2 2
2 2
l1 l2 2l1l2 c 2 Only Unknown Note:
x 2 y 2 l12 l2 2 cos(ab) (cosa)(cosb) (sina)(sinb)
θ 2 arccos
2 l l sin(ab) (cosa)(sinb) (cosb)(sina)
1 2
x l1 c 1 l 2 c 1 2 Note:
l1 c 1 l 2 c 1 c 2 l 2 s 1 s 2 cos(ab) (cosa)(cosb) (sina)(sinb)
c 1 ( l1 l 2 c 2 ) s 1 ( l 2 s 2 ) sin(ab) (cosa)(sinb) (cosb)(sina)
1
( l1 l 2 c 2 )
x l 2 s 2 s 1 ( l1 2 l 2 2 2 l1 l 2 c 2 ) Notice this is the law of cosines
and can be replaced by x2+ y2
y ( l1 l 2 c 2 ) x l 2 s 2 y ( l1 l 2 c 2 ) x l 2 s 2
s1 θ 1 arcsin
x2 y2 x2 y2
For a general manipulator
• For an n DOF robot
n x ox ax dx
n
n oy ay d y
0
Tn q1 , q 2, ..., q n j1 Tj y
j1 n z oz az dz
0 0 0 1
3 L3 0 0 3 3 1 0
C1 0 S1 0
S C 2 S2 0 L 2C2
0 C1 0 S
0
T1 1 C2 0 L 2S2
0 1 0 0
1
T2 2
0 0 1 0
0 0 0 1
0 0 0 1
Articulated robot
• Using DH algorithm
C 3 S3 0 L 3C 3
S C3 0 L 3S3
2
T3 3
0 0 1 0
0 0 0 1
C1C 23 C1S23 S1 C1 L 3C 23 L 2 C 2
S C S1S23 C1 S1 L 3C 23 L 2 C 2
0
T3 1 23
S23 C 23 0 L3S23 L 2S2
0 0 0 1
Articulated manipulator
• Let the end effector position and orientation
be
0.35 0.866 0.35 0.11
0.6 0.5 0.6 0.18
T
0.7 0 0.7 0.21
0 0 0 1
S1 r24 0.18
C1 r14 0.11
S23 r31
• This gives and hence
C 23 r32
2+3= atan(r31,r32)