“modelado y control por torque computado de un robot serial de 3 gdl utilizando algoritmos de...
Post on 27-Jul-2015
2.498 Views
Preview:
DESCRIPTION
TRANSCRIPT
“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
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.
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).
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.
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.
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
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.
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: jochoae@uni.pe
top related