You are on page 1of 55

Lecture 16, 17 & 18

Robot Kinematics

Dr. D. Saravanakumar,
Assistant Professor, SMBS,
VIT - Chennai Campus.
Email: saravanakumar.d@vit.ac.in

10, 17 & 20 - Sep-18 MEE1030 – Robotics 1


Kinematics

• Study of geometric and time properties of the


motion of robotic structures, without reference to the
causes producing it.

10, 17 & 20 - Sep-18 MEE1030 – Robotics 2


Motivations

• Functional aspects
• definition of robot workspace
• calibration
• Operational aspects
• two different “spaces” related by kinematic (and
dynamic) maps

10, 17 & 20 - Sep-18 MEE1030 – Robotics 3


Forward and Inverse Kinematics

10, 17 & 20 - Sep-18 MEE1030 – Robotics 4


Kinematics

10, 17 & 20 - Sep-18 MEE1030 – Robotics 5


Kinematics

What are we trying to do ? (Forward)


???

Go right
!!!

10, 17 & 20 - Sep-18 MEE1030 – Robotics 6


Kinematics
What are we trying to do ? (inverse)
???

Take the
ball !!!

10, 17 & 20 - Sep-18 MEE1030 – Robotics 7


Direct Kinematics

• The structure of the direct kinematics function


depends from the chosen r

• Methods for computing fr(q)


• Geometric/by inspection
• Systematic: assigning frames attached to the robot
links and using homogeneous transformation
matrices

10, 17 & 20 - Sep-18 MEE1030 – Robotics 8


Inverse kinematics problem

• Given a desired end-effector pose (position +


orientation), find the set of values for the joint
variables which realizes it
• A synthesis problem, with input data in the form:

• Typical nonlinear problem


• existence of a solution (workspace definition)
• uniqueness/multiplicity of solutions
• solution methods

10, 17 & 20 - Sep-18 MEE1030 – Robotics 9


Kinematics
The Situation:
You have a robotic arm that
starts out aligned with the xo-axis.
You tell the first link to move by 1
and the second link to move by 2.

The Quest:
What is the position of the
end of the robotic arm?

Solution:
1. Geometric Approach
This might be the easiest solution for the simple situation. However,
notice that the angles are measured relative to the direction of the previous
link. (The first link is the exception. The angle is measured relative to it’s
initial position.) For robots with more links and whose arm extends into 3
dimensions the geometry gets much more tedious.
2. Algebraic Approach
Involves coordinate transformations.
10, 17 & 20 - Sep-18 MEE1030 – Robotics 10
One DOF Planar Robot

 Forward Kinematics
L – Link Length

x = L . cosθ θ = Angle of Rotation

y = L . Sinθ
y (x, y)

 Inverse Kinematics L . sinθ


θ
x
θ = tan-1(y/x) L . cosθ

10, 17 & 20 - Sep-18 MEE1030 – Robotics 11


Forward Kinematics of Two DOF Planar
Robot

𝑥 = 𝐿1 cos 𝜃1 + 𝐿2 cos 𝜃1 + 𝜃2

𝑦 = 𝐿1 sin 𝜃1 + 𝐿2 sin 𝜃1 + 𝜃2

10, 17 & 20 - Sep-18 MEE1030 – Robotics 12


Inverse Kinematics of Two DOF Planar Robot
(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.

(x , y)

10, 17 & 20 - Sep-18 MEE1030 – Robotics 13


The Geometric Solution
Using the Law of Cosines:
(x , y)
l2 q2 c 2  a 2  b 2  2ab cos C
( x 2  y 2 )  l1  l2  2l1l2 cos(180  θ 2 )
2 2

cos(180  θ 2 )   cos(θ 2 )
x 2  y 2  l1  l2
2 2
l1
 cos(θ 2 ) 
2l1l2
q1
 x 2  y 2  l12  l2 2 
θ 2  arccos 

Using the Law of Cosines:
 2l1l2 
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  y  l sin(θ ) 
θ1  arctan 2   arcsin  2 2 

y x  x 2  y2 
α  arctan 2 10, 17 & 20 - Sep-18 MEE1030 – Robotics
  14
x
The Algebraic Solution
(x , y)
l2 q2

c1  cosθ1
c1 2  cos(θ 2  θ1 )
l1 (1) x  l1 c1  l2 c1 2
(2) y  l1 s1  l2 sin 1 2
q1

(1) 2  (2) 2  x 2  y 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 )
2 2 2 2

 l1  l2  2l1l2 c1 (c1 2 )  s1 (sin 1 2 ) 
2 2

 l1  l2  2l1l2 c 2
2 2 Only Unknown Note :
 x 2  y 2  l12  l2 2  cos(ab)  (cos a)(cos b)  (sin a)(sin b)
 θ 2  arccos 
  
sin( a  b )  (cos a )(sin b )  (cos b)(sin a)

10, 17 & 20 -2 l l
Sep-18
1 2  MEE1030 – Robotics 15
x  l1 c1  l2 c1 2 Note :
 l1 c1  l2 c1c 2  l2 s1s2 cos(ab)  (cos a)(cos b)  (sin a)(sin b)
 c1 (l1  l2 c 2 )  s1 (l2 s2 ) sin( ab)  (cos a)(sin b)  (cosb)(sin a)

y  l1 s1  l2 sin 1 2 We know what 2 is from the previous


 l1 s1  l2 s1c 2  l2 s 2 c1 slide. We need to solve for 1 . Now
 c1 (l2 s 2 )  s1 (l1  l2 c 2 ) we have two equations and two
x  s1 (l2 s2 ) unknowns (sin 1 and cos 1 )
c1 
(l1  l2 c 2 )
x  s1 (l2 s2 )
y (l2 s 2 )  s1 (l1  l2 c 2 ) Substituting for c1 and simplifying
(l1  l2 c 2 ) many times


1
(l1  l2 c 2 )
 
Notice this is the law of cosines
x l2 s2  s1 (l1  l2  2l1l2 c 2 ) and can be replaced by x2+ y2
2 2

y(l1  l2 c 2 )  x l2 s2 1  arctan 2( s1 , c1 )
s1 
x 2  y2
10, 17 & 20 - Sep-18 MEE1030 – Robotics 16
Forward Kinematics of Three DOF Planar
Robot

10, 17 & 20 - Sep-18 MEE1030 – Robotics 17


Forward Kinematics of Four DOF Robot

10, 17 & 20 - Sep-18 MEE1030 – Robotics 18


The Kinematics Model

• The robot can now be kinematically modeled by


using the link transforms ie:
0
𝑛𝑇 = 𝑇1 𝑇2 𝑇3 … 𝑇𝑖 … 𝑇𝑛

• Where
• 𝑛0𝑇is the pose of the end-effector relative to base;
• Ti is the link transform for the ith joint;
• and n is the number of links.

10, 17 & 20 - Sep-18 MEE1030 – Robotics 19


The Denavit-Hartenberg Transformation

• In 1955 Denavit and Hartenberg published a paper


in ASME journal which was later used to represent
and model robots and to derive their equations of
motion.
• The method can be used for any robot configuration,
regardless of its sequence or complexity
• Although the direct modeling is straight forward, it
is important to understand D-H representation
because many techniques (such as calculation of
Jacobian, force analysis) have been developed for
use with its results.

10, 17 & 20 - Sep-18 MEE1030 – Robotics 20


Manipulator Description

• a: Link Length - mutual


perpendicular
• unique except for parallel axis
• α: Link Twist - measured in the
right-hand sense about joint axis
• d : Link Offset - variable if joint i is
prismatic
• θ : Joint Angle - variable if joint i is
revolute

10, 17 & 20 - Sep-18 MEE1030 – Robotics 21


Relation between joint axes

10, 17 & 20 - Sep-18 MEE1030 – Robotics 22


Relation between link axes

10, 17 & 20 - Sep-18 MEE1030 – Robotics 23


Intersecting Joint Axes

The sense of αi-1 is free

y-vectors: complete right-hand frames

10, 17 & 20 - Sep-18 MEE1030 – Robotics 24


Summary – Frame Attachment

10, 17 & 20 - Sep-18 MEE1030 – Robotics 25


Intersecting Joint Axes

The sense of αi is determined by the direction of x

10, 17 & 20 - Sep-18 MEE1030 – Robotics 26


Manipulator Description - D-H Parameters

• 4 D-H parameters (αi , ai , di, θi)


• 3 fixed link parameters
θi revolute joint
• 1 joint variable
di prismatic joint

• αi and ai : describe the Link i


• di and θi : describe the Link’s connection

10, 17 & 20 - Sep-18 MEE1030 – Robotics 27


A General Transformation in D-H Convention

• D-H transformation for adjacent coordinate frames:


i 1
T i
 Tz , Tz ,d Tx ,aTx , I 44

10, 17 & 20 - Sep-18 MEE1030 – Robotics 28


Denavit-Hartenberg Convention
• D1. Establish the base coordinate system. Establish a right-handed
orthonormal coordinate system ( X 0 , Y0 , Z 0 ) at the supporting base with
axis lying along the axis of motion of joint 1.
• D2. Initialize and loop Steps D3 to D6 for I=1,2,….n-1
• D3. Establish joint axis. Align the Zi with the axis of motion (rotary or
sliding) of joint i+1.
• D4. Establish the origin of the ith coordinate system. Locate the
origin of the ith coordinate at the intersection of the Zi & Zi-1 or at the
intersection of common normal between the Zi & Zi-1 axes and the Zi
axis.
• D5. Establish Xi axis. Establish X i  ( Z i 1  Z i ) / Z i 1  Z i or along the
common normal between the Zi-1 & Zi axes when they are parallel.
• D6. Establish Yi axis. Assign Yi  ( Z i  X i ) / Z i  X i to complete the
right-handed coordinate system.

10, 17 & 20 - Sep-18 MEE1030 – Robotics 29


Denavit-Hartenberg Convention

• D7. Establish the hand coordinate system


• D8. Find the link and joint parameters : d,a,,

D-H transformation for adjacent coordinate


frames:
i 1
T i
 Tz , Tz ,d Tx ,aTx , I 44

10, 17 & 20 - Sep-18 MEE1030 – Robotics 30


Summary

10, 17 & 20 - Sep-18 MEE1030 – Robotics 31


Standard D-H Convention

10, 17 & 20 - Sep-18 MEE1030 – Robotics 32


Classification by kinematic type - First 3 DoFs)

10, 17 & 20 - Sep-18 MEE1030 – Robotics 33


2 DOF planar robot

10, 17 & 20 - Sep-18 MEE1030 – Robotics 34


D-H Parameters (Standard Convention)

Link θi di ai αi
1 q1 0 L1 0

2 q2 0 L2 0

10, 17 & 20 - Sep-18 MEE1030 – Robotics 35


SCARA Robot

10, 17 & 20 - Sep-18 MEE1030 – Robotics 36


Link Axes

10, 17 & 20 - Sep-18 MEE1030 – Robotics 37


Frames

10, 17 & 20 - Sep-18 MEE1030 – Robotics 38


D-H Parameters (Standard Convention)

10, 17 & 20 - Sep-18 MEE1030 – Robotics 39


Forward Kinematics of 3R Robot
Z3
Z0 Z1
Joint 3
Y0 O3 X3
Y1

d2
Joint 1
O0 X0 O1 X1 O2 X2
Joint 2
Y2

a0 a1 Joint i i ai di i
1 0 a0 0 0

2 -90 a1 0 1

3 0 0 d2 2

10, 17 & 20 - Sep-18 MEE1030 – Robotics 40


Forward Kinematics of 3R Robot

C i  C i S i S i S i ai C i 
 S C i C i  S i C i ai S i 
T i
i 1  i
 0 S i C i di 
 
 0 0 0 1 

T  (T )(T )(T )
0
3 1
0
2
1
3
2

10, 17 & 20 - Sep-18 MEE1030 – Robotics 41


Forward Kinematics of 3R Robot
cosθ 0  sinθ 0 0 a0 cos 0 
 0 a0 sin  0 
1  sinθ 0 cosθ 0
T 0
 0 0 1 0 
 
 0 0 0 1 
Joint i i ai di i
cosθ1 0  sin 1 a1 cos1 
1 0 a0 0 0  cos1 a1 sin 1 
2  sinθ1 0
T 1
 0 1 0 0 
2 -90 a1 0 1  
 0 0 0 1 
3 0 0 d2 2
cosθ 2  sinθ 2 0 0
sin  cos 2 0 0 
T 23  2

 0 0 1 d2 
 
 0 0 0 1

10, 17 & 20 - Sep-18 MEE1030 – Robotics 42


Example: Puma 560

10, 17 & 20 - Sep-18 MEE1030 – Robotics 43


Example: Puma 560

Joint i i i ai(mm) di(mm)


1 1 0 0 0
2 2 -90 0 d2
3 3 0 a2 d3
4 4 90 a3 d4
5 5 -90 0 0
6 6 0 0 0

10, 17 & 20 - Sep-18 MEE1030 – Robotics 44


Example: Puma 560

 c1  s1 0 0   c 4  s 4 0 a3 
   
s
 1 c  0 0   0 0 1 d4 
0
T  1 3
T 
1
 0 0 1 0
4
  s 4 c 4 0 0
   
 0 0 0 1  0 0 0 1
 c 2  s 2 0 0   c5  s5 0 0
   
 0 0 1 0   0 0 1 0
2T  5T 
1 4
  s 2 c 2 0 0   s5 c5 0 0
   
 0 0 0 1   0 0 0 1
 c3  s3 0 a2   c 6  s 6 0 0
   
 s c 0 0   0 0 1 0
3T  6T 
2 3 3 5
 0 0 1 d3    s 6 c 6 0 0
   
 0 0 0 1   0 0 0 1

10, 17 & 20 - Sep-18 MEE1030 – Robotics 45


Example: Puma 560

0
6 T 10 T 12 T 32 T 34 T 54 T 56 T r11  c1[c23 (c5c6  s4 s5 )  s23 s5c5 ]  s1 ( s4c5c6  c4 s6 ),
 r11 r12 r13 pX  r21  s1[c23 (c4 c5c6  s4 s6 )  s23 s5c6 ]  c1 (s4c5c6  c4 s6 ),
  r31   s23 (c4 c5c6  s4 s6 )  s23 s5c6 ,
 r21 r22 r23 pY 

 r31 r32 r33 pZ  r12  c1[c23 (c4c5c6  s4c6 )  s23 s5c6 ]  s1 (c4c6  s4c5 s6 ),
 
0 0 0 1  r22  s1[c23 (c4c5 s6  s4c6 )  s23 s5 s6 ]  c1 (c4c6  s4c5 s6 ),
With : r32   s23 (c4 c5 s6  s4 c6 )  c23 s5 s6 ,
p X  c1[a2c2  a3c23  d 4 s23 ]  d3 s1 , r13  c1 (c23c4 s5  s23c5 )  s1s4 s5 ,
pY  s1[a2c2  a3c23  d 4 s23 ]  d3c1 , r23   s1 (c23c4 s5  s23c5 )  c1s4 s5 ,
pZ  a3 s23  a2 s2  d 4c23 , r33  s23c4 s5  s23c5 .

10, 17 & 20 - Sep-18 MEE1030 – Robotics 46


Inverse Kinematics

• We now want to compute the set of joint variables,


given the desired position and orientation of the tool
relative to the station.
• The problem is non-linear:
0
given n T , find the values of θ1,…,θn .
These equations can be non-linear, transcendental.

10, 17 & 20 - Sep-18 MEE1030 – Robotics 47


Inverse Kinematics

• Consider the PUMA 560:


0
• Given the matrix 6 T, solve PUMA 560’s kinematics
equations for the joint angles θ1 through θ6.
• We get 3 independent equations from the rotation-
0
matrix part of 6 T and 3 equations from the position-
vector part of 0
6T
.
• Thus: 6 nonlinear, transcendental equations and 6
unknowns, and this for a “very simple” 6 DOFs
manipulator!

10, 17 & 20 - Sep-18 MEE1030 – Robotics 48


Multiple solutions

10, 17 & 20 - Sep-18 MEE1030 – Robotics 49


Solvability and robot workspace

• Primary or Reachable workspace: set of all positions


p that can be reached with at least one orientation
• Secondary or Dexterous workspace: set of positions
p that can be reached with any orientation (among
those feasible for the robot direct kinematics)

20-Sep-18 MEE1030 – Robotics 50


Solvability

• A necessary condition for a closed-form solution of


a 6-axis robot is that the three wrist axes intersect at
a single point.
• This means that motion of the wrist joints only
changes the end-effector orientation, not its
translation.
• Such a mechanism is known as a spherical wrist and
almost all industrial robots have such wrists.

20-Sep-18 MEE1030 – Robotics 51


Velocities
Differential Motion

20-Sep-18 MEE1030 – Robotics 52


Example

20-Sep-18 MEE1030 – Robotics 53


Kinematic Singularity

• The End-effector Locality loses the ability to move


in a direction or to rotate about a direction - singular
direction

20-Sep-18 MEE1030 – Robotics 54


Example

20-Sep-18 MEE1030 – Robotics 55

You might also like