Professional Documents
Culture Documents
J
momento de inercia del
pndulo
3
2
ML
kg m
2
jm
momento de inercia del
motor DC
5
10
kg m
2
Para la rueda derecha:
). , ( ) , ( ) , ( R R y x y x
m m d d
= = (2)
La posicin del pndulo invertido dada por (x
M
, y
M
) est
vinculada con la posicin de sus ruedas, por lo tanto x
i
=x
d
=x
m
e y
i
=y
d
=y
m
.
4TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERA ELCTRICA (IV CIBELEC 2010)
5TAS JORNADAS DE INGENIERA ELCTRICA (V JIELECTRIC 2010)
ISBN: 978-980-7185-1 CONT-3
). cos , sin (
) cos , sin ( ) , (
RL L R
L y L x y x
m m M M
+
= + + =
(3)
La energa cintica traslacional es:
,
2
1
2
1
2
1
2
1
2 2 2 2
1 M M d i
y M y M x m x m T & & & & + + + = (4)
. ) ) sin ( (
2
1
) cos (
2
1
2
1
2
1
2
2 2 2
1
&
& & & &
+
+ + + =
L M
L R M R R T
(5)
La energa cintica rotacional es:
.
2
1
2
1
2
1
2
1
2 2 2 2
2 M m m
y M J J J T &
& & &
+ + + =
(6)
La energa potencial es:
,
M m m
Mgy mgy mgy U + + = (7)
). cos ( 2 L R Mg mgR U + + = (8)
Por lo tanto el lagrangiano es:
,
2 1
U T T Lag + = (9)
donde:
). cos ( 2
2
1
2
1
) ) sin ( (
2
1
) cos (
2
1
2 2 2
2 2 2
L R Mg mgR y M J J
L M L R M R Lag
M m
+ + + +
+ + + =
&
& &
& & & &
(10)
Las ecuaciones de Lagrange son:
F
Lag Lag
dt
d
=
\
|
&
(11)
F
Lag Lag
dt
d
=
|
|
\
|
&
(12)
Aplicando (11) y (12) a (10) se obtienen las ecuaciones de
movimiento de Lagrange para el pndulo invertido sobre dos
ruedas.
=
+ +
=
+ + +
. sin
) ( ) cos (
, sin
) cos ( ] 2 ) 2 [(
2
2
2
F MgL
J ML MLR
F MLR
MLR J R M m
m
& & & &
&
& & & &
(13)
Tomando como referencia el modelado del pndulo
invertido sobre un carro, realizado por Ogata (ver [14]), se
tom como fuerza externa el voltaje aplicado a las ruedas, el
cual es la seal de control u .
Con estas modificaciones las ecuaciones de movimiento
de Lagrange, para el pndulo invertido sobre dos ruedas, son:
=
+ +
=
+ + +
. 0 sin
) ( ) cos (
, sin
) cos ( ] 2 ) 2 [(
2
2
2
MgL
J ML MLR
u MLR
MLR J R M m
m
& & & &
&
& & & &
Despejando
& &
y
& &
de (15) y (16) se obtiene:
.
) cos ( ) ]( 2 ) 2 [(
] 2 ) 2 [( sin ) sin )( cos (
,
) cos ( ) ]( 2 ) 2 [(
cos sin ) ( sin )( (
2 2 2
2 2
2 2 2
2 2 2
MLR J ML J R M m
J R M m MgL MLR u MLR
MLR J ML J R M m
Rg ML MLR u J ML
m
m
m
+ + +
+ + + +
=
+ + +
+ +
=
&
& &
&
& &
Sean las variables de estado:
&
&
=
=
=
=
4
3
2
1
x
x
x
x
(18)
y escribiendo las ecuaciones del sistema no lineal en variables
de estado, se tiene la siguiente representacin de primer orden:
2 1
x x = & (19)
] 2 ) 2 [(
) cos (
) (
sin
] 2 ) 2 [(
) sin )( cos (
2
2
1 2
1 2
1
2
2 1
2
m
m
J R M m
x MLR
J ML
x MgL
J R M m
x MLRx u x MLR
x
+ +
+
+
+ +
+
&
(20)
4 3
x x = & (21)
2
1
2 2
1 1
2 2
2 1
2
4
) cos ( ) ]( 2 ) 2 [(
cos sin ) ( ) sin )( (
x MLR J ML J R M m
x x Rg ML x x MLR u J ML
x
m
+ + +
+ +
=
&
(22)
De manera similar a lo realizado en el proyecto de grado de
Patete (ver [15]), se observa que la dinmica de este sistema
puede ser pensada como constituida por dos bloques en
cascada, como se muestra en la Fig. 3. Las variables
1
x& y
2
x& que son respectivamente la velocidad y la aceleracin del
(14)
(15)
(16)
(17)
4TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERA ELCTRICA (IV CIBELEC 2010)
5TAS JORNADAS DE INGENIERA ELCTRICA (V JIELECTRIC 2010)
ISBN: 978-980-7185-1 CONT-4
cuerpo del pndulo invertido sobre dos ruedas, representan la
dinmica de la planta y las variables
3
x& y
4
x& que son la
velocidad y la aceleracin de las ruedas, representan la
dinmica de control.
FIG. 3. Diagrama de bloques del sistema desacoplado.
Desacoplando el sistema se tiene que:
.
3 4
x x & & & = (23)
De (22) se tiene que:
.
cos sin ) (
) ( sin
) cos (
2 ) 2 (
2
1 1
2
2
2 1
4 2
2
1 2
J ML
x x Rg ML
x x MLR
x
J ML
x MLR
J R M m u
m
+
+
(
(
+
+ + = &
(24)
Sustituyendo u de (24) en (20) y simplificando obtenemos:
.
sin cos
2
1
4 2
1
2
J ML
x MgL
x
J ML
x MLR
x
+
+
+
= & (26)
Por lo tanto el nuevo sistema de segundo orden es:
2 1
x x = &
(27)
.
sin cos
2
1
2
1
2
J ML
x MgL
v
J ML
x MLR
x
+
+
+
= &
Se va a realizar el control del pndulo invertido alrededor
de la posicin vertical por lo que el punto de operacin del
sistema es:
). 0 , 0 , 0 (
*
2
*
1
= = = U x x (28)
Linealizando el sistema alrededor del punto de operacin
(28) y escribiendo el sistema en espacio de estados obtenemos:
, u B x A x
+ = &
(29)
,
Cx y =
donde:
. ] , [ ] , [
2 1
T T
x x x
= =
&
El sensor gyro de Hitechnic, mide la velocidad angular del
cuerpo del pndulo, .
2
x El ngulo del cuerpo, ,
1
x se obtiene
integrando numricamente el valor de .
2
x Por lo tanto, se
puede escoger la variable
1
x como salida del sistema. De all
que:
]. 0 1 [ = C
Desarrollando el sistema mostrado en (29), se obtiene:
,
) 2 (
0
0 ) 1 , 2 (
1 0
2
1
2
1
u
B x
x
A x
x
(
+
(
=
(
&
&
(30)
, ] 0 1 [
x y =
donde:
. ) 2 (
, ) 1 , 2 (
2
2
J ML
MLR
B
J ML
MgL
A
+
=
+
=
Se realiza la discretizacin del sistema utilizando el mtodo
de discretizacin exacta. La estructura del sistema discretizado
en espacio de estados, que resulta al aplicar este mtodo de
discretizacin, se muestra a continuacin
( ) ), ( ) ( ) 1 (
0 0 0
kT u kT x T k x + = +
(31)
), ( ) (
0 0
kT Cx kT y =
donde:
,
0
AT
e = (32)
.
0
0
=
T
A
Bd e
(33)
El sistema discretizado en espacio de estados es:
4TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERA ELCTRICA (IV CIBELEC 2010)
5TAS JORNADAS DE INGENIERA ELCTRICA (V JIELECTRIC 2010)
ISBN: 978-980-7185-1 CONT-5
.
2
1
2
2
1
2
1
2
2
(
(
(
(
(
(
(
+
+
=
J ML
MgL
J ML
MgL
(34)
As, la matriz es:
,
2 ) (
) 2 (
2
2
(
(
(
(
(
|
|
\
|
+
R
J ML g
ML
g
R
(35)
donde:
,
,
0
2
0
2
0
2
0
2
|
|
|
\
|
=
|
|
|
\
|
+ =
+
+
+
+
T
J ML
MgL
T
J ML
MgL
T
J ML
MgL
T
J ML
MgL
e e
e e
y la matriz C es:
]. 0 1 [ = C (36)
Sustituyendo los valores numricos de los parmetros de la
Tabla I y tomando el perodo de muestreo 1 , 0
0
= T s se
discretiza el sistema.
La ley de control se program utilizando el lenguaje
RobotC, desarrollado por la Academia de Robtica de la
Universidad de Carnegie Mellon (ver [13]). Este lenguaje
cuenta con aritmtica de punto flotante, lo que resulta en una
implementacin ms precisa de la ley de control diseada.
Se tiene entonces que el sistema discretizado en espacio de
estados al cual se le realizar el diseo del controlador es:
), (
0483 , 0
0038 , 0
440 , 1 395 , 9
114 , 0 440 , 1
) 1 (
) 1 (
2
1
k u
k x
k x
(
=
(
+
+
(37)
). ( ] 0 1 [ ) ( k x k y =
IV. DISEO DEL CONTROLADOR PID
Del anlisis de la representacin en espacio de estados del
sistema continuo se pueden obtener conclusiones importantes
sobre la influencia de algunos parmetros fsicos en la
controlabilidad del sistema.
A continuacin se muestra la matriz de controlabilidad del
sistema continuo de segundo orden:
,
0
0
2
2
(
(
(
(
J ML
MRL
J ML
MRL
(38)
donde el determinante de la matriz de controlabilidad es:
, ) (
2
2
|
|
\
|
+
=
J ML
MRL
Det (39)
Si se desprecia el parmetro
\
|
=
L
R
Det (40)
Al examinar esta expresin del determinante de la matriz de
controlabilidad del sistema continuo, se observa que al
aumentar la longitud hasta el centro de masa del cuerpo del
pndulo L , el determinante disminuir. Acercndose al valor
cero, lo que indica que el sistema tender a ser menos
controlable.
Por el contrario, si se aumenta el radio de las ruedas , R el
determinante tender a valores ms alejados de cero,
logrndose una mayor controlabilidad sobre el pndulo
invertido sobre dos ruedas.
A continuacin se realiza el diseo del controlador PID para
el sistema continuo y para el sistema discretizado.
Aplicando la frmula:
, ) ( ) (
1
B A SI C s G
= (41)
al sistema en espacio de estados mostrado en (30), se obtiene
la siguiente funcin de transferencia del sistema continuo:
.
2128 , 82
335562 , 0
) (
2
=
s
s G (42)
La funcin de transferencia generalizada de un controlador
PID es:
. ) ( s kd
s
ki
kp s G
c
+ + = (43)
donde kp es la ganancia proporcional, ki es la ganancia
integral y kd es la ganancia derivativa.
Para calcular los parmetros del controlador ) (s G
c
mediante asignacin de polos, se tienen en cuenta los
siguientes criterios para la escogencia de los polos deseados
del sistema en lazo cerrado, con el fin de lograr el mejor
desempeo del sistema controlado.
4TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERA ELCTRICA (IV CIBELEC 2010)
5TAS JORNADAS DE INGENIERA ELCTRICA (V JIELECTRIC 2010)
ISBN: 978-980-7185-1 CONT-6
- Rapidez en estabilizar los estados: dada la naturaleza del
pndulo invertido sobre dos ruedas, se necesita que el pndulo
se estabilice en la posicin vertical en el menor tiempo
posible.
- Menor nmero de oscilaciones posible: si ocurren muchas
oscilaciones al tratar de estabilizar el pndulo es posible que
no se logre alcanzar el objetivo de control y el sistema caiga
en la inestabilidad.
- Limitaciones en la seal de control: en vista de que se va
a utilizar la seal de control diseada para los motores del
Lego Mindstorms NXT, la simulacin tiene que mostrar que
esta seal se encuentra dentro del rango de operacin de los
motores. Los motores del NXT tienen un rango de operacin
desde -9V a +9V.
Se lograron obtener los siguientes polos que cumplen de
manera adecuada con las especificaciones sealadas
anteriormente:
j s 536 , 3 54 , 3
2 , 1
= (44)
De la escogencia de estos polos continuos resultan los
siguientes parmetros:
, 707 , 0 = (45)
5 =
n
rad/s . (46)
Con estos polos continuos deseados se obtienen las
siguientes especificaciones para el tiempo de asentamiento
(
s
T ) y el sobredisparo mximo ) (SD :
41 , 1 =
s
T s , (47)
SD 0,05 . (48)
La funcin de transferencia del sistema en lazo cerrado, con
realimentacin negativa unitaria, utilizando el controlador
) (s Gc se muestra a continuacin:
.
) ( ) ( 1
) ( ) (
) (
s G s Gc
s G s Gc
s Glc
+
= (49)
Del denominador de la funcin de transferencia se obtiene
el siguiente polinomio caracterstico mostrado a continuacin,
el cual incluye las ganancias del controlador kp, ki y kd .
. 336 , 0 ) 213 , 81 336 , 0 ( 336 , 0 ) (
2 3
ki s kp s kd s s Pc + =
(50)
A partir de los polos deseados (44), se construye el
siguiente polinomio deseado:
]. 20 ][ 536 , 3 535 , 3 ][ 536 , 3 535 , 3 [ ) ( + + + + = s j s j s s Pd
(51)
Igualando los polinomios (50) y (51) se obtienen las
siguientes ganancias para el controlador PID:
, 884 , 740 = kp (52)
, 6705 , 80 = ki (53)
. 04 , 1490 = kd (54)
La ley de control PID en tiempo continuo queda descrita
como:
, ) (t e ki
dt
d
=
(55)
.
) (
) ( ) ( ) (
dt
t de
kd t t e kp t u + + =
(56)
Para obtener la ley de control PID del sistema discretizado,
realizando el diseo en tiempo discreto es necesario calcular la
funcin de transferencia discretizada del sistema. Entonces a
partir de la representacin en espacio de estados del sistema
discretizado mostrado en (37), se obtiene la siguiente funcin
de transferencia:
, ) ( ) (
1
=
ZI C z G
d
(57)
donde , yC son las mostradas en (34), (35) y (36)
respectivamente.
2
19
88 , 2 1
0038 , 0 10 674 , 8
) (
z z
z
z G
d
+
=
(58)
Para el diseo del controlador PID en tiempo discreto por
asignacin de polos, utilizamos la siguiente estructura del PID
discreto con un retardo incluido, debido a que se busca que el
sistema de ecuaciones resultante de la igualacin de
polinomios tenga solucin nica.
El controlador PID discreto con retardo se muestra a
continuacin:
) 1 )( 1 ( ) (
) (
) (
1 1
2
2
1
1 0
+
+ +
= =
z z
z q z q q
z e
z u
z G
cd
(59)
Los polos discretos deseados correspondientes a los polos
continuos deseados son:
j e z
T s
243 , 0 659 , 0
0 2 , 1
2 , 1
= = (60)
La funcin de transferencia del sistema discreto en lazo
cerrado, con realimentacin negativa unitaria, utilizando el
controlador
) (z G
c
se muestra a continuacin:
) ( ) ( 1
) ( ) (
) (
z G z G
z G z G
z G
d cd
d cd
lcd
+
(61)
Del denominador de la funcin de transferencia (61) se
obtiene el siguiente polinomio caracterstico mostrado a
continuacin:
) 62 ( . 10 674 , 8 ) 1 88 , 3
00384 , 0 10 674 , 8 ( ) 88 , 3 88 , 3 00385 , 0
10 67 , 8 ( ) 88 , 3 00384 , 0 ( ) (
2
19
2 1
19 2
1
0
19 3
0
4
+ +
+ +
+ + =
q z
q q z q
q z q z z Pc
A partir de los polos discretos deseados (60), se construye el
siguiente polinomio deseado:
) 63 ( ). 6 , 0 )( 13534 , 0
)( 2432 , 0 6588 , 0 )( 2432 , 0 6588 , 0 ( ) (
+ =
z
z j z j z z Pd
Igualando los polinomios (62) y (63) se obtienen las
siguientes ganancias para el controlador PID discreto con
retardo:
, 915 , 486
0
= q (64)
, 912 , 649
1
= q (65)
832 , 178
2
= q (66)
. 040042 , 0 = (67)
Despejando ) (z u y ) (z e de (59), y aplicando la
transformada inversa , Z se obtiene la siguiente ley de control
discreta:
4TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERA ELCTRICA (IV CIBELEC 2010)
5TAS JORNADAS DE INGENIERA ELCTRICA (V JIELECTRIC 2010)
ISBN: 978-980-7185-1 CONT-7
) 2 ( ) 1 (
) ( ) 2 ( ) 1 )( 1 ( ) (
2 1
0
+
+ + + =
k e q k e q
k e q k u k u k u
(68)
La ley de control PID discreta (68) es la que se implement
en el bloque programable NXT.
V. SIMULACIONES
En las Figuras 4 a 6 se muestran las simulaciones del sistema
continuo y del sistema discretizado controlados por el PID
continuo y discreto.
FIG. 4. Control PID para la dinmica de posicin continua y
discreta. 6 , 0 ) 0 (
1
= x grados.
FIG. 5. Control PID para la dinmica de velocidad continua
y discreta. 6 , 0 ) 0 (
1
= x grados.
La Figura 4, muestra que el controlador PID logra que la
posicin del pndulo alcance el valor deseado de 0 grados que
equivale a 0 radianes, en el tiempo de asentamiento
especificado, a partir de una posicin inicial de 0,6 grados, lo
que equivale aproximadamente a 0,01 radianes.
Adicionalmente la respuesta presenta una oscilacin suave
antes de estabilizarse, logrando los objetivos de diseo que se
buscaban alcanzar.
FIG. 6. Seal de control PID continua y discreta
6 , 0 ) 0 (
1
= x grados.
En la Figura 6, se observa que la seal de control se
encuentra dentro del rango de operacin de los motores del
NXT, [ ] 9 , 9 u V.
Por su parte, en la Figura 7 se muestra una pequea
secuencia del pndulo invertido construido (sistema no lineal),
bajo los efectos de la ley de control diseada (control lineal)
en (68) e implementada en el NXT (control digital).
FIG. 7. Pndulo invertido funcionando con el controlador
diseado en (68).
VI. CONCLUSIONES
En la implementacin prctica del controlador PID discreto
fue necesario el ajuste de uno de los parmetros del
controlador, especficamente la ganancia
0
q en un porcentaje
del 3% para lograr una mejor respuesta del sistema.
La ley de control PID discreta logra estabilizar el pndulo
invertido sobre dos ruedas en la posicin vertical, y
adicionalmente soporta ligeras perturbaciones alrededor de la
posicin vertical.
Cabe destacar que a pesar de que se trabaj con un modelo
reducido, en el cual las nicas variables que se toman en
cuenta son la velocidad angular del cuerpo y el ngulo de
inclinacin de ste, el pndulo invertido sobre dos ruedas logra
mantener el ngulo de inclinacin del cuerpo del pndulo,
estabilizado alrededor de 0 grados. Es decir, el cuerpo del
pndulo estabilizado en la posicin vertical, sin embargo, el
pndulo invertido sobre dos ruedas no se queda en una
4TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERA ELCTRICA (IV CIBELEC 2010)
5TAS JORNADAS DE INGENIERA ELCTRICA (V JIELECTRIC 2010)
ISBN: 978-980-7185-1 CONT-8
posicin fija en el eje horizontal, este tiende a alejarse de
manera constante de su posicin inicial en el eje horizontal.
Este comportamiento se debe a que no se controla la
posicin en el eje horizontal del pndulo invertido sobre dos
ruedas, ya que no se tomaron en cuenta las variables y
&
que son respectivamente el ngulo de rotacin de las ruedas y
la velocidad angular de las mismas, las cuales representan una
medida del desplazamiento longitudinal del sistema.
La plataforma Lego Mindstorms NXT ofrece la
posibilidad de estudiar sistemas de control a pequea escala,
ya que cuenta con todos los elementos que forman parte de
stos como lo son: sensores, actuadores y un microcontrolador
en el cual se pueden programar estrategias de control.
REFERENCIAS
[1] J. Aracil and F. Gordillo. El Pndulo Invertido. Un Desafo para el
Control no Lineal. Revista Interamericana de Automtica e
Informtica Industrial, Vol. 2, pp. 8-19, 2005.
[2] K. Ogata. Sistemas de Control en Tiempo Discreto. Ed. Prentice
Hall Hispanoamericana S.A., 1996, pp. 625-626.
[3] K. Furuta, H. Nishihara and S. Mori. Control of Unstable
Mechanical Systems: Control of Pendulum. International Journal of
Control, Vol. 23, pp. 673-692, 1976.
[4] F. Grasser, A. DArrigo, S. Colombi and A. Rufer. Joe: A Mobile,
Inverted Pendulum. Swiss Federal Institute of Technology, 2002.
http://leiwww.epfl.ch/publications/grasser_darrigo_colombi_rufer_mic_
01.pdf.
[5] B. Sherman. Balibot, an Inverted Pendulum Robot, 2003.
Disponible en http://home.comcast.net/~botronics/balibot.html.
[6] D. P. Anderson Nbot Balancing Robot, 2003. Disponible en
http://geology.heroy.smu.edu/~dpa-www/robo/nbot.
[7] R. Ooi. Balancing a Two-Wheeled Autonomous Robot.
University of Western Australia, 2003. Disponible en
http://robotics.ee.uwa.edu.au/theses/2003-Balance-Ooi.pdf.
[8] S. Hassenplug. Legway, 2002. Disponible en
http://www.teamhassenplug.org/robots/legway.
[9] P. Hurbains. Nxtway, 2007. http://www.philohome.com/nxtway/.
[10] R. Watanabe. Motion Control of Nxtway Lego Segway.
Universidad de Waseda, Japn, 2007.
http://web.mac.com/ryo_watanabe/.
[11] Y. Yamamoto. Nxtway-gs (Self-balancing Two-wheeled Robot)
controller design, 2008. Disponible en http://www.mathworks.com/
matlabcentral/fileexchange/19147.
[12] Lego Mindstorms NXT. http://www.mindstorms. lego.com.
Septiembre, 2009.
[13] Hitechnic. http://www.hitechnic.com. Septiembre, 2009.
[14] K. Ogata. Dinmica de Sistemas. Ed. Prentice Hall Hispanoamerica-
na, pp. 551-555, 1987.
[15] A. Patete. Desarrollo de un Mmico de un Sistema de Control en
Mathematica. Proyecto de grado, Facultad de Ingeniera, ULA,
Mrida, 2002.