Diseño de sistema de control de un péndulo invertido accionado mediante volante de inercia
Abstract
INTRODUCCIÓN Y OBJETIVOS
El proyecto se centra en el diseño de un control en el que acelerando un volante de
inercia y frenándolo de golpe, permita a la cara de un cubo levantarse desde el reposo y
equilibrarse sobre uno de sus vértices. El control se basa en los principios para controlar los
denominados sistemas de péndulo invertido. Mediante unas ligeras modificaciones, este control
podrá ser extrapolado a las otras caras del cubo, obteniendo un control 3D para así, alcanzar el
fin último del proyecto: “The Cubli: A Cube that can Jump Up and Balance.
Los sistemas de péndulo invertido se encuentran englobados dentro de los
denominados sistemas subactuados, los cuales, ofrecen un gran ahorro de energía. Esta
eficiencia energética se debe a que, utilizando menos actuadores que grados de libertad
existentes en el sistema, son capaces de conseguir un control robusto.
PROTOTIPO
La estructura del prototipo está basada en el
prototipo de una cara realizado por la universidad ETH de
Zurich. Consta de una cara cuadrada de aluminio, fijada
por uno de sus vértices a un soporte que le permite girar
con libertad sobre el plano vertical, y que tiene acoplada
los componentes necesarios para llevar a cabo el control
de sistema: motor, volante de inercia, sensores, servo y
microcontrolador.
El microcontrolador elegido es una Raspberry Pi Zero W. La elección se debe a la
compatibilidad con el entorno Matlab/Simulink con el que se tenía pensado trabajar, su ligero
peso, pequeño tamaño y gran variedad de métodos de comunicación posibles. El motor es un
Maxon EC45 FLAT Brushless de 50W y el volante de inercia un disco de mini moto. El resto de
los componentes son dos sensores IMU para obtener las velocidades y aceleraciones del
prototipo y un ADC para convertir la señal analógica procedente de los sensores hall del motor
a digital y así conocer la velocidad del motor y volante de inercia. La comunicación con los
sensores y ADC se realiza mediante protocolo I2C.
MODELADO
Apoyándose en la mecánica lagrangiana, las ecuaciones de Euler-Lagrange y el método de
los momentos generalizados, se obtienen las ecuaciones no lineales que rigen el sistema. El
sistema queda definido por las siguientes variables de estado:
- θb = Ángulo de la diagonal del péndulo respecto a la vertical (perpendicular a la base).
- θ̇b = Velocidad angular del péndulo, a partir de ahora se denominará ωb.
- θ̇𝑤 = Velocidad angular del volante de inercia, a partir de ahora se denominará ωw
Posteriormente, se define el punto de operación del sistema, resultando ser aquel
donde las tres variables de estado tienen valor nulo. Por último, se linealizan las ecuaciones no
lineales que rigen el sistema en torno al punto de operación.
DISEÑO DEL CONTROL
Consiste en un control por realimentación de estados donde el diseño del control se
realiza sobre el modelado del sistema. Se emplea la configuración Butterworth de tercer orden,
que consiste en colocar dos polos complejos y uno real; todos con el mismo módulo. Dichos
polos, tienen que cumplir con las necesidades del sistema. Deben proporcionar tanto un
sobrepaso pequeño, como la rapidez suficiente para que no permitan al sistema superar el
ángulo límite de recuperación.
Es necesario tener claro que la estimación de las variables de estado es fundamental ya
que las salidas solo dependen de la entrada aplicada y de las propias variables de estado. La
estimación del ángulo de inclinación es la más complicada. Se obtiene mediante el uso de dos
IMU colineales en la diagonal de la cara y a partir de las medidas de sus respectivos
acelerómetros del eje X e Y. Las estimaciones de las velocidades son prácticamente directas ya
que la velocidad del volante de inercia es proporcionada por los sensores hall del motor y la
velocidad del cuerpo por el giróscopo en el eje Z de las IMUs.
IMPLANTACIÓN DEL CONTROL
La implantación del control se realiza con la herramienta Simulink. Antes de realizar la
implantación, es necesario probar el control sobre el modelo generado del sistema en
simulación. De no hacerlo, el hardware podría sufrir daños. Soltando el cuerpo desde un ángulo
de 10o se obtuvo el siguiente resultado de simulación en el control de ángulo:
Debido a las pocas entradas y a que los estados son secuenciales, resulta muy útil a la
hora de implantar el control una máquina de estados o de Moore para unir los controles de salto
y balanceo. Los estados de la máquina de estados son los siguientes:
1) STOP: Se trata del estado inicial en donde todo está parado.
2) CALIBRATION: Durante este estado se están calibrando los sensores para que en las
etapas posteriores funcionen adecuadamente
3) ACCELERATION: Se activa el motor y este empieza a acelerarse hasta alcanzar la
velocidad fijada para realizar el salto.
4) BREAK: Al llegar a este estado se activa el servo para frenar el disco de forma brusca
y generar el par que eleve la cara.
5) BALANCE: Comienza el control de balanceo que intentará mantener el sistema en el
punto de operación.
RESULTADOS Y CONCLUSIONES
El control de balanceo resultó ser deficiente e incapaz de mantener al prototipo en el
punto de operación debido a las vibraciones producidas por el volante de inercia. A pesar de
ello, se adaptaron todos los componentes necesarios del sistema al prototipo y se mejoró su
estabilidad. También, se consiguió la estimación de todas las variables de estado de manera
simultánea y se preparó el control de salto para poder llevarse a cabo en futuros desarrollos. INTRODUCTION AND OBJECTIVES
The project focuses on the design of a control that accelerates a flywheel and brakes it,
allowing the face of a cube to rise from rest and balance on one of its vertexes. The control is
based on the principles for controlling the so-called inverted pendulum systems. By means of
slight modifications, this control can be extrapolated to the other faces of the cube, obtaining a
3D control in order to reach the end of the project: "The Cubli: A Cube that can Jump Up and
Balance.
The inverted pendulum systems are included in the so-called sub actuated systems,
which offers great energy savings. This energy efficiency is because, using fewer actuators than
degrees of freedom existing in the system, they can achieve a robust control.
PROTOTYPE
The structure of the prototype is based on the
one-face prototype made by the ETH University of
Zurich. It consists of an aluminum square face, fixed by
one of its vertexes to a support that allows it to rotate
freely on the vertical plane, and which has the
components necessary to carry out the system control:
engine, flywheel, sensors, servo and microcontroller.
The microcontroller chosen is a Raspberry Pi
Zero W. The choice is due to the compatibility with the Matlab/Simulink environment with which
it was intended to work, its light weight, small size and variety of possible communication
methods. The engine is a 50W Maxon EC45 FLAT Brushless and the flywheel is a mini motorbike
disc. The rest of the components are two IMU sensors to obtain the speeds, accelerations of the
prototype and an ADC to convert the analog signal from the engine hall sensors to digital and
thus know the speed of the engine and flywheel. The communication with the sensors and ADC
is made by means of protocol I2C
MODELING
Using lagrangian mechanics, the Euler-Lagrange equations and the generalized moments
method, we obtain the non-linear equations that govern the system. The system is defined by
the following state variables:
- θb = Angle of the diagonal of the pendulum with respect to the vertical (perpendicular
to the base).
- θ̇b = Angular velocity of the pendulum, from now on it will be called ωb.
- θ̇b = Angular velocity of the flywheel, from now on it will be called ωw
Subsequently, the operating point of the system is defined, resulting in the one where
the three state variables have zero value. Finally, the non-linear equations that govern the
system are linearized around the operating point.
CONTROL DESIGN
It consists of a control by feedback of states where the design of the control is made on
the modeling of the system. The third order Butterworth configuration is used, which consists
of placing two complex poles and a real one; all with the same module. These poles must meet
the needs of the system. They must provide both a small overshoot and enough speed not to
allow the system to exceed the recovery limit angle.
It is necessary to be clear that the estimation of the state variables is fundamental since
the outputs only depend on the input applied and on the state variables themselves. The
estimation of the inclination angle is the most complicated. It is obtained by using two collinear
IMUs on the diagonal of the face and from the measurements of their respective accelerometers
of the X and Y axis. The estimates of the velocities are practically direct since the speed of the
flywheel is provided by the engine hall sensors and the speed of the body by the gyro on the Z
axis of the IMUs.
CONTROL IMPLEMENTATION
The control is implemented using the Simulink tool. Before implementation, it is
necessary to test the control over the model generated from the simulation system. Failure to
do so could result in damage to the hardware. Releasing the body from a 10o angle resulted in
the following simulation result in the angle control:
Due to the few inputs and the fact that the states are sequential, it is very useful when
implementing a state machine or Moore control to join the jump and roll controls. The states
of the state machine are as follows:
1) STOP: This is the initial state where everything is stopped.
2) CALIBRATION: During this state the sensors are being calibrated so that in the later
stages they work properly.
3) ACCELERATION: The engine is activated and begins to accelerate until it reaches the
speed set to perform the jump.
4) BREAK: When this state is reached, the servo is activated to brake the disc abruptly
and generate the torque that raises the face.
5) BALANCE: Begins the roll control that will try to keep the system at the point of
operation.
RESULTS AND CONCLUSIONS
The roll control proved to be deficient and unable to maintain the prototype at the
point of operation due to vibrations produced by the flywheel. Despite this, all necessary
system components were adapted to the prototype and its stability improved. Also, the
estimation of all state variables was achieved simultaneously, and the jump control was
prepared to be carried out in future developments.
Trabajo Fin de Grado
Diseño de sistema de control de un péndulo invertido accionado mediante volante de inerciaTitulación / Programa
Grado en Ingeniería en Tecnologías IndustrialesMaterias/ categorías / ODS
GITI-N (KTI-electronica)Palabras Clave
cubo, Cubli, péndulo invertido, control, volante de inercia, variables de estadocube, The Cubli, inverted pendulum, control, flywheel, state variables