Upload
internet
View
117
Download
2
Embed Size (px)
Citation preview
Elos e JuntasElos e Juntas
Elos e Juntas
Juntas:
Elos
Efetuador Final
Base do Robô
2 GDL’s
Denavit – Denavit – Hartenberg Hartenberg Detalhes e Detalhes e ExemplosExemplos
Chapter 2Robot Kinematics: Position Analysis
⊙ : rotação em torno do eixo z.
⊙ dd : Distância sobre o eixo z.
⊙ aa : Comprimento de cada normal comum(offset d
Junta).
⊙ : Ângulo entre 2 eixos z successivos (torção de
Junta)
Só e d são variaveis de junta.
DENAVIT-HARTENBERG REPRESENTAÇÃODENAVIT-HARTENBERG REPRESENTAÇÃO
Símbolo e Terminologias :
Eixos Z aligned with jointJuntas UElos S
Eixos X aligned with outgoing limb
Eixos Yis orthogonal
As Juntas são numeradas e represantadas hierariquicamente
Ui-1 é anterior a Ui
O Parâmetro ai-1 é o comprimento anterior a junta Ui-1
O Ângulo da Junta, i, é a rotação entre xi-1 e xi em torno do eixo zi-1
A TORÇÃO do elo, i-1, é uma rotação do eixo zi em torno do eixo xi-1 em relação ao eixo z i-1
Offset de Elo, di-1, especifica a distância ao longo do eixo zi-1 (rotacionado de i-1) a partir do eixo xi-1 ao eixo xi .
Ponto de partida:
• Atribuir um número de junta n para a junta.
• Atribuir um sistema de refêrencia local a cada
junta.
• Os eixos Y não são usados na representação
D-H.
PROCEDIMENTOS DA REPRESENTAÇÃO DE DENAVIT-
HARTENBERG
1. .Todas as juntas são representadas por eixos z ٭
• (regra da mão direita para junta rotacional , movimento
linear para junta prismatica)
2. A normal comum é uma linha mutuamente perpendicular a
dois eixos reversos.
3. Juntas com eixos z paralelos apresentam um numero
infinito de retas “normal comum”.
4. Eixos z que se interceptam de duas juntas successivas
apresentam normal comum com compprimento =0 .
REPRESENTAÇÃO de DENAVIT-HARTENBERG
Procedimentos para atribuir um sistema de referencia local para cada junta:
Chapter 2Robot Kinematics: Position Analysis
(I) Rotação em torno do eixo zn estabelece um n+1. (Coplanar)
(II) Translação ao longo do eixo zn estabelece a distância dn+1 que
faz xn e xn+1 colineares.
(III) Translação ao longo do eixo xn-ax estabelece a distância an+1
to bring the origins
of xn+1 together.
(IV) Rotate zn-axis about xn+1 axis an angle of n+1 to align zn-axis
with zn+1-axis.
REPRESENTAÇÃO de DENAVIT-HARTENBERG
Os movimentos necessários para ir de um sistema de referencia um sistema de referencia para o
próximo.
Denavit - Hartenberg
Parameters – a general explanation
Denavit-Hartenberg Notation
Z(i - 1)
X(i -1)
Y(i -1)
( i - 1)
a(i - 1 )
Z i Y i
X i a i
d i
i
• IDEA: Each joint is assigned a coordinate frame.
• Using the Denavit-Hartenberg notation, you need 4 parameters to describe how a frame (i) relates to a previous frame ( i -1 ).
• THE PARAMETERS/VARIABLES: , a , d, ⊙ : A rotation about the z-axis.
⊙ d : The distance on the z-axis.
⊙ a : The length of each common normal (Joint offset).
⊙ : The angle between two successive z-axes (Joint twist)
Only and d are joint variables
The The aa(i-1)(i-1) ParameterParameter
Z(i - 1)
X(i -1)
Y(i -1)
( i - 1)
a(i - 1 )
Z i Y i
X i a i d i
i
You can align align the two axis just using the 4 parameters
• 1) a1) a(i-1)(i-1) • Technical Definition: a(i-1) is the length of the perpendicular
between the joint axes. • The joint axes are the axes around which revolution takes place
which are the Z(i-1) and Z(i) axes. • These two axes can be viewed as lines in space.
• The common perpendicular is the shortest line between the two axis-lines and is perpendicular to both perpendicular to both axis-lines.
⊙ : A rotation about the z-axis.
⊙ d : The distance on the z-axis.
⊙ a : The length of each common normal (Joint offset).
⊙ : The angle between two successive z-axes (Joint twist)
a(i-1) cont...
Visual Approach - “A way to visualize the link parameter a(i-1) is to imagine an expanding cylinder whose axis is the Z(i-1) axis - when the cylinder just touches the joint axis i the radius of the cylinder is equal to a(i-1).” (Manipulator Kinematics)
Z(i - 1)
X(i -1)
Y(i -1)
( i - 1)
a(i - 1 )
Z i Y i
X i a i
d i
i
The The alphaalpha aa(i-1)(i-1) ParameterParameter
• It’s Usually on the Diagram Approach - If the diagram already specifies the various coordinate frames, then the
common perpendicular is usually the X(i-1) axis.
• So a(i-1) is just the displacement along the X(i-1) to move from the (i-1) frame to the i frame.
• If the link is prismatic, then a(i-1) is a variable, not a parameter.
Z(i - 1)
X(i -1)
Y(i -1)
( i - 1)
a(i - 1 )
Z i Y i
X i a i d i
i
⊙ : A rotation about the z-axis.
⊙ d : The distance on the z-axis.
⊙ a : The length of each common normal (Joint offset).
⊙ : The angle between two successive z-axes (Joint twist)
2)(i-1)
Technical Definition: Amount of rotation around the common perpendicular so that the joint axes are parallel.
i.e. How much you have to rotate around the X(i-1) axis so that the Z(i-1) is pointing in
the same direction as the Zi axis.
Positive rotation follows the right hand rule.
Z(i - 1)
X(i -1)
Y(i -1)
( i - 1)
a(i - 1 )
Z i Y i
X i a i d i
i
The The (i-1) Parameter Parameter
3) d(i-1)Technical Definition: The displacement along the Zi axis needed to align the a(i-1) common perpendicular to the ai common perpendicular.
In other words, displacement along the Zi to align the X(i-1) and Xi axes.
4) i
Amount of rotation around the Zi axis needed to align the X(i-1) axis with the Xi
axis.
Z(i - 1)
X(i -1)
Y(i -1)
( i - 1)
a(i - 1 )
Z i Y i
X i a i d i
i
The The d(i-1) ParameterParameter
The The i Parameter Parameter
The same table as last slide
The Denavit-Hartenberg MatrixThe Denavit-Hartenberg Matrix
1000
cosαcosαsinαcosθsinαsinθ
sinαsinαcosαcosθcosαsinθ
0sinθcosθ
i1)(i1)(i1)(ii1)(ii
i1)(i1)(i1)(ii1)(ii
1)(iii
d
d
a
Just like the Homogeneous Matrix, the Denavit-Hartenberg Matrix is a transformation matrix from one coordinate frame to the next.
Using a series of D-H Matrix multiplications and the D-H Parameter table, the final result is a transformation matrix from some frame to your initial frame.
Z(i -
1)
X(i -1)
Y(i -1)
( i - 1)
a(i -
1 )
Z i Y
i X
i
a
i
d
i i
Put the transformation here
⊙ : A rotation about the z-axis.
⊙ d : The distance on the z-axis.
⊙ a : The length of each common normal (Joint offset).
⊙ : The angle between two successive z-axes (Joint twist)
Example:Example:Calculating the Calculating the final final DH matrix DH matrix
with the with the DH DH Parameter TableParameter Table
Example with three Revolute Joints
i (i-1) a(i-1) di
i
0 0 0 0 0
1 0 a0 0 1
2 -90 a1 d2 2
Z0
X0
Y0
Z1
X2
Y1
Z2
X1
Y2
d2
a0 a1
Denavit-Hartenberg Link Denavit-Hartenberg Link Parameter TableParameter Table
Notice that the table has two uses:
1) To describe the robot with its variables and parameters.
2) To describe some state of the robot by having a numerical values for the variables.
The DH The DH Parameter Parameter
TableTable
We calculate with respect to previous
Example with three Revolute Joints
i (i-1) a(i-1) di
i
0 0 0 0 0
1 0 a0 0 1
2 -90 a1 d2 2
Z0
X0
Y0
Z1
X2
Y1
Z2
X1
Y2
d2
a0 a1
Denavit-Hartenberg Link Parameter Table
Notice that the table has two uses:
1) To describe the robot with its variables and parameters.
2) To describe some state of the robot by having a numerical values for the variables.
The same table as last slide
Z0
X0
Y0
Z1
X2
Y1
Z2
X1
Y2
d2
a0 a1
i (i-1) a(i-1) di
i
0 0 0 0 0
1 0 a0 0 1
2 -90 a1 d2 2
1
V
V
V
TV2
2
2
000
Z
Y
X
ZYX T)T)(T)((T 12
010
Note: T is the D-H matrix with (i-1) = 0 and i = 1.
These matrices T are calculated in next slide
The same table as last slide
World coordinatestool coordinates
1000
0100
00cosθsinθ
00sinθcosθ
T 00
00
0
i (i-1) a(i-1) di
i
0 0 0 0 0
1 0 a0 0 1
2 -90 a1 d2 2
This is just a rotation around the Z0 axis
1000
0000
00cosθsinθ
a0sinθcosθ
T 11
011
01
1000
00cosθsinθ
d100
a0sinθcosθ
T22
2
122
12
This is a translation by a0 followed by a rotation around the Z1 axis
This is a translation by a1 and then d2 followed by a rotation around the X2 and Z2 axis
T)T)(T)((T 12
010
The same table as last slide
1
V
V
V
TV2
2
2
000
Z
Y
X
ZYX
World coordinatestool coordinates
T)T)(T)((T 12
010
ConclusionsConclusions
Forward Forward
Kinematics 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. 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 For robots with more links and whose arm extends into 3 dimensions the geometry gets much more tediousdimensions the geometry gets much more tedious.
2. Algebraic Approach Algebraic Approach Involves coordinatecoordinate transformations.
Forward Kinematics ProblemForward Kinematics Problem
X2
X3Y2
Y3
1
2
3
l1
l2 l3
Example Problem with H matrices: Example Problem with H matrices: 1.You have a three link arm that starts out aligned in the x-axis.
2.Each link has lengths l1, l2, l3, respectively. 3.You tell the first one to move by 1 , and so on as the diagram suggests. 4.Find the Homogeneous matrix to get the position of the yellow dot in the X0Y0 frame.
H = Rz( 1 ) * Tx1(l1) * Rz( 2 ) * Tx2(l2) * Rz( 3 )
1.Rotating by 1 will put you in the X1Y1 frame.2.Translate in the along the X1 axis by l1.3.Rotating by 2 will put you in the X2Y2 frame.4. and so on until you are in the X3Y3 frame.
•The position of the yellow dot relative to the X3Y3 frame is(l3, 0). •Multiplying H by that position vector will give you the coordinates of the yellow point relative the X0Y0 frame.
X1
Y1
X0
Y0
Slight variation on the last solutionSlight variation on the last solution:Make the yellow dot the origin of a new coordinate X4Y4 frame
X2
X3Y2
Y3
1
2
3
1
2 3
X1
Y1
X0
Y0
X4
Y4
H = Rz(1 ) * Tx1(l1) * Rz(2 ) * Tx2(l2) * Rz(3 ) * Tx3(l3)
This takes you from the X0Y0 frame to the X4Y4 frame.
The position of the yellow dot relative to the X4Y4 frame is (0,0).
1
0
0
0
H
1
Z
Y
X
added
THE THE INVERSE INVERSE KINEMATIC KINEMATIC
SOLUTION OF A SOLUTION OF A ROBOTROBOT
Determine the value of each joint each joint to place the arm at a desired position and orientation.
654321 AAAAAATHR
1000
)()()()(
)()()()(
2232342345234623465234623465234
22323423415152341651
6234652341
651
6234652341
22323423415152341651
6234652341
651
6234652341
aSaSaSSSCCCCSSCCCS
aCaCaCSCCSCSCSC
CSCCCS
CSC
SSCCCS
aCaCaCCCSSCCCSS
CSCCCC
CSS
SSCCCC
1000
zzzz
yyyy
xxxx
paon
paon
paon
THE THE INVERSE KINEMATIC INVERSE KINEMATIC SOLUTION SOLUTION OF ROBOTOF ROBOT
Multiply both sides by A1 -1
RHS
654321
11
1 ][
1000
AAAAARHSApaon
paon
paon
Azzzz
yyyy
xxxx
6543211
11
10001000
00
0100
00
AAAAApaon
paon
paon
CS
SC
zzzz
yyyy
xxxx
THE INVERSE KINEMATIC SOLUTION OF ROBOTTHE INVERSE KINEMATIC SOLUTION OF ROBOT
A1 -1
x
y
p
p11 tan
)())((
)())((tan
423433423411233
42341133423423312
aSPaSaCSpCpaaC
aCSpCpaSaSpaaC
zyx
yxz
3
313 tan
C
S
322344
yx
zyx
aCaS
aSaSaCC
11
2341123415
)(tan
zyx
zyx
oCoSoCS
nSnSnCS
23411234
2341123416
)(
)(tan
THE INVERSE KINEMATIC SOLUTION OF ROBOTTHE INVERSE KINEMATIC SOLUTION OF ROBOT
We calculate all angles from px, py, a1, a2, ni, oi, etc
A robot has a predictable path on a straight line, Or an unpredictable path on a straight line.
A predictable path is necessary to recalculate joint ٭
variables.
(Between 50 to 200 times a second)
To make the robot follow a straight line, it is necessary to ٭
break
the line into many small sections.
.All unnecessary computations should be eliminated ٭
Fig. 2.30 Small sections of movement for straight-line motions
INVERSE KINEMATIC INVERSE KINEMATIC PROGRAMPROGRAM:: a predictable path on a straight line
PROBLEMAS PROBLEMAS com DHcom DH
Degeneração : O robô perde um GDL e, portanto, não pode trabalhar como desejado.
Quando as juntas do robô atingem seu limita ٭físico, ele não consegue mover-se além disso.
No ponto médio de seu espaço de trabalho, se ٭os eixos z de duas articulações similares tornam-se colineares.
Fig. 2.31 Um example de um robô com degeneração de posição.
Destreza : Relacionada a quantidade de pontos onde o robô pode ser posiconado como desejado , mas sem orientá-lo corretamente.
DEGENERAÇÃO E DESTREZADEGENERAÇÃO E DESTREZA
Defect of D-H presentation : D-H cannot represent any cannot represent any motion about motion about the y-axis,the y-axis, because all motions are about the x- and z-axis.
Fig. 2.31 The frames of the Stanford Arm.
# d a
1 1 0 0 -90
2 2 d10 90
3 0 d30 0
4 4 0 0 -90
5 5 0 0 90
6 6 0 0 0
TABLE 2.3 THE PARAMETERS TABLE FOR THE STANFORD ARM
THE THE FUNDAMENTAL PROBLEM FUNDAMENTAL PROBLEM WITH D-H WITH D-H REPRESENTATIONREPRESENTATION