Control dinámico de un manipulador robótico cartesiano de 3 GDL
CONTROL DE UN MANIPULADOR ROBOTICO CARTESIANO DE TRES GRADOS DE LIBERTAD CONTROL OF A CARTESIAN ROBOTIC MANIPULATOR OF THREE DEGREES OF FREEDOM Guillermo Joo
[email protected]
Paul Milián
[email protected]
Luis Ricce
[email protected]
Edward Martínez
[email protected]
UNIVERSIDAD NACIONAL DE INGENIERÍA - INGENIERÍA MECATRÓNICA JULIO 2009. LIMA – PERÚ RESUMEN En este trabajo presentamos una aplicación eficiente del control de un robot de tipo Cartesiano de 3 grados de libertad el control estudiado es un control PID, por Torque Computado, el que hace uso del modelo dinámico del robot para poder hacer el seguimiento de trayectorias mediante simulación con el software MATLAB y Simulink. Palabras clave: Control de robots, Torque computado. ABSTRACT We present an efficient implementation of the control of a Cartesian robot with 3 degrees of freedom the studied control is a PID control for Computed Torque, which uses the dynamical model of the robot to be able to trace paths through the simulation with MATLAB and Simulink software. Keywords: Robot control, Computed torque. INTRODUCCION
posición de salida, así como coordenadas articulares deseadas y las coordenadas articulares de salida.
Los robots, eje primordial de la automatización moderna y autónoma son motivo de múltiples estudios e investigaciones en la rama de la ingeniería y otras áreas multidisciplinarias. Un robot manipulador debe ser capaz de operar y manejar cierto tipo de piezas con un grado alto de precisión y exactitud de acuerdo a la función para la cual fue creado y programado. Uno de los principales problemas en el control de robots manipuladores es el lograr que el efector final llegue a una posición deseada. Para la mayoría de las metodologías de control, es necesario conocer el modelo dinámico del robot para realizar el diseño del controlador. En éste trabajo se desarrolla el proceso de modelado de un robot manipulador, teniendo por objeto de estudio el robot cartesiano de 3 grados de libertad. El modelado cinemático directo se realiza por medio del algoritmo de Denavit- Hartenberg, el modelo cinemático inverso se obtiene directamente y el modelo dinámico se obtiene usando la dinámica de Lagrange. Los resultados muestran que se obtiene un modelo dinámico que presenta un comportamiento muy cercano al comportamiento deseado. Se presenta las graficas de la posición deseada y la
FORMULACIÓN DEL MODELO CINEMÁTICO Y DINÁMICO MODELO DEL ROBOT
Procedemos a ubicar los ejes del Denavit-Hartenber:
Control dinámico de un manipulador robótico cartesiano de 3 GDL
DINAMICA DE LAGRANGE MANIPULADOR ROBOTICO
PARA
EL
Cálculo de la Matriz H: Procederemos a calcular la dinámica del robot usando los métodos de las diapositivas del curso. Considerando los momentos de inercia I1, I2 e I3.
Con esto y reemplazando los jacobianos hallados calculamos la matriz H:
EFECTO DE LA GRAVEDAD
Esquema total de Control por Torque computado:
Cálculo de la Matriz C:
Esquema Simulink del Trabajo realizado Scope MATLAB Function C Dir Pend
XYZmedido
To Workspace
cos(5*(u))
MATLAB Function
XYZdeseado
To Workspace 1
MATLAB Function
xr
-K-
qd sin(5*u) yr
MATLAB Function
qº
H
3-D scope
Pref
Gain
G ERR
Scope 1
ROBOT
Cine Inv H
u Zr
q
MATLAB Function
e
I Jaco
de
G
taur1
q
tau
q
0.2233 Clock
dq
InvJ dq
dq Control PID
xdp
-5*sin(5*u) xr1
C
qdd
Display
thetadp
ddq
dERR MATLAB Function C
5*cos(5*u) yr1
1 Zr1
Control dinámico de un manipulador robótico cartesiano de 3 GDL
LEY DE CONTROL POR TORQUE COMPUTADO
1
K*u
e
Kp1 1 s
K*u Ki 1
w z
Integrator 1
p
dotprod 1 2 de
K*u w
Kd1
z p
dotprod 2 H
w z
MATLAB Function
p
emux
dotprod 3
G
3
MATLAB Function
q C MATLAB Function 4
Motor Drive
dq Speed Controller Torque *
N
VECT
Bloque Eléctrico + Dinámica del Robot
Torque * N*
1 SP
Three -phase diode rectifier 1
A
+
3 Ctrl
Ctrl
V L+
Meas . V +
-
C
I_abc
B
B 3
teta
gates
gates g m
Braking chopper
A 2
Mux
V L-
2 Conv.
Tm 2
g + A
A
B V -
-
C
Ta
I_abc
Tb Tc
m
B
Mta
C
Three -phase Inverter
1 Motor
C
Mtb
Permanent Magnet Synchronous Machine
Mtc
Measures
Bloque de Control de Velocidad (Speed Controller) Este bloque tiene como entrada a la Señal del controlador, se puede notar entonces, que las salidas deben ser la matriz q y dq
N* 2
[0] ki
Ts (z+1) 2(z-1)
-C-
Integral gain 1 N
num (z) -Krad2rpm
den(z) Low pass filter
Ctrl sat .
kp Proportional gain
Torque reference (Nm)
-C-
Error
0 -C-
Reference
Bloque que representa el motor Brusshless a (Permanent Magnet Synchronus controlar Machine)
Bloque: Motor Driver + Robot
4 Wm
Tm
Control dinámico de un manipulador robótico cartesiano de 3 GDL
ASM 1 Nh
Nm
1 C
A
powersysdomain
Nl
3
Nrdl
Tl Tl
Shaft
Nm Tl
1 Th Th
Reduction device
Nrdh
2 Nl
Nl
High -speed shaft
2 Tl
Shaft
Low -speed shaft
2 B
Eje de Alta velocidad
[tp122665 ]
i
v
tp122664
From we
m
the
Te
K Ts
1 Nm
Goto
-K-
1 Tl
Ksh
z-1
rpm 2rad
Stiffness
2 Nl
Bsh Damping
Source m_e Out1 m_m
1
Measurement list
m
Dispositivo de reducción
Tm we Tm
2 Th
1
1/Jrdh
K Ts -K-
z-1
2 Nrdh
rad2rpm _1
the 1 Tl
Te
1/eff
1/i
PMSM _mechanics
DQ-ABC
te2iq -K-
3 I_abc
Current
Iq * 0
2 teta
-K-
MOTORES BRUSHLESS
Bloque Control Vectorial ( VECT )
1 Torque *
1/i
rad2rpm _2
m
Iabc *
Id *
Iabc *
Teta
-K Gain 1 1/z
Iabc
Measurement T3 Selección de los parámetros medidos del motor que serán utilizados para controlar el Robot
1 motor
1 N2
Iabc _2
Los motores brushless han derivado de los motores de los CD ROM, los DISCOS RIGIDOS y los ventiladores de computación, son motores trifásicos de alto rendimiento y bajo peso. Básicamente, hay dos tipos de motores brushless, los inrunner y los outrunner. Los primeros son de más velocidad, su torque máximo lo tienen a muy altas revoluciones, por lo que se usan con reductoras o con ducted funs. Los outrunner tienen su torque máximo a baja velocidad, por lo que no necesitan reductoras, van directamente a la hélice. Lo que gira en los outrunner es la parte exterior, donde están pegados los imanes, quedando en su interior los bobinados fijos, que suelen ser de alambre de cobre grueso, pocas vueltas por bobina, todo muy sólido.
N_Nref _2
CONTROL DEL MOTOR DE F.E.M. SENOIDAL
-K -
<Electromagnetic torque Te (N* m)>
T_Tref _2
3 ctrl
0 2 conv
Terminator
<signal>
Multimeter
Bloque Reductor de Velocidad
Vab_2
Los motores de f.e.m. senoidal han de ser alimentados con un sistema de tensiones e intensidades también senoidales, y sincronizadas en todo momento con la f.e.m. inducida. El control de estos motores es complejo y se recurre a técnicas similares a las empleadas en los motores asíncronos, incluidas las técnicas de control vectorial.
1 Nrdl
Control dinámico de un manipulador robótico cartesiano de 3 GDL
Robot Measurements Motor Drive 1 Measurements T 1
T1 Torque (N.m)
T2
Vab (v )
Vab_1 T3
Iabc (A)
Iabc _1 alfa 1
T_Tref _1
Alfa (rad/s/s)
alfa 2
N_Nref _1
alfa 3
T & Tref (N .m) N & Nref (rpm)
Motor Drive 2 Measurement T 2
w1 w (rad/s)
w2
Vab_2
w3
Iabc _2 theta 1 Teta (rad)
theta 2
T_Tref _2
theta 3
[inertias ]
N_Nref _2
Vab (v ) Iabc (A) Iabc (A) T & Tref (N .m) T & Tref (N.m) N & Nref (rpm) N & Nref (rpm)
Motor Drive 2 Measurement T 1
Iabc _3 T_Tref _3 Rectifier T 1 N_Nref _3 0
Vab (v )
Inertias(kg.m.m)
Vab_3
Rectifier voltages of Drive T
Para el control del robot para seguimiento de trayectorias es necesario como paso previo conocer el modelo cinemático y dinámico del robot, así como de sus parámetros físicos.
Vab (v ) Vab (v ) Iabc (A) Iabc (A) T & Tref (N .m) T & Tref (N.m) N & Nref (rpm)
A través del presente trabajo se puede comprobar que con un control basado en Torque computado la trayectoria ejecutada por el robot se asemeja mucho a la trayectoria deseada, el error deseado influye mucho en la complejidad de calculo computacional. Siempre un control por torque computado es mejor que un control PID simple, ya que el torque computado compensa la gravedad, coriolis e inercias que se presentan en el robot.
N & Nref (rpm)
1
Multimeter
RESULTADOS OBTENIDO A PARTIR DE LA SIMULACION REALIZADA
. Para objetivos didácticos se escogió una trayectoria circular para poder observar en toda la magnitud el desplazamiento en los 3 ejes con que cuenta dicho manipulador. Se comprueba mediante las simulaciones hechas tanto en Simulink, MATLAB que el manipulador robótico sigue la trayectoria que se espera. REFERENCIAS [1] Apuntes de clases: Análisis y control de robots Ing. César Anchayhua Aréstegui. Universidad Nacional de Ingeniería, Facultad de Ingeniería Mecánica, Escuela profesional de Ingeniería Mecatrónica. Lima - Perú 2009 [2] Fundamentos de robótica A. Barrientos, L. F. Peñin, C. Balaguer, R. Aracil Mc Graw Hill, 1997 [3] Introduction to robotics mechanics and control John J. Craig Addison-Wesley Publishing Company, 1989 [4] Fundamentals of Robotics. Schilling, J. Robert. (1990). Estados Unidos: Prentice-Hall, Inc.
CONCLUSIONES
Notamos que para un modelamiento dinámico a partir de las ecuaciones de LaGrange es necesario aplicar un determinado control cuyas restricciones, variantes y aplicaciones tiene múltiples aplicaciones.
[5] “Modeling identification and control of robots”. W. Khalil, E. Dombre. Hermes Penton Science. 2002. [6] Diseño y construcción de un brazo manipulador de tres grados de libertad. Cortés Gómez Celina. (2001). México: Universidad Anáhuac del Sur. [7] http://www.disa.bi.ehu.es/spanish/asignaturas/17219/ pra
Control dinámico de un manipulador robótico cartesiano de 3 GDL
ctica_02_07-08.pdf [8] http://redalyc.uaemex.mx/redalyc/pdf/944/94403002. pd f [9] http://www.eecs.harvard.edu/ssr/publications/index.h tml #prog [10] http://www.disam.upm.es/~barrientos/Doctorado/ind ex_ r_inteligentes.html [11] http://robocup.informatik.tudarmstadt. de/humanoid/publications.en.php [12] http://www.todomicrostamp.com/gp_buscador.php?b us car=brazo%20robotico&grupobusca=movil [13] http://www.control.lth.se/research/robot.html