You are on page 1of 14

Università degli Studi di Brescia

Matricial Methods

Prof. Legnani Course of Robotics and Servosystems


Università degli Studi di Brescia

Matricial methods for robot kinematics and


dynamics

Hints

Methodology to write and solve in an automatic manner, the kinematic


and dynamic equations.

Software with documents downloading at:


bsing.ing.unibs.it/~glegnani

Prof. Legnani Course of Robotics and Servosystems


Università degli Studi di Brescia

Position matrix
(of a body respect to a frame)
R=orientation, T=translation

P(1)
   xx yx zx x
(1)  R T  x yy zy y 
M = = y
P(0)    xz yz zz z
z    
0 0 0 1   0 0 0 1

 x0   x x yx zx x   x1 
 y  x yy zy y   y1 
P( 0) =  0 =  y = MP(1)
(0) y  z0   x z yz zz z   z1 
    
1 0 0 0 1 1 
x
Prof. Legnani Course of Robotics and Servosystems
Università degli Studi di Brescia

Position matrix

  cos α − sinα 0 a cos α 


y1 x1  R   sinα
T cos α 0 asinα 
M = =
   0 0 1 0 
   
y0 a  0 0 0 1   0 0 0 1 

α
x0
  1 0 0 b
y0 b  R T  0 1 0 0
M = =
  0 0 1 0
   
x0  0 0 0 1  0 0 0 1

Prof. Legnani Course of Robotics and Servosystems


Università degli Studi di Brescia

Velocity matrix
(of a body respect to a frame)
ω=angular vel., V=velocity
   0 −ωz ω y Vx 
P&( 0) = V = V0 + ω × ( P − O )  ω V0   ω z 0 − ω x V y 
ω W =


=
 − ω y
 
ωx 0 Vz 

V 0 0 0 0  0 0 0 0
P
vx   0 −ω z ω y Vx 0   x 
    
A v ω 0 − ω x Vy0   y
P&(0) =V =  y =  z = WP(0)
z  vz  − ω y ωx 0 Vz 0   z 
    
 0   0 0 0 0   1 

Acceleration matrix
d
y H =W 2 + W && = A = HP
P
dt (0) (0)

x V0 &&
P = A = A0 + ω& × ( P − O ) + ω × (ω × ( P − O ))
(0)
Prof. Legnani Course of Robotics and Servosystems
Università degli Studi di Brescia

Velocity matrix −ω
0 − 1 0 0 0 0 0
1 0 0 0 ω 0 0 0
W = Lω =  ω=
0 0 0 0 0 0 0 0
   
0 0 0 0 0 0 0 0
y1 x1
ω revolute
q& = 
y0 a  v prismatic
ω W = Lq& velocity
x0 H = Lq&& + L2 q& 2 accelerations

y0 v 0 0 0 1 0 0 0 v
0 0 0 0 0 0 0 0
W = Lv =  v=
0 0 0 0 0 0 0 0
x0    
0 0 0 0 0 0 0 0

Prof. Legnani Course of Robotics and Servosystems


Università degli Studi di Brescia

Forces (and torques) Dynamics


   0 − cz cy fx 
  f y 
c F   c z 0 − cx
Φ= =
  − c y cx 0 fz  Dynamic equilibrium
   
−F t
0  − f x − fy − fz
f = ma c = Jω& + ω × Jω
 0 

Quantity of motion (and q.m. moment)


Φ = HJ − JH t

   0 −γ z γy ρx 
  ρ y 
γ ρ   γ z 0 −γ x
Γ= = Linear moment and m.q. moment
  − γ y γx 0 ρz 
   
 − ρt 0  − ρ x − ρy − ρz 0 
ρ = mv γ = Jω
Inertia (and mass, centre of gravity) Γ = WJ − JW t
   I xx I xy I xz mx 
 Kinetic energy
G   I xy I yy I yz my 
~
J
J = =
   I xz I yz I zz mz  1 

 Gt
 
m mx my mz m 
 Ec = trac WJW t 
2 
Prof. Legnani Course of Robotics and Servosystems
Università degli Studi di Brescia

Motions composition
(relative kinematics)

M12
relative
dragging 2

dragging
absolute

relative
M01
1

z
M 02 = M 01M 12

Coriolis
0 y M02 W02 = W01 + W12
x absolute
H 02 = H 01 + H12 + 2W01W12
Prof. Legnani Course of Robotics and Servosystems
Università degli Studi di Brescia

Motor 2
Motor 1 Motors 3/4
qn-1
z
End effector
n
q3 n-1 y
q2 3 x
q1
2 Denavit and Hartenberg
method
1
Put a reference frame on each body
z
End-effector position expressed by
0 using product of position matrixes
y
Extension
x
Use velocity and acceleration matrix, actions...
Prof. Legnani Course of Robotics and Servosystems
Università degli Studi di Brescia

Denavit and Hartemberg conventions


Frame on link n:

•Zn like axis joint n+1


•Xn normal at Zn-1 and Zn
from Zn-1 to Zn
•Yn forms right frame
•θn rotation ⇒
Joint coord.
zero position NOT arbitrary
ϕn torsion
an length In mobile frame:
dn offset θ) transZ(d) transX(a) rotX(ϕ
rotZ(θ ϕ)

commutable commutable
Prof. Legnani Course of Robotics and Servosystems
Università degli Studi di Brescia

Prismatic joints according


to D&H
If joint n prismatic:
• defined direction Zn-1
• NOT def. position Zn-1
∗ θn-1 and ϕn-1 depends on
joint direction n
∗ dn-1 and an-1 arbitrary:
choose imposing that for
dn=0 ⇒ an=0 In mobile frame:
∗ dn ⇒ Joint coord. θ) transZ(d) transX(a) rotX(ϕ
rotZ(θ ϕ)
zero position arbitrary
commutable commutable
Prof. Legnani Course of Robotics and Servosystems
Università degli Studi di Brescia

End effector frame according to D&H


• Z axis like axis gripper
(outgoing)
• Xn = Zn-1 × Zn
• If possible an = dn =0 Zn-1
origins of n and n-1 are
coincident Xn
• If it is necessary, an
arbitrary roto-translation
is added (or the value of
an, dn is changed); Zn
• total 6 parameters

Prof. Legnani Course of Robotics and Servosystems


Università degli Studi di Brescia

Base frame according to D&H

• Z0 axis like axis joint 1 Z0


• Frame origin 0
coincident with origin X0 X1
1 Z1
• X0 arbitrary

• If it is necessary, an
arbitrary roto- • 4 parameters if joint 1
translation is added is revolute
before the base frame • 2 parameters if joint 1
is prismatic
Prof. Legnani Course of Robotics and Servosystems
Università degli Studi di Brescia

D&H last specifications/advices

Starting from the last joint • If axis Zn, Zn-1 are


and proceeding back to incident:
the base: Xn = Zn-1 × Zn
• Fix Z axis
• fix X axis • In case of ambiguity:
fix parameters=0
• Fix gripper frame
• Fix base frame

Prof. Legnani Course of Robotics and Servosystems

You might also like