Dinámica del robot

Modelo dinámico de un eslabón rígido
Formulaciones del modelo dinámico
Algoritmos computacionales
Modelo dinámico en el espacio de la tarea
Robotica Industrial- Dinámica 1
Modelo dinámico de un robot
? Objetivo: conocer la relación entre el movimiento
del robot y las fuerzas implicadas en el mismo
? Relación matemática entre:
– La localización del robot definida por sus variables
articulares o por las coordenadas de localización de su
extremo, y sus derivadas: velocidad y aceleración.
– Las fuerzas y pares aplicados en las articulaciones (o en
el extremo del robot).
– Los parámetros dimensionales del robot, como
longitud, masas e inercias de sus elementos.
Robotica Industrial- Dinámica 2
Complejidad del modelo
dinámico de un robot
? Crece con el numero de GDL del robot
? Interactividad entre movimientos (fuerzas de Coriolis)
? No siempre es posible su obtención en forma cerrada
(ecuaciones diferenciales de orden 2 acopladas a integrar)
? En ocasiones se debe recurrir a procedimientos numéricos
iterativos
? Frecuentemente se realizan simplificaciones
? Necesidad de incluir los actuadores y su dinámica
? Caso especial: robot flexibles
Robotica Industrial- Dinámica 3
Utilidad del modelo
dinámico de un robot
?Simulación del movimiento del robot
?Diseño y evaluación de la estructura mecánica
del robot
?Dimensionamiento de los actuadores
?Diseño y evaluación del control dinámico del
robot
?Aplicaciones en que se debe controlar la fuerza
ejercida por el extremo del robot
Robotica Industrial- Dinámica 4
Modelos dinámicos directo e
inverso de un robot
? Modelo dinámico directo
expresa la evolución temporal de las coordenadas
articulares del robot en función de las fuerzas y pares que
intervienen
? Modelo dinámico inverso
expresa las fuerzas y pares que intervienen en función de la
evolución de las coordenadas articulares y sus derivadas
Robotica Industrial- Dinámica 5
Formulaciones del modelo
dinámico de un robot
? Formulación de Lagrange
– Basada en el balance energético
?Función Lagrangiana: L =? -?
?Ecuación de Lagrange: d/dt(?L/?q’
i
)-?L/?q
i
=?
? Formulación de Newton-Euler
– Basado en la segunda ley de Newton
?? F=mv’
?T=I? ’+? x (I? )
? Otras formulaciones
Robotica Industrial- Dinámica 6
Formulación de Newton. Ejemplo
robot rígido monoarticular
? ? F v T I I ? ? ? ? ? ? m? ? ? ? ?
· Ley de Newton-Ley de Euler:
· Equilibrio fuerzas/pares: ?
?
? ? ? ? ? I
d
dt
MgLcos = ML + MgLcos
2
2
2
??
Robotica Industrial- Dinámica 7
Formulación de Lagrange. Ejemplo
robot rígido monoarticular
d
dt
-
i i
?
?
?
?
?
_
_ ?
_ L L
L k
q q
? ?
? u
q
i
: coordenadas generalizadas (en este caso las articulares).
?: vector de fuerzas y pares aplicados en las q
i
.
L : Función Lagrangiana.
k: energía cinética.
u: energía potencial
k
?
?
1
2
2
I ?
donde I = ML
2
u ? ? Mgh MgLsen?
L = k - = u
?
1
2
ML MgLsen
2
? ?
2
?
?
??
?
?
??
?
?
??
?
L
L
L
? ?
?
?
MgLcos
ML
d
dt
ML
2
2
?
?
?
??
ML MgLcos =
2??
? ? ? ?
Robotica Industrial- Dinámica 8
Formulación de Lagrange. Ejemplo
robot rígido con 2 articulaciones
F
P
?
?
x
L/2
Mg
? ?
) ( ) , ( ) (
: matricial ción representa una Admite
cos ) ( ) ( 2 ) (
sen
)
2
1
( 2 )
2
1
(
12
1
Siendo
cos )
2
1
(
sen
tiempo el con varía J variar x, Al
) ( cos
) ( sen
2
1
2
1 2
2
1 2
12
1
2 2
q g q q h q q D T
L Mg L M L M ML P
Mg M F
L M J L M ML J
J J L Mg P
M Mg F
J
dt
d
Mgx P
M
dt
d
Mg F
?
?
?
? ?
?
?
? ?
? ?
?
?
? ? ? ?
? ?
?
?
? ? ?
?
?
?
? ? ? ? ? ? ?
? ?
? ? ? ? ? ?
?
?
?
?
?
? ? ? ?
? ?
?
?
?
?
?
?
?
? ?
? ?
? ? ? ? ? ? ?
? ?
? ? ?
? ? ? ?
? ?
? ?
? ?
Robotica Industrial- Dinámica 9
Ecuación dinámica de un robot
multiarticular
?(t) = D[q(t)] q(t) + h[q(t),q(t)] + c[q(t)]
? ?(t) = vector (n)de par generalizado aplicado a las ecuaciones
? q(t)= vector (n)de las variables de las articulaciones del brazo
? q(t) y q(t) = vectores (n) de la velocidad y aceleración del
brazo
? D(q) = matriz (nxn) simétrica inercial denominada matriz de
inercia
? h(q,q) = vector (n)de fuerzas de Coriolis y centrífuga
? c(q) = vector (n) de las fuerzas de carga gravitatoria
Robotica Industrial- Dinámica 10
Resolución del modelo dinámico
para un robot de n gdl
? La obtención del modelo analítico no es factible para
robots de 3 o más gdl
? Hay que recurrir a algoritmos computacionales que
obtienen la solución de manera numérica sin necesidad de
obtener una expresión explícita del modelo.
– Estos algoritmos, para una trayectoria determinada (discretizada en pasos),
van evaluando los pares a desarrollar por cada articulación paso a paso
? Esta resolución puede ser necesaria para:
– Realizar un control del robot con técnicas avanzadas como
inversión del modelo, control adaptativo u otras
– Realizar una simulación para el dimensionamiento del robot
(estructura mecánica y actuadores) en la fase constructiva
Robotica Industrial- Dinámica 11
Algoritmos computacionales
? Lagrange
– Basado en la representación de D-H
– Poca eficiencia computacional: O(n
4
) (n=nº GDL)
– Ecuaciones finales bien estructuradas
? Newton-Euler
– Basado en operaciones vectoriales
– Mayor eficiencia computacional: O(n)
– Ecuaciones poco estructuradas
Robotica Industrial- Dinámica 12
Algoritmo computacional L-E (1)
1. Asignar a cada barra un sistema de referencia de acuerdo D-H.
2. Obtener las matrices de transformación
0
A
i
para cada barra i.
3. Obtener las matrices U
ij
definidas por
U
ij
=?
0
A
i
/ ?q
j
=
0
A
j-1
Q
j
j-1
A
i
si j < i
[0] si j>i
4. Obtener las matrices U
ijk
definidas por
U
ijk
=? U
ij
/ ?q
k
=
0
A
j-1
Q
j
j- 1
A
k- 1
Q
k
k-1
A
i
si i > k > j
0
A
k-1
Q
k
k-1
A
j- 1
Q
j
j-1
A
i
si i > j > k
[0] si i < j o i < k
Robotica Industrial- Dinámica 13
5. Obtener las matrices de PseudoInercias Ji para cada barra i.
? ?x
ij
2
m
j
? ?x
ij
y
ij
m
j
? ?x
ij
z
ij
m
j
? ?x
ij
m
j
? ?y
ij
x
ij
m
j
? ?y
ij
2
m
j
? ?y
ij
z
ij
m
j
? ?y
ij
m
j
J
i
= ? ?z
ij
x
ij
m
j
? ?z
ij
y
ij
m
j
? ?z
ij
2
m
j
? ?z
ij
m
j
? ?x
ij
m
j
? ?y
ij
m
j
? ?z
ij
m
j
? ?m
j
Donde los ? suponen los productos de cada masa mj de la barra por su
distancia a los eje Xi, Yi o Zi de esa barra. (Si la distribución de masa
no es discreta se transformarán en Integrales)
6. Obtener la matriz de Inercia D definida por
d
ij
=? Tr (U
kj
J
k
U
T
ki
) i,j=1,2...n
k=max (i,j)
Algoritmo computacional L-E (2)
Robotica Industrial- Dinámica 14
7. Obtener los término hikm definidos por.
h
ikm
=? Tr (U
jkm
J
j
U
T
j i
) i,k,m=1,2...n
k=max (i,k,m)
8. Obtener el vector columna H de fuerzas de Coriolisy
Centrifugas, cuyos elementos son:
n n
h
i
=??? h
ikm
q
k
´q
m
´ i=1,2,...n
k=1 m=1
9. Obtener el vector columna C de Fuerzas de Gravedad, cuyos
elementos son:
n
c
i
=? (-mj g Uji
i
r
j
) i=1,2,...n
j=1
Algoritmo computacional L-E (3)
Robotica Industrial- Dinámica 15
10. La ecuación del modelo Dinámico es:
?=Dq”+H+C
Notas:

i
r
j
es el vector del centro de masas de la barra j expresado en
el sistema {i}
• g es el vector gravedad expresado en el sistema {0}
• ??es el vector de fuerzas y pares motores efectivos aplicados
sobre cada coordenada generalizada
• las matrices Ji y D son simétricas y semidefinidas positivas
Algoritmo computacional L-E (4)
Robotica Industrial- Dinámica 16
• Utiliza el álgebra matricial, implicando un elevado
número de operaciones O(n
4
)
•En la solución parecen explícitamente los términos de
Inercia, Coriolis y Gravedad
• En ocasiones (velocidades lentas) se puede
prescindir del término H (fuerzas de coriolis y
centrifugas)
• Se ha desarrollado un método computacional más
eficiente a partir del planteamiento L-E
Características del método
computacional L-E
Robotica Industrial- Dinámica 17
Ejemplo programación del
método L-E para un robot 2 gdl
% Algoritmo de Lagrange Euler
% Para la solución del modelo dinámico inverso de un robot
%----------------------------------------------------------
% Robot cilíndrico 2 GDL (RD)
%(ver ej. 5.1 libro "Fundamentos de Robótica")
% Definición de la trayectoria
%------------------------------
% Definición simbólica de la posición
st1='sin(t)*t+pi/2';
sd2='sin(5*t)+t+1';
% Obtención simbólica de la velocidad y aceleración
svt1=diff(st1,'t');
svd2=diff(sd2,'t');
sat1=diff(svt1,'t');
sad2=diff(svd2,'t');
Robotica Industrial- Dinámica 18
Ejemplo programación del
método L-E para un robot 2 gdl
% Parámetros dimensionales
L1=10;
m1=20;
m2=10;
g=[0 0 -9.8 0];
r11=[0 0 L1 1]';
r22=[0 0 0 1]';
%Matrices de Derivación
Qr=zeros(4);Qr(1,2)=-1;Qr(2,1)=1;
Qd=zeros(4);Qd(3,4)=1;
Robotica Industrial- Dinámica 19
Ejemplo programación del
método L-E para un robot 2 gdl
% Bucle de paso de tiempo
%--------------------------
for tk=1:1:50;
t=(tk-1)/10;
% Evaluación numérica de posición, velocidad y aceleración
%--------------------------------------------------------
t1=eval(st1);Q1(tk)=t1;
d2=eval(sd2);Q2(tk)=d2;
vt1=eval(svt1);
vd2=eval(svd2);
at1=eval(sat1);
ad2=eval(sad2);
Robotica Industrial- Dinámica 20
Ejemplo programación del
método L-E para un robot 2 gdl
% PASO 1-2 Obtenci ón de las matrices de transformación Aij
%---------------------------------------------------------
% Matrices A00 y A11 son la identidad
A00=eye(4);
A11=eye(4);
%Evalualas matrices A01 y A02
A01 =[cos(t1) 0 -sin(t1) 0;sin(t1) 0 cos(t1) 0;0 -1 0 0;0 0 0 1];
A12 =[1 0 0 0;0 1 0 0;0 0 1 d2;0 0 0 1];
%Evaluala matriz A02=A011*A2
A02=A01*A12;
Robotica Industrial- Dinámica 21
Ejemplo programación del
método L-E para un robot 2 gdl
% PASO 3 Evaluacionmatrices Uij
%--------------------------------
U11=A00*Qr*A01;
U12=zeros(4);
U21=A00*Qr*A02;
U22=A01*Qd*A12;
%PASO 4 Evaluación de las matrices Uijk
%--------------------------------------
U111=A00*Qr*A00*Qr*A01;
U112=zeros(4);
U121=zeros(4);
U122=zeros(4);
U211=A00*Qr*A00*Qr*A02;
U212=A00*Qr*A01*Qd*A12;
U221=A00*Qr*A01*Qd*A12;
U222=A01*Qd*A11*Qd*A12;
Robotica Industrial- Dinámica 22
Ejemplo programación del
método L-E para un robot 2 gdl
% PASO 5 Evaluación matrices de pseudoinercia Ji
%-----------------------------------------------
J1=zeros(4);J1(3,3)=L1^2*m1;J1(3,4)=L1*m1;J1(4,3)=L1*m1;J1(4,4)=m1;
J2=zeros(4);J2(4,4)=m2;
% PASO 6 Evaluación de la matriz de Inercias D
%----------------------------------------------
D(1,1)=trace(U11*J1*U11')+trace(U21*J2*U21');
D(1,2)=trace(U22*J2*U21');
D(2,1)=D(1,2);
D(2,2)=trace(U22*J2*U22');
Robotica Industrial- Dinámica 23
Ejemplo programación del
método L-E para un robot 2 gdl
% PASO 7-8 Evaluación de la matriz de Coriolis H
%------------------------------------------------
h111=trace(U111*J1*U11')+trace(U211*J2*U21');
h112=trace(U212*J2*U21');
h121=trace(U221*J2*U21');
h122=trace(U222*J2*U21');
h211=trace(U211*J2*U22');
h212=trace(U212*J2*U22');
h221=trace(U221*J2*U22');
h222=trace(U222*J2*U22');
H(1,1)=h111*vt1*vt1 + h112*vt1*vd2 + h121*vd2*vt1 + h122*vd2*vd2;
H(2,1)=h211*vt1*vt1 + h212*vt1*vd2 + h221*vd2*vt1 + h222*vd2*vd2;
Robotica Industrial- Dinámica 24
Ejemplo programación del
método L-E para un robot 2 gdl
% PASO 9 Evaluación de la matriz de Gravedad C
%----------------------------------------------
C(1,1)=-m1*g*U11*r11-m2*g*U21*r22;
C(2,1)=-m1*g*U12*r11-m2*g*U22*r22;
% PASO 10 Evaluaci ón de los pares
%----------------------------------
PARES(:,t k)=D*[at1 ad2]'+H+C;
end % fin del bucle de paso de tiempo
Robotica Industrial- Dinámica 25
Ejemplo programación del
método L-E para un robot 2 gdl
% Presentación Gráfica de los resultados
figure(2);
clf
subplot(2,2,1),plot(Q1),title('Q1')
subplot(2,2,2),plot(PARES(1,:)),title('PAR Q1')
subplot(2,2,3),plot(Q2),title('Q2')
subplot(2,2,4),plot(PARES(2,:)),title('PAR Q2')
text(70,2750,'LE')
Robotica Industrial- Dinámica 26
Ejemplo programación del
método L-E para un robot 2 gdl
0 20 40 60
-4
-2
0
2
4
Q1
0 20 40 60
-1
0
1
2
x 10
4
PAR Q1
0 20 40 60
0
2
4
6
8
Q2
0 20 40 60
-1000
-500
0
500
PAR Q2
LE
Robotica Industrial- Dinámica 27
Modelado dinámico por el
método de Newton Euler
Basado en la 2ª ley de Newton ? F=ma
Es un procedimiento recursivo en el que para
i=1,..,n se calcula:
wi (Velocidades articulares: qi´)
wi´ (Aceleraciones articulares qi”)
vi´,ai (Aceleraciones del centro de masa de la barra i)
i=n,..1 se calcula:
Fi (Fuerza ejercida en el centro de masa de la barra i)
Ni (Par ejecido en el centro de masa de la barra i)
fi (Fuerza ejercida sobre la articulación i-1,unión barra i-1 con barra i, expresada en {i-1})
ni (Par ejercido sobre la articulación i-1, unión barra i-1 con barra i,expresada en {i-1})
C
in
e
m
á
tic
a
D
in
á
m
ic
a
Robotica Industrial- Dinámica 28
1. Asignar a cada barra un sistema de referencia según las normas de D-H
2. Obtener las submatrices de rotación
i-1
R
i
y sus inversas(
i-1
R
i
)
T
3. Establecer las condiciones iniciales:
-Sistema de la base S0
w
0
: Vel.ang.: (0,0,0)
T

0
: Ac.ang: (0,0,0)
T
v
0
: Vel. lineal: (0,0,0)
T

0
: Ac. lineal:(gx,gy,gz)
T
-Extremo del robot: F
n+1
, N
n+1
-Otros:
z
0
:(0,0,1)
T i
R
0
.p
i
*=(a
i
,d
i
S
i
, d
i
C
i
)
T
i
R
0
.si: Vector(O
i
,CDG
i
) expresado en S
i
i
R
0
.Ii.
0
R
i
.: Matriz de inercia del elemento i respecto a su CDG expresada
en Si
Algoritmo computacional N-E (1)
Robotica Industrial- Dinámica 29
Para i=1 hasta n hacer:
4. Obtener la velocidad angular del sistema Si
i
R
i-1
(
i-1
R
0
w
i-1
+z
0

i
) Si i es de Rotación
i
R
0
w
i
=
i
R
i-1
i-1
R
0
w
i-1
Si i es de Traslación
5. Obtener la aceleración angular del sistema Si
i
R
i-1
(
i-1
R
0

i-1
+z
0
q´´
i
) Si i es de Rotación
i
R
0

i
=
i
R
i-1
i-1
R
0

i-1
Si i es de Traslación
Algoritmo computacional N-E (2)
Robotica Industrial- Dinámica 30
6. Obtener la aceleración lineal del sistema Si
i
R
0

i ^
i
R
0
p
i
* +
i
R
0
w
i ^
[
i
R
0
w
i ^
i
R
0
p
i
* ] +
i
R
i-1
i-1
R
0

i-1
i deRotación
i
R
0

i
=
i
R
i-1
(z
0
q´´
i
+
i-1
R
0

i-1
) + [
i
R
0

i ^
i
R
0
p
i
* ] +
+ 2
i
R
0
w
i ^
i
R
i-1
z
0

i
+
i
R
0
w
i ^
[
i
R
0
w
i ^
i
R
0
p
i
* ]
i de Traslación
7. Obtener la aceleración lineal del centro de graved del sistema Si
i
R
0
a
i
=
i
R
0

i ^
i
R
0
s
i
+
i
R
0
w
i ^
[
i
R
0
w
i ^
i
R
0
s
i
] +
i
R
0

i-1
Algoritmo computacional N-E (3)
Robotica Industrial- Dinámica 31
Para i=n hasta 1 hacer:
8. Obtener la fuerza ejercida sobre la barra i
i
R
0
f
i
=
i
R
i+1
i+1
R
0
f
i+1
+ m
i
i
R
0
a
i
9. Obtener el par ejercido sobre la barra i
i
R
0
n
i
=
i
R
i+1
[
i
R
0
n
i +1
+
i +1
R
0
p
i
*
^
i+1
R
0
f
i+1
] +
+ [
i
R
0
p*
i
+
i
R
0
s
i
]
^
( m
i
i
R
0
a
i
) +
+ (
i
R
0
.Ii.
0
R
i
)(
i
R
0

i
) + (
i
R
0
w
i
)
^
(
i
R
0
.Ii.
0
R
i
)(
i
R
0
w
i
)
10. Obtener la fuerza o el par aplicado a la articulación i
(
i
R
0
n
i
)
T
(
i
R
i-1
z
0
) + b
i
q´ Si i es de Rotación
?
i
=
(
i
R
0
f
i
)
T
(
i
R
i-1
z
0
) + b
i

i
Si i es de Traslación
Algoritmo computacional N-E (4)
Robotica Industrial- Dinámica 32
• Es un método recursivo (obtiene
información de la articulación i a partir
de la i-1 (o viceversa)
• Utiliza el álgebra vectorial
• Su orden de complejidad
computacional es O(n)
Características del método de N-E
Robotica Industrial- Dinámica 33
Ejemplo programación del
método N-E para un robot 2 gdl
% Algoritmo de Newton Euler Para la solución del
modelo
% dinámico inverso de un robot
%----------------------------------------------------------
% Robot cil índrico 2 GDL (RD)
%(ver ej. 5.2 libro "Fundamentos de Robótica")
% Definici ón de la trayectoria y fuerzas en TCP
%-----------------------------------------------
% Definición simbólica de la posici ón
st1='sin(t)/100+pi/2';
sd2='sin(5*t)+1';
Robotica Industrial- Dinámica 34
Ejemplo programación del
método N-E para un robot 2 gdl
% Obtención simbólica de la velocidad y aceleraci ón
svt1=diff(st1,'t');
svd2=diff(sd2,'t');
sat1=diff(svt1,'t');
sad2=diff(svd2,'t');
%Fuerzas en el extremo
sf3='[0 0 0]';
sn3='[0 -t 0]';
Robotica Industrial- Dinámica 35
Ejemplo programación del
método N-E para un robot 2 gdl
% Parámetros iniciales
%-----------------------------------
% Velocidades y aceleraciones de la base del robot
w0=[0 0 0]';
dw0=[0 0 0]';
v0=[0 0 0]';
dv0=[0 0 9.8]';
% Parámetros dimensionales
L1=10;
m1=20;
m2=10;
z0=[0 0 1]';
Robotica Industrial- Dinámica 36
Ejemplo programación del
método N-E para un robot 2 gdl
% Matriz de rotaci ón entre {S2} y TCP ({S3})
%---------------------------------------------
R23=eye(3);
% Bucle de paso de tiempo
%--------------------------
for tk=1:1:50;
t=(tk-1)/10;
Robotica Industrial- Dinámica 37
Ejemplo programación del
método N-E para un robot 2 gdl
% Evaluación numérica de posición, velocidad y aceleración
%--------------------------------------------------------
t1=eval(st1);Q1(tk)=t1;
d2=eval(sd2);Q2(tk)=d2;
vt1=eval(svt1);
vd2=eval(svd2);
at1=eval(sat1);
ad2=eval(sad2);
%Evaluación numérica de las fuerzas y pares en el TCP
%-----------------------------------------------
n3=eval(sn3)' ;
f3=eval(sf3)' ;
Robotica Industrial- Dinámica 38
Ejemplo programación del
método N-E para un robot 2 gdl
% PASO 1-2 Obtención de las matrices de rotación R01 y R12
%---------------------------------------------------------
R01 =[cos(t1) 0 -sin(t1);sin(t1) 0 cos(t1);0 -1 0];
R12 =[1 0 0;0 1 0;0 0 1];
% PASO 3 Evaluación de los vectores p,s y de la matriz de inercias
%------------------------------------------------------------------
p1=[0 0 0]'; %Coordenadas de {S1} respecto {S0}
p2=[0 0 d2]'; %Coordenadas de {S2} respecto {S1}
s1=[0 0 L1]'; %Coordenadas del cdg de 1 respecto {S1}
s2=[0 0 0]'; %Coordenadas del cdg de 2 respecto {S2}
I1=zeros(3); %Inercias de 1 respecto su cdg en la base {S1}
I2=zeros(3); %Inercias de 2 respecto su cdg en la base {S2};
Robotica Industrial- Dinámica 39
Ejemplo programación del
método N-E para un robot 2 gdl
%PASO 4 Evaluación de las velocidades angulares de {Si}
%------------------------------------------------------
w1=R01'*(w0+z0*vt1);
w2=R12'*w1;
% PASO 5 Evaluaci ón de las aceleraciones angulares de {Si}
%-----------------------------------------------------------
dw1=R01'*(dw0+z0*at1)+cross(w0,z0*vt1);
dw2=R12'*dw1;
Robotica Industrial- Dinámica 40
Ejemplo programación del
método N-E para un robot 2 gdl
% PASO 6 Evaluaci ón de las aceleraciones lineales de {Si}
%----------------------------------------------------------
dv1=cross(dw1,p1)+cross(w1,cross(w1,p1))+R01'*dv0;
dv2=R12'*(z0*ad2+dv1)+cross(dw2,p2)+cross(2*w2,(R12'*z0*vd2))
+cross(w2,cross(w2,p2));
% PASO 7 Evaluaci ón de la aceleraci ón angular de los cdg
%-------------------------------------------------------
a1=cross(dw1,s1)+cross(w1,cross(w1,s1))+dv1;
a2=cross(dw2,s2)+cross(w2,cross(w2,s2))+dv2;
Robotica Industrial- Dinámica 41
Ejemplo programación del
método N-E para un robot 2 gdl
% PASO 8 Evaluaci ón de las fuerzas sobre los eslabones
%-----------------------------------------------------
f2=R23*f3+m2*a2;
f1=R12*f2+m1*a1;
% PASO 9 Evaluaci ón de los pares sobre los eslabones
%-----------------------------------------------------
n2=R23*(n3+cross((R23*p2),f3))+cross((p2+s2),m2*a2)+I2*dw2+
cross(w2,(I2*w2));
n1=R12*(n2+cross((R12*p1),f2))+cross((p1+s1),m1*a1)+I1*dw1+
cross(w1,(I1*w1));
Robotica Industrial- Dinámica 42
Ejemplo programación del
método N-E para un robot 2 gdl
% PASO 10 Evaluaci ón de los pares
%----------------------------------
P2=f2'*R12'*z0;
P1=n1'*R01'*z0;
PARES(1,tk)=P1;
PARES(2,tk)=P2;
PARES2(1,tk)=T1;
PARES2(2,tk)=F2;
%-.-.-.-.--.-.-.-.-.-.-.-.-.-.-.-. -.-.-.-.-.-.-.-.-.-.
end % fin del bucle de paso de tiempo
Robotica Industrial- Dinámica 43
Ejemplo programación del
método N-E para un robot 2 gdl
% Presentación Gráfica de los resultados
figure(1);
clf
subplot(2,2,1),plot(Q1),title('Q1')
subplot(2,2,2),plot(PARES(1,:)),title('PAR Q1')
subplot(2,2,3),plot(Q2),title('Q2')
subplot(2,2,4),plot(PARES(2,:)),title('PAR Q2')
text(70,2750,'NE')
Robotica Industrial- Dinámica 44
Comparación de métodos
Robotica Industrial- Dinámica 45
Modelo dinámico en el espacio
de la tarea
C J C
q J DJ H J H
DJ J D
C H j D T
T J J T q q J T
q j T velocidad Par Potencia
q J J j J q q J q J j q J j
T
j
T
j
T
j
j j j
T T T T T
T T
1
1 1
1 1
1 1
) (
) ( ) (
) (
dinámico modelo del ecuación la en y q do Sustituyen
.
?
? ?
? ?
? ?
?
? ?
?
? ? ?
? ? ? ? ?
? ? ?
? ? ? ? ? ? ?
?
?
? ?
? ?
? ?
?
?
?
? ? ?
? ? ? ? ?
? ? ?
?
?
?
? ? ?
?
Robotica Industrial- Dinámica 46
• Además de la dinámica de la estructura
mecánica del brazo, es necesario considerar
la de los sistemas actuadores (eléctricos,
hidraúlicos o neumáticos) y elementos de
trasmisión (reductores incluídos).
• En ambos casos pueden ser considerables
las no linealidades tipo saturación, zona
muerta, etc.
Modelado de los actuadores y
sistemas de trasmisión