Anda di halaman 1dari 30

Instituto Tecnológico de Piedras Negras

Ingeniería Meca trónica

ROBOTICA

17:00 – 18:00

Resumen

Emmanuel Marín Vicente

Docente: Ing. Ewald Fritsche Ramirez

29/11/17
MATRIZ JACOBIANA

¿Qué es una matriz jacobiana?

En cada modelado cinemático de cualquier robot se busca las relaciones entre las
variables articuladas y la posición y orientación del extremo del robot, se dice que
para esta relación no se deben tomar en cuenta las fuerzas o pares que influyen
para esto.

Es importante conocer la relación entre las coordenadas articulares y del extremo


de esta manera el robot debe establecer que velocidades debe imprimir a cada
articulación para conseguir que el extremo desarrolle una trayectoria temporal
concreta.

Para este problema podemos utilizar el uso de una matriz jacobiana.


JACOBIANA DIRECTA
Velocidad de las Velocidades del
Figura 4.12 matriz jacobiana
articulaciones extremo del robot
Directa e inversa
(𝑞1̇ , 𝑞1̇ , , , 𝑞𝑛̇ ) (𝑥̇ , 𝑦̇ , 𝑧̇ , 𝛾̇ , 𝛽̇ , 𝛼̇ )

JACOBIANA INVERSA

Concreta, por ejemplo una línea recta a velocidad constante.

Para este y otros fines, es de gran utilidad disponer de la relación entre las
velocidades de las coordenadas articulares y las de la posición y orientación del
extremo del robot. La relación entre ambos vectores de las velocidades se obtiene
atreves de la denominada matriz jacobiana. La matriz jacobiana directa permite
conocer las velocidades del extremo del robot a partir de los valores de las
velocidades de cada articulación. Por su parte, la matriz jacobiana inversa
permitirá conocer las velocidades articulares necesarias para obtener unas
velocidades determinadas en el extremo del robot.

4.3.1 Relaciones Diferenciales

El método más directo para obtener la relación entre velocidades articulares y del
extremo del robot consiste en diferenciar las ecuaciones correspondientes al
modelo cinemático directo.

Así, supónganse conocidas las ecuaciones que resuelven el problema cinemático


de un robot de n GDL:
𝑋 = 𝑓𝑥 (𝑞1 , … , 𝑞𝑛 ) 𝑦 = 𝑓𝑦 (𝑞1 , … , 𝑞𝑛 ) 𝑧 = 𝑓𝑧 (𝑞1 , … , 𝑞𝑛 )

𝛼 = 𝑓𝛼 (𝑞1 , … , 𝑞𝑛 ) 𝛽 = 𝑓𝛽 (𝑞1 , … , 𝑞𝑛 ) 𝛾 = 𝑓𝛾 (𝑞1 , … , 𝑞𝑛 )

(ECUACION 4.58)

Se derivan con respecto al tiempo ambos miembros del conjunto de ecuaciones


anteriores, se tendrá:
𝑛 ̇ 𝑛 𝑛
𝜕𝑓𝑥 𝜕𝑓𝑦 𝜕𝑓𝑧
𝑥̇ = ∑ 𝑞̇ 𝑦̇ = ∑ 𝑞̇ 𝑧̇ = ∑ 𝑞̇
𝜕𝑞𝑖 𝑖 𝜕𝑞𝑖 𝑖 𝜕𝑞𝑖 𝑖
1 1 1

𝑛 𝑛 𝑛
𝜕𝑓𝛼 𝜕𝑓𝛽 𝜕𝑓𝛾
𝛼̇ = ∑ 𝑞̇ 𝛽̇ = ∑ 𝑞̇ 𝛾̇ = ∑ 𝑞̇
𝜕𝑞𝑖 𝑖 𝜕𝑞𝑖 𝑖 𝜕𝑞𝑖 𝑖
1 1 1

4.59

O expresado en forma matricial


𝑥̇ 𝜕𝑓𝑥 𝜕𝑓𝑥
𝑦̇ 𝑞1̇ …
𝑧̇ . 𝜕𝑞1 𝜕𝑞𝑛
= [ .. ] 𝑐𝑜𝑛 𝑗 = ⋮ ⋱ ⋮ 4 .60
𝛼̇
𝑞𝑛̇ 𝜕𝑓𝑦 𝜕𝑓𝑦
𝛽̇ …
[ 𝛾̇ ] [𝜕𝑞1 𝜕𝑞𝑛 ]

La matriz j se denomina jacobiana.

Puesto que el valor numérico de cada uno de los elementos de la jacobiana


dependerá de los valores instantáneos de las coordenadas articulares θi, el valor
de la jacobiana será diferente en cada uno de los puntos del espacio articular

EJEMPLO. Obtener la matriz jacobiana del robot scara de la figura 4,6. El


problema cinemático directo viene determinado por las ecuaciones

𝑥 = 𝐼3 𝐶12 + 𝐼2 𝐶1

𝑌 = 𝐼3 𝑆12 + 𝐼2 12

𝑍 = 𝐼1 − 𝑞3
Por lo tanto se tendrá

𝑥̇ −(𝐼3 + 𝐼2 𝑆1 ) −𝐼3 𝑆12 0 0 𝑞1̇


𝑦̇
[ ] = [ 𝐼3 𝐶12 + 𝐼2 𝐶1 𝐼3 𝐶12 0 ] [𝑞2̇ ]
𝑧̇ 0 0 −1 𝑞3̇

Si el robot se encuentra en un momento determinado en la posición dada por


𝜋 𝜋
𝑞1 = 𝑟𝑎𝑑. 𝑞2 = 𝑟𝑎𝑑. 𝑞3 = 0,75𝑚.
6 4

Moviéndose a una velocidad articular de valor instantáneo


𝜋 𝜋
𝑞1 = 𝑟𝑎𝑑/𝑠 𝑞2 = 𝑟𝑎/𝑠. 𝑞3 = 1𝑚/𝑠.
2 2

Y con I2=I3=1 m, la velocidad de su extremo será:

𝑥̇ −1465 −0965 0 𝜋/2 −3.81


[𝑦̇ ] = [ 1124 0.258 0 ] [𝜋/2] = [ 2,17 ]
𝑧̇ 0 0 −1 1 −1

Si, manteniéndose la velocidad articular, el robot se encontrase en la posición


q1=π/3 rad., q1=π/2 rad, la velocidad del extremo seria:

𝑥̇ −1,36 −0,5 0 𝜋/2 −2,92


[𝑦̇ ] = [−0,366 −0,866 0 ] [𝜋/2] = [−1,935]
𝑧̇ 0 0 −1 1 −1

4.3. 2 Jacobiana inversa

Del mismo modo que se ha obtenido la relación directa que permite obtener las
velocidades del extremo a partir de las velocidades articulares, puede obtenerse la
relación inversa que permite calcular las velocidades articulares partiendo de las del
extremo. En la obtención de la relación inversa pueden emplearse diferentes
procedimientos.

En primer lugar, supuesta conocida la relación directa, dada por la matriz jacobiana (4.60),
se puede obtener la relación inversa simbólicamente la matriz
𝑥̇
𝑞1̇ 𝑦̇
⋮ 𝑧̇
[ ⋮ ] = 𝑗 −1 4.61
𝛼̇
𝑞𝑛̇ 𝛽̇
[ 𝛾̇ ]

Esta alternativa, de planteamiento sencillo, es en la práctica de difícil realización.


Suponiendo que la matriz J sea cuadrada, la inversión simbólica de una matriz de
6x6, cuyos elementos son funciones trigonométricas, es de gran complejidad,
siendo este procedimiento viable. Como segunda alternativa puede plantearse la
evaluación numérica de la matriz J para una configuración (qi) concreta del robot,
e invirtiendo numéricamente esta matriz encontrar la relación inversa válida para
esa configuración. En este caso hay que considerar, en primer lugar, que el valor
numérico de la jacobiana va cambiando a medida que el robot se mueve y, por lo
tanto, la jacobiana inversa ha de ser recalculada constantemente. Además
pueden existir n-uplas (q1…..,qn) para las cuales la matriz jacobiana J no sea
invertible por ser su determinante, denominado jacobina, nulo. Estas
configuraciones del robot en las que el jacobiano se anula se denominan
configuraciones singulares y serán explicadas en mi resumen mas adelante. Una
tercera dificultad que puede surgir con este y otros procedimientos de cómputo del
matiz jacobiana inversa, se deriva de la circunstancia de que la matriz J no sea
cuadrada. Esto ocurre cuando el número de grados de libertad del robot no incide
con la dimensión del espacio de la tarea (normalmente 6): en el caso de que el
número de grados de libertad sea inferior, la matiz jacobiana tendrá más filas que
columnas. Esto quiere decir que el movimiento del robot está sometido a ciertas
restricciones. Típicamente esto ocurre en los casos en los que esta restricción no
tiene importancia, como en robots dedicados a atareas como soldadura por arco o
desbardado, en las que la orientación de la herramienta en cuanto a su giro en
torno al vector a es indiferente, por lo que puede ser eliminado este grado de
libertad del espacio de la tarea, quedando una nueva matriz jacobiana cuadrada.

En los casos en que el robot sea redundante (más de 6 GDL o mas columnas que
filas en la matriz jacobiana) existirán grados de libertad articulares innecesarios, es
decir, que no será preciso mover para alcázar las nuevas posiciones y velocidades
del extra requeridas. Por ello, la correspondiente velocidad articular podrá ser
tomada como cero, o si fuera útil, como un valor constante.

En general, en el caso de que la jacobiana no sea cuadrada podrá ser usado


algún tipo de matriz pseudoinversa, como por ejemplo (J JT)-1
La tercera alternativa para obtener la matiz jacobiana inversa es repetir el
procedimiento seguido para la obtención de la jacobiana directa, pero ahora
partiendo delo modelo cinemático inverso. Esto es, conocida la relación:

𝑞1 = 𝑓1 (𝑥, 𝑦, 𝑧, 𝛼, 𝛽, 𝛾) 4.62

𝑞𝑛 = 𝑓𝑛 (𝑥, 𝑦, 𝑧, 𝛼, 𝛽, 𝛾)

La matriz jacobiana inversa se obtendrá por diferenciación con respecto del tiempo
de ambos miembros de la igualdad:
𝑞1̇ 𝑥̇
⋮ ⋮
⋮ = 𝐽−1 ⋮ 4.63
⋮ ⋮
[𝑞𝑛̇ ] [𝛾̇ ]

Con

𝜕𝑓1 𝜕𝑓1
… …
𝜕𝑥 … 𝜕𝛾
⋮ ⋱
𝐽−1 = ⋮ ⋱ 4.64
⋮ ⋱
𝜕𝑓𝑛 𝜕𝑓𝑛
𝜕𝑥 𝜕𝛾

Como en el caso de la primera alternativa, este método puede ser


algebraicamente complicado.

Dada la importancia que para el control del movimiento del robot tiene la
jacobiana, si ah desarrollado otros procedimientos numéricos para el cálculo
rápido de la jacobiana
CAPITULO 5

DINAMICA DEL ROBOT.

La dinámica se origina entre la relación entre de las fuerzas que actúan sobre un
cuerpo y el movimiento que en él se origina. Por lo tanto, el modelo dinámico de
un robot tiene por objetivo conocer la relación entre el movimiento del robot y las
fuerzas implicadas en el mismo.

Esta relación se obtiene mediante el denominado modelo dinámico, que relaciona


matemáticamente

1. La localización del robot definida por sus variables articulares o por las
coordenadas de localización de su extremo, y sus derivadas
2. Las fuerzas y pares aplicados en las articulaciones
3. Los parámetros dimensionales del robot, como longitud, más e inercias de
sus elementos.

La obtención de este modelo para mecanismos de uno o dos grados de libertad no


es excesivamente compleja, pero a medida que el número de grados de libertad
aumenta, el planteamiento y obtención del modelo dinámico se complica
enormemente. Por este motivo no siempre es posible obtener un modelo dinámico
expresado de una forma cerrada, esto es, mediante una serie de ecuaciones,
normalmente de tipo diferencial de 2° orden, cuya integración permita conocer que
movimiento surge al aplicar unas fuerzas o que fuerzas hay que aplicar para
obtener un movimiento determinado. El modelo dinámico debe ser resulto
entonces de manera iterativa mediante la utilización de un procedimiento
numérico.

El problema de la obtención del modelo dinámico de un robot es, por lo tanto, uno
de los aspectos más complejos de la robótica, lo que ha llevado a ser obviado en
numerosas ocasiones. Pero es imprescindible el modelo dinámico para conseguir
los siguientes fines

1. Simulación del movimiento del robot


2. Diseño y evaluación de la estructura mecánica del robot
3. Dimensionamiento de los actuadores
4. Diseño y evaluación del control dinámico del robot

Este último fin es evidentemente de gran importancia, pues de la calidad del


control dinámico del robot depende la precisión y velocidad de sus movimientos.
La gran complejidad ya comentada existente en la obtención del modelo dinámico
del robot, ha motivado que se realicen ciertas simplificaciones, de manera que así
pueda ser utilizado en el diseño del controlador.
Es importante hacer notar que le modelo dinámico completo de un robot debe
incluir no solo la dinámica de sus elementos sino también la propia de sus
sistemas de transmisión, de los actuadores y de sus equipos electrónicos de
mando. Esto elementos incorporan al modelo dinámico nuevas inercias,
rozamientos, saturaciones de los circuitos electrónicos, etc., aumentando aún más
su complejidad.

Por último, es preciso señalar que si bien en la mayor parte de las aplicaciones
reales de la robótica, las cargas e inercias manejadas no son suficientes como
para originar deformaciones en los escalones del robot, en determinadas
ocasiones no ocurre así, siendo preciso considerar al robot como un conjunto de
eslabones no rígidos. Aplicados de este tipo pueden encontrarse en la robótica
espacial o en robots de grandes dimensiones, entre otras.

5.1 MODELO DINAMICO DE LA ESTRUCUTRA MECANICA DE UN ROBOT


RIGIDO

La obtención del modelo dinámico de un mecanismo, y en particular de un robot,


se basa fundamentalmente en el planteamiento del equilibrio de fuerzas
establecido en la segunda ley de newton, o su equivalente para movimientos de
rotación, la denominada ley de Euler:

∑ 𝐹 = 𝑚𝑣̇ ∑ 𝑇 = 𝐼𝑤̇ + 𝑤𝑥(𝐼𝑤) 5.1

Así, en el caso simple de un robot mono articular como el representado en la


figura 5.1 el equilibrio de fuerzas-pares daría como resultado la ecuación:

𝑑2 𝜗
𝜏 = 𝐼 2 + 𝑀𝑔𝐿𝑐𝑜𝑠𝜗 = 𝑀𝐿2 𝜗̈ + 𝑀𝑔𝐿𝑐𝑜𝑠𝜗 5.2
𝑑𝑡
En donde se ha supuesto que toda la masa se encuentra concentrada en el centro
de gravedad del elemento, que no existe rozamiento alguno y que no se manipula
ninguna carga. Para un par motor 𝜏 determinado, la integración de la ecuación
(5.2) daría lugar a la expresión de 𝜗(𝑡)y sus derivadas 𝜃̇𝑦 𝜃̈(𝑡), con lo que sería posible
conocer la evolución de la coordenada articular del robot y de su velocidad y
aceleración.

De forma inversa, si se pretende que 𝜗(𝑡) evolucione según una determinada


función del tiempo, sustituyendo en (5.2) podría obtenerse el par 𝜏(𝑡) que sería
necesario aplicar. Si el robot tuviese que ejercer alguna fuerza en su extremo, ya
sea al manipular una carga o, por ejemplo, realizar un proceso sobre alguna pieza,
bastaría con incluir esta condición en la ecuación (5.2) y proceder del mismo
modo.
Se tiene así que del planteamiento del equilibrio de fuerzas y pares que
intervienen sobre el robot se obtienen los denominados modelos dinámicos directo
e inverso:

- Modelo dinámico directo: expresa la evolución temporal de las coordenadas


articulares del robot en función de las fuerzas y pares que intervienen.
- Modelo dinámico inverso: expresa las fuerzas y pares que intervienen en
función de la evolución de las coordenadas articulares y sus derivadas.

El planteamiento del equilibrio de fuerzas en un robot real de 5 0 6 grados de


libertad, es mucho más complicado que el ejemplo de la figura 5.1. Debe tenerse
en cuenta que junto con las fuerzas de inercia y gravedad, aparecen fuerzas de
coriolis debidas al movimiento relatico existente entre los diversos elementos, así
como de fuerzas centrípetas que depende de la configuración instantánea del
manipulador.

Como planteamiento alternativo para la obtención del modelo se puede usar la


formulación Lagrangiana, basada en consideraciones energéticas. Este
planteamiento es más sistemático que al anterior

Y por lo tanto, facilita enormemente la formulación de un modelo tan complejo


como el de un robot
La formulación lagrangiana establece la ecuación:

𝑑 𝜕𝐿 𝜕𝐿
− =𝜏 (5.3)
𝑑𝑡 𝜕𝑞𝑖̇ 𝜕𝑞𝑖

𝐿 =𝑘−𝑢

Con

𝑞𝑖 = 𝑐𝑜𝑜𝑟𝑑𝑒𝑛𝑎𝑑𝑎𝑠 𝑔𝑒𝑛𝑒𝑎𝑙𝑖𝑧𝑎𝑑𝑎𝑠 (𝑒𝑛 𝑒𝑠𝑡𝑒 𝑐𝑎𝑠𝑜 𝑙𝑎𝑠 𝑎𝑟𝑡𝑖𝑐𝑢𝑙𝑎𝑟𝑒𝑠).

𝜏 = 𝑣𝑒𝑐𝑡𝑜𝑟 De fuerzas y pares aplicados en las 𝑞𝑖

𝐿: 𝐹𝑢𝑛𝑐𝑖𝑜𝑛 𝑙𝑎𝑔𝑟𝑎𝑛𝑔𝑖𝑎𝑛𝑎

𝑘 = 𝑒𝑛𝑒𝑟𝑔𝑖𝑎 𝑐𝑖𝑛𝑒𝑡𝑖𝑐𝑎

𝑢 = 𝑒𝑛𝑒𝑟𝑔𝑖𝑎 𝑝𝑜𝑡𝑒𝑛𝑐𝑖𝑎𝑙.

En el caso del robot mono articular de la figura 5.1 se tendría:

1
𝑘 = 𝐼𝜃 2̇ 5.4
2
Donde𝐼 = 𝑀𝐿2

Además: 𝑢 = 𝑀𝑔ℎ = 𝑀𝑔𝐿𝑠𝑒𝑛𝜃 5.5

Luego:

1 ̇
𝐿 = 𝑘 − 𝑢 = 𝑀𝐿2 𝜃 2 − 𝑀𝑔𝐿𝑠𝑒𝑛𝜃 5.6
2
𝜕𝐿
= −𝑀𝑔𝐿𝑐𝑜𝑠𝜃
𝜕𝜃
𝜕𝐿
= 𝑀𝐿2 𝜃̇ 5.7
𝜕𝜃̇
𝑑 𝜕𝐿
= 𝑀𝐿2 𝜃̈
𝑑𝑡 𝜕𝜃̇

Y sustituyendo en (5.3) se obtiene:

𝑀𝐿2 𝜃̈ + 𝑀𝑔𝐿𝑐𝑜𝑠𝜃 = 𝜏 5.8

Ecuación que coincide con la (5.2).


Aunque, para el caso simple del ejemplo, la obtención del modelo mediante la
formulación lagrangiana ha resultado más tediosa que mediante la formulación de
Newtoniana, la primera muestra sus ventajas a medida que aumenta el número de
grados de libertad.

La obtención del modelo dinámico de un robot ha sido y es objeto de estudio e


investigación. Números investigadores han desarrollado formulaciones
alternativas, basadas fundamentalmente en la mecánica Newtoniana y
Lagrangiana, con el objeto de obtener modelos manejables por los sistemas de
cálculo de una manera más eficientes. Algunos de estos planteamientos son los
debidos a:

1. uicker-1965 basado en la formulación de Lagrangiana


2. Lu-1980: basado en la formulación de Newtoniana
3. Lee-1983

5.2 OBTENCION DEL MODELO DINAMICO DE UN ROBOT MEDIANTE LA


FORMULACION DE LANGRANGE-EULER

Uicker en 1965 utilizo la representación de D-H basada en las matrices de


transformación homogénea para formular el modelo dinámico de un robot
mediante la ecuación de LaGrange.

Este planteamiento utiliza, por lo tanto, las matricesi-1 A que relacionan el sistema
de coordenadas de referencia del elemento i con el del elemento i-1. Se realizan
en este caso operaciones de producto y suma innecesarias. Se trata de un
procedimiento ineficiente desde el punto de vista computacional. Puede
comprobarse que el algoritmo es de un orden de complejidad computacional o
0(𝑛4 ), es decir el número de operaciones a realizar crece con la potencia 4 del
número de grados de libertad. Sin embargo, conduce a unas ecuaciones finales
bien estrucutradas donde aparecen de manera clara los diversos pares y fuerzas
que intervienen en el movimiento (inercia, coriolis, gravedad)

Se presenta a continuación al algoritmo a seguir para obtener el modelo dinámico


del robot por el procedimiento de LaGrange-Euler (L-E).
5.2.1 Algoritmo computacional para el modelado dinámico por LaGrange-Euler

L-E 1. Asignar a cada eslabón un sistema de referencia de acuerdo a las normas


D-H

L-E 2. Obtener las matrices de transformación 0𝐴𝑖 para cada elemento i

L-E 3Obtener las matrices 𝑈𝑖𝑗 𝑑𝑒𝑓𝑖𝑛𝑖𝑑𝑎𝑠 𝑝𝑜𝑟:

𝜕 ° 𝐴𝑖
𝑈𝑖𝑗 = (𝑣𝑒𝑟 𝑛𝑜𝑡𝑎 1) (5.9)
𝜕𝑞𝑘

L-E 4. Obtener las matrices 𝑈𝑖𝑗𝑘 definidas por:

𝜕𝑈𝑖𝑗𝑘
𝑈𝑖𝑗𝑘 = (𝑣𝑒𝑟 𝑛𝑜𝑡𝑎 2) (5.10)
𝜕𝑞𝑘

L-E 5. Obtener las matrices de pseudoinercias Ji para cada elemento, que vienen
definidas por:

∫ 𝑋𝑖2 𝑑𝑚 ∫ 𝑥𝑖 𝑦𝑖 𝑑𝑚∫ 𝑥𝑖 𝑧𝑖 𝑑𝑚∫ 𝑥𝑖 𝑑𝑚

∫ 𝑦𝑖 𝑥𝑖 𝑑𝑚 ∫ 𝑦𝑖2 𝑑𝑚 ∫ 𝑦𝑖 𝑧𝑖 𝑑𝑚∫ 𝑦𝑖 𝑑𝑚
𝐽𝑖 = 5.11
∫ 𝑧𝑖 𝑥𝑖 𝑑𝑚 ∫ 𝑧𝑖 𝑦𝑖 𝑑𝑚 ∫ 𝑧𝑖2 𝑑𝑚 ∫ 𝑧𝑖 𝑑𝑚

∫ 𝑥𝑖 𝑑𝑚 ∫ 𝑦𝑖 𝑑𝑚 ∫ 𝑧𝑖 𝑑𝑚 ∫ 𝑑𝑚
[ ]

Donde los integrales están extendidas al elemento i considerando, y ((𝑥𝑖 𝑦𝑖 𝑧𝑖 ) son


las coordenadas del diferencial de masa dm respecto al sistema de coordenas del
elemento.

L-E 6. Obtener la matriz de inercias 𝐷=


[𝑑𝑖𝑗 ] 𝑐𝑢𝑦𝑜𝑠 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜𝑠 𝑣𝑖𝑒𝑛𝑒𝑛 𝑑𝑒𝑓𝑖𝑛𝑖𝑑𝑜𝑠 𝑝𝑜𝑟:
𝑛
𝑇
𝑑𝑖𝑗 = ∑ 𝑇𝑟𝑎𝑧𝑎 (𝑈𝑘𝑗 𝐽𝑘 𝑈𝑘𝑖 ) 5.12
𝑘=(max 𝑖,𝑗)

Con i,j= 1,2,….n

N: número de grados de libertad


L-E 7. Obtener los términos ℎ𝑖𝑘𝑚 definidos por:
𝑛

ℎ𝑖𝑘𝑚 = ∑ 𝑇𝑟𝑎𝑧𝑎 (𝑈𝑗𝑘𝑚 𝐽𝑗 𝑈𝑗𝑖𝑇 ) 5.13


𝑗=max(𝑖,𝑘,𝑚)

Con i, k, m= 1,2,…n

L-E 8. Obtener la matriz columna de fuerzas de coriolis y centrípeta H= 𝐻 = [ℎ𝑖 ]𝑇


cuyos elementos vienen definidos por:
𝑛 𝑛

ℎ𝑖 = ∑ ∑ ℎ𝑗𝑘𝑚 𝑞𝑘̇ 𝑞̇ 𝑚 5.14


𝑘=1 𝑚=1

L-E 9. Obtener la matriz columna de fuerzas de gravedad 𝐶 = [𝑐𝑖 ]𝑇 cuyos


elementos están definidos por:
𝑛
𝑗
𝐶𝑖 = ∑(−𝑚𝑗 𝑔𝑈𝑗𝑖 𝑟𝑗 ) 5.15
𝑘=1

Con i= 1,2,…n

g: es el vector de gravedad expresado en el sistema de la base (𝑠0 )y viene


expresado por (𝑔𝑥𝑜 , 𝑔𝑧𝑜, 0)

𝑟𝑗 : 𝑒
𝑠 𝑒𝑙 𝑣𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 𝑐𝑜𝑜𝑟𝑑𝑒𝑛𝑎𝑠 ℎ𝑜𝑚𝑜𝑔𝑒𝑛𝑒𝑎𝑠 𝑑𝑒𝑙 𝑐𝑒𝑛𝑡𝑟𝑜 𝑑𝑒 𝑚𝑎𝑠𝑎𝑠 𝑑𝑒𝑙 𝑒𝑚𝑒𝑛𝑡𝑜 𝑗 𝑒𝑥𝑝𝑟𝑒𝑠𝑎𝑑𝑜 𝑒𝑛 𝑒𝑙 𝑠𝑖𝑠𝑡𝑒𝑚𝑎 𝑑𝑒

L-E 10. La ecuación dinámica del sistema será:

𝜏 = 𝐷𝑞̈ + 𝐻 + 𝐶 5.16

Donde 𝜏 es el vector de fuerzas y pares motores efectivos aplicados sobre cada


coordenada 𝑞𝑖
Notas

1. La derivada de la matriz D-H °𝐴𝐽 respecto de la coordenada 𝑞𝑗 puede


obtenerse fácilmente de manera computacional, mediante la expresión
𝜕 ° 𝐴1 °𝐴 𝑄 𝐽−1 𝐴𝑖 𝑠𝑖 𝑗 ≤ 𝑖
= { 𝑗−1 𝐽 }
𝜕𝑞𝑗 [0] 𝑠𝑖 𝑗 > 𝑖
Con:
0−1 0 0
𝑄𝑖 = [1 0 0 0] 𝑠𝑖 𝑙𝑎 𝑎𝑟𝑡𝑖𝑐𝑢𝑙𝑎𝑐𝑖𝑜𝑛 𝑖 𝑒𝑠 𝑑𝑒 𝑟𝑜𝑡𝑎𝑐𝑖𝑜𝑛
0 00 0
0 00 0
0 1 0 0
𝑄𝑖 = [1 0 0 0] 𝑠𝑖 𝑙𝑎 𝑟𝑜𝑡𝑎𝑐𝑖𝑜𝑛 𝑖 𝑒𝑠 𝑑𝑒 𝑡𝑟𝑎𝑠𝑙𝑎𝑐𝑖𝑜𝑛
0 0 0 0
0 0 0 0

2. Análogamente:
𝑗−1
°𝐴𝑗−1 𝑄𝑗 𝐴𝑘−1 𝑄𝑘𝑘−1 𝐴𝑗
𝑠𝑖 𝑖 ≥ 𝑘 ≥ 𝑗
𝜕𝑢𝑖𝑗 𝜕 𝜕°𝐴𝑗
= ( ) = { °𝐴𝑘−1 𝑄𝑘𝑘−1 𝐴𝑗−1 𝑄 𝑗−1 𝐴𝑗 𝑠𝑖 𝑖 ≥ 𝑗 ≥ 𝑘 }
𝜕𝑞𝑘 𝜕𝑞𝑘 𝜕𝑞𝑗 𝑗
[0] 𝑠𝑖 𝑘 ≥ 𝑖 𝑜 𝑗 > 𝑖

3. Las matrices 𝐽𝑖 𝑦 𝐷 son simétricas y semidefinidas positivas

4. El termino ℎ𝑖𝑚𝑘 representa el afecto, en cuanto a fuerza o par, generado


sobre el eslabon i como consecuencia del movimiento relativo entre los
eslabones k y m. se cumple que ℎ𝑖𝑘𝑚 = ℎ𝑖𝑚𝑘 𝑦 𝑞𝑢𝑒 ℎ𝑖𝑖𝑖 = 0
5. En la obtención de las matrices de pseudoinercia 𝐽𝑖 , las integrales están
extendidas al elemento I, de modo que esta se evalua para cada punto del
elemento de masa dm y coordendas ( 𝑥𝑖 , 𝑦𝑖 , 𝑧𝑖 ) referidas al sistema de
coordenadas del elemento.

Tabla 5.1 parámetros D-H del robot polar del ejemplo 5.1
ARTICULACION 𝜃𝑖 𝑑𝑖 𝑎𝑖 𝛼𝑖
1 𝜃𝑖 0 0 -90
2 0 𝑑2 0 0

Ejemplo 5.1

Se va aplicar el método de LaGrange-Euler para la obtención del modelo dinámico


del robot de 2 grados de libertad (𝜃1 , 𝑑2 )𝑐𝑜𝑛 𝑏𝑎𝑠𝑒 𝑓𝑖𝑗𝑎 𝑑𝑒 𝑙𝑎 𝑓𝑖𝑔𝑢𝑟𝑎 5.2.

L-E 1. Se asignan los sistemas de referencia y parámetros de Denavit- Hartenberg


según la figura 5.3 y la tabla 5.1

L-E 2. Matrices de transformación °𝐴𝐽

𝐶1 0 −𝑆10 10 0 0
𝑆1 0 𝐶1 0
°𝐴1 =[ ] 1𝐴2 = [0 1 0 0 ]
0 −1 0 0 0 0 1 𝑑2
0 0 0 1 000 1
𝐶1 0 −𝑆1 −𝑑2 𝑠1
𝑆 𝐶1 𝑑2 𝑐1
°𝐴2 =°𝐴1 1𝐴2 = [ 1 0 ]
0 −1 0 0
0 0 0 1
L-R 3. Matrices 𝑈𝑖𝑗
−𝑠1 0 −𝑐1 0 °
𝜕𝐴1 𝑐 0 −𝑠1 0] 𝑈 = 𝜕 𝐴1 = [0]
𝑈11 = =[ 1 12
𝜕𝜃1 0 0 0 0 𝜕𝑑2
0 0 0 0

−𝑠1 0 −𝑐1 −𝑑2 𝑐1 0 0 0−𝑠1


° °
𝜕 𝐴2 𝑐 0 −𝑠1 −𝑑2 𝑠1 ] 𝜕 𝐴2 0 0 −𝑐1 ]
𝑈21 = =[ 1 𝑈22 = = [0
𝜕𝜃1 0 0 0 0 𝜕𝑑2 0 0 0 0
0 0 0 1 0 0 0 0

L-E Matrices 𝑈𝑖𝑗𝑘


−𝑐1 0 𝑠1 0
𝜕𝑈11 −𝑠 0 −𝑐1 0] 𝑈 = 𝜕𝑈11 = [0]
𝑈111 = =[ 1 112
𝜕𝜃1 0 0 0 0 𝜕𝑑2
0 0 0 0
𝜕𝑈12 𝜕𝑈12
𝑈121 = = [0] 𝑈122 = = [0]
𝜕𝜃1 𝜕𝑑2
−𝑐1 0 𝑠1 𝑑2 𝑠1 0 0 0−𝑐1
𝜕𝑈21 −𝑠 −𝑐
0 1 − 𝑑2 𝑐1 𝜕𝑈21 0 0 −𝑠1 ]
𝑈211 = =[ 1 ] 𝑈212 = = [0
𝜕𝜃1 0 0 0 0 𝜕𝑑2 0 0 0 0
0 0 0 0 0 0 0 0

0 0 0−𝑐1
𝜕𝑈21 0 0 −𝑠1 ] 𝑈 𝜕𝑈22
𝑈221 = = [0 222 = = [0]
𝜕𝜃1 0 0 0 0 𝜕𝑑2
0 0 0 0
L-E 5. Matrices de pseudoinercia 𝐽𝑖

ELEMENTO 1

∫ 𝑥12 𝑑𝑚 = 0 ∫ 𝑦1 𝑥1 𝑑𝑚 = ∫ 𝑥1 𝑦1 𝑑𝑚 = 0 ∫ 𝑧1 𝑥1 𝑑𝑚 = ∫ 𝑥1 𝑧1 𝑑𝑚 = 0
1 1 1 1 1

∫ 𝑦12 𝑑𝑚 = 0 ∫ 𝑦1 𝑧1 𝑑𝑚 = ∫ 𝑧1 𝑦1 𝑑𝑚 = 0
1 1 1

∫ 𝑧12 𝑑𝑚 = 𝑚1 𝐿21
1

∫ 𝑥1 𝑑𝑚 = 0 ∫ 𝑦1 𝑑𝑚 = 0 ∫ 𝑧1 𝑑𝑚 = 𝐿1 𝑚1 ∫ 𝑑𝑚 = 𝑚1
1 1 1 1

0 0 0 0
0 0
𝐽1 = [0 0
𝑚1 𝐿1 ]
0 0 𝑚1 𝐿21
0 0 𝑚1 𝐿1 𝑚1
Elemento 2.

Puesto que se considera la masa concentrada en el centro de masas y el origen


del sistema de coordenadas del elemento 2 se toma en el mismo centro de masas,
la matriz 𝐽2 toma la forma:

0 0 0 0
𝐽2 = [0 0 0 0 ]
0 0 0 0
0 0 0 𝑚2

L-E 6. Matriz de inercias D=[ 𝑑𝑖𝑗 ]


2
𝑇 ) 𝑇 ) 𝑇 )
𝑑11 = ∑ 𝑇𝑟𝑎𝑧𝑎 ( 𝑈𝑘1 𝐽𝑘 𝑈11 = 𝑇𝑟( 𝑈11 𝐽1 𝑈11 + 𝑇𝑟( 𝑈21 𝐽2 𝑈21 =
𝑘=max(1,1)

𝑐12 𝐿21 𝑚1 𝑠1 𝑐1 𝐿21 𝑚1 0 0


2 2 2 0 0] =
= 𝑇𝑟 [ 𝑐1 𝑠1 𝐿1 𝑚1 𝑠1 𝐿1 𝑚1
0 0 0 0
0 0 0 0

= (𝑐12 + 𝑠12 ) 𝑚1 𝐿21 + (𝑐12 + 𝑠12 )𝑑22 𝑚2 = 𝑚1 𝐿21 + 𝑚2 𝑑22


2
𝑇 ) 𝑇
𝑑12 = ∑ 𝑇𝑟𝑎𝑧𝑎 ( 𝑈𝑘2 𝐽𝑘 𝑈𝑘1 = 𝑇𝑟( 𝑈22 𝐽2 𝑈21 )=
𝑘=max(1,2)

=
𝑠1 𝑐1 𝑑2 𝑚 2 𝑠12 𝑑2 𝑚2 0 0
2
𝑇𝑟 [ −𝑐1 𝑑2 𝑚2 −𝑠1 𝑐1 𝑑2 𝑚 2 0 0 ] 𝑠 𝑐 𝑑 𝑚 −𝑠 𝑐 𝑑 𝑚 = 0
0 0 0 0 1 1 2 2 1 1 2 2
0 0 0 0

2
𝑇 ) 𝑇
𝑑21 = ∑ 𝑇𝑟𝑎𝑧𝑎 ( 𝑈𝑘1 𝐽𝑘 𝑈𝑘2 = 𝑇𝑟( 𝑈21 𝐽2 𝑈22 )=
𝑘=max(2,1)

𝑠1 𝑐1 𝑑2 𝑚 2 −𝑐12 𝑑2 𝑚2 0 0
2
𝑇𝑟 [ 𝑠1 𝑑2 𝑚2 −𝑠1 𝑐1 𝑑2 𝑚 2 0 0 ] 𝑠 𝑐 𝑑 𝑚 −𝑠 𝑐 𝑑 𝑚 = 0
0 0 0 0 1 1 2 2 1 1 2 2
0 0 0 0
2
𝑇 ) 𝑇
𝑑22 = ∑ 𝑇𝑟𝑎𝑧𝑎 ( 𝑈𝑘2 𝐽𝑘 𝑈𝑘2 = 𝑇𝑟( 𝑈22 𝐽2 𝑈22 )=
𝑘=max(2,2)

𝑠12 𝑚 2 −𝑐12 𝑑2 𝑚2 0 0
𝑇𝑟 [ −𝑠1 𝑐1 𝑑2 𝑚2 𝑐12 𝑚 2 0 0 ] 𝑠2𝑚 + 𝑐2𝑚 = 𝑚
0 0 0 0 1 2 1 2 2

0 0 0 0

Luego:

𝑑 𝑑 12 𝑚 𝐿2 + 𝑚2 𝑑22 0
𝐷 = [ 11 ]=[ 1 1 ]
𝑑 13 𝑑 14 0 𝑚2

L-E 7. Términos en ℎ𝑖𝑘𝑚


2
𝑇 𝑇 𝑇 )
ℎ111 = ∑ 𝑇𝑟𝑎𝑧𝑎 ( 𝑈𝑗11 𝐽1 𝑈𝑗1 ) = 𝑇𝑟( 𝑈111 𝐽1 𝑈11 ) = 𝑇𝑟( 𝑈211 𝐽2 𝑈21 =
𝑗=max(1,1,1)

− 𝑐1 𝑠2 𝑚 1 𝐿21 −𝑠12 𝑚1 𝐿21 0 0 −𝑠 1 𝑐𝑑22 𝑚2 −𝑠12 𝑑22 𝑚2 0 0


2 2 2 0 0 ] + 𝑇𝑟 [ 𝑐12 𝑑22 𝑚2 𝑠 1 𝑐1 𝑑22 𝑚2 0 0] =
𝑇𝑟 [ 𝑐1 𝑚1 𝐿1 𝑐 1 𝑠 1 𝑚 1 𝐿1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

= −𝑐 1 𝑠1 𝑚1 𝑑12 + 𝑐 1 𝑠1 𝑚1 𝑑12 − 𝑑22 𝑠1 𝑐 1 𝑚 2 + 𝑑22 𝑠1 𝑐 1 𝑚 2 = 0


2
𝑇 𝑇
ℎ112 = ∑ 𝑇𝑟𝑎𝑧𝑎 ( 𝑈𝑗12 𝐽1 𝑈𝑗1 ) = 𝑇𝑟( 𝑈211 𝐽1 𝑈21 )=
𝑗=max(1,1,2)

𝑐12 𝑑2 𝑚2 𝑠1 𝑐1 𝑑2 𝑚 2 0 0
𝑇𝑟 = [ 𝑠1 𝑐1 𝑑2 𝑚 2 𝑠12 𝑑2 𝑚2 0 0 ] = 𝑐2𝑑 𝑚 + 𝑠2𝑑 𝑚 = 𝑑 𝑚
0 0 1 2 2 1 2 2 2 2
0 0
0 0 0 0

2
𝑇 𝑇
ℎ121 = ∑ 𝑇𝑟𝑎𝑧𝑎 ( 𝑈𝑗21 𝐽1 𝑈𝑗1 ) = 𝑇𝑟( 𝑈211 𝐽1 𝑈21 )
𝑗=max(1,2,1)
Como 𝑈211 = 𝑈211 → ℎ121 = ℎ112 = 𝑑2 𝑚 2

2
𝑇 𝑇
ℎ211 = ∑ 𝑇𝑟𝑎𝑧𝑎 ( 𝑈𝑗11 𝐽1 𝑈𝑗2 ) = 𝑇𝑟( 𝑈211 𝐽2 𝑈22 )=
𝑗=max(2,1,1)

−𝑠12 𝑑2 𝑚2 𝑠1 𝑐1 𝑑2 𝑚 2 0 0
= 𝑇𝑟 [ 𝑠1 𝑐1 𝑑2 𝑚 2 −𝑐12 𝑑2 𝑚2 0 0 ] = 𝑠 2 𝑑 𝑚 + 𝑐 2 𝑑 𝑚 = −𝑑 𝑚
0 0 1 2 2 1 2 2 2 2
0 0
0 0 0 0
2
𝑇 𝑇
ℎ122 = ∑ 𝑇𝑟𝑎𝑧𝑎 ( 𝑈𝑗22 𝐽1 𝑈𝑗1 ) = 𝑇𝑟( 𝑈222 𝐽2 𝑈21 )=0
𝑗=max(2,1,2)

2
𝑇 𝑇
ℎ212 = ∑ 𝑇𝑟𝑎𝑧𝑎 ( 𝑈𝑗12 𝐽1 𝑈𝑗2 ) = 𝑇𝑟( 𝑈221 𝐽2 𝑈22 )
𝑗=max(2,1,1)

𝑠1 𝑐1 𝑚 2 −𝑐12 𝑚2 0 0
−𝑠12 𝑚2 −𝑠1 𝑐1 𝑚 2 0 0 ] = 𝑠 𝑐 𝑚 −𝑐 𝑠 𝑚 = 0
= 𝑇𝑟 [ 1 1 2 1 1 2
0 0 0 0
0 0 0 0
2
𝑇 𝑇
ℎ221 = ∑ 𝑇𝑟𝑎𝑧𝑎 ( 𝑈𝑗21 𝐽1 𝑈𝑗2 ) = 𝑇𝑟( 𝑈221 𝐽2 𝑈22 )
𝑗=max(2,2,1)

Como 𝑈221 = 𝑈212 → ℎ221 = ℎ212 = 0


2
𝑇 𝑇
ℎ222 = ∑ 𝑇𝑟𝑎𝑧𝑎 ( 𝑈𝑗22 𝐽1 𝑈𝑗2 ) = 𝑇𝑟( 𝑈222 𝐽2 𝑈22 )=0
𝑗=max(2,2,2)

L-E 8. Matriz columna de fuerzas de coriolis y centrifugas 𝐻 = [ℎ𝑖 ]𝑇


2 2

ℎ𝑖 = ∑ ∑ ℎ1𝑘𝑚 𝑞𝑘̇ 𝑞̇ 𝑚 = ℎ111 𝜃̇1 𝜃̇1 + ℎ112 𝜃̇1 𝑑̇2 + ℎ121 𝑑̇2 𝜃̇1 + ℎ122 𝑑̇2 𝑑̇2 =
𝑘=1 𝑚=1

0 ∙ 𝜃̇12 + (𝑑2 𝑚2 + 𝑑2 𝑚2 )𝜃̇1 𝑑̇2 + 0 ∙ 𝑑̇22 = 2𝑑2 𝑚2 𝜃̇1 𝑑̇2


2 2

ℎ2 = ∑ ∑ ℎ2𝑘𝑚 𝑞𝑘̇ 𝑞̇ 𝑚 = ℎ211 𝜃̇1 𝜃̇1 + ℎ212 𝜃̇1 𝑑̇2 + ℎ221 𝑑̇2 𝜃̇1 + ℎ222 𝑑̇2 𝑑̇2 =
𝑘=1 𝑚=1

−𝑑2 𝑚2 𝜃̇12 + (0 + 0)𝜃̇1 𝑑̇2 + 0 ∙ 𝑑̇22 = −𝑑2 𝑚2 𝜃12̇

Luego

2𝑑2 𝑚2 𝜃̇1 𝑑̇2


𝐻=[ ]
−𝑑2 𝑚2 𝜃12̇

L-E 9. Matriz columna de fuerzas de gravedad


𝑁
𝑗
𝑐 = ∑(− 𝑚𝑗 𝑔𝑈𝑗1 𝑟𝑗 )
𝑗=1

Con

g vector de gravedad expresado en el sistema de la base del robot {𝑠𝑜 }.

𝑔 = [0,0, −𝑔, 0]

𝑗𝑟𝑗 Vector de coordenadas homogéneas de posición del centro de masas del


eslabon j exresado en el sistema {𝑠1 }. (figura 5.4)

1𝑟1 = [0,0, 𝐿1 , 1]𝑇

2𝑟2 = [0,0,0,1]𝑇

Luego
2
𝑗 1 2
𝑐1 = ∑(− 𝑚𝑗 𝑔𝑈𝑗1 𝑟𝑗 ) = −𝑚𝑗 𝑔𝑈11 𝑟1 − 𝑚2 𝑔𝑈21 𝑟2 =
𝑗=1

−𝑠1 0 −𝑐1 0 0 −𝑠1 0 −𝑐1 −𝑑2 𝑐1 0


𝑐 −𝑠1 𝑐 −𝑠1 −𝑑2 𝑠1 0
= −𝑚1 [0 0 −𝑔 0] [ 1 0 0] [ 0 ] − 𝑚 [0
2 0 −𝑔 0] [ 1 0 ] [ ]=0
0 0 0 0 𝐿1 0 0 0 0 0
0 0 0 0 1 0 0 0 0 1

2
𝑗 1 2
𝑐2 = ∑(− 𝑚𝑗 𝑔𝑈𝑗2 𝑟𝑗 ) = −𝑚1 𝑔𝑈12 𝑟1 − 𝑚2 𝑔𝑈21 𝑟2 =
𝑗=1
0 0 00−𝑠1 0
= −𝑚2 [0 0 −𝑔 0][0] [ 0 ] − 𝑚2 [0 0 −𝑔 0] [ 0 00 𝑐1 ] [0] = 0
𝐿1 0 00 0 0
1 0 00 0 1

Por lo tanto

0
𝑐 = [𝑐𝑖 ]𝑇 = [ ]
0
L-E 10. La ecuación dinámica del robot será:

𝜏 = 𝐷𝑞̈ + 𝐻 + 𝐶

𝑇 𝑚 𝐿2 + 𝑚2 𝑑22 0 𝜃1̈ 2𝑑2 𝑚2 𝜃1̇ 𝑑2̇ 0


[ 1] = [ 1 1 ][ ] + [ ] + [ ]
𝐹2 0 𝑚2 𝜃2̈ −𝑑2 𝑚2 𝜃1̇2 0

̈ 2 𝑚2 𝜃1̇ 𝑑2̇
𝑇1 = (𝑚1 𝐿21 + 𝑚2 𝑑22 )𝜃1 + 2𝑑

𝐹2 = 𝑚2 𝑑̈2 ̈ − 𝑑2 𝑚2 𝜃12̇

Donde 𝑇1 es el par motor efectivo (incluyendo rozamiento y otras perturbaciones)


que actúan sobre la articulación 1 y 𝐹2 es la fuerza motora efectiva que actua
sobre la articulación 2.

Como se ve, el modelo cinámico responde a un sistema de 2 ecuaciones


diferenciales de 2 ° orden no lineal y acoplado. Se observa también como el
termino gravedad C no aparece en el modelo. Esto es debido a que la estructura
horizontal del robot permite que las fuerzas de gravedad se proyecten sobre los
apoyos, no siendo necesario aportación de par o fuerza para vencerla. Si se
considerase al robot en posición horizontal, tal y como aparece en la figura 5.5,
manteniéndose la definición de los sistemas de referencia de la figura 5.3, las
expresiones de las matrices y vectores A,U,J,D, y H resultaran iguales que en el
caso anterior. Sin embargo, el vector C si se vería afectado, pues ahora el vector
de gravedad g expresado en el sistema de referencia de la base {𝑠0 } seria:

𝑔 = [𝑔 0 0 0]

Con lo que:

−𝑐1 𝐿1 −𝑐1 𝑑2
−𝑠 𝐿
𝑐1 = −𝑚1 [𝑔 0 0 0] [ 1 1 ] − 𝑚2 [𝑔 0 0 0] [−𝑠1 𝑑2 ] = 𝑚1 𝑔𝐿1 𝑐1 + 𝑚2 𝑔𝑑2 𝑐1
0 0
0 0

−𝑠1
𝑐1
𝑐1 = −𝑚1 [𝑔 0 0 0][0] − 𝑚2 [𝑔 0 0 0] [ 0 ] = 𝑚2 𝑔𝑠1
0
𝑚1 𝑔𝐿1 𝑐1 + 𝑚2 𝑔𝑑2 𝑐1
𝑐=[ ]
𝑚2 𝑔𝑠1

De modo que las ecuaciones correspondientes al modelo dinámico tomaran ahora


la siguiente forma:

𝑇1 = (𝑚1 𝐿21 + 𝑚2 𝑑22 )𝜃1̈ + 2𝑑2 𝑚2 𝜃1̇ 𝑑2̇ + 𝑚1 𝑔𝐿1 𝑐𝑜𝑠𝜃1 + 𝑚2 𝑔𝑑2 𝑐𝑜𝑠𝜃1

𝐹2 = 𝑚2 𝑑2̈ − 𝑑2 𝑚2 𝜃12̇ + 𝑚2 𝑔𝑠𝑒𝑛𝜃1 5.18

5.3 Obtención del modelo dinámico de un robot mediante la fórmula de Newton-


Euler.

La obtención del modelo dinámico de un robot a partir de la formulación


lagrangiana conduce a un algoritmo con un coste computacional de orden (𝑛4 ).es
decir, el número de operaciones a realizar crece con la potencia cuarta del número
de grados de libertad. En el caso habitual de robots de 6 grados de libertad, este
número de operaciones hace al algoritmo presentado en el epigafe anterior
materialmente inutilizable para ser utilizado en tiempo real
La formulación de Newton-Euler parte del equilibrio de fuerzas y pares

∑ 𝐹 = 𝑚𝑉̇ ∑ 𝐹 = 𝐼 ∙ 𝑤 + 𝑤 𝑋(𝐼 ∙ 𝑤) 5.19

Un adecuado desarrollo de estas ecuaciones conduce a una formulación


recursiva en la que se obtienen la posición, velocidad y aceleración del eslabón i
referida a la base del robot a partir de los correspondientes del eslabón i-1 y del
movimiento relativo de la articulación i. De este modo, partiendo del eslabón 1 se
llega al eslabón n. con estos datos se procede a obtener fuerzas y pares actuantes
sobre el eslabón i referidos a la base del robot a partir de los correspondientes al
eslabón i+1 recorriéndose de esta forma todos los eslabones desde el eslabón n al
eslabón 1.

El algoritmo se basa en operaciones vectoriales (con productos escalares y


vectoriales entre magnitudes vectoriales, y productos de matrices con vectores)
siendo más eficiente en comparación con las operaciones matriciales asociadas a
la formulación Lagrangiana. De hecho, el orden de complejidad computacional de
la formulación recursiva de Newton-Euler es 0 (n) lo que indica que depende
directamente del número de grados de libertad.

El algoritmo se desarrolla en los siguientes pasos.

5.3.1. Algoritmo computacional para el modelado dinámico por Newton-Euler

N-E 1. Asignar a cada eslabón un sistema de referencia de acuerdo con las


normas D-H

N-E 2. Obtener las matrices de rotación j − 1Ri y sus inversas iRi−1 = ( i − 1R1 )−1 =
( i − 1R1 )T, siendo:

cθi −cαi sθi sαi sθi


i − 1Ri = [sθi cαi sθi −sαi cθi ]
0 sαi cαi
N-E 3. Establecer las condiciones iniciales.

Para el sistema de la base {s0 }:

°w0 : velocidad angular = [0,0,0]T

°ẇ0 : Aceleracion angular = [0,0,0]T

°V0 : velocidad lineal = [0,0,0]T

°V0̇ : Aceleracion lineal = [g x , g y , g z ]T

°w0 , °ẇ0 y °V0 Son típicamente nudelos salvo que la base del robot este en
movimiento para el extremo del robot se conocerá la fuerza y el par ejercidos
externamente n + 1fn+1 y n + 1nn+1

z0 = [0,0,0]T

ipi = coordeanas del origen del sistema {s1 } respecto a {s1−1 } = [ai , di si d1 c1 ]

isi = coordeanas del centro de masas del esalbon i respecto del sistema {s1 }

iIi
= Matriz de inercia del eslabon i respecto del su centro de masas expresados en {s1 }

Para i=1...n realizar los pasos de 4 a 7:

N-E 4. Obtener la velocidad angular del sistema {s1 }.

iwi−1
̇
iRi−1 (iwi−1 ̇ ̇
̇ + z0 q1 ) + i − 1wi−1 × z0 q1 ) si el eslabon i es de rotacion
={ 5.21}
iRi−1 i − 1wi−1 si el esalbon i es de translacion
N-E 6 obtener la aceleración lineal del sistema i:

𝑖𝑉̇
𝑖

𝑖𝑤𝑖 × 𝑖 𝑝𝑖 + 𝑖𝑤𝑖 × (𝑖𝑤𝑖 × 𝑖𝑝𝑖 ) + 𝑖𝑅𝑖−𝑗 𝑖 − 1𝑣̇ 𝑖−1 𝑠𝑖 𝑒𝑙 𝑒𝑠𝑙𝑎𝑏𝑜𝑛 𝑖 𝑒𝑠 𝑑𝑒 𝑟𝑜𝑡𝑎𝑐𝑖𝑜𝑛


={ 𝑖𝑅𝑖−1 (𝑧0 𝑞𝑖̈ + 𝑖 − 1𝑉̇𝑖−1 ) + 𝑖𝑤̇𝑖 ×𝑖 𝑝𝑖 + 2𝑖 𝑤𝑖 × 𝑖𝑅𝑖−1 𝑧0 𝑞𝑖̇ + 5.22}
+𝑖𝑤𝑖 × (𝑖𝑤𝑖 × 𝑖𝑝𝑖 )

N –E 7. Obtener la aceleración lineal del centro de gravedad del eslabón i:

𝑖𝑎𝑖 = 𝑖𝑤̇𝑖 ×𝑖 𝑠1 𝑖𝑤𝑖 × (𝑖𝑤𝑖 × 𝑖𝑠𝑖 ) + 𝑖𝑉̇𝑖 5.23

Para i= n…1 realizar los pasos 8 a 10

N-E 8. Obtener la fuerza ejercida sobre el eslabón i:

𝑖𝑓𝑖 = 𝑖𝑅𝑗+1 𝑖 + 1𝑓𝑖+1 + 𝑚𝑖 𝑖𝑎𝑖 5.24

N-E 9. Obtener el par ejercido sobre sobre el eslabón i

𝑖𝑛𝑖 = 𝑖𝑅𝑖+1 [𝑖 + 1𝑛1 + (𝑖 + 1𝑅𝑖 𝑝𝑖 ) ×𝑖+1 𝑓𝑖+1 ] + (𝑖𝑝𝑖 + 𝑖𝑠𝑖 ) × 𝑚𝑖 𝑖𝑎𝑖 + 𝑖𝐼𝑖 𝑖𝑤̇𝑖 + 𝑖𝑤𝑖
× (𝑖𝐼𝑖 𝑖𝑤𝑖 ) 5.25

N-E 10. Obtener la fuerza o par aplicado a la articulación i

𝑖𝑛𝑇 𝑖𝑅𝑖−1 𝑧0 𝑠𝑖 𝑒𝑙 𝑒𝑠𝑙𝑎𝑏𝑜𝑛 𝑖 𝑒𝑠 𝑑𝑒 𝑟𝑜𝑡𝑎𝑐𝑖𝑜𝑛


𝑖
𝜏1 = { }
𝑖𝑓1𝑇 𝑖𝑅𝑖−1 𝑧0 𝑠𝑖 𝑒𝑙 𝑒𝑠𝑎𝑙𝑏𝑜𝑛 𝑖 𝑒𝑠 𝑑𝑒 𝑡𝑟𝑎𝑠𝑙𝑎𝑐𝑖𝑜𝑛

Donde 𝜏 es el par o fuerza efectivo (para motor menos pares de rozamiento o


perturbación).

Tabla 5.2 parámetros D-H del robot polar del ejemplo 5.2

ARTICULACION 𝜃𝑖 𝑑𝑖 𝑎𝑖 𝛼𝑖
1 𝜃𝑖 0 0 -90
2 0 𝑑2 0 0
Ejemplo 5.2

En el apigafe anterior se obtuvo el modelo dinámico del robot de la figura 5.2


atreves de la formulación de LaGrange-Euler. Se va a obtener aquí el modelo
dinámico del mismo robot, utilizando la formulación de Newton-Euler

N-E 1. La asignación de los sistemas de referencia según D-H es la mostrada en


la figura 5.6. Los correspondientes parámetros de D-H SE MUESTRAN EN LA
TABLA 5.2

N-E 2. Las matrices de rotación 𝑖 − 1𝑅𝑖 y sus inversas son:

𝑐1 0 −𝑠1 1 0 0 𝑐1 0 −𝑠1
°𝑅1 = [𝑠1 0 𝑐1 ] °𝑅2 = [0 1 0] °𝑅2 = [𝑠1 0 𝑐1 ]
0 −1 0 0 0 1 0 −1 0
𝑐1 𝑠1 0 1 0 0 𝑐1 𝑠1 0
1𝑅0 =[ 0 0 −1] 2𝑅1 = [0 1 0] 2𝑅0 = [ 0 0 −1]
−𝑠1 𝑐1 0 0 0 1 −𝑠1 𝑐1 0

N-E 3.

°𝑤0 = [0,0,0]𝑇 °𝑤0̇ = [0,0,0]𝑇

°𝑉0 = [0,0,0]𝑇 °𝑉0̇ = [0,0, 𝑔]𝑇

Y como no se ejercen fuerzas externas en el extremo del robot 3𝑓3 = 3𝑛3 = 0

𝑧0 = [0,0,1]𝑇

1𝑃1 = [0,0,1]𝑇 2𝑃2 = [0,0, 𝑑1 ]𝑇

1𝑠1 = [0,0, 𝐿1 ]𝑇 2𝑠2 = [0,0, 𝐿1 ]𝑇


Y por estar toda la masa de los elementos 1 y 2 concentrada en sus respectivos
0 0 0 0 0 0
centros de gravedad 1𝐼1 = [0 0 0] 2𝐼2 = [0 0 0]
0 0 0 0 0 0
N-E 4

𝑐1 𝑠1 0 0 0 0
1𝑤1 = 1𝑅0 ( 0𝑤0 + 𝑧0 𝜃1̇ ) = [ 0 0 ̇ 1]
−1] ∙ ([0] + [0]) = [−𝜃
−𝑠1 𝑐1 0 0 0 0
1 0 0 0 0
2𝑤2 = 2𝑅1 1𝑤1 = ( 0𝑤0 + 𝑧0 𝜃1̇ ) = [0 ̇ 1 ] = [−𝜃
1 0] ∙ [−𝜃 ̇ 1]
0 0 1 0 0
N-E 5.

1𝑤1 = 1𝑅0 ( 0𝑤̇0 + 𝑧0 𝜃1̇ ) + 0𝑤0 × 𝑧0 𝜃1̇ =

𝑐1 𝑠1 0 0 0 0 0 0
=[ 0 0 ̇ 1]
−1] ∙ ([0] + [0]) + [0] × [0] = [−𝜃
−𝑠1 𝑐1 0 0 0 0 0 0
1 0 0 0 0
2𝑤2 = 2𝑅1 1𝑤̇1 = [0 ̇ 1 ] = [−𝜃̇1 ]
1 0] ∙ [−𝜃
0 0 1 0 0
N-E 6.

1𝑣̇ 1 = 1𝑤1 × 1𝑝1 + 1𝑤1 × ( 1𝑤1 × 1𝑝1 ) + 1𝑅0 0𝑣̇ 0 =

0 0 0 0 0 𝑐1 𝑠1 0 0 0
= [−𝜃̈1 ] × [0] + [−𝜃̇1 ] × [[−𝜃̇1 ] × [0]] + [ 0 0 −1] [ 0 ] = [−𝑔]
0 0 0 0 0 −𝑠1 𝑐1 0 𝑔 0

2𝑉̇2 = 2𝑅1 (𝑧0 𝑑2̈ + 1𝑣̇ 1 ) 2𝑤̇2 ×2 𝑝2 𝑤2 × ( 2𝑅1 𝑧0 𝑑2̇ ) + 2𝑤2 × ( 2𝑤2 ×2 𝑝2 ) =

1 0 0 0 0 0 0 0 1 0 0 0 0
= [0 1 0] ([ 0 ] + [−𝑔]) + [−𝜃̇1 ] × [ 0 ] + 2 [−𝜃̇1 ] × [[0 1 0] [ 0 ]] + [−𝜃̇1 ]
0 0 1 𝑑̈2 0 0 𝑑2 0 0 0 1 𝑑̇2 0
0 0
× [[−𝜃̇1 ] × [ 0 ]] =
0 𝑑2

0 −𝜃̈1 − 𝑑2 −𝜃̈1 − 𝑑2 0 −𝜃̈1 𝑑2 −2𝜃̇1 𝑑2


= [−𝑔] + [ 0 ] + 2[ 0 ]+[ 0 ]=[ −𝑔 ]
𝑑̈2 0 0 ̇ 2
−𝜃1 𝑑2 𝑑̈ − 𝜃̇ 𝑑
2
2 1 2
N-E 7.

1𝑎1 = 1𝑤̇1 × 1𝑠1 + 1𝑤1 × ( 1𝑤1 × 1𝑠1 ) + 1𝑉̇1 =

0 0 0 0 0 0 −𝜃̈1 𝐿1
= [−𝜃̈1 ] × [ 0 ] + [−𝜃̇1 ] × [[−𝜃̇1 ] × [ 0 ]] + [−𝑔] = [ −𝑔 ]
0 𝐿1 0 0 𝐿1 0 −𝜃̇12 𝐿1

2𝑎2 = 2𝑤̇2 × 2𝑠2 + 1𝑤2 × (2𝑤̇2 × 2𝑠2 ) + 2𝑣̇ 2 =

0 0 0 0 0 −𝜃̈1 𝑑2 −2𝜃̇1 𝑑2 −𝜃̈1 𝑑2 −2𝜃̇1 𝑑2


= [−𝜃̈1 ] × [0] + [−𝜃̇1 ] × [[−𝜃̇1 ] × [0]] + [ −𝑔 ]=[ −𝑔 ]
0 0 0 0 0 𝑑̈2 − 𝜃̇1 𝑑2
2
𝑑̈2 − 𝜃̇1 𝑑2
2

N-E 8.

0 −𝜃̈1 𝑑2 −2𝜃̇1 𝑑̇2 −𝜃̈1 𝑑2 𝑚2 −2𝜃̇1 𝑑̇2 𝑚2


2𝑓2 = 2𝑅3 + 𝑚2 + 2𝑎2 = 2𝑅3 [0] + 𝑚2 [ −𝑔 ]=[ −𝑔𝑚2 ]
0 ̈ ̇
𝑑2 − 𝜃1 𝑑22 ̈ ̇ 2
𝑑2 𝑚2 − 𝜃1 𝑑2 𝑚2

1 0 0 −𝜃̈1 𝑑2 𝑚2 −2𝜃̇1 𝑑̇2 𝑚2 −𝜃̈1 𝐼1


1𝑓1 = 1𝑅2 2𝑓2 + 𝑚1 1𝑎1 = [0 1 0] [ −𝑔𝑚2 ] + 𝑚1 [ −𝑔 ]
0 0 1 𝑑̈2 𝑚2 − 𝜃̇1 𝑑2 𝑚2
2
−𝜃̇12 𝐼1
−𝜃̈1 𝑑2 𝑚2 −2𝜃̇1 𝑑̇2 𝑚2 −𝜃̈1 𝐼1 𝑚1
=[ −𝑔(𝑚1 + 𝑚2 ) ]
𝑑̈2 𝑚2 − 𝜃̇12 𝑑2 𝑚2 − −𝜃̇12 𝐼1 𝑚1

N-E 9.

2𝑛1 = 2𝑅3 [ 3𝑛3 + ( 3𝑅2 + 2𝑝2 ) ×3 𝑓3 ] + (2𝑝2 + 2𝑠2 ) × 𝑚2 2𝑎2 + 2𝐼2 2𝑤̇2 + 2𝑤2
× ( 2𝐼2 ∙ 2𝑤2 ) =

1 0 0 0 0 0 0 −𝜃̈1 𝑑2 −2𝜃̇1 𝑑2 0 0 0 0
= [0 1 0] ∙ ([0] + [0]) + ([0] × [0]) × 𝑚2 [ −𝑔 ] + [0 0 0] ∙ [−𝜃̈ 1 ]
0 0 1 0 0 0 0 𝑑̈2 − 𝜃̇1 𝑑2
2 0 0 0 0
0 0 0 0 0 𝑑2 𝑚2 𝑔
+ [−𝜃̇1 ] × ([0 0 0] ∙ [−𝜃̈ 1 ]) = [(−𝜃̈1 𝑑2 −2𝜃̇1 𝑑2̇ 𝑑2 )𝑚2 ]
0 0 0 0 0 0
1𝑛1 = 1𝑅2 [ 2𝑛2 + ( 2𝑅1 1𝑝1 ) × 2𝑓2 ] + ( 1𝑝1 + 1𝑠1 ) × 𝑚1 1𝑎1 + 1𝐼1 1𝑤̇1 1𝑊1 × (1𝐼1 1𝑊1 ) =

1 0 0 𝑑2 𝑚2 𝑔 𝐿1 𝑚1 𝑔 (𝑑2 𝑚2 + 𝐿1 𝑚1 )𝑔
[0 1 ̈ 2 ̇ ̇
0] ∙ [(−𝜃1 𝑑2 −2𝜃1 𝑑2 𝑑2 )𝑚2 ] + [−𝜃1 𝐿1 𝑚1 ] = [(−𝜃1 𝑑2 −2𝜃̇1 𝑑2̇ 𝑑2 )𝑚2 −𝜃̈1 𝐿21 𝑚1 ]
̈ 2 ̈ 2

0 0 1 0 0 0
N-E 10.
𝑇
−𝜃̈1 𝑑2 𝑚2 −2𝜃̇1 𝑑2̇ 𝑚2 0
𝐹2 = 2𝑓2𝑇 2𝑅1 𝑧0 = [ −𝑔𝑚2 ] ∙ [−1] = 𝑑̈2 𝑚2 − 𝜃12 𝑑2 𝑚2
𝑑̈2 𝑚2 − 𝜃12 𝑑2 𝑚2 0
𝑇
(𝑑2 𝑚2 + 𝐿2 𝑚1 )𝑔 0
𝑇1 = 1𝑛1𝑇 1𝑅0 𝑧0 = [(−𝜃̈1 𝑑22 −2𝜃̇1 𝑑2̇ 𝑑2 )𝑚2 −𝜃̈1 𝐿1 𝑚1 ] [−1] =
0 0
(𝜃̈1 𝑑22 + 2𝜃̇1 𝑑2̇ 𝑑2 )𝑚2 + 𝜃̈1 𝐿21 𝑚1

Por lo tanto, las ecuaciones que componen el modelo dinámico son:

𝑇1 = (𝜃̈1 𝑑22 + 2𝜃̇1 𝑑2̇ 𝑑2 )𝑚2 + 𝜃̈1 𝐿21 𝑚1 5.27

𝐹2 = 𝑑̈2 𝑚2 − 𝜃12 𝑑2 𝑚2

Ecuaciones que coinciden con las obtenidas (5.17) mediante el planteamiento de


Lagrange-Euler

Anda mungkin juga menyukai