Proyecto Brazo Robot
Proyecto Brazo Robot
Código: 221370312
20 DE NOVIEMBRE DE 2023
SISTEMAS ROBOTICOS II
Sección D02
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Marco Teórico:
Grados de libertad (DOF):
Son los números de movimientos independientes que pueden ser realizados por cada articulación
con respecto a la anterior con el fin de realizar alguna actividad, estos grados de libertad fijan las
posiciones alcanzables por el robot, de forma que los grados de libertad suelen coincidir con el
número de componentes que forman la cadena cinemática.
Normalmente los manipuladores que deben moverse en tres dimensiones, deben poseer por lo
menos seis grados de libertad, donde tres son para posición y 3 para orientación, y tener más de
estos lleva al actuador a ser cinematicamente redundante.
Actuadores:
Son las articulaciones del robot; los robots están compuestos de enlaces conectados por uniones en una
cadena cinemática, y establecen la movilidad que este tendrá, estas articulaciones se pueden encontrar
de varios tipos donde los principales son los rotacionales y los prismáticos, y el resto se genera en base
a la unión de estos:
Ecuaciones de la dinámica:
Las ecuaciones de la dinámica de un manipulador son un conjunto de ecuaciones matemáticas que
describen el movimiento y el comportamiento dinámico de un sistema mecánico, como un brazo
robótico. Estas ecuaciones son fundamentales para comprender y controlar el movimiento de un
manipulador en un entorno específico.
Las ecuaciones de la dinámica de un manipulador representan la relación entre las torques, las
aceleraciones y las posiciones de las diferentes partes del manipulador. Estas ecuaciones son útiles
para determinar cómo las fuerzas aplicadas a las articulaciones del manipulador afectan su
movimiento y cómo el manipulador responde a esas fuerzas.
La matriz de inercia M (q) describe cómo está distribuida la masa y la inercia rotacional en el
manipulador en función de las posiciones articulares "q". Esta información es esencial para calcular
las aceleraciones angulares de las articulaciones en respuesta a las fuerzas y las torques aplicadas.
𝑛
El vector de gravedad se calcula teniendo en cuenta la masa y la ubicación de cada parte del
manipulador en relación con la dirección de la gravedad. El cálculo generalmente se basa en el
principio de que la fuerza gravitatoria en una parte del manipulador es igual al producto de su
masa, la aceleración debida a la gravedad y la posición relativa de esa parte con respecto al centro
de masas de la articulación a la que está unida.
𝜕𝑃
𝑔(𝑞) =
𝜕𝑞
Donde:
𝑃 = ∑𝑚𝑖 𝑔ℎ𝑖
Matriz de Coriolis:
Es una matriz que describe las fuerzas de Coriolis y centrífugas que actúan sobre un manipulador
robótico o un sistema mecánico en movimiento. Estas fuerzas son fuerzas ficticias que surgen
debido a la rotación relativa entre diferentes partes del sistema y son particularmente relevantes
en sistemas con movimientos articulares. Al considerar estas fuerzas en el diseño del controlador,
se puede mejorar la precisión y la estabilidad del manipulador durante las operaciones de
movimiento.
𝐶(𝑞, 𝑞̇ )
Que se calcula como:
𝑛
1 𝜕𝑚𝑘𝑗 𝜕𝑚𝑘𝑖 𝜕𝑚𝑖𝑗
𝑐𝑖𝑘𝑗 = ∑ { + − } 𝑞̇
2 𝜕𝑞𝑖 𝜕𝑞𝑗 𝜕𝑞𝑘 𝑖
𝑖
Donde kj representa a la posición que se desea calcular de la matriz.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Espacio Articular:
El espacio articular es el conjunto de todas las posiciones posibles que puede alcanzar un robot con sus
articulaciones.
Cada articulación tiene un rango específico de movimiento ya sea lineal o rotacional, y la combinación de
todos estos rangos define el espacio articular del robot. Este espacio es ayuda en control de trayectorias,
pero conlleva consigo varios problemas, como lo son la redundancia y la singularidad.
Redundancia:
Este problema se da cuando un robot tiene más de una posición para llegar al mismo punto, generalmente
aparece durante el proceso de cinemática diferencial, el principal fallo está en que el controlador podría
tener un cambio muy grande en un momento muy corto, además que cierta configuración podría no ser
viable ya sea por capacidades del componente o por la composición del lugar (Obstáculos en el área).
Singularidad:
Este problema se da con el alcance máximo en las articulaciones, el origen del problema no está en la
estructura en la mayor parte de las veces, si no en el control, debido a que se basa en el funcionamiento del
resorte, al llegar al alcance máximo el control no puede tirar de la articulación de nuevo.
Espacio Operacional:
Es el espacio donde se especifican las coordenadas para la tarea del robot, para esto requiere una
equivalencia en el espacio articular que le permita al efector alcanzar el punto descrito, este espacio es de
mayor utilidad en términos prácticos, debido a que es más fácil de interpretar, adicional a que en el espacio
operacional, dos robots con diferentes configuraciones pueden entenderse y trabajar en conjunto.
Aplicarlo implica tener un espacio articular previo, lo que incluye tener los problemas del espacio articular
también, por ello la posición descrita debe contemplar las limitaciones del robot.
Modelos dinámicos:
Los modelos dinámicos permiten calcular la relación entre fuerzas articulares y el movimiento de la
estructura, ayudan a comprender y predecir el comportamiento del robot en relación a sus parámetros
físicos, en este caso se estudiaron dos métodos principales:
Euler-Langrange: Expresa las fuerzas y momentos en función de las diferencias en la energía del
sistema, siendo así de comprensión inmediata, además de tener una forma compacta donde
involucra la matriz de inercias, la matriz de fuerzas centrifugas y de Coriolis y el vector de gravedad.
Newton-Euler: Utiliza las ecuaciones de Newton para describir el movimiento, y las ecuaciones de
Euler para definir la rotación, y la principal ventaja de este modelo es ser computacionalmente
eficiente.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Problemas de la dinámica:
Dinámica Inversa: Como caso contrario a la dinámica directa, consiste en determinar las fuerzas en
las articulaciones del robot dadas las condiciones de posición, velocidad y aceleración del sistema,
generalmente las ecuaciones obtenidas suelen ser no lineales y son afectadas por la configuración
del robot, el principal problema está en determinar el torque necesario para realizar el movimiento
especifico una vez que las fuerzas en el actuador final son conocidas, pues las condiciones de la
aceleración, velocidad y posición no deben ser arbitrarias.
La forma de hacer compatible esta información es transformar las coordenadas operacionales de la entrada
𝑥(𝑡) a coordenadas articulares para el robot 𝑞(𝑡) .
𝑞̇ (𝑡) → ∫ → 𝑞(𝑡)
0 = 𝑞(𝑡) − 𝑞𝑑
Las fuerzas son proporcionales al error de posición articular más un término de amortiguamiento.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Controlador Proporcional-Derivativo:
Incluye tanto términos proporcionales como derivativos, de forma que además del error considera la tasa de
cambio del error, o sea la velocidad a la que está cambiando.
𝑃 = 𝑘𝑝(𝑞𝑑 − 𝑞(𝑡) )
Termino derivativo: Consiste en la tasa de cambio del error por una constante derivativa.
𝐷 = 𝑘𝑑((𝑞̇ 𝑑 − 𝑞̇ (𝑡) )
Finalmente la ecuación final con la inyección de velocidad y con compensación de gravedad es:
−1 −1
𝜏 = 𝑘𝑝 𝐽(𝑞) (𝑥̅ ) − 𝑘𝑑 𝐽(𝑞) (𝑥̇ ) + 𝑔(𝑞)
−1
Considerando 𝑥̇ = 𝐽(𝑞) 𝑞̇ → 𝑞̇ = 𝐽(𝑞) 𝑥̇ 𝑦 𝑥̅ = 𝑥𝑑 − 𝑥𝑒 :
−1
𝜏 = 𝑘𝑝 𝐽(𝑞) (𝑥𝑑 − 𝑥𝑒) − 𝑘𝑑 𝑞̇ + 𝑔(𝑞)
Considerando 𝑥̇ = 𝐽(𝑞) 𝑞̇ :
𝑇 𝑇
𝜏 = 𝐽(𝑞) 𝑘𝑝 (𝑥𝑑 − 𝑥𝑒) − 𝐽(𝑞) 𝑘𝑑 𝑥̇ + 𝑔(𝑞)
𝑇
𝜏 = 𝐽(𝑞) ( 𝑘𝑝 (𝑥𝑑 − 𝑥𝑒) − 𝑘𝑑 𝑥̇ ) + 𝑔(𝑞)
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Desarrollo de la actividad:
Identificación y colocación de ejes:
Cinemática:
Modelado DH:
Eslabón 𝛼 𝑎 𝑑 𝜃
𝑙1 0 0 𝑑1∗ 0
𝑙2 𝜋 0 𝑑2 𝜃2
2
𝑙3 0 𝑎3 0 𝜃3
Matrices de transformación:
𝑐𝑜𝑠𝜃𝑛 −𝑠𝑖𝑛𝜃𝑛 𝑐𝑜𝑠𝛼𝑛 𝑠𝑖𝑛𝜃𝑛 𝑠𝑖𝑛𝛼𝑛 𝑎𝑛 𝑐𝑜𝑠𝜃𝑛
𝑠𝑖𝑛𝜃𝑛 𝑐𝑜𝑠𝜃𝑛 𝑐𝑜𝑠𝛼𝑛 −𝑐𝑜𝑠𝜃𝑛 𝑠𝑖𝑛𝛼𝑛 𝑎𝑛 𝑠𝑖𝑛𝜃𝑛
𝑇𝑛 (𝜃𝑛 ) = [ ]
0 𝑠𝑖𝑛𝛼𝑛 𝑐𝑜𝑠𝛼𝑛 𝑑𝑛
0 0 0 1
1 0 0 0
0 1 0 0
⁰𝑇1 (𝜃1 ) = [ ]
0 0 1 𝑑1∗
0 0 0 1
𝑐𝑜𝑠𝜃2 0 𝑠𝑖𝑛𝜃2 0
1𝑇 (𝜃 ) 𝑠𝑖𝑛𝜃2 0−𝑐𝑜𝑠𝜃2 0
2 2 =[ ]
0 1 0 𝑑2
0 0 0 1
𝑐𝑜𝑠𝜃3 −𝑠𝑖𝑛𝜃3 0 𝑎3 𝑐𝑜𝑠𝜃3
2𝑇 (𝜃 ) = [ 𝑠𝑖𝑛𝜃3 𝑐𝑜𝑠𝜃3 0 𝑎3 𝑠𝑖𝑛𝜃3 ]
3 3
0 0 1 0
0 0 0 1
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Cinemática Directa:
0𝑇 = 0𝑇1 1𝑇2 2𝑇3
3
0
𝑇2 = 0𝑇1 1𝑇2
0𝑇
3 = 0𝑇2 2𝑇3
Cinemática diferencial:
𝜕𝑝1(𝑞) 𝜕𝑝1(𝑞) 𝜕𝑝1(𝑞)
𝜕𝜃1 𝜕𝜃2 𝜕𝜃3
𝜕𝑝2(𝑞) 𝜕𝑝2(𝑞) 𝜕𝑝2(𝑞)
𝐽𝑣 =
𝜕𝜃1 𝜕𝜃2 𝜕𝜃3
𝜕𝑝3(𝑞) 𝜕𝑝3(𝑞) 𝜕𝑝3(𝑞)
[ 𝜕𝜃1 𝜕𝜃2 𝜕𝜃3 ]
Donde 𝑝(𝑞) es el vector de posición obtenida en la cinemática directa y se deriva por la variable que se está
manejando en nuestro caso se identifica como:
𝜕𝑝1(𝑞) 𝜕𝑝1(𝑞) 𝜕𝑝1(𝑞)
𝜕𝑑1 𝜕𝜃2 𝜕𝜃3
𝜕𝑝2(𝑞) 𝜕𝑝2(𝑞) 𝜕𝑝2(𝑞) 0 −𝑎3 𝑠2 𝑐3 −𝑎3 𝑐2 𝑠3
𝐽𝑣 = = [0 𝑎3 𝑐2 𝑐3 −𝑎3 𝑠2 𝑠3 ]
𝜕𝑑1 𝜕𝜃2 𝜕𝜃3 0 𝑎3 𝑐3
1
𝜕𝑝3(𝑞) 𝜕𝑝3(𝑞) 𝜕𝑝3(𝑞)
[ 𝜕𝑑1 𝜕𝜃2 𝜕𝜃3 ]
𝐽𝜔 = [∈ 𝑍0 ∈ 𝑍1 ∈ 𝑍2 ]
0
𝑍0 → 𝑃𝑟𝑖𝑠𝑚𝑎𝑡𝑖𝑐𝑎 → [0]
0
1 0 0 0
⁰𝑅1 (𝜃1 ) = [0 1 0] → 𝑍1 → 𝑅𝑜𝑡𝑎𝑐𝑖𝑜𝑛𝑎𝑙 = [0]
0 0 1 1
𝑐2 0 𝑠2 𝑠2 𝑠2
1𝑅 1𝑍
(𝜃
2 2 ) = [𝑠 2 0 −𝑐2 ] → 2 = [−𝑐2 ] → 𝑅𝑜𝑡𝑎𝑐𝑖𝑜𝑛𝑎𝑙 → 𝑍2 = ⁰𝑅1 1 𝑍2 = [−𝑐2 ]
0 1 0 0 0
0 0 𝑠2
𝐽𝜔 = [0 0 −𝑐2 ]
0 1 0
0 −𝑎3 𝑠2 𝑐3 −𝑎3 𝑐2 𝑠3
0 𝑎3 𝑐2 𝑐3 −𝑎3 𝑠2 𝑠3
𝐽𝑣 1 0 𝑎3 𝑠3
𝐽=[ ]=
𝐽𝜔 0 0 𝑠2
0 0 −𝑐2
[0 1 0 ]
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Dinámica:
1
Para 𝑑𝑐1 = 𝑑1
2
Matriz de transformación:
𝑐𝑜𝑠𝜃𝑛 −𝑠𝑖𝑛𝜃𝑛 𝑐𝑜𝑠𝛼𝑛 𝑠𝑖𝑛𝜃𝑛 𝑠𝑖𝑛𝛼𝑛 𝑎𝑛 𝑐𝑜𝑠𝜃𝑛
𝑠𝑖𝑛𝜃𝑛 𝑐𝑜𝑠𝜃𝑛 𝑐𝑜𝑠𝛼𝑛 −𝑐𝑜𝑠𝜃𝑛 𝑠𝑖𝑛𝛼𝑛 𝑎𝑛 𝑠𝑖𝑛𝜃𝑛
𝑇𝑛 (𝜃𝑛 ) = [ ]
0 𝑠𝑖𝑛𝛼𝑛 𝑐𝑜𝑠𝛼𝑛 𝑑𝑛
0 0 0 1
1 0 0 0
0 1 0 0
⁰𝑇𝑐1 (𝑑1 ) = [ ]
0 0 1 𝑑1∗
0 0 0 1
Donde 𝑝(𝑞) es el vector de posición obtenida en la cinemática directa y se deriva por la variable que se está
manejando en nuestro caso se identifica como:
𝜕𝑝1(𝑞) 𝜕𝑝1(𝑞) 𝜕𝑝1(𝑞)
𝜕𝑑1 𝜕𝜃2 𝜕𝜃3
𝜕𝑝2(𝑞) 𝜕𝑝2(𝑞) 𝜕𝑝2(𝑞) 0 0 0
𝐽𝑣𝑐1 = =[ 0 0 0 ]
𝜕𝑑1 𝜕𝜃2 𝜕𝜃3 1/2 0 0
𝜕𝑝3(𝑞) 𝜕𝑝3(𝑞) 𝜕𝑝3(𝑞)
[ 𝜕𝑑1 𝜕𝜃2 𝜕𝜃3 ]
0 0 1/2 0 0 0 1/4 0 0
𝑇
𝐽𝑣𝑐1 𝐽𝑣𝑐1 = [0 0 0 ] [ 0 0 0 ]=[ 0 0 0 ]
0 0 0 1/2 0 0 0 0 0
𝐽𝜔 = [∈ 𝑍0 ∈ 𝑍1 ∈ 𝑍2 ]
0
𝑍0 → 𝑃𝑟𝑖𝑠𝑚𝑎𝑡𝑖𝑐𝑎 → [0]
0
0
𝑍1 𝑦 𝑍2 → 𝑛𝑜 ℎ𝑎𝑦 = [0]
0
0 0 0
𝐽𝜔 = [0 0 0]
0 0 0
0 0 0
𝑇
𝐽𝜔𝑐2 𝐽𝜔𝑐2 = [0 0 0]
0 0 0
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Segundo Centro de masa:
Eslabón 𝛼 𝑎 𝑑 𝜃
𝑙1 0 0 𝑑1∗ 0
𝑙2 𝜋 0 𝑑𝑐2 𝜃2
2
Matrices de transformación:
𝑐𝑜𝑠𝜃𝑛 −𝑠𝑖𝑛𝜃𝑛 𝑐𝑜𝑠𝛼𝑛 𝑠𝑖𝑛𝜃𝑛 𝑠𝑖𝑛𝛼𝑛 𝑎𝑛 𝑐𝑜𝑠𝜃𝑛
(𝜃 ) 𝑠𝑖𝑛𝜃𝑛 𝑐𝑜𝑠𝜃𝑛 𝑐𝑜𝑠𝛼𝑛 −𝑐𝑜𝑠𝜃𝑛 𝑠𝑖𝑛𝛼𝑛 𝑎𝑛 𝑠𝑖𝑛𝜃𝑛
𝑇𝑛 𝑛 = [ ]
0 𝑠𝑖𝑛𝛼𝑛 𝑐𝑜𝑠𝛼𝑛 𝑑𝑛
0 0 0 1
1 0 0 0
0 1 0 0
⁰𝑇1 (𝜃1 ) = [ ]
0 0 1 𝑑1∗
0 0 0 1
𝑐𝑜𝑠𝜃2 0 𝑠𝑖𝑛𝜃2 0
1𝑇 (𝜃 ) 𝑠𝑖𝑛𝜃2 0−𝑐𝑜𝑠𝜃2 0
𝑐2 2 =[ ]
0 1 0 𝑑𝑐2
0 0 0 1
Cinemática Directa:
0𝑇
𝑐2 = 0𝑇1 1𝑇𝑐2
Cinemática diferencial:
𝜕𝑝1(𝑞) 𝜕𝑝1(𝑞) 𝜕𝑝1(𝑞)
𝜕𝑑1 𝜕𝜃2 𝜕𝜃3
𝜕𝑝2(𝑞) 𝜕𝑝2(𝑞) 𝜕𝑝2(𝑞) 0 0 0
𝐽𝑣𝑐2 = = [0 0 0 ]
𝜕𝑑1 𝜕𝜃2 𝜕𝜃3
1 0 0
𝜕𝑝3(𝑞) 𝜕𝑝3(𝑞) 𝜕𝑝3(𝑞)
[ 𝜕𝑑1 𝜕𝜃2 𝜕𝜃3 ]
0 0 1 0 0 0 1 0 0
𝑇
𝐽𝑣𝑐2 𝐽𝑣𝑐2 = [0 0 0 ] [0 0 0 ] = [0 0 0 ]
0 0 0 1 0 0 0 0 0
𝐽𝜔 = [∈ 𝑍0 ∈ 𝑍1 ∈ 𝑍2 ]
0
𝑍0 → 𝑃𝑟𝑖𝑠𝑚𝑎𝑡𝑖𝑐𝑎 → [0]
0
1 0 0 0
𝑍1 → 𝑅𝑜𝑡𝑎𝑐𝑖𝑜𝑛𝑎𝑙 → ⁰𝑅1 (𝜃1 ) = [0 1 0] → 0 𝑍1 = [0]
0 0 1 1
0
𝑍2 = [0] → 𝑁𝑜 ℎ𝑎𝑦
0
0 0 0
𝐽𝜔 = [0 0 0]
0 1 0
0 0 0 0 0 0 0 0 0
𝑇
𝐽𝜔𝑐2 𝐽𝜔𝑐2 = [0 0 1] [0 0 0] = [0 1 0]
0 0 0 0 1 0 0 0 0
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Tercer Centro de masa:
Eslabón 𝛼 𝑎 𝑑 𝜃
𝑙1 0 0 𝑑1∗ 0
𝑙2 𝜋 0 𝑑2 𝜃2
2
𝑙3 0 𝑎𝑐3 0 𝜃3
Matrices de transformación:
𝑐𝑜𝑠𝜃𝑛 −𝑠𝑖𝑛𝜃𝑛 𝑐𝑜𝑠𝛼𝑛 𝑠𝑖𝑛𝜃𝑛 𝑠𝑖𝑛𝛼𝑛 𝑎𝑛 𝑐𝑜𝑠𝜃𝑛
𝑠𝑖𝑛𝜃𝑛 𝑐𝑜𝑠𝜃𝑛 𝑐𝑜𝑠𝛼𝑛 −𝑐𝑜𝑠𝜃𝑛 𝑠𝑖𝑛𝛼𝑛 𝑎𝑛 𝑠𝑖𝑛𝜃𝑛
𝑇𝑛 (𝜃𝑛 ) = [ ]
0 𝑠𝑖𝑛𝛼𝑛 𝑐𝑜𝑠𝛼𝑛 𝑑𝑛
0 0 0 1
1 0 0 0
0 1 0 0
⁰𝑇1 (𝜃1 ) = [ ]
0 0 1 𝑑1∗
0 0 0 1
𝑐𝑜𝑠𝜃2 0 𝑠𝑖𝑛𝜃2 0
1𝑇 (𝜃 ) = [ 𝑠𝑖𝑛𝜃2 0−𝑐𝑜𝑠𝜃2 0 ]
2 2
0 1 0 𝑑2
0 0 0 1
𝑐𝑜𝑠𝜃3 −𝑠𝑖𝑛𝜃3 0 𝑎𝑐3 𝑐𝑜𝑠𝜃3
2𝑇 (𝜃 ) 𝑠𝑖𝑛𝜃3 𝑐𝑜𝑠𝜃3 0 𝑎𝑐3 𝑠𝑖𝑛𝜃3
𝑐3 3 =[ ]
0 0 1 0
0 0 0 1
Cinemática Directa:
0𝑇
3 = 0𝑇1 1𝑇2 2𝑇𝑐3
0𝑇
2 = 0𝑇1 1𝑇2
0𝑇
𝑐3 = 0𝑇2 2𝑇𝑐3
Donde 𝑝(𝑞) es el vector de posición obtenida en la cinemática directa y se deriva por la variable que se está
manejando en nuestro caso se identifica como:
𝜕𝑝1(𝑞) 𝜕𝑝1(𝑞) 𝜕𝑝1(𝑞)
𝜕𝑑1 𝜕𝜃2 𝜕𝜃3
𝜕𝑝2(𝑞) 𝜕𝑝2(𝑞) 𝜕𝑝2(𝑞) 0 −𝑎𝑐3 𝑠2 𝑐3 −𝑎𝑐3 𝑐2 𝑠3
𝐽𝑣 = = [0 𝑎𝑐3 𝑐2 𝑐3 −𝑎𝑐3 𝑠2 𝑠3 ]
𝜕𝑑1 𝜕𝜃2 𝜕𝜃3 0 𝑎𝑐3 𝑐3
1
𝜕𝑝3(𝑞) 𝜕𝑝3(𝑞) 𝜕𝑝3(𝑞)
[ 𝜕𝑑1 𝜕𝜃2 𝜕𝜃3 ]
𝐽𝜔𝑐3 = [∈ 𝑍0 ∈ 𝑍1 ∈ 𝑍2 ]
0
𝑍0 → 𝑃𝑟𝑖𝑠𝑚𝑎𝑡𝑖𝑐𝑎 → [0]
0
1 0 0 0
⁰𝑅1 (𝜃1 ) = [0 1 0] → 𝑍1 = 0 𝑍1 → 𝑅𝑜𝑡𝑎𝑐𝑖𝑜𝑛𝑎𝑙 = [0]
0 0 1 1
𝑐2 0 𝑠2 𝑠2 𝑠2
1𝑅 = [𝑠2 0 −𝑐2 ] → 1𝑍 = [−𝑐2 ] → 𝑅𝑜𝑡𝑎𝑐𝑖𝑜𝑛𝑎𝑙 → 𝑍2 = ⁰𝑅1 1 𝑍2 = [−𝑐2 ]
2 (𝜃2 ) 2
0 1 0 0 0
0 0 𝑠2
𝐽𝜔𝑐3 = [0 0 −𝑐2 ]
0 1 0
0 0 0 0 0 𝑠2 0 0 0
𝑇
𝐽𝜔𝑐3 𝐽𝜔𝑐3 = [ 0 0 1] [0 0 −𝑐2 ] = [0 1 0]
𝑠2 −𝑐2 0 0 1 0 0 0 1
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Matriz de Inercia.
𝑛
𝑀(𝑞) = 𝑚1 𝐽𝑣1𝑇 𝐽𝑣1 + 𝐼1 𝐽𝜔1𝑇 𝐽𝜔1 + 𝑚2 𝐽𝑣2𝑇 𝐽𝑣2 + 𝐼2 𝐽𝜔2𝑇 𝐽𝜔2 + 𝑚3 𝐽𝑣3𝑇 𝐽𝑣3 + 𝐼3 𝐽𝜔3𝑇 𝐽𝜔3
1/4 0 0 0 0 0 1 0 0 0 0 0
𝑀(𝑞) = 𝑚1 [ 0 0 0 ] + 𝐼1 [0 0 0 ] + 𝑚 [
2 0 0 0 ] + 𝐼2 [0 1 0]
0 0 0 0 0 0 0 0 0 0 0 0
1 0 𝑎𝑐3 𝑐3 0 0 0
+ 𝑚3 [ 0 2 2 0
𝑎𝑐3 𝑐3 ] + 𝐼3 [0 1 0]
2
𝑎𝑐3 𝑐3 0 𝑎𝑐3 0 0 1
1 𝑚3 𝑎𝑐3 𝑐3
𝑚1 + 𝑚2 + 𝑚3 0
𝑀(𝑞) =[ 4 2 2
𝐼2 + 𝑚3 𝑎𝑐3 𝑐3 + 𝐼3 0 ]
0 2
𝑚3 𝑎𝑐3 + 𝐼3
𝑚3 𝑎𝑐3 𝑐3 0
𝑃 = ∑𝑚𝑖 𝑔ℎ𝑖
1
ℎ1 = 𝑑1∗
2
ℎ2 = 𝑑1∗ + 𝑑𝑐2
ℎ2 = 𝑎𝑐3 𝑠3 + 𝑑1∗ + 𝑑2
1
𝑃 = 𝑚1 𝑔 ( 𝑑1∗ ) + 𝑚2 𝑔(𝑑1∗ + 𝑑𝑐2 ) + 𝑚3 𝑔(𝑎𝑐3 𝑠3 + 𝑑1∗ + 𝑑2 )
2
𝜕𝑃
𝑔(𝑞) =
𝜕𝑞
1
𝑚1 𝑔 + 𝑚2 𝑔 + 𝑚3 𝑔
𝑔(𝑞) = [2 ]
0
𝑎𝑐3 𝑚3 𝑔𝑐3
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Matriz de Coriolis.
𝑪(𝒒, 𝒒̇ ) Responde a:
1 𝜕𝑚𝑘𝑗 𝜕𝑚𝑘1 𝜕𝑚1𝑗 1 𝜕𝑚𝑘𝑗 𝜕𝑚𝑘2 𝜕𝑚2𝑗 1 𝜕𝑚𝑘𝑗 𝜕𝑚𝑘3 𝜕𝑚3𝑗
𝑐𝑘𝑗 = { + − } 𝑞1̇ + { + − } + 𝑞2̇ { + − } 𝑞3̇
2 𝜕𝑞1 𝜕𝑞𝑗 𝜕𝑞𝑘 2 𝜕𝑞2 𝜕𝑞𝑗 𝜕𝑞𝑘 2 𝜕𝑞3 𝜕𝑞𝑗 𝜕𝑞𝑘
Tomando 𝑚𝑘𝑗 de la matriz de inercias:
1 𝜕𝑚11 𝜕𝑚11 𝜕𝑚11 1 𝜕𝑚11 𝜕𝑚12 𝜕𝑚21 1 𝜕𝑚11 𝜕𝑚13 𝜕𝑚31
𝑐11 = { + − } 𝑞̇ + { + − } 𝑞̇ + { + − } 𝑞̇
2 𝜕𝑞1 𝜕𝑞1 𝜕𝑞1 1 2 𝜕𝑞2 𝜕𝑞1 𝜕𝑞1 2 2 𝜕𝑞3 𝜕𝑞1 𝜕𝑞1 3
𝑐11 = 0
1 𝜕𝑚12 𝜕𝑚11 𝜕𝑚12 1 𝜕𝑚12 𝜕𝑚12 𝜕𝑚22 1 𝜕𝑚12 𝜕𝑚13 𝜕𝑚32
𝑐12 = { + − } 𝑞1̇ + { + − } 𝑞2̇ + { + − } 𝑞̇
2 𝜕𝑞1 𝜕𝑞2 𝜕𝑞1 2 𝜕𝑞2 𝜕𝑞2 𝜕𝑞1 2 𝜕𝑞3 𝜕𝑞2 𝜕𝑞1 3
𝑐12 = 0
1 𝜕𝑚13 𝜕𝑚11 𝜕𝑚13 1 𝜕𝑚13 𝜕𝑚12 𝜕𝑚23 1 𝜕𝑚13 𝜕𝑚13 𝜕𝑚33
𝑐13 = { + − } 𝑞1̇ + { + − } 𝑞2̇ + { + − } 𝑞̇
2 𝜕𝑞1 𝜕𝑞3 𝜕𝑞1 2 𝜕𝑞2 𝜕𝑞3 𝜕𝑞1 2 𝜕𝑞3 𝜕𝑞2 𝜕𝑞1 3
𝜕𝑚13
= −𝑚3 𝑎𝑐3 𝑠3
𝜕𝑞3
1
𝑐13 = (−2𝑚3 𝑎𝑐3 𝑠3 )𝜃3̇ = −𝑚3 𝑎𝑐3 𝑠3 𝜃3̇
2
1 𝜕𝑚21 𝜕𝑚21 𝜕𝑚11 1 𝜕𝑚21 𝜕𝑚22 𝜕𝑚21 1 𝜕𝑚21 𝜕𝑚23 𝜕𝑚31
𝑐21 = { + − } 𝑞̇ + { + − } 𝑞̇ + { + − } 𝑞̇
2 𝜕𝑞1 𝜕𝑞1 𝜕𝑞2 1 2 𝜕𝑞2 𝜕𝑞1 𝜕𝑞2 2 2 𝜕𝑞3 𝜕𝑞1 𝜕𝑞2 3
𝑐21 = 0
1 𝜕𝑚22 𝜕𝑚21 𝜕𝑚12 1 𝜕𝑚22 𝜕𝑚22 𝜕𝑚22 1 𝜕𝑚22 𝜕𝑚23 𝜕𝑚32
𝑐22 = { + − } 𝑞1̇ + { + − } 𝑞2̇ + { + − } 𝑞̇
2 𝜕𝑞1 𝜕𝑞2 𝜕𝑞2 2 𝜕𝑞2 𝜕𝑞2 𝜕𝑞2 2 𝜕𝑞3 𝜕𝑞2 𝜕𝑞2 3
𝜕𝑚22 2
= −2𝑚3 𝑎𝑐3 𝑐3 𝑠3
𝜕𝑞3
1
𝑐22 = (−2𝑚3 𝑎𝑐3 2
𝑐3 𝑠3 )𝜃3̇ = −𝑚3 𝑎𝑐3 2
𝑐3 𝑠3 𝜃3̇
2
1 𝜕𝑚23 𝜕𝑚21 𝜕𝑚13 1 𝜕𝑚23 𝜕𝑚22 𝜕𝑚23 1 𝜕𝑚23 𝜕𝑚23 𝜕𝑚33
𝑐23 = { + − } 𝑞1̇ + { + − } 𝑞2̇ + { + − } 𝑞̇
2 𝜕𝑞1 𝜕𝑞3 𝜕𝑞2 2 𝜕𝑞2 𝜕𝑞3 𝜕𝑞2 2 𝜕𝑞3 𝜕𝑞3 𝜕𝑞2 3
𝜕𝑚22 2
= −2𝑚3 𝑎𝑐3 𝑐3 𝑠3
𝜕𝑞3
1
𝑐23 = (−2𝑚3 𝑎𝑐3 2
𝑐3 𝑠3 )𝜃2̇ = −𝑚3 𝑎𝑐3 2
𝑐3 𝑠3 𝜃2̇
2
1 𝜕𝑚31 𝜕𝑚31 𝜕𝑚11 1 𝜕𝑚31 𝜕𝑚32 𝜕𝑚21 1 𝜕𝑚31 𝜕𝑚33 𝜕𝑚31
𝑐31 = { + − } 𝑞1̇ + { + − } 𝑞2̇ + { + − } 𝑞̇
2 𝜕𝑞1 𝜕𝑞1 𝜕𝑞3 2 𝜕𝑞2 𝜕𝑞1 𝜕𝑞3 2 𝜕𝑞3 𝜕𝑞1 𝜕𝑞3 3
𝑐31 = 0
1 𝜕𝑚32 𝜕𝑚31 𝜕𝑚12 1 𝜕𝑚32 𝜕𝑚32 𝜕𝑚22 1 𝜕𝑚32 𝜕𝑚33 𝜕𝑚32
𝑐32 = { + − } 𝑞̇ + { + − } 𝑞̇ + { + − } 𝑞̇
2 𝜕𝑞1 𝜕𝑞2 𝜕𝑞3 1 2 𝜕𝑞2 𝜕𝑞2 𝜕𝑞3 2 2 𝜕𝑞3 𝜕𝑞2 𝜕𝑞3 3
𝜕𝑚22 2
− = 2𝑚3 𝑎𝑐3 𝑐3 𝑠3
𝜕𝑞3
1
𝑐32 = (−(−2𝑚3 𝑎𝑐3 2
𝑐3 𝑠3 )𝜃2̇ ) = 𝑚3 𝑎𝑐32
𝑐3 𝑠3 𝜃2̇
2
1 𝜕𝑚33 𝜕𝑚31 𝜕𝑚13 1 𝜕𝑚33 𝜕𝑚32 𝜕𝑚23 1 𝜕𝑚33 𝜕𝑚33 𝜕𝑚33
𝑐33 = { + − } 𝑞1̇ + { + − } 𝑞2̇ + { + − } 𝑞̇
2 𝜕𝑞1 𝜕𝑞3 𝜕𝑞3 2 𝜕𝑞2 𝜕𝑞3 𝜕𝑞3 2 𝜕𝑞3 𝜕𝑞3 𝜕𝑞3 3
𝑐23 = 0
𝟎 𝟎 −𝒎𝟑 𝒂𝒄𝟑 𝒔𝟑 𝜽𝟑̇
𝑪(𝒒, 𝒒̇ ) = [𝟎 −𝒎𝟑 𝒂𝟐𝒄𝟑 𝒄𝟑 𝒔𝟑 𝜽𝟑̇ −𝒎𝟑 𝒂𝟐𝒄𝟑 𝒄𝟑 𝒔𝟑 𝜽𝟐̇ ]
𝟎 𝒎𝟑 𝒂𝟐𝒄𝟑 𝒄𝟑 𝒔𝟑 𝜽𝟐̇ 𝟎
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Dinámica compacta. 𝝉 = 𝑴(𝒒) 𝒒̈ + 𝑪(𝒒, 𝒒̇ )𝒒̇ + 𝒈(𝒒)
1
𝜏1 𝑚1 + 𝑚2 + 𝑚3 0 𝑚3 𝑎𝑐3 𝑐3 𝑑1̈
[𝜏2 ] = [4 𝐼2 + 𝑚3 𝑎𝑐3 2 2
𝑐3 + 𝐼3 0 ] [𝜃2̈ ]
𝜏3 0 𝑚 𝑎 2
+ 𝐼
0 3 𝑐3 3 𝜃3̈
𝑚3 𝑎𝑐3 𝑐3
1
0 0 −𝑚3 𝑎𝑐3 𝑠3 𝜃3̇ 𝑑1̇ 𝑚1 𝑔 + 𝑚2 𝑔 + 𝑚3 𝑔
2
+ [0 −𝑚3 𝑎𝑐3 𝑐3 𝑠3 𝜃3̇ −𝑚3 𝑎𝑐3 2
𝑐3 𝑠3 𝜃2̇ ] [𝜃2̇ ] + [2 0
]
0 𝑚3 𝑎𝑐3 𝑐3 𝑠3 𝜃2̇
2
0 𝜃3̇ 𝑎 𝑚 𝑔𝑐 𝑐3 3 3
1 1
𝝉𝟏 = ( 𝑚1 + 𝑚2 + 𝑚3 ) 𝑑1̈ + 𝑚3 𝑎𝑐3 𝑐3 𝜃3̈ − 𝑚3 𝑎𝑐3 𝑠3 𝜃32̇ + ( 𝑚1 𝑔 + 𝑚2 𝑔 + 𝑚3 𝑔)
4 2
2 2
𝝉𝟐 = (𝐼2 + 𝑚3 𝑎𝑐3 𝑐3 + 𝐼3 )𝜃2̈ − 2𝑚3 𝑎𝑐3
2
𝑐3 𝑠3 𝜃2̇ 𝜃3̇
Comprobación de propiedades:
La matriz de inercia es simétrica:
𝑴(𝒒) = 𝑴𝑻(𝒒)
𝑇
1 1
𝑚1 + 𝑚2 + 𝑚3 0 𝑚3 𝑎𝑐3 𝑐3 𝑚1 + 𝑚2 + 𝑚3 0 𝑚3 𝑎𝑐3 𝑐3
[4 2 2
𝐼2 + 𝑚3 𝑎𝑐3 𝑐3 + 𝐼3 0 ] = [4 2 2
𝐼2 + 𝑚3 𝑎𝑐3 𝑐3 + 𝐼3 0 ]
0 2
𝑚3 𝑎𝑐3 + 𝐼3 0 2
𝑚3 𝑎𝑐3 + 𝐼3
0 0
𝑚3 𝑎𝑐3 𝑐3 𝑚3 𝑎𝑐3 𝑐3
Como podemos observar al trasponer la matriz de inercias obtenemos la misma matriz, es fácilmente
observable dado que es simétrica.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
La matriz de inercia es uniformemente definida positiva:
∀ × ℝ𝒏 → 𝒙𝑻 𝑴(𝒒) 𝒙 > 𝟎
Para comprobar esta propiedad se debe de obtener la determinante de los menores principales de la matriz
y que estos sean mayores a cero:
1
𝑚1 + 𝑚2 + 𝑚3 0 𝑚3 𝑎𝑐3 𝑐3
[4 2 2
𝐼2 + 𝑚3 𝑎𝑐3 𝑐3 + 𝐼3 0 ]
0 2
𝑚3 𝑎𝑐3 + 𝐼3
0
𝑚3 𝑎𝑐3 𝑐3
1
det ( 𝑚1 + 𝑚2 + 𝑚3 ) > 0
4
1
𝑚1 + 𝑚2 + 𝑚3 0
det ([4 2 2
𝐼2 + 𝑚3 𝑎𝑐3 𝑐3 + 𝐼3 ]) > 0
0
0
𝑚3 𝑎𝑐3 𝑐3
1
𝑚1 + 𝑚2 + 𝑚3 0 𝑚3 𝑎𝑐3 𝑐3
det ([4 2 2
𝐼2 + 𝑚3 𝑎𝑐3 𝑐3 + 𝐼3 0 ]) > 0
0 2
𝑚3 𝑎𝑐3 + 𝐼3
0
𝑚3 𝑎𝑐3 𝑐3
det(0.3375) > 0
0.3375 > 0
0.3375 0
det ([ ]) > 0
0 0.0135𝑐32 + 0.02
1
(0.15) + (0.15) + (0.15) 0 (0.15)(0.3)𝑐3
det ([4 0.01 + (0.15)(0.3)2 𝑐32 + 0.01 0 ]) > 0
0
0 (0.15)(0.3)2 + 0.01
(0.15)(0.3)𝑐3
0.3375 0 0.045𝑐3
det ([ 0 0.0135𝑐32 + 0.02 0 ]) > 0
0.045𝑐3 0 0.0235
∃𝑴−𝟏
(𝒒) ∀𝑴(𝒒)
La matriz inversa si es positiva ya que los parámetros físicos son todos positivos, y no es indefinida gracias al
valor de las inercias que impiden el denominador sea cero.
1 1
−1
1 1 0
𝑚1 + 𝑚2 + 𝑚3 0 𝑚 𝑎 𝑐 𝑚3 𝑎𝑐3 𝑐3
4 𝑚1 + 𝑚2 + 𝑚3
3 𝑐3 3 1
[4 2 2
𝐼2 + 𝑚3 𝑎𝑐3 𝑐3 + 𝐼3 0 ] = 0 2 2 0
0 2
𝑚3 𝑎𝑐3 + 𝐼3 𝐼2 + 𝑚3 𝑎𝑐3 𝑐3 + 𝐼3 1
0 1
𝑚3 𝑎𝑐3 𝑐3 0 2
[ 𝑚3 𝑎𝑐3 𝑐3 𝑚3 𝑎𝑐3 + 𝐼3 ]
𝑴̇(𝒒) − 𝟐𝑪(𝒒,𝒒̇ )
1 0 0 −𝑚3 𝑎𝑐3 𝑠3 𝜃3̇
0 𝑚3 𝑎𝑐3 𝑐3
𝑑 4 𝑚1 + 𝑚2 + 𝑚3
[ 2 2
𝐼2 + 𝑚3 𝑎𝑐3 𝑐3 + 𝐼3 0 ] − 2 [0 2
−𝑚3 𝑎𝑐3 𝑐3 𝑠3 𝜃3̇ 2
−𝑚3 𝑎𝑐3 𝑐3 𝑠3 𝜃2̇ ]
𝑑𝑡 0 2
𝑚3 𝑎𝑐3 + 𝐼3
0 0 𝑚3 𝑎𝑐3 𝑐3 𝑠3 𝜃2̇
2
0
𝑚3 𝑎𝑐3 𝑐3
Podemos observar que la matriz resultante no es simétrica y por lo tanto se cumple la propiedad.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Aplicación de los controladores:
El resultado final contiene los cuatro controles donde se puede comparar el funcionamiento de cada
controlador al cual someter la misma referencia para facilitar el uso, de la siguiente manera:
Funciones:
% m s Kg
a_c3=0.3;%m
m_1=0.15;%Kg
m_2=0.15;%Kg
m_3=0.15;%Kg
I_2=0.01;%Kg*m^2
I_3=0.01;%Kg*m^2
g=9.81; %m/s^2
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
C=[0, 0, -m_3*a_c3*sin(q(3))*q_dot(3);...
0, -m_3*a_c3^2*cos(q(3))*sin(q(3))*q_dot(3), -
m_3*a_c3^2*cos(q(3))*sin(q(3))*q_dot(2);...
0, m_3*a_c3^2*cos(q(3))*sin(q(3))*q_dot(2), 0];
G=[(1/2)*m_1*g+m_2*g+m_3*g;...
0;...
a_c3*m_3*g*cos(q(3))];
%q_ddot = -inv(M)*(C*q_dot+G-tau);
q_ddot = -M\(C*q_dot+G-tau);
function G = myGdot(q)
% m s Kg
a_c3=0.3;%m
m_1=0.15;%Kg
m_2=0.15;%Kg
m_3=0.15;%Kg
g=9.81; %m/s^2
G=[(1/2)*m_1*g+m_2*g+m_3*g;0;a_c3*m_3*g*cos(q(3))];
function xe = Cinematica(q)
a_c3=0.6;%m
d1=0.3;
d2=0.6;
xe = [a_c3*cos(q(2))*cos(q(3)); a_c3*sin(q(2))*cos(q(3));
a_c3*sin(q(3))+q(1)+d1+d2];
a=0.6;
a=0.6;
x_dot=J'*q_dot;
a=0.6;
q_bar=J\x_bar;
Control proporcional:
Control Proporcional-Derivativo:
En este control de forma similar al control proporcional la referencia se transformó al espacio articular, pero
para este caso también se usó la diferencia de la velocidad en el control.
Para este caso la referencia se suministra en el espacio operacional, y la diferencia entre la posición actual
procesada en la cinemática directa y la referencia se suministra a la función del Jacobiano Inverso, este hace
la relación con las velocidades articulares y lo aplica al modelo dinámico.
En este control la referencia también se suministra en el espacio operacional, así que la diferencia necesita
ser con la salida de la función de la cinemática, esta diferencia pasa por una ganancia proporcional, posterior
a esto se le resta la velocidad en el espacio operacional multiplicada por una ganancia de amortiguamiento y
por último se suministra al Jacobiano Transpuesto para completar el sistema de control.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Resultados de la actividad:
Con los sistemas de control desarrollados se realizaron 3 ejercicios, dibujar la letra S, seguir una referencia
para atornillado de pernos y dibujar el pino.
Las ganancias fueron las mismas para todos los ejercicios según cada control como se describe a
continuación:
Control Proporcional.
𝐾𝑝 = 1, 𝐾𝑑 = 0.2
Control Proporcional-Derivativo.
𝐾𝑝 = 1.5, 𝐾𝑑 = 0.5, 𝐾 = 0.3
Control Proporcional en el Jacobiano Inverso.
𝐾𝑝 = 0.8, 𝐾𝑑 = 0.4
Control Proporcional en el Jacobiano Transpuesto.
𝐾𝑝 = 4, 𝐾𝑑 = 2
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Dibujo de la letra S:
Este primer ejercicio consiste en diseñar una referencia apta para reproducir por el robot, en este caso la
inicial de mi nombre una letra S, la cual responde a la función de referencia:
if mod(t,120)<10
deseado = [0.4*sin(-t/2-10);0.4*sin(-t/2-10)*cos(-t/2-10)+0.3;1.2];
else
deseado=[-0.3;0.4;1.2];
end
Esta función bajo las condiciones del control genera la forma ideal como se muestra en la ilustración 10:
Asimismo los controles en el espacio articular (Ilustración 6 e Ilustración 7) necesitan una conversión de la
referencia del espacio operacional al espacio articular, la referencia producto de la transformación es la que
se muestra en la Ilustración 11:
Ilustración 12 Señal de referencia después de haberla convertido en al espacio articular en el bloque de apoyo.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Control proporcional en el espacio articular:
Suministrada la referencia de la Ilustración 11 al control Proporcional se reproduce la siguiente imagen:
Podemos notar que la reproducción de la referencia es fiel no se tiene tanta variación a simple vista en la
ilustración 12.
Y esto puede ser comprobado en la ilustración 13, pues se muestra la señal de referencia comparada a la
salida del control.
Ilustración 14 Comparación del movimiento en el espacio articular de la referencia con la salida obtenida.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Control Proporcional-Derivativo en el espacio articular:
Para el control Proporcional-Derivativo podemos notar en la ilustración 14 una mejor respuesta, más firme
en cuanto a lo que refiere al trazo.
Asimismo en su espacio articular sigue de más de cerca la referencia suministrada logrando alcanzar la
referencia en menos tiempo que el control Proporcional clásico, podemos observar el comportamiento en la
ilustración 15.
Ilustración 16 Comparación del movimiento en el espacio articular de la referencia con la salida obtenida.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Control Proporcional en el espacio operacional del Jacobiano Inverso:
El control Proporcional del Jacobiano inverso es el que mejor resultado tuvo, el trazo es firme y preciso, no
cuenta con tanta oscilación como en los demás controles y apenas es perceptible ver los errores sin analizar
el espacio articular.
Ilustración 17 Salida del seguimiento de trayectoria del control Proporcional en el Jacobiano Inverso.
En cuanto al espacio articular podemos ver que el actuador lineal vibra por efecto del movimiento de los
demás ejes, así como que pareciera ir con un pequeño retardo, la salida sigue muy bien la forma de la
referencia pero el espacio entre ellas muestra un pequeño desfase.
Ilustración 17 Comparación del movimiento en el espacio articular de la referencia con la salida obtenida.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Control Proporcional en el espacio operacional del Jacobiano Transpuesto:
El control proporcional del Jacobiano Transpuesto, aunque es mi preferido por no tener problemas de
singularidad y alcanzar el punto más cercano a los puntos inalcanzables del sistema si tiene pequeños
errores más notorios al menos respecto al del Jacobiano Inverso, pero sigue teniendo un desempeño
excelente.
Ilustración 18 Salida del seguimiento de trayectoria del control Proporcional en el Jacobiano Transpuesto.
En su espacio articular muestra el mismo retardo que se ha visto en el Jacobiano Inverso pero con pequeños
picos bruscos en la gráfica de las posiciones.
Ilustración 19 Comparación del movimiento en el espacio articular de la referencia con la salida obtenida.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Dibujo de la letra Ajuste de pernos:
El segundo ejercicio consiste en una pequeña rutina donde se simula el ajuste de cuatro pernos de una
rueda, de forma que la secuencia lleve el orden mostrado en el Ejemplo 1.
Ejemplo 1 De solución.
if mod(t,40)<20
if mod(t,20)<10
x_d=[0;0.5;1.2];
else
x_d=[0;-0.5;1.2];
end
else
if mod(t,20)<10
x_d=[-0.5;0;1.2];
else
x_d=[0.5;0;1.2];
end
end
Ilustración 21 Señal de referencia después de haberla convertido en al espacio articular en el bloque de apoyo.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Control proporcional en el espacio articular:
En el control proporcional, casi siempre podemos ver que las articulaciones tienden a moverse de forma
“mecánica”, los movimientos son muy marcados como si las articulaciones se movieran a pasos dando en
varias ocasiones movimientos curvos para trayectorias diagonales.
En la grafica del espacio articular podemos notar una respuesta rapida al cambio en la posicion, con largos
valles y pequeños picos en la velocidad que afectan ademas en el actuador lineal.
Ilustración 23 Comparación del movimiento en el espacio articular de la referencia con la salida obtenida.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Control Proporcional-Derivativo en el espacio articular:
El control Proporcional-Derivativo tiene una respuesta más suave y un poco más cercana a la referencia
original, si bien aún es posible ver curvas en segmentos lineales si son más cercanos a lo deseado.
En el espacio articular parece similar al control proporcional, pero la respuesta es más suave, a la par que un
poco más lenta.
Ilustración 25 Comparación del movimiento en el espacio articular de la referencia con la salida obtenida.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Control Proporcional en el espacio operacional del Jacobiano Inverso:
Como en el caso anterior la respuesta es más limpia y cercana a lo deseado.
Ilustración 26 Salida del seguimiento de trayectoria del control Proporcional en el Jacobiano Inverso.
En el espacio articular de primera vista se ve un tanto sobre amortiguado, pero podemos notar fácilmente
que las oscilaciones se reflejan en el actuador lineal, las cuales aumentaban conforme se reducía el
amortiguamiento, así que de seguir reduciendo el efecto sería mayor, aun así, en lo que a mi criterio
respecta, la respuesta es satisfactoria.
Ilustración 27 Comparación del movimiento en el espacio articular de la referencia con la salida obtenida.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Control Proporcional en el espacio operacional del Jacobiano Transpuesto:
En este ejercicio en mi opinión el transpuesto completo de mejor manera el objetivo, no solo por tener una
trayectoria más cercana a la deseada si no por la forma en la que llega a la referencia.
Ilustración 28 Salida del seguimiento de trayectoria del control Proporcional en el Jacobiano Transpuesto.
En el espacio articular, es extraña la forma en la que llego y normalmente la vi cuando el punto deseado
estaba fuera del alcance, pero no es el caso, el brazo puede llegar perfectamente, pero la oscilación la hace
por efecto del actuador lineal, el cual siempre vibra con respecto al movimiento de los demás, esto se lo
atribuyo a que la referencia en el eje Z es constante en todo momento.
Ilustración 29 Comparación del movimiento en el espacio articular de la referencia con la salida obtenida.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Dibujo del Pino Navideño:
El último ejercicio, consiste en dibujar un pino navideño simulando un cortador laser como se muestra en el
Ejemplo 2:
La función utilizada para el objetivo fue hecha en base a condicionales y la función módulo de la
siguiente manera:
function x_d = fcn(t) end
x_d=[0.05;-0.3;1.2]; if mod(t,60)<=33&& mod(t,60)>30
if mod(t,60)<=3 x_d=[0;0.3;1.2];
x_d=[0.05;-0.3;1.2]; end
end if mod(t,60)<=36&& mod(t,60)>33
if mod(t,60)<=6&& mod(t,60)>3 x_d=[0.08;0.2;1.2];
x_d=[-0.05;-0.3;1.2]; end
end if mod(t,60)<=39&& mod(t,60)>36
if mod(t,60)<=9&& mod(t,60)>6 x_d=[0.03;0.19;1.2];
x_d=[-0.05;-0.15;1.2]; end
end if mod(t,60)<=42&& mod(t,60)>39
if mod(t,60)<=12&& mod(t,60)>9 x_d=[0.15;0.07;1.2];
x_d=[-0.23;-0.13;1.2]; end
end if mod(t,60)<=45&& mod(t,60)>42
if mod(t,60)<=15&& mod(t,60)>12 x_d=[0.08;0.05;1.2];
x_d=[-0.12;-0.05;1.2]; end
end if mod(t,60)<=48&& mod(t,60)>45
if mod(t,60)<=18&& mod(t,60)>15 x_d=[0.21;-0.03;1.2];
x_d=[-0.21;-0.03;1.2]; end
end if mod(t,60)<=51&& mod(t,60)>48
if mod(t,60)<=21&& mod(t,60)>18 x_d=[0.12;-0.05;1.2];
x_d=[-0.08;0.05;1.2]; end
end if mod(t,60)<=54&& mod(t,60)>51
if mod(t,60)<=24&& mod(t,60)>21 x_d=[0.23;-0.13;1.2];
x_d=[-0.15;0.07;1.2]; end
end if mod(t,60)<=57&& mod(t,60)>54
if mod(t,60)<=27&& mod(t,60)>24 x_d=[0.05;-0.15;1.2];
x_d=[-0.03;0.19;1.2]; end
end
if mod(t,60)<=30&& mod(t,60)>27 end
x_d=[-0.08;0.2;1.2];
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
De la funcion anterior obtenemos la referencia ideal como se muestra en la Ilustracion 30.
Ilustración 31 Señal de referencia después de haberla convertido en al espacio articular en el bloque de apoyo.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Control proporcional en el espacio articular:
Este control resulta muy aceptable tomando en cuenta la trayectoria que se le suministro, los mismos
errores en la lentitud de seguimiento apoyaron a reconstruir la imagen deseada, obteniendo el seguimiento
como se muestra en al ilustración 32.
Algo que podemos ver a simple vista es que la articulacion rotacional correspondiente a 𝑞(2) esta
girando completamente en sentido de las manecillas del reloj, por eso la posicion desiende
indefinidamente, por ello tambien en la forma dibujada de la ilustracion 32 tiene una direccion
preferida en los trazos (las curvas van en la misma direccion).
Ilustración 33 Comparación del movimiento en el espacio articular de la referencia con la salida obtenida.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Control Proporcional-Derivativo en el espacio articular:
Mismo caso que en el control proporcional, los mismos errores de seguimiento reconstruyeron la forma,
además las curvas de las barbas del pino están todas de la misma dirección, efecto que veremos con claridad
en el espacio articular.
De la misma manera que en el control proporcional la segunda articulación gira en un solo sentido, efecto
que se puede visualizar en la trayectoria del espacio operacional por la forma en la que se componen los
trazos.
Ilustración 35 Comparación del movimiento en el espacio articular de la referencia con la salida obtenida.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Control Proporcional en el espacio operacional del Jacobiano Inverso:
De nuevo teniendo la mejor respuesta, a diferencia de los casos anteriores las articulaciones se mueven en
ambas direcciones logrando líneas más definidas por el trabajo en conjunto de las articulaciones.
Ilustración 36 Salida del seguimiento de trayectoria del control Proporcional en el Jacobiano Inverso.
En el espacio articular aunque la llegada es muy suave la respuesta también es muy rápida, y el efecto sobre
el actuador lineal no es tan invasivo.
Ilustración 37 Comparación del movimiento en el espacio articular de la referencia con la salida obtenida.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Control Proporcional en el espacio operacional del Jacobiano Transpuesto:
Aunque es mi preferido, la respuesta no es tan viable, al menos sin contemplar fricción, el amortiguamiento
permite que se alcance y se exceda el punto objetivo pero genera un pequeño giro de rebote, no es tan
definido como el del Jacobiano Inverso, pero si es más preciso que los controles proporcionales.
Ilustración 38 Salida del seguimiento de trayectoria del control Proporcional en el Jacobiano Transpuesto.
El espacio articular se ve bien, parece tener menos efecto en el actuador lineal lo que permite ver las curvas
de amortiguamiento en la llegada a la referencia, además que no las articulaciones no parecen mover todas
de golpe, pues en la grafica de velocidad, podemos ver que cada una lleva un ritmo que si bien a veces
coinciden no se afectan mucho entre ellas.
Ilustración 39 Comparación del movimiento en el espacio articular de la referencia con la salida obtenida.
Saulo Omar Torres Villarreal 28/8/23
Codigo: 221370312
Reflexión:
Este proyecto, considero es el tercero más completo que he hecho hasta ahora en mi vida académica, solo
detrás del diseño de una subestación eléctrica con banco de baterías considerando la NOM-001-SEDE-2012
para instalaciones eléctricas, y el diseño en la iluminación de un gimnasio considerando la NOM-025-STPS-
2008 para condiciones de iluminación en centros de trabajo y la NOM-013-ENER-2013 de eficiencia
energética, que aunque no tienen que ver con esta materia si son de los trabajos que más orgulloso me
siento.
En general este proyecto me parece completo en cuanto a procedimiento practico se refiere, pero tal vez un
poco vago en el marco teórico, sinceramente me hubiera gustado ampliar la información contenida, pero
tampoco tengo idea de que más podría agregar, o como ver la información desde otro ángulo.
Personalmente fue satisfactorio realizar el proyecto, porque aunque parezca absurdo es de los pocos con los
que comencé sabiendo perfectamente que tenía que hacer, comparado con otros que normalmente se
inician para descubrir de que se trata, si bien invertí bastantes horas en realizarlo tampoco lo sentí pesado
por que en ningún momento tuve los tópicos contratiempos o imprevistos en el desarrollo, hasta ahora
considero personalmente bueno mi proyecto, pero estoy abierto a retroalimentación con el fin de mejorar
este y futuros reportes.
Referencias:
Mark W. Spong, Seth Hutchison, and M. Vidyasagar. (2004). Robot Dynamics and Control.
Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2010). Robotics, Modelling, Planning and Control.
Springer.