Sie sind auf Seite 1von 13

0

Análisis de controladores para un Robot de 4GDL


Miyagusuku Rı́os, Renato - Villalta Ramirez, Oscar Alfonso y Paredes Merino, Jorge Salvador

Abstract
El presente trabajo muestra el diseño de controladores para un brazo robótico de 4 grados de libertad. En el presente trabajo
se desarrolla un análisis de 3 tipos de controladores, controladores clásicos tipo PID, controladores por Torque Computado los
cuales son optimizados empleando Algoritmos Genéticos y finalemente un controlador Neuro Fuzzy.

Index Terms
Controladores, PID, Torque Computado, Algoritmos Genéticos, Redes neuronales y Fuzzy

C ONTENTS

I Introducción 1

II Modelo del Robot 1

III Controladores 2
III-A PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
III-B Control por Torque Computado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
III-C Control por Torque Computado empleando AG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
III-D Neuro Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

IV Simulación 3

V Resultados 3
V-A Control por Torque Computado con sintonización manual . . . . . . . . . . . . . . . . . . . . . . . . . 4
V-B Control por Torque Computado usando AG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
V-C Control usando Neuro Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

VI Observaciones 5

VII Conclusiones 6

VIII Recomendaciones 6

References 7

Appendix A: Planos 7

Appendix B: Pruebas adicionales y Sintonización usando AG 8


B-A P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
B-B PI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
B-C PD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1

I. I NTRODUCCI ÓN

E L desarrollo tecnológico de los robots y su creciente uso


en trabajos que requieren de gran precisión y velocidad
requieren han fomentado el rápido desarrollo de algoritmos
de control que puedan satisfacer dichas condiciones, por tal
razón el diseño de robots toma como herramientas técnicas
de Inteligencia Artificial tales como Algoritmos Genéticos,
Redes neuronales (Neural networks) y lógica difusa para
complementer los algoritmos ya existenetes.

II. M ODELO DEL ROBOT


Para realizar el control se ha escogido un robot de 4GDL: 3
rotacionales y 1 prismático. Para todas las medidas y cálculos
se usó el Sistema Internacional de Unidades.

Fig. 2. Diseño del Robot

Fig. 1. Robot de 4GDL


Fig. 3. Posición Inicial y Ejes en cada junta

Para el diseño del robot se realizó un modelo utilizando


CAD1 el cual puede observarse en la figura 2. Todas las piezas
fueron diseñandas en Solidworks y los planos pueden verse en
el Apéndice A.
El cálculo de la dinámica se realizó usando el método de
Lagrange-Euler, el cual es ampliamente discutido en [2] y [3],
con la ayuda del software Maple13 y Matlab2009 para obtener
la dinámica del robot que puede ser expresada de la siguiente
forma:

τ = H q̈ + C + G (1)
Donde H es la matriz de inercia, C la matriz de Coriolis y
G la matriz de Gravedad.
Los parámetros fisicos del robot como distancias centros de
masa e inercias fueron escogidos según los datos obtenidos
en el programa SolidWorks y replanteados para un manejo
más sencillo. Tambien es posible utilizar distintos toolbox de
matlab como el Robotics Toolbox [6] o metodos iterativos para
su cálculo como los descritos en [5]. Se realizó un modelo en
Simulink para la simulación de la dinámica de nuestro robot,
la cual se puede aprecira en la figura 4
Fig. 4. Dinámica del manipulador de 4GDL
1 Computer Asisted Design
2

III. C ONTROLADORES
Como fue mencionado anteriormente se realizará el análisis
de 3 algoritmos de control un PID, un Control por Torque
Computado y un control con NeuroFuzzy.

A. PID
Los controladores PID (Proporcional Integral Derivativo)
son controladores que tienen una altta performance en sistemas Fig. 6. Torque Computado
lineales o en sistemas no lineales en un determinado punto de
operación, inicialmente se planteó el uso de controladores de
este tipo dada su simplicidad. C. Control por Torque Computado empleando AG
2
Para una sintonización PID usando algoritmos genéticos
los valores de Kp, Ki y Kd van variando aleatoriamente
encontrando en cada generación el mejor valor y reduciendo
el rango de búsqueda. Para realizar la busqueda se basan en
principios evolutivos como la supervivencia del más apto, la
reproduccion sexual y la mutación, estos principios fueron
plantedos por John Henry Holland en 1975 [1].

D. Neuro Fuzzy
La logica difusa (Fuzzy Logic) es una herramienta de la
inteligencia artificial que puede ser empleada para el control
de robots. Para la optimización de ls reglas fuzzy pueden
emplearse diversas tecnicas, entre las que están la optimización
mediante algoritmos genéticos y el uso de redes neuronales, en
Fig. 5. Controlador PID
nuestro caso emplearemos la última, haciendo uso del toolbox
Un controlador PID es un mecanismo de control por real- de fuzzy de matlab[7].
imentación que corrige el error entre la salida deseada y la El esquema del controlador neuro fuzzy es el mostrado en
obtenida por la planta, su ley de control es la siguiente: la figura 7.

Z t
de(t)
τ (t) = Kp ∗ e(t) + Ki ∗ e(t)dt + Kd (2)
dt
Existen diversos métodos para el cálculo de las ganancias
Kp, Ki, Kd. Puede usarse un diseño mediante LGR (Lu-
gar geométrico de las raices) descrito en [4] o métodos de
sintonización como Ziegler-Nichols, Gallier-Otto o Graham
Lathrop.

B. Control por Torque Computado


El controlador por torque computado con linealización
utiliza un controlador PID o PD el cual es multimplicado
por la matriz de Inercia adicionalmente se estiman los torques
generados por la Gravedad y Coriolis los cuales son agregados,
esto alivia bastante al controlador PID, la ley de control serı́a
la siguiente:

τc ontrol = H ∗ u1(t) + G + C (3) Fig. 7. Neuro Fuzzy

De 1 y 3 tenemos: Para el entranamiento con el anfis de matlab fue enecesario


tomar data, esta data fue obtenida de las simulaciones, pero
H q̈ + C + G = H ∗ u(t) + G + C (4)
también puede obtenerse de data real de manipuladores insta-
lados en la fabricas o laboratorios, por lo que su fidelidad es
u(t) = q̈ (5) mucho mayor que los otros métodos. Parte de la data empleada
para el entrenamiento se muestra en la figura
El esquema del controlador serı́a el mostrado en la figura
6. 2 AG: Algoritmos Genéticos
3

Una vez obtenida la data se elige el tipo de entrenamiento controlador por torque computado, el diagrama del controlador
y se procede a entrenar, este proceso puede resultar algo largo neuro fuzzy es similar pero el bloque PID es reemplazado por
y depende mucho del tipo de entrenamiento y el numero de el controlador Neuro Fuzzy mostrado en la figura 12.
neuronas elegidas. La evolución del entrenamiento es mostrada
en la figura 8.

Fig. 10. Control PID

Fig. 8. Entrenamiento del controlador

Finalmente es conveniete realizar una verificación dl con-


trolador, esto puede realizarse desde el mismo toolbox con la
opcion Test FIS. La figura 9 nos muestra dicha validación,
en color azul se encunetra la data ingresada y en rojo la data
obtenida mediante el controlador. Fig. 11. Control por Torque Computado

Fig. 12. Controlador Neuro Fuzzy


Fig. 9. Verificación de la data

V. R ESULTADOS
IV. S IMULACI ÓN El controlador PID mostró resultado muy pobres, al realizar
Para la simulación se desarrollaron modelos en simulink cambios en las referencias o trayectorias complejas la no
para los diversos controladores. La figura 10 nos muestra el linealidad de la planta era muy grande y el controlador fallaba
diagrama del controlador PID, la figura 11 el diagrama del no lograndose un control adecuado.
4

En el control por torque compuado se obtubieron resultados


mucho mejores, se podia realizar distintas trayectorias sin
mayores problemas con excepción de la sintonización del PID,
la cual era algo tediosa, esto se solucionó mediante el uso de
algoritmos genéticos.
El control empleando Neuro Fuzzy tambien obtuvo buenos
resultados y el costo computacional para su entrenamiento fue
menor a la sintonización genética.
Para el análisis de los controladores se usó la siguiente
trayectoria: X = xr+0.5*sin(u/2)
Y = yr+0.5*sin(u/2)
Z = zr+0.5*u/10
Siendo [xr, yr, zr] el vector de la posición inicial del robot Fig. 14. Errores usando sintonizacion manual
con un q respectivo de [0 0.5 0 0 0.1]

A. Control por Torque Computado con sintonización manual


Se realizó una sintonización manual, obteniendose los sigu-
intes valores para las ganancias: Kp = diag([100 100 100 10]);
Ki = diag([1 1 0.01 0.01]); Kd = diag([0.1 0.1 0.5 0.1]);
Los resultados de la simulación pueden observarse en la
figura 13. Además las figura 14 muestra los errores y la figura
15 los torques de control necesarios.

Fig. 15. Torques usando sintonizacion manual

Fig. 13. Resultados de la sintonización manual


Fig. 16. Resultados de la sintonización genética

B. Control por Torque Computado usando AG


Usando algoritmos genéticos se obtuvieron las siquientes
ganancias: Kp = diag([138 78 79.1 15.4]); Ki = diag([12.2
1.79 0.309 0.496]); Kd = diag([0.269 0.499 0.979 0.119]);
La evolución de los valores usando algoritmos genéticos se
ve en el Anexo B y los resultados de las simulaciones en las
figuras 16,17 y 18

C. Control usando Neuro Fuzzy


Despùs de realizado el entrenamiento usando el tool anfis
de matlab se obtuvieron las reglas para los controladores fuzzy
tal como se observan en la figura 19. Fig. 17. Errores usando sintonizacion genética
5

Fig. 18. Torques usando sintonizacion genética

Fig. 21. Errores usndo el Controlador Neuro Fuzzy

Fig. 19. Rglas Fuzzy


Fig. 22. Torques usando el Controlador Neuro Fuzzy

Los resultados de las simulaciones en las figuras 20,21 y


22 buen indicador del adecuado modelamiento dinámico,
sin embargo a veces es necesario escalar las masas para
obtenerse valores calculables en la matriz de Coriolis. De
no disminuir las masas el lazo del Simulink no convergerá
a ningún resultado y no simulará lo requerido, esto debido
a que la matriz de Coriolis calcula respecto de valores
grandes de error de velocidad, y si la dinámica no posee
viscosidad ni parámetros de fricción la velocidad no se
ve de ninguna forma restringida o limitada.
• Se observa que al realizar trayectorias circulares alrededor
del eje 0 de la base, o cualquier trayectoria que exija que
el sistema 1 rote a cerca de 180o , se dan saltos bruscos en
la posición y en la búsqueda de la cinemática inversa. Se
estima que esto se deba al error calculado para encontrar
ese ángulo usando la cinemática inversa. Dado que al
acercarse al valor de 180 el programa calculará según el
error que existe y la cinemática inversa los valores de
velocidad angular que necesita cada junta, al acercarse a
180 la cinemática puede calcular los valores del ángulo
Fig. 20. Resultados del Controlador Neuro Fuzzy
o posición de Z1 como (180o ) ó (- 180o ) con lo cual (y
estando muy cerca de 180o ) el valor del error bien puede
ser cercano a 0 (180o - 180o ) o bien a 360 (180o - (-
VI. O BSERVACIONES 180o )), lo que darı́a al robot una velocidad en sentido
• Una forma para verificar la dinámica del robot es quitar contrario proporcional al error encontrado. Para corregir
la actuación de torques, es decir la caı́da por efecto de esto se puede hacer una modificación en el programa de
la gravedad. Si se observa dicha caida del robot es un modo que tome el resultado con el menor error, es decir,
6

si se encuentra en 179o y la cinemática inversa calcula • Para el diseño se debe tener en cuenta los materiales
180o y -180o , luego los posibles valores de error son 1o usados para cada eslabón de modo que la relación de
y 359o , con lo cual decidirá que trayectoria y que nuevas uno anterior con respecto al siguiente debe ser siempre
velocidades tomar. Al escoger el menor error se asegura mayor, asegurando que no se sobrecarguen las juntas
que siga la trayectoria más corta hacia el siguiente punto. para manipulación de torques. Colocando las masas en
Para visualizar esto probar una trayectoria circular en el la relación adecuada se alivian también algunos valores
programa. de inercia de uno respecto a otro y el efecto que este
• Para algunos casos las sintonizaciones usando algoritmos produce.
genéticos se han encontrado resultados menos satisfac- • Conforme se fue cambiando las trayectorias se sintoniz-
torios a comparación con la sintonización a mano. La aba con genéticos y fue mejorando el seguimiento. Las
explicación viene dada por los valores iniciales de ganan- gráficas de error en cada caso van mejorando el grado
cia con los cuales se inicia la iteración, la cantidad de de precisión del robot, haciendo que la ruta seguida sea
generaciones y la cantidad de población que combinados casi perfecta. El hecho de usar controles P PD PI y PID
mejoran o empeoran los resultados de mı́nimo error. Esta afecta en la rapidez con que se establece la trayectoria
solicitud de mejora demanda más tiempo y procesamiento y las zonas en que lo hace. Cuando se le agrega Kd
por lo que no se presentan esos resultados. el seguimiento se hace más suave. Al agregarse Ki el
• Para la sintonización mediante algoritmos genéticos del seguimiento llega a corregir los mı́nimos errores en la
control PD se debe tener en cuenta la sensibilidad la mayor parte de la trayectoria. La ganancia integral le
respuesta del sistema con respecto a la ganancia Kd. Los agrega un pequeño impulso que le permite corregir la
algoritmos genéticos prueban en un rango muy grande trayectoria, la ganancia derivativa ralentiza la llegada
con un salto muy alto entre uno y otro valor, pero si se que con la ganancia proporcional obtuvo, con lo que
modifica el paso serı́a muy pequeño para los valores de le permite corregir más rápidamente o en todo caso no
Kp. Para mejorar esta situación se agrega una ganancia extremar el error.
de 1/100 a la salida del Kd, con lo cual puede obtenerse • Se ha visto que el mejor resultado se ha conseguido us-
valores en el rango de Kp y los algoritmos genéticos ando Control PID sintonizado con algoritmos genéticos.
encuentran más fácilmente el conjunto. • Se ha verificado que los resultados se obtienen más
satisfactorios con un buen entrenamiento en algoritmos
VII. C ONCLUSIONES genéticos; el error se suaviza en casi todo el recorrido de
• El sistema no puede ser controlado de forma sencilla dado la trayectoria, y vibra o varia en posiciones extremas; los
que la dinámica no lo permite, principalmente porque torques se aminoran, permitiendo un ahorro de energı́a
la matriz de inercias se encuentra bastante acoplada, en los actuadores; en general la trayectoria es seguida de
resultando no ser de diagonal dominante, lo cual nos forma eficaz.
indica que el efecto de un eslabón afecta a los otros. • El controladorusando Neuro Fuzzy probó ser efectivo
Si se intenta controlar uno de los eslabones este traerá y dado que puede ser entrenado con parámetros reales
efectos negativos o positivos en sus eslabones aledaños, ofrece una mayor fidelidad. Adicionalmente el tiempo de
pero también en los otros dependiendo de cual se haya entrenamiento resultó ser aún menor que el necesario para
movido. No pudiendo eliminar el acoplamiento de los los algoritmos genéticos, lo cual es una gran ventaja para
eslabones 2 a 2 con ningún método sencillo conocido se sistemas complejos como los robots de más de 3GDL
pasó a agregar la matriz de compensación de inercias “H”. como el analizado.
Otro factor que impide el control simple de lazo cerrado • En base al análisis realizado concluimos que el uso de
es la influencia de las masas y las inercias en la matriz de algoritmos de inteligencia artificial como los algoritmos
Coriolis, dado que éstas permitirán y/o ayudarán al ma- genéticos, las redes neuronales y la lógica difusa mejora
nipulador a caer más rápidamente sin presencia de torques notablemente el desempeño de los controladores y su uso
de control, generando grandes variaciones de posición en es ampliamente recomendado.
corto tiempo, determinando ası́ altas velocidades y un
comportamiento errático del manipulador. La estimación
VIII. R ECOMENDACIONES
de la matriz de Gravedad se realizó para aliviar el control
PID de la vibración generada producto de los cambios • Se recomienda usar sintonización de valores de ganancia
de configuración de la estructura y el constante cambio usando algoritmos genéticos para tal efecto. Este proceso
en los torques ejercidos por la masa de los propios ha sido verificado a lo largo del informe y ofrece buenos
eslabones. El sistema controlado queda aliviado de toda la resultados, con opción a mejora con cada iteración.
dinámica del acoplada de los eslabones y sus principales • Tener en cuenta la relación masa longitud de cada
propiedades fı́sicas normales, con lo cual el torque de elemento-eslabón para no exigir demasiado torque a
control queda directamente proporcional a los valores de los eslabones base. Con esto también se modifican las
aceleraciones angulares en cada junta (a excepción de la matrices de inercia y de Coriolis, por lo tanto hay que
ultima prismática, en cuyo caso seria aceleración lineal) tener cuidado con los cambios que se piensen realizar.
y pudiéndose variar ya los valores de Kp, Ki y Kd y de • En el caso de este robot, la matriz de Coriolis crece
las trayectorias con mayor libertad. demasiado al no tener entrada de torque por la velocidad
7

de caı́da como ya se explicó en un apartado anterior, por A PPENDIX A


este motivo, si se requiere simular la caı́da sin torques P LANOS
de actuación, se recomienda dividir las masas entre diez,
exceptuando el último efector, dado que de quitarle la
masa el peso será insuficiente para generar algún efecto.
• Usar software adecuado para verificar que los datos y
parámetros obtenidos sean de confianza. Algunas buenas
referencias son: MatLab, Simulink, Maple, Solidworks,
entre otros.
• Trabajar en un Sistema de Unidades homogéneo en todo
cálculo. Para nuestro caso, por ejemplo, se usó el SI para
realizar todo cálculo: [m, kg.m2, rad, kg.m/s2].

R EFERENCES
[1] John H. Holland, “Adaptation in Natural and Artificial Systems”, 1975
[2] Barrientos, Peñin, Balaguer, Aracil. “Fundamentos de Robótica”, Ed
McGraw-Hill, 1977
[3] Craig, John J, “Robótica”, Ed. Pearson Education, 2006
[4] Katsuhiko Ogata, “Ingenierı́a de Control Moderna”, Pearson, 2003, 4ta
edición
[5] Ahmed A. Shabana, “Computational Dynamics”, Editorial John Wiley
& Sons.
[6] Mathworks, “Robotics Toolbox de Matlab” Fig. 23. Planos de la Base del robot. Eslabon 0
[7] Mathworks, “Fuzzy Logic Toolbox de Matlab”

Fig. 24. Planos del eslabon con junta rotacional. Eslabon 1


8

Fig. 25. Planos del brazo de alcance, junta rotacional. Eslabon 2

Fig. 27. Planos del efector final extendible. Eslabon 4

Fig. 28. Estructura del Solido

Fig. 26. Planos del efector con junta rotacional. Eslabon 3

A PPENDIX B
P RUEBAS ADICIONALES Y S INTONIZACI ÓN USANDO AG
Se realizaron pruebas adicionales con controladores
P(Proporcional), PI(Proporcional Integral) y PD (Proporcional
Derivativo), cuyas leyes de control son:

τ = Kp ∗ e(t) (6)

Z t
τ = Kp ∗ e(t) + Ki e(t) (7)

de(t)
τ = Kp ∗ e(t) + Kd (8) Fig. 29. Vistas del Robot
dt
9

Manualmente los errores salı́an relativamente grandes, y


demandaba mucho esfuerzo probar varios valores, por lo cual
se ha considerado necesario usar un mecanismo que permita
sintonizar los valores de ganancia con los cuales los resultados
sean los requeridos. En este caso se han usado algoritmos
genéticos, con una población de 25 y 25 a 100 generaciones
según fuese necesario.

A. P
Usando algoritmos genéticos para optimizar el P (25 gen-
eraciones)y probado para la trayectoria 1 se obtuvo la ganancia
Kp = diag([87.9035 81.7222 64.2208 48.4494]) con un error
en el algoritmo genético de 1.266
La evolución de los valores usando algoritmos genéticos se
ve en la figura 30 y los resultados de las simulaciones en las
figuras 31,32 y 33
Para la trayectoria 2 se obtuvo la ganancia Kp =
diag([108.1198 54.190 56.9472 31.3429]) con un error en el
algoritmo genético de 1.205.
Los resultados de las simulaciones en las figuras 34,35 y
36

Fig. 31. P: Seguimiento de la Trayectoria 1

Fig. 30. P: Resultados de la sintonización genética

B. PI
Usando algoritmos genéticos para optimizar el PI (25 Fig. 32. P: Errores usando sintonizacion genética 1
generaciones)y probado para la trayectoria 1 se obtuvo la
ganancia Kp = diag([103.6215 66.4162 82.4860 48.5827]) y
Ki = diag([0.9781 0.7864 0.4957 0.1949]) con un error en el
algoritmo genético de 1.1053.
La evolución de los valores usando algoritmos genéticos se
ve en la figura 37 y los resultados de las simulaciones en las
figuras 38,39 y 40
Para la trayectoria 2 se obtuvo la ganancia Kp =
diag([65.2224 50.9227 50.0 30.1211]) Ki = diag([0.9913
0.6589 0.8772 0.6102]) con un error en el algoritmo genético
de 0.635.
Los resultados de las simulaciones en las figuras 41,42 y
43

C. PD
Usando algoritmos genéticos para optimizar el PD (25 Fig. 33. P: Torques usando sintonizacion genética 1
generaciones)y probado para la trayectoria 1 se obtuvo la
10

Fig. 34. P: Seguimiento de la Trayectoria 2


Fig. 36. P: Torques usando sintonizacion genética 2

Fig. 37. PI: Resultados de la sintonización genética

Fig. 35. P: Errores usando sintonizacion genética 2

ganancia Kp = diag([98.2534 99.2525 93.4563 10.0120]) Kd =


diag([0.1171 0.1055 0.4502 0.1557]) El error en el algoritmo
genético de 1.4021
Los resultados de las simulaciones en las figuras 44,45 y
46
Para la trayectoria 2 se obtuvo la ganancia Kp
= diag([103.8043 96.3893 98.3076 10.9613]) y Kd =
diag([2.0316 5.7324 4.2997 7.2180]) con un error en el
algoritmo genético de 0.635.
Los resultados de las simulaciones en las figuras 47,48 y
49

Fig. 38. PI: Seguimiento de la Trayectoria 1


11

Fig. 39. PI: Errores usando sintonizacion genética 1

Fig. 42. PI: Errores usando sintonizacion genética 2

Fig. 40. PI: Torques usando sintonizacion genética 1

Fig. 43. PI: Torques usando sintonizacion genética 2

Fig. 41. PI: Seguimiento de la Trayectoria 2


12

Fig. 47. PD: Seguimiento de la Trayectoria 2

Fig. 44. PD: Seguimiento de la Trayectoria 1

Fig. 48. PD: Errores usando sintonizacion genética 2


Fig. 45. PD: Errores usando sintonizacion genética 1

Fig. 46. PD: Torques usando sintonizacion genética 1 Fig. 49. PD: Torques usando sintonizacion genética 2

Das könnte Ihnen auch gefallen