control pid de un manipulador robotico de 5 grados de libertad
DESCRIPTION
Controlador PID para un manipulador de 5GDL. Pruebas realizadas para diferentes trayectorias y frecuencias.TRANSCRIPT
Control PID de un manipulador robótico de 5 GDL. Lima, Mayo 2010 1
Abstract
This research deals with the PID control for tracking the
trajectory of a robotic manipulator of 5 degrees of freedom,
from Lynx6 robot model. We performed a manual tuning of the gains of our controller, and a design which takes into account the electric dynamics of motors of direct current (DC) in order to use parameters and constraints that could appear in the implementation of our robot.
Index Terms: PID control, electric dynamics, PID tuning.
Resumen
El presente trabajo de investigación trata sobre el control
PID para el seguimiento de trayectoria de un manipulador
robótico de 5 grados de libertad, a partir del modelo del
robot Lynx6. Se realiza una sintonización manual de las
ganancias de nuestro controlador, y un diseño en cual se
toma en consideración la dinámica eléctrica de los motores
de corriente directa (DC) con la finalidad de usar
parámetros y restricciones que se podrían presentar en la
implementación de nuestro robot.
Index Terms: control PID, dinámica eléctrica,
sintonización PID.
I. INTRODUCCION
n las últimas décadas, el problema de controlar
manipuladores robóticos ha atraído y desafiado a
muchos investigadores. Generalmente, la dinámica de un
robot manipulador es caracterizada por la no linealidad y
variación de parámetros debido a las variaciones en las
cargas, fricciones y ruidos externos, etc. Los controladores
convencionales para este tipo de sistemas podrían no arrojar
resultados esperados. Por otro lado, los controladores
convencionales como los PID, son ampliamente usados en la
industria debido a su confiabilidad y facilidad de
implementación.
Para esta primera entrega se realizó un control PID,
sintonizándolo manualmente, considerando valores
admisibles de torques y voltajes de los actuadores.
Este trabajo se realiza el proceso de modelado del robot
manipulador. Primero se desarrolla la cinemática directa con
el uso del algoritmo de Denavit-Hartenberg. La cinemática
inversa, la cual incluye la dirección del efector, se calcula
directamente. La dinámica se determina usando Solidworks
y el Simechanics de SIMULINK, y como comprobación
también se calcula las matrices de dinámica usando el
MATLAB con las ecuaciones de Lagrange. Luego, se
realiza la compensación de gravedad con el objetivo de
comprobar nuestras matrices de dinámica con la dinámica
obtenida de Solidworks-Simulink. Finalmente se presenta el
control PID para una trayectoria considerando la dinámica
eléctrica de los motores y sus restricciones.
II. MODELAMIENTO DEL ROBOT
Nuestro robot de 5 grados de libertad está basado en el
manipulador Lynx6 de Lynxmotion, modelo del cual
obtendremos la cinemática directa e inversa, jacobianos y la
dinámica.
Figura 1. Robot manipulador Lynx6.
PID CONTROL OF A ROBOTIC MANIPULATOR OF 5
DEGREES OF FREEDOM
CONTROL PID DE UN MANIPULADOR ROBOTICO DE 5
GRADOS DE LIBERTAD
MSc. David R. Achanccaray D., Víctor Caballero L., Génesis Díaz M., Miguel Fernández Z., Franz Huanay M.
E
Control PID de un manipulador robótico de 5 GDL. Lima, Mayo 2010 2
Representación del robot
Figura 2. Equivalente en D-H.
Cinemática Directa
Procedemos a calcular los parámetros D-H del manipulador
para utilizar las matrices de transformación y encontrar la
posición del efector final.
Estas ecuaciones son la base para desarrollar las
simulaciones y observar la trayectoria que sigue el
manipulador al utilizar diversos algoritmos en su control.
Tabla 1. Parámetros DH del manipulador Lynx6.
Eslabón 𝜽𝒊 𝜶𝒊 𝒂𝒊 𝒅𝒊
1 𝜃1 90° 0 𝑙1
2 𝜃2 0° 𝑙2 0
3 𝜃3 0° 𝑙3 0
4 𝜃4 + 90° 90° 0 0
5 𝜃5 0° 0 𝑙4
Luego de hallar los parámetros DH, se calculan las matrices
homogéneas (A) de los eslabones.
La cinemática directa la obtenemos multiplicando las 5
matrices homogéneas (T), la cual se ha simplificado y
ordenado de la manera como se muestra a continuación.
𝑇50 = 𝐴1
0𝐴21𝐴3
2𝐴43𝐴5
4
𝑇05 =
𝑛𝑥 𝑜𝑥
𝑛𝑦 𝑜𝑦
𝑎𝑥 𝑝𝑥
𝑎𝑦 𝑝𝑦
𝑛𝑧 𝑜𝑧
0 0𝑎𝑧 𝑝𝑧
0 1
𝑛𝑥 = 𝑆5𝑆1 − 𝐶1𝐶5𝑆234
𝑛𝑦 = −𝑆5𝐶1 − 𝑆1𝐶5𝑆234
𝑛𝑧 = 𝐶5𝐶234
𝑜𝑥 = 𝐶5𝑆1 + 𝐶1𝑆5𝑆234
𝑜𝑦 = −𝐶5𝐶1 + 𝑆1𝑆5𝑆234
𝑜𝑧 = −𝑆5𝐶234
𝑎𝑥 = 𝐶1𝐶234
𝑎𝑦 = 𝑆1𝐶234
𝑎𝑧 = 𝑆234
𝑝𝑥 = 𝐶1(𝑙2𝐶2 + 𝑙3𝐶23 + 𝑙4𝐶234)
𝑝𝑦 = 𝑆1(𝑙2𝐶2 + 𝑙3𝐶23 + 𝑙4𝐶234 )
𝑝𝑧 = 𝑙1 + 𝑙2𝑆2 + 𝑙3𝑆23 + 𝑙4𝑆234
𝛼 = 𝑞2 + 𝑞3 + 𝑞4
𝛽 = 𝑞5
Como se observa en las ecuaciones anteriores, se han
incluido las variables 𝛼 y 𝛽, ya que se controlarán dos
parámetros de orientación además de los que corresponden a
la trayectoria.
Cinemática Inversa
Para hallar la cinemática inversa existen diversos métodos,
de los cuales se eligió el método geométrico, por la facilidad
del cálculo usando los parámetros de orientación elegidos y
la posición final del efector.
Y
X
(xe,ye)
X'
Figura 3. Giro del primer grado de libertad.
2
1
3
(xw,yw)
(xe,ye)
l3
l4
r
l2
l1
Z
X'
Figura 4. Giro de los 4 GDL restantes.
𝒒𝟏 = 𝒂𝒕𝒂𝒏𝟐(𝒑𝒚,𝒑𝒙)
𝜑1 = 𝛼
𝑥𝑒 = 𝑝𝑥2 + 𝑝𝑦
2
𝑦𝑒 = 𝑝𝑧 − 𝑙1
𝑥𝑤 = 𝑥𝑒 − 𝑙4𝑐𝑜𝑠𝜑1
𝑦𝑤 = 𝑦𝑒 − 𝑙4𝑠𝑒𝑛𝜑1
Control PID de un manipulador robótico de 5 GDL. Lima, Mayo 2010 3
𝜑2 = atan(𝑦𝑤𝑥𝑤
)
𝜑3 = acos(𝑙2
2 + 𝑙32 − 𝑥𝑤
2 − 𝑦𝑤2
2𝑙2𝑙3)
𝒒𝟑 = 𝝅 − 𝝋𝟑
𝛾 = acos(𝑥𝑤
2 + 𝑦𝑤2 + 𝑙2
2 − 𝑙32
2𝑙2 𝑥𝑤2 + 𝑦𝑤
2)
𝒒𝟐 = 𝝋𝟐 − 𝜸
𝒒𝟒 = 𝝋𝟏 − 𝒒𝟐 − 𝒒𝟑
𝒒𝟓 = 𝜷
OBS: 𝛼 y 𝛽 son datos de entrada.
Jacobianos
Partiendo del producto de matrices (T), hallamos el
jacobiano.
𝑱 =𝜕𝑻
𝜕𝑞𝑖
𝑖 = 1, 2, 3, 4, 5
Al jacobiano lineal de nuestro robot manipulador le hemos
agregado el jacobiano angular con respecto a los parámetros
de orientación 𝛼 y 𝛽, con el objetivo de poder controlarlos
también.
𝑱 =
𝜕𝑝𝑥
𝜕𝑞1
𝜕𝑝𝑦
𝜕𝑞1
𝜕𝑝𝑧
𝜕𝑞1
𝜕𝛼
𝜕𝑞1
𝜕𝛽
𝜕𝑞1
𝜕𝑝𝑥
𝜕𝑞2
𝜕𝑝𝑦
𝜕𝑞2
𝜕𝑝𝑧
𝜕𝑞2
𝜕𝛼
𝜕𝑞2
𝜕𝛽
𝜕𝑞2
𝜕𝑝𝑥
𝜕𝑞3
𝜕𝑝𝑦
𝜕𝑞3
𝜕𝑝𝑧
𝜕𝑞3
𝜕𝛼
𝜕𝑞3
𝜕𝛽
𝜕𝑞3
𝜕𝑝𝑥
𝜕𝑞4
𝜕𝑝𝑦
𝜕𝑞4
𝜕𝑝𝑧
𝜕𝑞4
𝜕𝛼
𝜕𝑞4
𝜕𝛽
𝜕𝑞4
𝜕𝑝𝑥
𝜕𝑞5
𝜕𝑝𝑦
𝜕𝑞5
𝜕𝑝𝑧
𝜕𝑞5
𝜕𝛼
𝜕𝑞5
𝜕𝛽
𝜕𝑞5
Primero calculamos el jacobiano lineal.
𝐽11 =𝜕𝑝𝑥
𝜕𝑞1= −𝑆1(𝑙4𝐶234 + 𝑙3𝐶23 + 𝑙2𝐶2)
𝐽21 =𝜕𝑝𝑦
𝜕𝑞1= −𝑆1(𝑙4𝐶234 + 𝑙3𝐶23 + 𝑙2𝐶2)
𝐽31 =𝜕𝑝𝑧
𝜕𝑞1= 0
𝐽12 =𝜕𝑝𝑥
𝜕𝑞2= −𝐶1(𝑙4𝑆234 + 𝑙3𝑆23 + 𝑙2𝑆2)
𝐽22 =𝜕𝑝𝑦
𝜕𝑞2= −𝑆1(𝑙4𝑆234 + 𝑙3𝑆23 + 𝑙2𝑆2)
𝐽32 =𝜕𝑝𝑧
𝜕𝑞2= 𝑙4𝐶234 + 𝑙3𝐶23 + 𝑙2𝐶2
𝐽13 =𝜕𝑝𝑥
𝜕𝑞3= −𝐶1(𝑙4𝑆234 + 𝑙3𝑆23)
𝐽23 =𝜕𝑝𝑦
𝜕𝑞3= −𝑆1(𝑙4𝑆234 + 𝑙3𝑆23)
𝐽33 =𝜕𝑝𝑧
𝜕𝑞3= 𝑙4𝐶234 + 𝑙3𝐶23
𝐽14 =𝜕𝑝𝑥
𝜕𝑞4= −𝑙4𝐶1𝑆234
𝐽24 =𝜕𝑝𝑦
𝜕𝑞4= −𝑙4𝑆1𝑆234
𝐽34 =𝜕𝑝𝑧
𝜕𝑞4= 𝑙4𝐶234
𝐽15 =𝜕𝑝𝑥
𝜕𝑞5= 0
𝐽25 =𝜕𝑝𝑦
𝜕𝑞5= 0
𝐽35 =𝜕𝑝𝑧
𝜕𝑞5= 0
Ahora hallamos el jacobiano angular y lo unimos al
jacobiano escalar que se calculó previamente.
𝑱 =
𝐽11
𝐽21
𝐽31
00
𝐽12
𝐽22
𝐽32
10
𝐽13
𝐽23
𝐽33
10
𝐽14
𝐽24
𝐽34
10
𝐽15
𝐽25
𝐽35
01
Ahora tenemos un jacobiano de 5x5, en el cual ya no se
tendrán inconvenientes para calcular el jacobiano inverso,
tan sólo se tendrán en cuenta los puntos de singularidad, en
los cuales se tomará al jacobiano como una matriz identidad.
El jacobiano inverso se calcula de la siguiente manera:
𝐽−1 =𝐴𝑑𝑗(𝐽)
det(𝐽)
Existen puntos donde no está definido el jacobiano inverso,
estos puntos son llamados de singularidad.
Singularidad ↔ det 𝐽 = 0
Para evitar este problema en las simulaciones, se asumió un
𝐽 = [𝐼]5 para esos puntos de singularidad.
Control PID de un manipulador robótico de 5 GDL. Lima, Mayo 2010 4
Dinámica
En esta parte procedemos a calcular el modelo dinámico de
nuestro manipulador.
𝝉 = 𝑯𝒒 + 𝑪(𝑞, 𝑞 ) + 𝑮(𝑞)
𝝉: Fuerzas y torques en los actuadores.
𝑯: Matriz cuadrada de inercias.
𝑪: Matriz columna de fuerzas de coriolis.
𝑮: Matriz columna de gravedad.
Usando las siguientes ecuaciones se calculan las matrices ya
mencionadas.
Primero se calcula el tensor de inercia.
𝑯 = (𝑱𝐿𝑖 𝑇
𝑚𝑖𝑱𝐿𝑖 + 𝑱𝑨
𝒊 𝑇𝑰𝒊𝑱𝐴
𝑖 )
𝑛
𝑖=1
𝑱𝐿𝑖 : Jacobianos individuales respecto del centro de masa de
cada eslabón.
𝑚𝑖 : Masa de cada eslabón.
𝑰𝒊: Momento de inercia de cada eslabón.
Luego se calculan los coeficientes de Christoffel a partir del
tensor de inercia.
ℎ𝑖𝑗𝑘 =𝜕𝐻𝑖𝑗
𝜕𝑞𝑘−
1
2
𝜕𝐻𝑗𝑘
𝜕𝑞𝑖
Ahora calculamos la matriz columna de gravedad
𝐺𝑖 = 𝑚𝑗𝒈𝑇𝑱𝑳𝒊
𝒋
𝑛
𝑗=1
𝒈: Vector de gravedad respecto del sistema base.
Por último se forma la ecuación de la dinámica como se
muestra a continuación.
𝜏𝑖 = 𝐻𝑖𝑗 𝑞 𝑗
5
𝑗=1
+ ℎ𝑖𝑗𝑘 𝑞 𝑗𝑞 𝑘
5
𝑘=1
5
𝑗=1
+ 𝐺𝑖
La dinámica se obtuvo usando el MATLAB siguiendo este
procedimiento, así como también usando el Simechanics de
SIMULINK, el cual calcula la dinámica con algoritmos
propios del software.
Compensación de la gravedad
Como paso previo al desarrollo del control se usó la
compensación de gravedad para comprobar que nuestras
ecuaciones de dinámica calculadas fuesen admisibles.
Figura 5. Compensación de la gravedad usando la dinámica
de MATLAB.
Figura 6. Compensación de la gravedad usando el bloque
del robot de simechanics.
III. LEY DE CONTROL DEL ROBOT
Principio de control PID
Para el estudio se realiza el control individual de cada
elemento.
𝜏𝑖 = 𝐾𝑃𝑖 𝑞𝑑𝑒𝑠 − 𝑞 + 𝐾𝐷𝑖 𝑞 𝑑𝑒𝑠 − 𝑞 + 𝐾𝐼𝑖 𝑞𝑑𝑒𝑠 − 𝑞 𝑑𝑇
𝑢𝑖 = 𝜏𝑖
Figura 7. Bloque del control PID para el voltaje de entrada.
Control PID de un manipulador robótico de 5 GDL. Lima, Mayo 2010 5
Para nuestro modelo consideramos las siguientes ganancias
del controlador:
𝐾𝑃 = 𝑑𝑖𝑎𝑔([100,100,70,45,10])
𝐾𝐷 = 𝑑𝑖𝑎𝑔([20,30,20,10,10])
𝐾𝐼 = 𝑑𝑖𝑎𝑔([150,140,100,85,45])
+
-
qcontrolPIDMotor
ROBOTMotor
DC
eR
Figura 8. Esquema del Control PID.
Primero se realizó el control PID directamente, sin
saturaciones en las entradas, ni restricciones.
Figura 9. Bloque de Control PID.
Figura 10. Torques obtenidos con el PID inicial.
Función de Transferencia de Motores DC
Ahora modificamos el PID inicial, para poder utilizar las
características de los motores DC. Se crea el diagrama de
bloques dentro de nuestro lazo de control, el cual tendrá
como entrada Voltaje y Torque como salida, teniendo en
cuenta los valores límites de la entrada Voltaje.
Figura 11. Bloque del Motor DC.
Como se muestran en las figuras 11 y 12, se pueden
modificar los parámetros de los motores de acuerdo al los
valores reales que disponemos. Se construyó el modelo de
los motores despreciando los efectos de viscosidad e inercia
del motor por ser despreciables respecto a las inercias del
robot.
Figura 12. Bloque de los actuadores de manipulador.
controlPIDMotor
ROBOTR+
-
qMotor
DC
e
Figura 13. Esquema del control por PID usando la dinámica
eléctrica de los actuadores.
Figura 14. Bloque de control PID usando la dinámica
eléctrica de los actuadores.
En la figura 14 se observa que en el nuevo bloque de control
PID, se ha tomado a los voltajes como variables de control,
para luego calcular los torques correspondientes.
Control PID de un manipulador robótico de 5 GDL. Lima, Mayo 2010 6
IV. SIMULACION Y RESULTADOS
Control PID
A continuación se muestran los resultados obtenidos para
una trayectoria helicoidal durante 30s de simulación.
Figura 15. Trayectoria helicoidal deseada (izquierda) y seguida (derecha).
La trayectoria deseada es la siguiente.
𝑥 = 0.6 + 0.1cos(𝑡)
𝑦 = 0.1sen(𝑡)
𝑧 = 0.01𝑡 + 0.2
𝛼 = 0
𝛽 = 0
Figura 16. Trayectorias helicoidales superpuestas.
Figura 17. Variación de las orientaciones 𝛼 (arriba) y 𝛽 (abajo) durante los 30s de simulación.
Figura 18. Voltajes durante el control.
Figura 19. Torques durante el control.
Como se puede observar, se ha saturado la alimentación de
voltaje a los actuadores para simular condiciones reales en
una posible implementación de nuestro robot.
Figura 20. Inicio de la simulación del control PID
Como se podrá observar, efectivamente el penúltimo
eslabón del robot permanece casi horizontal (𝛼=0) durante
toda la simulación, tal como se había previsto, de igual
forma el efector final casi no rota en su eje ( 𝛽=0).
Control PID de un manipulador robótico de 5 GDL. Lima, Mayo 2010 7
Figura 21. Fin de la simulación del control PID
Adicionalmente se realiza el control P, PD y PI del robot, de
los cuales sólo se mostrarán los resultados del control PD,
puesto que no se pudo sintonizar las ganancias para los otros
dos, ya que el robot se movía descontroladamente.
Control PD
Con este control se obtuvieron resultados favorables.
Se usaron los siguientes valores en las ganancias del
controlador.
𝐾𝑃 = 𝑑𝑖𝑎𝑔([500,400,300,300,200])
𝐾𝐷 = 𝑑𝑖𝑎𝑔([55,40,30,35,25])
𝐾𝐼 = 𝑧𝑒𝑟𝑜𝑠(5,5)
La trayectoria seguida es la misma que la anterior.
Figura 22. Torques al inicio del control PD.
Figura 23. Torques del control PD durante los 30s.
Figura 24. Errores de posición durante los 30s.
Figura 25. Trayectorias deseada y seguida por el robot.
Como se observa, los resultados son similares a los
obtenidos en el control PID.
Control PID con desacople de la matriz H, C y G
Figura 26. Bloque de control PID con desacople.
Control PID de un manipulador robótico de 5 GDL. Lima, Mayo 2010 8
Figura 27. Torques al inicio del control PID-HCG.
Figura 28. Torques durante los 30s.
Figura 29. Trayectorias deseada y seguida por el robot.
Como se observan en los resultados, los torques obtenidos
son mayores al inicio con respecto al control PID.
La trayectoria al inicio también cambió.
V. PRUEBAS ADICIONALES
Control de Velocidad
En el control cinematico, además de la trayectoria espacial
que debe ser realizada por el robot es necesario especificar
la velocidad media del recorrido o la precisión con que se
deba alcanzar el punto de destino. Esto implica que las
constantes del controlador a usar dependen de la velocidad
usada en la trayectoria. Haremos las pruebas para 4
trayectorias.
a. Trayectoria Helicoidal
Se incrementó la velocidad del recorrido sin modificar los
parámetros del PID que usamos, el resultado fue el
siguiente:
𝐾𝑃 = 𝑑𝑖𝑎𝑔([392,392,392,392,392])
𝐾𝐼 = 𝑑𝑖𝑎𝑔([30,30,30,30,30])
𝐾𝐷 = 𝑑𝑖𝑎𝑔([28,28,28,28,28])
Figura 30. Comparación de trayectorias incrementando la velocidad de
recorrido
La velocidad del recorrido para las trayectorias presentadas
fueron: 4,15 y 30 cm/s respectivamente.
Figura 31.Diferencias entre las trayectorias para una velocidad de
recorrido de 30 cm/s.
Al incrementar la velocidad del recorrido se reducen los
tiempos de asentamiento modificando así las
especificaciones de diseño.
Control PID de un manipulador robótico de 5 GDL. Lima, Mayo 2010 9
Se incrementó entonces las constantes Kd y Kp del PID para
velocidades mayores y se obtuvo el siguiente resultado.
Para v = 0.15 m/s
𝐾𝑃 = 𝑑𝑖𝑎𝑔([2450,2450,2450,2450,2450])
𝐾𝐼 = 𝑑𝑖𝑎𝑔([30,30,30,30,30])
𝐾𝐷 = 𝑑𝑖𝑎𝑔([70,70,70,70,70])
Para v = 0.30m/s
𝐾𝑃 = 𝑑𝑖𝑎𝑔([22050,22050,22050,22050,22050])
𝐾𝐼 = 𝑑𝑖𝑎𝑔([30,30,30,30,30])
𝐾𝐷 = 𝑑𝑖𝑎𝑔([210,210,210,210,210])
Figura 32. Comparación de trayectorias con Kd y Kp modificados
Figura 33. Incremento de torques para las tres velocidades.
b. Trayectoria rectilínea
Primero modificamos las velocidades del robot para ver su
efecto en la trayectoria considerando las ganancias iniciales,
que fueron sintonizadas para la frecuencia inicial
𝐾𝑃 = 𝑑𝑖𝑎𝑔([200,200,200,200,200])
𝐾𝐷 = 𝑑𝑖𝑎𝑔([30,30,30,30,30])
𝐾𝐼 = 𝑑𝑖𝑎𝑔([20,20,20,20,10])
Figura 34. Comparación de trayectorias rectilíneas incrementando la
velocidad de recorrido
La Figura 34 es el resultado del control PID sin modificar
sus ganancias para velocidades 0.032, 0.096 y 0.192 m/s
Como se puede observar hay un error casi constante que se
genera debido a este cambio de velocidad.
Para ello sintonizamos el PID para estas nuevas condiciones.
Para v = 0.096 m/s
𝐾𝑃 = 𝑑𝑖𝑎𝑔([700,500,400,350,400])
𝐾𝐷 = 𝑑𝑖𝑎𝑔([500,500,500,500,500])
𝐾𝐼 = 𝑑𝑖𝑎𝑔([50,60,45,50,50])
Para v = 0.192m/s
𝐾𝑃 = 𝑑𝑖𝑎𝑔([800,800,600,500,400])
𝐾𝐷 = 𝑑𝑖𝑎𝑔([1200,1200,1200,1200,1000])
𝐾𝐼 = 𝑑𝑖𝑎𝑔([40,55,55,40,30])
Figura 35. Trayectorias para la nueva sintonización de las ganancias.
Control PID de un manipulador robótico de 5 GDL. Lima, Mayo 2010 10
Figura 36. Torques de entrada al robot para las 3 velocidades analizadas.
c. Trayectoria - sinusoide inscrito en un cilindro
Considerando las ganancias iniciales, que fueron
sintonizadas para la frecuencia inicial, tenemos las gráficas:
𝐾𝑃 = 𝑑𝑖𝑎𝑔([105.27,105.27,105.27,38.28,38.28])
𝐾𝐷 = 𝑑𝑖𝑎𝑔([30,30,30,40,30])
𝐾𝐼 = 𝑑𝑖𝑎𝑔([2.45,2.45,2.45,1.75,1.75])
Figura 37. Comparación de trayectorias rectilíneas incrementando la
velocidad de recorrido
La Figura 37 es el resultado del control PID sin modificar
sus ganancias para diferentes velocidades.
Como se puede observar hay un error que se incrementa
debido a este cambio de velocidad.
Para ello sintonizamos el PID para estas nuevas condiciones.
Para: 𝐾𝑃 = 𝑑𝑖𝑎𝑔([421,421,421,153,153])
𝐾𝐷 = 𝑑𝑖𝑎𝑔([30,30,30,40,30])
𝐾𝐼 = 𝑑𝑖𝑎𝑔([4.9,4.9,4.9,3.5,3.5])
Para:
𝐾𝑃 = 𝑑𝑖𝑎𝑔([1364.3,1364.3,1364.3,496,496])
𝐾𝐷 = 𝑑𝑖𝑎𝑔([30,30,30,40,30])
𝐾𝐼 = 𝑑𝑖𝑎𝑔([8.82,8.82,8.82,6.3,6.3])
Figura 38. Trayectorias para la nueva sintonización de las ganancias.
Figura 39. Torques de entrada al robot para las 3 velocidades analizadas.
Control PID de un manipulador robótico de 5 GDL. Lima, Mayo 2010 11
VI. CONCLUSIONES
-El software SimMechanics de Matlab es una potente
herramienta en la simulación de sistemas robóticos, ya que
nos permite importar nuestro diseño realizado en algún
programa CAD (en este caso SolidWorks) incluyendo las
características inerciales del diseño, además permite realizar
análisis dinámicos, cinemáticos, de dinámica inversa y
también estática. La ventaja de utilizar este software de
simulación es que permite realizar el análisis matemático y,
en la mayoría de los casos, poder obtener importantes
deducciones de una forma eficaz y rápida. Otra ventaja de
este programa de simulación es que su complejidad no
aumenta a medida que se añaden más grados de libertad,
cosa que no sucede con el análisis matemático.
-Se realizó un control con regular precisión, los valores del
error angular alcanzan unos cuantos ángulos para razonables
magnitudes de torque, por lo cual el control realizado en el
presente trabajo tiene un desempeño aceptable.
-El sobreimpulso de la respuesta transitorio está
condicionado a partir de las condiciones iniciales del robot;
es decir, mientras la distancia entre una posición cualquiera
del robot y un punto inicial de la trayectoria sea mayor, la
respuesta transitoria será más pronunciada.
-El incremento de la velocidad de recorrido requiere una
reducción de los tiempos de asentamiento, sin embargo, al
no modificar los parámetros del PID principalmente los Kd
y Kp que están relacionados con los tiempos de corrección
del controlador, la trayectoria real mostrará diferencias con
respecto a la deseada incrementándose éstas a medida que la
velocidad aumente (fig.30 y fig.31). Luego de modificar los
Kd y Kp, se observó que, el Kp depende directamente con el
cuadrado de la velocidad de recorrido y el Kd de manera
proporcional. Los resultados de modificar los parámetros de
acuerdo a esta ley se observan en la fig. 32.
-Si bien el sistema controlado con desacople de la matriz H,
C y G queda aliviado de toda la dinámica acoplada de los
eslabones y sus principales propiedades físicas normales, el
torque de control queda directamente proporcional a los
valores de aceleraciones angulares en cada junta, las cuales
se incrementarán al incrementarse la velocidad de recorrido
especificada por el usuario. Esto se puede observar en la fig.
33 donde los torques de control se hacen mayores a medida
que la velocidad crece.
REFERENCES
[1] Ing. César Anchayhua Aréstegui.
Apuntes de clases: Análisis y control de robots
Universidad Nacional de Ingeniería,
Facultad de Ingeniería Mecánica,
Escuela profesional de Ingeniería Mecatrónica.
Lima - Perú 2010
[2] A. Barrientos, L. F. Peñin, C. Balaguer, R. Aracil
Fundamentos de robótica, Mc Graw Hill, 2004
[3] John J. Craig
Introduction to robotics mechanics and control
Addison-Wesley Publishing Company, 1989
[4] Schilling, J. Robert. , Fundamentals of Robotics.
Estados Unidos: Prentice-Hall, Inc. (1990).
[5] “Introduction to Robotics” (2006), H. Harry Asada.
Massachussets Institute of Technology.
[6] Katsuhiko Ogata, “Ingeniería de Control Moderna”,
Pearson, 2003, 4ta edición
[7] Ahmed A. Shabana, “Computational Dynamics”,
Editorial John Wiley& Sons.