Chapter4 - Engineering Academic Society

advertisement

MT411

Robotic Engineering

Chapter 4

Forward Kinematics

Narong Aphiratsakun, D.Eng

Asian Institution of Technology (AIT)

Forward Kinematics

Kinematics is a description on motion of the manipulator without consideration of the forces and torques which cause the motion.

Forward kinematic is to determine the position and orientation of the end effector given the values for the joint variables of the manipulator.

Kinematics Chains

Robot manipulator is composed of a set of links connected by joints .

A robot manipulator with n joints will have n+1 links.

Joint is number from 1 to n.

Links is number from 0 to n (0 is base).

Therefore joint i connects link i-1 to link i .

When joint i is actuated, link i moves, link 0 is fixed.

2 Links manipulator

Determine the position and orientation of the end effector in term of joint variables.

1

1 cos

1 sin

1

L

2

L

2 cos(

 

1

2 sin(

 

1

2

)

)

R

2

0 

.

.

2 0 2 0

.

2 0 2 0

  cos sin x x

2 0

 cos( y x

2 0

 

2

) sin(

 

1

2 x y

2 0

 sin(

 

1

2 y y

2 0

 cos(

 

1

2

)

)

)

  

1

 

1

2

2

 sin cos

  

1

2

 

 

1

2

2 Links manipulator

R

1

0

 cos

 sin

 

 

0

0

 sin cos

0

0

R

2

1 A

 cos

 sin

0

0

 sin cos

0

0

0 0

0 0

1 0

0 1

0 0

0 0

1 0

0 1

R

0

2 A

R R R R

2

2 A

R

1

1

A

1 0 0

 0 1 0 a

0

1

0

0

0

0

1

0

0

1

R

2

2

A

1 0 0

 0 1 0 a

0

2

0

0

0

0

1

0

0

1

R

0

2 A

[ cos(theta1)*cos(theta2) - sin(theta1)*sin(theta2), - cos(theta1)*sin(theta2) cos(theta2)*sin(theta1), 0, L2*(cos(theta1)*cos(theta2) - sin(theta1)*sin(theta2)) +

L1*cos(theta1) ; cos(theta1)*sin(theta2) + cos(theta2)*sin(theta1), cos(theta1)*cos(theta2) sin(theta1)*sin(theta2), 0, L2*(cos(theta1)*sin(theta2) + cos(theta2)*sin(theta1)) +

L1*sin(theta1) ;

0, 0, 1, 0;

0, 0, 0, 1]

2 Links manipulator

R

0

2 A

The Denavit-Hartenberg (DH) Convention

It is possible to carry out forward kinematics analysis as we did for 2 links manipulator. However, the kinematic analysis of an n-link manipulator can be extremely complex and the Denavit-Hartenberg (DH) simplify the analysis. This DH is a universal language with which engineer can communicate.

a i

: link length

 i

: link twist d i

: link offset (prismatic joint)

 i

: joint angle (revolute joint)

**Assign z i to be the axis of actuation for joint i+1.

The Denavit-Hartenberg (DH) Convention

DH1: the axis x

1 is perpendicular to the axis z

0

.

DH2: the axis x

1 intersects the axis z

0

.

The Denavit-Hartenberg (DH) Convention

DH1: the axis x

1 is perpendicular to the axis z

0

.

DH2: the axis x

1 intersects the axis z

0

.

The Denavit-Hartenberg (DH) Convention

DH1: the axis x

1 is perpendicular to the axis z

0

.

DH2: the axis x

1 intersects the axis z

0

.

The Denavit-Hartenberg (DH) Convention a i

: distance between axes z i and z i+1

, and measured along the axis x i

.

 i

: angle between axes z i and z i+1

, and measured in a plane normal to x i

.

d i

: distance from origin to the intersection of the axis x i+1 measured along the axis z i

.

 i

: angle from x i to x i+1

, and measured in a plane normal to z i

.

with z i

, and

The Denavit-Hartenberg (DH) Convention a: distance between axes z

0 and z

1

, and measured along the axis x

1

.

: angle between axes z

0 and z

1

, and measured in a plane normal to x

1

.

d : distance from origin O

0 measured along the axis z

0

.

to the intersection of the axis x

1 with z

0

, and

: angle from x

0 to x

1

, and measured in a plane normal to z

0

.

The Denavit-Hartenberg (DH) Convention

DH Examples : 2 links manipulator link1 a

1

(distance between axes z

0 axis x

1

) : a

1 and z

1

, and measured along the

1

(angle between axes z

0 normal to x

1

) : 0 and z

1

, and measured in a plane d

1

(distance from origin O

0 to the intersection of the axis x

1 with z

0

, and measured along the axis z

0

) : 0

1

(angle from x

0 z

0

) :

1

* to x

1

, and measured in a plane normal to link2 a

2

(distance between axes z

1 axis x

2

) : a

2 and z

2

, and measured along the

2

(angle between axes z

1 normal to x

2

) : 0 and z

2

, and measured in a plane d

2

(distance from origin O

1 to the intersection of the axis x

2 with z

1

, and measured along the axis z

1

) : 0

2

(angle from x

1 z

1

) :

2

* to x

2

, and measured in a plane normal to

DH Examples : 2 links manipulator

DH Examples : 2 links manipulator

DH Examples : RRR

*: denote variables

DH Examples : RRR

A

1

 

 cos

 sin

0 

 0

 

 

 cos sin

 

A

2

A

3

0

0

 

 cos

 sin

0 

 0

 

T

3

0

A A A

1 2 3 cos

0

0

 sin cos

0

0

 sin cos

0

0

 sin

0

0

1

0

0

0

1

0

0

0

1

0

L

1

L

1 cos sin

0

1

 

 

L

2 cos

L

2 sin

0

1

L

3 cos

L

3 sin

0

1

DH Examples : RRR

T

0 

3

DH Examples : RPP

*: denote variables

DH Examples : RPP

T

0 

3

DH Examples : RPR

*: denote variables

DH Examples : RPR

T

0 

3

2 links manipulator (MATLAB)

DH Examples : 2 links manipulator (MATLAB)

Manipulate by MATLAB with DH formula

T02 =

[ cos(theta1)*cos(theta2) - sin(theta1)*sin(theta2), - cos(theta1)*sin(theta2) cos(theta2)*sin(theta1), 0, L1*cos(theta1) + L2*cos(theta1)*cos(theta2) -

L2*sin(theta1)*sin(theta2) ; cos(theta1)*sin(theta2) + cos(theta2)*sin(theta1), cos(theta1)*cos(theta2) sin(theta1)*sin(theta2), 0, L1*sin(theta1) + L2*cos(theta1)*sin(theta2) +

L2*cos(theta2)*sin(theta1) ;

0, 0, 1, 0 ;

0, 0, 0, 1 ]

DH Examples : 2 links manipulator (Robotics Toolbox)

Manipulate by MATLAB with DH formula by Robotics Toolbox

Plot of 2 links manipulator (MATLAB)

:

:

Plot of 2 links manipulator (MATLAB)

Plot by Robotics Toolbox (MATLAB)

Plot by Robotics Toolbox (MATLAB)

Assignment: 1

Q1. With the given reference [x

0

(T) for following cases.

, y

0

, z

0

] and P

0

= [0, 0, 0], obtain the transformation matrix

Note: You should draw all the frames when rotating and translating is performed.

Y

0

X

0

Z

0 a). 1: rotate in z-axis by 90  , 2: translate in y-axis by 2 unit, and 3: rotate in x-axis by -

90  . Draw final frame compare with reference frame when transformation is performed.

b). 1: rotate in y-axis by -90  , 2: translate in y-axis by -2 unit, and 3: rotate in z-axis by

90  . Draw final frame compare with reference frame when transformation is performed.

c). Obtain results for a) and b) by testing with a point [0, 2, 0].

Assignment: 1

Q2. Check your result a. Q1a) and Q1b) with MATLAB manipulation.

b. Plot Q1c) final point compare with origin frame with MATLAB.

Assignment: 2

Q1. 3 Links planer robot is given. Plot 3 links planer robot with MATLAB.

With L1 = 1, L2 = 2, and L3 = 3.

Y

2

Y 1

Y

0

1

X 1

X

0

L

2

2

X

2

Y

3

3

X

3

L

3

P

L

1

Assignment: 3

Q1. Compute DH parameters for examples RPP and RPR. Get the rotation matrices.

Q2. Compute DH parameters for examples RPP and RPR by MATLAB.

Q3. Compute DH parameters for examples RPP and RPR by MATLAB Robotic Toolbox.

Assignment: 4. Puma560 (up to frame 3)

Q1 a. Compute DH parameters for Puma560.

b. Compute transformation matrix from frame 0 to frame 3.

Q2 a. Compute DH parameters for Puma560 with Robotic toolbox.

b. Draw the Puma560 in links with Robotics Toolbox.

Assignment: 4. Puma560

Download