Universidad Pontificia Comillas: Diseño de Un Sistema de Suspensión Activa para Esquivar La Colisión Con Badenes
Universidad Pontificia Comillas: Diseño de Un Sistema de Suspensión Activa para Esquivar La Colisión Con Badenes
Universidad Pontificia Comillas: Diseño de Un Sistema de Suspensión Activa para Esquivar La Colisión Con Badenes
DISEÑO DE UN SISTEMA DE
SUSPENSIÓN ACTIVA PARA ESQUIVAR
LA COLISIÓN CON BADENES
1
AUTORIZACIÓN PARA LA DIGITALIZACIÓN, DEPÓSITO Y DIVULGACIÓN EN ACCESO ABIERTO
(RESTRINGIDO) DE DOCUMENTACIÓN
Con el fin de dar la máxima difusión a la obra citada a través del Repositorio institucional de la
Universidad y hacer posible su utilización de forma libre y gratuita ( con las limitaciones que más
adelante se detallan) por todos los usuarios del repositorio y del portal e-ciencia, el autor CEDE a
la Universidad Pontificia Comillas de forma gratuita y no exclusiva, por el máximo plazo legal y con
ámbito universal, los derechos de digitalización, de archivo, de reproducción, de distribución, de
comunicación pública, incluido el derecho de puesta a disposición electrónica, tal y como se
describen en la Ley de Propiedad Intelectual. El derecho de transformación se cede a los únicos
efectos de lo dispuesto en la letra (a) del apartado siguiente.
1
Especificar si es una tesis doctoral, proyecto fin de carrera, proyecto fin de Máster o cualquier otro trabajo
que deba ser objeto de evaluación académica
3º. Condiciones de la cesión.
(b) Reproducirla en un soporte digital para su incorporación a una base de datos electrónica,
incluyendo el derecho de reproducir y almacenar la obra en servidores, a los efectos de garantizar
su seguridad, conservación y preservar el formato. .
(c) Comunicarla y ponerla a disposición del público a través de un archivo abierto institucional,
accesible de modo libre y gratuito a través de internet. 2
El autor, en tanto que titular de una obra que cede con carácter no exclusivo a la Universidad por
medio de su registro en el Repositorio Institucional tiene derecho a:
b) Comunicar y dar publicidad a la obra en la versión que ceda y en otras posteriores a través de
cualquier medio.
2
En el supuesto de que el autor opte por el acceso restringido, este apartado quedaría redactado en los
siguientes términos:
(c) Comunicarla y ponerla a disposición del público a través de un archivo institucional, accesible de modo
restringido, en los términos previstos en el Reglamento del Repositorio Institucional
3
En el supuesto de que el autor opte por el acceso restringido, este apartado quedaría eliminado.
c) Solicitar la retirada de la obra del repositorio por causa justificada. A tal fin deberá ponerse en
contacto con el vicerrector/a de investigación (curiarte@rec.upcomillas.es).
d) Autorizar expresamente a COMILLAS para, en su caso, realizar los trámites necesarios para la
obtención del ISBN.
d) Recibir notificación fehaciente de cualquier reclamación que puedan formular terceras personas
en relación con la obra y, en particular, de reclamaciones relativas a los derechos de propiedad
intelectual sobre ella.
El autor se compromete a:
a) Garantizar que el compromiso que adquiere mediante el presente escrito no infringe ningún
derecho de terceros, ya sean de propiedad industrial, intelectual o cualquier otro.
b) Garantizar que el contenido de las obras no atenta contra los derechos al honor, a la intimidad y
a la imagen de terceros.
c) Asumir toda reclamación o responsabilidad, incluyendo las indemnizaciones por daños, que
pudieran ejercitarse contra la Universidad por terceros que vieran infringidos sus derechos e
intereses a causa de la cesión.
d) Asumir la responsabilidad en el caso de que las instituciones fueran condenadas por infracción
de derechos derivada de las obras objeto de la cesión.
La obra se pondrá a disposición de los usuarios para que hagan de ella un uso justo y respetuoso
con los derechos del autor, según lo permitido por la legislación aplicable, y con fines de estudio,
investigación, o cualquier otro fin lícito. Con dicha finalidad, la Universidad asume los siguientes
deberes y se reserva las siguientes facultades:
- La Universidad informará a los usuarios del archivo sobre los usos permitidos, y no garantiza ni
asume responsabilidad alguna por otras formas en que los usuarios hagan un uso posterior de las
obras no conforme con la legislación vigente. El uso posterior, más allá de la copia privada,
requerirá que se cite la fuente y se reconozca la autoría, que no se obtenga beneficio comercial, y
que no se realicen obras derivadas.
- La Universidad no revisará el contenido de las obras, que en todo caso permanecerá bajo la
responsabilidad exclusiva del autor y no estará obligada a ejercitar acciones legales en nombre del
autor en el supuesto de infracciones a derechos de propiedad intelectual derivados del depósito y
archivo de las obras. El autor renuncia a cualquier reclamación frente a la Universidad por las
formas no ajustadas a la legislación vigente en que los usuarios hagan uso de las obras.
ACEPTA
Fdo.
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
INGENIERO INDUSTRIAL
DISEÑO DE UN SISTEMA DE
SUSPENSIÓN ACTIVA PARA ESQUIVAR
LA COLISIÓN CON BADENES
ABSTRACT .......................................................................................................................................... 16
1. Introducción .............................................................................................................................. 20
5. Resultados ................................................................................................................................. 76
Referencias ........................................................................................................................................ 85
DISEÑO DE UN SISTEMA DE SUSPENSIÓN ACTIVA PARA ESQUIVAR LA
COLISIÓN CON BADENES
1 𝑅𝑅
𝑤𝑚 = (𝑢 − )
� 𝐾𝑒 𝐾𝑒
𝑚
𝑇𝑙𝑙𝑙 𝑤𝑚 + 𝑚𝑚 ∗ sin(𝜃) = 𝑥̈ 𝑐ℎ + 𝐷𝑥̇ 𝑐ℎ + 𝐾𝑥𝑐ℎ
4
−4𝐷/𝑚 −4𝐾/𝑚 4𝑇 4𝑔
𝐴=� � ; 𝐵 = � 𝑙𝑙𝑙 �
1 0 0 0
𝐶 = [0 1] ; 𝐷 = [0 0]
PROJECT SUMMARY
1. Objectives that the installed on-board sensors can
gather. The active or semi active suspension
The following project has as its main system tries to solve the mentioned
target the development of the hardware and compromise adapting itself, in every
software needed to ease the control design moment, to the road conditions and the
of a vehicle prototype suspension in driver maneuvering, in the way they provide
Matlab/Simulink programming environment. simultaneously a decent level of comfort and
an optimal control of the vehicle.
2. Motivation y State of the Art
The motivation to do this project is
In the last decades we have been to be the theoretic base and stimulus so,
witnesses of the revolution that the someday, the University Pontificia de
automotive sector has been involved in, Comillas can confirm and make real studies
changing the understanding of the optimal regarding the utility of digital controls
performance of a vehicle, opening several applied to hydraulic dampers and to look for
lines of research completely new, but always new elements that can provide actuation
focusing on the dream of automatic driving. over the suspension of a vehicle.
These evolutions in performance, comfort,
ecology and automotive services come from, 3. System Description
mostly, from the implementation of
electronics in every aspect, as it is sorely The project hardware is a prototype
needed more information in real time. that simulates a front-wheel drive vehicle.
Said prototype is made of Lego Technic
A passive suspension system has the pieces, that allow an easy and all-round
capacity to store energy in its springs and assembling, but regarding the rigidity of the
dissipate it in the dampers. Its parameters prototype, it shows some difficulties to avoid
are fixed and are chosen to reach a flexibility in long structures.
compromise between stability, load securing
and comfort. An active suspension is able to The prototype has two very
store, dissipate and introduce energy in the differentiable parts: the dampers and the
system. It can vary its parameters depending chassis. First of all the dampers are built
on the operation conditions and the values separately, fixing the movement of the
10
system to the vertical axis only and building
the necessary physical restrictions needed to
ensure said movement. Afterwards,
suspensions are attached in pairs, the front-
wheel drive through longitudinal beams
between the motors and the back-wheel
drive attaching the dampers to the aluminum
axis that is the back-wheel transmission shaft
of the prototype. Moreover, some beams are
attached between the dampers that ensure,
in one more degree, the maintenance of the Figure 2. Lateral view of the prototype
linearity between both suspensions. As a last
step, suspensions are connected together,
fixing the distance between them and
building the chassis from it, attaching the
front and back bumpers to it.
11
The equations that regulate the
system represent the movement of the
motor and of the physical system in regard to
the supply voltage of the motor and the
angle of the rolling contact surface:
1 𝑅𝑅
𝑤𝑚 = (𝑢 − )
� 𝐾𝑒 𝐾𝑒
𝑚
𝑇𝑙𝑙𝑙 𝑤𝑚 + 𝑚𝑚 ∗ sin(𝜃) = 𝑥̈ 𝑐ℎ + 𝐷𝑥̇ 𝑐ℎ + 𝐾𝑥𝑐ℎ
4
12
is needed. This project follows up the current
research and uses an LQR control.
∞ ∞
Time (in seconds)
𝐽(𝑁) = � 𝑋[𝑘] 𝑄𝑄[𝑘] + � 𝑈[𝑘]𝑇 𝑅𝑅[𝑘]
𝑇
𝑘=0 𝑘=0
−4𝐷/𝑚 −4𝐾/𝑚 4𝑇 4𝑔
𝐴=� � ; 𝐵 = � 𝑙𝑙𝑙 �
1 0 0 0
𝐶 = [0 1] ; 𝐷 = [0 0]
6. Simulation Results
Time (in seconds)
To evaluate the results given by the Figure 6. Comparison between controls in
simulator, a comparison between controls is back and front-wheel drive dampers
needed. That way it can be assessed which
control gives better results with the given In both cases, the PI control gives
state space. The following graphics show the very slow responses to disturbances (the
evolution of the chassis height regarding road bump) or to steps in reference (break).
simulation time. However, the LQR control offers great speed
in comparison with the PI control in both
disturbances and steps in reference.
13
7. Conclusions and Future vibration control,” Shock Vibration. Bull, Part
Developments H, Washington D.C, pp. 35-42.
[3] R. Rajamani and J.K. Hedrick,
This project has created the “Performance of Active Automobile
Suspensions with Hydraulic Actuators:
hardware and software needed to allow the
Theory and Experiment” Proceedings of the
design of PID and LQR controls for a scaled American control conference June 1994.
prototype of a front-wheel drive vehicle. [4] Esmailzadeh, E. and Taghirad, H.D,
Moreover it has confirmed that, in Matlab “Active Vehicle Suspensions with Optimal
and Simulink programming environment, it State-Feedback control,” Proceedings of
can simulate an active suspension system CSME, Vol, 2, pp, 822-834.
and obtain the answer to obstacles in real [5] Lin, J.S and Kanellakopoulos, “Modular
Adaptive Design for Active Suspensions,”
time. Nonetheless, this study concludes that
Proc. 36th IEEE Conference on Decision and
Lego is not a valid and reliable environment Control, 1997, San Diego, CA, pp.3626-3631.
to perform this project. The created [6] Jacqueline Wilkie, Michael Johnson and
prototype is way too heavy for the Raza Katebi, “Control Engineering: an
mechanical power that Lego motors can Introductory Course,” Pal grave Publishers
supply, approximately 1.5-2 W. 2003.
[7] Ogata K, “Modern Control Engineering”,
Prentice-Hall, 3rd edition 1996.
The results of this project will allow
[8] Wong J.Y, “Theory of Ground Vehicles”,
the development of other projects in the John Wily and Sons Inc., 1988, New York.
next years. A first project could rebuild the [9] Prof. Dr. Georg Rill “Vehicle Dynamics”,
prototype with more powerful motors and University of applied science, October 2006.
then confirm the results of the simulator [10] Karnopp, D., “Passive and Active Control
with the new prototype. Another option of Road Vehicle Heave and Pitch Motion”,
could be changing the prototype for a RC Proc. IFAC 10th Triennial World Congress,
1991, pp. 181-183.
vehicle and introduce servomotors within its
[11] “Research on Active Suspension Control
existing suspensions. Every work looks Strategy Based on The Model With
forward to the final objective of proving the Parameters of Hydraulic System”, Zhou
betterment of the answer of an hydraulic Chenyu, Zhang Shuo, Shi Peilong, Zhang
suspension with a digital control. Peipei, Automobile School, Chang’an
University, Xi’an, China, 2013, pp. 172-176.
8. References [12] “Vibration Isolation for Active
Suspensions With Performance Constraints
and Actuator Saturation”, Weichao Sun;
[1] Lin, J.S. and Kanellakopoulos, “Nonlinear
Huijun Gao; Kaynak, O; Mechatronics,
Design of Active Suspensions,” IEEE Control
IEEE/ASME Transactions on Volume: 20,
System Magazine, Vol. 17, No.3, pp. 45-49.
Issue: 2, DOI: 10.1109/TMECH.2014
[2] Crosby, M. and D. C. Karnopp, “The active
.2319355, 2015, pp.: 675-683.
damper a new concept for shock and
14
15
ABSTRACT
Although the active suspension model has already been analyzed and studied thoroughly
for some years, the capacity of integrating its model in a regular basis for educational purposes
has been not fully developed yet. The design of a Lego Technic based prototype allows a simple
and valid way of integrating the problem of automatic vehicles in classrooms. With a combined
system of Arduino resources and Matlab/Simulink files, the application of PID and LQR controls
and its optimization is eased. The active suspension model follows the hydraulic model of an
actual car with a linear actuator. The conclusion that active suspension promotes more control
stability and riding comfort than passive suspension and PID control is made by simulation and
comparing with active suspension PID control. The force output amplitude performance of the
LQR control is better than the PID control which can be obtained from the height signals.
16
17
A mis padres y mi hermano por aguantar y creer en mí hasta en mis peores momentos,
a mi chica por su amor y apoyo incondicional y, finalmente,
a mis directores por su paciencia durante estos largos meses .
Especial agradecimiento a Mariano Jiménez por su desinteresada e importante ayuda.
18
19
1. Introducción
En las últimas décadas hemos sido testigos de la revolución que ha sufrido el sector
automovilístico en la forma de entender las prestaciones de un vehículo abriendo líneas de
investigación totalmente novedosas pero con el objetivo siempre de llegar a la conducción
automática. Estas evoluciones en prestaciones, confort, ecología y servicios del automóvil vienen,
en gran parte, de la implementación de la electrónica en todos sus aspectos, al ser imprescindibles
mayores cantidades de información en tiempo real.
Un ejemplo sencillo pero muy visual es la evolución a lo largo de los últimos años de la
cantidad de cableado utilizado en la fabricación de cada automóvil. A principios de los años 60
apenas se utilizaban 200 metros de cable en cada vehículo, a mediados de los 80, se superan los
1300 metros de cable y ha seguido creciendo hasta los más de 2 km de cable que se usan hoy en
día.
20
1.1 Estado del arte
Desde el tiempo de los carruajes, una de las mayores preocupaciones ha sido siempre
hacer más cómodos los viajes. Los caminos empedrados eran un gran incordio para los ocupantes
ya que cada hoyo o piedra en el camino levantaba o hundía las ruedas y ese movimiento lo seguía
el ocupante. Se intentó en un principio acolchar los asientos o incluso usar muelles en la parte baja
del coche pero no eran medidas suficientes y hasta que no se colgó la cabina del carruaje, con
unas correas de cuero, desde unos soportes metálicos en los ejes de las ruedas no se logró un
ligero avance.
Desde los carruajes o el primer Ford T de la historia, las suspensiones han evolucionado en
paralelo al desarrollo tecnológico. Pero el gran salto de las suspensiones, hacia lo que hoy
conocemos y podemos encontrar en cada uno de los automóviles que hay en las carreteras,
ocurrió durante la Segunda Guerra Mundial en la que Paul Magés, un trabajador de Citroën,
diseño una suspensión hidroneumática que combinaba aire y aceite que permite una conducción
sin precedentes.
21
Desde entonces, el diseño de las suspensiones siempre se ha visto afectado por la guerra
de las patentes entre las distintas marcas de vehículos lo que ampliaban aún más el abanico de
posibilidades. Si bien Citroën continuaba de forma individual el desarrollo de suspensiones
hidroneumáticas, otras marcas desarrollaban en paralelo sus propios sistemas, como la suspensión
de aire de Mercedes-Benz en 1964, quien es hasta el día de hoy el mayor competidor de Citroën
en éste ámbito.
En cambio, en 1989, Citroën implanta en uno de sus modelos lo que sería el final de la
mecánica del automóvil tal y como se conoce: el Citroën XM incorporaba una regulación
electrónica del sistema hidroneumático, sensores de medida de la aceleración y otros factores. Ese
sistema se ha ido optimizando a lo largo de los años y hoy en día lleva el nombre de Hydractive3+
y está presente en casi todos los vehículos de Citroën.
La apertura del mundo de la electrónica a la industria del automóvil supone un gran reto
para la optimización de la conducción en cuanto a seguridad y confort. Y en esa dirección van
orientados las últimas investigaciones en el control de la suspensión.
En 2012, Audi anunció que estaba ultimando los planes para la implementación de un
sistema preventivo de suspensión guiado por sensores que mapearían la carretera y por lo tanto el
sistema de suspensión se adelantaría a las irregularidades de la carretera. Poco después
Mercedes-Benz se lanzaba en un proyecto llamado ‘Magic Body Control’ con el mismo objetivo
que Audi, allanar las carreteras y eliminar los baches. En ambos proyectos el objetivo principal era
22
minimizar el impacto de las irregularidades en el chasis del vehículo, ya sean laterales (en curva) o
horizontales.
Muchos son los estudios teóricos ya redactados de la aplicación de los controles digitales a
las suspensiones de los vehículos, ya sean hidráulicos o magnéticos. Se ha simulado el uso de
controles desde el más básico PID a controles más avanzados que usan lógica borrosa, pero sin
demasiado éxito ya que su aplicación era difícilmente realizable.
En cambio a mediados de 2013 un estudio del GCIS [11], que acusaba a los estudios
previos de ser muy poco prácticos y precisos, realizo un extenso estudio del modelado de las
suspensiones hidráulicas. Esta sería la base de los posteriores estudios sobre comportamiento de
los controles conocidos hasta hoy.
Los últimos estudios de investigación, como el realizado por Weichao Sun, Huijun Gao y
Kaynak, O [12], muestran en cambio ciertos problemas en la estabilización de las suspensiones que
aún están por resolver, sobre todo en cuanto a las vibraciones que aparecen y a las posibles
perturbaciones en la propia suspensión. Aunque si en algo están casi todos los estudios de
acuerdo es, que sobre el papel, el control lineal cuadrático gaussiano (o LQG en adelante) es el que
mejores resultados da.
1.2 Motivación
A lo largo del texto se ha podido ver que el objetivo del proyecto era demostrar que un
control digital podría mejorar las prestaciones de un modelo de suspensión de vehículo. Este
proyecto se basa en un prototipo de Lego que sirve para un análisis inicial y sacar conclusiones;
pero la motivación principal y resultado final es que este estudio sirva de estímulo y base teórica
para que, algún día, la Universidad Pontificia de Comillas pueda comprobar y hacer estudios de la
utilidad del control digital sobre vehículos reales, aplicado sobre amortiguaciones hidráulicas y
buscando nuevos dispositivos que permitan actuar sobre las suspensiones de los vehículos.
23
1.3 Objetivos
24
25
2. Montaje del prototipo y entorno
2.1 Selección del sistema de amortiguación
Para el modelado del sistema de amortiguación es necesario conocer los parametros que
definen su comportamiento: en el caso del actuador lineal, se necesita conocer que relación hay
entre el giro del motor y la distancia recorrida por el pistón; en el caso del amortiguador con
muelle, se necesita conocer sus parametros físicos, la constante de compresión del muelle y la
constante de fricción viscosa del amortiguador. Para obtener dichos parametros se construyen
modelos que permitan su ensayo de forma sencilla pero precisa.
26
2.2.1 Ensayo del actuador lineal
Para ensayar el actuador lineal, se construye una estructura rigida que sujete y restrinja el
movimiento del actuador lineal, de forma que al girar el eje interior el actuador se mueva
siguiendo la guía. Esto permite que se pueda medir directamente la distancia que recorre el pistón
del actuador lineal cuando se gira un número de veces conocido el eje interior. (Figura 4)
Se decide para el ensayo ayudarse de los agujeros de las piezas Lego para conseguir una
medida precisa de la distancia que se va a mover el pistón. Partiendo de una posición en la que los
agujeros están alineados, se dan exactamente 17 vueltas al eje interno del actuador lineal que
desplazan el pistón 23 mm hacia delante. El ensayo permite calcular de forma sencilla la relación
que hay entre el giro del motor y la distancia, en adelante T, recorrida por el pistón mediante el
calculo siguiente:
𝑋𝑝𝑝𝑝𝑝𝑝𝑝
𝑇𝑙𝑙𝑙 = [1]
𝜃𝑒𝑒𝑒
Del mismo modo, para ensayar el amortiguador con muelle se construye la estructura
siguiente: un motor, pasando por un engranaje conectado a una cremallera, transmite un
movimiento lineal de oscilación para mover el amortiguador entre los dos topes de dicho
elemento, pero sin llegar a sus extremos. Conectado a la guía del amortiguador se engancha un
panel blanco que siga el movimiento del amortiguador y del cual, un sensor de luz EOPD de Lego
medirá la distancia al panel. Dado a que el panel se mueve simultáneamente con el amortiguador,
27
el diferencial de distancia que se obtenga en los estados transitorios coincidirá con la compresión
y tracción del amortiguador. (Figura 5)
El control del sistema se hará a través de un dispositivo Lego NXT Mindstorms. Dicho
control será un control proporcional ya que lo que se busca es una gran oscilación del sistema y es
una solución sencilla. En Simulink, se genera el archivo para la simulación y el análisis del ensayo:
28
Esquema 1. Ensayo del amortiguador con muelle
El PRBS genera una señal cuadrada de valores entre -5.25 y 5.25 con un contenido de
frecuencia uniforme en un cierto intervalo. El valor de 5.25 se determina experimentalmente
como el valor de tensión que hace que el muelle se comprima y se estira en su totalidad. Para
evitar los estados límites de la mecánica del muelle, que influirían de forma negativa en el cálculo
de los parámetros del muelle, se reduce el mando multiplicando dicho PRBS por 0.75. A dicha
señal se le suma el valor constante de 37.5 para situar la distancia inicial del sensor a 37.5 mm,
que será el centro de la oscilación. Esta señal será la señal de referencia que seguirá el control P
que se ha colocado para este ensayo, cuyo valor vale -10, y cuyo resultado es el mando que se
introduce al motor.
Fuente: http://www.hitechnic.com/blog/eopd-sensor/eopd-how-to-measure-distance/#more-178
La entrada Med_1 del esquema 2 equivale a la señal medida por el sensor. El valor de
distancia nula equivale al máximo del valor de la intensidad luminosa, que es de 1023. Para sacar
el valor inicial, se resta al máximo el valor medido y se hace su raíz cuadrada. Después se divide el
valor ‘kScale’, sacado empíricamente, y se le resta el error generado en las medidas para obtener
la distancia real de compresión del muelle.
30
Gráfica 1. Modelado del sistema por identificación de polos/ceros
La aproximación dada por Matlab se ajusta a un sistema de segundo orden sin ceros ya
que, como se verá en el siguiente apartado, es lo que se podrá igualar al sistema simplificado físico
del ensayo. Con esta configuración, se obtiene una función de transferencia F(s) tal que:
0.067854
𝐹 (𝑠) = − [2]
(1+0.073985∗𝑠+0.025297∗𝑠2 )
31
2.2.3 Modelado de la amortiguación
El sistema se modela por la ecuación siguiente del balance de energías del sistema:
𝐽
∗ 𝑥̈ + 𝐷 ∗ 𝑥̇ + 𝐾 ∗ 𝑥 = 0 [3]
𝑟2
El sistema físico del ensayo se mueve por la acción de un motor cuyo modelo es necesario
para saber la relación entre el mando y el par generado por el motor. Dicho modelo se encuentra
ya completamente estudiado por la universidad. El modelo es el siguiente:
El motor se rige por las ecuaciones siguientes, buscando como objetivo obtener la relación
entre la variable T, el par de salida del motor, y la variable u, el mando de entrada del motor.
𝑢 =𝑅∗𝑖+𝑒 [4]
32
𝑇𝑚 = 𝐾𝑡 ∗ 𝑖 [5]
𝑒 = 𝐾𝑒 ∗ 𝑤𝑚 [6]
𝑇 = 𝑇𝑚 − 𝑇𝑟 [7]
Los parámetros del motor vienen dados en las especificaciones del motor de Lego, siendo
las constantes Ke y Kt iguales a 0,5. Además se mide con un ohmímetro la resistencia interna del
motor, siendo ésta de 4.4 Ω. El engranaje utilizado tiene un radio aproximado de 20 milímetros.
El modelado en el espacio de estado permite sacar la planta del sistema mediante las
ecuaciones físicas del sistema usando la transformada de Laplace. Se representará el sistema
usando las ecuaciones de representación de estado. Las ecuaciones de la representación de
estado son las siguientes:
𝑋 𝐾𝑡 ∗𝐾𝑠
𝐺 (𝑠) = 𝑢 = 𝐽 𝐾 [7]
𝑅∗𝑟 2 ∗( 2 ∗𝑠 2 +�𝐷+𝐾𝑡 ∗ 𝑒 �∗𝑠+𝐾)
𝑟 𝑅
Realizando la igualdad entre las ecuaciones [2] y [7], se obtiene un sistema con tres
incógnitas y tres ecuaciones:
𝐾𝑡 ∗ 𝐾𝑠
= −0.067854
𝑅 ∗ 𝑟2 ∗ 𝐾
𝐽
= 0.025297
𝐾 ∗ 𝑟2
𝐷 𝐾𝑒 ∗ 𝐾𝑡 ∗ 𝐾𝑠
+ = 0.07398
𝐾 𝑅∗𝐾
Despejando las incógnitas de las ecuaciones se obtienen los parámetros del sistema, de
forma que K = 40 N/m, D = 570 N*s/m y J = 4 e-4 N*s2/m.
34
La estructura de la amortiguación transmite el movimiento amortiguado de la rueda al
chasis, y por ende al resto de la estructura, a través del motor que acciona el actuador lineal.
Dicho motor está integrado en el chasis del vehículo.
A la hora de realizar el montaje del resto del prototipo era importante en un primer paso
tener claro que el principal problema que tiene montar, con piezas tan pequeñas, estructuras tan
grandes es que la rigidez de la estructura se puede ver comprometida fácilmente. La resistencia a
flexión de las piezas utilizadas es muy baja y las juntas no muy eficientes, por lo que dicha falta de
resistencia se compensa aumentando los grados de hiperestaticidad de la estructura.
Una vez colocadas las cuatro ruedas de las suspensiones a las distancias adecuadas, se
crean tres puentes de piezas [1 y 2] entre los motores de cada uno de los lados, para fijar las
distancias. En la mitad de dichos puentes se tiran tres puentes triples [3] que atraviesan el vehículo
de un lado a otro para crear una base fija del chasis. En dicha base se crean las sujeciones
necesarias para colocar y sujetar desde abajo el EV3 de forma que queden entre las suspensiones
35
delanteras. Los parachoques delanteros y traseros se enganchan a las barras externas que sujetan
las suspensiones y por debajo del EV3 a las barras centrales. En el hueco restante se construye una
plataforma rígida que sujete los dos Arduinos Mega 2560.
Entre las suspensiones delanteras y traseras se fijan dos guías adicionales [4 y 5] a las guías
ya existentes para sincronizar la linealidad de las suspensiones, tal y como ocurre en realidad,
donde la suspensión delantera y trasera son independientes una de otra pero entre la suspensión
delantera o trasera izquierda y derecha tiene que haber una rigidez que coordine la linealidad de
dichas suspensiones. Además de las guías, se construyen puentes en la zona inferior que den
mayor rigidez y fijen la distancia entre los motores de las ruedas motrices.
36
enganchar las ruedas. Las ruedas se enganchan al eje mediante una resina epoxy, especial para la
resistencia a torsión de la sujeción. El eje trasero es un eje libre que sufre la mayor parte de las
fuerzas y por ello debe de estar sobredimensionado para sujetar de forma segura el peso del
vehículo y cualquier componente que se le añada a posteriori.
De todos los modelos de badenes existentes hoy en día en carretera se escoge el badén
trapezoidal, por ser el de mayor presencia en la red de carreteras de la Comunidad de Madrid
y conllevar por ello el mayor riesgo real para la integridad de los vehículos.
En dicha orden ministerial el diseño del badén trapezoidal queda resumido en:
Altura: 10 cm ± 1 cm.
Longitud de la zona elevada: 4 m ± 0,20 m.
Longitud de las rampas: entre 1 y 2,5 m.
37
Figura 8. Esquema del badén trapezoidal según la ORDEN FOM/3053/2008
38
39
3. Comunicaciones y sistema de control
Para el control del vehículo es necesario establecer un sistema adecuado de comunicación
entre todos los elementos que componen el sistema activo de la suspensión. Las señales que
provienen de los sensores tienen ruido y sus medidas son erráticas así que requieren de un
procesamiento antes de poder ser utilizadas como referencia del control. El sistema de control se
programa en el entorno Matlab/Simulink y se basa principalmente en dos micro-controladores
Arduino Mega 2560, conectados a los diferentes sensores del vehículo y que, cada uno, se encarga
del control de una de las partes independientes del vehículo, ya sea el avance o la altura. Los
Arduinos utilizan un driver para la conexión con los motores, el Ardumoto de Sparkfun, que
permite el control desde el Arduino Mega 2560 de 2 motores DC. El driver shield utilizado controla
cada motor con un PWM, que permite el control de la velocidad del motor, y una señal digital que
decide el sentido del giro del motor. En el esquema siguiente se ve ‘a grosso modo’ el sistema de
control del vehículo:
40
3.1 Elementos del sistema de control
El sistema de control se puede dividir en tres partes: los sensores IR, el micro-controlador y los
actuadores. Los sensores se encargan de la medida de las variables a realimentar, el micro-
controlador se encarga de la lógica del control y los actuadores dan la potencia a los motores.
En el prototipo se utilizan sensores infrarrojos en dos puntos distintos del chasis: cuatro
sensores que apuntan hacia el suelo que se encargan de la medida de la altura del chasis en cada
uno de los puntos de aplicación de la suspensión del vehículo y otros dos sensores colocados en el
frontal del chasis que se encargan de la medida de la distancia al badén de la parte delantera del
prototipo.
41
Gráfica 2. Características de la tensión de salida del sensor infrarrojo GP2Y0A21YK
Los actuadores son 8 servo-motores de Lego, 4 grandes que soportaran la estructura del
prototipo y 2 pequeños que darán potencia a las ruedas delanteras. Los motores tienen una
potencia en el eje de 30 N/cm. Los cables de conexión de los motores de Lego utilizan el protocolo
rj12.
Los motores de Lego Mindstorms EV3 utilizan el protocolo rj12 para su conexión con el
EV3 pero al estar sustituyendo el dispositivo Lego por un Arduino es necesario adaptar las señales
al nuevo dispositivo.
Los puertos de los motores de Lego Mindstorms EV3 siguen el protocolo rj12 de cableado
de par trenzado para su conexión. Normalmente estas conexiones no necesitan de adaptación
pero, al conectarlo a un Arduino, es necesario su estudio para poder establecer comunicaciones
correctas entre ambos dispositivos. Cada dispositivo EV3 cuenta con cuatro puertos para motores,
de la A a la D, y cuatro puertos para sensores, numerados del 1 al 4. El comportamiento del puerto
43
cambia según si es un puerto para motores o para sensores, y dependiendo también del tipo de
sensor conectado.
En el caso de conexión con un sensor, la tabla siguiente resume las señales, los colores de
los cables y su número de pin:
Para la conexión de los sensores, los cables DIGI1 y DIGI0 son PWM que otorgan la
respuesta de los sensores y el cable AN es el cable de conexión directo con el convertidor
analógico/digital del puerto del EV3.
44
3.2.2 Driver shield
Para controlar los motores DC de Lego desde los respectivos Arduinos es necesario
conocer la naturaleza de las señales M1 y M2 comentadas anteriormente o utilizar una PCB que
permita fácilmente su control mediante señales conocidas. Dada la falta de información sobre los
nuevos motores de Lego EV3, se decide utilizar un driver shield de Arduino. En el mercado hay
actualmente muchos drivers para motores DC de Arduino pero se busca uno que pueda tener una
implementación fácil en Matlab/Simulink.
El driver shield que se decide utilizar para facilitar el control de los motores de Lego desde
Arduino es el driver shield de Sparkfun, Ardumoto. Dicho dispositivo se engancha directamente en
los pines de control, salidas analógicas y salidas de PWM de Arduino. Mediante los pines 3 y 11 o
12 y 13 se pueden controlar de manera sencilla dos motores DC. Los pines 3 y 11 son PWM que
controlan la velocidad de forma proporcional del motor y los pines 12 y 13 son salidas digitales
que controlan el sentido del giro del motor, ‘0’ en el sentido de las agujas del reloj y ‘1’ al
contrario. El uso de este dispositivo no permite usar el pin 13 como controlador del overrun. El
resto de pines no son utilizados.
Los dispositivos Arduino sirven como centros de control del vehículo por lo que todos los
dispositivos externos están conectados a ellos. Los sensores y encoders constituyen señales de
entrada y las conexiones al driver shield constituyen las señales de salida. En los Arduinos se
programa en el entorno Matlab/Simulink todo el procesamiento de señales y controles a emplear.
45
Dispositivo Señal # Pin Tipo de Canal
46
Los encoders, debido a la programación que se sigue para su lectura desde el Arduino
Mega 2560, necesitan además del uso interno de los pines de interrupción del Arduino.
Para conocer el tipo de señal real que el Arduino va a recibir por sus puertos conectados a
los sensores, y así conocer si va a haber problemas con ruidos o medidas imprecisas a ciertas
alturas o distancias, se decide ensayar dichos periféricos.
El ensayo consiste en colocar el sensor a diferentes distancias de un mismo objeto con tal
de poder realizar la curva de calibrado del sensor. Las distancias se cogen en el entorno en el que
los sensores van a trabajar, es decir, distancias entre 5 y 15 cm. Se utiliza un Arduino para la
conexión y alimentación del sensor para poder trabajar en modo externo.
A partir de estos datos, se busca encontrar una relación matemática que me permita
transformar la señal recibida del sensor en la distancia a la que se sitúa el sensor. Mediante el
programa Microsoft Excel y su herramienta de trazabilidad de rectas de regresión se obtiene la
relación que se busca para las distancias dadas:
47
16
14
12
10
8
y = -0,0232x + 25
6
0
0 100 200 300 400 500 600 700 800
Se coloca, en la gráfica, en el eje de la ‘x’ la medida que se obtiene del sensor y en el eje de
la ‘y’ la distancia real del sensor. De esta forma la distancia tiene una relación lineal con la medida
del sensor:
48
Medida cruda del Sensor
Dada la escala, no se aprecia bien el ruido existente en la señal de salida. Se realiza otro
ensayo, esta vez a 10 cm, para comprobar la calidad de la señal de salida:
49
Distancia Medida (en centímetros)
Como se puede ver, el error es muy importante en algunos picos. Si bien la precisión de la
medida no es exacta (el sensor parece estar colocado a 10.5 cm), el error medido del 10% en la
señal cruda del sensor se ha trasmitido a la medida de la distancia íntegramente. A pesar de ello,
la distancia es correcta. Detrás del convertidor se colocan varios filtros: primero un filtro lógico y
luego un filtro de paso bajo.
El filtro lógico elimina los picos extremos en la medida, ya que en apenas milisegundos es
físicamente imposible una variación de centímetros, por lo que se compara la diferencia entre el
valor anterior y la medida. En casos en los que la medida sea ‘falsa’ se sustituye esa medida por la
medida anterior.
50
Esquema 7. Modelo del filtro lógico
El filtro discreto paso bajo de frecuencia de corte 0.4 Hz, para intentar reducir el efecto de
los ruidos de alta frecuencia y obtener así una señal más limpia. Se decide implementar un filtro
sencillo de primer orden, cuya función de transferencia es:
1
𝐹(𝑠) = [9]
𝜏𝜏+1
51
Altura Filtrada (en centímetros)
Los sensores IR tienen como objetivo medir la altura de cuatro puntos del chasis, cerca de
los puntos de aplicación de la fuerza del actuador lineal sobre él, y de medir la distancia del frontal
del vehículo hasta el obstáculo, en este caso, el badén. Para ello se busca o se construye una
ubicación ideal para ello. Los sensores IR encargados de medir la altura se colocan en la parte
interior del neumático, pero lo más próximo posible a él, y los sensores IR encargados de medir la
distancia al badén se integran en el parachoques delantero del vehículo.
52
Figura 15. Imagen de la localización de los sensores IR en el vehículo
La máquina de estados de altura tiene entonces tres salidas: la referencia de altura del
tren trasero, la referencia de altura del tren delantero y el estado en el que se encuentra la
máquina de estados. Para ello, la máquina de estados recibe como entrada los parámetros de las
cuatro variables: las señales booleanas de distancia al badén de los sensores infrarrojos frontales y
la altura del chasis en reposo y en la frenada.
53
este estado los motores estarán desconectados. Además en el caso de la máquina de estados de la
velocidad, este estado permite también estabilizar la altura del chasis antes de echar a andar.
El primer estado es el ‘Normal’ o de reposo donde el vehículo arranca y acelera hasta que
circule a velocidad constante. Cuando el sensor IR detecte el badén, la señal ‘sensorIRmax’ se
activa y por ello se pasa al siguiente estado.
54
Figura 17. Máquina de estados del control de velocidad del vehículo
Las señales de transición entre estados se obtienen de los sensores IR frontales del
vehículo. Los dos sensores IR dan la distancia en centímetros al badén en línea recta tras el paso
por el filtro comentado anteriormente. Si bien los dos sensores deberían medir lo mismo al
encontrarse con el badén de frente, no ocurre lo mismo si la entrada al badén es de forma lateral.
Para buscar un punto medio como única referencia se coge la proyección sobre el parachoques del
centro de gravedad del vehículo. Para realizar esa medida se hace la media algebraica de las dos
medidas de los sensores, ya que los sensores están colocados simétricamente respecto del centro
de gravedad. Ese valor medio se compara a los valores de distancia que limitan la zona de frenado.
Se establece como distancia máxima al badén 17 cm y como distancia mínima al badén 10 cm. En
el caso de que la distancia media medida por los sensores sea menor que 17 cm se activa la señal
‘sensorIRmax’ y en el caso de que sea menor que 10 cm se activa la señal ‘sensorIRmin’,
permitiendo así la transición durante la frenada. Las señales ‘sensorIRmax’ y ‘sensorIRmin’ son
ambas de tipo booleano.
55
Esquema 9. Señales de transición de la máquina de estados
56
En la máquina de estados se simula una frenada pero, dada la limitación de los sensores,
se simulará una frenada entre unos límites de distancia pequeños, inferiores a la distancia real. A
partir de la distancia de frenada, y suponiendo una superficie de rodamiento parecida a las
carreteras convencionales de asfalto, se puede obtener mediante cálculos la velocidad tras el
frenado y la altura del eje delantero tras el frenado. Pero dicha frenada solo es necesaria si la
velocidad antes del badén es superior a 20 km/h.
Para calcular los parámetros de la frenada es necesario establecer los valores iniciales de
altura y de velocidad del régimen permanente. Se establece como altura del chasis 10 cm y la
velocidad inicial del vehículo se busca a que sea lo máximo posible.
57
Con la velocidad inicial, que se introduce en m/s y que es necesario pasar a km/h, se
procede al cálculo de la velocidad tras el frenado. Durante el frenado, el sistema sufre una pérdida
de energía cinética que se disipa en la fuerza de rozamiento realizado por el frenado. La variación
de energía cinética entonces es igual a la energía disipada en el rozamiento.
1
∆𝐸𝐸 = 𝑚(𝑣𝑖𝑖𝑖 − 𝑣𝑓 )2 = 𝜇𝜇𝜇𝜇 [10]
2
Una vez obtenida la velocidad final, un primer ensayo muestra que la distancia, incluso
aplicando la escala, es demasiado pequeña para frenar el vehículo con las ecuaciones físicas
reales. Las distancias para el frenado reales son mayores que la que se usa por lo que es necesario
realizar dos cálculos: uno con la distancia de 7 centímetros y otro con una distancia más realista,
como por ejemplo 10 metros. La velocidad calculada con los 7 centímetros es la velocidad ‘teórica’
y la velocidad calculada con los 10 metros es la velocidad ‘real’. La velocidad ‘real’ es la que se
considera la velocidad del vehículo en el paso por el badén y por tanto la referencia del control en
el segundo y tercer estado.
Dicha ecuación se introduce en una función de Matlab, despejando la velocidad final que
es la variable de salida.
%Gravedad
g=9.81;
En cambio, para el cálculo de la altura del tren delantero del vehículo, se utiliza la
velocidad ‘teórica’ para calcular la perdida de velocidad durante la frenada. La diferencia de
velocidad se traduce en una fuerza en la amortiguación, tanto en el muelle como en la fricción
58
viscosa. Como el peso del vehículo se reparte en la amortiguación delantera, la perdida de altura
se reparte entre las dos suspensiones de manera equitativa. Una sola de las amortiguaciones
entonces se comprime siguiendo las siguientes ecuaciones:
1
𝐷∆𝑣 + 𝑘∆𝑥 = 𝜇𝜇𝜇 [11]
2
ℎ𝑓 = ℎ𝑖 ± ∆𝑥 [12]
Dichas ecuaciones se introducen en una función de Matlab, despejando la altura final que
son las variables de salida.
%Gravedad
g=9.81;
%Variables de la amortiguación
k=40; %N/m
d=570; %N*s/m
Todas las señales, ambas alturas finales y la velocidad tras el frenado, se introducen en la
máquina de estado correspondiente como referencias en los estados dos y tres, como se comentó
anteriormente.
El estado cero se asegura de aislar los mandos de los motores mientras se configuran las
conexiones de los sensores y se estabilizan sus medidas. Además, permite la estabilización inicial
de la altura de las suspensiones hasta alcanzar la referencia para iniciar el recorrido sin error
inicial. Para aislar los motores se colocan interruptores lógicos o ‘switch’. El interruptor, durante
el estado 0, introduce un cero en el mando y desconecta la salida de mando de los controles,
mientras que no afecta al sistema durante el resto de estados. Para saber en qué estado está la
59
máquina de estados, ésta tiene como salida un número entero con su estado, siendo la tabla
siguiente la relación de números con su estado:
Número de
Estado
Estado
Inicialización Sensores / Estabilización 0
Normal 1
Frenada 2
Badén 3
Usando un comparador cuya salida es ‘1’ si la señal de entrada es un ‘0’ se crea una señal
booleana que corresponde al estado cero. Esa señal será la que active y desactive el interruptor
lógico de los motores.
60
61
4. Diseño de los controles y simulación
A la hora de diseñar los controles distinguimos entre el control de avance y el control de
altura. El control de avance no es relevante en el comportamiento automático del vehículo ya que
simula la actuación de un conductor real. En cambio el control de altura debe de ser optimizado y
sabiendo que el control LQR es el que mejores resultados ha dado en los últimos estudios se
planean varios pasos para obtener los datos necesarios para la aplicación de dicho control. Los
datos necesarios para aplicar el control es la realimentación de las variables de estado y el estudio
de la planta.
62
Esquema 12. Sistema teórico de la amortiguación
Al igual que con los sistemas anteriores se establecen las ecuaciones físicas que modelan
el sistema mediante equilibrio de fuerzas. El motor ejerce un par de rotación sobre el actuador
lineal para levantar la masa. El muelle y la fricción viscosa ejercen una fuerza que se opone a ese
movimiento. El movimiento de la rueda, simbolizado como la superficie en la que se apoya el
muelle y la fricción viscosa afectan al comportamiento de la amortiguación pero no al del motor.
Las ecuaciones del motor son idénticas a las del apartado 2.2.3. Las ecuaciones de equilibrio físico
son las siguientes:
𝑚
𝑇𝑙𝑙𝑙 𝑤𝑚 + 𝑚𝑚 ∗ sin(𝜃) = 𝑥̈ + 𝐷𝑥̇ 𝑐ℎ + 𝐾𝑥𝑐ℎ [13]
4 𝑐ℎ
𝑥̇ 𝑐ℎ = 𝑣𝑐ℎ
� 4 [14]
𝑣̇ 𝑐ℎ = (𝑇 𝑤 + 𝑚𝑚 ∗ sen(𝜃) − 𝐾𝑥𝑐ℎ − 𝐷𝑣𝑐ℎ )
𝑚 𝑙𝑙𝑙 𝑚
63
Las matrices A, B, C y D para la representación de estado son aquellas que representan el
sistema lineal de la planta bajo la siguiente estructura:
𝑑𝑑
= 𝐴 ∗ 𝑋(𝑡) + 𝐵 ∗ 𝑈(𝑡)
� 𝑑𝑑 [15]
𝑌(𝑡) = 𝐶 ∗ 𝑋(𝑡) + 𝐷 ∗ 𝑈(𝑡)
Siendo X(t) el vector de variables de estado, U(t) el vector de entradas al sistema e Y(t) el
vector de salidas del sistema. Las matrices entonces, siguiendo las ecuaciones del sistema [14] son:
−4𝐷/𝑚 −4𝐾/𝑚
𝐴=� �
1 0
4𝑇𝑙𝑙𝑙 4𝑔
𝐵=� �
0 0
𝐶 = [0 1]
𝐷 = [0 0]
Para el diseño de la planta y los controles se utiliza un script de Matlab, que facilita los
cálculos y permite crear un área de trabajo común entre Matlab y Simulink. En el siguiente script,
se define la planta con los parámetros físicos y necesarios para su implementación en Simulink.
%Fourier
s=tf('s');
ts=0.02;
%Parámetros físicos
K=0.4; %constante del muelle de la amortiguación [N/cm]
D=5.7; %constante de la fricción viscosa de la amortiguación
[N*s/cm]
T=40; %torque máximo del motor [N/cm]
Kt=0.5; %constante del torque del motor [N/cm*A]
Ke=0.5; %constante eléctrica del motor [V*s/rad]
R=4.4; %resistencia interna del motor [ohm]
Tlin=0.0215; %constante del actuador lineal [cm/rad]
m=4.12; %peso del coche [kg]
g=9.81; %gravedad [m/s^2]
%% Estabilización (PID)
xw=Tlin/(m/4*s^2+K+D*s);
x=c2d(xw,ts); %discretización de la planta
%% Representación de estado
64
A=[-4*D/m -4*K/m ; 1 0];
B=[4*Tlin/m 4*g ; 0 0];
C=[0 1];
D=[0 0];
Pss=ss(A,B,C,D);
% Discretización de la planta
Pssd=c2d(Pss,ts);
Ad=Pssd.a;
Bd=Pssd.b;
Cd=Pssd.c;
Dd=Pssd.d;
Una vez obtenida la función de transferencia discreta, con la regla trapezoidal, la variable x
representa en Simulink la planta del sistema cuando el sistema está en reposo. El control PID
permite de forma segura, estabilizar el vehículo antes del ensayo. En el diagrama de Simulink, la
planta representa la función de referencia entre el mando del motor y la altura del chasis por lo
que, anteriormente a ella, hay que introducir las ecuaciones del motor. Dado a que queremos
utilizar el control PID para estabilizar el control y que después entre en juego el control LQR para el
paso por el badén se realizan los cambios necesarios de forma que, según el estado en el que se
encuentre el sistema, entre en juego un control o el otro. El esquema siguiente muestra la planta
en su totalidad.
65
desee obteniendo los valores de todos los parámetros, criterios de sensibilidad y resonancia y las
características de respuesta a un escalón.
Dado a que no es necesario que el control sea rápido pero si preciso, se escoge como
control PID para hacer la estabilización del coche y el ensayo, un control PI. Con el programa
mencionado anteriormente se establece un control PI que estabilice el coche. Con el control PI en
paralelo se establecen los parámetros del control tal que:
𝑇 = 4.69
� 𝑖
𝐾 = 735
1
𝐶(𝑠) = 𝐾(1 + ) [16]
𝑇𝑖 𝑠
La respuesta del sistema al control, simulando que el coche tiene que rectificar 1 cm los
amortiguadores es la siguiente:
66
Incremento de Altura (en centímetros)
Como se podía prever, los primeros tres segundos el sistema esta inoperativo debido al
estado cero. A partir de ahí el mando entra en juego y se recupera la altura deseada. Del ensayo
sale un dato preocupante y que pone de manifiesto un posible problema que podía tener el
sistema y es que el tiempo de alcance del sistema es de aproximadamente 45 segundos. Esto
supone que la corrección que es capaz de realizar el motor al coche es de 0.22 milímetros por
segundo.
67
Esquema 14. Simulador del sistema de amortiguación del vehículo
El paso por el badén se simula añadiendo la referencia del ángulo de la superficie. Durante
el camino hasta el badén suponemos que el ángulo es nulo por lo que la parte de las ecuaciones
físicas de la planta que referían al seno del ángulo de la superficie se anulan quedando una sola
variable de entrada y por tanto una sola función de transferencia. Pero a partir del segundo 50 de
recorrido se alcanza la parte inferior del badén lo que cambia +22 grados la inclinación de la
superficie de rodadura. Cinco segundos más tarde se alcanza la cima del badén lo que devuelve el
ángulo a cero grados. De la misma forma pero en sentido contrario, al llegar al segundo 65 de
recorrido se alcanza el límite del badén por lo que se vuelve a inclinar la superficie de rodadura,
esta vez -22 grados. A los cinco segundos se recupera la estabilidad y se finaliza el paso por el
badén.
68
Incremento de Altura (en centímetros)
69
4.2 Control LQR
𝐽(𝑁) = ∑∞ 𝑇 ∞ 𝑇
𝑘=0 𝑋[𝑘] 𝑄𝑄[𝑘] + ∑𝑘=0 𝑈[𝑘] 𝑅𝑅[𝑘] [17]
This MATLAB function calculates the optimal gain matrix K such that the state-feedback law
[K,S,e] = dlqr(A,B,Q,R,N)
70
Se amplía entonces el script de la simulación con los cálculos y operaciones necesarias
para el diseño del regulador LQR.
%Parámetros físicos
disp('---> Calculando parámetros físicos.');
K=0.4; %constante del muelle de la amortiguación [N/cm]
D=5.7; %constante de la fricción viscosa de la amortiguación
[N*s/cm]
T=40; %torque máximo del motor [N/cm]
Kt=0.5; %constante del torque del motor [N/cm*A]
Ke=0.5; %constante eléctrica del motor [V*s/rad]
R=4.4; %resistencia interna del motor [ohm]
Tlin=0.0215; %constante del actuador lineal [cm/rad]
m=4.12; %peso del coche [kg]
g=9.81; %gravedad [m/s^2]
%% Estabilización (PID)
disp('---> Calculando la función de transferencia.');
xw=Tlin/(m/4*s^2+K+D*s);
disp('Discretización de la planta:');
x=c2d(xw,ts)
disp('Para control PID ejecute "GUI_control_digital.m".');
%% Representación de estado
disp('---> Calculando la representación de estado.');
A=[-4*D/m -4*K/m;1 0];
B=[4*Tlin/m 4*g;0 0];
Blqr=[4*Tlin/m ; 0];
C=[0 1];
D=[0 0];
Dlqr=0;
Pss=ss(A,B,C,D)
Psslqr=ss(A,Blqr,C,Dlqr)
% Discretización de la planta
Pssd=c2d(Pss,ts);
Pssdlqr=c2d(Psslqr,ts);
Ad=Pssd.a;
Bd=Pssd.b;
Bdlqr=Pssdlqr.b;
Cd=Pssd.c;
Dd=Pssd.d;
Ddlqr=Pssdlqr.d;
%% Control LQR %%
% Se amplía el modelo incremental en tiempo discreto incluyendo
% los errores de seguimiento.
disp('---> Calculando el control LQR.')
71
wn=0.4;
seta=0.7;
polos_lc=wn*[-seta+sqrt(1-seta^2)*1j -seta-sqrt(1-seta^2)*1j -5 -6].';
polosd_lc=exp(polos_lc*ts);
% Número de estados
n_x=size(Ad,1);
n_u=size(Bdlqr,2);
% Matriz de estados ampliada
Aa=[Ad zeros(n_x,n_u) ; -Cd*Ad 1];
% Matriz de mandos ampliada
Ba=[Bdlqr ; -Cd*Bdlqr];
% Pesos
Q=diag([0 0 0.5]);
RL=diag(0.1);
% Cálculo de la matriz Ka del control
[Kad,P,polosd_lqr]=dlqr(Aa,Ba,Q,RL);
disp('Ganancias del control LQR:');
Kcd=Kad(1:n_x)
Kid=Kad(end)
% Polos equivalentes en tiempo continuo
polosc_lqr=1/ts*log(polosd_lqr);
damp(poly(polosc_lqr))
Para la aplicación del control LQR, como no tiene en cuenta una de las entradas del
sistema, hay que modificar las matrices B y D en los cálculos iniciales para obtener correctamente
la matriz de ganancias Ka. Las nuevas matrices Blqr y Dlqr se corresponden solo con la entrada
relacionada a la velocidad angular del motor:
4𝑇𝑙𝑙𝑙
𝐵𝑙𝑙𝑙 = � 𝑚 �
0
𝐷𝑙𝑙𝑙 = 0
Se escoge como lógica para el control LQR que solamente la referencia de altura y la
variable de estado relacionada con la altura del chasis tengan peso, anulando el coste del resto de
variables. Así mismo se escoge la matriz Q y R como matrices diagonales, siendo del mismo orden
que las matrices ampliadas de la matriz A y B respectivamente, en tiempo discreto.
Las ganancias Kcd y Kid del control LQR se introducen en el esquema del control integral
por realimentación de estado y se integran en el modelo de simulación. La ganancia Kid es la
ganancia de la referencia de la altura y la ganancia Kcd es la ganancia de la realimentación de las
variables de estado.
72
Esquema 15. Esquema del control LQR
El control LQR se integra en el simulador, finalizando así el diseño del simulador pero con
posibilidad de añadir otros controles a posteriori. Mediante un switch manual se puede cambiar
de control fácilmente. Después del control se aplican las fórmulas del modelo del motor y se
cancela su efecto durante el estado cero mediante el switch lógico.
73
Incremento de Altura (en centímetros)
74
4.3 Implantación de los controles
75
5. Resultados
Para evaluar los resultados del simulador, se hace una comparativa entre los controles
obtenidos y así valorar que controles dan mejores resultados con la planta obtenida. Las gráficas
siguientes muestran la evolución de la altura del chasis con el tiempo.
76
Gráfica 13. Comparativa de controles en la amortiguación trasera
Al igual que la amortiguación delantera, el control LQR tiene una respuesta mucho más
rápida y con menos error que el control PI. Mencionar también que en este caso el control PI ni
siquiera llega a corregir por la frenada, ya que no había llegado a la referencia cuando la frenada
tiene lugar.
Durante el ensayo del arranque en el simulador, limitando la potencia del motor a su par
máximo real, se observa que el movimiento de aumento de altura de las amortiguaciones es lento,
con una aceleración decreciente según se acerca a su valor de referencia. Los motores a máxima
potencia suben los motores de amortiguación a razón de 0,3 cm/s, lo que da un rango de
actuación muy limitado. Viendo dicha limitación de potencia al levantar el prototipo, se ensaya la
potencia de los motores de avance sobre el prototipo. La potencia máxima de los motores no es
suficiente para arrancar el prototipo. Los motores no son capaces a potencia máxima de superar el
par resistente de los ejes del vehículo.
77
6. Conclusiones y futuros proyectos
Este proyecto ha creado el hardware y software necesario para poder diseñar controles
PID y LQR para un prototipo a escala de un vehículo de tracción delantera. Además ha confirmado
que, en el entorno Matlab y Simulink, se puede simular el sistema de amortiguación y obtener la
respuesta a obstáculos en tiempo real.
A pesar de ello, este estudio concluye que Lego no es un entorno ideal para la realización
de este proyecto. El prototipo creado es demasiado pesado para la potencia que pueden
suministrar los motores de Lego. Además, su poca rigidez no asegura que la aplicación de la fuerza
del actuador lineal en cuatro puntos sea suficiente como para levantar el chasis de forma
homogénea, sino que el chasis sufra pandeo.
Los resultados de este proyecto permitirán el desarrollo de otros proyectos en los años
posteriores:
• Un primer proyecto podrá recomponer el prototipo con motores de mayor potencia y así
comprobar la eficacia de los controles digitales en el prototipo.
• Otra opción será cambiar el prototipo por un vehículo de radiocontrol e introducir
actuadores, como servomotores, en las amortiguaciones ya existentes. Además se podrá
realizar ensayos de inercia, que junto a giróscopos y acelerómetros, permitirán usar un
solo control para las cuatros suspensiones de forma conjunta. Esto resultará en un modelo
dinámico multivariable más real que el obtenido con controles independientes.
Todo con el objetivo final de poder finalmente probar un control digital sobre una
amortiguación hidráulica real.
78
79
7. Estudio económico
En las siguientes tablas se establecen los costes de este proyecto durante los 10 meses
que ha tenido de duración, dividido en costes materiales, costes de ingeniería y costes totales.
80
Descripción Medición Precio Importe
Presupuesto Ingeniería 1 1.584,11 € 1.584,11 €
Presupuesto de Ejecución Material 1 18.329,76 € 18.329,76 €
Gastos Generales (12%) 2.389,66 €
I.V.A. (21%) 4.181,91 €
Presupuesto General del Proyecto Total 19.913,87 €
81
Anexo A: Plano del badén
82
Anexo B: Mapa de pines del Arduino Mega 2560
83
Anexo C: Mapa de pines del Ardumoto de Sparkfun
84
Referencias
[1] Lin, J.S. and Kanellakopoulos, “Nonlinear Design of Active Suspensions,” IEEE Control System
Magazine, Vol. 17, No.3, pp. 45-49.
[2] Crosby, M. and D. C. Karnopp, “The active damper a new concept for shock and vibration
control,” Shock Vibration. Bull, Part H, Washington D.C, pp. 35-42.
[3] R. Rajamani and J.K. Hedrick, “Performance of Active Automobile Suspensions with Hydraulic
Actuators: Theory and Experiment” Proceedings of the American control conference June 1994.
[4] Esmailzadeh, E. and Taghirad, H.D, “Active Vehicle Suspensions with Optimal State-Feedback
control,” Proceedings of CSME, Vol, 2, pp, 822-834.
[5] Lin, J.S and Kanellakopoulos, “Modular Adaptive Design for Active Suspensions,” Proc. 36th
IEEE Conference on Decision and Control, 1997, San Diego, CA, pp.3626-3631.
[6] Jacqueline Wilkie, Michael Johnson and Raza Katebi, “Control Engineering: an Introductory
Course,” Pal grave Publishers 2003.
[8] Wong J.Y, “Theory of Ground Vehicles”, John Wily and Sons Inc., 1988, New York.
[9] Prof. Dr. Georg Rill “Vehicle Dynamics”, University of applied science, October 2006.
[10] Karnopp, D.C., “Passive and Active Control of Road Vehicle Heave and Pitch Motion”, Proc.
IFAC 10th Triennial World Congress, 1991, pp. 181-183.
[11] “Research on Active Suspension Control Strategy Based on The Model With Parameters of
Hydraulic System”, Zhou Chenyu, Zhang Shuo, Shi Peilong, Zhang Peipei, Automobile School,
Chang’an University, Xi’an, China, 2013, pp. 172-176.
[12] “Vibration Isolation for Active Suspensions with Performance Constraints and Actuator
Saturation”, Weichao Sun; Huijun Gao; Kaynak, O; Mechatronics, IEEE/ASME Transactions on
Volume: 20, Issue: 2, DOI: 10.1109/TMECH.2014.2319355, 2015, pp.: 675-683.
85