WEEK 4: ROBOTICS
PROF. (DR.) DILIP KUMAR PRATIHAR
MECHANICAL ENGINEERING DEPARTMENT, IIT KHARAGPUR
1
Topic 2: Robot Kinematics
PROF. (DR.) DILIP KUMAR PRATIHAR
MECHANICAL ENGINEERING DEPARTMENT, IIT KHARAGPUR
2
Example 2
3
Example 2
4
Forward Kinematics
5
6
7
8
9
Inverse Kinematics
10
11
12
13
14
15
An Example Z2 Z3
c
X2 X3
Y2 Y3
b Y1
Z1
X1
a Z0 Y0
X0
16
D-H parameters’ table:
Frame 𝜽𝒊 𝒅𝒊 𝜶𝒊 𝒂𝒊
1 𝜽𝟏 a* 0 0
2 0 b -90 0
3 𝜽𝟑 0 0 c
a*: fixed offset
17
Another Example Z2
c
Z3
X2 X3
Y2 Y3
b Y1
Z1
X1
a Z0 Y0
X0
18
D-H parameters’ table:
Frame 𝜽𝒊 𝒅𝒊 𝜶𝒊 𝒂𝒊
1 0 a 0 0
2 𝜽𝟐 b* -90 0
3 𝜽𝟑 0 0 c
b*: fixed offset
19
TOPIC 3: TRAJECTORY PLANNING
PROF. (DR.) DILIP KUMAR PRATIHAR
MECHANICAL ENGINEERING DEPARTMENT, IIT KHARAGPUR
20
Aim: To determine time history of position, velocity and
acceleration of end-effector of a manipulator, while moving from
an initial position to a final position through some
intermediate/via points.
21
Points Cartesian scheme Joint-space scheme
S (XS,YS) (θ1S, θ2S)
1 (X1,Y1) (θ11, θ21)
2 (X2,Y2) (θ12, θ22)
3 (X3,Y3) (θ13, θ23)
G (XG,YG) (θ1G, θ2G)
22
Trajectory Planning
Cartesian scheme Joint-space scheme
•Computationally expensive,
as inverse kinematics problem
has to be solved, on-line
23
Joint-Space Scheme
•To fit a smooth (continuous) curve through (θ1S, θ11, θ12, θ13, θ1G)
•First and second order derivatives must be continuous.
Various Trajectory Functions
•Cubic polynomial
•Fifth-order polynomial
•Linear trajectory function
24
POLYNOMIAL TRAJECTORY FUNCTION
Case-1
,
Initial and final values of joint angle are known, and angular
velocities at the beginning and end of the cycle are kept equal to
zero.
θf At t ti 0; i , & 0
At t t ; , & 0
f f
θ
θi
ti=0 tf t
25
Let us consider cubic polynomial
(t ) C0 C1t C2t 2 C3t 3
where C0 , C1, C2 , C3 are the coefficients.
Differentiate with respect to time to get angular velocity
&(t ) C1 2C2t 3C3t 2
26
Apply the initial conditions to angular displacement
and velocity equations. We get,
C0 i
C1 0
C0 C1t f C2t 2f C3t 3f f
C1 2C2t f 3C3t 2f 0
Solving above equations, We get
(t) i 3(t ) t 2 2(t ) t 3
f
2
i f
3
i
f f
27
Case-2
Initial and final values of joint angle are known and angular
velocities at the beginning and end of the cycle are assumed to
have non zero values.
At t ti 0; i , i
& &
At t t f ; f , & &f
Let us consider a third order polynomial of the form:
(t) C0 C1t C2 t 2 C3t 3
where C0 , C1, C2 , C3 are the coefficients.
28
Differentiate with respect to time to get angular velocity
&(t ) C1 2C2t 3C3t 2
Apply the initial conditions to angular displacement and
velocity equations. We get,
C0 i
C1 &
i
C0 C1t f C2t 2f C3t 3f f
C1 2C2t f 3C3t 2f &f
29
Solving above equations, We get
C0 i ,
C1 &
i,
3( f i ) 2 & 1 &
C2 i f ,
t 2f tf tf
2( f i ) 1 & &
C3 ( f i ).
t 3f 2
tf
30
Case-3
Initial and final values of joint angle are known and angular
velocities and accelerations at the beginning and end of the cycle
are assumed to have non zero values.
At t ti 0; i , & & i , i
&
& & &
At t t f ; f , & &f , & & &
&
f
Let us consider a fifth-order polynomial as follows:
(t) C0 C1t C2t 2 C3t3 C4t 4 C5t 5
where C0 , C1, C2 , C3 , C4 and C5 are the coefficients.
31
Differentiate with respect to time once to get angular
velocity and twice to get angular acceleration
32
Apply the initial conditions to angular displacement, velocity
and acceleration equations. We get,
33
Solving above equations, We get
C0 i ,
.
C1 i ,
..
C2 1
2 i . . .. ..
20( f i ) (8 f 12 i )t f (3i f )t f2
C3 2t3f
. . .. ..
30( i f )(14 f 16 i )tf (3i 2f )tf2
C4 2t f4
. . .. ..
12(f i ) 6(f i )t f (i f )t f2
C5
2t 5f
34
A Numerical Example
• A single-link robot with a revolute joint is motionless at θ = 20⁰.
It is desired to move the joint in a smooth manner to θ = 80⁰ in
4.0 seconds. Find a suitable cubic polynomial to generate this
motion and bring the manipulator to rest at the goal.
Solution:
cubic polynomial
(t ) C0 C1t C2t 2 C3t 3 ------- (1)
35
Conditions:
At time t ti 0,
i 20o ,
& 0;
At time t t f =4.0 s,
f 80o ,
& 0;
36
3( f i ) 2( f i )
(t ) i t2 t3
t 2f t 3f
3(80 20) 2 2(80 20) 3
20 2
t 3
t
(4.0) (4.0)
20 11.25t 2 1.875t 3
37
LINEAR TRAJECTORY FUNCTION
f
i
ti 0 tf t
(Pure Linear Trajectory Function)
Note: Infinite acceleration and declaration.
38
(Modified Linear trajectory function with
parabolic blends)
39
A Numerical Example
• A linear trajectory function with parabolic blends at its two
ends is to be obtained to satisfy the following conditions given
below. At time t ti 0,
i 20.0o ,
& 0.0;
At time t t f =12.0 s,
f 74.0o ,
& 0.0;
40
Total cycle time tc = tf - ti =12.0 s
Time duration at each of the blend portion tb =3.0 s
Magnitude of acceleration/deceleration
&
& 2.0 degree/s2
Determine angular displacement and velocity at two junctions of
parabolic blends with the straight portion of trajectory function.
41
Solution:
At point A
Angular displacement
1 1
A i &
& tb2 20.0 (2.0) (3.0)2
2 2
29.0o
42
Angular velocity
&
A i tb 0.0 2.0 3.0
& & &
6.0 degree/s
At point B: From the symmetry of the trajectory function,
f B A i
74.0 B 29.0 20.0
B 65.0o
43
Angular velocity in the linear portion of trajectory function
B A
t f 2tb
65.0 29.0 36.0
6.0 degree/s
12.0 2 3.0 6.0
To maintain continuity of the trajectory function at point B, &B
Should be equal to the velocity of the linear portion, that is,
6.0 degree per second.
44
SINGULARITY CHECKING THROUGH JACOBIAN
Let us consider six functions and each of which is a function of six
Independent variables.
y1 f1 (x1 , x 2 , x3 , x 4 , x5 , x 6 )
y2 f2 (x1 , x 2 , x3 , x 4 , x 5 , x 6 )
:
:
y6 f6 (x1 , x 2 , x3 , x 4 , x 5 , x 6 )
In vector notation: Y F(X)
45
Now,
f1 f f
y1 x1 1 x2 .... 1 x6
x1 x2 x6
f f f
y2 2 x1 2 x 2 .... 2 x6
x1 x2 x6
:
:
f6 f f
y6 x1 6 x 2 .... 6 x 6
x1 x2 x6
46
In vector notation: Y J(X)X
where J(X) is Jacobian.
f1 f1 f1
x ....
x2 x6
1
f 2 f 2 f 2
x ....
1 x2 x6
J .
.
f 6 f 6 f 6
....
x1 x2 x6
47
Now,
Y X
lim lim J(X)
t 0 t t 0 t
Y & J(X)X
&
In Robotics,
V J()&
Joint
Cartesian
Velocity
Velocity Jacobian
48
TWO DOF SERIAL MANIPULATOR
Px L1 cos 1 L2 cos(1 2 )
Px
L1 sin 1 L2 sin(1 2 )
1
Px
L2 sin(1 2 )
2
Py L1 sin 1 L2 sin(1 2 )
Py
L1 cos 1 L2 cos(1 2 )
1
Py
L2 cos(1 2 )
2
49
L1S1 L2S12 L2S12
Jacobian J()
L1C1 L2C12 L2C12
Now, & J1 () V
J1 () should exist, that is, J() 0
For Singularity Checking
J() 0
L1 L 2 S2 0
Now,
L1 0,L2 0,
S2 0
51
So,
2 00 or 1800
When
2 00 ; Fully- Stretched
2 1800 ; Folded-back Situation
52