Nothing Special   »   [go: up one dir, main page]

Universidad Pontificia Comillas: Diseño de Un Sistema de Suspensión Activa para Esquivar La Colisión Con Badenes

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 94

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)


INGENIERO INDUSTRIAL

PROYECTO DE FIN DE CARRERA

DISEÑO DE UN SISTEMA DE
SUSPENSIÓN ACTIVA PARA ESQUIVAR
LA COLISIÓN CON BADENES

AUTOR: Pablo Martínez Rodríguez


DIRECTOR: Juan Luis Zamora Macho / José Porras Galán
MADRID, Junio de 2015

1
AUTORIZACIÓN PARA LA DIGITALIZACIÓN, DEPÓSITO Y DIVULGACIÓN EN ACCESO ABIERTO
(RESTRINGIDO) DE DOCUMENTACIÓN

1º. Declaración de la autoría y acreditación de la misma.

El autor D. PABLO MARTINEZ RODRIGUEZ, como ALUMNO de la UNIVERSIDAD PONTIFICIA


COMILLAS (COMILLAS), DECLARA
que es el titular de los derechos de propiedad intelectual, objeto de la presente cesión, en relación
con la obra 1 DISEÑO DE UN SISTEMA DE SUSPENSIÓN ACTIVA PARA ESQUIVAR LA COLISIÓN CON
BADENES, que ésta es una obra original, y que ostenta la condición de autor en el sentido que
otorga la Ley de Propiedad Intelectual como titular único o cotitular de la obra.
En caso de ser cotitular, el autor (firmante) declara asimismo que cuenta con el consentimiento de
los restantes titulares para hacer la presente cesión. En caso de previa cesión a terceros de
derechos de explotación de la obra, el autor declara que tiene la oportuna autorización de dichos
titulares de derechos a los fines de esta cesión o bien que retiene la facultad de ceder estos
derechos en la forma prevista en la presente cesión y así lo acredita.

2º. Objeto y fines de la cesió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.

Sin perjuicio de la titularidad de la obra, que sigue correspondiendo a su autor, la cesión de


derechos contemplada en esta licencia, el repositorio institucional podrá:

(a) Transformarla para adaptarla a cualquier tecnología susceptible de incorporarla a internet;


realizar adaptaciones para hacer posible la utilización de la obra en formatos electrónicos, así
como incorporar metadatos para realizar el registro de la obra e incorporar “marcas de agua” o
cualquier otro sistema de seguridad o de protecció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

(d) Distribuir copias electrónicas de la obra a los usuarios en un soporte digital. 3

4º. Derechos del autor.

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:

a) A que la Universidad identifique claramente su nombre como el autor o propietario de los


derechos del documento.

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.

5º. Deberes del autor.

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.

6º. Fines y funcionamiento del Repositorio Institucional.

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:

a) Deberes del repositorio Institucional:

- 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.

- La Universidad adoptará las medidas necesarias para la preservación de la obra en un futuro.

b) Derechos que se reserva el Repositorio institucional respecto de las obras en él registradas:

- retirar la obra, previa notificación al autor, en supuestos suficientemente justificados, o en caso


de reclamaciones de terceros.

Madrid, a 15 de JUNIO de 2015

ACEPTA

Fdo.
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
INGENIERO INDUSTRIAL

PROYECTO DE FIN DE CARRERA

DISEÑO DE UN SISTEMA DE
SUSPENSIÓN ACTIVA PARA ESQUIVAR
LA COLISIÓN CON BADENES

AUTOR: Pablo Martínez Rodríguez


DIRECTOR: Juan Luis Zamora Macho / José Porras Galán
MADRID, Junio de 2015
1
Índice

RESUMEN DEL PROYECTO ........................................................................................................... 4

PROJECT SUMMARY .................................................................................................................... 10

ABSTRACT .......................................................................................................................................... 16

1. Introducción .............................................................................................................................. 20

1.1 Estado del arte .................................................................................................................. 21

1.2 Motivación ........................................................................................................................ 23

1.3 Objetivos ........................................................................................................................... 24

2. Montaje del prototipo y entorno .............................................................................................. 26

2.1 Selección del sistema de amortiguación ........................................................................... 26

2.2 Parametrización del sistema de amortiguación ................................................................ 26

2.2.1 Ensayo del actuador lineal ........................................................................................ 27

2.2.2 Ensayo del amortiguador con muelle........................................................................ 27

2.2.3 Modelado de la amortiguación ................................................................................. 32

2.3 Montaje del sistema de amortiguación ............................................................................ 34

2.4 Montaje del chasis del vehículo ........................................................................................ 35

2.5 Diseño y fabricación del badén ......................................................................................... 37

3. Comunicaciones y sistema de control ....................................................................................... 40

3.1 Elementos del sistema de control ..................................................................................... 41

3.2 Sistema de comunicaciones .............................................................................................. 43

3.2.1 Protocolo de comunicación rj12 ............................................................................... 43

3.2.2 Driver shield .............................................................................................................. 45

3.2.3 Conexionado de los Arduinos.................................................................................... 45


3.2.4 Calibración de los sensores IR ................................................................................... 47

3.2.5 Emplazamiento de los sensores IR ............................................................................ 52

3.3 Máquina de Estados .......................................................................................................... 53

3.3.1 Señales de transición................................................................................................. 55

3.3.2 Cálculo de la frenada ................................................................................................. 56

3.3.3 Estado cero ................................................................................................................ 59

4. Diseño de los controles y simulación ........................................................................................ 62

4.1 Diseño de la planta ............................................................................................................ 62

4.2 Control LQR ....................................................................................................................... 70

4.3 Implantación de los controles ........................................................................................... 75

5. Resultados ................................................................................................................................. 76

6. Conclusiones y futuros proyectos ............................................................................................. 78

7. Estudio económico .................................................................................................................... 80

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 ........................................................................................................................................ 85
DISEÑO DE UN SISTEMA DE SUSPENSIÓN ACTIVA PARA ESQUIVAR LA
COLISIÓN CON BADENES

Autor: Martínez Rodríguez, Pablo

Director: Zamora Macho, Juan Luis / Porras Galán, José

Entidad Colaboradora: Universidad Pontificia de Comillas

RESUMEN DEL PROYECTO


1. Objetivos sistema. Puede variar sus parámetros
dependiendo de las condiciones de
El siguiente proyecto tiene como operación y de los valores que pueden
objetivo principal el desarrollo del hardware recoger los sensores instalados a bordo. Los
y software necesarios para facilitar el diseño sistemas de suspensión activa y semi-activa
del control de la suspensión de un prototipo intentan resolver el citado compromiso
de automóvil en el entorno Matlab/Simulink. adaptándose, en todo momento, a las
condiciones de la carretera y maniobras del
2. Motivación y Estado del Arte conductor, de forma que proporcionen
simultáneamente un buen nivel de confort y
En las últimas décadas hemos sido un control óptimo del vehículo.
testigos de la revolución que ha sufrido el
sector automovilístico en la forma de La motivación del proyecto es servir
entender las prestaciones de un vehículo de estímulo y base teórica para que, algún
abriendo líneas de investigación totalmente día, la Universidad Pontificia de Comillas
novedosas pero con el objetivo siempre de pueda comprobar y hacer estudios de la
llegar a la conducción automática. Estas utilidad del control digital sobre vehículos
evoluciones en prestaciones, confort, reales, aplicado sobre amortiguaciones
ecología y servicios del automóvil vienen, en hidráulicas y buscando nuevos dispositivos
gran parte, de la implementación de la que permitan actuar sobre las suspensiones
electrónica en todos sus aspectos, al ser de los vehículos.
imprescindibles mayores cantidades de
información en tiempo real. 3. Descripción del Equipo

Un sistema de suspensión pasiva El hardware del proyecto es un


tiene la capacidad de almacenar energía en prototipo que simule un vehículo de tracción
los muelles y disiparla en los amortiguadores. delantera. Dicho prototipo es de piezas Lego
Sus parámetros son fijos, y se eligen para Technic que permiten un montaje sencillo y
alcanzar un compromiso entre estabilidad, versátil pero, en cuanto a la rigidez del
sujeción de la carga y confort. Una prototipo, muestra ciertas dificultades para
suspensión de tipo activo es capaz de evitar la flexión en tramos largos.
almacenar, disipar e introducir energía en el
El prototipo cuenta con dos partes
diferenciables: las amortiguaciones y el
chasis. Primero se construyen las
amortiguaciones por separado, fijando el
movimiento del sistema a solo el eje vertical
y creando las restricciones suficientes para
asegurar dicho movimiento. A posteriori se
unen las suspensiones dos a dos, la delantera
mediante guías entre los motores y la trasera
uniendo la suspensión al eje de aluminio que
constituye el eje de transmisión trasero del Figura 2. Vista lateral del prototipo
prototipo. Además se crean guías entre las
suspensiones que aseguran, en un grado
más, mantener la linealidad entre ambas
suspensiones. Como último paso se unen las
suspensiones, fijando las distancias entre
ejes del vehículo y se engancha al chasis el
parachoques delantero y el trasero.

Figura 3. Vista frontal del prototipo

Para la puesta en marcha del


prototipo se establecen los controles en
microprocesadores Arduino Mega 2560. Se
utiliza para cada uno de los controles
independientes, el control de avance y el
control de altura. El control de avance utiliza
Figura 1. Vista superior del prototipo
los encoders de los motores de Lego
1 Suspensión delantera derecha encargados de la tracción del vehículo para
2 Suspensión trasera derecha regular el avance del prototipo. El control de
3 Suspensión trasera izquierda altura utiliza sensores IR, con unidades de
4 Suspensión delantera izquierda filtrado, para monitorizar la regulación de la
5 Guías suspensión delantera
altura del chasis en los cuatro puntos de
6 Guías suspensión trasera
1 Arduino de control de avance
actuación de la suspensión y controla los
2 Arduino de control de altura motores de los actuadores lineales. Los
3 Enlace motores suspensión derecha motores se controlan mediante driver shield
4 Enlace motores suspensión izquierda de Arduino para facilitar su control desde
Tabla 1. Simulink.
Las ecuaciones que regulan el
sistema representan el movimiento del
motor y del sistema físico respecto del
mando del motor y del ángulo de la
superficie de rodadura:

1 𝑅𝑅
𝑤𝑚 = (𝑢 − )
� 𝐾𝑒 𝐾𝑒
𝑚
𝑇𝑙𝑙𝑙 𝑤𝑚 + 𝑚𝑚 ∗ sin(𝜃) = 𝑥̈ 𝑐ℎ + 𝐷𝑥̇ 𝑐ℎ + 𝐾𝑥𝑐ℎ
4

El valor de las constantes del muelle


Figura 4. Sistema de control del prototipo y de la fricción viscosa de la amortiguación se
obtiene de forma empírica tras ensayarlos.
Los valores relacionados con el motor vienen
4. Modelado
dados por Lego.
Las suspensiones están formadas por
un muelle con una fricción viscosa de aire, 5. Diseño del Sistema de Control
opuesto al eje de un actuador lineal
controlado por un motor. El motor se integra Se busca que el prototipo realice una
en el chasis. La amortiguación del prototipo aproximación y el paso por un badén
se modela por el siguiente sistema: trapezoidal. Para modelar esto se genera una
máquina de estados con cuatro estados:

- Un estado inicial que desconecta los


motores mientras se activan los
sistemas.
- Un estado de circulación normal en el
que el vehículo sigue una referencia de
altura y velocidad constante.
- Un estado para la frenada que el
vehículo realiza antes de la entrada al
badén.
- Y un estado para el paso por el badén.

Para controlar el prototipo se utilizan


dos controles independientes: el control de
avance y el control de altura. El control de
avance simula la actuación de un conductor
normal. Como la actuación de un conductor
Figura 5. Esquema del sistema de
no es brusca ni inmediata, se coge un control
amortiguación del prototipo
PI para su diseño. En el control de altura se
necesita en cambio un control rápido pero
que tenga el mínimo sobrepaso posible. Se
seguirá la línea de investigación abierta y se
utilizan controles LQR.

Este control consiste en diseñar el


regulador por realimentación de estado para
que la respuesta libre del sistema en lazo

Incremento de Altura (en centímetros)


cerrado, ante un estado inicial distinto al del
punto de operación, evolucione hacia dicho
punto de operación de forma óptima según
la determinada función de coste J(N), cuyo
objetivo es minimizar.
Tiempo (en segundos)
∞ ∞

𝐽(𝑁) = � 𝑋[𝑘]𝑇 𝑄𝑄[𝑘] + � 𝑈[𝑘]𝑇 𝑅𝑅[𝑘]


𝑘=0 𝑘=0

Se modifican las ecuaciones de la


planta para introducirlo en una
representación de estado lineal. Las matrices
asociadas a las ecuaciones son las siguientes:

−4𝐷/𝑚 −4𝐾/𝑚 4𝑇 4𝑔
𝐴=� � ; 𝐵 = � 𝑙𝑙𝑙 �
1 0 0 0

𝐶 = [0 1] ; 𝐷 = [0 0]

Tiempo (en segundos)


6. Resultados de Simulación
Gráfica 1. Comparativa de controles en la
Para evaluar los resultados del amortiguación delantera y trasera
simulador, se hace una comparativa entre los
controles obtenidos y así valorar que En ambos casos, el control PI da
controles dan mejores resultados con la resultados muy lentos ante los errores en
planta obtenida. Las gráficas siguientes perturbación (el badén) pero sobretodo en
muestran la evolución de la altura del chasis referencia (la frenada). El control LQR, en
con el tiempo. cambio, ofrece gran rapidez en comparación
con el control PI tanto con errores en
referencia como en perturbación.
7. Conclusiones y Futuros Desarrollos vibration control,” Shock Vibration. Bull, Part
H, Washington D.C, pp. 35-42.
Este proyecto ha creado el hardware [3] R. Rajamani and J.K. Hedrick,
y software necesario para poder diseñar “Performance of Active Automobile
Suspensions with Hydraulic Actuators:
controles PID y LQR para un prototipo a
Theory and Experiment” Proceedings of the
escala de un vehículo de tracción delantera. American control conference June 1994.
Además ha confirmado que, en el entorno [4] Esmailzadeh, E. and Taghirad, H.D,
Matlab y Simulink, se puede simular el “Active Vehicle Suspensions with Optimal
sistema de amortiguación y obtener la State-Feedback control,” Proceedings of
respuesta a obstáculos en tiempo real. A CSME, Vol, 2, pp, 822-834.
pesar de ello este estudio concluye que Lego [5] Lin, J.S and Kanellakopoulos, “Modular
Adaptive Design for Active Suspensions,”
no es un entorno ideal para la realización de
Proc. 36th IEEE Conference on Decision and
este proyecto. El prototipo creado es Control, 1997, San Diego, CA, pp.3626-3631.
demasiado pesado para la potencia que [6] Jacqueline Wilkie, Michael Johnson and
pueden suministrar los motores de Lego, Raza Katebi, “Control Engineering: an
aproximadamente 1.5-2 W. Introductory Course,” Pal grave Publishers
2003.
Los resultados de este proyecto [7] Ogata K, “Modern Control Engineering”,
Prentice-Hall, 3rd edition 1996.
permitirán el desarrollo de otros proyectos
[8] Wong J.Y, “Theory of Ground Vehicles”,
en los años posteriores. Un primer proyecto John Wily and Sons Inc., 1988, New York.
podrá recomponer el prototipo con motores [9] Prof. Dr. Georg Rill “Vehicle Dynamics”,
de mayor potencia y así comprobar la University of applied science, October 2006.
eficacia de los controles digitales en el [10] Karnopp, D., “Passive and Active Control
prototipo. Otra opción será cambiar el of Road Vehicle Heave and Pitch Motion”,
prototipo por un vehículo de radiocontrol e Proc. IFAC 10th Triennial World Congress,
1991, pp. 181-183.
introducir actuadores, como servomotores,
[11] “Research on Active Suspension Control
en las amortiguaciones ya existentes. Todo Strategy Based on The Model With
con el objetivo final de poder finalmente Parameters of Hydraulic System”, Zhou
probar un control digital sobre una Chenyu, Zhang Shuo, Shi Peilong, Zhang
amortiguación hidráulica real. Peipei, Automobile School, Chang’an
University, Xi’an, China, 2013, pp. 172-176.
8. Referencias [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:
[2] Crosby, M. and D. C. Karnopp, “The active 10.1109/TMECH.2014.2319355, 2015, pp.:
damper a new concept for shock and 675-683.
9
DESIGN OF AN ACTIVE SUSPENSION SYSTEM TO AVOID COLLISION WITH A
ROAD BUMP

Author: Martínez Rodríguez, Pablo

Director: Zamora Macho, Juan Luis / Porras Galán, José

Collaborating Entity: Universidad Pontificia de Comillas

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.

Figure 3. Front view of the prototype

To launch the prototype Arduino


Mega 2560 microprocessors are needed to
establish the digital controls. Each of them
holds an independent control, the speed
Figure 1. Aerial view of the prototype
control and the height control. The speed
1 Right front-wheel drive damper
control uses the motor encoders to feedback
Right back-wheel drive damper
the angular speed of the prototype and
2
controls it. The height control uses IR
3 Left back-wheel drive damper
sensors, filtered afterwards, to monitor the
4 Left front-wheel drive damper
chassis height regulation in the four points of
5 Front-wheel drive dampers guides
the damper actuation and controls the linear
6 Back-wheel drive dampers guides
actuator motors. These motors are
1 Arduino for speed control
controlled through Arduino driver shields to
2 Arduino for height control
ease its control from Simulink.
3 Right dampers motor driver shield
4 Left dampers motor driver shield
Table 1.

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

The value of the string and air


Figure 4. Prototype Control System viscous friction constants contained in the
dampers is obtained empirically through
several tests. The constants related to the
4. Model
motor are given by Lego.
The dampers are constituted by a
string with an air viscous friction, opposed to 5. Control System Design
the axis of a linear actuator controlled by a
motor. The motor is integrated in the It is sought that the prototype makes
chassis. The damper of the prototype is an approximation and goes through the road
modelled by the next diagram: bump. To make a model of that dynamic a
Stateflow chart with four states is generated:

- An initial state in which motors are


disconnected while the systems are
turned on.
- A state of normal driving where the
vehicle follows a height and speed
constant reference.
- A state to break before the arrival to
the road bump.
- And a state to go across the road
bump.

To control the prototype two


independent controls are used: the speed
control and the height control. On one hand,
the speed control simulates the actuation of
a casual driver. As the actuation is neither
Figure 5. Damper system diagram of the
immediate nor sudden, a PI control is set for
prototype
its design. On the other hand, the height
control a fast control with no over damping

12
is needed. This project follows up the current
research and uses an LQR control.

This control consists in the design of


a regulator by state feedback in order to
make the free response of the system in
closed loop, having an initial state different
from the operation point, evolves until said

Height Increase (in centimeters)


point is reached in optimal fashion following
the determined cost function J(N), which
needs to be minimized.

∞ ∞
Time (in seconds)
𝐽(𝑁) = � 𝑋[𝑘] 𝑄𝑄[𝑘] + � 𝑈[𝑘]𝑇 𝑅𝑅[𝑘]
𝑇

𝑘=0 𝑘=0

The system equations are modified


so they can be introduced as a discrete linear
space state. The associated matrixes to the
equations are the following:

−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.

En lo referido a este proyecto, el sistema de suspensión de un vehículo debe proporcionar,


principalmente: una correcta maniobrabilidad, una absorción efectiva de las irregularidades de la
carretera que se traduzca en confort de los pasajeros, y soportar las variaciones de cargas.

Un sistema de suspensión pasiva tiene la capacidad de almacenar energía en los muelles y


disiparla en los amortiguadores. Sus parámetros son fijos, y se eligen para alcanzar un compromiso
entre estabilidad, sujeción de la carga y confort. Una suspensión de tipo activo es capaz de
almacenar, disipar e introducir energía en el sistema. Puede variar sus parámetros dependiendo
de las condiciones de operación y de los valores que pueden recoger los sensores instalados a
bordo. Los sistemas de suspensión activa y semi-activa intentan resolver el citado compromiso
adaptándose, en todo momento, a las condiciones de la carretera y maniobras del conductor, de
forma que proporcionen simultáneamente un buen nivel de confort y un control óptimo del
vehículo.

Este proyecto intentará crear un modelo de suspensión activa en un vehículo de tracción a


las cuatro ruedas que tenga una mayor capacidad de reacción ante obstáculos que podrían poner
en riesgo la integridad del vehículo que los modelos actuales.

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.

Figura 1. Modelo de ‘suspensión’ en un carruaje


Fuente: www.mecanicayautomocion.blogspot.com.es

El resultado no fue el deseado porque la cabina oscilaba demasiado y resultaba inestable,


sin embargo, ahí podemos decir que nació la suspensión: un medio elástico que, además de
sostener la carrocería, asimile las irregularidades del camino. La función principal de la suspensión
es la de suspender y absorber los movimientos bruscos causados sobre la carrocería
proporcionando una marcha suave, segura y cómoda. Denominamos suspensión al conjunto de
elementos que se interponen entre los órganos suspendidos y no suspendidos.

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.

Figura 2. Sistema de suspensión Hydractive3+


Fuente: www.citroen.org.es

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.

El LQG es un control basado en sistemas lineales de comportamiento incierto perturbados


por ruido blanco, es decir un ruido que emite con una misma potencia en todas las frecuencias,
cuyo estado es incompleto y está sometido a funciones de coste cuadráticas. Básicamente, un
control LQG es la combinación de un filtro de Kalman, que es un estimador lineal cuadrático, y un
regulador lineal cuadrático.

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

Los objetivos del proyecto son los siguientes:

1- El objetivo principal del proyecto es el desarrollo del hardware y software necesarios


para facilitar el diseño y control de la suspensión de un prototipo de automóvil en el
entorno Matlab/Simulink.
2- Se buscará a optimizar el control para maximizar la velocidad inicial del prototipo de
vehículo en la medida que sea posible, buscando mostrar que el control utilizado se
adapta a situaciones más extremas.
3- Como objetivo más secundario del control, se intentará estabilizar el interior del
prototipo del vehículo de forma que la posible habitabilidad del interior tenga el
mayor confort posible.

24
25
2. Montaje del prototipo y entorno
2.1 Selección del sistema de amortiguación

El sistema de amortiguación escogido para el prototipo de este proyecto estará


compuesto de un amortiguador de 10L de aire con muelle, modelo 32181c02 de Lego Technic, y
un actuador lineal, modelo 61927c01 de Lego Technic, activado por un servomotor grande EV3 de
Lego Technic. El sistema de amortiguación funcionará de forma que el amortiguador con muelle
absorba normalmente las perturbaciones del terreno pero, antes de transmitir el movimiento al
chasis del prototipo, se sitúa el actuador lineal para controlar el movimiento del chasis a lo largo
de la perturbación.

Figura 3. Elementos del sistema de amortiguación


Fuente: www.electribriks.com

2.2 Parametrizació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)

Figura 4. Estructura del ensayo actuador lineal

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]
𝜃𝑒𝑒𝑒

De la ecuación anterior [1], se deduce que el valor de Tlin es de 0.215 mm/rad.

2.2.2 Ensayo del amortiguador con muelle

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)

Figura 5. Estructura del ensayo del amortiguador

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

Se construye el sistema de control en Simulink, sabiendo que se tiene como entrada el


sensor de luz EOPD, un sensor de luz, y el encoder del motor, que da el valor del giro del eje del
motor. La salida será el mando del motor que controla la oscilación del muelle. Dicho mando se
generará por la diferencia entre una señal PRBS (pseudo-random binary sequence) y la
realimentación de la distancia calculada por el sensor.

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.

La respuesta del sensor es un valor proporcional a la intensidad de la luz recibida, en


voltios. Es decir, para grandes distancias se recibe menos luz y viceversa. Para que el sensor mida
correctamente es necesario que dicha distancia esté entre 1 y 10 cm. Para la correcta medida de la
distancia se necesita realizar una calibración del sensor haciendo un par de ensayos, con distancias
conocidas, para interpolar la relación entre la distancia real y la intensidad medida por el sensor
29
EOPD. En las ecuaciones para la aproximación de la distancia se supone linealidad entre el valor de
la distancia y el valor medido por el sensor EOPD:

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.

Esquema 2. Fichero Simulink de la calibración del sensor EOPD

Se ensaya el amortiguador con muelle en la configuración mostrada anteriormente


durante aproximadamente 2 minutos. La respuesta del sistema se registra en un fichero de datos
de Matlab. Gracias a la herramienta de identificación de sistemas se busca encontrar la mejor
aproximación matemática simplificada que permita el cálculo de los parámetros del sistema. Para
ello se basa el proceso en la identificación de los polos del sistema que mejor se adapten a la
respuesta del sistema a escalones en la referencia conocidos.

30
Gráfica 1. Modelado del sistema por identificación de polos/ceros

De la gráfica primero se constatan dos cosas: la primera es que el muelle no se comporta a


tracción igual que a compresión, pero dado a que solo se puede obtener una constante para el
muelle, se sabrá que se cometerá cierto error; la segunda es que el motor de Lego que se va a
utilizar para el prototipo tiene una histéresis muy importante en valores de tensión altos (a partir
de 6V) y que hacen que el sistema vibre.

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 )

El signo negativo de la función de transferencia se debe únicamente a que el giro del


motor y la compresión del muelle tienen signos opuestos.

31
2.2.3 Modelado de la amortiguación

El sistema propuesto para el ensayo se puede modelar teóricamente por el siguiente


esquema:

Esquema 3. Sistema físico del ensayo de 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:

Esquema 4. Sistema físico del motor

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:

• Ecuaciones de estado: 𝑥̇ = 𝑓(𝑋, 𝑈, 𝑡)


• Ecuaciones de salida: 𝑦 = 𝑔(𝑋, 𝑈, 𝑡)
Siendo, • Vector de estado: 𝑋 = [𝑥1 𝑥2 … 𝑥𝑛 ]
• Vector de entradas: 𝑈 = [𝑢1 𝑢2 … 𝑢𝑛 ]
• Vector de salidas: 𝑌 = [𝑦1 𝑦2 … 𝑦𝑛 ]

En el caso de estudio, el par T es generado por el motor y teniendo en cuenta el modelo


del motor (Esquema 3), el sistema modelado se esquematiza siguiendo las ecuaciones del sistema,
creando un lazo cerrado para el estudio de la función de transferencia. El control utilizado será un
control proporcional con una Ks igual a -10.

Esquema 5. Lazo cerrado del sistema de amortiguación


33
Calculando la función de transferencia del lazo cerrado del esquema (Esquema 4), se
buscará a identificar todas las variables desconocidas del sistema (J, D y K). La función de
transferencia queda de la siguiente forma:

𝑋 𝐾𝑡 ∗𝐾𝑠
𝐺 (𝑠) = 𝑢 = 𝐽 𝐾 [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.

2.3 Montaje del sistema de amortiguación

El montaje del sistema de amortiguación del prototipo debe de permitir el movimiento


lineal del amortiguador con muelle y aislar el movimiento de la rueda del chasis mediante el
actuador lineal. Para ello se construyen todos los elementos necesarios para la restricción de los
giros y flexiones de la amortiguación: mediante guías y fijaciones (Figura 6) para ambos elementos
se limita su movimiento y se unen los dos elementos por dos ejes.

Como se ve en la figura 6, la estructura de la amortiguación se compone de los elementos


indicados en el apartado 2.1. Dichos componentes están introducidos en dos vías rectas acopladas
al chasis que restringen el movimiento no lineal de la amortiguación. Para restringir los
movimientos en los ejes no deseados se construyen ‘celdas’ que por presión impiden que la
amortiguación gire. Por ejemplo, en el primer plano de la imagen se ve una estructura de barras
que impide que el bloque de la amortiguación se venza hacia la rueda.

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.

Figura 6. Amortiguador del prototipo

2.4 Montaje del 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.

Figura 7. Imagen del prototipo

El eje de transmisión trasero es una barra maciza de aluminio de 20 mm de diámetro al


cual se le realiza un agujero de 10 mm de largo y 7,5 mm de diámetro en los extremos para

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.

Figura 8. Imagen del eje trasero del prototipo

2.5 Diseño y fabricación del badén

El uso masificado de los badenes en entornos urbanos para el control y limitación de la


velocidad en áreas de interés y potencial riesgo (colegios, calles largas, zonas de alto tránsito
de peatones, entre otros…) provocó que el Estado Español decidiera legislar una normativa
para el uso y diseño de badenes. En el diseño del badén de este proyecto se seguirá la
normativa vigente en la ORDEN FOM/3053/2008 del 23 de septiembre de 2008.

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

Aplicando un coeficiente de escala correcto, se adapta el badén al tamaño del prototipo


(ver Plano 1). El badén se construye manualmente de madera maciza, y se le aplica una mano de
pintura blanca a la superficie para, como se verá en los apartados siguientes, ayudar en la lectura
de los sensores infrarrojos.

Figura 9. Imagen en Solid Edge del badén

Figura 10. Imagen real del badén

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:

Figura 11. Esquema del sistema de control del prototipo

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.

Figura 12. Imagen del sensor infrarrojo GP2Y0A21YK


Fuente: www.5hertz.com

El sensor infrarrojo tiene un ciclo de funcionamiento de 46 ms, funcionando en rangos


entre 5 y 80 cm. Mientras el sensor reciba tensión de 5V, medirá constantemente la distancia en
ciclos de 40 ms aproximadamente. La salida por el canal de datos del sensor tiene un retraso de
unos 7 ms. La señal de salida es un valor entre 1023 y 0 inversamente proporcional a la distancia.
La relación empírica viene dada por la curva siguiente, proporcionada por el fabricante:

41
Gráfica 2. Características de la tensión de salida del sensor infrarrojo GP2Y0A21YK

El micro-controlador del prototipo es un Arduino Mega 2560, un microcontrolador que


opera a 5V, tiene 54 salidas digitales de las cuales 15 ofrecen salidas de PWM, 16 entradas
analógicas y que será alimentado por la batería de un EV3 como si de un sensor o periférico se
tratase.

Figura 13. Imagen del Arduino Mega 2560


Fuente: www.arduino.com
42
Cada micro-controlador está conectado a un driver shield de Sparkfun, el Ardumoto, que,
integrado en el Arduino Mega 2560, utiliza las salidas de PWM y digitales del Arduino para
controlar hasta 2 motores DC de manera simultánea.

Figura 14. Imagen de Ardumoto de Sparkfun


Fuente: www.sparkfun.com

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.

3.2 Sistema de comunicaciones

Al usar dispositivos diferentes en los motores y los sistemas electrónicos la capacidad de


interconexión no es inmediata. El estudio de las comunicaciones entre los dispositivos es
imprescindible para la transmisión de la información, desde el Arduino hacia los motores y desde
los sensores al Arduino.

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.

3.2.1 Protocolo de comunicación rj12

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:

Numero de Pin Color Nombre


1 Blanco AN
2 Negro GND
3 Rojo GND
4 Verde 4.3V
5 Amarillo DIGI0
6 Azul DIGI1

Tabla 1. Descripción del protocolo rj12 para sensores

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.

En el caso de conexiones con motores, de forma análoga, la tabla siguiente recoge la


información necesaria para entender su conexionado:

Numero de Pin Color Nombre


1 Blanco M1
2 Negro M2
3 Rojo GND
4 Verde 4.3V
5 Amarillo TACHO0
6 Azul TACHO1

Tabla 2. Descripción del protocolo rj12 para motores

Para la conexión de los motores, los cables M1 y M2 aportan la potencia al motor en


forma de PWM y los cables TACHO0 y TACHO1 responden a las señales del encoder del motor.

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.

3.2.3 Conexionado de los Arduinos

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.

En la tabla siguiente se establecen los pines de conexión de los dispositivos al Arduino


Mega 2560 encargado del avance del vehículo.

45
Dispositivo Señal # Pin Tipo de Canal

Sensor Infrarrojo Frontal Derecho - A13 Input Analógico


Sensor Infrarrojo Frontal Izquierdo - A12 Input Analógico
Encoder Delantero Izquierdo TACHO D18,D19 Input Digital
Encoder Delantero Derecho TACHO D20,D21 Input Digital
Velocidad Motor Delantero Izquierdo - D11 Output PWM
Velocidad Motor Delantero Derecho - D3 Output PWM
Sentido Motor Delantero Izquierdo - D13 Output Digital
Sentido Motor Delantero Derecho - D12 Output Digital

Tabla 3. Conexionado de pines del Arduino Mega 2560 de Avance

En la tabla siguiente se establecen los pines de conexión de los dispositivos al Arduino


Mega 2560 encargado de la regulación de la altura del vehículo.

Dispositivo Señal # Pin Tipo de Canal

Sensor Infrarrojo Frontal Derecho - A13 Input Analógico


Sensor Infrarrojo Frontal Izquierdo - A12 Input Analógico
Sensor Infrarrojo Trasero Izquierdo - A9 Input Analógico
Sensor Infrarrojo Trasero Derecho - A11 Input Analógico
Sensor Infrarrojo Delantero Izquierdo - A10 Input Analógico
Sensor Infrarrojo Delantero Derecho - A8 Input Analógico
Velocidad Motor Delantero Izquierdo - D4 Output PWM
Velocidad Motor Delantero Derecho - D5 Output PWM
Velocidad Motor Trasero Izquierdo - D3 Output PWM
Velocidad Motor Trasero Derecho - D2 Output PWM
Sentido Motor Delantero Izquierdo - D9 Output Digital
Sentido Motor Delantero Derecho - D11 Output Digital
Sentido Motor Trasero Izquierdo - D8 Output Digital
Sentido Motor Trasero Derecho - D10 Output Digital

Tabla 4. Conexionado de pines del Arduino Mega 2560 de Altura

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.

3.2.4 Calibración de los sensores IR

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.

En la tabla siguiente se recopilan los datos obtenidos durante el ensayo:

Distancia [cm] Medida IR


6 740
8 650
10 520
12 450
15 375

Tabla 5. Datos del ensayo del sensor IR

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

Gráfica 3. Representación gráfica del ensayo del sensor IR

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:

𝑑𝐼𝐼 = −0.0232 ∗ 𝑚𝑚𝑚𝑚𝑚𝑚𝐼𝐼 + 25 [8]

A continuación se comprueba en varias distancias el resultado del convertidor calculado,


utilizando el esquema siguiente en Simulink y comparando ambas señales para ver el impacto del
ruido en la señal.

Esquema 6. Modelo de conversión del sensor IR

Se coloca al sensor IR a una distancia de 15 cm de un objeto blanco y se utiliza el conversor


para comprobar dicha distancia. En la gráfica siguiente aparecen ambas señales, tanto la medida
en crudo del sensor como la distancia del sensor:

48
Medida cruda del Sensor

Tiempo (en segundos)

Gráfica 4. Señales del sensor IR y de la distancia del sensor a 15 cm

Por la señal obtenida, se ve que el conversor funciona correctamente. En relación a la


calidad de la señal emitida por el sensor, se aprecia que no es muy fiable ya que tiene errores en la
medida que pueden llegar a ser importantes, un 10% en algunos picos. Tras varios ensayos con los
sensores y verificando bien su funcionamiento se deduce que el error de los picos tiene que ver
con una subalimentación de la tensión de referencia de los sensores. Los sensores que están
alimentados a 5V por el Arduino, así como los motores, reciben suficiente tensión para su correcto
funcionamiento pero el Arduino ya no tiene potencia suficiente para sacar por sus pines de
referencia de tensión los 5V o 3,3V que requiere. La tensión medida durante el ensayo es oscilante
entre 4,6 y 4,8V y la oscilación en la tensión de referencia introduce el ruido visto desde los
sensores. Esto tiene dos implicaciones directas: el Arduino tiene muchas limitaciones de carga en
sus pines I/O debido a que su regulador de tensión, responsable de las tensiones de referencia,
tiene una limitación muy baja de intensidad, 300 miliamperios; y se va a tener que introducir una
alimentación externa para los motores para liberar carga de los Arduinos de forma a que los
sensores estén correctamente alimentados.

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)

Tiempo (en segundos)

Gráfica 5. Señal de la distancia del sensor a 10 cm

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

Utilizando la herramienta ‘c2d’ de Matlab se adapta el filtro continuo al periodo de


muestreo que tiene el sistema (0.06 segundos). A dicho filtro se le añade una integración para
mejorar su rendimiento, a costa de una mayor lentitud, de forma que el modelo de medida de la
distancia queda como muestra el siguiente esquema:

Esquema 8. Modelo de conversión del sensor IR con filtrado

Tras el filtrado, la señal reduce su error de un 10% a un 2% aproximadamente, que ya es


un error admisible para la medida de la altura. En la gráfica siguiente se muestra las señales de la
medida de la altura del vehículo en estado de reposo.

51
Altura Filtrada (en centímetros)

Tiempo (en segundos)


Gráfica 6. Señal de medida de altura en reposo

Al principio de la medida, al ser un filtro con un integrador, la medida empieza en cero


hasta llegar al valor de referencia. El tiempo que le lleva al sensor medir correctamente la señal es
de 2 segundos aproximadamente y se tendrá en cuenta en la lógica del diseño del control.

3.2.5 Emplazamiento de los sensores IR

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

3.3 Máquina de Estados

El movimiento del vehículo se compone de tres partes: un movimiento normal a velocidad


constante y altura constante, una etapa de frenado, donde la velocidad se reduce y el tren
delantero del vehículo desciende modelando así una frenada y la etapa de paso por badén. La
diferencia entre las etapas es la velocidad y la altura de referencia de los controles posteriores y
para ello se utiliza el Stateflow de Simulink, herramienta para la creación de máquinas de estados
en este entorno de programación. Se crearán entonces una máquina de estados para cada control.

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.

La máquina de estados de avance tiene dos salidas: la referencia de velocidad 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 velocidad en reposo y en la frenada.

Previamente a la máquina de estados, se crea un estado cero para la activación de los


sensores y evitar errores en la lógica del sistema mientras la integración del filtro se estabiliza. En

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.

El segundo estado es de ‘Frenada’ durante el cual la velocidad de referencia disminuye, así


como la altura de referencia del tren delantero, mientras se mantiene igual la referencia de altura
del tren trasero. Cuando el sensor IR detecte la proximidad del badén, la señal ‘sensorIRmin’ se
activa y por ello se pasa al siguiente estado.

El tercer y último estado es el ‘Badén’ en el que se mantiene la referencia anterior de


velocidad, y se estabiliza la altura del chasis reestableciendo la misma referencia en ambos ejes del
vehículo. Tras diez segundos, el vehículo ya ha pasado el badén y vuelve al estado ‘Normal’ para
seguir su camino.

Figura 16. Máquina de estados del control de altura del vehículo

54
Figura 17. Máquina de estados del control de velocidad del vehículo

Para el correcto funcionamiento de la máquina de estados es necesario entonces crear las


dos señales de tipo booleano para las transiciones entre las etapas ‘Normal’ y ‘Frenada’ y
‘Frenada’ y ‘Badén’, y modelar el frenado del vehículo. También será necesario crear una forma de
cortar la tensión de los motores durante el estado 0.

3.3.1 Señales de transición

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

3.3.2 Cálculo de la frenada

Por normativa de la dirección general de tráfico, la velocidad máxima a la que se puede


circular sobre un badén trapezoidal es de 20 km/h, en cambio la circulación en medio urbano tiene
la velocidad restringida a 50 km/h. Se supone entonces que un usuario, en circunstancias de
encontrarse con un badén, frena antes de entrar a él. Durante una frenada, el vehículo pierde
velocidad en sus ejes tractores y por trasmisión de fuerzas a través de la amortiguación frena el
chasis. Como la frenada del chasis es a través de la amortiguación, la distancia entre los ejes y el
centro de gravedad crea una fuerza que comprime la amortiguación del eje delantero y levanta el
eje trasero.

Figura 18. Imagen de frenada brusca de un vehículo


Fuente: www.racesimonline.com

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.

Esquema 10. Cálculo en Simulink de los parámetros de la frenada en altura

Esquema 11. Cálculo en Simulink de los parámetros de la frenada en avance

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.

function [vfr,vf] = Frenado(v_ini)

%Coeficiente de rozamiento de la superficie


mu=0.65;

%Distancia de frenado (en m)


dr=10;
d=0.07*12;

%Gravedad
g=9.81;

if (v_ini*v_ini-2*g*d*mu>0) %Si v es pequeña el coche frena hasta pararse


vf = sqrt(v_ini*v_ini-2*g*d*mu);
vfr=sqrt(v_ini*v_ini-2*g*dr*mu);
else vf=v_ini;
vfr=v_ini;
end

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.

function [hf_del,hf_tr] = Altura_Frenado(dv,h_ini)

%Coeficiente de rozamiento del suelo


mu=0.65;

%Gravedad
g=9.81;

%Variables de la amortiguación
k=40; %N/m
d=570; %N*s/m

%Masa del sistema


m=3.252; %kg

dx=(0.5*mu*m*g-dv*d)/k; %Cálculo variación de altura en el muelle


hf_del=h_ini-dx;
hf_tr=h_ini+dx;

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.

3.3.3 Estado cero

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

Tabla 6. Numeración de los estados

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.

4.1 Diseño de la planta

Para poder estudiar el sistema se plantea la siguiente estrategia:

• Obtener de forma teórica la planta del sistema de amortiguación.


• Obtener un control PID estable y simular un ensayo.
• A partir del ensayo obtener la planta real con la herramienta de identificación de
polos.

El sistema de amortiguación se compone de un muelle de aire sujeto al movimiento del


eje y en el otro extremo un actuador lineal agarrado al motor. Se utilizan los elementos de Lego
Technic analizados inicialmente. Las ecuaciones del motor ya se estudiaron en apartados
anteriores, así como el esquema utilizado.

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 𝑐ℎ

Para la implementación de la planta en Simulink es necesario transformar el sistema de


ecuaciones en una representación de estado. Las entradas del sistema son la velocidad angular wm
del eje del motor y el seno del ángulo de la superficie, sen (θ). Las variables de estado son la
velocidad y altura del chasis, vch y xch respectivamente. El sistema de ecuaciones queda entonces:

𝑥̇ 𝑐ℎ = 𝑣𝑐ℎ
� 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.

%%%%% Script Simulación Planta %%%%

%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.

Esquema 13. Planta en Simulink del sistema de amortiguación

Una vez la planta implementada en el diagrama se utiliza un programa de optimización de


controles PID de Matlab, proporcionado por el director del proyecto. El programa permite,
introduciendo la función de transferencia en tiempo continuo, optimizar el control PID que se

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.

Figura 19. Imagen del programa de optimización de PID

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

Sabiendo que el control de la amortiguación queda de la siguiente forma:

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)

Tiempo (en segundos)


Gráfica 7. Respuesta de la amortiguación con un control PI

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.

A posteriori de la estabilización de la altura del vehículo se simula la entrada al badén.


Para ello hay que activar las señales provenientes de los sensores frontales, ‘sensorIRmax’ y
‘sensorIRmin’ para que la máquina de estados entre en los estados relativos al badén. Además hay
que modificar el ángulo de la superficie de rodadura tanto para la rampa de entrada del badén
como para la de salida. Se procede entonces a simular un ensayo con los controles PI:

67
Esquema 14. Simulador del sistema de amortiguación del vehículo

En las siguientes gráficas se representa la respuesta del sistema de amortiguación trasero


y delantero respectivamente durante 100 segundos. A partir del segundo 25, y durante 10
segundos, entra en juego el badén provocando la frenada del vehículo y cambiando la referencia
de la altura de ambas amortiguaciones. Como es de esperar, el control del eje trasero no logra
seguir la referencia, por el motivo ya expuesto anteriormente, mientras que el control del eje
delantero sigue la referencia fácilmente, apoyado por el efecto de la gravedad.

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.

La simulación completa se muestra en las siguientes gráficas:

68
Incremento de Altura (en centímetros)

Tiempo (en segundos)

Gráfica 8. Respuesta de la amortiguación trasera al paso por el badén con un control PI


Incremento de Altura (en centímetros)

Tiempo (en segundos)


Gráfica 9. Respuesta de la amortiguación delantera al paso por el badén con un control PI

69
4.2 Control LQR

Utilizando el sistema de la planta usado para la simulación, se estudia implementar el


control cuadrático LQR. Este control consiste en diseñar el regulador por realimentación de estado
para que la respuesta libre del sistema en lazo cerrado, ante un estado inicial distinto al del punto
de operación, evolucione hacia dicho punto de operación de forma óptima según una
determinada función de coste.

Supongamos que el modelo en tiempo discreto de la planta está linealizado en el punto de


operación donde se desea que funcione el sistema. Se supone que todas las variables son
incrementales sobre dicho punto de operación deseado. La función objetivo cuadrática J(N)
empleada en el diseño del regulador LQR, definida en un horizonte infinito, es la siguiente:

𝐽(𝑁) = ∑∞ 𝑇 ∞ 𝑇
𝑘=0 𝑋[𝑘] 𝑄𝑄[𝑘] + ∑𝑘=0 𝑈[𝑘] 𝑅𝑅[𝑘] [17]

Q y R son matrices de peso definidas positivas correspondientes al error de regulación y al


esfuerzo de actuación respectivamente. Se tiene en cuenta que, para reducir más rápidamente el
error de regulación, es necesario aplicar grandes desviaciones en las variables de control, lo cual
implica un mayor riesgo de saturación y un mayor consumo de energía. Las matrices de peso
permiten relativizar la importancia en la función de coste entre ambos términos y, dentro de cada
término, las prioridades entre las distintas variables de estado y entre las distintas variables de
control. Es por tanto más eficaz optimizar esta función de coste que asignar los polos en lazo
cerrado durante el diseño del regulador.

El procedimiento para la optimización de la función de coste es la programación dinámica


desarrollada por Bellman que conduce a la resolución de una ecuación de Riccati. Desde un punto
de vista más práctico, el diseño del regulador LQR se realiza en Matlab en tiempo discreto
mediante el comando ‘dlqr’, cuya descripción tomada de la información del comando es la
siguiente:

dlqr - Linear-quadratic (LQ) state-feedback regulator for discrete-time state-space system

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.

%%%%% Script Simulación Planta %%%%


disp('Simulador Vehículo Suspensión Activa - Controles PID & LQR');
%Fourier
s=tf('s');
ts=0.02;

%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.

Esquema 16. Simulador de la amortiguación del prototipo

La simulación completa se muestra en las siguientes gráficas:

73
Incremento de Altura (en centímetros)

Tiempo (en segundos)


Gráfica 10. Respuesta de la amortiguación trasera al paso por el badén con un control LQR
Incremento de Altura (en centímetros)

Tiempo (en segundos)


Gráfica 11. Respuesta de la amortiguación delantera al paso por el badén con un control LQR

74
4.3 Implantación de los controles

Los controles diseñados mediante simulación se desarrollan para implementarlos en el


prototipo. Para ello se desarrollan los archivos de control de altura y control de avance que se
programan en los respectivos Arduinos. Los dispositivos solo tendrán implementado un control PI
y un control LQR respectivamente y permiten la actuación de los periféricos y los sensores. Se
colocan todos los sistemas de entrada y salida de señales y cálculos intermedios.

Esquema 16. Diagrama de control de avance

Esquema 17. Diagrama de control de altura

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.

Gráfica 12. Comparativa de controles en la amortiguación delantera

Cabe destacar en el caso de la amortiguación delantera que el control PI nunca llega a


alcanzar la referencia antes de la frenada, ni tampoco es capaz de rectificar a tiempo la altura de la
amortiguación durante el paso por el badén. En cambio el control LQR es más rápido, y el error ya
sea a la referencia o a la perturbación creado por la frenada y el badén respectivamente es
pequeño. En cambio al inicio del sistema, debido a la importante integración del control, la
amortiguación sufre demasiado sobrepaso en el escalón inicial.

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.

Descripción Medición Precio Importe


Set Básico Lego Mindstorms EV3 2 349,99 € 699,98 €
Set de Expansión Lego Mindstorms EV3 2 99,95 € 199,90 €
Arduino Mega 2560 2 41,00 € 82,00 €
Sensor IR GP2D150 de Sharp 6 14,27 € 85,62 €
Driver Shield Ardumoto de Sparkfun 3 24,95 € 74,85 €
Gastos Generales (12%) 137,08 €
Prototipo I.V.A. (21%) 268,68 €
Total Parcial 1.548,11 €
Plancha de Madera 100x100x1 1 8,95 € 8,95 €
Pintura Blanca Titanlux 1L 1 6,25 € 6,25 €
Carpintería 1 11,50 € 11,50 €
Gastos Generales (12%) 3,20 €
Badén I.V.A. (21%) 6,28 €
Total Parcial 36,18 €
Presupuesto de Ejecución Material Total 1.584,30 €

Tabla 7. Presupuesto de Ejecución Material

Descripción Medición Precio Importe


Hora de Ingeniero Electrónico Superior 40 44,60 € 1.784,00 €
Hora de Ingeniero Mecánico Superior 10 44,60 € 446,00 €
Hora de Ingeniero Electrónico Técnico 475 23,78 € 11.295,50 €
Gastos Generales (12%) 1.623,06 €
I.V.A. (21%) 3.181,20 €
Presupuesto de Ingeniería Total 18.329,76 €

Tabla 8. Presupuesto de Ingeniería

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 €

Tabla 9. Presupuesto General del Proyecto

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.

[7] Ogata K, “Modern Control Engineering”, Prentice-Hall, 3rd edition 1996.

[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

También podría gustarte