8
MODELADO Y CONTROL POR TORQUE COMPUTADO DE UN ROBOT SERIAL DE 3 GDL UTILIZANDO ALGORITMOS DE EVOLUCIÓN DIFERENCIALAUTOR Ochoa Espinoza, Jhul César RESUMEN Uno de los principales problemas en el control de robots manipuladores es el lograr que el efector final siga una trayectoria deseada. Existen muchos textos que tratan sobre dicho control, sin embargo es poca la información detallada que existe sobre la implementación o simulación del mismo. En el presente trabajo se realiza el modelado geométrico y dinámico de un robot modelo SCORBOT. Luego se simula el control de seguimiento de trayectoria del robot por torque computado. Enseguida se afinan los parámetros mediante evolución diferencial. Finalmente se agregan motores DC al sistema modelado para acercar más la simulación a la realidad. El modelo dinámico es validado mediante la generación automática de un modelo del robot haciendo uso del software SimMechanics de Matlab. Los resultados muestran que la estrategia de control realizada tiene un desempeño aceptable debido a que sigue la trayectoria deseada de manera muy aproximada con niveles relativamente bajos de torque requeridos. Así como es posible observar el procedimiento completo a realizar para resolver este tipo de problemas. Palabras clave : Modelado dinámico, robot 3 GDL, torque computado, evolución diferencial, SimMechanics, motor DC, SCORBOT. ABSTRACT One of the main problems in robot manipulators control is to make the end effector to follow a desired trajectory. There are many texts dealing with such control, however there is little detailed information about the implementation or simulation thereof. In the present work the geometric and dynamic modeling of a SCORBOT robot. Then simulates the computed torque trajectory control. Then the parameters are tuned using differential evolution. Finally DC motors are added to the system to make the simulation closer to reallity. The dynamic model is validated through the automatic generation of robot model using Matlab SimMechanics software. The results show that the control strategy has made an acceptable performance because it follows the desired trajectory very rough with relatively low levels of torque required. Just as it is possible to observe the entire procedure to be done to solve this kind of problems. Key words : Dynamics modeling, 3 DOF robot, computed torque, differential evolution, SimMechanics, DC motor, SCORBOT. INTRODUCCION El control de robots manipuladores es un área madura dentro del control de sistemas dinámicos, sin embargo son pocos los documentos que nos muestran cómo desarrollar el mismo. En el presente documento se desarrolla el modelado cinemático y dinámico de los primeros tres grados de libertad (GDL) de un robot SCORBOT, y el control por torque

“MODELADO Y CONTROL POR TORQUE COMPUTADO DE UN ROBOT SERIAL DE 3 GDL UTILIZANDO ALGORITMOS DE EVOLUCIÓN DIFERENCIAL”

  • Upload
    jhulces

  • View
    2.495

  • Download
    5

Embed Size (px)

DESCRIPTION

En el presente documento se desarrolla el modelado cinemático y dinámico de los primeros tres grados de libertad (GDL) de un robot SCORBOT, y el control por torque computado del mismo. En primer lugar se presenta al robot con sus características estructurales. Enseguida se realizan el modelado geométrico y dinámico del robot. Luego se lleva a cabo el control por torque computado para una trayectoria determinada. Después se afinan los parámetros del controlador mediante evolución diferencial. Por último se añade al sistema motores para hacer “más real” la simulación y se muestran los resultados obtenidos junto a las conclusiones del presente trabajo.

Citation preview

Page 1: “MODELADO Y CONTROL POR TORQUE COMPUTADO DE UN ROBOT SERIAL DE 3 GDL UTILIZANDO ALGORITMOS DE EVOLUCIÓN DIFERENCIAL”

“MODELADO Y CONTROL POR TORQUE COMPUTADO DE UN ROBOT

SERIAL DE 3 GDL UTILIZANDO ALGORITMOS DE EVOLUCIÓN

DIFERENCIAL”

AUTOR

Ochoa Espinoza, Jhul César

RESUMEN

Uno de los principales problemas en el control de robots manipuladores es el lograr que el efector

final siga una trayectoria deseada. Existen muchos textos que tratan sobre dicho control, sin

embargo es poca la información detallada que existe sobre la implementación o simulación del

mismo.

En el presente trabajo se realiza el modelado geométrico y dinámico de un robot modelo

SCORBOT. Luego se simula el control de seguimiento de trayectoria del robot por torque

computado. Enseguida se afinan los parámetros mediante evolución diferencial. Finalmente se

agregan motores DC al sistema modelado para acercar más la simulación a la realidad.

El modelo dinámico es validado mediante la generación automática de un modelo del robot

haciendo uso del software SimMechanics de Matlab.

Los resultados muestran que la estrategia de control realizada tiene un desempeño aceptable

debido a que sigue la trayectoria deseada de manera muy aproximada con niveles relativamente

bajos de torque requeridos. Así como es posible observar el procedimiento completo a realizar para

resolver este tipo de problemas.

Palabras clave: Modelado dinámico, robot 3 GDL, torque computado, evolución diferencial,

SimMechanics, motor DC, SCORBOT.

ABSTRACT

One of the main problems in robot manipulators control is to make the end effector to follow a

desired trajectory. There are many texts dealing with such control, however there is little detailed

information about the implementation or simulation thereof.

In the present work the geometric and dynamic modeling of a SCORBOT robot. Then simulates

the computed torque trajectory control. Then the parameters are tuned using differential evolution.

Finally DC motors are added to the system to make the simulation closer to reallity.

The dynamic model is validated through the automatic generation of robot model using Matlab

SimMechanics software.

The results show that the control strategy has made an acceptable performance because it follows

the desired trajectory very rough with relatively low levels of torque required. Just as it is possible

to observe the entire procedure to be done to solve this kind of problems.

Key words: Dynamics modeling, 3 DOF robot, computed torque, differential evolution,

SimMechanics, DC motor, SCORBOT.

INTRODUCCION

El control de robots manipuladores es un área

madura dentro del control de sistemas

dinámicos, sin embargo son pocos los

documentos que nos muestran cómo desarrollar

el mismo. En el presente documento se

desarrolla el modelado cinemático y dinámico

de los primeros tres grados de libertad (GDL)

de un robot SCORBOT, y el control por torque

Page 2: “MODELADO Y CONTROL POR TORQUE COMPUTADO DE UN ROBOT SERIAL DE 3 GDL UTILIZANDO ALGORITMOS DE EVOLUCIÓN DIFERENCIAL”

computado del mismo. En primer lugar se

presenta al robot con sus características

estructurales. Enseguida se realizan el

modelado geométrico y dinámico del robot.

Luego se lleva a cabo el control por torque

computado para una trayectoria determinada.

Después se afinan los parámetros del

controlador mediante evolución diferencial. Por

último se añade al sistema motores para hacer

“más real” la simulación y se muestran los

resultados obtenidos junto a las conclusiones

del presente trabajo.

ROBOT SCORBOT DE 3GDL

El robot mostrado en la Fig.1. es un robot

modelo Scorbot de 3GDL, el modelo de este

robot fue realizado en SolidWorks, el robot ha

sido modelado enteramente en Alumino. En la

Fig.2. se tiene el modelo esquemático del robot.

Fig.1. Modelo CAD del SCORBOT 3GDL

Fig.2. Modelo esquemático del SCORBOT

El robot mostrado en la Fig.1. es un robot

modelo Scorbot de 3GDL, el modelo de este

robot fue realizado en SolidWorks, el robot ha

sido modelado enteramente en Alumino. En la

Fig.2. se tiene el modelo esquemático del robot.

Los parámetros estructurales del robot se

muestran a continuación:

Donde:

mi : Masa del i-ésimo eslabón.

li : Longitud del i-ésimo eslabón.

lci : Distancia del centro de giro al centro

de masa del i-ésimo eslabón.

Ixi : Momento de inercia con respecto al

centro de masa paralelo al eje x del i-

ésimo eslabón.

Iyi : Momento de inercia con respecto al

centro de masa paralelo eje y del i-

ésimo eslabón.

Izi : Momento de inercia con respecto al

centro de masa paralelo eje z del i-

ésimo eslabón.

Page 3: “MODELADO Y CONTROL POR TORQUE COMPUTADO DE UN ROBOT SERIAL DE 3 GDL UTILIZANDO ALGORITMOS DE EVOLUCIÓN DIFERENCIAL”

Los parámetros se obtuvieron haciendo uso del

modelo del robot en SolidWorks.

MODELO GEOMÉTRICO DIRECTO

Para desarrollar el modelo geométrico directo,

se sigue el algoritmo de Denavit-Hartenberg

(DH) [1] y se ubican los sistemas de

coordenadas como se muestra en la Fig.2.,

según la mencionada figura y el algoritmo DH

obtenemos los siguientes parámetros DH del

robot:

Eslabón i id ia i

1 1

1l 0 90°

2 2 0 2l 0

3 3 0 3l 0

Tabla 1. Parámetros DH del SCORBOT

Siguiendo el algoritmo de DH obtenemos la

geometría directa del robot:

(1)

(2)

(3)

Donde px, py y pz indican la posición del

extremo del tercer eslabón respecto al sistema

de coordenadas de referencia.

MODELO GEOMÉTRICO INVERSO

Las ecuaciones que conforman el modelo

geométrico inverso, se obtienen de las

relaciones geométricas existentes en la Fig.3.

1

Px

Py

x

y

r

0

a) Esquema superior

l3

l2

x-y

Z

r0

2

3

b

Pz

b) Esquema Lateral

Fig.3. Esquemas de relación entre las

coordenadas articulares y la posición final

(4)

(5)

(6)

MODELO DINÁMICO

El modelo dinámico del robot se obtiene

realizando el “Algoritmo Computacional para el

modelado dinámico por Lagrange-Euler” [1]

con el cual encontramos las matrices que

definen la dinámica del robot según:

(7)

Donde:

D : Matriz de inercia.

H : Matriz columna de fuerzas centrífugas

y Coriolis.

C : Matriz columna de fuerzas de

gravedad.

τ : Vector de fuerzas y pares efectivos

aplicados a las articulaciones.

q : Vector de posiciones angulares de las

articulaciones (θi).

qh : Vector de velocidades angulares de las

articulaciones (θhi).

qhh : Vector de aceleraciones angulares de

las articulaciones (θhhi).

Page 4: “MODELADO Y CONTROL POR TORQUE COMPUTADO DE UN ROBOT SERIAL DE 3 GDL UTILIZANDO ALGORITMOS DE EVOLUCIÓN DIFERENCIAL”

Los elementos de las matrices que definen la

dinámica del robot son:

(8)

(9)

(10)

(11)

(12)

(13)

(14)

(15)

(16)

(17)

(18)

MODELO DEL ROBOT EN SIMULINK

Haciendo uso del software Simulink de Matlab

realizamos dos modelos del robot, el primero

(Fig.4.) haciendo uso de las ecuaciones de la

dinámica obtenidas y otro haciendo uso del

software SimMechanics de Matlab (Fig.5.)

usamos el segundo modelo para poder realizar

simulación en 3D y para validar las ecuaciones

de la dinámica del robot obtenidas.

Fig.4. Modelo del robot usando las ecuaciones

de su dinámica.

Fig.5. Modelo del robot realizado usando

SimMechanics

Cabe resaltar que los bloques en celeste de la

Fig.5. fueron autogenerados al importar el

modelo CAD de SolidWorks a Simulink.

Se realizó la comparación de la respuesta,

ángulos de salida, de ambos modelos a entrada

nula. Como se puede observar en la Fig.6. la

evolución de los ángulos de los modelos

prácticamente se superponen.

Page 5: “MODELADO Y CONTROL POR TORQUE COMPUTADO DE UN ROBOT SERIAL DE 3 GDL UTILIZANDO ALGORITMOS DE EVOLUCIÓN DIFERENCIAL”

Fig.6. Validación del modelo.

CONTROL POR TORQUE COMPUTADO

Se realizó el control de trayectoria del robot por

torque computado mediante el método de

desacoplo cinemático [2], el cual se basa en la

ecuación (18), utilizando un controlador PD

(Fig.8.) para seguir la trayectoria definida por

las ecuaciones (19), (20) y (21) y que se

muestra en la Fig.7.

(18)

Se puede observar la similitud de la ecuación

(7) con la ecuación (18), en un caso el término

que acompaña a D es qhh y en el otro es u

respectivamente, por lo cual este tipo de control

lo que hace es incluir los efectos dinámicos del

robot para controlar directamente la aceleración

angular de las juntas, de modo que el sistema a

controlar se convierte en un sistema con doble

integrador, lo cual justifica el uso de un

controlador PD en vez de un PID.

(19)

(20)

(21)

Fig.7. Trayectoria Deseada.

Fig.8. Diagrama de bloques del control por

torque computado.

En la Fig.9. Se muestra la evolución del error

angular, en grados sexagesimales, para cada

una de las juntas.

Fig.9. Evolución del error angular en las

articulaciones.

Page 6: “MODELADO Y CONTROL POR TORQUE COMPUTADO DE UN ROBOT SERIAL DE 3 GDL UTILIZANDO ALGORITMOS DE EVOLUCIÓN DIFERENCIAL”

Fig.10. Evolución del torque aplicado a las

articulaciones.

Fig.11. Evolución de la velocidad angular en

las articulaciones.

AFINACIÓN DE PARÁMETROS DE

CONTROL USANDO ALGORITMOS DE

EVOLUCIÓN DIFERENCIAL

En primera instancia se sintonizó el controlador

PD de la Fig.8. de forma manual, a

continuación se emplearon algoritmos de

evolución diferencial (ED) [3] para afinar los

parámetros del controlador, haciendo uso de los

algoritmos desarrollados por estudiantes de la

Universidad de Berkeley [4].

El punto de partida para los parámetros fueron

los parámetros hallados manualmente, por lo

cual se definió un rango cercano a estos valores

para la población inicial:

Manual Rango

inicial Evolucionado

Kp1 300 [180 320] 450.8789

Kp2 300 [180 320] 333.5198

Kp3 300 [180 320] 420.3747

Td1 0.15 [0.13 0.17] 0.0132

Td2 0.15 [0.13 0.17] 0.0907

Td3 0.15 [0.13 0.17] 0.0788

Tabla 2. Parámetros PD

Para poder realizar la evolución diferencial se

precisó definir los siguientes parámetros:

Parámetro Valor

Número de individuos de la

población 30

Número máximo de

generaciones 100

Tamaño de paso 1

Probabilidad de crossover 0.8

Tabla 3. Parámetros para ED

En este caso la función objetivo para la

evolución fue el parámetro de performance

ITAE [5], y se eligió por razones de tiempo que

el criterio de parada del algoritmo sea el

número máximo de iteraciones, ya que estos

algoritmos pueden pasar horas enteras

evolucionando hasta encontrar el verdadero

valor óptimo de los parámetros del sistema.

En la Fig.12. se muestra la comparación entre

la evolución del error con los parámetros

originales del controlador y con los

evolucionados.

Fig.12. Evolución del error angular con los

parámetros PD originales (negro) y con los

parámetros obtenidos mediante ED (azul).

Se observa cierta mejoría en la evolución del

error, lo cual nos incita a presumir que al seguir

evolucionando los parámetros en el tiempo se

llega a optimizar el control.

CONTROL POR TORQUE COMPUTADO

INCLUYENDO ACTUADORES EN LAS

ARTICULACIONES

Page 7: “MODELADO Y CONTROL POR TORQUE COMPUTADO DE UN ROBOT SERIAL DE 3 GDL UTILIZANDO ALGORITMOS DE EVOLUCIÓN DIFERENCIAL”

De acuerdo a los requerimientos de potencia

del control se seleccionaron motores con las

características mostradas en la Tabla 4.

Art. Modelo Potencia

(W) Gearbox

1

PITTMAN

BRUSH DC

6212

2.7 100

2

PITTMAN

BRUSH DC

6214

9.5 100

3

PITTMAN

BRUSH DC

6212

2.7 100

Tabla 4. Características de los motores para las

articulaciones.

Según los parámetros de los motores brindados

por el fabricante [6] se construyó el modelo de

los motores (Fig.13.) despreciando los efectos

de viscosidad e inercia del motor por ser

despreciables respecto a las inercias del robot.

Fig.13. Modelo de los motores DC en simulink.

Acoplamos estos motores al robot y realizamos

control en cascada como se muestra en la Fig.

14. El controlador PD se encarga de hallar los

valores de aceleración angular deseados

respecto al error angular, y el controlador PI de

los voltajes necesarios para obtener los valores

del torque computado.

Los parámetros del PI se encontraron de

manera idéntica a los del PD, explicado

anteriormente.

Fig.14. Diagrama de bloques del control en

cascada.

Se observa los resultados obtenidos en las

figuras 15, 16 y 17

Fig.15. Evolución del error angular.

Fig.16. Evolución del error de Torque.

Fig.17. Evolución del voltaje requerido por los

motores.

Page 8: “MODELADO Y CONTROL POR TORQUE COMPUTADO DE UN ROBOT SERIAL DE 3 GDL UTILIZANDO ALGORITMOS DE EVOLUCIÓN DIFERENCIAL”

Fig.18. Evolución del Torque controlado.

Fig.19. Trayectoria deseada (negro) y

trayectoria controlada (azul).

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.

El control por torque computado nos permite

disminuir la no linealidad del robot al

permitirnos controlar directamente la

aceleración del robot.

Los algoritmos de evolución diferencial nos

permiten afinar los parámetros de los

controladores y así mejorar el desempeño de

los mismos, esto fue demostrado en el

presente trabajo aunque con limitaciones de

tiempo. Se presume que al completar el

proceso de evolución los parámetros

obtenidos serán efectivamente los óptimos.

El control en cascada es efectivamente el

tipo de control que se debe efectuar en caso

de que se desee implementar el controlador

del robot si se desea realizar el control por

torque computado.

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.

REFERENCIAS

[1] A. Barrientos, L. Peñín, C. Balaguer &

R. Aracil. “Fundamentos de Robótica” -

2da Edición. Mc GrawHill, España, 1999.

[2] M.A. Meggiolaro. “Controle de sistemas

dinámicos”. Departamento de Engenharia

Mecânica Pontificia Universidade

Católica – Rio de Janeiro, 2008.

[3] U.K. Chakraborty. “Advances in

differential evolution”. Springer, 2008.

[4] www.icsi.berkeley.edu/~storn/code.html

[5] K. Ogata. “Modern Control

Engineering” – 5ta Edición. Prentice

Hall, 2009.

[6] http://www.ametektip.com/

SOBRE EL AUTOR

Jhul César Ochoa Espinoza

Estudiante de Ingeniería Mecatrónica.

Universidad Nacional de Ingeniería – Perú.

Móvil: +511-997322055

E-mail: [email protected]