Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TUTOR:
Curso:
ROBÓTICA AVANZADA
CEAD – PALMIRA
Noviembre de 2017
INTRODUCCIÓN
Fase 1: Revisar los temas de la Unidad 2 del curso, haciendo uso de las referencias
bibliográficas dadas en el entorno de conocimiento.
Problema
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 𝑟𝑎𝑑/𝑠
𝑎1=𝑎2=1𝑚
𝑎3=0.5𝑚
𝑚1=𝑚2=1𝐾𝑔
𝑚3=0.5𝐾𝑔
PASO 2 - REALIZAR EL DISEÑO DINÁMICO DE UN ROBOT MANIPULADOR
Grados de libertad
El robot será del tipo manipulador, y contará con cuatro eslabones y tres grados de libertad
(movimiento que puede realizar cada articulación con respecto a la anterior). Cada uno de
los grados de libertad será una articulación del tipo rotacional (o rotativa). Tanto los tres
primeros eslabones como las tres articulaciones (o grados de libertad para este caso)
servirán para posicionar el extremo del robot en la posición deseada y permitirá realizar
ejercicios de posicionamiento espacial.
Estructura Mecánica
Un Robot está constituido por una serie de elementos o eslabones unidos mediante
articulaciones que permiten un movimiento relativo entre cada dos eslabones consecutivos.
La constitución física de la gran parte de los robots industriales guarda cierta similitud con
la anatomía del brazo humano, es decir, que poseen ciertas características antropomórficas,
por lo que en ocasiones a los distintos elementos que componen el robot se les denomina en
términos como cuerpo, brazo, codo, muñeca. Cada articulación provee al robot de al menos
un ‘grado de libertad’, o bien, cada uno de los movimientos independientes que puede
realizar cada articulación con respecto a la anterior, se denomina "Grado De Libertad"
(GDL).
Tipos de Configuraciones
Configuración cartesiana: Posee tres movimientos lineales, es decir, tiene tres grados de
libertad, los cuales corresponden a los movimientos localizados en los ejes X, Y y Z. Los
movimientos que realiza este robot entre un punto y otro son con base en interpolaciones
lineales.
Interpolación, en este caso, significa el tipo de trayectoria que realiza el manipulador
cuando se desplaza entre un punto y otro.
A la trayectoria realizada en línea recta se le conoce como interpolación lineal y a la
trayectoria hecha de acuerdo con el tipo de movimientos que tienen sus articulaciones se
le llama interpolación por articulación.
i 𝜶𝒊 𝜶𝒊 − 𝟏 𝜽𝒊 𝒅𝒊
1 0 0 𝜃1 0
2 0 𝑙1 𝜃2 0
3 0 𝑙2 𝜃3 0
Tabla 1.
Figura 1
i 𝜶𝒊 𝜶𝒊 − 𝟏 𝜽𝒊 𝒅𝒊
1 0 0 𝜃1 0
2 -90 𝑙1 𝜃2 0
3 0 𝑙2 𝜃3 d3
4 -90 𝑙3 𝜃4 d4
5 90 0 𝜃5 0
6 -90 0 𝜃6 0
Tabla 2.
MODELAMIENTO CINEMÁTICO DE UN ROBOT SCARA.
Figura 3.
A partir de la Figura 1.
Sean 𝑐𝑖 = cos 𝜃𝑖 y 𝑠𝑖 = sin 𝜃𝑖, las matrices de transformación serán las siguientes.
𝑐1 −𝑠1 0 0
0 𝑠1 𝑐1 0 0
𝑇=[ ]
1 0 0 1 0
0 0 0 1
𝑐1 −𝑠2 0 𝑙1
1 𝑠2 𝑐2 0 0
𝑇=[ ]
2 0 0 1 0
0 0 0 1
𝑐3 −𝑠3 0 𝑙2
2 𝑠3 𝑐3 0 0
𝑇=[ ]
3 0 0 1 0
0 0 0 1
Entonces el modelo directo seria:
𝑐123 −𝑠123 0 𝑙1𝑐1 + 𝑙2𝑐2
0 0 1 2 𝑠123 𝑐123 0 𝑙1𝑠1 + 𝑙2𝑠2
𝑇= 𝑇 𝑇 𝑇=[ ]
3 1 2 3 0 0 1 0
0 0 0 1
Y por último expresamos:
𝑐12 = 𝑐1𝑐2 − 𝑠1𝑠2
𝑠12 = 𝑐1𝑠2 + 𝑠1𝑐2
𝑐123 = 𝑐12𝑐13 − 𝑠12𝑠3
𝑠123 = 𝑠12𝑐3 + 𝑐12𝑠3
𝑐1 −𝑠1 0 0 𝑐2 −𝑠2 0 𝑙1
0 𝑠1 𝑐1 0 0 1 0 0 1 0
𝑇=[ ] 𝑇=[ ]
1 1 0 1 0 2 −𝑠2 −𝑐2 0 0
0 0 0 1 0 0 0 1
𝑐3 −𝑠3 0 𝑙2 𝑐4 −𝑠4 0 𝑙3
2 𝑠3 𝑐3 0 0 3 0 0 1 𝑑4
𝑇=[ ] 𝑇=[ ]
3 1 0 1 𝑑3 4 −𝑠4 −𝑐4 0 0
0 0 0 1 0 0 0 1
𝑐5 −𝑠5 0 0 𝑐6 −𝑠6 0 0
4 0 0 −1 0 5 0 0 1 0
𝑇=[ ] 𝑇=[ ]
5 𝑠5 𝑐5 0 0 6 −𝑠6 −𝑐6 0 0
0 0 0 1 0 0 0 1
El modelo directo seria por producto de matrices:
𝑛𝑥 𝑠𝑥 𝑙𝑥 𝑥𝐺
0 𝑛𝑦 𝑠𝑦 𝑙𝑥 𝑦𝐺
𝑇=[ ]
6 𝑛𝑧 𝑠𝑧 𝑙𝑧 𝑧𝐺
0 0 0 1
Podemos decir que
𝑥𝐺 = 𝑙1𝑐1 + 𝑙2𝑐1𝑐2 + 𝑙3𝑐1𝑐23 − 𝑑3𝑠1 − 𝑑4𝑐1𝑠23 + 𝑑𝐺𝑙𝑥
𝑦𝐺 = 𝑙1𝑠1 + 𝑙2𝑠1𝑐2 + 𝑙3𝑠1𝑐23 + 𝑑3𝑐1 − 𝑑4𝑠1𝑠23 + 𝑑𝐺𝑙𝑦
𝑧𝐺 = −𝑙2𝑠2 − 𝑙3𝑠23 + 𝑑𝐺𝑙𝑧 + 𝑑𝐵
Se emplea la convención D-H para su análisis del robot scara de cuatro articulaciones.
I 𝜽𝒊 𝒅𝒊 𝜶𝒊 − 𝟏 𝜶𝒊
1 𝜃1 di 𝑙1 0
2 𝜃2 d2 𝑙2 0
3 0 0 0 0
4 𝜃4 d3 0 0
Tabla 3
𝑛𝑥 𝑠𝑥 𝑙𝑥 𝑥𝐺
0 𝑛𝑦 𝑠𝑦 𝑙𝑥 𝑦𝐺
𝑇=[ ]
4 𝑛𝑧 𝑠𝑧 𝑙𝑧 𝑧𝐺
0 0 0 1
El modelo dinámico tiene por objetivo conocer la relación entre el movimiento del robot y
las fuerzas implicadas en el mismo.
Los parámetros dimensionales como longitud, masas e inercias de los elementos del robot.
Obtener el modelo dinámico del robot es complejo, sin embargo en imprescindible para:
Simulación del movimiento.
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
𝒅(𝒎𝒗)
∑𝑭 = 𝒅𝒕
𝒅(𝑰𝝎)
∑𝑻 = = 𝑰𝝎̇ + 𝝎 × (𝑰𝝎)
𝒅𝒕
Modelo dinámico inverso: determina las fuerzas y pares determinado por 𝜏(𝑡) = 𝑔(𝜃(𝑡)).
Formulación de Euler-Lagrange
Se utiliza la formulación Lagrangiana o método de Euler-Lagrange basada en
consideraciones energéticas, es sistemático facilitando la formulación de un modelo
complejo de un robot.
Ecuación :
𝑳 = 𝑬𝒄 − 𝑬𝒑
𝑳 = 𝑓𝑢𝑛𝑐𝑖ó𝑛 𝐿𝑎𝑔𝑟𝑎𝑛𝑔𝑖𝑎𝑛𝑎.
𝑬𝒄 = 𝑒𝑛𝑒𝑟𝑔í𝑎 𝑐𝑖𝑛é𝑡𝑖𝑐𝑎.
𝑬𝒑 = 𝑒𝑛𝑒𝑟𝑔í𝑎 𝑝𝑜𝑡𝑒𝑛𝑐𝑖𝑎𝑙.
𝒅 𝝏𝑳 𝝏𝑳
𝝉𝒊 = −
𝒅𝒕 𝝏𝒒̇ 𝒊 𝝏𝒒𝒊
𝝉 = 𝑫𝒒̈ + 𝑯` + 𝑪
𝜕𝑑𝑖𝑗 1 𝜕𝑑𝑗𝑘
𝒉𝒊𝒋 = ∑𝑛𝑘=1 ∑𝑛𝑗=1 ℎ𝑖𝑗 𝑞̇ 𝑖 𝑞̇ 𝑘 con 𝒉𝒊𝒋 = −2
𝜕𝑞𝑘 𝜕𝑞1
Formulación newton-Euler
𝒅(𝑰𝒊 𝝎𝒊 )
∑ 𝑻𝒊 = = 𝑰𝒊 𝝎̇𝒊 + 𝝎𝒊 × (𝑰𝒊 𝝎𝒊 )
𝒅𝒕
N-E1. Asignar a cada eslabón un sistema de referencia de acuerdo con las normas D-H.
𝒊𝒔𝒊 coordenadas del centro de masa del eslabón 𝑖 respecto al sistema {𝑆𝑖 }.
𝒊𝑰𝒊 matriz de inercia del eslabón 𝑖 expresado en un sistema paralelo al {𝑆𝑖 } y con el
origen en el centro de masas del eslabon.
−𝟏
N-E3. Obtener las matrices de rotación 𝒊 − 𝟏𝑹𝒊 y sus inversas 𝒊 − 𝟏𝑹𝒊 = (𝒊 − 𝟏𝑹𝒊 ) =
𝑻
(𝒊 − 𝟏𝑹𝒊 )
𝑪𝜽𝒊 −𝑪𝜶𝒊 𝑺𝜽𝒊 𝑺𝜶𝒊 𝑺𝜽𝒊
𝒊 − 𝟏𝑹𝒊 = [ 𝑺𝜽𝒊 𝑪𝜶𝒊 𝑪𝜽𝒊 −𝑺𝜶𝒊 𝑪𝜽𝒊 ]
𝟎 𝑺𝜶𝒊 𝑪𝜶𝒊
𝒊𝑹𝒊−𝟏 (𝒊 − 𝟏𝝎𝒊−𝟏 + 𝒛𝟎 𝒒̇ 𝒊 )
𝒊𝝎𝒊 = {
𝒊𝑹𝒊−𝟏 𝒊 − 𝟏𝝎𝒊−𝟏
𝒊𝒗̇ 𝒊 =
𝒊𝑹𝒊−𝟏 (𝒛𝟎 𝒒̈ 𝒊 + 𝒊 − 𝟏𝒗̇ 𝒊−𝟏 ) + 𝒊𝝎𝒊 × 𝒊𝒑𝒊 + 2𝒊𝝎𝒊 × 𝒊𝑹𝒊−𝟏 𝒛𝟎 𝒒̇ 𝒊 + 𝒊𝝎𝒊 × (𝒊𝝎𝒊 × 𝒊𝒑𝒊 )
{
𝒊𝒏𝒊 𝑻 𝒊𝑹𝒊−𝟏 𝒛𝟎
𝝉𝒊 =
𝒊𝒇 𝑻 𝒊𝑹𝒊−𝟏 𝒛𝟎
𝒊
{
L1=link([0,1,0,0,0],'standard')
L={L1}
r=robot(L)
plot(r[0])
view([0,0])
pause
view(0,90)
syms theta d a alpha
% MTH con rotacion alrededor del eje Z
rotz = [cos(theta) -sin(theta) 0 0
sin(theta) cos(theta) 0 0
0 0 1 0
0 0 0 1]
% MTH con translacion a lo largo del eje Z
pz = [1 0 0 0
0 1 0 0
0 0 1 d
0 0 0 1]
% MTH con translacion a lo largo del eje X
px = [1 0 0 a
0 1 0 0
0 0 1 0
0 0 0 1]
% MTH con rotacion alrededor del eje X
rotx = [1 0 0 0
0 cos(alpha) -sin(alpha) 0
0 sin(alpha) cos(alpha) 0
0 0 0 1]
% Pos multiplicacion de MTH’S
denavit=rotz*pz*px*rotx
% denavit =
%
% [ cos(theta), -cos(alpha)*sin(theta), sin(alpha)*sin(theta),
a*cos(theta)]
% [ sin(theta), cos(alpha)*cos(theta), -sin(alpha)*cos(theta),
a*sin(theta)]
% [ 0, sin(alpha), cos(alpha), d]
% [ 0, 0, 0, 1]
Método de Euler en matlab
fprintf('\n \tRESOLUCION DE ECUACIONES DIFERENCIALES POR EL METODO DE
EULER\n')
f=input('\nIngrese la ecuacion diferencial de la forma:
dy/dx=f(x,y)\n','s');
x0=input('\nIngrese el primer punto x0:\n');
x1=input('\nIngrese el segundo punto x1:\n');
y0=input('\nIngrese la condicion inicial y(x0):\n');
n=input('\nIngrese el numero de pasos n:\n');
h=(x1-x0)/n;
xs=x0:h:x1;
y1=y0;
fprintf('\n''it x0 x1 y1');
for i=1:n
it=i-1;
x0=xs(i);
x=x0;
x1=xs(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);
ecuación diferencial: y'= √(x^2+y^2)
Método de Euler para aproximar y(2.3) teniendo en cuenta número de pasos n=3 si
la condición inicial es y(2)=0.5
Valor total y(2.3) = 1.166470 según la simulación
CONCLUSIONES.
La libertad de un robot está dada por grados, entre más grados de libertad este posea
más funcionalidad y movimiento tendrá nuestro prototipo. La aplicación de los
robots nos permite cumplir de manera óptima la agilización de tareas. Un robot es
una tarea que abarca gran cantidad de conocimientos, saber analizar un robot y la
forma que se comporta son algunas de ellas.
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=fundamentos+de+robotica