You are on page 1of 7

DESARROLLO Y CONTROL DE UN PNDULO DE FURUTA

A. Valera, M. Valls, M. Cardo


Dpto. Ingeniera de Sistemas y Automtica
Universidad Politcnica de Valencia
Camino de Vera 14, 46022 Valencia (Spain)
E-mail: giuprog@isa.upv.es, mvalles@isa.upv.es, mcardo@isa.upv.es


Resumen

Este trabajo presenta el desarrollo y control de un
pndulo 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 (pndulo) 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 pndulo 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 econmico, siendo muy
conveniente porque permitira replicarlo en el caso
en el que fuera necesario (para un laboratorio
docente de robtica, por ejemplo)


Palabras Clave: pndulo invertido, aplicaciones
digitales por computador, control por computador,
robtica.


1 INTRODUCCIN

A la hora de establecer el control por computador de
procesos fsicos se tienen que implementar unos
algoritmos de control que permitan que el sistema
pueda alcanzar una serie de especificaciones de
funcionamiento estticas y dinmicas. Para ello
debemos tener en cuenta adems las perturbaciones
inherentes a los sistemas reales como incertidumbres
en los parmetros o en la dinmica del modelo, ruidos
etc.

La existencia de las perturbaciones no slo puede
complicar de forma considerable el control del
sistema, sino que adems pueden incluso modificar
tambin la dinmica del sistema, como cuando se
tienen desgastes mecnicos o fallos de los actuadores.

La existencia de fallos en los actuadores representa
un problema muy interesante para la teora 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 nmero de grados de libertad mayor que de
actuadores [4].

La definicin de sistema subactuado incluye no slo
el fallo en los actuadores, sino tambin la ausencia de
los mismos provocada por consideraciones de diseo
del sistema fsico, falta de espacio, exceso de peso,
por cuestiones de presupuesto etc.

Dentro de los sistemas subactuados, un ejemplo
comnmente utilizado y ampliamente estudiado es el
sistema del pndulo invertido basado en un carro
mvil [2], [5]. Los pndulos se utilizaron inicialmente
como banco de pruebas para la aplicacin de
conceptos de control lineal y no lineal como
estabilizacin de sistemas inestables [2], [3], control
con estructura variable [8], control de energa [1],
control por realimentacin del estado [6], etc.

Sin embargo, los pndulos invertidos presentan el
inconveniente de que la carrera del carro se encuentra
acotada, lo que puede limitar las maniobras de
control. Para salvar esta limitacin se gener una
modificacin a dicho sistema el cual se suple la
carrera lineal del carro por una trayectoria circular
cerrada, creando as al denominado sistema Pndulo
de Furuta.

El sistema Pndulo de Furuta fue creado por el Dr. K.
Furuta del Instituto de Tecnologa de Tokio, el cual es
un sistema subactuado de dos grados de libertad
ambos rotacionales llamados brazo y pndulo. 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 pndulo 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.

Lo interesante desde el punto de vista del control del
Pndulo de Furuta est provocado por la
configuracin que tiene puesto que no se puede
realizar una linealizacin exacta de su modelo por
retroalimentacin 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
pndulo de Furuta. Debido a los materiales escogidos
se ha conseguido que su precio sea muy econmico,
lo que facilita replicarlo en el caso que se necesite
equipar un laboratorio docente con esta clase de
sistemas. Adems del desarrollo, el artculo muestra
tambin el modelado del sistema, as como la
implementacin de estrategias de control basado en la
realimentacin del estado, utilizando para ello la
herramienta de Real-Time Windows Target, una
extensin del paquete de Matlab.


2 MODELADO DE UN PNDULO
DE FURUTA

Tal como se ha comentado, el pndulo de Furuta
consta de los dos elementos que se muestran en la
figura siguiente: brazo y pndulo.














Figura 1: Modelo esquemtico del pndulo

El modelo simplificado del sistema se muestra en la
figura 2. En l se puede apreciar la posicin del brazo
() y la posicin del pndulo (), siendo r y l las
longitudes de los elementos, m la masa del pndulo y
J la inercia del actuador.

Las ecuaciones de la energa cintica y potencial del
pndulo vienen dadas por las expresiones siguientes:

( ) cos
pen
U mgl =
( ) ( ) ( ) ( )
2 2
0.5 cos sin
pen
K r l l

= + +


2
0.5
base
K J =
















Figura 2: Modelo simplificado del pndulo


Utilizando la formulacin del Lagrangiano podemos
obtener las ecuaciones diferenciales del sistema:

( ) ( ) ( )
2 2
cos sin mr J mr l mr l + + =


( ) ( ) ( )
2
cos sin sin 0 mrl mrl ml mgl + =



La representacin del sistema lineal en el espacio de
estados viene dada por la ecuacin de estado
siguiente:


2
0 0 1 0 0
0 0 0 1 0
1
0 0 0
0 0 0
mrg
J J
r J mr
g
Jl Jl











= +
` `




+
) )



(1)

Si tenemos en cuenta que el par de control se genera
por un motor de corriente continua controlado por
tensin:
1
e
e
K
V IR K I V
R R
= + =


donde R y K
e
se corresponden con las constantes
elctricas del actuador.

Considerando que el par es proporcional a la
intensidad:
2
e e
e
K K
K I V
R R
= =



Sustituyendo la expresin de :

2
2 2
0 0 1 0
0
0 0 0 1
0
0 0
0 0
e e
e
e
K K mrg
V
J JR JR
K r
rK J mr
g
JRl
Jl JRl













= +
` `






+ ) )





(2)


pndulo
brazo


m
J r
l
3 DISEO EXPERIMENTAL DE UN
PNDULO DE FURUTA

Uno de los problemas ms 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
cmoda tanto en los laboratorios docentes como de
investigacin.

Por ello, una de las primeras premisas que se
consideraron en el diseo y desarrollo del pndulo de
Furuta fue tratar que el coste de implementacin de
ste fuera el ms econmico posible. Para ello se ha
escogido como actuador un motor de corriente
continua existente previamente en los laboratorios del
Dpto. de Ingeniera de Sistemas y Automtica de la
Universidad Politcnica de Valencia. Para la
estructura mecnica del sistema se ha escogido el
aluminio, tanto por su peso como por su bajo precio.
La figura 3 muestra una vista general del pndulo
desarrollado.


Figura 3: Vista general del pndulo desarrollado

En la figura 3 se pueden observar los dos elementos:
el brazo y el pndulo del pndulo de Furuta
propuesto. El primer elemento del brazo es un tubo
hueco de aluminio cuya base est conectada con el
actuador elctrico. 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 potencimetro por
medio de un tren de engranajes. As, midiendo la
tensin que proporciona el potencimetro podemos
saber directamente la posicin del primer elemento.

Para conectar el actuador elctrico con la base del
brazo del pndulo se ha mecanizado con un bloque de
NYLON (SUPER-POLIAMIDA-PA 6) una unin
cilndrica que se acopla perfectamente en el tubo
hueco del brazo. La unin queda fijada atornillndose
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: Unin 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 pndulo. El pndulo
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 aadido dos
rodamientos. El eje de giro del pndulo es colineal al
eje axial del brazo, por lo que el movimiento del
pndulo describe una trayectoria circular contenida en
el plano perpendicular al eje axial del brazo.

Para poder medir el ngulo del giro del pndulo
respecto al brazo aadido un potencimetro en el
extremo de la primera barra del pndulo. Si bien se
podra haber utilizado cualquier potencimetro, se ha
escogido uno de la serie P2200 de novotechnik

por
tratarse de un potencimetro con un par
extremadamente bajo, gran linealidad, repetitividad y
durabilidad, una velocidad de trabajo muy alta y un
movimiento mecnico de 360 continuos.

La unin entre la barra del pndulo y el eje del
potencimetro se realiza mediante un tornillo simple.
Debido a los diferentes dimetros de los elementos, la
unin entre el 2 segmento del brazo y el
potencimetro se ha mecanizado con un bloque de
metacrilato una segunda unin cilndrica. En un
extremo de la unin se introduce a presin y se
atornilla el potencimetro, mientras que el otro
extremo se introduce dentro del 2 elemento del
brazo. La eleccin de este material viene motivada
por la elevada resistencia mecnica, rigidez, dureza y
un bajo coeficiente de friccin.

La figura 5 muestra con mayor detalle el
potencimetro, la barra del pndulo y el elemento de
que nos permite la unin entre el potencimetro y la
barra del brazo.


Figura 5: Unin pndulo-potencimetro

4 CONTROL DEL PNDULO DE
FURUTA

La finalidad del control de procesos es que la
respuesta del sistema a controlar cumpla con una
serie de especificaciones de funcionamiento
dinmicas y estticas a pesar de las incertidumbres y
perturbaciones asociadas a su funcionamiento.

Habitualmente las estrategias de control se aplican a
sistemas fsicos con el mismo nmero de actuadores y
de grados de libertad. Sin embargo estas tcnicas no
se pueden aplicar directamente sobre sistemas
subactuados. En este trabajo se ha abordado el control
de un sistema subactuado: el pndulo de Furuta, de
manera que se trata que controlar la posicin del
extremo del pndulo en su punto de equilibrio
inestable.

Para abordar el control de este sistema se debe tener
en cuenta que las ecuaciones que describen la
dinmica del pndulo completo son esencialmente de
naturaleza no lineal. Por ello se podra plantear una
linealizacin exacta del pndulo por medio de la
realimentacin de los estado, pero al no ser posible
esta solucin se dificulta la sntesis de la ley de
control.

De este modo, la forma ms habitual para establecer
el control del pndulo es mediante la utilizacin de
controladores complementarios. El primero se emplea
para asegurar la atraccin del estado de sistema hacia
una regin cercana al origen, mientras que y el
segundo controlador se encarga de regular la posicin
del pndulo 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 energticas
utilizando una funcin candidata de Lyapunov que
asegura la atraccin del estado del sistema a la regin
cercana al origen gracias a las propiedades pasivas
del pndulo 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
pndulo en su punto de equilibrio inestable.

En este trabajo se ha utilizado un controlador basado
en la realimentacin del estado para establecer el
control alrededor el punto de equilibrio inestable,
utilizndose la herramienta de Real-Time Windows
Target de Matlab para realizar la implementacin del
control.

El esquema general de control por realimentacin del
estado utilizado se muestra en la figura siguiente:


Figura 6: Control por realimentacin del estado

donde G, H y C se corresponden con las matrices que
forman las ecuaciones de estado y salida discretas:

( 1) ( ) ( ) x k Gx k Hu k + = +
) ( ) ( k Cx k y =

(3)

La accin de control para resolver el problema de la
regulacin del sistema viene dada por la ecuacin
siguiente:
( ) ( ) u k Kx k = (4)

donde | |
1 2 n
K k k k = " es la matriz de
ganancias de realimentacin del estado.
Para calcular la matriz K se pueden utilizar diversas
tcnicas, como por ejemplo el control lineal
cuadrtico, el cual calcula la matriz de realimentacin
ptima tal que el sistema en bucle cerrado minimiza
un ndice de desempeo cuadrtico J:

( )
2
J x Qx rV dt = +


(5)

Otra tcnica para el diseo del controlador por
realimentacin del estado que se puede utilizar es el
diseo por asignacin de polos. Este diseo se debe
calcular la matriz de ganancias K de forma que la
matriz del estado en bucle cerrado que viene dada por
la ecuacin siguiente:

( ) ( 1) ( ) x k G HK x k + =


sea asintticamente estable, por lo que para todo
(0) 0 x es posible hacer que x(t) tienda a cero en un
periodo de tiempo aceptable. Para resolver la
expresin:

( ) ( )
control
zI G HK z =
(7)

podemos utilizar los comandos de Matlab place o
acker, a los que se les debe proporcionar las matrices
de la representacin interna del sistema (3), as como
los polos en bucle cerrado que se desean para la
dinmica de control.

Una vez obtenida la matriz K del controlador se debe
implementar un algoritmo con la ecuacin de la
accin de control (4). Para ello se puede utilizar
cualquier lenguaje de alto nivel (como C) trabajando
en entornos de tiempo real. Bsicamente, a cada
iteracin del bucle de control el algoritmo de control
debe:
obtener el estado del sistema
calcular la accin de control u(k)
proporcionar u(k) al pndulo

Para realizar este trabajo se ha escogido el entorno de
la Real-Time Workshop (RTWin), de Matlab. Dicho
entorno permite utilizar todos los bloques grficos de
Simulink, lo que facilita mucho el desarrollo de los
controladores. Adems, tambin se pueden utilizar
unos bloques especiales que sern los encargados de
acceder a las tarjetas de adquisicin de datos para
obtener las seales del sistema y de suministrar las
acciones de control al proceso a controlar. En [7] se
puede encontrar una explicacin ms detallada de la
utilizacin de RTWin para el control de robots en
tiempo real.

La figura 7 muestra el esquema de control del
pndulo implementado. Para obtener la posicin del
brazo () y del pndulo () se utiliza un bloque de
entrada analgica que accede a la tarjeta de
adquisicin de datos PCL-812PG. Una vez se calcula
la accin de control u(k) se debe suministrar al
actuador elctrico del pndulo. Para hacerlo se utiliza
el bloque de salida analgica que accede a la tarjeta
de convertidores D/A PCL-726.
-K-
vol 2rad
-K-
vol 2rad
theta
-K-
k4
-K-
k3
-K-
k2
al fa
acontrol
Saturati on
du/dt
Deri vati ve1
du/dt
Deri vati ve
m
6.36
Constant
Anal og
Output
Anal og Output
Adv antech
PCL-726 [200h]
Anal og
Input
Anal og Input
Adv antech
PCL-812PG [ 300h]
-K-
k1

Figura 7: Esquema RTWin del control del pndulo

Tal como se puede observar en (2), el vector de
estado del pndulo est formado por las posiciones y
velocidades de los elementos del pndulo de Furuta.
Como el hardware del pndulo no incluye tacos-
dinamos 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 seales la accin de control se calcula
mediante la realimentacin de dichas seales,
multiplicndolas por los elementos k
i
de la matriz de
realimentacin K.

Cabe destacar que se necesita pasar de las seales de
tensin a seales en ngulos (radianes). Para ello se
utilizan las constantes vol2rad. Por ltimo se necesita
restar a la tensin que suministra el ngulo del
pndulo el valor 6.36. Esto es debido a que dicha
tensin se corresponde a un ngulo de 0 rad. del
pndulo.

Una vez se ha desarrollado el esquema de control
slo hay que compilarlo para obtener un esquema
ejecutable en el entorno de Windows. Las figuras
siguientes muestran las posiciones del pndulo y del
brazo, as como las acciones de control.
0 5 10 15 20 25 30 35 40 45 50
-0.15
-0.1
-0.05
0
0.05
0.1
Tiempo (seg)
A
n
g
u
l
o

p
e
n
d
u
l
o

(
r
a
d
)

Figura 8: Posicin del pndulo (rad)
0 5 10 15 20 25 30 35 40 45 50
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
Tiempo (seg)
A
n
g
u
l
o

b
r
a
z
o

(
r
a
d
)

Figura 9: Posicin del brazo (rad)


0 5 10 15 20 25 30 35 40 45 50
-3
-2
-1
0
1
2
3
Tiempo (seg)
A
c
c
i
o
n

d
e

c
o
n
t
r
o
l

(
v
)

Figura 10: Accin de control (v)


El periodo de muestreo utilizado para establecer el
control es de 5mS. Tal como se puede observar, la
posicin del pndulo se mantiene durante el tiempo
de ejecucin (1 minuto) en el origen con una
oscilacin de ngulo muy pequea (alrededor de 0.09
radianes). La posicin del brazo tiene una oscilacin
alrededor del origen mayor (0.5 radianes), pero dicha
oscilacin se debe a que ste es el elemento actuado
que se debe de encargar de mantener vertical al
pndulo. Por ltimo, se puede apreciar como la
accin de control que se debe suministrar al actuador
no es muy grande, puesto que est acotada alrededor
de 2 voltios.

Para analizar el comportamiento del sistema ante
perturbaciones se ha realizado una nueva ejecucin
en la cual se sac al sistema de su equilibrio
(aplicando una fuerza en el extremo del pndulo) 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 pndulo en .25 radianes.
Para ello el brazo se tiene que mover hasta los 0.7
radianes (aproximadamente) para que el pndulo
recupere el equilibrio.

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 ms grandes (ms de 5 voltios) para tratar
de devolver al pndulo en la posicin de equilibrio.

0 2 4 6 8 10 12 14 16 18 20
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
Tiempo (seg)
A
n
g
u
l
o

p
e
n
d
u
l
o

(
r
a
d
)
Figura 11: Posicin del pndulo ante perturbaciones (rad)


0 2 4 6 8 10 12 14 16 18 20
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Tiempo (seg)
A
n
g
u
l
o

b
r
a
z
o

(
r
a
d
)

Figura 12: Posicin del brazo ante perturbaciones (rad)


0 2 4 6 8 10 12 14 16 18 20
-6
-4
-2
0
2
4
6
Tiempo (seg)
A
c
c
i
o
n

d
e

c
o
n
t
r
o
l

(
v
)

Figura 13: Acciones de control (v)


5 CONCLUSIONES

El trabajo ha mostrado el modelado, diseo, la
construccin y el control de un prototipo de sistema
subactuado: el pndulo de Furuta. Para ello primero
se han obtenido las ecuaciones diferenciales del
sistema, obteniendo un modelado en el espacio de
estados.

A continuacin se ha mostrado el prototipo
desarrollado. Debido a los materiales utilizados, este
prototipo tiene como principal caracterstica 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 energa al
sistema como para llevar al pndulo 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
artculo ha mostrado como no slo el regulador es
capaz de controlar al sistema, sino que adems 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, conmutacin entre controladores etc.



Agradecimientos

Los autores desean expresar su agradecimiento a la
Consellera de Innovacin y Competitividad de la
Generalitat Valenciana, por la financiacin 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 3
rd
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. 2356-
2361 (Vol 1)

[6] Torres H.I. (2002) Control de Sistemas No
Linealizables en Forma Exacta, documento
interno, Centro de Investigacin y de Estudios
Avanzados del IPN, Mxico.

[7] Valera, A., Valls, M., Tornero, J. (2001) Real-
Time 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.

You might also like