Está en la página 1de 10

ROBOTICA AVANZADA

UNIDAD 2: PASO 2 - REALIZAR EL DISEÑO DINÁMICO DE UN ROBOT


MANIPULADOR.

GRUPO:

TUTOR

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


INGENIERÍA ELECTRONICA
NOVIEMBRE 2018
INTRODUCCIÓN

En esta actividad se estudiará la dinámica de los robots. En la cual encontraremos


diversas situaciones una de esas situaciones se encarga de la dinámica inversa
esta consiste en entregar los parámetros geométricos inerciales del robot, así como
los movimientos de las articulaciones, en conclusión, determina tres variables que
son: la posición, la velocidad y la aceleración.

La otra situación se encarga de la dinámica progresiva o directa, donde se obtienen


las aceleraciones de las articulaciones, según los parámetros geométricos e
inerciales.

OBJETIVOS.
 Entender la implementación de un modelo dinámico en un robot.

 Entender para qué sirve el modelo dinámico

 Entender la dinámica inversa y la dinámica progresiva o directa

 Utilizar la herramienta o software Matlab para visualizar los términos a


encontrar.

ACTIVIDADES A DESARROLLAR
Problema

Para el desarrollo del siguiente problema se recomienda apoyarse en MATLAB.

Hallar los resultados de simulación del modelo dinámico (algoritmo computacional


Newton Euler) para un robot manipulador de tres eslabones mientras que no se le
aplique ningún par de torsión y nada más la gravedad esté actuando en él; las
condiciones iniciales para las coordenadas generalizadas son:

𝜃1 (0) = 𝜃2 (0) = 𝜃3 (0) = 0 𝑟𝑎𝑑

𝜃1̇ (0) = 𝜃2̇ (0) = 𝜃3̇ (0) = 0 𝑟𝑎𝑑/𝑠

Tomar los parámetros geométricos e inerciales como:

𝑎1 = 𝑎2 = 1𝑚

𝑎3 = 0.5𝑚

𝑚1 = 𝑚2 = 1𝐾𝑔

𝑚3 = 0.5𝐾𝑔

El problema se ha tomado del texto (Kumar, 2010), por lo que se recomienda revisar
el tema en este texto que se encuentra en las referencias bibliográficas propias de
esta unidad 2. Lo anterior ayudará a tomar las convenciones utilizadas.

Libertad de 3 grados de sus matrices de rotación son las siguientes.

cos(𝜃1 ) −𝑠𝑒𝑛(𝜃1 ) 0
𝑄1 = |𝑠𝑒𝑛(𝜃1 ) cos(𝜃1 ) 0|
0 0 1
cos(𝜃2 ) −𝑠𝑒𝑛(𝜃2 ) 0
𝑄2 = |𝑠𝑒𝑛(𝜃2 ) cos(𝜃2 ) 0|
0 0 1
cos(𝜃3 ) −𝑠𝑒𝑛(𝜃3 ) 0
𝑄3 = |𝑠𝑒𝑛(𝜃3 ) cos(𝜃3 ) 0|
0 0 1
Los vectores

[𝑎1 ]1 = [𝑎1 cos(𝜃1 ) 𝑎1 sen(𝜃1 ) 0]𝑇

[𝑎2 ]2 = [𝑎2 cos(𝜃2 ) 𝑎2 sen(𝜃2 ) 0]𝑇

[𝑎3 ]3 = [𝑎3 cos(𝜃3 ) 𝑎3 sen(𝜃3 ) 0]𝑇


Los vectores [𝑑𝑖 ]𝑖 y [𝑟𝑖 ]𝑖+1 para 𝑖 = 1, 2, 3
𝑇
1 1
[𝑑1 ]1 = [ 𝑎1 cos(𝜃1 ) 𝑎 sen(𝜃1 ) 0]
2 2 1
𝑇
1 1
[𝑑2 ]2 = [ 𝑎2 cos(𝜃2 ) 𝑎 sen(𝜃2 ) 0]
2 2 2
𝑇
1 1
[𝑑3 ]3 = [ 𝑎3 cos(𝜃3 ) 𝑎 sen(𝜃3 ) 0]
2 2 3
𝑎1 𝑇
[𝑑1 ]2 = [ 0 0]
2
𝑎2 𝑇
[𝑑2 ]3 = [ 0 0]
2
𝑎3 𝑇
[𝑑3 ]4 = [ 0 0]
2
Los tres eslabones son torres tipo cuadradas

𝑚1 𝑎12 0 0 0
𝐼2 = |0 1 0|
12
0 0 1

𝑚2 𝑎22 0 0 0
𝐼3 = |0 1 0|
12
0 0 1

𝑚3 𝑎32 0 0 0
𝐼4 = |0 1 0|
12
0 0 1
El algoritmo de Newton-Euler

0
[𝜔1 ]1 = [0]
𝜃̇
0
[𝜔̇ 1 ]1 = [0]
𝜃̈

𝑎1 −𝑠𝑒𝑛𝜃1
[𝑐̇1 ]1 = 𝜃̇1 [ 𝑐𝑜𝑠𝜃1 ]
2
0
𝑎1 −𝑠𝑒𝑛𝜃1 𝑎1 𝑐𝑜𝑠𝜃1
[𝑐̈1 ]1 = 𝜃̈1 [ 𝑐𝑜𝑠𝜃1 ] − 𝜃̇12 [𝑠𝑒𝑛𝜃1 ]
2 2
0 0
La aceleración

[𝑔]1 = [0 −𝑔 0]𝑇

Cálculo de las velocidades y aceleraciones

0
[𝜔2 ]2 = [ 0 ]
𝜃̇1 + 𝜃̇2

0
[𝜔̇ 2 ]2 = [ 0 ]
𝜃1̈ + 𝜃2̈
𝑎2
− 𝑠𝑒𝑛𝜃2 (𝜃̇1 + 𝜃̇2 )
2
[𝑐̇2 ]2 = 𝑎2
𝑎1 𝜃̇1 + 𝑐𝑜𝑠𝜃2 (𝜃̇1 + 𝜃̇2 )
2
[ 0 ]
𝑎2 𝑎2
−𝑎1 𝜃̇12 − 𝑠𝑒𝑛𝜃2 (𝜃1̈ + 𝜃2̈ ) − 𝑐𝑜𝑠𝜃2 (𝜃̇1 + 𝜃̇2 )2
2 2
[𝑐̈2 ]2 = 𝑎2 𝑎2
𝑎1 𝜃̈1 + 𝑐𝑜𝑠𝜃2 (𝜃1̈ + 𝜃2̈ ) − 𝑠𝑒𝑛𝜃2 (𝜃̇1 + 𝜃̇2 )2
2 2
[ 0 ]

La aceleración en el segundo eslabón

[𝑔]2 = 𝑄1𝑇 [𝑔]1 = [−𝑔𝑠𝑒𝑛𝜃1 −𝑔𝑐𝑜𝑠𝜃1 0]𝑇

Modelo de cálculo regresivo propuesto por el autor (Kumar, 2010),.

Las leyes de Newton para un cuerpo de masa constante

𝑑𝑐𝑖̇
[𝑓𝑖 ]𝑖 = 𝑚𝑖 [ ] = 𝑚[𝑐̈𝑖 ]𝑖
𝑑𝑡 𝑖

[𝑛𝑖 ]𝑖 = [𝐼𝑖 ]𝑖 [𝜔̇ 𝑖 ]𝑖 + [𝜔𝑖 ]𝑖 𝑥[𝐼𝑖 ]𝑖 [𝜔̇ 𝑖 ]𝑖

Las ecuaciones de balance de fuerza

[𝑓𝑖 ]𝑖 = [𝑓𝑖−1,𝑖 ] − [𝑓𝑖,𝑖+1 ] + 𝑚𝑖 [𝑔]𝑖


𝑖 𝑖

[𝑛𝑖 ]𝑖 = [𝑛𝑖−1,𝑖 ] − [𝑛𝑖,𝑖+1 ] − [𝑑𝑖 ]𝑖 𝑥[𝑓𝑖−1,𝑖 ] − [𝑟𝑖 ]𝑖 𝑥[𝑓𝑖,𝑖+1 ]


𝑖 𝑖 𝑖 𝑖
Reordenando las ecuaciones de forma recursiva.

[𝑓𝑖−1,𝑖 ]𝑖 = [𝑓𝑖 ]𝑖 + [𝑓𝑖,𝑖+1 ]𝑖 − 𝑚𝑖 [𝑔]𝑖

[𝑛𝑖−1,𝑖 ]𝑖 = [𝑛𝑖 ]𝑖 + [𝑛𝑖,𝑖+1 ]𝑖 + [𝑑𝑖 ]𝑖 𝑥[𝑓𝑖−1,𝑖 ]𝑖 + [𝑟𝑖 ]𝑖 𝑥[𝑓𝑖,𝑖+1 ]𝑖

[𝑓4,3 ]3 = [𝑛4,3 ]3 = 0

[𝑓3,4 ]4 = [𝑛3,4 ]4 = 0

SOLUCION DE ECUACIONES DIFERENCIALES

fprintf('\n \t RESMATERIZADO METODO DE EULER\n')

f=input('\n Digite la ecuacion diferencial cuya la forma es: dy/dx=f(x,y)\n','s');

x0=input('\nDigite el primer punto x0:\n');

x1=input('\nDigite el segundo punto x1:\n');

y0=input('\nDigite la condicion inicial y(x0):\n');

n=input('\nDigite el numero de pasos n:\n');

h=(x1-x0)/n;

x2=x0:h:x1;

y1=y0;

fprintf('\n''it x0 x1 y1');

for i=1:n

it=i-1;

x0=x2(i);

x=x0;

x1=x2(i+1);

y=y0;

y1=y0+h*eval(f);

fprintf('\n%2.0f%10.6f%10.6f%10.6f\n',it,x0,x1,y1);
y0=y1;

end

fprintf('\n El punto aproximado y(x1) es = %10.6f\n',y1);


CONCLUSIONES.

 La aplicación de los robots nos permite cumplir de manera óptima la


finalización de las tareas.

 Saber analizar un robot y la forma que se comporta son parte fundamental


para la solución de los problemas.

 Conseguir el objetivo principal de esta actividad identificando sus


principales variables y características esenciales para su funcionamiento y
solución de los temas.

 Saber utilizar la herramienta o software Matlab es ideal para cualquier


solución que se nos presente
BIBLIOGRAFÍA

• Barrientos, Antonio, Peñín, Luis Felipe, and Balaguer, Carlos. (2007).


Fundamentos de robótica (2a. ed.). Recuperado de:
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/detail.action?docID=10566097&p00=fu
ndamentos+de+robotica

• Kumar Saha, Subir. (2000). Introducción a la robótica. Recuperado de:


http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/detail.action?docID=10515179&p00=in
troduccion+a+la+robotica

• Arnaez, E. (2015). Enfoque práctico de la teoría de robots: con aplicaciones de


Matlab. Recuperado de:
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/detail.action?docID=11127145&p00=e
nfoque+practico+a+la+teoria+de+robot

También podría gustarte