SlideShare una empresa de Scribd logo
DISEÑO,
SIMULACIÓN Y
CONTROL DE LA
DINÁMICA DE
UN ROBOT
PLANAR DE DOS
GRADOS DE
LIBERTAD
Realidad virtual y simulación
B. Amauri Montoya Duhart
Prof. José Eduardo Chairez Veloz
12/12/14
1
1.Contenidos
1. CONTENIDOS 1
2. RESUMEN 3
3. INTRODUCCIÓN 4
4. OBJETIVO 6
5. MARCO TEÓRICO 6
5.1 CINEMÁTICA DIRECTA 6
5.2 CINEMÁTICA INVERSA 9
5.3 ESPACIO DE TRABAJO, SINGULARIDADES E ÍNDICE DE MANIPULABILIDAD 10
5.4 DINÁMICA 11
5.5 CONTROL 13
5.6 SIMULACIÓN 16
6. DESARROLLO 17
6. 1 CINEMÁTICA DIRECTA 17
6.2 CINEMÁTICA INVERSA 20
6.3 ESPACIO DE TRABAJO, SINGULARIDADES E ÍNDICE DE MANIPULABILIDAD 22
6.4 DINÁMICA 23
6.5 CAMBIOS 29
6.6 CONTROL 32
6.7 SIMULACIÓN 33
2
7. RESULTADOS 39
7.1 CIRCUNFERENCIA FUERA DEL ORIGEN 39
7.2 CIRCUNFERENCIA EN EL ORIGEN 46
8. CONCLUSIONES 49
9. REFERENCIAS 51
10. ANEXO 1. MODELO DE SIMULINK® 52
3
2.Resumen
En las páginas siguientes se detalla el fundamento teórico, junto con un método
específico, para completar exitosamente la simulación de un manipulador robótico de
dos grados de libertad. En este documento se pretende mostrar el proceso general de
modelado de sistemas dinámicos, específicamente robóticos, para poder realizar el
análisis de su comportamiento de una manera más comprensible.
Las líneas aquí incluidas versan acerca de temas variados, desde el modelado
matemático del movimiento de un robot, el modelado matemático de las fuerzas
necesarias para controlarlo, el diseño y la aplicación de leyes de control al sistema, así
como la implementación de modelos matemáticos dentro de Simulink® y MATLAB® de
MathWorks y la integración de estos con mundos virtuales tridimensionales generados
mediante el uso de herramientas de CAD y de Realidad virtual, como V-Realm Builder©.
El problema específico que se resuelve consiste en modelar el comportamiento de un
brazo robótico planar de 2 grados de libertad (GDL), para luego aplicar distintas leyes de
control al modelo obtenido y comparar su rendimiento con base en el trazado de
trayectorias indicadas por el usuario a través de un entorno virtual y de software de
desarrollo matemático, como MATLAB®.
Se guiará al lector a través de cada una de las etapas que se desarrollaron parcialmente
para construir de manera progresiva el texto presentado. Se espera que el lector halle
de su interés lo que aquí se expone y que, así mismo, le resulte útil en sus propios
estudios en el campo de la Robótica.
4
3.Introducción
“La Robótica es un campo relativamente joven de la tecnología moderna que va más allá
de los límites de la ingeniería tradicional. Para comprender la complejidad de los robots
y de sus aplicaciones, se requiere de conocimientos en ingeniería eléctrica, ingeniería
mecánica, ingeniería industrial y de sistemas, ciencias de la computación, economía y
matemáticas.” (Spong, 2004)
Un robot se define oficialmente por el Robot Institute of America como un manipulador
multifuncional reprogramable diseñado para mover partes, materiales, herramientas o
dispositivos especiales a través de movimientos variables programados para la
realización de una variedad de tareas.
Históricamente, este término apareció por vez primera en la obra del autor checo Karel
Čapek, Rossum’s Universal Robots, R.U.R. en donde se plantea la temática de seres
humanoides que sirven como esclavos o autómatas a las personas. Se dice que Čapek
no hallaba una manera de llamar a estos entes que lo convenciera, entonces, su hermano
Josef le propueso utilizar robot que tiene su origen en la palabra checa robota, que
viene a significar “labor forzada”, servicio, esclavo… Este nombre fue utilizado en el
imperio austro-húngaro hasta 1848. La palabra inventada por Josef Čapek sirve para
designar a las máquinas trabajadoras o serviles.
Ya en términos técnicos, cuatro áreas son fundamentales para el análisis, modelado,
control y simulación de un robot. Dichas áreas son la Cinemática del robot, la Dinámica
del robot, Teoría de control y la Realidad virtual. Cada una de ellas se bosqueja en esta
sección.
La Cinemática es la división de la mecánica que se encarga de realizar la descripción
del movimiento de los cuerpos, sin prestar atención a sus causas ni efectos sobre otros
cuerpos. Por lo tanto, no se involucran variables de fuerza o energía, únicamente
desplazamientos, velocidades y aceleraciones.
5
Como una aplicación específica de ésta, se encuentra la Cinemática del robot, que se
interesa por describir el movimiento de un cuerpo controlable con varios grados de
libertad y marcos de referencia, estableciendo las relaciones necesarias para migrar
entre ellos. Dentro de ella, se subdividen la Cinemática directa y Cinemática inversa.
La primera genera las expresiones que permiten ir desde el espacio de coordenadas
articulares del robot hacia el espacio de las coordenadas del extremo de éste; la segunda
trabaja en sentido contrario; partiendo de las coordenadas del extremo para determinar
el valor que debe tomar cada una de las articulaciones del brazo.
Sin embargo, con la intención de controlar un sistema mecánico, se deben conocer las
relaciones entre las fuerzas y pares de entrada al sistema y sus correspondientes
movimientos. Esto es justamente el objeto de estudio de la Dinámica del robot: conocer
las expresiones que asocien la entrada (fuerza o par) de cada articulación con sus
respectivas posiciones, velocidades y aceleraciones articulares. En la etapa de control,
el modelo derivado mediante la Dinámica del robot será crucial para manipular según
nuestro deseo al brazo.
La Teoría de control es un campo interdisciplinario de la ingeniería y las matemáticas,
que trata con el comportamiento de sistemas dinámicos. Tiene como propósito lograr que
estos sigan determinada referencia a lo largo del tiempo. Para lograrlo, un controlador
manipula la entrada al sistema para obtener el efecto deseado en la salida del mismo;
es indispensable para el funcionamiento del controlador tener una retroalimentación de
la salida.
El Control automático desempeña un papel importante en los procesos de manufactura,
industriales, navales, aeroespaciales, robótica, económicos, biológicos, y varios más.
Por ultimo, la Realidad virtual es una ciencia basada en el empleo de ordenadores y
otros dispositivos, cuyo fin es producir una apariencia de realidad que permita al usuario
tener la sensación de estar presente en ella. Se consigue esto mediante la generación
por ordenador de un conjunto de imágenes que son contempladas por el usuario a través
de un dispositivo denominado visor o ventana.
6
4.Objetivo
Objetivo general: Diseñar un elemento virtual de un robot manipulador de dos grados
de libertad a través de un archivo VRML y asociar su dinámica con la herramienta de
cálculo MATLAB® para su visualización en un ordenador.
Objetivos específicos:
 Obtener la cinemática a través de los parámetros de Denavit-Hartenberg y
el enfoque geométrico para su posterior simulación con archivos VRML
 Obtener la dinámica de un robot manipulador planar de 2 GDL a través de la
formulación Euler-Lagrange para su posterior simulación en archivo VRML.
 Conocer las leyes de control para sistemas dinámicos para su posterior
simulación con archivos VRML.
 Utilizar interfaces de realidad virtual y obtener información de la misma.
5.Marco teórico
5.1 Cinemática directa
Para llevar a cabo el análisis cinemático se pueden utilizar los métodos gráfico y
mediante matrices de transformación homogénea, en particular el algoritmo de
Denavit-Hartenberg (D-H).
En este documento se derivan las expresiones que describen las posiciones y
velocidades de cada una de las variables de un brazo robot planar con dos grados de
libertad (GDL). Aunque sencilla, esta configuración de brazo permitirá aplicar los
conceptos de interés para conseguir el adecuado entendimiento de su uso, con la
intención de emplear los resultados obtenidos como futura referencia para el control de
nuestro sistema.
7
Se completará el análisis cinemático directo mediante el algoritmo de D-H, y también se
utilizará la matriz Jacobiana para encontrar las relaciones entre las velocidades
articulares del robot planar y las del efector final.
Dentro de este texto se empleará la notación siguiente: sen 𝜃 = 𝑠 𝜃, cos 𝜃 = 𝑐 𝜃 y
sen 𝜃𝑖 = 𝑠𝑖, cos 𝜃𝑖 = 𝑐𝑖, cuando sea claro.
El algoritmo D-H hace uso de matrices de transformación homogénea para la cinemática
directa. Una matriz de transformación homogénea es una matriz de 4x4 y permite llevar
a cabo la transformación de coordenadas homogéneas para cambiar de base. En otras
palabras, es útil para convertir un vector entre distintos marcos de referencia. En el caso
de un robot, estos marcos de referencia corresponden a cada uno de los eslabones que
lo forman. Una matriz de transformación homogénea tiene la forma siguiente (Barrientos,
1996):
[
𝑹 𝑻
𝒑 𝑤
]
Donde 𝑹 es una matriz de rotación de 3x3; 𝑻, un vector de traslación de 3x1; 𝒑, un vector
de 3x1 de perspectiva y 𝑤 es un factor de escalado. Al trabajar con la cinemática del
robot, 𝒑 será siempre un vector nulo y 𝑤, será igual a uno.
En el caso particular del algoritmo D-H, la matriz 𝑨𝑖−1
𝑖
que relaciona a los marcos del
eslabón 𝑖 y el eslabón 𝑖 − 1 se construye como una secuencia específica de movimientos
con respecto al marco actual de referencia: una rotación 𝜃𝑖 alrededor del eje 𝑧𝑖−1, una
traslación 𝑑𝑖 a lo largo del mismo eje, una traslación 𝑎𝑖 a lo largo del eje 𝑥𝑖 y finalmente
una rotación 𝛼𝑖 en éste (Spong, 2004). En notación matricial:
𝑨𝑖−1
𝑖
= 𝑅𝑜𝑡(𝑧, 𝜃𝑖)𝑇𝑟𝑎𝑛𝑠(𝑧, 𝑑𝑖)𝑇𝑟𝑎𝑛𝑠(𝑥, 𝑎𝑖)𝑅𝑜𝑡(𝑥, 𝛼𝑖)
𝑨𝑖−1
𝑖
= [
𝑐 𝜃 𝑖
−𝑠 𝜃 𝑖
0 0
𝑠 𝜃 𝑖
𝑐 𝜃 𝑖
0 0
0 0 1 0
0 0 0 1
] [
1 0 0 0
0 1 0 0
0 0 1 𝑑𝑖
0 0 0 1
] [
1 0 0 𝑎𝑖
0 1 0 0
0 0 1 0
0 0 0 1
] [
1 0 0 0
0 𝑐 𝛼𝑖
−𝑠 𝛼𝑖
0
0 𝑠 𝛼𝑖
𝑐 𝛼𝑖
0
0 0 0 1
]
8
𝑨𝑖−1
𝑖
= [
𝑐 𝜃 𝑖
−𝑠 𝜃 𝑖
𝑐 𝛼𝑖
𝑠 𝜃 𝑖
𝑠 𝛼𝑖
𝑎𝑖 𝑐 𝜃 𝑖
𝑠 𝜃 𝑖
𝑐 𝜃 𝑖
𝑐 𝛼𝑖
−𝑐 𝜃 𝑖
𝑠 𝛼𝑖
𝑎𝑖 𝑠 𝜃 𝑖
0 𝑠 𝛼𝑖
𝑐 𝛼𝑖
𝑑𝑖
0 0 0 1
] (5.1)
Donde 𝜃𝑖, 𝑑𝑖, 𝑎𝑖 y 𝛼𝑖 reciben el nombre de parámetros de D-H.
Por otra parte, también se requiere conocer la relación entre las velocidades del extremo
del brazo y las velocidades de las coordenadas articulares de él. Aquí es necesaria una
matriz adicional conocida como Jacobiana o simplemente el Jacobiano del robot
(Barrientos, 1996). Considerando para un robot de planar de 2 GDL que:
𝑥 = 𝑓1(𝑞1, 𝑞2)
𝑦 = 𝑓2(𝑞1, 𝑞2)
Si se derivan estas expresiones con respecto al tiempo, se tiene:
𝑑𝑥
𝑑𝑡
=
𝑑
𝑑𝑡
𝑓1(𝑞1, 𝑞2)
𝑑𝑦
𝑑𝑡
=
𝑑
𝑑𝑡
𝑓2(𝑞1, 𝑞2)
Estas ecuaciones se pueden agrupar dentro de una matriz, el Jacobiano 𝑱, quedando:
[
𝑥̇
𝑦̇
] = 𝑱𝒒̇
𝑱 = [
𝜕𝑓1
𝜕𝑞1
𝜕𝑓1
𝜕𝑞2
𝜕𝑓2
𝜕𝑞1
𝜕𝑓2
𝜕𝑞2
] (5.2)
9
Aunque en un caso más general:
𝑱 =
[
𝜕𝑓1
𝜕𝑞1
⋯
𝜕𝑓1
𝜕𝑞 𝑛
⋮ ⋱ ⋮
𝜕𝑓𝑛
𝜕𝑞1
⋯
𝜕𝑓𝑛
𝜕𝑞 𝑛]
Donde se incluyen variables en un espacio tridimensional como son las coordenadas
cartesianas y los ángulos de Euler del marco asociado al efector final, que proporcionan,
en suma, las velocidades lineales y angulares de éste.
También a partir del Jacobiano, es posible relacionar las aceleraciones articulares y las
del efector.
Si se deriva
[
𝑥̇
𝑦̇
] = 𝑱𝒒̇
De acuerdo a la regla del producto, obtenemos:
[
𝑥̇
𝑦̇
] = [
𝑑
𝑑𝑡
𝑱(𝑞)] 𝒒̇ + 𝑱(𝑞)𝒒̈ (5.2.1)
5.2 Cinemática inversa
Este tema se preocupa por establecer ecuaciones que permitan ir desde el espacio del
efector hacia el espacio articular del robot.
En el robot que se analizará, el método gráfico será suficiente para completar la
cinemática inversa, ya que presenta cierta simplicidad geométrica y se pueden deducir
las relaciones únicamente con trigonometría. Dicho método consiste simplemente en
resolver los triángulos formados por los eslabones y el vector posición del extremo del
brazo, con respecto al marco base (Spong, 2004).
Para robots más complicados, en cambio, existen otras técnicas que aquí no se discuten
(Barrientos, 1996).
10
5.3 Espacio de trabajo, singularidades e índice de manipulabilidad
El espacio de trabajo de un robot se define como el volumen total barrido por el efector
final, mientras el manipulador ejecuta todos sus movimientos posibles. Se encuentra
limitado por la geometría del robot, así como por las restricciones mecánicas de las
articulaciones. Este espacio suele dividirse en espacio alcanzable y espacio diestro, el
primero siendo el conjunto de puntos que puede alcanzar el manipulador; el segundo, un
subconjunto del primero, que el manipulador puede alcanzar con un orientación arbitraria
del efector final.
Dentro de las posibles configuraciones del brazo robot, existen algunas de especial
interés. Éstas reciben el nombre de singularidades o configuraciones singulares.
Una singularidad se define como un arreglo de las coordenadas articulares del
manipulador para el cual el rango de su Jacobiano decrece. Esto significa que dos o más
vectores de velocidad son linealmente dependientes.
El análisis de singularidades adquiere especial importancia debido a las siguientes
razones:
1. Representan configuraciones desde las cuales ciertas direcciones de
movimiento podrían no ser alcanzables.
2. En una singularidad, puede ocurrir que velocidades acotadas del efector final
correspondan a velocidades articulares no acotadas.
3. En una singularidad, puede ocurrir que acotadas del efector final
correspondan a fuerzas y pares articulares no acotados.
4. Las singularidades sueles (no siempre) corresponder a puntos en los límites
del espacio de trabajo, es decir, puntos de máximo alcance para el
manipulador.
11
5. Las singularidades corresponden a puntos en el espacio de trabajo que
podrían dejar de ser alcanzables ante ligeras perturbaciones de los
parámetros de los eslabones.
6. Cerca de una singularidad, no existirá una solución única al problema
cinemático inverso. Esto significa que no habrá solución o que habrán
infinitas soluciones.
El último punto que se plantea en este apartado es sobre el índice de manipulabilidad.
La manipulabilidad es una medida que permite cuantificar la calidad de la configuración
interna de un robot y puede ser utilizada en consecuencia dentro de un marco de
optimización como ayuda en la solución de la cinemática inversa.
Para robots no redundantes, esto es, que tienen únicamente la cantidad de GDL
requeridos para posicionarse en su espacio y no más; se define el índice de
manipulabilidad de la siguiente forma (Spong, 2004):
𝜔 = √det 𝑱𝑱 𝑻 = │𝜆1 𝜆2 ⋯ 𝜆 𝑚│ = │ det 𝑱 │ (5.3)
Este índice será igual a cero si y sólo si el rango de 𝑱 es menor a 𝑚 (GDL del robot).
5.4 Dinámica
Existen varios algoritmos para completar el análisis dinámico del robot, dos muy
conocidos son Newton-Euler y Euler-Lagrange. El primero se basa en el equilibrio de
fuerzas y se puede volver demasiado complicado para varios GDL; el segundo, en
cambio, considera la energía del sistema, lo cual simplifica el trabajo (Spong, 2004).
12
La formulación de Euler-Lagrange parte de una función llamada Lagrangiano, ℒ(𝑞, 𝑞̇),
definida como:
ℒ(𝑞, 𝑞̇) = 𝐾(𝑞, 𝑞̇) − 𝑈(𝑞) (5.4)
Donde 𝐾 es la energía cinética del sistema y 𝑈, la potencial.
𝐾𝑖 =
1
2
𝑚𝑖 𝑣𝑖
𝑇
𝑣𝑖 +
1
2
𝐼𝑖 𝑞̇1
2
(5.5) 𝑈𝑖 = 𝑚𝑖 𝑔ℎ𝑖 (5.6)
𝑚𝑖: masa del eslabón 𝑖
𝑣𝑖: velocidad del eslabón 𝑖
𝐼𝑖: momento de inercia del centro de masa del eslabón 𝑖
ℎ𝑖: altura del centro de masa del eslabón 𝑖 con respecto al marco base.
Para el caso particular del robot de 2 GDL:
ℒ(𝑞, 𝑞̇) = 𝐾1(𝑞, 𝑞̇) + 𝐾2(𝑞, 𝑞̇) − 𝑈1(𝑞) − 𝑈2(𝑞) (5.7)
La formulación completa es la siguiente:
𝑑
𝑑𝑡
𝜕ℒ
𝜕𝑞̇ 𝑖
−
𝜕ℒ
𝜕𝑞𝑖
= 𝜏𝑖 (5.8)
13
Sin embargo, si se toma en cuenta a (4) y que la energía potencial, 𝑈, no depende de la
velocidad, por lo que
𝜕𝑈1
𝜕𝑞̇ 𝑖
= 0, se puede emplear la forma equivalente:
𝑑
𝑑𝑡
𝜕
𝜕𝑞̇ 𝑖
(𝐾1 + 𝐾2 − 𝑈1 − 𝑈2) −
𝜕
𝜕𝑞𝑖
(𝐾1 + 𝐾2 − 𝑈1 − 𝑈2) = 𝜏𝑖
𝑑
𝑑𝑡
(
𝜕𝐾1
𝜕𝑞̇ 𝑖
+
𝜕𝐾2
𝜕𝑞̇ 𝑖
) −
𝜕𝐾1
𝜕𝑞 𝑖
−
𝜕𝐾2
𝜕𝑞 𝑖
+
𝜕𝑈1
𝜕𝑞 𝑖
+
𝜕𝑈2
𝜕𝑞 𝑖
= 𝜏𝑖 (5.9)
Donde 𝜏𝑖 es la fuerza o par aplicada al eslabón 𝑖-ésimo.
Mediante el método descrito se obtendrá un sistema de 𝑛 ecuaciones, donde 𝑛 es el
número de GDL. Estas ecuaciones dependerán de las variables articulares 𝑞, 𝑞̇ y 𝑞̈; luego
de obtenerlas, resulta conveniente para el control del brazo escribirlas de la siguiente
manera:
𝑴(𝒒)𝒒̈ + 𝑪(𝒒, 𝒒̇ )𝒒̇ + 𝑮(𝒒) = 𝝉 (5.10)
Donde 𝑴 es la matriz de inercias, 𝑪 es la matriz de aceleraciones de Coriolis y 𝑮 es la
matriz de componentes gravitacionales,𝒒̈ , 𝒒̇ y 𝝉 son vectores de 𝑛𝑥1 con las
aceleraciones, velocidades y entradas articulares (Barrientos, 1996) (González Elías &
Díaz Domínguez, 2005).
5.5 Control
Existen ciertas definiciones que conviene conocer cuando se estudia el control
automático. Algunas son (Contreras Montes, n.d.):
 Señal de salida: es la variable que se desea controlar (posición, velocidad,
presión, temperatura). También se denomina variable controlada.
 Señal de referencia: es el valor que se desea que alcance la señal de salida.
 Error: es la diferencia entre la señal de referencia y la señal de salida real.
 Señal de control: es la señal que produce el controlador para modificar la variable
controlada de tal forma que se disminuya, o elimine, el error.
14
 Planta: es el elemento físico que se desea controlar. Planta puede ser: un motor,
un horno, un sistema de disparo, un sistema de navegación, un tanque de
combustible o, en nuestro caso, un robot.
 Sistema: consiste en un conjunto de elementos que actúan coordinadamente
para realizar un objetivo determinado.
 Perturbación: es una señal que tiende a afectar la salida del sistema, desviándola
del valor deseado.
 Sistema de control en lazo cerrado: es aquel en el cual continuamente se está
monitoreando la señal de salida para compararla con la señal de referencia y
calcular la señal de error, la cual a su vez es aplicada al controlador para generar
la señal de control y tratar de llevar la señal de salida al valor deseado. También
es llamado control realimentado.
 Sistema de control en lazo abierto: en estos sistemas de control la señal de
salida no es monitoreada para generar una señal de control.
Una ley de control muy común y relativamente sencilla es el control proporcional
integrativo derivativo o PID. Éste control puede aplicarse en diferentes maneras,
prescindiendo en algunos sistemas de alguna de sus componentes.
La ley general es:
𝒖 = 𝒌 𝑷 𝒆 + 𝒌 𝑰∫ 𝒆𝒅𝒕 + 𝒌 𝑫
𝒅
𝒅𝒕
𝒆 (5.11)
Donde 𝑒 es el error y 𝑘 𝑃, 𝑘𝐼, y 𝑘 𝐷 son las ganancias del controlador.
Para nuestro caso particular, se emplea una forma modificada de control PID, conocida
como control con compensación de gravedad, que consiste en un control PD al cual se
suma el término no lineal de la ecuación dinámica del sistema, con la intención de que,
al existir en ambos miembros de la ecuación, se anule la no linealidad del sistema.
𝒖 = 𝒌 𝑷 𝒆 + 𝒌 𝑫
𝒅
𝒅𝒕
𝒆 + 𝒈(𝒒 𝟏, 𝒒 𝟐, … 𝒒 𝒎) (5.12)
15
Sin embargo, existen otras leyes que también se aplican al control de sistemas
dinámicos, aportando distintos beneficios y ventajas. Un ejemplo de esto es el control
por Modos deslizantes.
El control por modos deslizantes consiste en definir una ley de control que conmuta a
alta frecuencia la cual consigue llevar el estado del sistema a una superficie denominada
superficie de deslizamiento y una vez en ella mantenerlo ante posibles perturbaciones
externas.
Para mantener el régimen de deslizamiento ideal, la señal de control debe ser capaz de
conmutar con una frecuencia infinita entre valores positivos a negativos, esto produce un
efecto indeseado denominado chattering, así que las trayectorias, antes que deslizarse,
oscilan alrededor de la superficie de deslizamiento. La presencia del chattering puede
excitar dinámicas no modeladas, reducir la exactitud del control, introducir grandes
pérdidas por calor en circuitos eléctricos de potencia, aparte de los problemas físicos en
los dispositivos mecánicos. Es necesario por lo tanto suavizar la señal de control
discontinua para lograr un compromiso entre la señal tolerada por los elementos físicos
reales y la precisión requerida.
La metodología de diseño de un controlador por modos deslizantes, implica primero
establecer la dinámica de la superficie de deslizamiento, verificar la estabilidad y la
existencia del modo deslizante diseñando una ley de control que garantice un régimen
de deslizamiento. Una vez que el sistema es atrapado en la superficie, la dinámica del
sistema en lazo cerrado es determinada sólo por la superficie de deslizamiento. (Muñoz
& Gaviria)
En conformidad con el alcance y objetivos del curso para el cual se realizó el presente
trabajo, aquí se selecciona de forma predeterminada a s= 𝑘 𝑃 𝑒 + 𝑘 𝐷
𝑑
𝑑𝑡
𝑒 como superficie
deslizante, cuya ley de control será 𝑢 = tanh 𝑠
16
5.6 Simulación
La Realidad virtual abarca distintos niveles de abstracción. La sensación de presencia
dependerá de qué tan parecido resulte un elemento virtual a la realidad física que nos
rodea. Una manera de obtener información de un sistema dinámico a la que se pueda
asignar un sentido físico tal que el comportamiento de dicho sistema sea más fácil de
comprender para una audiencia general es construyendo una representación
tridimensional del sistema y manipulando sus atributos mediante un modelo matemático.
Tanto Matlab como Simulink integran una Toolbox que nos posibilita hacer esto de una
manera sencilla. Se basa en el lenguaje de realidad virtual VRML para la creación de
mundos virtuales y accede a ellos a través de nodos, aplicando el concepto de jerarquía
y herencia para definir sus transformaciones espaciales y de apariencia. En Simuink se
emplea el bloque de VRSink para poder manejar tales nodos.
En este proyecto se hará uso de la mencionada Toolbox dentro de Simulink para simular
el comportamiento del robot planar de 2 GDL a lo largo del seguimiento de trayectorias
definidas paramétricamente.
Una trayectoria paramétrica está dada en un espacio bidimensional como un conjunto de
puntos, (𝑥, 𝑦), expresados en función de otras variables, conocidas como parámetros.
Una situación común es definir estos puntos en términos del tiempo 𝑡, que funge como
parámetro. Las siguientes ecuaciones serán las que describan la trayectoria seguida por
el manipulador, considerando que el movimiento sea periódico con frecuencia 𝜔:
Curva Ecuación
Circunferencia de radio 𝑟 y centro (ℎ, 𝑘)
𝑥 = 𝑟 cos 𝜔𝑡 + ℎ
𝑦 = 𝑟 sen 𝜔𝑡 + 𝑘
Recta que inicia en (𝑥0, 𝑦0) y termina en (𝑥 𝑛, 𝑦𝑛)
𝑥 =
𝑥 𝑛 − 𝑥0
2
𝑐𝑜𝑠 𝜔𝑡 +
𝑥0 + 𝑥 𝑛
2
𝑦 =
𝑦𝑛 − 𝑦0
2
𝑐𝑜𝑠 𝜔𝑡 +
𝑦0 + 𝑦𝑛
2
17
6. Desarrollo
6. 1 Cinemática directa
Sea el robot planar de dos grados de libertad representado por la siguiente figura, se
obtendrá su cinemática directa mediante el algoritmo de Denavit-Hartenberg (D-H).
Primero se realiza el diagrama de cuerpo libre o alambre, con la intención de establecer
de manera más clara al sistema y asignar los marcos de referencia asociados a cada
eslabón para definir los parámetros de D-H.
𝑙2
𝑞1
𝑙1
𝑞2
(𝑥, 𝑦)
18
Eslabón 𝜽𝒊 𝒅𝒊 𝒂𝒊 𝜶𝒊
1 𝑞1 0 𝑙1 0
2 𝑞2 0 𝑙2 0
Parámetros de D-H para el robot planar de 2 GDL
Ahora que se tienen los parámetros D-H, se sustituirán en las matrices de transformación
homogénea D-H de cada eslabón. Se tiene:
𝑨0
1
= [
𝑐1 −𝑠1 0 𝑙1 𝑐1
𝑠1 𝑐1 0 𝑙1 𝑠1
0 0 1 0
0 0 0 1
] , 𝑨1
2
= [
𝑐2 −𝑠2 0 𝑙2 𝑐2
𝑠2 𝑐2 0 𝑙2 𝑠2
0 0 1 0
0 0 0 1
]
𝑙2
𝑙1
𝑧1
𝑦1
𝑥1
𝑧0
𝑦0
𝑥0
𝑧2
𝑦2
𝑥2
𝑞1
𝑞2
19
La matriz que va del marco base al del efector final, 𝑨0
2
está definida como:
𝑨0
2
= 𝑨0
1
𝑨1
2
𝑨0
2
= [
𝑐1 𝑐2 − 𝑠1 𝑠2 −𝑐1 𝑠2 − 𝑠1 𝑐2 0 𝑙2 𝑐1 𝑐2 − 𝑙2 𝑠1 𝑠2 + 𝑙1 𝑐1
𝑠1 𝑐2 + 𝑐1 𝑠2 −𝑠1 𝑠2 + 𝑐1 𝑐2 0 𝑙2 𝑠1 𝑐2 + 𝑙2 𝑐1 𝑠2 + 𝑙1 𝑠1
0 0 1 0
0 0 0 1
]
𝑨0
2
= [
𝑐12 −𝑠12 0 𝑙2 𝑐12 + 𝑙1 𝑐1
𝑠12 𝑐12 0 𝑙2 𝑠12 + 𝑙1 𝑠1
0 0 1 0
0 0 0 1
] (6.1)
Donde 𝑠12 = sen(𝑞1 + 𝑞2) y 𝑐12 = cos(𝑞1 + 𝑞2)
A partir de las ecuaciones obtenidas arriba para 𝑥 y 𝑦, se determinará el Jacobiano del
robot.
𝑥 = 𝑓1(𝑞1, 𝑞2) = 𝑙2 𝑐12 + 𝑙1 𝑐1 (6.2)
𝑦 = 𝑓2(𝑞1, 𝑞2) = 𝑙2 𝑠12 + 𝑙1 𝑠1 (6.3)
Donde 𝑓1 y 𝑓2 corresponden a 𝑨0
2(4, 1) y 𝑨0
2(4, 2), respectivamente.
Empleando (5.2), se obtiene que:
𝑱 = [
−𝑙2 𝑠12 − 𝑙1 𝑠1 −𝑙2 𝑠12
𝑙2 𝑐12 + 𝑙1 𝑐1 𝑙2 𝑐12
] (6.4)
[
𝑥̇
𝑦̇
] = [
−𝑙2 𝑠12 − 𝑙1 𝑠1 −𝑙2 𝑠12
𝑙2 𝑐12 + 𝑙1 𝑐1 𝑙2 𝑐12
] 𝒒̇
Ahora se establecerán las aceleraciones a partir de (5.2.1).
[
𝑥̇
𝑦̇
] = [
−𝑙2 𝑐12(𝑞̇1 + 𝑞̇2) − 𝑙1 𝑐1 𝑞̇1 −𝑙2 𝑐12(𝑞̇1 + 𝑞̇2)
−𝑙2 𝑠12(𝑞̇1 + 𝑞̇2) − 𝑙1 𝑠1 𝑞̇1 −𝑙2 𝑠12(𝑞̇1 + 𝑞̇2)
] 𝒒̇ + [
−𝑙2 𝑠12 − 𝑙1 𝑠1 −𝑙2 𝑠12
𝑙2 𝑐12 + 𝑙1 𝑐1 𝑙2 𝑐12
] 𝒒̈
20
6.2 Cinemática inversa
Considerando las variables mostradas en el diagrama siguiente, se determinarán por el
método gráfico las ecuaciones para cada una de las coordenadas articulares en función
de (𝑥, 𝑦) dadas.
Aplicando la ley de los cosenos, se determina la segunda coordenada articular:
𝑟2
= 𝑥2
+ 𝑦2
𝑟2
= 𝑙1
2
+ 𝑙2
2
− 2𝑙1 𝑙2 cos 𝜑
𝜑 = 𝜋 − 𝑞2
cos 𝜑 = cos(𝜋 − 𝑞2) = − cos 𝑞2 =
𝑙1
2
+ 𝑙2
2
− 𝑟2
2𝑙1 𝑙2
cos 𝑞2 = 𝑐2 =
𝑟2
− 𝑙1
2
− 𝑙2
2
2𝑙1 𝑙2
𝑙1
𝑙2
𝑞1
𝑞2
𝜑
𝜔
𝛿
𝑟
(𝑥, 𝑦)
21
Luego, mediante la identidad pitagórica:
sen2
𝑞2 + cos2
𝑞2 = 1
sin2
𝑞2 = 𝑠2
2
= 1 − 𝑐2
2
tan 𝑞2 =
𝑠2
𝑐2
=
±√1 − 𝑐2
2
𝑐2
𝑞2 = atan
±√1−𝑐2
2
𝑐2
(6.5)
La primer coordenada articular es la diferencia entre el ángulo 𝜔 y el ángulo formado por
el primer eslabón y el vector 𝑟.
tan(𝜔 − 𝑞1) =
𝑙2 𝑠2
𝑙1 + 𝑙2 𝑐2
𝑞1 = 𝜔 − atan
𝑙2 𝑠2
𝑙1 + 𝑙2 𝑐2
𝜔 = atan
𝑦
𝑥
𝑞1 = atan
𝑦
𝑥
− atan
𝑙2 𝑠2
𝑙1+𝑙2 𝑐2
(6.6)
La razón para no utilizar 𝑎𝑐𝑜𝑠, sino 𝑎𝑡𝑎𝑛 en la parte de la cinemática directa es debido a
consideraciones de cómputo de ambas funciones. Personalmente se juzga más rápida y
eficiente de implementar la expresión de 𝑎𝑡𝑎𝑛 mediante series infinitas que la de 𝑎𝑐𝑜𝑠.
Estas series se muestran en la página siguiente.
22
acos 𝑧 =
𝜋
2
− ∑
(
2𝑛
𝑛
) 𝑧2𝑛+1
4 𝑛(2𝑛 + 1)
∞
𝑛=0
; |𝑧| ≤ 1
atan 𝑧 = ∑
(−1) 𝑛
𝑧2𝑛+1
2𝑛 + 1
∞
𝑛=0
; |𝑧| ≤ 1
Específicamente, se emplea 𝑎𝑡𝑎𝑛2, ya que ésta tiene un rango de salida [−𝜋, 𝜋], mientras
que 𝑎𝑡𝑎𝑛 tiene un rango recortado [−
𝜋
2
,
𝜋
2
] que limitaría el movimiento del brazo.
6.3 Espacio de trabajo, singularidades e índice de manipulabilidad
En el caso del robot que estamos tratando, el espacio de trabajo se infiere de manera
empírica como el área contenida dentro de dos círculos que representan el mínimo
alcance y máximo alcance del robot. De esta manera el espacio de trabajo del robot
quedará descrito como:
𝑊 = {(𝑥, 𝑦)|(𝑙1 − 𝑙2)2
≤ 𝑥2
+ 𝑦2
≤ (𝑙1 + 𝑙2)2}
En el caso de las singularidades, se calcula el determinante del Jacobiano. El rango del
Jacobiano decrecerá siempre que el su determinante sea nulo.
det 𝑱 = det [
−𝑙2 𝑠12 − 𝑙1 𝑠1 −𝑙2 𝑠12
𝑙2 𝑐12 + 𝑙1 𝑐1 𝑙2 𝑐12
]
det 𝑱 = 𝑙2 𝑐12( − 𝑙2 𝑠12 − 𝑙1 𝑠1) + 𝑙2 𝑠12(𝑙2 𝑐12 + 𝑙1 𝑐1)
det 𝑱 = 𝑙1 𝑙2 𝑠2
det 𝑱 = 0 ⇔ 𝑠2 = 0
Entonces habrá una singularidad siempre que:
𝑞2 = 𝑛𝜋, 𝑛 = ±1, ±2, …
En cuanto al índice de manipulabilidad,
𝜔 = │ det 𝑱 │ = 𝑙1 𝑙2│𝑠2│
23
6.4 Dinámica
Considerando el diagrama de arriba, se obtendrán la energía cinética y la energía
potencial de cada eslabón, con base en (5.5) y (5.6).
𝑙1
𝑙2
𝑞1
𝑞2
𝑚2
𝑚1
𝐼2
( 𝑥, 𝑦)
𝐼1
𝑙1
𝑙2
24
Primer eslabón
Energía cinética
𝑥1 = 𝑙1 𝑐1
𝑦1 = 𝑙1 𝑠1
𝑣1 = [
𝑥̇
𝑦̇
] = [
−𝑙1 𝑠1
𝑙1
̅ 𝑐1
] 𝑞̇1
𝑣1
𝑇
𝑣1 = [−𝑙1 𝑠1 𝑙1 𝑐1] 𝑞̇1 [
−𝑙1 𝑠1
𝑙1 𝑐1
] 𝑞̇1
‖𝑣1‖ = 𝑙1
2
𝑠1
2
𝑞̇1
2
+ 𝑙1
2
𝑐1
2
𝑞̇1
2
Mediante la identidad pitagórica:
‖𝑣1‖ = 𝑙1
2
𝑞̇1
2
Se sustituye este resultado en (2):
𝐾1 =
1
2
𝑚1 𝑙1
2
𝑞̇1
2
+
1
2
𝐼1 𝑞̇1
2
Energía potencial
𝑈1 = 𝑚1 𝑔𝑙1 𝑠1
Segundo eslabón
Energía cinética
𝑥2 = 𝑙1 𝑐1 + 𝑙2 𝑐12
𝑦2 = 𝑙1 𝑠1 + 𝑙2 𝑠12
𝑣2 = [
−𝑙1 𝑠1 𝑞̇1 − 𝑙2 𝑠12(𝑞̇1 + 𝑞̇2)
𝑙1 𝑐1 𝑞̇1 + 𝑙2 𝑐12(𝑞̇1 + 𝑞̇2)
]
‖𝑣2‖ = (−𝑙1 𝑠1 𝑞̇1 − 𝑙2 𝑠12(𝑞̇1 + 𝑞̇2))
2
+ (𝑙1 𝑐1 𝑞̇1 + 𝑙2 𝑐12(𝑞̇1 + 𝑞̇2))
2
25
Si se desarrollan los binomios cuadrados y se aplican las identidades trigonométricas
sen2
𝜃 + cos2
𝜃 = 1 y cos(𝛼 ± 𝛽) = cos 𝛼 cos 𝛽 ∓ sen 𝛼 sen 𝛽 :
‖𝑣2‖ = 𝑙1
2
𝑠1
2
𝑞̇1
2
+ 2𝑙1 𝑙2 𝑠1 𝑠12 𝑞̇1(𝑞̇1 + 𝑞̇2) + 𝑙2
2
𝑠12
2 (𝑞̇1 + 𝑞̇2)2
+𝑙1
2
𝑐1
2
𝑞̇1
2
+ 2𝑙1 𝑙2 𝑐1 𝑐12 𝑞̇1(𝑞̇1 + 𝑞̇2) + 𝑙2
2
𝑐12
2 (𝑞̇1 + 𝑞̇2)2
‖𝑣2‖ = 𝑙1
2
𝑞̇1
2
+ 2𝑙1 𝑙2 𝑐2 𝑞̇1(𝑞̇1 + 𝑞̇2) + 𝑙2
2
(𝑞̇1 + 𝑞̇2)2
‖𝑣2‖ = 𝑙1
2
𝑞̇1
2
+ 2𝑙1 𝑙2 𝑐2(𝑞̇1
2
+ 𝑞̇1 𝑞̇2) + 𝑙2
2
(𝑞̇1
2
+ 2𝑞̇1 𝑞̇2 + 𝑞̇2
2)
Ahora se sustituye en la ecuación de la energía cinética:
𝐾2 =
1
2
𝑚2 (𝑙1
2
𝑞̇1
2
+ 2𝑙1 𝑙2 𝑐2(𝑞̇1
2
+ 𝑞̇1 𝑞̇2) + 𝑙2
2
(𝑞̇1
2
+ 2𝑞̇1 𝑞̇2 + 𝑞̇2
2)) +
1
2
𝐼2(𝑞̇1 + 𝑞̇2)2
Energía potencial
𝑈2 = 𝑚2 𝑔(𝑙1 𝑠1 + 𝑙2 𝑠12)
Ahora se obtendrán las ecuaciones de Euler-Lagrange para el sistema. Primero se
diferencian las ecuaciones de energía y luego se reemplazan estas derivadas en la
formulación Euler-Lagrange.
Primer eslabón
Energía cinética
𝐾1 =
1
2
𝑚1 𝑙1
2
𝑞̇1
2
+
1
2
𝐼1 𝑞̇1
2
𝜕𝐾1
𝜕𝑞̇1
= (𝑚1 𝑙1
2
+ 𝐼1) 𝑞̇1
𝜕𝐾1
𝜕𝑞̇2
= 0
𝜕𝐾1
𝜕𝑞1
= 0
𝜕𝐾1
𝜕𝑞2
= 0
26
Energía potencial
𝑈1 = 𝑚1 𝑔𝑙1 𝑠1
𝜕𝑈1
𝜕𝑞1
= 𝑚1 𝑔𝑙1 𝑐1
𝜕𝑈1
𝜕𝑞2
= 0
Segundo eslabón
Energía cinética
𝐾2 =
1
2
𝑚2 (𝑙1
2
𝑞̇1
2
+ 2𝑙1 𝑙2 𝑐2(𝑞̇1
2
+ 𝑞̇1 𝑞̇2) + 𝑙2
2
(𝑞̇1
2
+ 2𝑞̇1 𝑞̇2 + 𝑞̇2
2)) +
1
2
𝐼2(𝑞̇1 + 𝑞̇2)2
𝜕𝐾2
𝜕𝑞̇1
= (𝑚2 𝑙1
2
+ 2𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2
2
+ 𝐼2) 𝑞̇1 + (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2
2
+ 𝐼2) 𝑞̇2
𝜕𝐾2
𝜕𝑞̇2
= (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2
2
+ 𝐼2) 𝑞̇1 + (𝑚2 𝑙2
2
+ 𝐼2) 𝑞̇2
𝜕𝐾2
𝜕𝑞1
= 0
𝜕𝐾2
𝜕𝑞2
= −𝑚2 𝑙1 𝑙2 𝑠2(𝑞̇1
2
+ 𝑞̇1 𝑞̇2)
Energía potencial
𝑈2 = 𝑚2 𝑔(𝑙1 𝑠1 + 𝑙2 𝑠12)
𝜕𝑈2
𝜕𝑞1
= 𝑚2 𝑔(𝑙1 𝑐1 + 𝑙2 𝑐12)
𝜕𝑈2
𝜕𝑞2
= 𝑚2 𝑔𝑙2 𝑐12
27
Los resultados de ya obtenidos se sustituyen en la ecuación de Euler-Lagrange, primero
para 𝑞1 y luego para 𝑞2.
𝑑
𝑑𝑡
(
𝜕𝐾1
𝜕𝑞̇1
+
𝜕𝐾2
𝜕𝑞̇1
) −
𝜕𝐾1
𝜕𝑞1
−
𝜕𝐾2
𝜕𝑞1
+
𝜕𝑈1
𝜕𝑞1
+
𝜕𝑈2
𝜕𝑞1
= 𝜏1
𝑑
𝑑𝑡
((𝑚1 𝑙1
2
+ 𝐼1) 𝑞̇1 + (𝑚2 𝑙1
2
+ 2𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2
2
+ 𝐼2) 𝑞̇1 + (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2
2
+ 𝐼2) 𝑞̇2)
−0 − 0 + 𝑚1 𝑔𝑙1 𝑐1 + 𝑚2 𝑔(𝑙1 𝑐1 + 𝑙2 𝑐12) = 𝜏1
(𝑚1 𝑙1
2
+ 𝐼1) 𝑞̈1 + (−2𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2) 𝑞̇1 + (𝑚2 𝑙1
2
+ 2𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2
2
+ 𝐼2) 𝑞̈1
+(−𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2)𝑞̇2 + (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2
2
+ 𝐼2) 𝑞̈2 + 𝑚1 𝑔𝑙1 𝑐1 + 𝑚2 𝑔𝑙1 𝑐1 + 𝑚2 𝑔𝑙2 𝑐12 = 𝜏1
Después de reagrupar términos:
(𝑚1 𝑙1
2
+ 𝑚2 𝑙2
2
+ 𝑚2 𝑙1
2
+ 2𝑚2 𝑙1 𝑙2 𝑐2 + 𝐼1 + 𝐼2) 𝑞̈1 + (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2
2
+ 𝐼2) 𝑞̈2
+(−2𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2) 𝑞̇1 + (−𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2)𝑞̇2 + (𝑚1 𝑙1 𝑐1 + 𝑚2 𝑙1 𝑐1 + 𝑚2 𝑙2 𝑐12)𝑔 = 𝜏1
28
𝑑
𝑑𝑡
(
𝜕𝐾1
𝜕𝑞̇2
+
𝜕𝐾2
𝜕𝑞̇2
) −
𝜕𝐾1
𝜕𝑞2
−
𝜕𝐾2
𝜕𝑞2
+
𝜕𝑈1
𝜕𝑞2
+
𝜕𝑈2
𝜕𝑞2
= 𝜏2
𝑑
𝑑𝑡
(0 + (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2
2
+ 𝐼2) 𝑞̇1 + (𝑚2 𝑙2
2
+ 𝐼2) 𝑞̇2) − 0 − (−𝑚2 𝑙1 𝑙2 𝑠2(𝑞̇1
2
+ 𝑞̇1 𝑞̇2))
+0 + 𝑚2 𝑔𝑙2 𝑐12 = 𝜏2
(−𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2) 𝑞̇1 + (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2
2
+ 𝐼2) 𝑞̈1 + (𝑚2 𝑙2
2
+ 𝐼2) 𝑞̈2 + 𝑚2 𝑙1 𝑙2 𝑠2(𝑞̇1
2
+ 𝑞̇1 𝑞̇2)
+𝑚2 𝑔𝑙2 𝑐12 = 𝜏2
(𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2
2
+ 𝐼2) 𝑞̈1 + (𝑚2 𝑙2
2
+ 𝐼2) 𝑞̈2 + (−𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2) 𝑞̇1 + 𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇1(𝑞̇1 + 𝑞̇2)
+𝑚2 𝑔𝑙2 𝑐12 = 𝜏2
Reagrupando términos llegamos a:
(𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2
2
+ 𝐼2) 𝑞̈1 + (𝑚2 𝑙2
2
+ 𝐼2) 𝑞̈2 + (𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇1) 𝑞̇1 + (𝑚2 𝑙2 𝑐12)𝑔 = 𝜏2
Sin embargo, en el marco teórico se mencionó que es más útil escribir la dinámica de
acuerdo con (5.10). Entonces se procede a sustituir las expresiones anteriores en dicha
ecuación matricial.
𝑴(𝒒)𝒒̈ + 𝑪(𝒒, 𝒒̇ )𝒒̇ + 𝑮(𝒒) = 𝝉
𝑴 = [
𝑚1 𝑙1
2
+ 𝑚2 (𝑙1
2
+ 2𝑙1 𝑙2 𝑐2 + 𝑙2
2
) + 𝐼1 + 𝐼2 𝑚2 (𝑙1 𝑙2 𝑐2 + 𝑙2
2
) + 𝐼2
𝑚2 (𝑙1 𝑙2 𝑐2 + 𝑙2
2
) + 𝐼2 𝑚2 𝑙2
2
+ 𝐼2
]
𝑪 = [
−2𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2 −𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2
𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇1 0
]
𝑮 = 𝑔 [
(𝑚1 𝑙1 + 𝑚2 𝑙1)𝑐1 + 𝑚2 𝑙2 𝑐12
𝑚2 𝑙2 𝑐12
]
𝒒̈ = [
𝑞̈1
𝑞̈2
] , 𝒒̇ = [
𝑞̇1
𝑞̇2
] , 𝝉 = [
𝜏1
𝜏2
]
29
6.5 Cambios
Antes de continuar con el análisis, se resumen a continuación algunas de las ecuaciones
obtenidas hasta ahora. La importancia de ellas radica en que conforman el modelo del
comportamiento del sistema, sin dichas ecuaciones, no podría simularse el manipulador.
Cinemática directa
[
𝑥
𝑦] = [
𝑙2 𝑐12 + 𝑙1 𝑐1
𝑙2 𝑠12 + 𝑙1 𝑠1
]
Cinemática inversa
[
𝑞1
𝑞2
] =
[
𝑎𝑡𝑎𝑛
𝑦
𝑥
− 𝑎𝑡𝑎𝑛
𝑙2 𝑠2
𝑙1 + 𝑙2 𝑐2
𝑎𝑡𝑎𝑛
±√1 − 𝑐2
2
𝑐2 ]
𝑐2 =
𝑥2
+ 𝑦2
− 𝑙1
2
− 𝑙2
2
2𝑙1 𝑙2
Jacobiano
𝑱 = [
−𝑙2 𝑠12 − 𝑙1 𝑠1 −𝑙2 𝑠12
𝑙2 𝑐12 + 𝑙1 𝑐1 𝑙2 𝑐12
]
Índice de manipulabilidad
𝜔 = │ 𝑑𝑒𝑡 𝑱 │ = 𝑙1 𝑙2│𝑠2│
30
Dinámica
𝑴(𝒒)𝒒̈ + 𝑪(𝒒, 𝒒̇ )𝒒̇ + 𝑮(𝒒) = 𝝉
𝑴 = [
𝑚1 𝑙1
2
+ 𝑚2 (𝑙1
2
+ 2𝑙1 𝑙2 𝑐2 + 𝑙2
2
) + 𝐼1 + 𝐼2 𝑚2 (𝑙1 𝑙2 𝑐2 + 𝑙2
2
) + 𝐼2
𝑚2 (𝑙1 𝑙2 𝑐2 + 𝑙2
2
) + 𝐼2 𝑚2 𝑙2
2
+ 𝐼2
]
𝑪 = [
−2𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2 −𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2
𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇1 0
]
𝑮 = 𝑔 [
(𝑚1 𝑙1 + 𝑚2 𝑙1)𝑐1 + 𝑚2 𝑙2 𝑐12
𝑚2 𝑙2 𝑐12
]
𝒒̈ = [
𝑞̈1
𝑞̈2
] , 𝒒̇ = [
𝑞̇1
𝑞̇2
] , 𝝉 = [
𝜏1
𝜏2
]
Sin embargo, éstas se obtuvieron refiriendo el ángulo 𝑞1 a partir del semieje 𝑥0 positivo.
En cambio, para poder modelar el comportamiento de nuestro manipulador desde una
posición de equilibrio en el semieje negativo 𝑦, debe aplicarse un cambio de variable,
sustituyendo 𝑞1 por 𝑞1 −
𝜋
2
Tomando en cuenta este cambio de variable, junto con las identidades trigonométricas
sen (𝜃 −
𝜋
2
) = − cos 𝜃 y cos (𝜃 −
𝜋
2
) = sen 𝜃, se redefinen las ecuaciones anteriores. Estas
nuevas definiciones serán las que se utilicen durante la parte restante del trabajo.
Cinemática directa
[
𝑥
𝑦] = [
𝑙2 𝑠12 + 𝑙1 𝑠1
−𝑙2 𝑐12 − 𝑙1 𝑐1
]
31
Cinemática inversa
[
𝑞1
𝑞2
] =
[
𝑎𝑡𝑎𝑛
𝑦
𝑥
− 𝑎𝑡𝑎𝑛
𝑙2 𝑠2
𝑙1 + 𝑙2 𝑐2
+
𝜋
2
𝑎𝑡𝑎𝑛
±√1 − 𝑐2
2
𝑐2 ]
𝑐2 =
𝑥2
+ 𝑦2
− 𝑙1
2
− 𝑙2
2
2𝑙1 𝑙2
Jacobiano
𝑱 = [
𝑙2 𝑐12 + 𝑙1 𝑐1 𝑙2 𝑐12
𝑙2 𝑠12 + 𝑙1 𝑠1 𝑙2 𝑠12
]
Índice de manipulabilidad
𝜔 = │ 𝑑𝑒𝑡 𝑱 │ = 𝑙1 𝑙2│𝑠2│
Esta ecuación permanece intacta, pues el determinante del Jacobiano original no se ve
alterado por la redefinición (det 𝑱 = 𝑙2 𝑠12(𝑙2 𝑐12 + 𝑙1 𝑐1) − 𝑙2 𝑐12(𝑙2 𝑠12 + 𝑙1 𝑠1 ) = 𝑙1 𝑙2 𝑠2)
Dinámica
𝑴 = [
𝑚1 𝑙1
2
+ 𝑚2 (𝑙1
2
+ 2𝑙1 𝑙2 𝑐2 + 𝑙2
2
) + 𝐼1 + 𝐼2 𝑚2 (𝑙1 𝑙2 𝑐2 + 𝑙2
2
) + 𝐼2
𝑚2 (𝑙1 𝑙2 𝑐2 + 𝑙2
2
) + 𝐼2 𝑚2 𝑙2
2
+ 𝐼2
]
𝑪 = [
−2𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2 −𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2
𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇1 0
]
𝑮 = 𝑔 [
(𝑚1 𝑙1 + 𝑚2 𝑙1)𝑠1 + 𝑚2 𝑙2 𝑠12
𝑚2 𝑙2 𝑠12
]
32
6.6 Control
En esta sección se presentan las leyes de control aplicadas al sistema. Como se planteó
en el marco teórico, dos leyes de control serán implementadas: Control con
compensación de gravedad y Control por modos deslizantes.
Control con compensación de gravedad
Se mencionó en la parte del marco teórico que el control por compensación de gravedad
se expresa mediante la siguiente ecuación:
𝑢 = 𝑘 𝑃 𝑒 + 𝑘 𝐷
𝑑
𝑑𝑡
𝑒 + 𝑔(𝑞1, 𝑞2, … 𝑞 𝑚)
Llevando esto a un espacio ℝ2
y considerando la parte resuelta en la dinámica, se escribe
que:
𝒖 = 𝒌 𝑷 𝒆 + 𝒌 𝑫
𝑑
𝑑𝑡
𝒆 + 𝒈(𝑞1, 𝑞2, … 𝑞 𝑚)
𝒖 = [
𝑢1
𝑢2
]
𝒆 = [
𝑞 𝑑1 − 𝑞1
𝑞 𝑑2 − 𝑞2
]
𝒌 𝑷 = [
𝑘 𝑃1 0
0 𝑘 𝑃2
]
𝒌 𝑫 = [
𝑘 𝐷1 0
0 𝑘 𝐷2
]
𝒈 = 𝑔 [
(𝑚1 𝑙1 + 𝑚2 𝑙1)𝑠1 + 𝑚2 𝑙2 𝑠12
𝑚2 𝑙2 𝑠12
]
Mediante prueba y error, se sintonizaron las ganancias de este control en
𝑘 𝑃1 = 800, 𝑘 𝑃2 = 540, 𝑘 𝐷1 = 1200, 𝑘 𝐷2 = 600
33
Control por modos deslizantes
Como anteriormente se había presentado, aquí se empleará la función tangente
hiperbólica como ley de control para nuestro sistema, tomando como superficie
deslizante la porción PD del control con compensación de gravedad. Traduciendo esto a
una expresión matemática también en ℝ2
:
𝒖 = 𝒌 𝑡𝑎𝑛ℎ (𝒌 𝑷 𝒆 + 𝒌 𝑫
𝑑
𝑑𝑡
𝒆)
Donde 𝒖, 𝒌 𝑷, 𝒌 𝑫 y 𝒆 se definen igual que antes y
𝒌 = [
𝑘1 0
0 𝑘2
]
También empíricamente se sintonizaron las ganancias. Los valores elegidos fueron:
𝑘1 = 200, 𝑘2 = 50
6.7 Simulación
Lo que aquí se discute corresponde al diseño CAD del manipulador mecánico,
incluyendo el establecimiento de los parámetros geométricos del mismo y la generación
del archivo VRML a partir de éste, así como la conexión del elemento virtual con el
modelo matemático producido en Simulink®.
Para el diseño del brazo, se tomaron como base los modelos CAD que la compañía
coreana Robotis incorpora en su software específico para el robot Bioloid Premium,
Roboplus.
A partir de los modelos de las piezas individuales, se diseñó el siguiente manipulador.
34
Luego de obtenido el modelo tridimensional, se procedió a determinar las propiedades
geométricas y mecánicas del manipulador que se requieren en el modelo matemático.
Primero se halló la expresión para el momento de inercia y para el centro de masa de
cada eslabón. Estos se aproximaron como los de una barra sólida.
ℎ
𝑏
𝑙
𝑥
𝑦
𝑧
35
Se calculará el centro de masa con referencia en el marco mostrado en la imagen, a
partir del primer momento del volumen.
𝑥 𝑉 = ∫ 𝑥 𝑑𝑉
𝑉
𝑥 𝑉 = ∭ 𝑥 𝑑𝑥𝑑𝑦𝑑𝑧
ℎ
0
𝑥 𝑉 = ∬ (
1
2
𝑥2
) │0
ℎ
𝑑𝑦𝑑𝑧
𝑙
0
𝑥 𝑉 =
1
2
ℎ2
∬ 𝑑𝑦𝑑𝑧
𝑙
0
𝑥 𝑉 =
1
2
ℎ2
∫ 𝑦│0
𝑙
𝑑𝑧
𝑏
0
𝑥 𝑉 =
1
2
ℎ2
𝑙 ∫ 𝑑𝑧
𝑏
0
𝑥 𝑉 =
1
2
ℎ2
𝑙 𝑧│0
𝑏
𝑥(𝑏ℎ𝑙) =
1
2
ℎ2
𝑙𝑏
𝑥 =
1
2
ℎ
Por simetría del prisma se obtienen las demás coordenadas del centro de masa 𝐺.
𝐺 = (
1
2
ℎ,
1
2
𝑙,
1
2
𝑏)
Ahora se calculará el segundo momento de la misma barra alrededor del eje 𝑧, pues es
el único que grado de libertad del robot. Primero se considera un desplazamiento del
marco de ejes
ℎ
2
hacia la derecha en 𝑥.
𝐼𝑧 = ∫ 𝑟2
𝑑𝑉
𝑉
36
𝐼𝑧 = ∭ (𝑥2
+ 𝑦2)𝑑𝑥𝑑𝑦𝑑𝑧
ℎ
2
−
ℎ
2
𝐼𝑧 = ∬ (
1
12
ℎ3
+ ℎ𝑦2
) 𝑑𝑦𝑑𝑧
𝑙
0
𝐼𝑧 = ∫ (
1
12
ℎ3
𝑙 +
1
3
ℎ𝑙3
) 𝑑𝑧
𝑏
0
𝐼𝑧 = (
1
12
ℎ3
𝑙 +
1
3
ℎ𝑙3
) 𝑏
De esta manera, podemos obtener el momento de inercia.
𝐼𝑧 = ∫ 𝑟2
𝑑𝑚
𝑉
Pero 𝑑𝑚 = 𝜌𝑑𝑉 y con una densidad constante:
𝐼𝑧 = 𝜌 ∫ 𝑟2
𝑑𝑉
𝑉
𝜌 =
𝑚
𝑉
=
𝑚
𝑏ℎ𝑙
𝐼𝑧 =
𝑚
𝑏ℎ𝑙
(
1
12
ℎ3
𝑙 +
1
3
ℎ𝑙3
) 𝑏
Finalmente
𝐼𝑧 = 𝐽 =
1
12
𝑚ℎ2
+
1
3
𝑚𝑙2
Para el primer eslabón:
𝑏 = 40 𝑚𝑚, ℎ = 32 𝑚𝑚, 𝑙 = 68 𝑚𝑚, 𝑚 = 55 𝑔
Y para el segundo:
𝑏 = 40 𝑚𝑚, ℎ = 32 𝑚𝑚, 𝑙 = 125 𝑚𝑚, 𝑚 = 10 𝑔
37
Sustituyendo estos valores en las ecuaciones que se obtuvieron, se tiene finalmente:
Eslabón 1 Eslabón 2
𝑙1 68 𝑚𝑚 𝑙2 125 𝑚𝑚
𝑙1
̅ 40 𝑚𝑚 𝑙2
̅ 62.5 𝑚𝑚
𝑚1 55 𝑔 𝑚2 10 𝑔
𝐼1 89.4667 𝑘𝑔 𝑚𝑚2
𝐼2 52.937 𝑘𝑔 𝑚𝑚2
Parámetros del modelo
Cabe aclarar que para el primer eslabón, se desplazó más hacia arriba el centro de masa
debido a que el motor, colocado hacia la parte superior del mismo, concentra la masa
del eslabón.
Luego de producir el modelo CAD del brazo, se siguió el procedimiento correspondiente
para exportarlo a VRML.
Modelo
CAD
Importar
a 3DS
Exportar
VRML
Construir
jerarquía
38
La jerarquía de clases utilizada en el mundo virtual, dentro de V-Realm Builder© fue:
 Brazo
o Rotación en 𝑧
 Rotación en 𝑦
 Rotación en 𝑥
o Motor 1
o Eje 1
 Estructura 1
 Rotación en 𝑧
o Rotación en 𝑦
 Rotación en 𝑥
 Motor 1
 Eje 1
 Estructura 1
39
7.Resultados
7.1 Circunferencia fuera del origen
Finalmente se mostrarán las gráficas del comportamiento del sistema bajo ambas leyes
de control, con el propósito de comparación. La curva de referencia que se trazó fue un
circunferencia de radio igual a 50 milímetros, con centro en (100, 100) que se recorría a
una frecuencia de 0.067 𝐻𝑧
Control con compensación de gravedad
Diagramas de fase (articulación 1 y 2)
Trayectorias (deseada y recorrida)
40
Errores articulares
41
Errores cartesianos
42
Control por modos deslizantes
Diagramas de fase (articulación 1 y 2)
Trayectorias (deseada y recorrida)
43
Errores articulares
44
Errores cartesianos
45
Índice de manipulabilidad
Rango del Jacobiano
46
7.2 Circunferencia en el origen
Un caso de particular de interés ocurrió cuando se centró a la circunferencia en el origen
de coordenadas. No se consiguió la trayectoria completa bajo estas condiciones. La
explicación se atribuye a las discontinuidades generadas por el rango de la función
atan2, el cual se mostró en la sección del desarrollo.
Trayectoria deseada
Modos deslizantes
47
Compensación de gravedad
Modos deslizantes
48
Compensación de gravedad
Índice de manipulabilidad
49
8.Conclusiones
Realizar la descripción del movimiento de un robot de múltiples grados de libertad es una
tarea compleja y demandante de recursos, por ello se han desarrollado diferentes
métodos de solución que permitan cumplir con el objetivo de conocer las relaciones entre
el marco base de un robot y el de su efector final, con la intención de utilizar esta
información en el control de la posición de la cadena cinemática del robot. El análisis
matemático llevado a cabo en este trabajo es un paso necesario para completar la labor
de modelar, simular y controlar un robot.
El objetivo de conocer el comportamiento de un manipulador robótico es controlarlo para
la realización de tareas, como soldadura, pintura, ensamblaje, y transporte, entre otras.
Sin embargo, se requiere poder predecir cómo actuará el robot durante la ejecución de
tales actividades, pues una de las ventajas que se espera conseguir con el uso de
máquinas es aumentar la precisión y confiabilidad del trabajo. Esto solamente es posible
si se conoce la dinámica del robot, que proporciona las relaciones entre las fuerzas y
pares aplicados en cada eslabón de la cadena y sus correspondientes respuestas
motrices.
Fuerzas y pares son las únicas entradas que podemos introducir a la planta, y de la
dinámica específica del robot dependerán los movimientos que se consigan con
determinadas entradas. Por lo tanto, para poder proseguir con el control del brazo, tener
el modelo dinámico resulta indispensable.
En cuanto a los métodos para analizar dinámicamente a un manipulador robótico, la
formulación de Euler-Lagrange sería el equivalente del algoritmo de Denavit-Hartenberg
para la cinemática. Proporciona un proceso sistemático que, mediante la aplicación de
determinadas ecuaciones, conducirá a la respuesta deseada.
50
Sabemos que un control proporcional es el más sencillo que se puede aplicar. Consiste
únicamente en ponderar con determinada ganancia al error de la planta. Esto ayuda a
reducir el error estacionario, más tiene cierta limitante, ya que dicho error siempre
permanece y no se habrá de conseguir la respuesta deseada. Por otra parte, también se
desean en muchos casos características como tiempo de subida y de establecimiento y
un determinado porcentaje de sobrepico. Conseguir estas especificaciones de diseño
requiere de un control PI, PD o PID completo. Para nuestro sistema se aplicó una ley de
control PD modificada no lineal, conocida como Control con compensación de gravedad.
Por último, simular un sistema dinámico a través de un entorno de realidad virtual es una
manera muy provechosa de extraer información acerca del comportamiento del mismo;
mucho más fácil de comprender desde un punto de vista físico.
Así, se pueden probar diferentes estados del sistema para conocer su reacción al variar
las condiciones iniciales, las entradas o para someter a prueba determinadas leyes de
control.
En este ámbito, se aprendió cómo derivar las expresiones que relacionan los valores de
las ganancias de un algoritmo de control con los parámetros del sistema y el lugar de los
polos del mismo. De esta manera se obtienen mejores resultados que cuando tales
ganancias se consiguen por prueba y error. Sin embargo, llevar esto a cabo resulta
complicado en muchos sistemas.
Tal es el caso del nuestro, por lo que se recurrió al último método; sin embargo, los
resultados obtenidos no dejaron de ser satisfactorios. En particular, se pudo observar
cómo el control por modos deslizantes produce señales más suaves que un control con
compensación de gravedad, con mayores costos computacionales, no obstante.
51
9.Referencias
[1] Barrientos. (1996). Fundamentos de robótica. Madrid.
[2] Beer, F., & Johnston, R. (s.f.). Mecánica vectorial para ingenieros: Dinámica.
McGraw Hill.
[3] Contreras Montes, J. A. (s.f.). Teoría PID. Obtenido de Autómatas:
http://www.automatas.org/hardware/teoria_pid.htm
[4] Duarte, O. (s.f.). Análisis de sistemas dinámicos. Obtenido de Universidad
nacional de Colombia:
http://www.virtual.unal.edu.co/cursos/ingenieria/2001619/lecciones/estado/node4
.html
[5] González Elías, M., & Díaz Domínguez, D. (2005). Control de un Robot
Manipulador de dos Grados de Libertad Aplicando la Técnica Adaptable de
Slotine-Li. Obtenido de Universidad Autónoma de Zacatecas:
http://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=1
&ved=0CBsQFjAA&url=http%3A%2F%2Fwww.uaz.edu.mx%2Fcippublicaciones
%2Feninvie2K5%2FRO_1%255CRO_1Gonzale.pdf&ei=GFBJVMOjD8q68QHxlY
CACQ&usg=AFQjCNEEo0P0iVDhoB3rVkeH0MiSLaA2IQ&sig2=NYMw45yl
[6] Inverse trigonometric functions. (s.f.). Obtenido de Wikipedia:
http://en.wikipedia.org/wiki/Inverse_trigonometric_functions
[7] Khaled, N. (s.f.). Virtual reality and animation for Matlab and Simulink users .
Springer.
[8] Spong, M. (2004). Robot dynamics and control.
[9] University of Michigan. (s.f.). Introduction. Obtenido de Control tutorials for Matlab
& Simulink: http://ctms.engin.umich.edu/CTMS/index.php?aux=Home
52
10. Anexo 1. Modelo de Simulink®
Modelo completo
1
1
2
3
5
4
6
1.1
1.2
53
1.1
1.2
function q_d = fcn(x, y)
l1 = 68;
l2 = 125;
c2 = (x^2 + y^2 - l1^2 - l2^2)/(2*l1*l2);
q2 = atan2(real(sqrt(complex(1-c2^2))), c2);
q1 = atan2(y, x) - atan2(l2*sin(q2),(l1+l2*cos(q2))) + pi/2;
q_d = [q1; q2];
2
2.1
2.2
2.3
54
2.1
55
2.2
2.3
function q_ddot = fcn(q, q_dot, tau)
m1 = 55e-3;
m2 = 10e-3;
l1 = 68;
l2 = 125;
lc1 = 40;
lc2 = 62.5;
I1 = 89.4667;
I2 = 52.937;
g = 9.81;
m11 = m1*lc1^2 + m2*(l1^2 + 2*l1*lc2*cos(q(2)) + lc2^2) + I1 + I2;
m12 = m2*(l1*lc2*cos(q(2,1)) + lc2^2) + I2;
m21 = m2*(l1*lc2*cos(q(2,1)) + lc2^2) + I2;
m22 = m2*lc2^2 + I2;
c11 = -2*m2*l1*lc2*sin(q(2))*q_dot(2);
c12 = -m2*l1*lc2*sin(q(2))*q_dot(2);
c21 = m2*l1*lc2*sin(q(2))*q_dot(1);
c22 = 0;
%Se sustituyen cosenos por senos:
%cos(x - pi/2) = sin(x)
g11 = (m1*lc1 + m2*l1)*sin(q(1)) + m2*lc2*sin(q(1)+ q(2));
g21 = m2*lc2*sin(q(1)+ q(2));
M = [m11 m12; m21 m22];
C = [c11 c12; c21 c22];
G = g*[g11; g21];
q_ddot = inv(M)*(tau - C*q_dot - G);
56
3
3.1
function [out, rankJ] = fcn(q)
l1 = 68;
l2 = 125;
xOut = l1*sin(q(1)) + l2*sin(q(1) + q(2));
yOut = -l1*cos(q(1)) - l2*cos(q(1) + q(2));
zOut = 0;
out = [xOut; yOut; zOut];
J11 = l1*cos(q(1)) + l2*cos(q(1) + q(2));
J12 = l2*cos(q(1) + q(2));
J21 = l1*sin(q(1)) + l2*sin(q(1) + q(2));
J22 = l2*sin(q(1) + q(2));
J = [J11 J12; J21 J22];
rankJ = rank(J);
3.1
57
4
58
5
5.1
5.1
5.2
59
5.2
6

Más contenido relacionado

La actualidad más candente

Modelado en espacio de estados
Modelado en espacio de estadosModelado en espacio de estados
Modelado en espacio de estados
Alejandro Flores
 
Cinematica directa scara
Cinematica directa scaraCinematica directa scara
Cinematica directa scaraUPEG
 
Sistemas de segundo orden
Sistemas de segundo  ordenSistemas de segundo  orden
Sistemas de segundo ordenHenry Alvarado
 
Sistemas de primer orden, segundo orden y orden superior
Sistemas de primer orden,  segundo orden y orden superiorSistemas de primer orden,  segundo orden y orden superior
Sistemas de primer orden, segundo orden y orden superior
MichelleAlejandroLeo
 
Tema 3 velocidad y aceleración en mecanismos Unefm
Tema 3 velocidad y aceleración en mecanismos UnefmTema 3 velocidad y aceleración en mecanismos Unefm
Tema 3 velocidad y aceleración en mecanismos Unefm
Edgar Ortiz Sánchez
 
Mecanismos levas.
Mecanismos levas.Mecanismos levas.
Mecanismos levas.
robin morales pacheco
 
G19 funcion de transferencia y diagrama de bode
G19 funcion de transferencia y diagrama de bodeG19 funcion de transferencia y diagrama de bode
G19 funcion de transferencia y diagrama de bode
Roslyn Cruz Castro
 
Motor de induccion diapositiva.
Motor de induccion diapositiva.Motor de induccion diapositiva.
Motor de induccion diapositiva.
Rafael Sandoval
 
142121367 cinematica-directa-de-un-robot-scara
142121367 cinematica-directa-de-un-robot-scara142121367 cinematica-directa-de-un-robot-scara
142121367 cinematica-directa-de-un-robot-scara
David Zambrano
 
Lugar geométrico de las raices control 1
Lugar geométrico de las raices control 1Lugar geométrico de las raices control 1
Lugar geométrico de las raices control 1
Marvin Pariona
 
Unidad III: Polos y Ceros de una función de transferencia.
Unidad III: Polos y Ceros de una función de transferencia.Unidad III: Polos y Ceros de una función de transferencia.
Unidad III: Polos y Ceros de una función de transferencia.
Mayra Peña
 
Análisis de la respuesta del sistema
Análisis de la respuesta del sistemaAnálisis de la respuesta del sistema
Análisis de la respuesta del sistema
Universidad de Oriente
 
Clase 2 - Estabilidad - Plano S - Plano Z
Clase 2 - Estabilidad - Plano S - Plano ZClase 2 - Estabilidad - Plano S - Plano Z
Clase 2 - Estabilidad - Plano S - Plano Z
UNEFA
 
Señales y sistemas
Señales y sistemasSeñales y sistemas
Señales y sistemas
MateoLeonidez
 
Criterios de estabilidad Controles Automáticos
Criterios de estabilidad  Controles Automáticos Criterios de estabilidad  Controles Automáticos
Criterios de estabilidad Controles Automáticos
Deivis Montilla
 
1 Morfologia
1 Morfologia1 Morfologia
1 Morfologia
Vinicio Acuña
 
Definiciones de control
Definiciones de controlDefiniciones de control
Definiciones de controlPaolo Castillo
 
Modelación de sistemas - Función de transferencia y digramas de bloque
Modelación de sistemas - Función de transferencia y digramas de bloqueModelación de sistemas - Función de transferencia y digramas de bloque
Modelación de sistemas - Función de transferencia y digramas de bloque
Matías Gabriel Krujoski
 
Ejercicios diagramas de bloques y gfs
Ejercicios diagramas de bloques y gfsEjercicios diagramas de bloques y gfs
Ejercicios diagramas de bloques y gfs
Edinson Michileno Segura
 

La actualidad más candente (20)

Modelado en espacio de estados
Modelado en espacio de estadosModelado en espacio de estados
Modelado en espacio de estados
 
Cinematica directa scara
Cinematica directa scaraCinematica directa scara
Cinematica directa scara
 
Sistemas de segundo orden
Sistemas de segundo  ordenSistemas de segundo  orden
Sistemas de segundo orden
 
Sistemas de primer orden, segundo orden y orden superior
Sistemas de primer orden,  segundo orden y orden superiorSistemas de primer orden,  segundo orden y orden superior
Sistemas de primer orden, segundo orden y orden superior
 
Tema 3 velocidad y aceleración en mecanismos Unefm
Tema 3 velocidad y aceleración en mecanismos UnefmTema 3 velocidad y aceleración en mecanismos Unefm
Tema 3 velocidad y aceleración en mecanismos Unefm
 
Mecanismos levas.
Mecanismos levas.Mecanismos levas.
Mecanismos levas.
 
G19 funcion de transferencia y diagrama de bode
G19 funcion de transferencia y diagrama de bodeG19 funcion de transferencia y diagrama de bode
G19 funcion de transferencia y diagrama de bode
 
Motor de induccion diapositiva.
Motor de induccion diapositiva.Motor de induccion diapositiva.
Motor de induccion diapositiva.
 
142121367 cinematica-directa-de-un-robot-scara
142121367 cinematica-directa-de-un-robot-scara142121367 cinematica-directa-de-un-robot-scara
142121367 cinematica-directa-de-un-robot-scara
 
Lugar geométrico de las raices control 1
Lugar geométrico de las raices control 1Lugar geométrico de las raices control 1
Lugar geométrico de las raices control 1
 
Unidad III: Polos y Ceros de una función de transferencia.
Unidad III: Polos y Ceros de una función de transferencia.Unidad III: Polos y Ceros de una función de transferencia.
Unidad III: Polos y Ceros de una función de transferencia.
 
Tema 4-sensores
Tema 4-sensoresTema 4-sensores
Tema 4-sensores
 
Análisis de la respuesta del sistema
Análisis de la respuesta del sistemaAnálisis de la respuesta del sistema
Análisis de la respuesta del sistema
 
Clase 2 - Estabilidad - Plano S - Plano Z
Clase 2 - Estabilidad - Plano S - Plano ZClase 2 - Estabilidad - Plano S - Plano Z
Clase 2 - Estabilidad - Plano S - Plano Z
 
Señales y sistemas
Señales y sistemasSeñales y sistemas
Señales y sistemas
 
Criterios de estabilidad Controles Automáticos
Criterios de estabilidad  Controles Automáticos Criterios de estabilidad  Controles Automáticos
Criterios de estabilidad Controles Automáticos
 
1 Morfologia
1 Morfologia1 Morfologia
1 Morfologia
 
Definiciones de control
Definiciones de controlDefiniciones de control
Definiciones de control
 
Modelación de sistemas - Función de transferencia y digramas de bloque
Modelación de sistemas - Función de transferencia y digramas de bloqueModelación de sistemas - Función de transferencia y digramas de bloque
Modelación de sistemas - Función de transferencia y digramas de bloque
 
Ejercicios diagramas de bloques y gfs
Ejercicios diagramas de bloques y gfsEjercicios diagramas de bloques y gfs
Ejercicios diagramas de bloques y gfs
 

Similar a Diseño, simulación y control de la dinámica de un robot planar de dos grados de libertad, documento

Control de un robot de dos grados de libertad mediante visión
Control de un robot de dos grados de libertad mediante visiónControl de un robot de dos grados de libertad mediante visión
Control de un robot de dos grados de libertad mediante visión
Bronson Duhart
 
Robótica aplicada
Robótica aplicadaRobótica aplicada
Robótica aplicada
José Andrés Alanís Navarro
 
Robots Paralelos, Conceptos y Aplicaciones
Robots Paralelos, Conceptos y AplicacionesRobots Paralelos, Conceptos y Aplicaciones
Robots Paralelos, Conceptos y Aplicaciones
htrmoreno
 
If cruz ramirez fiee
If cruz ramirez fieeIf cruz ramirez fiee
If cruz ramirez fiee
Abraham Marcelo ramirez flores
 
Mecatrónica clase01.pdf
Mecatrónica clase01.pdfMecatrónica clase01.pdf
Mecatrónica clase01.pdf
RocioScherpa
 
Dialnet robotica-4868954
Dialnet robotica-4868954Dialnet robotica-4868954
Dialnet robotica-4868954
ssuseraa0f61
 
Informe
InformeInforme
Informe
Luis Peña
 
Practicas de robotica utilizando matlab - Roque
Practicas de robotica utilizando matlab -  RoquePracticas de robotica utilizando matlab -  Roque
Practicas de robotica utilizando matlab - Roque
PROD LARD
 
Introduccion a la robotica
Introduccion a la roboticaIntroduccion a la robotica
Introduccion a la robotica
Reider Troconis
 
Proyecto final MODELADO DE ROBOTS UPC TABASCO
Proyecto final MODELADO DE ROBOTS UPC TABASCOProyecto final MODELADO DE ROBOTS UPC TABASCO
Proyecto final MODELADO DE ROBOTS UPC TABASCODave R Rdez
 
Formato ieee (1) robotica fase final
Formato ieee (1) robotica fase finalFormato ieee (1) robotica fase final
Formato ieee (1) robotica fase final
Keny Hans
 
Ma dinamica y control de robots
Ma dinamica y control de robotsMa dinamica y control de robots
Ma dinamica y control de robots
Familia Ledezma
 
Robótica
RobóticaRobótica
Robótica
robotica26
 
Intro robotica
Intro roboticaIntro robotica
Robotica
RoboticaRobotica
Robotica
crisophercph
 
DISEÑO BRAZO ROBOT 5GDL
DISEÑO BRAZO ROBOT 5GDL DISEÑO BRAZO ROBOT 5GDL
DISEÑO BRAZO ROBOT 5GDL
UNIVERSIDAD NACIONAL DE TRUJILLO
 
Handling cosimir
Handling cosimirHandling cosimir
Cinética de un Robot
Cinética de un RobotCinética de un Robot
Cinética de un Robot
León Leon
 
Robotica signature 601m
Robotica signature 601mRobotica signature 601m
Robotica signature 601mchristianlauf
 
Robotica
RoboticaRobotica
Robotica
José Parra
 

Similar a Diseño, simulación y control de la dinámica de un robot planar de dos grados de libertad, documento (20)

Control de un robot de dos grados de libertad mediante visión
Control de un robot de dos grados de libertad mediante visiónControl de un robot de dos grados de libertad mediante visión
Control de un robot de dos grados de libertad mediante visión
 
Robótica aplicada
Robótica aplicadaRobótica aplicada
Robótica aplicada
 
Robots Paralelos, Conceptos y Aplicaciones
Robots Paralelos, Conceptos y AplicacionesRobots Paralelos, Conceptos y Aplicaciones
Robots Paralelos, Conceptos y Aplicaciones
 
If cruz ramirez fiee
If cruz ramirez fieeIf cruz ramirez fiee
If cruz ramirez fiee
 
Mecatrónica clase01.pdf
Mecatrónica clase01.pdfMecatrónica clase01.pdf
Mecatrónica clase01.pdf
 
Dialnet robotica-4868954
Dialnet robotica-4868954Dialnet robotica-4868954
Dialnet robotica-4868954
 
Informe
InformeInforme
Informe
 
Practicas de robotica utilizando matlab - Roque
Practicas de robotica utilizando matlab -  RoquePracticas de robotica utilizando matlab -  Roque
Practicas de robotica utilizando matlab - Roque
 
Introduccion a la robotica
Introduccion a la roboticaIntroduccion a la robotica
Introduccion a la robotica
 
Proyecto final MODELADO DE ROBOTS UPC TABASCO
Proyecto final MODELADO DE ROBOTS UPC TABASCOProyecto final MODELADO DE ROBOTS UPC TABASCO
Proyecto final MODELADO DE ROBOTS UPC TABASCO
 
Formato ieee (1) robotica fase final
Formato ieee (1) robotica fase finalFormato ieee (1) robotica fase final
Formato ieee (1) robotica fase final
 
Ma dinamica y control de robots
Ma dinamica y control de robotsMa dinamica y control de robots
Ma dinamica y control de robots
 
Robótica
RobóticaRobótica
Robótica
 
Intro robotica
Intro roboticaIntro robotica
Intro robotica
 
Robotica
RoboticaRobotica
Robotica
 
DISEÑO BRAZO ROBOT 5GDL
DISEÑO BRAZO ROBOT 5GDL DISEÑO BRAZO ROBOT 5GDL
DISEÑO BRAZO ROBOT 5GDL
 
Handling cosimir
Handling cosimirHandling cosimir
Handling cosimir
 
Cinética de un Robot
Cinética de un RobotCinética de un Robot
Cinética de un Robot
 
Robotica signature 601m
Robotica signature 601mRobotica signature 601m
Robotica signature 601m
 
Robotica
RoboticaRobotica
Robotica
 

Más de Bronson Duhart

AirRay. Un sistema de vuelo autónomo.
AirRay. Un sistema de vuelo autónomo.AirRay. Un sistema de vuelo autónomo.
AirRay. Un sistema de vuelo autónomo.
Bronson Duhart
 
Interfaz mioeléctrica, presentación
Interfaz mioeléctrica, presentaciónInterfaz mioeléctrica, presentación
Interfaz mioeléctrica, presentación
Bronson Duhart
 
Evaluacion ambiental sobre pilas
Evaluacion ambiental sobre pilasEvaluacion ambiental sobre pilas
Evaluacion ambiental sobre pilas
Bronson Duhart
 
Programación Y Simulación De Robot SCARA, documento
Programación Y Simulación De Robot SCARA, documentoProgramación Y Simulación De Robot SCARA, documento
Programación Y Simulación De Robot SCARA, documento
Bronson Duhart
 
Programación Y Simulación De Robot SCARA, presentación
Programación Y Simulación De Robot SCARA, presentaciónProgramación Y Simulación De Robot SCARA, presentación
Programación Y Simulación De Robot SCARA, presentación
Bronson Duhart
 
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
Bronson Duhart
 

Más de Bronson Duhart (6)

AirRay. Un sistema de vuelo autónomo.
AirRay. Un sistema de vuelo autónomo.AirRay. Un sistema de vuelo autónomo.
AirRay. Un sistema de vuelo autónomo.
 
Interfaz mioeléctrica, presentación
Interfaz mioeléctrica, presentaciónInterfaz mioeléctrica, presentación
Interfaz mioeléctrica, presentación
 
Evaluacion ambiental sobre pilas
Evaluacion ambiental sobre pilasEvaluacion ambiental sobre pilas
Evaluacion ambiental sobre pilas
 
Programación Y Simulación De Robot SCARA, documento
Programación Y Simulación De Robot SCARA, documentoProgramación Y Simulación De Robot SCARA, documento
Programación Y Simulación De Robot SCARA, documento
 
Programación Y Simulación De Robot SCARA, presentación
Programación Y Simulación De Robot SCARA, presentaciónProgramación Y Simulación De Robot SCARA, presentación
Programación Y Simulación De Robot SCARA, presentación
 
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
 

Último

Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
AlfonsoRosalesFonsec
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
AlbertoRiveraPrado
 
01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas
ivan848686
 
Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.
thatycameron2004
 
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptxDesbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
ValGS2
 
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptxMATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
Fernando Benavidez
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
MariaCortezRuiz
 
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
DianaSG6
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
ppame8010
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
KevinCabrera96
 
Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
SamuelHuapalla
 
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
leonpool521
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
HaroldKewinCanaza1
 
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptxMedicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
gabrielperedasanchez
 
Seguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticosSeguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticos
Melvin191754
 
OPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasasOPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasas
Eder288265
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
maitecuba2006
 
Criterios de la primera y segunda derivada
Criterios de la primera y segunda derivadaCriterios de la primera y segunda derivada
Criterios de la primera y segunda derivada
YoverOlivares
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
everchanging2020
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
CarlitosWay20
 

Último (20)

Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
 
01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas
 
Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.
 
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptxDesbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
 
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptxMATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
 
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
 
Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
 
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
 
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptxMedicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
 
Seguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticosSeguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticos
 
OPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasasOPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasas
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
 
Criterios de la primera y segunda derivada
Criterios de la primera y segunda derivadaCriterios de la primera y segunda derivada
Criterios de la primera y segunda derivada
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
 

Diseño, simulación y control de la dinámica de un robot planar de dos grados de libertad, documento

  • 1. DISEÑO, SIMULACIÓN Y CONTROL DE LA DINÁMICA DE UN ROBOT PLANAR DE DOS GRADOS DE LIBERTAD Realidad virtual y simulación B. Amauri Montoya Duhart Prof. José Eduardo Chairez Veloz 12/12/14
  • 2. 1 1.Contenidos 1. CONTENIDOS 1 2. RESUMEN 3 3. INTRODUCCIÓN 4 4. OBJETIVO 6 5. MARCO TEÓRICO 6 5.1 CINEMÁTICA DIRECTA 6 5.2 CINEMÁTICA INVERSA 9 5.3 ESPACIO DE TRABAJO, SINGULARIDADES E ÍNDICE DE MANIPULABILIDAD 10 5.4 DINÁMICA 11 5.5 CONTROL 13 5.6 SIMULACIÓN 16 6. DESARROLLO 17 6. 1 CINEMÁTICA DIRECTA 17 6.2 CINEMÁTICA INVERSA 20 6.3 ESPACIO DE TRABAJO, SINGULARIDADES E ÍNDICE DE MANIPULABILIDAD 22 6.4 DINÁMICA 23 6.5 CAMBIOS 29 6.6 CONTROL 32 6.7 SIMULACIÓN 33
  • 3. 2 7. RESULTADOS 39 7.1 CIRCUNFERENCIA FUERA DEL ORIGEN 39 7.2 CIRCUNFERENCIA EN EL ORIGEN 46 8. CONCLUSIONES 49 9. REFERENCIAS 51 10. ANEXO 1. MODELO DE SIMULINK® 52
  • 4. 3 2.Resumen En las páginas siguientes se detalla el fundamento teórico, junto con un método específico, para completar exitosamente la simulación de un manipulador robótico de dos grados de libertad. En este documento se pretende mostrar el proceso general de modelado de sistemas dinámicos, específicamente robóticos, para poder realizar el análisis de su comportamiento de una manera más comprensible. Las líneas aquí incluidas versan acerca de temas variados, desde el modelado matemático del movimiento de un robot, el modelado matemático de las fuerzas necesarias para controlarlo, el diseño y la aplicación de leyes de control al sistema, así como la implementación de modelos matemáticos dentro de Simulink® y MATLAB® de MathWorks y la integración de estos con mundos virtuales tridimensionales generados mediante el uso de herramientas de CAD y de Realidad virtual, como V-Realm Builder©. El problema específico que se resuelve consiste en modelar el comportamiento de un brazo robótico planar de 2 grados de libertad (GDL), para luego aplicar distintas leyes de control al modelo obtenido y comparar su rendimiento con base en el trazado de trayectorias indicadas por el usuario a través de un entorno virtual y de software de desarrollo matemático, como MATLAB®. Se guiará al lector a través de cada una de las etapas que se desarrollaron parcialmente para construir de manera progresiva el texto presentado. Se espera que el lector halle de su interés lo que aquí se expone y que, así mismo, le resulte útil en sus propios estudios en el campo de la Robótica.
  • 5. 4 3.Introducción “La Robótica es un campo relativamente joven de la tecnología moderna que va más allá de los límites de la ingeniería tradicional. Para comprender la complejidad de los robots y de sus aplicaciones, se requiere de conocimientos en ingeniería eléctrica, ingeniería mecánica, ingeniería industrial y de sistemas, ciencias de la computación, economía y matemáticas.” (Spong, 2004) Un robot se define oficialmente por el Robot Institute of America como un manipulador multifuncional reprogramable diseñado para mover partes, materiales, herramientas o dispositivos especiales a través de movimientos variables programados para la realización de una variedad de tareas. Históricamente, este término apareció por vez primera en la obra del autor checo Karel Čapek, Rossum’s Universal Robots, R.U.R. en donde se plantea la temática de seres humanoides que sirven como esclavos o autómatas a las personas. Se dice que Čapek no hallaba una manera de llamar a estos entes que lo convenciera, entonces, su hermano Josef le propueso utilizar robot que tiene su origen en la palabra checa robota, que viene a significar “labor forzada”, servicio, esclavo… Este nombre fue utilizado en el imperio austro-húngaro hasta 1848. La palabra inventada por Josef Čapek sirve para designar a las máquinas trabajadoras o serviles. Ya en términos técnicos, cuatro áreas son fundamentales para el análisis, modelado, control y simulación de un robot. Dichas áreas son la Cinemática del robot, la Dinámica del robot, Teoría de control y la Realidad virtual. Cada una de ellas se bosqueja en esta sección. La Cinemática es la división de la mecánica que se encarga de realizar la descripción del movimiento de los cuerpos, sin prestar atención a sus causas ni efectos sobre otros cuerpos. Por lo tanto, no se involucran variables de fuerza o energía, únicamente desplazamientos, velocidades y aceleraciones.
  • 6. 5 Como una aplicación específica de ésta, se encuentra la Cinemática del robot, que se interesa por describir el movimiento de un cuerpo controlable con varios grados de libertad y marcos de referencia, estableciendo las relaciones necesarias para migrar entre ellos. Dentro de ella, se subdividen la Cinemática directa y Cinemática inversa. La primera genera las expresiones que permiten ir desde el espacio de coordenadas articulares del robot hacia el espacio de las coordenadas del extremo de éste; la segunda trabaja en sentido contrario; partiendo de las coordenadas del extremo para determinar el valor que debe tomar cada una de las articulaciones del brazo. Sin embargo, con la intención de controlar un sistema mecánico, se deben conocer las relaciones entre las fuerzas y pares de entrada al sistema y sus correspondientes movimientos. Esto es justamente el objeto de estudio de la Dinámica del robot: conocer las expresiones que asocien la entrada (fuerza o par) de cada articulación con sus respectivas posiciones, velocidades y aceleraciones articulares. En la etapa de control, el modelo derivado mediante la Dinámica del robot será crucial para manipular según nuestro deseo al brazo. La Teoría de control es un campo interdisciplinario de la ingeniería y las matemáticas, que trata con el comportamiento de sistemas dinámicos. Tiene como propósito lograr que estos sigan determinada referencia a lo largo del tiempo. Para lograrlo, un controlador manipula la entrada al sistema para obtener el efecto deseado en la salida del mismo; es indispensable para el funcionamiento del controlador tener una retroalimentación de la salida. El Control automático desempeña un papel importante en los procesos de manufactura, industriales, navales, aeroespaciales, robótica, económicos, biológicos, y varios más. Por ultimo, la Realidad virtual es una ciencia basada en el empleo de ordenadores y otros dispositivos, cuyo fin es producir una apariencia de realidad que permita al usuario tener la sensación de estar presente en ella. Se consigue esto mediante la generación por ordenador de un conjunto de imágenes que son contempladas por el usuario a través de un dispositivo denominado visor o ventana.
  • 7. 6 4.Objetivo Objetivo general: Diseñar un elemento virtual de un robot manipulador de dos grados de libertad a través de un archivo VRML y asociar su dinámica con la herramienta de cálculo MATLAB® para su visualización en un ordenador. Objetivos específicos:  Obtener la cinemática a través de los parámetros de Denavit-Hartenberg y el enfoque geométrico para su posterior simulación con archivos VRML  Obtener la dinámica de un robot manipulador planar de 2 GDL a través de la formulación Euler-Lagrange para su posterior simulación en archivo VRML.  Conocer las leyes de control para sistemas dinámicos para su posterior simulación con archivos VRML.  Utilizar interfaces de realidad virtual y obtener información de la misma. 5.Marco teórico 5.1 Cinemática directa Para llevar a cabo el análisis cinemático se pueden utilizar los métodos gráfico y mediante matrices de transformación homogénea, en particular el algoritmo de Denavit-Hartenberg (D-H). En este documento se derivan las expresiones que describen las posiciones y velocidades de cada una de las variables de un brazo robot planar con dos grados de libertad (GDL). Aunque sencilla, esta configuración de brazo permitirá aplicar los conceptos de interés para conseguir el adecuado entendimiento de su uso, con la intención de emplear los resultados obtenidos como futura referencia para el control de nuestro sistema.
  • 8. 7 Se completará el análisis cinemático directo mediante el algoritmo de D-H, y también se utilizará la matriz Jacobiana para encontrar las relaciones entre las velocidades articulares del robot planar y las del efector final. Dentro de este texto se empleará la notación siguiente: sen 𝜃 = 𝑠 𝜃, cos 𝜃 = 𝑐 𝜃 y sen 𝜃𝑖 = 𝑠𝑖, cos 𝜃𝑖 = 𝑐𝑖, cuando sea claro. El algoritmo D-H hace uso de matrices de transformación homogénea para la cinemática directa. Una matriz de transformación homogénea es una matriz de 4x4 y permite llevar a cabo la transformación de coordenadas homogéneas para cambiar de base. En otras palabras, es útil para convertir un vector entre distintos marcos de referencia. En el caso de un robot, estos marcos de referencia corresponden a cada uno de los eslabones que lo forman. Una matriz de transformación homogénea tiene la forma siguiente (Barrientos, 1996): [ 𝑹 𝑻 𝒑 𝑤 ] Donde 𝑹 es una matriz de rotación de 3x3; 𝑻, un vector de traslación de 3x1; 𝒑, un vector de 3x1 de perspectiva y 𝑤 es un factor de escalado. Al trabajar con la cinemática del robot, 𝒑 será siempre un vector nulo y 𝑤, será igual a uno. En el caso particular del algoritmo D-H, la matriz 𝑨𝑖−1 𝑖 que relaciona a los marcos del eslabón 𝑖 y el eslabón 𝑖 − 1 se construye como una secuencia específica de movimientos con respecto al marco actual de referencia: una rotación 𝜃𝑖 alrededor del eje 𝑧𝑖−1, una traslación 𝑑𝑖 a lo largo del mismo eje, una traslación 𝑎𝑖 a lo largo del eje 𝑥𝑖 y finalmente una rotación 𝛼𝑖 en éste (Spong, 2004). En notación matricial: 𝑨𝑖−1 𝑖 = 𝑅𝑜𝑡(𝑧, 𝜃𝑖)𝑇𝑟𝑎𝑛𝑠(𝑧, 𝑑𝑖)𝑇𝑟𝑎𝑛𝑠(𝑥, 𝑎𝑖)𝑅𝑜𝑡(𝑥, 𝛼𝑖) 𝑨𝑖−1 𝑖 = [ 𝑐 𝜃 𝑖 −𝑠 𝜃 𝑖 0 0 𝑠 𝜃 𝑖 𝑐 𝜃 𝑖 0 0 0 0 1 0 0 0 0 1 ] [ 1 0 0 0 0 1 0 0 0 0 1 𝑑𝑖 0 0 0 1 ] [ 1 0 0 𝑎𝑖 0 1 0 0 0 0 1 0 0 0 0 1 ] [ 1 0 0 0 0 𝑐 𝛼𝑖 −𝑠 𝛼𝑖 0 0 𝑠 𝛼𝑖 𝑐 𝛼𝑖 0 0 0 0 1 ]
  • 9. 8 𝑨𝑖−1 𝑖 = [ 𝑐 𝜃 𝑖 −𝑠 𝜃 𝑖 𝑐 𝛼𝑖 𝑠 𝜃 𝑖 𝑠 𝛼𝑖 𝑎𝑖 𝑐 𝜃 𝑖 𝑠 𝜃 𝑖 𝑐 𝜃 𝑖 𝑐 𝛼𝑖 −𝑐 𝜃 𝑖 𝑠 𝛼𝑖 𝑎𝑖 𝑠 𝜃 𝑖 0 𝑠 𝛼𝑖 𝑐 𝛼𝑖 𝑑𝑖 0 0 0 1 ] (5.1) Donde 𝜃𝑖, 𝑑𝑖, 𝑎𝑖 y 𝛼𝑖 reciben el nombre de parámetros de D-H. Por otra parte, también se requiere conocer la relación entre las velocidades del extremo del brazo y las velocidades de las coordenadas articulares de él. Aquí es necesaria una matriz adicional conocida como Jacobiana o simplemente el Jacobiano del robot (Barrientos, 1996). Considerando para un robot de planar de 2 GDL que: 𝑥 = 𝑓1(𝑞1, 𝑞2) 𝑦 = 𝑓2(𝑞1, 𝑞2) Si se derivan estas expresiones con respecto al tiempo, se tiene: 𝑑𝑥 𝑑𝑡 = 𝑑 𝑑𝑡 𝑓1(𝑞1, 𝑞2) 𝑑𝑦 𝑑𝑡 = 𝑑 𝑑𝑡 𝑓2(𝑞1, 𝑞2) Estas ecuaciones se pueden agrupar dentro de una matriz, el Jacobiano 𝑱, quedando: [ 𝑥̇ 𝑦̇ ] = 𝑱𝒒̇ 𝑱 = [ 𝜕𝑓1 𝜕𝑞1 𝜕𝑓1 𝜕𝑞2 𝜕𝑓2 𝜕𝑞1 𝜕𝑓2 𝜕𝑞2 ] (5.2)
  • 10. 9 Aunque en un caso más general: 𝑱 = [ 𝜕𝑓1 𝜕𝑞1 ⋯ 𝜕𝑓1 𝜕𝑞 𝑛 ⋮ ⋱ ⋮ 𝜕𝑓𝑛 𝜕𝑞1 ⋯ 𝜕𝑓𝑛 𝜕𝑞 𝑛] Donde se incluyen variables en un espacio tridimensional como son las coordenadas cartesianas y los ángulos de Euler del marco asociado al efector final, que proporcionan, en suma, las velocidades lineales y angulares de éste. También a partir del Jacobiano, es posible relacionar las aceleraciones articulares y las del efector. Si se deriva [ 𝑥̇ 𝑦̇ ] = 𝑱𝒒̇ De acuerdo a la regla del producto, obtenemos: [ 𝑥̇ 𝑦̇ ] = [ 𝑑 𝑑𝑡 𝑱(𝑞)] 𝒒̇ + 𝑱(𝑞)𝒒̈ (5.2.1) 5.2 Cinemática inversa Este tema se preocupa por establecer ecuaciones que permitan ir desde el espacio del efector hacia el espacio articular del robot. En el robot que se analizará, el método gráfico será suficiente para completar la cinemática inversa, ya que presenta cierta simplicidad geométrica y se pueden deducir las relaciones únicamente con trigonometría. Dicho método consiste simplemente en resolver los triángulos formados por los eslabones y el vector posición del extremo del brazo, con respecto al marco base (Spong, 2004). Para robots más complicados, en cambio, existen otras técnicas que aquí no se discuten (Barrientos, 1996).
  • 11. 10 5.3 Espacio de trabajo, singularidades e índice de manipulabilidad El espacio de trabajo de un robot se define como el volumen total barrido por el efector final, mientras el manipulador ejecuta todos sus movimientos posibles. Se encuentra limitado por la geometría del robot, así como por las restricciones mecánicas de las articulaciones. Este espacio suele dividirse en espacio alcanzable y espacio diestro, el primero siendo el conjunto de puntos que puede alcanzar el manipulador; el segundo, un subconjunto del primero, que el manipulador puede alcanzar con un orientación arbitraria del efector final. Dentro de las posibles configuraciones del brazo robot, existen algunas de especial interés. Éstas reciben el nombre de singularidades o configuraciones singulares. Una singularidad se define como un arreglo de las coordenadas articulares del manipulador para el cual el rango de su Jacobiano decrece. Esto significa que dos o más vectores de velocidad son linealmente dependientes. El análisis de singularidades adquiere especial importancia debido a las siguientes razones: 1. Representan configuraciones desde las cuales ciertas direcciones de movimiento podrían no ser alcanzables. 2. En una singularidad, puede ocurrir que velocidades acotadas del efector final correspondan a velocidades articulares no acotadas. 3. En una singularidad, puede ocurrir que acotadas del efector final correspondan a fuerzas y pares articulares no acotados. 4. Las singularidades sueles (no siempre) corresponder a puntos en los límites del espacio de trabajo, es decir, puntos de máximo alcance para el manipulador.
  • 12. 11 5. Las singularidades corresponden a puntos en el espacio de trabajo que podrían dejar de ser alcanzables ante ligeras perturbaciones de los parámetros de los eslabones. 6. Cerca de una singularidad, no existirá una solución única al problema cinemático inverso. Esto significa que no habrá solución o que habrán infinitas soluciones. El último punto que se plantea en este apartado es sobre el índice de manipulabilidad. La manipulabilidad es una medida que permite cuantificar la calidad de la configuración interna de un robot y puede ser utilizada en consecuencia dentro de un marco de optimización como ayuda en la solución de la cinemática inversa. Para robots no redundantes, esto es, que tienen únicamente la cantidad de GDL requeridos para posicionarse en su espacio y no más; se define el índice de manipulabilidad de la siguiente forma (Spong, 2004): 𝜔 = √det 𝑱𝑱 𝑻 = │𝜆1 𝜆2 ⋯ 𝜆 𝑚│ = │ det 𝑱 │ (5.3) Este índice será igual a cero si y sólo si el rango de 𝑱 es menor a 𝑚 (GDL del robot). 5.4 Dinámica Existen varios algoritmos para completar el análisis dinámico del robot, dos muy conocidos son Newton-Euler y Euler-Lagrange. El primero se basa en el equilibrio de fuerzas y se puede volver demasiado complicado para varios GDL; el segundo, en cambio, considera la energía del sistema, lo cual simplifica el trabajo (Spong, 2004).
  • 13. 12 La formulación de Euler-Lagrange parte de una función llamada Lagrangiano, ℒ(𝑞, 𝑞̇), definida como: ℒ(𝑞, 𝑞̇) = 𝐾(𝑞, 𝑞̇) − 𝑈(𝑞) (5.4) Donde 𝐾 es la energía cinética del sistema y 𝑈, la potencial. 𝐾𝑖 = 1 2 𝑚𝑖 𝑣𝑖 𝑇 𝑣𝑖 + 1 2 𝐼𝑖 𝑞̇1 2 (5.5) 𝑈𝑖 = 𝑚𝑖 𝑔ℎ𝑖 (5.6) 𝑚𝑖: masa del eslabón 𝑖 𝑣𝑖: velocidad del eslabón 𝑖 𝐼𝑖: momento de inercia del centro de masa del eslabón 𝑖 ℎ𝑖: altura del centro de masa del eslabón 𝑖 con respecto al marco base. Para el caso particular del robot de 2 GDL: ℒ(𝑞, 𝑞̇) = 𝐾1(𝑞, 𝑞̇) + 𝐾2(𝑞, 𝑞̇) − 𝑈1(𝑞) − 𝑈2(𝑞) (5.7) La formulación completa es la siguiente: 𝑑 𝑑𝑡 𝜕ℒ 𝜕𝑞̇ 𝑖 − 𝜕ℒ 𝜕𝑞𝑖 = 𝜏𝑖 (5.8)
  • 14. 13 Sin embargo, si se toma en cuenta a (4) y que la energía potencial, 𝑈, no depende de la velocidad, por lo que 𝜕𝑈1 𝜕𝑞̇ 𝑖 = 0, se puede emplear la forma equivalente: 𝑑 𝑑𝑡 𝜕 𝜕𝑞̇ 𝑖 (𝐾1 + 𝐾2 − 𝑈1 − 𝑈2) − 𝜕 𝜕𝑞𝑖 (𝐾1 + 𝐾2 − 𝑈1 − 𝑈2) = 𝜏𝑖 𝑑 𝑑𝑡 ( 𝜕𝐾1 𝜕𝑞̇ 𝑖 + 𝜕𝐾2 𝜕𝑞̇ 𝑖 ) − 𝜕𝐾1 𝜕𝑞 𝑖 − 𝜕𝐾2 𝜕𝑞 𝑖 + 𝜕𝑈1 𝜕𝑞 𝑖 + 𝜕𝑈2 𝜕𝑞 𝑖 = 𝜏𝑖 (5.9) Donde 𝜏𝑖 es la fuerza o par aplicada al eslabón 𝑖-ésimo. Mediante el método descrito se obtendrá un sistema de 𝑛 ecuaciones, donde 𝑛 es el número de GDL. Estas ecuaciones dependerán de las variables articulares 𝑞, 𝑞̇ y 𝑞̈; luego de obtenerlas, resulta conveniente para el control del brazo escribirlas de la siguiente manera: 𝑴(𝒒)𝒒̈ + 𝑪(𝒒, 𝒒̇ )𝒒̇ + 𝑮(𝒒) = 𝝉 (5.10) Donde 𝑴 es la matriz de inercias, 𝑪 es la matriz de aceleraciones de Coriolis y 𝑮 es la matriz de componentes gravitacionales,𝒒̈ , 𝒒̇ y 𝝉 son vectores de 𝑛𝑥1 con las aceleraciones, velocidades y entradas articulares (Barrientos, 1996) (González Elías & Díaz Domínguez, 2005). 5.5 Control Existen ciertas definiciones que conviene conocer cuando se estudia el control automático. Algunas son (Contreras Montes, n.d.):  Señal de salida: es la variable que se desea controlar (posición, velocidad, presión, temperatura). También se denomina variable controlada.  Señal de referencia: es el valor que se desea que alcance la señal de salida.  Error: es la diferencia entre la señal de referencia y la señal de salida real.  Señal de control: es la señal que produce el controlador para modificar la variable controlada de tal forma que se disminuya, o elimine, el error.
  • 15. 14  Planta: es el elemento físico que se desea controlar. Planta puede ser: un motor, un horno, un sistema de disparo, un sistema de navegación, un tanque de combustible o, en nuestro caso, un robot.  Sistema: consiste en un conjunto de elementos que actúan coordinadamente para realizar un objetivo determinado.  Perturbación: es una señal que tiende a afectar la salida del sistema, desviándola del valor deseado.  Sistema de control en lazo cerrado: es aquel en el cual continuamente se está monitoreando la señal de salida para compararla con la señal de referencia y calcular la señal de error, la cual a su vez es aplicada al controlador para generar la señal de control y tratar de llevar la señal de salida al valor deseado. También es llamado control realimentado.  Sistema de control en lazo abierto: en estos sistemas de control la señal de salida no es monitoreada para generar una señal de control. Una ley de control muy común y relativamente sencilla es el control proporcional integrativo derivativo o PID. Éste control puede aplicarse en diferentes maneras, prescindiendo en algunos sistemas de alguna de sus componentes. La ley general es: 𝒖 = 𝒌 𝑷 𝒆 + 𝒌 𝑰∫ 𝒆𝒅𝒕 + 𝒌 𝑫 𝒅 𝒅𝒕 𝒆 (5.11) Donde 𝑒 es el error y 𝑘 𝑃, 𝑘𝐼, y 𝑘 𝐷 son las ganancias del controlador. Para nuestro caso particular, se emplea una forma modificada de control PID, conocida como control con compensación de gravedad, que consiste en un control PD al cual se suma el término no lineal de la ecuación dinámica del sistema, con la intención de que, al existir en ambos miembros de la ecuación, se anule la no linealidad del sistema. 𝒖 = 𝒌 𝑷 𝒆 + 𝒌 𝑫 𝒅 𝒅𝒕 𝒆 + 𝒈(𝒒 𝟏, 𝒒 𝟐, … 𝒒 𝒎) (5.12)
  • 16. 15 Sin embargo, existen otras leyes que también se aplican al control de sistemas dinámicos, aportando distintos beneficios y ventajas. Un ejemplo de esto es el control por Modos deslizantes. El control por modos deslizantes consiste en definir una ley de control que conmuta a alta frecuencia la cual consigue llevar el estado del sistema a una superficie denominada superficie de deslizamiento y una vez en ella mantenerlo ante posibles perturbaciones externas. Para mantener el régimen de deslizamiento ideal, la señal de control debe ser capaz de conmutar con una frecuencia infinita entre valores positivos a negativos, esto produce un efecto indeseado denominado chattering, así que las trayectorias, antes que deslizarse, oscilan alrededor de la superficie de deslizamiento. La presencia del chattering puede excitar dinámicas no modeladas, reducir la exactitud del control, introducir grandes pérdidas por calor en circuitos eléctricos de potencia, aparte de los problemas físicos en los dispositivos mecánicos. Es necesario por lo tanto suavizar la señal de control discontinua para lograr un compromiso entre la señal tolerada por los elementos físicos reales y la precisión requerida. La metodología de diseño de un controlador por modos deslizantes, implica primero establecer la dinámica de la superficie de deslizamiento, verificar la estabilidad y la existencia del modo deslizante diseñando una ley de control que garantice un régimen de deslizamiento. Una vez que el sistema es atrapado en la superficie, la dinámica del sistema en lazo cerrado es determinada sólo por la superficie de deslizamiento. (Muñoz & Gaviria) En conformidad con el alcance y objetivos del curso para el cual se realizó el presente trabajo, aquí se selecciona de forma predeterminada a s= 𝑘 𝑃 𝑒 + 𝑘 𝐷 𝑑 𝑑𝑡 𝑒 como superficie deslizante, cuya ley de control será 𝑢 = tanh 𝑠
  • 17. 16 5.6 Simulación La Realidad virtual abarca distintos niveles de abstracción. La sensación de presencia dependerá de qué tan parecido resulte un elemento virtual a la realidad física que nos rodea. Una manera de obtener información de un sistema dinámico a la que se pueda asignar un sentido físico tal que el comportamiento de dicho sistema sea más fácil de comprender para una audiencia general es construyendo una representación tridimensional del sistema y manipulando sus atributos mediante un modelo matemático. Tanto Matlab como Simulink integran una Toolbox que nos posibilita hacer esto de una manera sencilla. Se basa en el lenguaje de realidad virtual VRML para la creación de mundos virtuales y accede a ellos a través de nodos, aplicando el concepto de jerarquía y herencia para definir sus transformaciones espaciales y de apariencia. En Simuink se emplea el bloque de VRSink para poder manejar tales nodos. En este proyecto se hará uso de la mencionada Toolbox dentro de Simulink para simular el comportamiento del robot planar de 2 GDL a lo largo del seguimiento de trayectorias definidas paramétricamente. Una trayectoria paramétrica está dada en un espacio bidimensional como un conjunto de puntos, (𝑥, 𝑦), expresados en función de otras variables, conocidas como parámetros. Una situación común es definir estos puntos en términos del tiempo 𝑡, que funge como parámetro. Las siguientes ecuaciones serán las que describan la trayectoria seguida por el manipulador, considerando que el movimiento sea periódico con frecuencia 𝜔: Curva Ecuación Circunferencia de radio 𝑟 y centro (ℎ, 𝑘) 𝑥 = 𝑟 cos 𝜔𝑡 + ℎ 𝑦 = 𝑟 sen 𝜔𝑡 + 𝑘 Recta que inicia en (𝑥0, 𝑦0) y termina en (𝑥 𝑛, 𝑦𝑛) 𝑥 = 𝑥 𝑛 − 𝑥0 2 𝑐𝑜𝑠 𝜔𝑡 + 𝑥0 + 𝑥 𝑛 2 𝑦 = 𝑦𝑛 − 𝑦0 2 𝑐𝑜𝑠 𝜔𝑡 + 𝑦0 + 𝑦𝑛 2
  • 18. 17 6. Desarrollo 6. 1 Cinemática directa Sea el robot planar de dos grados de libertad representado por la siguiente figura, se obtendrá su cinemática directa mediante el algoritmo de Denavit-Hartenberg (D-H). Primero se realiza el diagrama de cuerpo libre o alambre, con la intención de establecer de manera más clara al sistema y asignar los marcos de referencia asociados a cada eslabón para definir los parámetros de D-H. 𝑙2 𝑞1 𝑙1 𝑞2 (𝑥, 𝑦)
  • 19. 18 Eslabón 𝜽𝒊 𝒅𝒊 𝒂𝒊 𝜶𝒊 1 𝑞1 0 𝑙1 0 2 𝑞2 0 𝑙2 0 Parámetros de D-H para el robot planar de 2 GDL Ahora que se tienen los parámetros D-H, se sustituirán en las matrices de transformación homogénea D-H de cada eslabón. Se tiene: 𝑨0 1 = [ 𝑐1 −𝑠1 0 𝑙1 𝑐1 𝑠1 𝑐1 0 𝑙1 𝑠1 0 0 1 0 0 0 0 1 ] , 𝑨1 2 = [ 𝑐2 −𝑠2 0 𝑙2 𝑐2 𝑠2 𝑐2 0 𝑙2 𝑠2 0 0 1 0 0 0 0 1 ] 𝑙2 𝑙1 𝑧1 𝑦1 𝑥1 𝑧0 𝑦0 𝑥0 𝑧2 𝑦2 𝑥2 𝑞1 𝑞2
  • 20. 19 La matriz que va del marco base al del efector final, 𝑨0 2 está definida como: 𝑨0 2 = 𝑨0 1 𝑨1 2 𝑨0 2 = [ 𝑐1 𝑐2 − 𝑠1 𝑠2 −𝑐1 𝑠2 − 𝑠1 𝑐2 0 𝑙2 𝑐1 𝑐2 − 𝑙2 𝑠1 𝑠2 + 𝑙1 𝑐1 𝑠1 𝑐2 + 𝑐1 𝑠2 −𝑠1 𝑠2 + 𝑐1 𝑐2 0 𝑙2 𝑠1 𝑐2 + 𝑙2 𝑐1 𝑠2 + 𝑙1 𝑠1 0 0 1 0 0 0 0 1 ] 𝑨0 2 = [ 𝑐12 −𝑠12 0 𝑙2 𝑐12 + 𝑙1 𝑐1 𝑠12 𝑐12 0 𝑙2 𝑠12 + 𝑙1 𝑠1 0 0 1 0 0 0 0 1 ] (6.1) Donde 𝑠12 = sen(𝑞1 + 𝑞2) y 𝑐12 = cos(𝑞1 + 𝑞2) A partir de las ecuaciones obtenidas arriba para 𝑥 y 𝑦, se determinará el Jacobiano del robot. 𝑥 = 𝑓1(𝑞1, 𝑞2) = 𝑙2 𝑐12 + 𝑙1 𝑐1 (6.2) 𝑦 = 𝑓2(𝑞1, 𝑞2) = 𝑙2 𝑠12 + 𝑙1 𝑠1 (6.3) Donde 𝑓1 y 𝑓2 corresponden a 𝑨0 2(4, 1) y 𝑨0 2(4, 2), respectivamente. Empleando (5.2), se obtiene que: 𝑱 = [ −𝑙2 𝑠12 − 𝑙1 𝑠1 −𝑙2 𝑠12 𝑙2 𝑐12 + 𝑙1 𝑐1 𝑙2 𝑐12 ] (6.4) [ 𝑥̇ 𝑦̇ ] = [ −𝑙2 𝑠12 − 𝑙1 𝑠1 −𝑙2 𝑠12 𝑙2 𝑐12 + 𝑙1 𝑐1 𝑙2 𝑐12 ] 𝒒̇ Ahora se establecerán las aceleraciones a partir de (5.2.1). [ 𝑥̇ 𝑦̇ ] = [ −𝑙2 𝑐12(𝑞̇1 + 𝑞̇2) − 𝑙1 𝑐1 𝑞̇1 −𝑙2 𝑐12(𝑞̇1 + 𝑞̇2) −𝑙2 𝑠12(𝑞̇1 + 𝑞̇2) − 𝑙1 𝑠1 𝑞̇1 −𝑙2 𝑠12(𝑞̇1 + 𝑞̇2) ] 𝒒̇ + [ −𝑙2 𝑠12 − 𝑙1 𝑠1 −𝑙2 𝑠12 𝑙2 𝑐12 + 𝑙1 𝑐1 𝑙2 𝑐12 ] 𝒒̈
  • 21. 20 6.2 Cinemática inversa Considerando las variables mostradas en el diagrama siguiente, se determinarán por el método gráfico las ecuaciones para cada una de las coordenadas articulares en función de (𝑥, 𝑦) dadas. Aplicando la ley de los cosenos, se determina la segunda coordenada articular: 𝑟2 = 𝑥2 + 𝑦2 𝑟2 = 𝑙1 2 + 𝑙2 2 − 2𝑙1 𝑙2 cos 𝜑 𝜑 = 𝜋 − 𝑞2 cos 𝜑 = cos(𝜋 − 𝑞2) = − cos 𝑞2 = 𝑙1 2 + 𝑙2 2 − 𝑟2 2𝑙1 𝑙2 cos 𝑞2 = 𝑐2 = 𝑟2 − 𝑙1 2 − 𝑙2 2 2𝑙1 𝑙2 𝑙1 𝑙2 𝑞1 𝑞2 𝜑 𝜔 𝛿 𝑟 (𝑥, 𝑦)
  • 22. 21 Luego, mediante la identidad pitagórica: sen2 𝑞2 + cos2 𝑞2 = 1 sin2 𝑞2 = 𝑠2 2 = 1 − 𝑐2 2 tan 𝑞2 = 𝑠2 𝑐2 = ±√1 − 𝑐2 2 𝑐2 𝑞2 = atan ±√1−𝑐2 2 𝑐2 (6.5) La primer coordenada articular es la diferencia entre el ángulo 𝜔 y el ángulo formado por el primer eslabón y el vector 𝑟. tan(𝜔 − 𝑞1) = 𝑙2 𝑠2 𝑙1 + 𝑙2 𝑐2 𝑞1 = 𝜔 − atan 𝑙2 𝑠2 𝑙1 + 𝑙2 𝑐2 𝜔 = atan 𝑦 𝑥 𝑞1 = atan 𝑦 𝑥 − atan 𝑙2 𝑠2 𝑙1+𝑙2 𝑐2 (6.6) La razón para no utilizar 𝑎𝑐𝑜𝑠, sino 𝑎𝑡𝑎𝑛 en la parte de la cinemática directa es debido a consideraciones de cómputo de ambas funciones. Personalmente se juzga más rápida y eficiente de implementar la expresión de 𝑎𝑡𝑎𝑛 mediante series infinitas que la de 𝑎𝑐𝑜𝑠. Estas series se muestran en la página siguiente.
  • 23. 22 acos 𝑧 = 𝜋 2 − ∑ ( 2𝑛 𝑛 ) 𝑧2𝑛+1 4 𝑛(2𝑛 + 1) ∞ 𝑛=0 ; |𝑧| ≤ 1 atan 𝑧 = ∑ (−1) 𝑛 𝑧2𝑛+1 2𝑛 + 1 ∞ 𝑛=0 ; |𝑧| ≤ 1 Específicamente, se emplea 𝑎𝑡𝑎𝑛2, ya que ésta tiene un rango de salida [−𝜋, 𝜋], mientras que 𝑎𝑡𝑎𝑛 tiene un rango recortado [− 𝜋 2 , 𝜋 2 ] que limitaría el movimiento del brazo. 6.3 Espacio de trabajo, singularidades e índice de manipulabilidad En el caso del robot que estamos tratando, el espacio de trabajo se infiere de manera empírica como el área contenida dentro de dos círculos que representan el mínimo alcance y máximo alcance del robot. De esta manera el espacio de trabajo del robot quedará descrito como: 𝑊 = {(𝑥, 𝑦)|(𝑙1 − 𝑙2)2 ≤ 𝑥2 + 𝑦2 ≤ (𝑙1 + 𝑙2)2} En el caso de las singularidades, se calcula el determinante del Jacobiano. El rango del Jacobiano decrecerá siempre que el su determinante sea nulo. det 𝑱 = det [ −𝑙2 𝑠12 − 𝑙1 𝑠1 −𝑙2 𝑠12 𝑙2 𝑐12 + 𝑙1 𝑐1 𝑙2 𝑐12 ] det 𝑱 = 𝑙2 𝑐12( − 𝑙2 𝑠12 − 𝑙1 𝑠1) + 𝑙2 𝑠12(𝑙2 𝑐12 + 𝑙1 𝑐1) det 𝑱 = 𝑙1 𝑙2 𝑠2 det 𝑱 = 0 ⇔ 𝑠2 = 0 Entonces habrá una singularidad siempre que: 𝑞2 = 𝑛𝜋, 𝑛 = ±1, ±2, … En cuanto al índice de manipulabilidad, 𝜔 = │ det 𝑱 │ = 𝑙1 𝑙2│𝑠2│
  • 24. 23 6.4 Dinámica Considerando el diagrama de arriba, se obtendrán la energía cinética y la energía potencial de cada eslabón, con base en (5.5) y (5.6). 𝑙1 𝑙2 𝑞1 𝑞2 𝑚2 𝑚1 𝐼2 ( 𝑥, 𝑦) 𝐼1 𝑙1 𝑙2
  • 25. 24 Primer eslabón Energía cinética 𝑥1 = 𝑙1 𝑐1 𝑦1 = 𝑙1 𝑠1 𝑣1 = [ 𝑥̇ 𝑦̇ ] = [ −𝑙1 𝑠1 𝑙1 ̅ 𝑐1 ] 𝑞̇1 𝑣1 𝑇 𝑣1 = [−𝑙1 𝑠1 𝑙1 𝑐1] 𝑞̇1 [ −𝑙1 𝑠1 𝑙1 𝑐1 ] 𝑞̇1 ‖𝑣1‖ = 𝑙1 2 𝑠1 2 𝑞̇1 2 + 𝑙1 2 𝑐1 2 𝑞̇1 2 Mediante la identidad pitagórica: ‖𝑣1‖ = 𝑙1 2 𝑞̇1 2 Se sustituye este resultado en (2): 𝐾1 = 1 2 𝑚1 𝑙1 2 𝑞̇1 2 + 1 2 𝐼1 𝑞̇1 2 Energía potencial 𝑈1 = 𝑚1 𝑔𝑙1 𝑠1 Segundo eslabón Energía cinética 𝑥2 = 𝑙1 𝑐1 + 𝑙2 𝑐12 𝑦2 = 𝑙1 𝑠1 + 𝑙2 𝑠12 𝑣2 = [ −𝑙1 𝑠1 𝑞̇1 − 𝑙2 𝑠12(𝑞̇1 + 𝑞̇2) 𝑙1 𝑐1 𝑞̇1 + 𝑙2 𝑐12(𝑞̇1 + 𝑞̇2) ] ‖𝑣2‖ = (−𝑙1 𝑠1 𝑞̇1 − 𝑙2 𝑠12(𝑞̇1 + 𝑞̇2)) 2 + (𝑙1 𝑐1 𝑞̇1 + 𝑙2 𝑐12(𝑞̇1 + 𝑞̇2)) 2
  • 26. 25 Si se desarrollan los binomios cuadrados y se aplican las identidades trigonométricas sen2 𝜃 + cos2 𝜃 = 1 y cos(𝛼 ± 𝛽) = cos 𝛼 cos 𝛽 ∓ sen 𝛼 sen 𝛽 : ‖𝑣2‖ = 𝑙1 2 𝑠1 2 𝑞̇1 2 + 2𝑙1 𝑙2 𝑠1 𝑠12 𝑞̇1(𝑞̇1 + 𝑞̇2) + 𝑙2 2 𝑠12 2 (𝑞̇1 + 𝑞̇2)2 +𝑙1 2 𝑐1 2 𝑞̇1 2 + 2𝑙1 𝑙2 𝑐1 𝑐12 𝑞̇1(𝑞̇1 + 𝑞̇2) + 𝑙2 2 𝑐12 2 (𝑞̇1 + 𝑞̇2)2 ‖𝑣2‖ = 𝑙1 2 𝑞̇1 2 + 2𝑙1 𝑙2 𝑐2 𝑞̇1(𝑞̇1 + 𝑞̇2) + 𝑙2 2 (𝑞̇1 + 𝑞̇2)2 ‖𝑣2‖ = 𝑙1 2 𝑞̇1 2 + 2𝑙1 𝑙2 𝑐2(𝑞̇1 2 + 𝑞̇1 𝑞̇2) + 𝑙2 2 (𝑞̇1 2 + 2𝑞̇1 𝑞̇2 + 𝑞̇2 2) Ahora se sustituye en la ecuación de la energía cinética: 𝐾2 = 1 2 𝑚2 (𝑙1 2 𝑞̇1 2 + 2𝑙1 𝑙2 𝑐2(𝑞̇1 2 + 𝑞̇1 𝑞̇2) + 𝑙2 2 (𝑞̇1 2 + 2𝑞̇1 𝑞̇2 + 𝑞̇2 2)) + 1 2 𝐼2(𝑞̇1 + 𝑞̇2)2 Energía potencial 𝑈2 = 𝑚2 𝑔(𝑙1 𝑠1 + 𝑙2 𝑠12) Ahora se obtendrán las ecuaciones de Euler-Lagrange para el sistema. Primero se diferencian las ecuaciones de energía y luego se reemplazan estas derivadas en la formulación Euler-Lagrange. Primer eslabón Energía cinética 𝐾1 = 1 2 𝑚1 𝑙1 2 𝑞̇1 2 + 1 2 𝐼1 𝑞̇1 2 𝜕𝐾1 𝜕𝑞̇1 = (𝑚1 𝑙1 2 + 𝐼1) 𝑞̇1 𝜕𝐾1 𝜕𝑞̇2 = 0 𝜕𝐾1 𝜕𝑞1 = 0 𝜕𝐾1 𝜕𝑞2 = 0
  • 27. 26 Energía potencial 𝑈1 = 𝑚1 𝑔𝑙1 𝑠1 𝜕𝑈1 𝜕𝑞1 = 𝑚1 𝑔𝑙1 𝑐1 𝜕𝑈1 𝜕𝑞2 = 0 Segundo eslabón Energía cinética 𝐾2 = 1 2 𝑚2 (𝑙1 2 𝑞̇1 2 + 2𝑙1 𝑙2 𝑐2(𝑞̇1 2 + 𝑞̇1 𝑞̇2) + 𝑙2 2 (𝑞̇1 2 + 2𝑞̇1 𝑞̇2 + 𝑞̇2 2)) + 1 2 𝐼2(𝑞̇1 + 𝑞̇2)2 𝜕𝐾2 𝜕𝑞̇1 = (𝑚2 𝑙1 2 + 2𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2 2 + 𝐼2) 𝑞̇1 + (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2 2 + 𝐼2) 𝑞̇2 𝜕𝐾2 𝜕𝑞̇2 = (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2 2 + 𝐼2) 𝑞̇1 + (𝑚2 𝑙2 2 + 𝐼2) 𝑞̇2 𝜕𝐾2 𝜕𝑞1 = 0 𝜕𝐾2 𝜕𝑞2 = −𝑚2 𝑙1 𝑙2 𝑠2(𝑞̇1 2 + 𝑞̇1 𝑞̇2) Energía potencial 𝑈2 = 𝑚2 𝑔(𝑙1 𝑠1 + 𝑙2 𝑠12) 𝜕𝑈2 𝜕𝑞1 = 𝑚2 𝑔(𝑙1 𝑐1 + 𝑙2 𝑐12) 𝜕𝑈2 𝜕𝑞2 = 𝑚2 𝑔𝑙2 𝑐12
  • 28. 27 Los resultados de ya obtenidos se sustituyen en la ecuación de Euler-Lagrange, primero para 𝑞1 y luego para 𝑞2. 𝑑 𝑑𝑡 ( 𝜕𝐾1 𝜕𝑞̇1 + 𝜕𝐾2 𝜕𝑞̇1 ) − 𝜕𝐾1 𝜕𝑞1 − 𝜕𝐾2 𝜕𝑞1 + 𝜕𝑈1 𝜕𝑞1 + 𝜕𝑈2 𝜕𝑞1 = 𝜏1 𝑑 𝑑𝑡 ((𝑚1 𝑙1 2 + 𝐼1) 𝑞̇1 + (𝑚2 𝑙1 2 + 2𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2 2 + 𝐼2) 𝑞̇1 + (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2 2 + 𝐼2) 𝑞̇2) −0 − 0 + 𝑚1 𝑔𝑙1 𝑐1 + 𝑚2 𝑔(𝑙1 𝑐1 + 𝑙2 𝑐12) = 𝜏1 (𝑚1 𝑙1 2 + 𝐼1) 𝑞̈1 + (−2𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2) 𝑞̇1 + (𝑚2 𝑙1 2 + 2𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2 2 + 𝐼2) 𝑞̈1 +(−𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2)𝑞̇2 + (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2 2 + 𝐼2) 𝑞̈2 + 𝑚1 𝑔𝑙1 𝑐1 + 𝑚2 𝑔𝑙1 𝑐1 + 𝑚2 𝑔𝑙2 𝑐12 = 𝜏1 Después de reagrupar términos: (𝑚1 𝑙1 2 + 𝑚2 𝑙2 2 + 𝑚2 𝑙1 2 + 2𝑚2 𝑙1 𝑙2 𝑐2 + 𝐼1 + 𝐼2) 𝑞̈1 + (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2 2 + 𝐼2) 𝑞̈2 +(−2𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2) 𝑞̇1 + (−𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2)𝑞̇2 + (𝑚1 𝑙1 𝑐1 + 𝑚2 𝑙1 𝑐1 + 𝑚2 𝑙2 𝑐12)𝑔 = 𝜏1
  • 29. 28 𝑑 𝑑𝑡 ( 𝜕𝐾1 𝜕𝑞̇2 + 𝜕𝐾2 𝜕𝑞̇2 ) − 𝜕𝐾1 𝜕𝑞2 − 𝜕𝐾2 𝜕𝑞2 + 𝜕𝑈1 𝜕𝑞2 + 𝜕𝑈2 𝜕𝑞2 = 𝜏2 𝑑 𝑑𝑡 (0 + (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2 2 + 𝐼2) 𝑞̇1 + (𝑚2 𝑙2 2 + 𝐼2) 𝑞̇2) − 0 − (−𝑚2 𝑙1 𝑙2 𝑠2(𝑞̇1 2 + 𝑞̇1 𝑞̇2)) +0 + 𝑚2 𝑔𝑙2 𝑐12 = 𝜏2 (−𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2) 𝑞̇1 + (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2 2 + 𝐼2) 𝑞̈1 + (𝑚2 𝑙2 2 + 𝐼2) 𝑞̈2 + 𝑚2 𝑙1 𝑙2 𝑠2(𝑞̇1 2 + 𝑞̇1 𝑞̇2) +𝑚2 𝑔𝑙2 𝑐12 = 𝜏2 (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2 2 + 𝐼2) 𝑞̈1 + (𝑚2 𝑙2 2 + 𝐼2) 𝑞̈2 + (−𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2) 𝑞̇1 + 𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇1(𝑞̇1 + 𝑞̇2) +𝑚2 𝑔𝑙2 𝑐12 = 𝜏2 Reagrupando términos llegamos a: (𝑚2 𝑙1 𝑙2 𝑐2 + 𝑚2 𝑙2 2 + 𝐼2) 𝑞̈1 + (𝑚2 𝑙2 2 + 𝐼2) 𝑞̈2 + (𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇1) 𝑞̇1 + (𝑚2 𝑙2 𝑐12)𝑔 = 𝜏2 Sin embargo, en el marco teórico se mencionó que es más útil escribir la dinámica de acuerdo con (5.10). Entonces se procede a sustituir las expresiones anteriores en dicha ecuación matricial. 𝑴(𝒒)𝒒̈ + 𝑪(𝒒, 𝒒̇ )𝒒̇ + 𝑮(𝒒) = 𝝉 𝑴 = [ 𝑚1 𝑙1 2 + 𝑚2 (𝑙1 2 + 2𝑙1 𝑙2 𝑐2 + 𝑙2 2 ) + 𝐼1 + 𝐼2 𝑚2 (𝑙1 𝑙2 𝑐2 + 𝑙2 2 ) + 𝐼2 𝑚2 (𝑙1 𝑙2 𝑐2 + 𝑙2 2 ) + 𝐼2 𝑚2 𝑙2 2 + 𝐼2 ] 𝑪 = [ −2𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2 −𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2 𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇1 0 ] 𝑮 = 𝑔 [ (𝑚1 𝑙1 + 𝑚2 𝑙1)𝑐1 + 𝑚2 𝑙2 𝑐12 𝑚2 𝑙2 𝑐12 ] 𝒒̈ = [ 𝑞̈1 𝑞̈2 ] , 𝒒̇ = [ 𝑞̇1 𝑞̇2 ] , 𝝉 = [ 𝜏1 𝜏2 ]
  • 30. 29 6.5 Cambios Antes de continuar con el análisis, se resumen a continuación algunas de las ecuaciones obtenidas hasta ahora. La importancia de ellas radica en que conforman el modelo del comportamiento del sistema, sin dichas ecuaciones, no podría simularse el manipulador. Cinemática directa [ 𝑥 𝑦] = [ 𝑙2 𝑐12 + 𝑙1 𝑐1 𝑙2 𝑠12 + 𝑙1 𝑠1 ] Cinemática inversa [ 𝑞1 𝑞2 ] = [ 𝑎𝑡𝑎𝑛 𝑦 𝑥 − 𝑎𝑡𝑎𝑛 𝑙2 𝑠2 𝑙1 + 𝑙2 𝑐2 𝑎𝑡𝑎𝑛 ±√1 − 𝑐2 2 𝑐2 ] 𝑐2 = 𝑥2 + 𝑦2 − 𝑙1 2 − 𝑙2 2 2𝑙1 𝑙2 Jacobiano 𝑱 = [ −𝑙2 𝑠12 − 𝑙1 𝑠1 −𝑙2 𝑠12 𝑙2 𝑐12 + 𝑙1 𝑐1 𝑙2 𝑐12 ] Índice de manipulabilidad 𝜔 = │ 𝑑𝑒𝑡 𝑱 │ = 𝑙1 𝑙2│𝑠2│
  • 31. 30 Dinámica 𝑴(𝒒)𝒒̈ + 𝑪(𝒒, 𝒒̇ )𝒒̇ + 𝑮(𝒒) = 𝝉 𝑴 = [ 𝑚1 𝑙1 2 + 𝑚2 (𝑙1 2 + 2𝑙1 𝑙2 𝑐2 + 𝑙2 2 ) + 𝐼1 + 𝐼2 𝑚2 (𝑙1 𝑙2 𝑐2 + 𝑙2 2 ) + 𝐼2 𝑚2 (𝑙1 𝑙2 𝑐2 + 𝑙2 2 ) + 𝐼2 𝑚2 𝑙2 2 + 𝐼2 ] 𝑪 = [ −2𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2 −𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2 𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇1 0 ] 𝑮 = 𝑔 [ (𝑚1 𝑙1 + 𝑚2 𝑙1)𝑐1 + 𝑚2 𝑙2 𝑐12 𝑚2 𝑙2 𝑐12 ] 𝒒̈ = [ 𝑞̈1 𝑞̈2 ] , 𝒒̇ = [ 𝑞̇1 𝑞̇2 ] , 𝝉 = [ 𝜏1 𝜏2 ] Sin embargo, éstas se obtuvieron refiriendo el ángulo 𝑞1 a partir del semieje 𝑥0 positivo. En cambio, para poder modelar el comportamiento de nuestro manipulador desde una posición de equilibrio en el semieje negativo 𝑦, debe aplicarse un cambio de variable, sustituyendo 𝑞1 por 𝑞1 − 𝜋 2 Tomando en cuenta este cambio de variable, junto con las identidades trigonométricas sen (𝜃 − 𝜋 2 ) = − cos 𝜃 y cos (𝜃 − 𝜋 2 ) = sen 𝜃, se redefinen las ecuaciones anteriores. Estas nuevas definiciones serán las que se utilicen durante la parte restante del trabajo. Cinemática directa [ 𝑥 𝑦] = [ 𝑙2 𝑠12 + 𝑙1 𝑠1 −𝑙2 𝑐12 − 𝑙1 𝑐1 ]
  • 32. 31 Cinemática inversa [ 𝑞1 𝑞2 ] = [ 𝑎𝑡𝑎𝑛 𝑦 𝑥 − 𝑎𝑡𝑎𝑛 𝑙2 𝑠2 𝑙1 + 𝑙2 𝑐2 + 𝜋 2 𝑎𝑡𝑎𝑛 ±√1 − 𝑐2 2 𝑐2 ] 𝑐2 = 𝑥2 + 𝑦2 − 𝑙1 2 − 𝑙2 2 2𝑙1 𝑙2 Jacobiano 𝑱 = [ 𝑙2 𝑐12 + 𝑙1 𝑐1 𝑙2 𝑐12 𝑙2 𝑠12 + 𝑙1 𝑠1 𝑙2 𝑠12 ] Índice de manipulabilidad 𝜔 = │ 𝑑𝑒𝑡 𝑱 │ = 𝑙1 𝑙2│𝑠2│ Esta ecuación permanece intacta, pues el determinante del Jacobiano original no se ve alterado por la redefinición (det 𝑱 = 𝑙2 𝑠12(𝑙2 𝑐12 + 𝑙1 𝑐1) − 𝑙2 𝑐12(𝑙2 𝑠12 + 𝑙1 𝑠1 ) = 𝑙1 𝑙2 𝑠2) Dinámica 𝑴 = [ 𝑚1 𝑙1 2 + 𝑚2 (𝑙1 2 + 2𝑙1 𝑙2 𝑐2 + 𝑙2 2 ) + 𝐼1 + 𝐼2 𝑚2 (𝑙1 𝑙2 𝑐2 + 𝑙2 2 ) + 𝐼2 𝑚2 (𝑙1 𝑙2 𝑐2 + 𝑙2 2 ) + 𝐼2 𝑚2 𝑙2 2 + 𝐼2 ] 𝑪 = [ −2𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2 −𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇2 𝑚2 𝑙1 𝑙2 𝑠2 𝑞̇1 0 ] 𝑮 = 𝑔 [ (𝑚1 𝑙1 + 𝑚2 𝑙1)𝑠1 + 𝑚2 𝑙2 𝑠12 𝑚2 𝑙2 𝑠12 ]
  • 33. 32 6.6 Control En esta sección se presentan las leyes de control aplicadas al sistema. Como se planteó en el marco teórico, dos leyes de control serán implementadas: Control con compensación de gravedad y Control por modos deslizantes. Control con compensación de gravedad Se mencionó en la parte del marco teórico que el control por compensación de gravedad se expresa mediante la siguiente ecuación: 𝑢 = 𝑘 𝑃 𝑒 + 𝑘 𝐷 𝑑 𝑑𝑡 𝑒 + 𝑔(𝑞1, 𝑞2, … 𝑞 𝑚) Llevando esto a un espacio ℝ2 y considerando la parte resuelta en la dinámica, se escribe que: 𝒖 = 𝒌 𝑷 𝒆 + 𝒌 𝑫 𝑑 𝑑𝑡 𝒆 + 𝒈(𝑞1, 𝑞2, … 𝑞 𝑚) 𝒖 = [ 𝑢1 𝑢2 ] 𝒆 = [ 𝑞 𝑑1 − 𝑞1 𝑞 𝑑2 − 𝑞2 ] 𝒌 𝑷 = [ 𝑘 𝑃1 0 0 𝑘 𝑃2 ] 𝒌 𝑫 = [ 𝑘 𝐷1 0 0 𝑘 𝐷2 ] 𝒈 = 𝑔 [ (𝑚1 𝑙1 + 𝑚2 𝑙1)𝑠1 + 𝑚2 𝑙2 𝑠12 𝑚2 𝑙2 𝑠12 ] Mediante prueba y error, se sintonizaron las ganancias de este control en 𝑘 𝑃1 = 800, 𝑘 𝑃2 = 540, 𝑘 𝐷1 = 1200, 𝑘 𝐷2 = 600
  • 34. 33 Control por modos deslizantes Como anteriormente se había presentado, aquí se empleará la función tangente hiperbólica como ley de control para nuestro sistema, tomando como superficie deslizante la porción PD del control con compensación de gravedad. Traduciendo esto a una expresión matemática también en ℝ2 : 𝒖 = 𝒌 𝑡𝑎𝑛ℎ (𝒌 𝑷 𝒆 + 𝒌 𝑫 𝑑 𝑑𝑡 𝒆) Donde 𝒖, 𝒌 𝑷, 𝒌 𝑫 y 𝒆 se definen igual que antes y 𝒌 = [ 𝑘1 0 0 𝑘2 ] También empíricamente se sintonizaron las ganancias. Los valores elegidos fueron: 𝑘1 = 200, 𝑘2 = 50 6.7 Simulación Lo que aquí se discute corresponde al diseño CAD del manipulador mecánico, incluyendo el establecimiento de los parámetros geométricos del mismo y la generación del archivo VRML a partir de éste, así como la conexión del elemento virtual con el modelo matemático producido en Simulink®. Para el diseño del brazo, se tomaron como base los modelos CAD que la compañía coreana Robotis incorpora en su software específico para el robot Bioloid Premium, Roboplus. A partir de los modelos de las piezas individuales, se diseñó el siguiente manipulador.
  • 35. 34 Luego de obtenido el modelo tridimensional, se procedió a determinar las propiedades geométricas y mecánicas del manipulador que se requieren en el modelo matemático. Primero se halló la expresión para el momento de inercia y para el centro de masa de cada eslabón. Estos se aproximaron como los de una barra sólida. ℎ 𝑏 𝑙 𝑥 𝑦 𝑧
  • 36. 35 Se calculará el centro de masa con referencia en el marco mostrado en la imagen, a partir del primer momento del volumen. 𝑥 𝑉 = ∫ 𝑥 𝑑𝑉 𝑉 𝑥 𝑉 = ∭ 𝑥 𝑑𝑥𝑑𝑦𝑑𝑧 ℎ 0 𝑥 𝑉 = ∬ ( 1 2 𝑥2 ) │0 ℎ 𝑑𝑦𝑑𝑧 𝑙 0 𝑥 𝑉 = 1 2 ℎ2 ∬ 𝑑𝑦𝑑𝑧 𝑙 0 𝑥 𝑉 = 1 2 ℎ2 ∫ 𝑦│0 𝑙 𝑑𝑧 𝑏 0 𝑥 𝑉 = 1 2 ℎ2 𝑙 ∫ 𝑑𝑧 𝑏 0 𝑥 𝑉 = 1 2 ℎ2 𝑙 𝑧│0 𝑏 𝑥(𝑏ℎ𝑙) = 1 2 ℎ2 𝑙𝑏 𝑥 = 1 2 ℎ Por simetría del prisma se obtienen las demás coordenadas del centro de masa 𝐺. 𝐺 = ( 1 2 ℎ, 1 2 𝑙, 1 2 𝑏) Ahora se calculará el segundo momento de la misma barra alrededor del eje 𝑧, pues es el único que grado de libertad del robot. Primero se considera un desplazamiento del marco de ejes ℎ 2 hacia la derecha en 𝑥. 𝐼𝑧 = ∫ 𝑟2 𝑑𝑉 𝑉
  • 37. 36 𝐼𝑧 = ∭ (𝑥2 + 𝑦2)𝑑𝑥𝑑𝑦𝑑𝑧 ℎ 2 − ℎ 2 𝐼𝑧 = ∬ ( 1 12 ℎ3 + ℎ𝑦2 ) 𝑑𝑦𝑑𝑧 𝑙 0 𝐼𝑧 = ∫ ( 1 12 ℎ3 𝑙 + 1 3 ℎ𝑙3 ) 𝑑𝑧 𝑏 0 𝐼𝑧 = ( 1 12 ℎ3 𝑙 + 1 3 ℎ𝑙3 ) 𝑏 De esta manera, podemos obtener el momento de inercia. 𝐼𝑧 = ∫ 𝑟2 𝑑𝑚 𝑉 Pero 𝑑𝑚 = 𝜌𝑑𝑉 y con una densidad constante: 𝐼𝑧 = 𝜌 ∫ 𝑟2 𝑑𝑉 𝑉 𝜌 = 𝑚 𝑉 = 𝑚 𝑏ℎ𝑙 𝐼𝑧 = 𝑚 𝑏ℎ𝑙 ( 1 12 ℎ3 𝑙 + 1 3 ℎ𝑙3 ) 𝑏 Finalmente 𝐼𝑧 = 𝐽 = 1 12 𝑚ℎ2 + 1 3 𝑚𝑙2 Para el primer eslabón: 𝑏 = 40 𝑚𝑚, ℎ = 32 𝑚𝑚, 𝑙 = 68 𝑚𝑚, 𝑚 = 55 𝑔 Y para el segundo: 𝑏 = 40 𝑚𝑚, ℎ = 32 𝑚𝑚, 𝑙 = 125 𝑚𝑚, 𝑚 = 10 𝑔
  • 38. 37 Sustituyendo estos valores en las ecuaciones que se obtuvieron, se tiene finalmente: Eslabón 1 Eslabón 2 𝑙1 68 𝑚𝑚 𝑙2 125 𝑚𝑚 𝑙1 ̅ 40 𝑚𝑚 𝑙2 ̅ 62.5 𝑚𝑚 𝑚1 55 𝑔 𝑚2 10 𝑔 𝐼1 89.4667 𝑘𝑔 𝑚𝑚2 𝐼2 52.937 𝑘𝑔 𝑚𝑚2 Parámetros del modelo Cabe aclarar que para el primer eslabón, se desplazó más hacia arriba el centro de masa debido a que el motor, colocado hacia la parte superior del mismo, concentra la masa del eslabón. Luego de producir el modelo CAD del brazo, se siguió el procedimiento correspondiente para exportarlo a VRML. Modelo CAD Importar a 3DS Exportar VRML Construir jerarquía
  • 39. 38 La jerarquía de clases utilizada en el mundo virtual, dentro de V-Realm Builder© fue:  Brazo o Rotación en 𝑧  Rotación en 𝑦  Rotación en 𝑥 o Motor 1 o Eje 1  Estructura 1  Rotación en 𝑧 o Rotación en 𝑦  Rotación en 𝑥  Motor 1  Eje 1  Estructura 1
  • 40. 39 7.Resultados 7.1 Circunferencia fuera del origen Finalmente se mostrarán las gráficas del comportamiento del sistema bajo ambas leyes de control, con el propósito de comparación. La curva de referencia que se trazó fue un circunferencia de radio igual a 50 milímetros, con centro en (100, 100) que se recorría a una frecuencia de 0.067 𝐻𝑧 Control con compensación de gravedad Diagramas de fase (articulación 1 y 2) Trayectorias (deseada y recorrida)
  • 43. 42 Control por modos deslizantes Diagramas de fase (articulación 1 y 2) Trayectorias (deseada y recorrida)
  • 47. 46 7.2 Circunferencia en el origen Un caso de particular de interés ocurrió cuando se centró a la circunferencia en el origen de coordenadas. No se consiguió la trayectoria completa bajo estas condiciones. La explicación se atribuye a las discontinuidades generadas por el rango de la función atan2, el cual se mostró en la sección del desarrollo. Trayectoria deseada Modos deslizantes
  • 50. 49 8.Conclusiones Realizar la descripción del movimiento de un robot de múltiples grados de libertad es una tarea compleja y demandante de recursos, por ello se han desarrollado diferentes métodos de solución que permitan cumplir con el objetivo de conocer las relaciones entre el marco base de un robot y el de su efector final, con la intención de utilizar esta información en el control de la posición de la cadena cinemática del robot. El análisis matemático llevado a cabo en este trabajo es un paso necesario para completar la labor de modelar, simular y controlar un robot. El objetivo de conocer el comportamiento de un manipulador robótico es controlarlo para la realización de tareas, como soldadura, pintura, ensamblaje, y transporte, entre otras. Sin embargo, se requiere poder predecir cómo actuará el robot durante la ejecución de tales actividades, pues una de las ventajas que se espera conseguir con el uso de máquinas es aumentar la precisión y confiabilidad del trabajo. Esto solamente es posible si se conoce la dinámica del robot, que proporciona las relaciones entre las fuerzas y pares aplicados en cada eslabón de la cadena y sus correspondientes respuestas motrices. Fuerzas y pares son las únicas entradas que podemos introducir a la planta, y de la dinámica específica del robot dependerán los movimientos que se consigan con determinadas entradas. Por lo tanto, para poder proseguir con el control del brazo, tener el modelo dinámico resulta indispensable. En cuanto a los métodos para analizar dinámicamente a un manipulador robótico, la formulación de Euler-Lagrange sería el equivalente del algoritmo de Denavit-Hartenberg para la cinemática. Proporciona un proceso sistemático que, mediante la aplicación de determinadas ecuaciones, conducirá a la respuesta deseada.
  • 51. 50 Sabemos que un control proporcional es el más sencillo que se puede aplicar. Consiste únicamente en ponderar con determinada ganancia al error de la planta. Esto ayuda a reducir el error estacionario, más tiene cierta limitante, ya que dicho error siempre permanece y no se habrá de conseguir la respuesta deseada. Por otra parte, también se desean en muchos casos características como tiempo de subida y de establecimiento y un determinado porcentaje de sobrepico. Conseguir estas especificaciones de diseño requiere de un control PI, PD o PID completo. Para nuestro sistema se aplicó una ley de control PD modificada no lineal, conocida como Control con compensación de gravedad. Por último, simular un sistema dinámico a través de un entorno de realidad virtual es una manera muy provechosa de extraer información acerca del comportamiento del mismo; mucho más fácil de comprender desde un punto de vista físico. Así, se pueden probar diferentes estados del sistema para conocer su reacción al variar las condiciones iniciales, las entradas o para someter a prueba determinadas leyes de control. En este ámbito, se aprendió cómo derivar las expresiones que relacionan los valores de las ganancias de un algoritmo de control con los parámetros del sistema y el lugar de los polos del mismo. De esta manera se obtienen mejores resultados que cuando tales ganancias se consiguen por prueba y error. Sin embargo, llevar esto a cabo resulta complicado en muchos sistemas. Tal es el caso del nuestro, por lo que se recurrió al último método; sin embargo, los resultados obtenidos no dejaron de ser satisfactorios. En particular, se pudo observar cómo el control por modos deslizantes produce señales más suaves que un control con compensación de gravedad, con mayores costos computacionales, no obstante.
  • 52. 51 9.Referencias [1] Barrientos. (1996). Fundamentos de robótica. Madrid. [2] Beer, F., & Johnston, R. (s.f.). Mecánica vectorial para ingenieros: Dinámica. McGraw Hill. [3] Contreras Montes, J. A. (s.f.). Teoría PID. Obtenido de Autómatas: http://www.automatas.org/hardware/teoria_pid.htm [4] Duarte, O. (s.f.). Análisis de sistemas dinámicos. Obtenido de Universidad nacional de Colombia: http://www.virtual.unal.edu.co/cursos/ingenieria/2001619/lecciones/estado/node4 .html [5] González Elías, M., & Díaz Domínguez, D. (2005). Control de un Robot Manipulador de dos Grados de Libertad Aplicando la Técnica Adaptable de Slotine-Li. Obtenido de Universidad Autónoma de Zacatecas: http://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=1 &ved=0CBsQFjAA&url=http%3A%2F%2Fwww.uaz.edu.mx%2Fcippublicaciones %2Feninvie2K5%2FRO_1%255CRO_1Gonzale.pdf&ei=GFBJVMOjD8q68QHxlY CACQ&usg=AFQjCNEEo0P0iVDhoB3rVkeH0MiSLaA2IQ&sig2=NYMw45yl [6] Inverse trigonometric functions. (s.f.). Obtenido de Wikipedia: http://en.wikipedia.org/wiki/Inverse_trigonometric_functions [7] Khaled, N. (s.f.). Virtual reality and animation for Matlab and Simulink users . Springer. [8] Spong, M. (2004). Robot dynamics and control. [9] University of Michigan. (s.f.). Introduction. Obtenido de Control tutorials for Matlab & Simulink: http://ctms.engin.umich.edu/CTMS/index.php?aux=Home
  • 53. 52 10. Anexo 1. Modelo de Simulink® Modelo completo 1 1 2 3 5 4 6 1.1 1.2
  • 54. 53 1.1 1.2 function q_d = fcn(x, y) l1 = 68; l2 = 125; c2 = (x^2 + y^2 - l1^2 - l2^2)/(2*l1*l2); q2 = atan2(real(sqrt(complex(1-c2^2))), c2); q1 = atan2(y, x) - atan2(l2*sin(q2),(l1+l2*cos(q2))) + pi/2; q_d = [q1; q2]; 2 2.1 2.2 2.3
  • 56. 55 2.2 2.3 function q_ddot = fcn(q, q_dot, tau) m1 = 55e-3; m2 = 10e-3; l1 = 68; l2 = 125; lc1 = 40; lc2 = 62.5; I1 = 89.4667; I2 = 52.937; g = 9.81; m11 = m1*lc1^2 + m2*(l1^2 + 2*l1*lc2*cos(q(2)) + lc2^2) + I1 + I2; m12 = m2*(l1*lc2*cos(q(2,1)) + lc2^2) + I2; m21 = m2*(l1*lc2*cos(q(2,1)) + lc2^2) + I2; m22 = m2*lc2^2 + I2; c11 = -2*m2*l1*lc2*sin(q(2))*q_dot(2); c12 = -m2*l1*lc2*sin(q(2))*q_dot(2); c21 = m2*l1*lc2*sin(q(2))*q_dot(1); c22 = 0; %Se sustituyen cosenos por senos: %cos(x - pi/2) = sin(x) g11 = (m1*lc1 + m2*l1)*sin(q(1)) + m2*lc2*sin(q(1)+ q(2)); g21 = m2*lc2*sin(q(1)+ q(2)); M = [m11 m12; m21 m22]; C = [c11 c12; c21 c22]; G = g*[g11; g21]; q_ddot = inv(M)*(tau - C*q_dot - G);
  • 57. 56 3 3.1 function [out, rankJ] = fcn(q) l1 = 68; l2 = 125; xOut = l1*sin(q(1)) + l2*sin(q(1) + q(2)); yOut = -l1*cos(q(1)) - l2*cos(q(1) + q(2)); zOut = 0; out = [xOut; yOut; zOut]; J11 = l1*cos(q(1)) + l2*cos(q(1) + q(2)); J12 = l2*cos(q(1) + q(2)); J21 = l1*sin(q(1)) + l2*sin(q(1) + q(2)); J22 = l2*sin(q(1) + q(2)); J = [J11 J12; J21 J22]; rankJ = rank(J); 3.1
  • 58. 57 4