Sei sulla pagina 1di 50

ROBT401: Robot Dynamics and Control

Manipulator Kinematics
Instructor: Dr. Ing. Michele Folgheraiter

ROBT401: Robot Dynamics and Control

Topics
Topics to Cover
Direct Kinematics Problem Definition

Link Description
Affixing Frames To Links
Denavit-Hartenberg ai ,i ,di,i (Modified Craig Conven5on)
PUMA 560 Direct Kinematics Model
Yasukawa Motoman L-3 Direct Kinematics Model

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

ROBT401: Robot Dynamics and Control

Course Logistic
To Remember:
-

Today HW2 is assigned and it is due on 23rd of September at 22:00.

Next Wednesday 21st of September QUIZ 2

Friday 7th of October MIDTERM EXAM

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

ROBT401: Robot Dynamics and Control

Manipulator Kinematics
Kinematics studies the position, the velocity, the acceleration and the higher order
derivatives of the robot parts without considering the forces/moments that caused the
motion.
Kinematics considers the geometry of the manipulator (e.g. dimensions of the links, kind of
joints, configurations) and the time-based properties of the motion (e.g. linear and angular
velocities of the end-effector, manipulator Jacobian).

Direct Kinematics Problem: given a specific


manipulator compute the position and orientation
of the manipulators end-effector relative to the
{base} as a function of the joints variables.
Base
! B $ !
Tool R
P
#
#
&=
#" 1 &% # 0 0 0
"

Nazarbayev University

Base

PTORG
1

$!
$
T
&# P &
&#" 1 &%
%

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

ROBT401: Robot Dynamics and Control

Manipulator Kinematics
The manipulators we will consider are open kinematic chains: set of bodies (links)
connected in a chain by mechanisms (joints) that allow some DOF between the two bodies
they connect.
We will consider lower pair connections between the links: the relative motion of one link
respect to the other is characterized by two surfaces sliding reciprocally.

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

ROBT401: Robot Dynamics and Control

Manipulator Kinematics
Obs.1: Constructors of manipulators prefer to design the system allowing only 1-DOF for
each joint (normally revolute or prismatic).

Revolute

Prismatic

Obs.2: In the case we have a joint with n-DOFs we can always model it as n joints with
1-DOF each connected with n-1 links having zero-dimensions.

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

ROBT401: Robot Dynamics and Control

Manipulator Kinematics
Example of a joint with 3DOFs: Maximum-One shoulders joint.

7 Artificial Muscles
Shoulder: 3-DOFs
Elbow: 1-DOF

Maximum-One
(Politecnico Di Milano 2004)
Nazarbayev University

Dr. Ing. Michele Folgheraiter

Arm weight: 0.5 Kg


Load: 1Kg
Academic year 2016-2017

ROBT401: Robot Dynamics and Control

Maximum One Actuation System


Supraspinatus-Sub-scapularis

...
Deltoid

Biceps- Triceps

Pectorals-Dorsal

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

ROBT401: Robot Dynamics and Control

Link Description Serial Kinematics (Craig Convention)


Let us consider a manipulator having n-joints with 1-DOF each, to number links and joints
we can use this convention:

- Links are numbered from the base


of the robot, that is Link 0

- We start from the first moving


body of the robot that is Link 1 till
reach the free-end of the robot that
is Link n

- The Joint i (Axis i) connects


Link i-1 and Link i
- The Joint i moves Link i
relative to Link i-1
Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

ROBT401: Robot Dynamics and Control

Link Description Serial Kinematics (Craig Convention)


Link Length: given the two axis Axes i-1 and Axis i the distance ai-1 is measured along the
line that is perpendicular to both of them.

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

10

ROBT401: Robot Dynamics and Control

Link Description
Link Twist: the second parameter we need in order to describe the relative position of two
consecutive axes is the angle i-1 between the projections of the two axes on a plane which
normal is the mutual perpendicular of the two axes.

Obs1.: this angle is measure positive


from Axis i-1 to Axis i about a vector
that has the same direction of
the
perpendicular to the plane and sense
from from Axis i-1 to Axis i.

Obs2.: if Axis i-1 and Axis i are


intersecting, we consider as a plane the
one that contains both axes. In this case
ai-1=0 and the sign of i-1 can be
assigned arbitrarily.

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

11

ROBT401: Robot Dynamics and Control

Link Description
Example15: find the lengths and the twist angles of the following links.

Link i-1
Joint i

Joint i-1

800mm

Link i-1
Joint i

Joint i-1

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

12

ROBT401: Robot Dynamics and Control

Links-Connection Description
Let us now consider two consecutive links: Link i-1 and Link i :

Link offset: given the common Axis i between Link i-1 and Link i the link offset di is the
signed distance between the two points obtained from the intersection of ai-1 and ai with
Axis i. For a prismatic joint this represents the joint variable, otherwise it is a constant.
Joint angle: this is the angle i between ai-1 and ai and defined about the Axis i. It
represents the joint variable in case of a revolute joint, otherwise it is a constant.
Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

13

ROBT401: Robot Dynamics and Control

Links-Connection Description
Obs1.: At the beginning and at the end of the kinematic chain by convention we assume
a0=an=0 and 0=n=0. While for i=1:n-1 ai and i are well defined.
- If joint 1 (or joint n) is a revolute joints the
zero position for 1 can be chosen arbitrarily,
and as convention we choose d1=0 (or dn=0).
- If joint 1 (or joint n) is prismatic the zero
position for d1 can be chosen arbitrarily, and as
convention we choose 1=0 (or n=0 ).
Denavit-Hartenberg (DH) Notation (1955)
Each Link i has associated 4 quantities: ai , i ,
di , i . For a revolute joint i is the variable
and the other three the link parameters. For a
prismatic joint di is the variable and the other
three the link parameters.

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

14

ROBT401: Robot Dynamics and Control

Affixing Frames To Links


We assume that each Link i has associated a frame {i} that is rigidly connected with it.
^
0) At first we bring the robot in the home position: this particular configuration is normally
(not always) chosen by the constructor in a way that the weight of the links apply as less
torque as possible on the joints. This is the configuration we choose for the robot to have all
the joints position equal to zero.

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

15

ROBT401: Robot Dynamics and Control

Affixing Frames To Links (Convention)


^

1) We attach a frame {0} to the base of the robot that corresponds to the Link 0.
It can be arbitrarily located on the base of the robot. However, to simplify the model it is
better to make Z0 coincide with Z1 , this will set a0=0 and 0=0. Even better is to choose
{0} to overlap with {1} when the Joint 1 position is zero, this will also guaranty that d1=0
(for a revolute joint) or 1=0 (for a prismatic one).
Obs1.: Frame {0} does not move and can be considered as the absolute reference system for
our model (the inertial frame, the universe frame).

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

16

ROBT401: Robot Dynamics and Control

Affixing Frames To Links (Craig Convention)


2) For i=1:n-1 (Link 1 to Link n-1) we rigidly connect a frame {i} to the links such as:
^
2.1) The Z-axis of frame {i}, Zi , is coincident with the axis of joint i (Axis i) .
2.2) The origin of frame {i} is located where the perpendicular ai intersects Axis i.
^
2.3) Xi has the direction coincident with ai and positive sense from Axis i to Axis i+1.

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

17

ROBT401: Robot Dynamics and Control

Affixing Frames To Links (Convention)


^
^
^
Obs1.: If ai=0 we choose Xi as the normal to the plane defined by the axes Zi and Zi+1, in
^
this case we have two possible senses for Xi and two correspondent signs for i . We choose
^
^ and Z
the origin of {i} as the intersection point between Z
.
i+1

Zi
Yi

X i

Link i

Zi+1

Joint i

Joint i+1
^ ^ ^
^ ^
Obs2.: If ai=0 a possible convention is to calculate the axis Xi= Zi x Zi+1/|| Zix Zi+1|| or to
choose the more convenient orientation among the two possible.
^
^ and Z
Obs3.: if Z
i
i+1 are parallel choose as the origin of frame {i} the one that sets di=0;
2.4) Yi is formed with the right-hand rule, i.e. {i} is a right-handed frame.

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

18

ROBT401: Robot Dynamics and Control

Affixing Frames To Links (Craig Convention)


3) We attach a frame {n} to Link n such as:
^
^
3.1) If joint n is revolute the direction of Xn is chosen so that it aligns with Xn-1 when n=0.
The origin of frame {n} is chosen so that the parameter dn=0.
^
3.2) If joint n is prismatic the direction of Xn is chosen so that the parameter n=0. The
^
origin of frame {n} is chosen at the intersection of X
n-1 and the joint Axis n (Zn) when
dn=0.

Zn
Zn1
Link n-1

X n1

Link n

X n
Joint n

Link n

Zn1
Link n-1

X n1

X n
Joint n

Joint n-1

Nazarbayev University

Zn

Joint n-1

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

19

ROBT401: Robot Dynamics and Control

Summary of link DH-parameters


Axis i+1

Zi+1

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

20

ROBT401: Robot Dynamics and Control

Summary of link parameters


Link attachment procedure:
^
1) Assign the Zi axis coinciding with the mechanical axis of the Join i
^
^
2) Identify the common perpendicular between two consecutive axes Zi and Zi+1 and the
^
origin of {i} by intersecting the common normal with Zi
^ axis along the common perpendicular and with positive sense from Joint i
3) Assign the X
i
to Joint i+1.
^
4) Assign the Yi axis to complete a right-handed coordinate system.
5) Assign {0} to match {1} when the first joint variable is zero (1=0 for a revolute joint or
^ such as to
d1=0 for a prismatic joint). Choose the origin of frame {N} and the axis X
N
simplify the model (or the most convenient one for the task at hand).
Obs1: Even if we follow this convention we have different possible solutions to attach the
frames (e.g. always two directions possible for Z^i , if Z^i and Z^i+1 intersect, two possible
^ ), and therefore different possible sets of DH parameters.
directions for X
i
Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

21

ROBT401: Robot Dynamics and Control

Affixing Frames To Links


Example 16: Affix the frames on the links of the RR planar manipulator and find the DH
parameters.

Joint i

i-1

ai-1

di

1
2
Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

22

ROBT401: Robot Dynamics and Control

Affixing Frames To Links


Example 17: Affix the frames on the links of the RRR manipulator and find the DH
parameters.
Joint i
i-1
ai-1
di
i
1
2
3

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

23

ROBT401: Robot Dynamics and Control

Affixing Frames To Links


Example8: Affix the frames on the links of the PRP manipulator and find the DH
parameters.

Joint i

i-1

ai-1

di

1
2
3
Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

24

ROBT401: Robot Dynamics and Control

Course Logistic
To Remember:
-

This Friday HW3 will be assigned and it is due on 7th of October at 22:00.

Friday 7th of October MIDTERM EXAM during lecture time 60min, (arrive 5 min
before lecture time): 3 questions, 2 exercises.

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

25

ROBT401: Robot Dynamics and Control

Derivation of the Link Transformations

i-1

iT

We want to derivate the homogeneous transform that defines the frame {i} relative to
frame {i-1}.

i1
i

T = i1iT ( i )

i1
i

T = i1iT (di )

Obs1.: Assuming that each joint has only 1DOF the transform matrix will be a function of
only one variable (i for a revolute joint, or di for a prismatic joint) and will depend on three
constant parameters.
Obs2.: We can obtain this transformation decomposing it in four different elementary
transformations: 2 translations + 2 rotations.
Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

26

ROBT401: Robot Dynamics and Control

Derivation of Link Transformations

i-1

iT

We define three intermediate frames {R}, {Q} and {P} such as:
0: {i-1} : initial frame

^
1: {R} : this frame is rotated of i-1 degrees about axis Xi-1
^
2: {Q} : this frame is translated of ai-1 along X
R
^
3: {P} : this frame is rotated of i degrees about ZQ

^
4: {i} : this frame is obtained from {P} translating of di along ZP

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

27

ROBT401: Robot Dynamics and Control

Derivation of Link Transformations

i-1

iT

We are performing relative transformations so we use the post-multiplication rule:

And as fundamental transformations (functions of the 4-DH-parameters):

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

28

ROBT401: Robot Dynamics and Control

Manipulator Forward Kinematics


Once we have defined all the links frames and the relative transformations, the forward
kinematic model that relates frame {N} to frame {0} is calculated as:
{3}

{2}
Link 2

{0}

j3

j2

{N}

jN

Link N

{N+1}

{1}
j1

Link 0
Obs1.: this transformation is a function of all the n joint variables and represents the
position and orientation of frame {N} relative to frame {0}.
0
N
Nazarbayev University

T = N0T (1,..., N )

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017


29

ROBT401: Robot Dynamics and Control

Actuator Space Joint Space Cartesian Space


Joint Space: this is the space generated by all n-by-1 joint vectors:

= [ 1, 2 ,..., N ]

Cartesian Space: this is the space where the position and the orientation of each robots
link is represented. Sometimes, it is also referred as Task-oriented Space or Operational
Space.
Actuator Space: this is the space defined by the actuators positions:

A = [ A1, A2 ,..., AJ ]

j2
A1
j1

j1

Link 0

Link 0

Nazarbayev University

Dr. Ing. Michele Folgheraiter

A1

Academic year 2016-2017

30

ROBT401: Robot Dynamics and Control

Actuator Space Joint Space Cartesian Space


We can represent the pose (position + orientation) of a manipulator by using one of this
three representations.
Inverse Mapping

Direct Mapping
Forward Kinematic Model: Maps an actuator position vector to a joint position vector
and finally to a homogeneous transform matrix (position and orientation).
Obs1.: To plan the motion of a manipulator some times it is convenient to work in the
Cartesian Space , others will be more effective to work directly in the Joint or the Actuator
Spaces.
Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

31

ROBT401: Robot Dynamics and Control

Kinematics PUMA 560 (Unimation, 1980)


The PUMA 560 is an articulated manipulator which has 6-axes (6 revolute joints):
RRRRRR. The series 500 started to be produced by UNIMATION in 1983.
The Arm: consists of a shoulder with 2 DOFs
and an elbow with 1 DOF.

1DOFs
Elbow
J3

J2

The Wrist: consists of three axes that intersect


in a single point, this allows to control the
orientation of frame {6} relative to frame {0}
independently from its position (origin) when
Joint 1, Joint 2, Joint 3 are fixed.

J1
3DOFs Wrist

2DOFs
Shoulder

J4
J5
J6

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Wrist

Academic year 2016-2017

32

ROBT401: Robot Dynamics and Control

Kinematics PUMA 560 (Unimation, 1980)

Manipulator

Axes Controller

Teach Pendant

Terminal
Variable
Assembly
Language

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

33

ROBT401: Robot Dynamics and Control

Kinematics PUMA 560 (Workspace)


Top view

320

Lateral view

Nazarbayev University

Dr. Ing. Michele Folgheraiter

AXES:
ACTUATION:
REACH:
WEIGHT:
CAPACITY:

6
DC motors
878 mm
54 Kg
2.2 Kg

CONTROLLER
WEIGHT:

176 Kg

Academic year 2016-2017

34

ROBT401: Robot Dynamics and Control

Kinematics PUMA 560 (Unimation)


Example 19:

Joint i

i-1

ai-1

di

a3

1
2
3

d4

4
5
6
Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

35

ROBT401: Robot Dynamics and Control

Kinematics PUMA 560 (Unimation)


Now that we have the DH parameters we can obtain the 6 transform matrixes:

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

36

ROBT401: Robot Dynamics and Control

Kinematics PUMA 560 (Unimation)

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

37

ROBT401: Robot Dynamics and Control

Kinematics PUMA 560 (Unimation)


Using the post-multiplication rule:

0
6

0
1

1
2

2
3

3
4

4
5

5
6

T= T T T T T T

If we start to multiply the last two matrixes:

Then we calculate:

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

38

ROBT401: Robot Dynamics and Control

Kinematics PUMA 560 (Unimation)


Joint 2 and Joint 3 are always parallel so if we multiply first the matrixes 12T 23T and we
use the sum of angles formulas we simplify the calculations:

0
6

0
1

1
2

2
3

3
4

4
5

5
6

T= T T T T T T

" c c s s
c2 s3 s2 c3
$ 2 3 2 3
0
0
$
1 2
T
T
=
2 3
$
$ s2 c3 c2 s3 s2 s3 c2 c3
$#
0
0

Nazarbayev University

a2 c2 %
'
1
d3 '
'
0 a2 s2 ' c( + ) = c( )c( ) s( )s( )
'& s( + ) = c( )s( ) + s( )c( )
0
1
0

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

39

ROBT401: Robot Dynamics and Control

Kinematics PUMA 560 (Unimation)


1
3

0
6

0
1

1
2

2
3

3
4

4
5

5
6

T= T T T T T T

3
6

1
6

We can calculate:

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

40

ROBT401: Robot Dynamics and Control

Kinematics PUMA 560 (Unimation)


And finally we can calculate the overall matrix 06T as:

0
6

0
1

1
2

2
3

3
4

4
5

5
6

T= T T T T T T
]

1
6

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

41

ROBT401: Robot Dynamics and Control

Kinematics Yasukawa Motoman L-3


The Yasukawa Motoman L-3 is an industrial manipulator with 5-axis (5DOFs). Overall,
the robot behaves as an open kinematic chain. However, if we look at the actuation system
(Actuator-Space) we discover that:
- Joint 2 and Joint 3 are coupled with a four-linkages
mechanism actuated by two linear actuators.
- Joint 4 and Joint 5 are actuated by a chain drive. In
particular, the two actuators that move the joints are
located near the robots base.
Obs1.: To solve the forward kinematics of this
manipulator we will proceed in two steps:
1) First, we will solve for joint angles from actuator
positions (Actuator-Space Joint-Space).
2) Second, we will solve for Cartesian position and
orientation of the last link from joint positions (JointSpace Cartesian-Space).

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

42

ROBT401: Robot Dynamics and Control

Kinematics Yasukawa Motoman L-3


The linear actuator 2 effects the Link 2 and the Link 3 of the robot:
- Actuator 2 control the length of the segment DC,
the triangle ABC and the segment BD are fixed in
length.

Joint 3

Link2

Obs1.: When the actuator 2 changes its position


Link 2 rotates about Joint 2. However, if meanwhile
the actuator 3 keeps its position, actuator 2 will also
effect the relative position of Link 3 (with respect of
Link 2) that will rotate about Joint 3.
Joint 2

Lets call the constants:

Link1
Joint 1
Link0

and the variables:

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

43

ROBT401: Robot Dynamics and Control

Kinematics Yasukawa Motoman L-3


- Actuator 3 changes the orientation of Link 3 with respect to Link 1 (rather than relative
to Link 2).
Obs2.: When the actuator 3 keeps its position also the
orientation of of Link 3 will be constant (relative to
Link 1), independently from the position of Joint 2
(Actuator 2).
Link2

Obs3.: Actuator 2 and Actuator 3 operate the Link 2 and


Link 3 respectively relative to the absolute frame {1}.

Joint 3

Lets call the constants:

Joint 2
Link1
Joint 1

and the variables:

Nazarbayev University

Link0

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

44

ROBT401: Robot Dynamics and Control

Kinematics Yasukawa Motoman L-3


The Actuator 4 and the Actuator 5, that move Joint 4 and Joint 5 respectively, are
attached to Link 1 and their rotational axes are aligned with the Joint 2 axis. The forces are
transmitted by chains in a way that:
- Actuator 4 positions Joint 4 and orientates Link 4 relative to Link 1 (rather than Link 3).
Again it realizes a sort of absolute adjustment of the orientation of Link 4 relative to
Link 1 frame.
- Actuator 5 positions Joint 5, but this time relative to Link 4.

Example of a robot actuated


by chains.

Possible Chains Configuration


Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

45

ROBT401: Robot Dynamics and Control

Kinematics Yasukawa Motoman L-3


The equations that map the actuators positions [A1 A2 A3 A4 A5 ]T to the joint positions
[1 2 3 4 5]T can be calculated by analysing the robots geometry:

Obs4.: for Joint 1 and Joint 5 we have a simple linear relationships between the actuator
and the joint position, where ki is a scaling factor due to the gear system and i is
representing an offset most probably due to how the position sensor was installed.
Obs5.: notice that the position of Joint 3 depends on A3 and also A2 .
Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

46

ROBT401: Robot Dynamics and Control

Kinematics Yasukawa Motoman L-3


Now let us map the joint position to the Cartesian position:

Configuration (0,-90,90,90,0)
Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

47

ROBT401: Robot Dynamics and Control

Kinematics Yasukawa Motoman L-3


The five transformation matrixes are:

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

48

ROBT401: Robot Dynamics and Control

Kinematics Yasukawa Motoman L-3


And calculating all the products we obtain:

Where c234=cos(2+3+4).

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

49

ROBT401: Robot Dynamics and Control

...
...

Nazarbayev University

Dr. Ing. Michele Folgheraiter

Academic year 2016-2017

50

Potrebbero piacerti anche