You are on page 1of 8

PPCAR (PERSONAL PENDULUM CAR):

VEH
ICULO BASADO EN PENDULO
INVERTIDO
A. Viguria R. Cano M. Fiacchini A. Prieto
B. J. Vela F. R. Rubio J. Aracil
C. Canudas-de-Wit

Dpto. Ingenier
a de Sistemas y Autom
atica, Universidad
de Sevilla, Espa
na

Laboratoire dAutomatique de Grenoble (CNRS-LAG),


Francia

Abstract: Este artculo presenta la descripcion de un prototipo construido en la


Escuela Superior de Ingenieros de Sevilla para el transporte de personas. Este
vehculo basa su movimiento en la estabilizaci
on de un pndulo invertido. El
sistema ha sido dise
nado en su totalidad desde la estructura mec
anica al dise
no
de los controladores, utilizando componentes comerciales y de bajo coste. El
control del vehculo se realiza desde un microcontrolador a bordo, supervisado
desde un PC y estando ambos comunicados a travs de un enlace inal
ambrico. El
prototipo desarrollado tiene como finalidad servir de plataforma de investigaci
on
para tecnicas de control.
Keywords: pendulo invertido, control no lineal, tiempo real.

1. INTRODUCCION
El control de un pendulo invertido constituye un
problema clasico dentro del campo del control
no lineal. Existen diferentes variantes del problema, entre las que destacan: pendulo de Furuta (Furuta, 2003), (Astrom and Furuta, 1996),
pendulo sobre un carro m
ovil (Gordillo et al.,
2004) y m
as recientemente pendulo sobre un
vehculo de dos ruedas con motores independientes (Baloh and Parent, 2003), (Grasser et
al., 2002), (Segway, 2004). A su vez, existe una
amplia gama de controladores (lineales, no lineales, optimos, robustos, predictivos, etc.) que han
sido dise
nados para estas aplicaciones en las ultimas decadas. Debido al car
acter practico de este
trabajo y al reducido coste de los componentes
utilizados, se han seleccionado aquellos cuya ley
de control requiere poca potencia de c
alculo.

Fig. 1. Vista general del vehculo (PPCar)


Este artculo se centra en el problema del pendulo
invertido sobre un vehculo de dos ruedas para

el transporte de personas figura 1. De hecho, el


pendulo est
a constituido por la persona que esta
sobre el vehculo. El movimiento de avance est
a
provocado por la inclinaci
on de la persona con
respecto a la posici
on de equilibrio. Mientras que
el movimiento de rotaci
on se controla mediante
una consigna impuesta por la persona mediante
un dispositivo electrico.
El n
ucleo del sistema est
a compuesto por un microcontrolador que es el encargado, a partir de la
informaci
on proveniente de los distintos sensores,
de calcular las acciones de control. Este microcontrolador se comunica con un PC permitiendo
la captura de datos relevantes del vehculo para su
posterior estudio y el ajuste de los controladores
en lnea. Estas caractersticas permiten el estudio
de diversas tecnicas de control mediante la realizacion de sencillos experimentos.
El artculo est
a organizado de la siguiente manera.
La secci
on 2 describe los distintos componentes
que forman el sistema y las relaciones entre ellos
tanto a nivel hardware como software. La secci
on
3 muestra el modelo de la plataforma que ser
a
utilizado en la secci
on 4 en la fase de dise
no
de controladores. En la secci
on 5 se presenta los
resultados obtenidos tanto en simulacion como
en los experimentos realizados. La ultima secci
on
esta dedicada a las conclusiones y a los posibles
desarrollos futuros.
2. ARQUITECTURA DEL SISTEMA
A continuaci
on se ilustra la arquitectura de sistema desde el punto de vista hardware y software.
2.1 Arquitectura hardware
El n
ucleo del sistema es un microcontrolador de 8
bits y bajo coste (Atmega128 de la marca Atmel)
que se comunica con los distintos perifericos. Este
microcontrolador es bastante completo, incorporando: temporizadores, dos UARTS, hasta seis
posibles se
nales PWM, varias entradas al convertidor anal
ogico digital, 128 kilobytes de memoria
de programa, etc. Aunque en principio, un microcontrolador de 8 bits no se considere conveniente para un control en tiempo real y con un
tiempo de muestreo del orden de varios milisegundos como es el caso del vehculo a controlar,
se ha demostrado que s lo es. Esto es posible
gracias al reloj a 16MHz que lleva incorporado,
consiguiendose unas 16 MIPS.
Como se puede observar en la figura 2, existen
dos grandes grupos de dispositivos comunicados al
microcontrolador: sensores y actuadores. El grupo
de los sensores est
a formado, en primer lugar, por
un encoder por cada rueda, que en el vehculo se

han utilizado para medir la velocidad de rotaci


on
de estas. El segundo elemento del grupo de los sensores es un inclin
ometro de la marca MicroStrain
que incorpora un preprocesamiento de la se
nal
basado en un filtro de Kalman. Este preprocesamiento hace posible obtener una lectura fiable
por parte del inclin
ometro y que no sea necesario
un tratamiento posterior. El u
ltimo de los sensores
es utilizado para indicar al control la referencia en
la direcci
on que se desee tome el vehculo. Esta
referencia se indica a partir de un pu
no con una
interfaz electrica. Con respecto a los actuadores,
el sistema consta de dos motores electricos alimentados a 24V y capaces de llegar a las 240 rpm. La
potencia electrica que necesitan estos motores es
suministrada por una controladora de los motores
de la marca RoboteQ y que se comunica con el
microcontrolador a partir del est
andar RS-232 y
un protocolo de comunicaciones.
En lo referente a los equipos auxiliares, cabe
destacar el enlace inal
ambrico basado en tecnologa Bluetooth. Este enlace permite utilizar
una conexi
on serie inal
ambrica pero transparente
a ambos extremos y que es utilizado para comunicar el microcontrolador con el PC de supervisi
on. La caja de control, por otra parte, permite:
apagar y encender el sistema, conocer f
acilmente
el estado del microcontrolador a partir de un led e
incorpora un mecanismo de seguridad que consiste
en un interruptor que mientras el controlador este
activo debe estar pulsado, en caso contrario el
control dejar
a de funcionar y el vehculo se parar
a.
2.2 Software del microcontrolador
El software para el microcontrolador ha sido
basado en el sistema operativo para sistemas embebidos TinyOS (Hill et al., 2000), desarrollado en
la Universidad de Berkeley. Este sistema operativo
est
a dirigido por eventos, es decir, que el software
responde ante eventos que son propagados desde el
nivel hardware hasta los niveles superiores, siendo
estos cada vez m
as abstractos.
TinyOS, es un software de fuentes abiertas y que
ofrece varias ventajas como una estructura de
m
odulos jer
arquica que permite al programador
de aplicaciones abstraerse de las singularidades
del hardware con el que est
a trabajando. Adem
as
esta estructura de m
odulos permite una reutilizaci
on sencilla del c
odigo, que incluso permite
el desarrollo de ciertas aplicaciones casi sin la
creaci
on de nuevo c
odigo.
En este sistema operativo se utiliza un nuevo
lenguaje de programaci
on llamado NesC, siendo
utilizado para programaci
on de aplicaciones estructuradas basadas en componentes. Este lenguaje
de programaci
on permite el desarrollo de aplicaciones compactas que necesitan poco espacio

Fig. 2. Arquitectura del sistema


de memoria lo cual es muy importante en los
sistemas embebidos. En estos sistemas el dise
no
debe estar basado en un n
ucleo multi-hilo que sea
extremadamente simple y eficiente. Este n
ucleo
tiene dos tipos estructuras:

que permite la utilizaci


on de estos sin tener que
conocer los niveles inferiores.

Eventos: pueden interrumpir a las tareas, se


ejecutan cuando se produce un evento hardware y deben realizar peque
nas cantidades de
c
alculos.
Tareas: no son temporalmente crticas, suelen
utilizar mucho mayor tiempo de c
alculo que
los eventos, adem
as las tareas no se interrumpen entre ellas por lo que la siguiente
tarea s
olo se ejecuta cuando termina la anterior (esto simplifica el n
ucleo del sistema al
s
olo necesitar una u
nica pila).

Para la realizaci
on de experimentos u
tiles, es necesario tener un medio fiable para monitorizar y
almacenar los datos generados por los mismos,
motivando el desarrollo de una aplicacion de PC
(figura 2.3) cuyos objetivos son: monitorizaci
on en
tiempo real de las variables del sistema, capacidad
de guardar las muestras obtenidas durante el experimento para su posterior estudio, control de los
distintos estados del controlador (parada, activo,
parada de emergencia) y posibilidad de cambiar
de forma sencilla los par
ametros de control sin la
necesidad de volver a programar el microcontrolador.

En principio, este sistema operativo est


a pensado
para ser utilizado en los nodos de las redes de
sensores inal
ambricas. Sin embargo ha sido modificado para que pueda ser utilizado en un sistema
de control en tiempo real. Para ello, se ha creado
un reloj de tiempo real de 10ms que dotar
a al sistema de una base de tiempo y ser
a el encargado de
activar el ciclo de control. Mientras que tanto para
las comunicaciones por el puerto serie como para
la lectura de los datos de los distintos sensores, se
han utilizado interrupciones.
Por u
ltimo, conviene destacar que en el desarrollo
del software se ha seguido la estructura basada
en m
odulos anteriormente mencionada con la intenci
on de que el programa sea f
acilmente escalable y abstraer a nuevos desarrolladores del nivel
hardware. Los m
odulos b
asicos que se han desarrollado son: convertidor anal
ogico digital, puerto
serie, encoder y temporizador. Cada uno de estos
m
odulos ofrece en su nivel m
as alto una interfaz

2.3 Software del PC

Para llevar a cabo estos objetivos ha sido necesario


utilizar un enlace inal
ambrico y adem
as el dise
no
de un protocolo de comunicaciones que permita,
tanto al PC como al microcontrolador, interpretar
todos los datos correctamente. Este protocolo de
comunicaciones est
a formado por una serie de
PDUs, donde el PC controla las comunicaciones y
el microcontrolador s
olo responde a las peticiones
de este. Por ejemplo, si el PC quiere cargar los
par
ametros del controlador, entonces transmitira
la PDU asociada a esa tarea y que est
a formada
por: una cabecera indicando el tipo de PDU, un
identificador del controlador al que se quieren
cargar los nuevos valores y por u
ltimo los distintos
valores de los par
ametros. Una vez recibida toda
la informaci
on correctamente el microcontrolador
realiza un acuse de recibo mandando u
nicamente
de vuelta la cabecera que indica el tipo de PDU
recibida.

3.1 Vehculo con tracci


on diferencial
La variable de salida en este sistema es la velocidad de giro respecto al eje vertical. La referencia
para ella viene dada por una se
nal procedente del
pu
no de direcci
on del vehculo.
Considerando las fuerzas ejercidas por cada una
de las ruedas, Fi y Fd , puede obtenerse las ecuaciones del vehculo
J = (Fd Fi ) d
Fig. 3. Aplicaci
on de PC para monitorizar el
sistema
Para facilitar la carga de los distintos controladores y permitir de forma sencilla el cambio de
los par
ametros de estos, desde el PC y sin tener
que reprogramar el microcontrolador, se han desarrollado una serie de plantillas gr
aficas basadas
en XML.

3. MODELO DEL SISTEMA

(1)

donde
Fi y Fd : fuerza ejercida por la rueda
izquierda y derecha respectivamente
J : momento de inercia respecto al eje vertical
: aceleraci
on angular alrededor del eje z
d : distancia entre las ruedas
3.2 Pendulo invertido sobre base m
ovil
En la Figura 5 se ha representado el subsistema constituido por el pendulo invertido sobre
plataforma m
ovil.

El sistema, de forma simplificada, est


a constituido
por una plataforma montada sobre dos ruedas que
son accionadas por dos motores independientemente. Sobre esta plataforma se sit
ua una masa
que puede ser modelada como una masa puntual
a una distancia l del plano de la base. La figura 3
muestra de forma esquem
atica la estructura del
vehculo, los ejes de referencias, los grados de
libertad y las entradas del sistema.

Fig. 5. Pendulo invertido sobre carro m


ovil
El equilibrio de fuerzas en el eje x permite obtener
la ecuaci
on
(M + m)
x + M l cos = F

(2)

Por otra parte el balance de momentos en torno


al punto de giro del pendulo conduce a
x
M l cos + M l2 M gl sin = 0

(3)

donde:
Fig. 4. Esquema de la estructura del vehculo
Desde el punto de vista del control, el sistema puede descomponerse en dos subsistemas
que practicamente est
an desacoplados entre s.
Una parte est
a formada por un robot m
ovil
con tracci
on diferencial, la otra la constituye un
pendulo invertido sobre un carro m
ovil.

m : masa del carrito


M : masa del pendulo
l : altura del centro de masa
g : aceleraci
on de la gravedad

Ya que el objetivo del control es la estabilizaci


on
del angulo en cero y de la velocidad lineal x,

las variables de estado de interes del sistema son

solamente el
angulo , la velocidad angular y la
velocidad v.
DE CONTROLADORES
4. DISENO
En esta secci
on, se describen los dos metodos de
control empleados para este sistema. El primero
es un LQR (Linear Quadratic Regulator), un
control lineal para el que es necesario un modelo
del sistema linealizado alrededor del punto de
equilibrio. El otro es un control no lineal que se
dise
na a partir de las ecuaciones diferenciales no
lineales obtenidas anteriormente.

El controlador LQR es un control por realimentaci


on del vector de estados de la forma
(4)

tal que el valor de K se obtiene a partir de un


problema de minimizacion del funcional de coste
Z
J = (x0 Qx + u0 Ru)dt

(5)

Las matrices Q y R penalizan respectivamente el


error del estado y el esfuerzo de control.
El sistema puede ser linealizado en torno al punto
de equilibrio = 0, = 0 y v = 0. En este punto
pueden realizarse las aproximaciones cos 1 y
sin 0. Con ello las ecuaciones de estado en
forma matricial quedan de la forma

0
1
0
0

(M + m)g
1
0

+
=
0

ml
ml F (6)

1
M
g
v
v
0
0
m
m
Utilizando este modelo la soluci
on del problema
LQR conduce a un controlador de la forma
F = K1 K2 K3 v

4.2.1. Linealizaci
on parcial.
Si se define una
nueva variable de control dada por
u=

F + M l2 sin M g sin cos


(M + m) M cos2

(7)

donde los par


ametros K1 , K2 y K3 vienen determinados por los valores de los elementos de las
matrices Q y R de la expresi
on 5.

El dise
no del controlador no lineal se ha realizado
en varias fases. En primer lugar se ha obtenido una
linealizaci
on parcial de las ecuaciones del sistema.
Posteriormente se ha procedido a la estabilizaci
on
del subsistema pendulo mediante el moldeo de

(9)

por lo que las ecuaciones de estado del sistema


quedan como
x1 = x2
g sin x1 u cos x1
x2 =
l
x3 = u

(10)

x3 = x.
donde x1 = , x2 = ,

El sistema presenta ahora una estructura en cascada que permite obtener una soluci
on escalonada
al problema de control.
4.2.2. Estabilizaci
on del pendulo mediante el moldeo
de la funci
on de energa. Existen diversas formas de estabilizar el pendulo. Una de ellas consiste en, mediante una ley de control adecuada,
modificar la forma de la energa del sistema de
manera que el mnimo de la misma se encuentre
en el punto que se desea estabilizar.
Para obtener esta ley de control basta con igualar
las ecuaciones de un pendulo invertido con las de
uno no invertido, obteniendose
u = 2g tan x1

(11)

Utilizando esta ley de control el sistema presentara oscilaciones alrededor del punto de equilibrio. Si se desea un comportamiento asint
oticamente
estable es necesario a
nadir un termino de amortiguamiento.
u = 2Km g tan x1 +

4.2 Controlador no lineal

(8)

las ecuaciones 2 y 3 del modelo pueden rescribirse


como
u cos + l g sin = 0
x
=u

4.1 Controlador LQR

u = Kx

la funci
on energa, para finalmente estabilizar la
velocidad lineal de vehculo mediante el controlador propuesto por Astolfil-Kaliora. En las subsecciones siguientes se detallan cada una de estas
fases.

Ka
x2
M

(12)

donde Km es una constante que a


nade un mayor
grado de libertad al ajuste del controlador.
4.2.3. Estabilizaci
on de la velocidad. Una vez
estabilizado el pendulo y ya que el sistema, tras
la linealizaci
on parcial, posee una estructura en

cascada puede aplicarse tecnicas de forwarding,


para estabilizar la velocidad del vehculo. As, este
objetivo puede conseguirse a
nadiendo un nuevo
termino a la ley de control de la forma
u = 2Km g tan x1 +

Ka
x2 + ud
M

(13)

El valor de ud puede obtenerse de diversas maneras (Kaliora and Astolfi, 2004)??. En este trabajo, debido a su simplicidad de c
alculo, se ha
utilizando la ley de control propuesta por AstolfiKaliora (Kaliora and Astolfi, 2004)?? donde
ud =  sat

Kv x3


(14)

Con esto y deshaciendo la linealizaci


on parcial,
la ley de control global que indica la fuerza a
aplicar al carro para conseguir la estabilizaci
on
del pendulo y de la velocidad del vehculo queda


F = (M + m) M cos2 u+

(15)

M g sin cos M l2 sin

con
u = 2Km g tan +

Ka
+  sat
M

Kv v


(16)

4.2.4. Sintonizaci
on del controlador no lineal
El controlador LQR presenta un comportamiento
optimo entorno al punto de equilibrio. As que, si
se determina la relaci
on entre las constantes de
este controlador y las del Astolfi-Kaliora, podran
obtenerse unos valores de Km , Ka y Kv que
proporcionen un comportamiento similar a LQR
al menos en el punto de equilibrio.
Deshaciendo la linealizaci
on parcial que se realiz
o
como paso previo al dise
no del control no lineal se
tiene que
F = [(M + m) M cos2 ]u+
M g sin cos M l2 sin

(17)

donde u es definida por la expresi


on 16.
Si se linealizan estas ecuaciones en el punto de
equilibrio = 0, = 0 y v = 0, se obtiene que
F = [M g + 2gmKm ] + mKa + mKv v

(18)

Si se compara esta ecuaci


on con la del LQR,
ecuaci
on 7, pueden obtenerse los valores de Km ,
Ka y Kv que proporcionar
an buenas caractersticas al controlador, esto es

Km =

K1 M g
2gm

Ka =

K2
m

Kv =

K3
m

(19)

5. RESULTADOS OBTENIDOS
Concluido el dise
no de controladores se ha realizado un conjunto de simulaciones con la herramienta Simulink de Matlab. Esto ha permitido
comprobar su funcionamiento as como proceder
a la sintonizacion de los distintos par
ametros de
dichos controladores. La se
nal procedente del controlador, que se corresponde a la fuerza a aplicar
al carro, es repartida de forma simetrica entre las
dos ruedas del vehculo.
Por otra parte, para el guiado del vehculo se ha
utilizado un control proporcional que aumenta la
fuerza ejercida por una de las ruedas y la disminuye en la otra, lo que provoca el giro deseado.
Para el c
alculo de los par
ametros del controlador
lineal se ha resuelto la ecuacion de Riccati asociada al problema LQR empleando las matrices

100 0 0
R = 0.1
(20)
Q = 0 100 0
0 0 1
en la ecuacion 5, obteniendo los siguientes valores
K1 = 2000

K2 = 300

K3 = 10

(21)

Usando las ecuaciones 19 de sintonizacion, los


par
ametros del controlador no lineal son
Km =??

Ka = 300??

Kv = 10??

(22)

Las simulaciones realizadas con estos par


ametros
muestran que los dos controladores, LQR y no
lineal, presentan un comportamiento muy similar
en torno al punto de equilibrio. S
olo se aprecian diferencias cuando el pendulo se aleja de la
posici
on vertical. En la figura 6 se muestra la
evolucion del angulo, con ambos controladores,
partiendo de una posici
on inicial de 0.5 rad hasta
su estabilizaci
on en cero.
Al implementar estos controladores en el vehculo
se ha observado una fuerte vibraci
on debida a la
presencia de un ruido en la se
nal del inclin
ometro.
El efecto de este ruido se presenta en la realimentaci
on de la medida del ang
ulo y sobre todo
ya que esta se calcula en
en la de su derivada ,
base al incremento de la se
nal en el intervalo de
muestreo. Como el tiempo de muestreo es muy
peque
no, 10ms, las r
apidas variaciones debidas

dise
no de filtros IIR (Infinite Impulse Response)
mediante la transformaci
on bilineal (Ifeachor and
Barrie, 1993). La funci
on de transferencia del filtro
implementado es:
H(z 1 ) =

Fig. 6. Comparaci
on de controladores
al ruido conllevan valores muy elevados de la
derivada.
0.5
Derivada con K = 100
Derivada con K = 300
0.4

0.0133z 2 + 0.0266z 1 + 0.0133


(23)
0.85z 2 1.9734z 1 + 1.1766

Finalmente, se ha observado empricamente un


buen comportamiento fijando K2 = 100? para el
LQR y calculando el Ka asociado para el controlador no lineal. En las figuras 9 y 10 se muestran
las fuerzas asociadas a cada una de las ruedas del
vehculo para cada uno de los controladores implementados. En ambas gr
aficas se muestra un mismo
experimento donde en primer lugar el vehculo se
desplaza hacia adelante, a continuaci
on da una
vuelta sobre s mismo y finalmente se desplaza
hacia adelante girando de izquierda a derecha.

0.3

250
F. Izq
F. Der

0.2

200

Derivada
de la
inclinacin
(rad/seg)

0.1

150

0.1

Fuerza
(Newton)

100

0.2

0.3

50
0.4

0.5

0
0

10

20

30
40
Tiempo (segundos)

50

60

70

Fig. 7. Incremento del ruido en al aumentar la


ganancia

50

100

10

20

30

40
50
Tiempo (segundos)

60

70

80

0.3
Seal original
Seal filtrada

Fig. 9. Resultados experimentales obtenidos con


el controlador LQR

0.25

0.2

250

Inclinacin
(radianes)

0.15

F. Izq
F. Der
200

0.1

150

0.05

100

0.05

Fuerza
(Newton)

50
0

10

20

30

40
50
Tiempo (segundos)

60

70

80

90

Fig. 8. Comparaci
on entre la se
nal original y
filtrada
Para atenuar este fen
omeno se puede actuar sobre
dos aspectos; aplicando un filtro pasa bajo a
la se
nal para eliminar las componentes de alta
frecuencia debidas al ruido y disminuyendo el
valor de la constante de realimentaci
on del estado
Ambos efectos quedan ilustrados en las figuras
.
7 y 8.
Concretamente se ha aplicado un filtro de segundo orden Butterworth utilizando la tecnica de

50

100

10

20

30

40
50
Tiempo (segundos)

60

70

80

Fig. 10. Resultados experimentales obtenidos con


el controlador no lineal
En la figura 11 se muestra una secuencia de fotogramas de un vdeo de una de las pruebas donde
se puede observar como el pendulo es estabilizado
incluso cuando se realizan giros.

Fig. 11. Secuencia de fotogramas de un experimento


6. CONCLUSIONES Y DESARROLLO
FUTURO
En este artculo se presenta un vehculo cuyo
movimiento est
a basado en la estabilizaci
on de
un pendulo invertido. Este vehculo ha sido construido a partir de componentes comerciales de
bajo coste. Se ha conseguido un sistema de experimentaci
on que permite de forma sencilla el estudio
de diversos controladores.
En las pruebas realizadas se han utilizado dos
tipos de controladores: un controlador lineal
optimo (LQR) y un controlador no lineal basado
en moldeo de energa, obteniendo resultados satisfactorios en ambos casos.
Dentro de los desarrollos futuros se contempla el
dise
no de nuevas tecnicas de control, su posterior
experimentaci
on y un estudio comparativo entre
ellos.
Agradecimientos. Los autores desean expresar su
agradecimiento al MCYT-FEDER por subvencionar este trabajo a partir de los proyectos
DPI2004-06419, DPI2003-00429, HF2003-0237 y
SAB2003-0085. Tambien agradecen la subvenci
on
proporcionada por el programa PICASSO No.
07261YJ (EGIDE) del Ministerio Frances de
Asuntos Exteriores y de LAFMA.

REFERENCES
Astrom, K. J. and K. Furuta (1996). Swinging-up
a pendulum by energy control. In: Proc. IFAC
Congress. pp. 3795.
Baloh, M. and M. Parent (2003). Modeling and
model verification intelligent self-balancing
two-wheeled vehicle for an autonomous urban
transportation system. In: Conf. Comp. Intelligence, Robotics Autonomous Systems. Singapore.
Furuta, K. (2003). Control of pendulum: From
super mechano-system to human adaptative
mechatronics. In: Proceedings of the 42nd
IEEE CDC.
Gordillo, F., F. Salas and J. Aracil (2004). A
forwarding controller for the pendulum on

a cart. In: Proceedings of Controlo. Vol. 6.


Portugal.
Grasser, F., A. DArrigo, S. Colombi and
A. Rufer (2002). Joe: A mobile, inverted pendulum. IEEE Trans. Industrial Electronics
40(1), 107114.
Hill, J., R. Szewczyk, A. Woo, S. Hollar, D. Culler
and K. Pister (2000). System architecture directions for networked sensors. ACM. Operating Systems Review. 34(5), 93104.
Ifeachor, Emmanuel C. and W. Jervis Barrie
(1993). Digital Signal Processing: A Practical
Approach. Addison-Wesley.
Kaliora, G. and A. Astolfi (2004). Nonlinear control of feedforward systems with
bounded signals. IEEE Trans. Autom. Control 49(11), 19751990.
Segway, Inc. (2004). http://www.segway.com.