DESARROLLO Y CONTROL DE UN PÉNDULO DE FURUTA

Anuncio
DESARROLLO Y CONTROL DE UN PÉNDULO DE FURUTA
A. Valera, M. Vallés, M. Cardo
Dpto. Ingeniería de Sistemas y Automática
Universidad Politécnica de Valencia
Camino de Vera 14, 46022 Valencia (Spain)
E-mail: [email protected], [email protected], [email protected]
Resumen
Este trabajo presenta el desarrollo y control de un
péndulo de Furuta. Éste se trata de un sistema
subactuado de dos grados de libertad rotacionales.
El primer elemento (brazo) tiene un giro alrededor de
un eje perpendicular a la base, mientras que el
segundo elemento (péndulo) se encuentra colocado
en un extremo del brazo y su eje de giro es colineal al
eje axial del brazo, realizando un giro en un plano
perpendicular al brazo.
La ventaja del sistema desarrollado es doble, ya que
por una parte el péndulo se trata de un sistema
inestable, y en ocasiones es necesario disponer de
este tipo de sistemas para poder trabajar con
cuestiones avanzadas de control. La segunda ventaja
que tiene es que, por el material escogido, el coste de
desarrollo es muy económico, siendo muy
conveniente porque permitiría replicarlo en el caso
en el que fuera necesario (para un laboratorio
docente de robótica, por ejemplo)
Palabras Clave: péndulo invertido, aplicaciones
digitales por computador, control por computador,
robótica.
1
INTRODUCCIÓN
A la hora de establecer el control por computador de
procesos físicos se tienen que implementar unos
algoritmos de control que permitan que el sistema
pueda alcanzar una serie de especificaciones de
funcionamiento estáticas y dinámicas. Para ello
debemos tener en cuenta además las perturbaciones
inherentes a los sistemas reales como incertidumbres
en los parámetros o en la dinámica del modelo, ruidos
etc.
La existencia de las perturbaciones no sólo puede
complicar de forma considerable el control del
sistema, sino que además pueden incluso modificar
también la dinámica del sistema, como cuando se
tienen desgastes mecánicos o fallos de los actuadores.
La existencia de fallos en los actuadores representa
un problema muy interesante para la teoría de control
puesto que hace imposible tener un control directo en
los grados de libertad no actuados, de modo que el
control de estos se debe realizar (siempre que sea
posible) de forma indirecta por medio de los restantes
grados de libertad actuados.
De este modo podemos definir como sistema
subactuado como aquel sistema que carece de al
menos un actuador en uno de sus grados de libertad,
es decir, un sistema subactuado será aquel que posee
un número de grados de libertad mayor que de
actuadores [4].
La definición de sistema subactuado incluye no sólo
el fallo en los actuadores, sino también la ausencia de
los mismos provocada por consideraciones de diseño
del sistema físico, falta de espacio, exceso de peso,
por cuestiones de presupuesto etc.
Dentro de los sistemas subactuados, un ejemplo
comúnmente utilizado y ampliamente estudiado es el
sistema del péndulo invertido basado en un carro
móvil [2], [5]. Los péndulos se utilizaron inicialmente
como banco de pruebas para la aplicación de
conceptos de control lineal y no lineal como
estabilización de sistemas inestables [2], [3], control
con estructura variable [8], control de energía [1],
control por realimentación del estado [6], etc.
Sin embargo, los péndulos invertidos presentan el
inconveniente de que la carrera del carro se encuentra
acotada, lo que puede limitar las maniobras de
control. Para salvar esta limitación se generó una
modificación a dicho sistema el cual se suple la
carrera lineal del carro por una trayectoria circular
cerrada, creando así al denominado sistema Péndulo
de Furuta.
El sistema Péndulo de Furuta fue creado por el Dr. K.
Furuta del Instituto de Tecnología de Tokio, el cual es
un sistema subactuado de dos grados de libertad
ambos rotacionales llamados brazo y péndulo. El
movimiento del brazo (primer grado de libertad) se
realiza en un plano horizontal girando alrededor de un
eje perpendicular al plano, mientras que el péndulo se
encuentra colocado en un extremo del brazo y su eje
de giro es colineal al eje axial del brazo y su
movimiento se realiza en un plano perpendicular al de
este último.
m
Lo interesante desde el punto de vista del control del
Péndulo de Furuta está provocado por la
configuración que tiene puesto que no se puede
realizar una linealización exacta de su modelo por
retroalimentación de estados, lo cual limita la
variedad de algoritmos de control que pueden serle
aplicados.
En este trabajo se va a mostrar el desarrollo de un
péndulo de Furuta. Debido a los materiales escogidos
se ha conseguido que su precio sea muy económico,
lo que facilita replicarlo en el caso que se necesite
equipar un laboratorio docente con esta clase de
sistemas. Además del desarrollo, el artículo muestra
también el modelado del sistema, así como la
implementación de estrategias de control basado en la
realimentación del estado, utilizando para ello la
herramienta de Real-Time Windows Target, una
extensión del paquete de Matlab.
2
MODELADO DE UN PÉNDULO
DE FURUTA
Tal como se ha comentado, el péndulo de Furuta
consta de los dos elementos que se muestran en la
figura siguiente: brazo y péndulo.
péndulo
brazo
Figura 1: Modelo esquemático del péndulo
El modelo simplificado del sistema se muestra en la
figura 2. En él se puede apreciar la posición del brazo
(θ) y la posición del péndulo (α), siendo r y l las
longitudes de los elementos, m la masa del péndulo y
J la inercia del actuador.
Las ecuaciones de la energía cinética y potencial del
péndulo vienen dadas por las expresiones siguientes:
U pen = mgl cos (α )
(
)
K pen = 0.5  θr + α l cos (α ) + (α l sin (α ) ) 


2
K = 0.5 Jθ
base
2
2
α
l
J
r
θ
Figura 2: Modelo simplificado del péndulo
Utilizando la formulación del Lagrangiano podemos
obtener las ecuaciones diferenciales del sistema:
( mr
2
+ J )θ + mrαl cos (α ) − mrα 2 l sin (α ) = τ
+ ml 2α − mgl sin (α ) = 0
mrl cos (α )θ − mrl sin (α )αθ
La representación del sistema lineal en el espacio de
estados viene dada por la ecuación de estado
siguiente:
0
0
θ  0
0
  
α
  
− mrg
  = 0
θ
J
  
α 
J + mr 2
0 g
Jl

1 0
0

θ
0 1    0 
   
 α   1 
0 0   +   τ
θ
   J 

 α   −r 
0 0    
 Jl 

(1)
Si tenemos en cuenta que el par de control se genera
por un motor de corriente continua controlado por
tensión:
K
1
V = IR + K eθ ⇒ I = V − e θ
R
R
donde R y Ke se corresponden con las constantes
eléctricas del actuador.
Considerando que el par es proporcional a la
intensidad:
K
K2
τ = K e I ⇒ τ = e V − e θ
R
R
Sustituyendo la expresión de τ:
0
0

θ  0
0
  
α  
−mrg
  = 0
θ
J
  
α 
+
J
mr 2
  0 g


Jl
1
0
− K e2
JR
rK e2
JRl
0
 0 
1  θ   0 

  
 α   K e 
0   + 
V
 θ   JR 
 α   − K e r 
0
 JRl 

(2)
3
DISEÑO EXPERIMENTAL DE UN
PÉNDULO DE FURUTA
Uno de los problemas más habituales que nos
encontramos a la hora de trabajar con los procesos
experimentales es el precio que estos suelen tener. El
alto precio que tienen suele dificultar la posibilidad
de replicarlo para poder trabajar de una forma
cómoda tanto en los laboratorios docentes como de
investigación.
Por ello, una de las primeras premisas que se
consideraron en el diseño y desarrollo del péndulo de
Furuta fue tratar que el coste de implementación de
éste fuera el más económico posible. Para ello se ha
escogido como actuador un motor de corriente
continua existente previamente en los laboratorios del
Dpto. de Ingeniería de Sistemas y Automática de la
Universidad Politécnica de Valencia. Para la
estructura mecánica del sistema se ha escogido el
aluminio, tanto por su peso como por su bajo precio.
La figura 3 muestra una vista general del péndulo
desarrollado.
medio de un tren de engranajes. Así, midiendo la
tensión que proporciona el potenciómetro podemos
saber directamente la posición del primer elemento.
Para conectar el actuador eléctrico con la base del
brazo del péndulo se ha mecanizado con un bloque de
NYLON (SUPER-POLIAMIDA-PA 6) una unión
cilíndrica que se acopla perfectamente en el tubo
hueco del brazo. La unión queda fijada atornillándose
tanto a la base del brazo como al eje del actuador, tal
como se muestra en la figura siguiente. Se ha
escogido este material porque es un material robusto,
tiene un buen coeficiente de roce y es sencillo de
mecanizar.
Figura 4: Unión actuador-brazo
El extremo del primer segmento del brazo está
soldado con el segundo elemento, formando entre
ellos un ángulo de 90º. De esta forma, el eje de giro
del conjunto que forma brazo es colineal al eje
vertical Z, lo que provoca que el movimiento del
brazo sea circular en el plano horizontal XY.
Este segundo segmento del brazo es, al igual que el
primero, un tubo de aluminio hueco. Sobre él
descansa el segundo elemento: el péndulo. El péndulo
está constituido por dos barras macizas de aluminio
que forman un ángulo de 90º. Una barra se inserta en
el interior del segundo segmento del brazo, y para que
pueda girar libremente se han añadido dos
rodamientos. El eje de giro del péndulo es colineal al
eje axial del brazo, por lo que el movimiento del
péndulo describe una trayectoria circular contenida en
el plano perpendicular al eje axial del brazo.
Figura 3: Vista general del péndulo desarrollado
En la figura 3 se pueden observar los dos elementos:
el brazo y el péndulo del péndulo de Furuta
propuesto. El primer elemento del brazo es un tubo
hueco de aluminio cuya base está conectada con el
actuador eléctrico. El actuador utilizado es el Rotary
Servo Plant SRV-02 de la empresa canadiense
Quanser Consulting©. El servo SRV-02 consiste en
un servomotor de corriente continua, de forma que la
salida del motor se conecta a un potenciómetro por
Para poder medir el ángulo del giro del péndulo
respecto al brazo añadido un potenciómetro en el
extremo de la primera barra del péndulo. Si bien se
podría haber utilizado cualquier potenciómetro, se ha
escogido uno de la serie P2200 de novotechnik© por
tratarse de un potenciómetro con un par
extremadamente bajo, gran linealidad, repetitividad y
durabilidad, una velocidad de trabajo muy alta y un
movimiento mecánico de 360º continuos.
La unión entre la barra del péndulo y el eje del
potenciómetro se realiza mediante un tornillo simple.
Debido a los diferentes diámetros de los elementos, la
unión entre el 2º segmento del brazo y el
potenciómetro se ha mecanizado con un bloque de
metacrilato una segunda unión cilíndrica. En un
extremo de la unión se introduce a presión y se
atornilla el potenciómetro, mientras que el otro
extremo se introduce dentro del 2º elemento del
brazo. La elección de este material viene motivada
por la elevada resistencia mecánica, rigidez, dureza y
un bajo coeficiente de fricción.
La figura 5 muestra con mayor detalle el
potenciómetro, la barra del péndulo y el elemento de
que nos permite la unión entre el potenciómetro y la
barra del brazo.
esta solución se dificulta la síntesis de la ley de
control.
De este modo, la forma más habitual para establecer
el control del péndulo es mediante la utilización de
controladores complementarios. El primero se emplea
para asegurar la atracción del estado de sistema hacia
una región cercana al origen, mientras que y el
segundo controlador se encarga de regular la posición
del péndulo sobre el punto de equilibrio inestable.
Para llevar a cabo los dos controladores se han
desarrollado distintos reguladores y estrategias de
control. Así por ejemplo, para el primer controlador
se suelen basar en las propiedades energéticas
utilizando una función candidata de Lyapunov que
asegura la atracción del estado del sistema a la región
cercana al origen gracias a las propiedades pasivas
del péndulo de Furuta.
El segundo controlador puede ser un controlador
lineal (basado en un control lineal óptimo, por
ejemplo) que logra la estabilidad y permanencia del
péndulo en su punto de equilibrio inestable.
En este trabajo se ha utilizado un controlador basado
en la realimentación del estado para establecer el
control alrededor el punto de equilibrio inestable,
utilizándose la herramienta de Real-Time Windows
Target de Matlab para realizar la implementación del
control.
Figura 5: Unión péndulo-potenciómetro
4
El esquema general de control por realimentación del
estado utilizado se muestra en la figura siguiente:
CONTROL DEL PÉNDULO DE
FURUTA
La finalidad del control de procesos es que la
respuesta del sistema a controlar cumpla con una
serie de especificaciones de funcionamiento
dinámicas y estáticas a pesar de las incertidumbres y
perturbaciones asociadas a su funcionamiento.
Habitualmente las estrategias de control se aplican a
sistemas físicos con el mismo número de actuadores y
de grados de libertad. Sin embargo estas técnicas no
se pueden aplicar directamente sobre sistemas
subactuados. En este trabajo se ha abordado el control
de un sistema subactuado: el péndulo de Furuta, de
manera que se trata que controlar la posición del
extremo del péndulo en su punto de equilibrio
inestable.
Para abordar el control de este sistema se debe tener
en cuenta que las ecuaciones que describen la
dinámica del péndulo completo son esencialmente de
naturaleza no lineal. Por ello se podría plantear una
linealización exacta del péndulo por medio de la
realimentación de los estado, pero al no ser posible
Figura 6: Control por realimentación del estado
donde G, H y C se corresponden con las matrices que
forman las ecuaciones de estado y salida discretas:
x(k + 1) = Gx(k ) + Hu (k )
(3)
y ( k ) = Cx( k )
La acción de control para resolver el problema de la
regulación del sistema viene dada por la ecuación
siguiente:
(4)
u (k ) = − Kx(k )
donde
K = [ k1
k2 " kn ]
es
la
ganancias de realimentación del estado.
matriz
de
Para calcular la matriz K se pueden utilizar diversas
técnicas, como por ejemplo el control lineal
cuadrático, el cual calcula la matriz de realimentación
óptima tal que el sistema en bucle cerrado minimiza
un índice de desempeño cuadrático J:
J = ∫ ( x′Qx + rV 2 )dt
adquisición de datos PCL-812PG. Una vez se calcula
la acción de control u(k) se debe suministrar al
actuador eléctrico del péndulo. Para hacerlo se utiliza
el bloque de salida analógica que accede a la tarjeta
de convertidores D/A PCL-726.
du/dt
(5)
-K-
Derivati ve1
k4
al fa
Otra técnica para el diseño del controlador por
realimentación del estado que se puede utilizar es el
diseño por asignación de polos. Este diseño se debe
calcular la matriz de ganancias K de forma que la
matriz del estado en bucle cerrado que viene dada por
la ecuación siguiente:
6.36
-K-
Constant
-K-
vol2rad
Analog
Input
du/dt
m
Saturation
k3
Anal og Output
Adv antech
PC L-726 [200h]
-K-
Adv antec h
PC L-812PG [300h]
vol2rad
theta
-K-
x(k + 1) = ( G − HK ) x(k )
k1
(7)
podemos utilizar los comandos de Matlab place o
acker, a los que se les debe proporcionar las matrices
de la representación interna del sistema (3), así como
los polos en bucle cerrado que se desean para la
dinámica de control.
Una vez obtenida la matriz K del controlador se debe
implementar un algoritmo con la ecuación de la
acción de control (4). Para ello se puede utilizar
cualquier lenguaje de alto nivel (como C) trabajando
en entornos de tiempo real. Básicamente, a cada
iteración del bucle de control el algoritmo de control
debe:
• obtener el estado del sistema
• calcular la acción de control u(k)
• proporcionar u(k) al péndulo
Para realizar este trabajo se ha escogido el entorno de
la Real-Time Workshop (RTWin), de Matlab. Dicho
entorno permite utilizar todos los bloques gráficos de
Simulink, lo que facilita mucho el desarrollo de los
controladores. Además, también se pueden utilizar
unos bloques especiales que serán los encargados de
acceder a las tarjetas de adquisición de datos para
obtener las señales del sistema y de suministrar las
acciones de control al proceso a controlar. En [7] se
puede encontrar una explicación más detallada de la
utilización de RTWin para el control de robots en
tiempo real.
La figura 7 muestra el esquema de control del
péndulo implementado. Para obtener la posición del
brazo (θ) y del péndulo (α) se utiliza un bloque de
entrada analógica que accede a la tarjeta de
Figura 7: Esquema RTWin del control del péndulo
Tal como se puede observar en (2), el vector de
estado del péndulo está formado por las posiciones y
velocidades de los elementos del péndulo de Furuta.
Como el hardware del péndulo no incluye tacosdinamos que proporcionen las velocidades, éstas se
tienen que obtener a partir de los 2 bloques que
calculan las derivadas de las posiciones. Una vez se
tienen las 4 señales la acción de control se calcula
mediante la realimentación de dichas señales,
multiplicándolas por los elementos ki de la matriz de
realimentación K.
Cabe destacar que se necesita pasar de las señales de
tensión a señales en ángulos (radianes). Para ello se
utilizan las constantes vol2rad. Por último se necesita
restar a la tensión que suministra el ángulo del
péndulo α el valor 6.36. Esto es debido a que dicha
tensión se corresponde a un ángulo de 0 rad. del
péndulo.
Una vez se ha desarrollado el esquema de control
sólo hay que compilarlo para obtener un esquema
ejecutable en el entorno de Windows. Las figuras
siguientes muestran las posiciones del péndulo y del
brazo, así como las acciones de control.
0.1
0.05
Angulo pendulo (rad)
sea asintóticamente estable, por lo que para todo
x(0) ≠ 0 es posible hacer que x(t) tienda a cero en un
periodo de tiempo aceptable. Para resolver la
expresión:
zI − ( G − HK ) = α control ( z )
Analog
Output
-K-
Derivative
Analog Input
acontrol
k2
0
-0.05
-0.1
-0.15
0
5
10
15
20
25
30
Tiempo (seg)
35
40
Figura 8: Posición del péndulo (rad)
45
50
0.3
La figura 13 muestra las acciones de control, y se
puede observar como efectivamente en los instantes
donde se ha perturbado al sistema las acciones de
control son más grandes (más de 5 voltios) para tratar
de devolver al péndulo en la posición de equilibrio.
0.2
0.1
Angulo brazo (rad)
0
-0.1
-0.2
-0.3
0.25
-0.4
0.2
-0.5
-0.7
0
5
10
15
20
25
30
Tiempo (seg)
35
40
45
50
Figura 9: Posición del brazo (rad)
Angulo pendulo (rad)
0.15
-0.6
0.1
0.05
0
-0.05
-0.1
3
-0.15
Accion de control (v)
2
0
2
4
6
8
10
12
Tiempo (seg)
14
16
18
20
Figura 11: Posición del péndulo ante perturbaciones (rad)
1
0
0.8
-1
0.6
-2
0
5
10
15
20
25
30
Tiempo (seg)
35
40
45
50
Figura 10: Acción de control (v)
Angulo brazo (rad)
-3
0.4
0.2
0
-0.2
Para analizar el comportamiento del sistema ante
perturbaciones se ha realizado una nueva ejecución
en la cual se sacó al sistema de su equilibrio
(aplicando una fuerza en el extremo del péndulo) en 3
instantes (en t = 2seg., t = 8seg., y t = 14.5seg.). Tal
como se puede observar en las figuras siguientes, el
sistema es capaz de mantener el equilibrio a pesar que
las perturbaciones sacaron al péndulo en .25 radianes.
Para ello el brazo se tiene que mover hasta los 0.7
radianes (aproximadamente) para que el péndulo
recupere el equilibrio.
-0.4
-0.6
0
2
4
6
8
10
12
Tiempo (seg)
14
16
18
20
Figura 12: Posición del brazo ante perturbaciones (rad)
6
4
Accion de control (v)
El periodo de muestreo utilizado para establecer el
control es de 5mS. Tal como se puede observar, la
posición del péndulo se mantiene durante el tiempo
de ejecución (1 minuto) en el origen con una
oscilación de ángulo muy pequeña (alrededor de 0.09
radianes). La posición del brazo tiene una oscilación
alrededor del origen mayor (0.5 radianes), pero dicha
oscilación se debe a que éste es el elemento actuado
que se debe de encargar de mantener vertical al
péndulo. Por último, se puede apreciar como la
acción de control que se debe suministrar al actuador
no es muy grande, puesto que está acotada alrededor
de ±2 voltios.
2
0
-2
-4
-6
0
2
4
6
8
10
12
Tiempo (seg)
14
16
Figura 13: Acciones de control (v)
18
20
5
CONCLUSIONES
El trabajo ha mostrado el modelado, diseño, la
construcción y el control de un prototipo de sistema
subactuado: el péndulo de Furuta. Para ello primero
se han obtenido las ecuaciones diferenciales del
sistema, obteniendo un modelado en el espacio de
estados.
A continuación se ha mostrado el prototipo
desarrollado. Debido a los materiales utilizados, este
prototipo tiene como principal característica su bajo
coste, lo cual lo hace muy interesante si se pretende
replicarlo para poder equipar un laboratorio docente.
Por último, se ha abordado el control del sistema.
Para ello primero hay que implementar un algoritmo
de control que suministre la suficiente energía al
sistema como para llevar al péndulo a una zona
cercana al origen. Una vez en esta zona se debe
conmutar de controlador, para regular al sistema para
que no salga del punto de equilibrio inestable. El
artículo ha mostrado como no sólo el regulador es
capaz de controlar al sistema, sino que además es lo
suficientemente robusto como para eliminar el efecto
de perturbaciones que lo saquen de su punto de
equilibrio.
La plataforma desarrollada es un prototipo muy
interesante porque permite trabajar con cuestiones
muy diversas de control, como controladores lineales
y no lineales, conmutación entre controladores etc.
Agradecimientos
Los autores desean expresar su agradecimiento a la
Consellería de Innovación y Competitividad de la
Generalitat Valenciana, por la financiación parcial de
este trabajo bajo el proyecto de I+D:
CTIDIB/2002/22.
Referencias
[1] Astrom, K.J., Furuta K. (2000) “Swinging up a
Pendulum by Energy Control”, Automatica, vol
36, pag. 287-295
[2] Mori, S., Nishihara, H, Furuta, K. (1976)
“Control of Unstable Mechanical Systems:
Control of Pendulum”, Int. J. of Control, vol 23,
n5, pag. 673-692
[3] Schaefer, J.F., Cannon R.H. (1967) “On the
Control of Unstable Mechanical Systems”, Proc.
of 3rd Int. Federation on Automatic Control
(IFAC), vol 1 (6C.1-6C.13)
[4] Spong M.W. (1994) “The control of underactued
mechanical systems” Int. conf. Mechatron.
[5] Spong M. W. (1994) “Swing control of the
acrobot” Procedings IEEE international
conference Robotics and automation, pag. 23562361 (Vol 1)
[6] Torres H.I. (2002) “Control de Sistemas No
Linealizables en Forma Exacta”, documento
interno, Centro de Investigación y de Estudios
Avanzados del IPN, México.
[7] Valera, A., Vallés, M., Tornero, J. (2001) “RealTime Robot Control implementation with
Matlab/Simulink”, Telematics Application in
Automation and Robotics, Ed. Pergamon, ISBN
0 08 043856 3.
[8] Yamakita, M, Furuta, K. (1992) “VVS Adaptive
Control based on Nonlinar Model for TITech
pendulum”, IEEE 1488-1493.
Descargar