Professional Documents
Culture Documents
de Puebla
Alumno:
Eduardo Pastor Torres
2. Introducción
El modelo dinámico en variables de estado cartesiano define su comporta-
miento en su espacio operativo o espacio de tareas. Considérense las coordenadas
cartesianas χ = [x, y, z]T , entonces la cinemática diferencial y la aceleración ar-
ticular se encuentran relacionadas por:
χ̇ = J(q)q̇
(1)
˙
q̈ = J −1 (q)χ̈ − J −1 (q)J(q)J −1
(q)χ̇
˙
τ = M (q)J −1 (q)χ̈ + [C(q, q̇)J −1 (q) − M (q)J −1 (q)J(q)J −1
(q)]χ̇
(2)
+ g(q) + ff (q̇, f e )
fχ = Mχ χ̈ + Cχ χ̇ + gχ + fcχ (3)
Donde:
2
Mχ ∈ Rnxn es la matriz de inercia cartesiana.
Cχ ∈ Rnxn es la matriz de fuerzas centrı́petas y de coriolis cartesiana.
λmin max
Mχ I ≤ Mχ ≤ λMχ I (5)
Donde I es una matriz identidad y λmin max
Mχ I, λMχ I representan los valores
mı́nimos y máximos de la matriz de inercia.
Finalmente, se cumple que la transformación de fuerza cartesiana fχ a par
aplicado τ está dado por una de las leyes naturales de la robótica, es decir:
τ = J T (q)fχ (6)
El cual satisface el modelo dinámico cartesiano:
d χ χ̇
= (7)
Mχ−1 fχ − Cχ χ̇ − gχ − B χ̇
dt χ̇
3. Objetivos
3.1. Objetivo general
Implementar el modelo dinámico cartesiano de un robot manipulador de dos
grados de libertad en Matlab.
3
2. Colocar el extremo final del robot en el primer cuadrante, con coordenadas
cartesianas (x, y)T = (0.5, 0.5)T m
3. Obtener la respuestas de posición χ y velocidad χ̇.
4. Discuta ampliamente los resultados de simulación.
5. Solución
La cinemática inversa del robot antropomórfico de dos grados de libertad
tiene la forma:
x2 + y2 − l12 − l22
q2 = cos−1
2l1 l2
(8)
−1 y2 l2 sen(q2 )
q1 = tan 2
− tan−1
x l1 + l2 cos(q2 )
4
posteriormente las ecuaciones (8)-(13) son añadidas en formato adecuado para
matlab. La derivada temporal del jacobiano se calcula elemento a elemento para
contemplarla en el proceso. Con estos elementos es posible hacer la transforma-
ción a coordenadas cartesianas, las ecuaciones denotadas en (4) son empleadas
en el modelo. Finalmente generamos la solución numérica del modelo dinámico,
calculando el error de posición, y proponiendo la ley de control para nuestro
sistema, esta es dada por (14). La ley de control es manejada con compensación
gravitacional debido a que dicha fuerza influye en la dinámica del robot.
5
Kp =
16
Ks = 0.3
(15)
0.2
Kv =
0.2
0.7
Ks1 =
0.35
5
Figura 1: Gráfica de posición de actuador final de robot de dos grados de libertad
en plano [x,y]
6
una velocidad negativa. Por otro lado, debido a la naturaleza del robot, se per-
cibe cómo el mecanismo se extiende y contrae a lo largo del eje X para cumplir
el objetivo de posicionamiento en Y.
6. Conclusiones
Un sistema de referencia cartesiano es adecuado para reducir el error al mo-
mento de tomar decisiones con un robot manipulador. La estrategia implemen-
tada no sólo permite indicar posiciones de extremidades finales del mecanismo,
sino que además es posible conocer o simular el comportamiento que tendrá el
robot a lo largo del tiempo, no sólo posición, sino velocidad e incluso es posi-
ble calcular la aceleración. La gráfica de velocidad ha sido de importancia ya
que con esta nos damos cuenta sobre qué tan rápido cambia de posición el ro-
bot, con ello se facilita el ajuste de ganancias cuando este no ha sido analizado
analı́ticamente.
7
7. Apéndice A
Código principal:
1 clc ; clear all ; close all ;
h=.01;
3 t s =0:h : 1 5 ; %v e c t o r de tiempo
script/main.m
Función cartesiano
1 f u n c t i o n xp=r 2 g d l c a r t ( t , x )
c h i= [ x(1) ; x(2) ] ; % v e c t o r de p o s i c i o n
3 c h i p= [ x ( 3 ) ; x ( 4 ) ] ; % v e c t o r de v e l o c i d a d
chi d = [ . 5 ; . 5 ] ;
5 %l o n g i t u d de e s l a b o n e s .
l1 =0.45; l2 =0.45;
7 %d i n mica i n v e r s a
q2=a c o s ( ( c h i ( 1 ) .ˆ2+ c h i ( 2 ) .ˆ2 − l 1 ˆ2− l 2 ˆ 2 ) / ( 2 ∗ l 1 ∗ l 2 ) ) ;
9 q1=atan ( c h i ( 2 ) / c h i ( 1 ) )−atan ( ( l 2 ∗ s i n ( q2 ) ) / ( l 1+l 2 ∗ c o s ( q2 ) ) ) ;
q=[ q1 ; q2 ] ;
11 %j a c o b i a n o
J=[− l 1 ∗ s i n ( q1 )−l 2 ∗ s i n ( q1+q2 ) , −l 2 ∗ s i n ( q1+q2 ) ;
13 l 1 ∗ c o s ( q1 )+l 2 ∗ c o s ( q1+q2 ) , l 2 ∗ c o s ( q1+q2 ) ] ;
15 qp=i n v ( J ) ∗ c h i p ; %v e l o c i d a d e s a r t i c u l a r e s .
qp1=qp ( 1 ) ;
17 qp2=qp ( 2 ) ;
8
27 % v e c t o r de p a r e s de g r a v i t a c i o n a l e s g ( q )
g q = [ 3 8 . 4 6 ∗ s i n ( q1 ) +1.82∗ s i n ( q1+q2 ) ;
29 1 . 8 2 ∗ s i n ( q1+q2 ) ] ;
% m a t r i z de f r i c c i o n v i s c o s a
31 B= [ 2 . 2 8 8 , 0;
0, 0.175];
33 % p a r e s de f r i c c i o n v i s c o s a .
t f=B∗qp ;
35 Mchi=i n v ( J ) ’ ∗M∗ i n v ( J ) ; %m a t r i z de i n e r c i a s c a r t e s i a n a .
Cchi=i n v ( J ) ’ ∗C∗ i n v ( J )−Mchi∗Jp∗ i n v ( J ) ; %m a t r i z de C o r i o l i s y f u e r z a s
centrifugas cartesiana
37 g c h i=i n v ( J ) ’ ∗ g q ; %v e c t o r de f u e r z a s g r a v i t a c i o n a l e s c a r t e s i a n o .
b c h i=i n v ( J ) ’ ∗ t f ; %v e c t o r de f u e r z a s de f r i c c i o n c a r t e s i a n o .
39
e=( c h i d −c h i ) . ∗ . 3 ;
41 k p f = [ 5 ; 1 9 ] ;
kv = [ . 0 2 ; . 0 2 ] ;
43 ed=kv . ∗ [ tanh ( . 7 ∗ qp1 ) ; tanh ( . 3 5 ∗ qp2 ) ] ;
f x=k p f . ∗ tanh ( e )−ed+g c h i ; %f u e r z a c a r t e s i a n a
45 c h i p p=i n v ( Mchi ) ∗ ( f x+−Cchi ∗ c h i p −g c h i −b c h i ) ; % v e c t o r de a c e l e r a c i o n
c a r t e s i a n o , e c u a c i o n en l a z o c e r r a d o .
xp=[ c h i p ( 1 ) ; c h i p ( 2 ) ; c h i p p ( 1 ) ; c h i p p ( 2 ) ] ; % v e c t o r de s a l i d a d e l
sistema dinamico c a r t e s i a n o .
47 end
script/r2gdl cart.m
9
Referencias
F. R. Cortés. Dinámica de robots manipuladores, parte v, 2019a. URL ftp:
//ece.buap.mx/pub/profesor/FernandoReyes/CRM.
F. R. Cortés. Dinámica de robots manipuladores, parte vi, 2019b. URL ftp:
//ece.buap.mx/pub/profesor/FernandoReyes/CRM.
10