Você está na página 1de 7

SIMULACIN DE UN AERODESLIZADOR MEDIANTE

APROXIMACINES DE EVENTOS DISCRETOS.


Dictino Chaos, Joaqun Aranda, Roco Muoz, Jos Manuel Daz, Jess M. de la Cruz*.
Dpto. Informtica y Automtica. UNED. C/ Juan del Rosal,16. 28040 Madrid. Espaa.
* Dpto. de Arquitectura de Computadores y Automtica UCM. 28040 Madrid, Espaa.
e-mail: dchaos@bec.uned.es, jaranda@dia.uned.es, rmunoz@dia.uned.es,
josema@dia.uned.es, jmcruz@fis.ucm.es.

Resumen
En este trabajo se plantea la creacin de una
plataforma para la simulacin de vehculos
autnomos marinos y areos basada en la
metodologa MDA (Model Driven Architecture) y el
formalismo DEVS (Discrete Event System
Specification).
Dentro de esta estructura se trabaja con modelos
independientes de plataforma que posteriormente se
traducen a modelos dependientes de plataforma en
Simulink, JAVA y otros lenguajes.
Dado que el formalismo DEVS est diseado para la
simulacin de modelos de eventos discretos es
necesario convertir los modelos continuos en
modelos de tiempo discreto.
En este artculo se utiliza la aproximacin de
cuantificacin de estados de segundo orden QSS2. El
mtodo se aplica a la simulacin de un
aerodeslizador autnomo con un control de
seguimiento de trayectoria de bajo nivel.
Palabras Clave: Vehculos autnomos marinos,
formalismo DEVS. Simulacin por cuantificacin de
estados.

1.

INTRODUCCIN

En el nuevo proyecto se aplica la metodologa MDA


(Model Driven Architecture) [7] para el desarrollo de
software as como la especificacin de sistemas de
eventos discretos DEVS [11] como formalismo para
desarrollar una plataforma de simulacin. Dicha
plataforma permitir analizar disear e implementar
algoritmos jerrquicos de control y coordinacin
sobre un conjunto de modelos de vehculos
autnomos (UVs), principalmente areos (UAVs) y
marinos (UMVs).

Usando la metodologa MDA, la funcionalidad del


sistema ser definida en primer lugar como un
modelo independiente de la plataforma (PlatformIndependent Model o PIM.) a travs de un lenguaje
especfico para el dominio del que se trate. En
nuestro caso el modelo recoge las ecuaciones
dinmicas de los vehculos y la interaccin entre los
mismos y con los sistemas de control.
Posteriormente el modelo PIM. puede traducirse a
uno o ms modelos especficos de la plataforma
(Platform-specific models o PSMs) para la
implementacin correspondiente, usando diferentes
lenguajes especficos del dominio. En nuestro
proyecto se usarn fundamentalmente Java, c++ y
Matlab-Simulink.
El formalismo DEVS (Discrete Event System
Specification) es un sistema formal de modelado y
simulacin de sistemas de eventos discretos basado
en el concepto genrico de sistema dinmico. Este
formalismo fue desarrollado por el Profesor Zeigler y
sus colaboradores en la Universidad del estado de
Arizona.
DEVS es un formalismo matemtico con un
concepto bien definido de acoplamiento de
componentes, jerarqua y construccin modular de
modelos de eventos discretos. Dentro de este
formalismo tambin es posible la simulacin de
sistemas continuos, como se mostrar en este trabajo.
El formalismo DEVS tiene una modularidad bien
definida al ser cerrado bajo acoplamiento, esta
propiedad es muy atractiva ya que permite la
construccin jerrquica de modelos muy complejos
mediante la conexin de modelos simples.
El formalismo DEVS no solamente representa un
marco terico para el modelado y simulacin de
sistemas de eventos discretos, sino que existe una
gran variedad de implementaciones y herramientas
de ejecucin que permiten realizar simulaciones de
forma prctica.

Un modelo DEVS puede ser simulado mediante un


simulador y posteriormente ser ejecutado en un
entorno de ejecucin DEVS. Existen varias
infraestructuras de simulacin implementadas en
diversos lenguajes de programacin como por
ejemplo DEVSC++ [9], DEVSJAVA [10],
powerDEVS [6] y como otros sistemas de
middleware tales como DEVS/CORBA [2], y
DEVS/HLA [9], e incluso hay extensiones para su
uso en sistemas distribuidos y de tiempo real [3].
El diseo de un conjunto de modelos de UVs que
acten en cooperacin dentro de un entorno
dinmico es una tarea muy compleja. En este diseo
se necesita integrar: sensorizacin y control,
planificacin de caminos, evitacin de obstculos y
colisiones, comunicaciones, descomposicin y
asignacin de tareas, ejecucin cooperativa,
asignacin de recursos, comparicin de informacin
e interaccin con operarios humanos, entre otras
tareas.
Estos sistemas complejos tienen que enfrentarse a
modelos de mltiples vehculos de caractersticas
heterogneas que deben cooperar. Esto requiere una
estructuracin jerrquica multi-modelo y un sistema
de control y coordinacin.
Actualmente la coordinacin es llevada a cabo
mediante niveles de software ad hoc para cada
sistema que no ofrecen una integracin vertical
adecuada entre los modelos jerrquicos. Adems, los
diseadores tienen que trabajar en entornos de
simulacin completamente separados de los sistemas
de tiempo real (RTOS) que se emplean en la
implementacin.
La figura 1 muestra la arquitectura involucrada en la
simulacin de un vehculo autnomo marino (UMV).
Este artculo se centra en las tres tareas de ms bajo
nivel, la generacin de trayectorias, el control de bajo
nivel y el modelo del UMV.
Coordinador
o informacin
de otros
UAVs

Sistema de
comunicaciones

Planificador de
camino y asignacin
de tareas

Puntos de
consigna

Trayectoria
deseada

Se necesita un
camino nuevo

Generator de
trayectorias
Trayectoria
Controlador

Seales de
control

Medidas de
los sensores
UMV

Figura 1:Arquitectura simple para un UMV

La aproximacin tpica que se utiliza para la


simulacin de este tipo de sistemas esta basada en la
discretizacin del tiempo (Euler, RungeKutta,
Adams,), estas tcnicas calculan la solucin del
sistema dinmico de forma aproximada en un
conjunto discreto de instantes de tiempo.
En este trabajo se substituye la discretizacin del
tiempo por una discretizacin del estado del sistema,
dando lugar a los mtodos de integracin QSS
(quantized state system) [5].
Como resultado de esta cuantificacin del estado el
modelo de simulacin se convierte en un modelo de
eventos discretos que puede simularse de forma
eficiente mediante el formalismo DEVS. Este hecho
produce en muchos casos una importante reduccin
de los costes computacionales (especialmente en los
sistemas hbridos y dispersos). Esta nueva
aproximacin se sustenta sobre un conjunto de
resultados tericos de estabilidad, convergencia y
cotas del error que se describen en [6].
En nuestro marco de trabajo se emplean los mtodos
QSSs ya que ofrece una gran facilidad a la hora de
tratar discontinuidades y eventos externos lo que
representa una gran ventaja respecto a los algoritmos
clsicos de integracin numrica. Estos mtodos
adems pueden reducir considerablemente el nmero
de clculos en un modelo complejo con poco
acoplamiento, la integracin de sistemas paralelos es
mucho ms directa y adems permite aprovechar las
propiedades estructurales del sistema.
El objetivo de este trabajo es mostrar como puede
utilizarse la simulacin de eventos discretos y el
formalismo DEVS para simular y controlar modelos
de vehculos autnomos marinos. Esta metodologa
se ejemplifica con su aplicacin al modelo de un
aerodeslizador y su controlador de bajo nivel.

2.

DESCRIPCIN DEL MTODO


QSS2

Los mtodos de simulacin mediante estados


cuantificados (QSS) estn basados en la idea de
cuantizar los estados con el fin de evitar la
discretizacin en el tiempo.
La principal diferencia entre los diferentes mtodos
QSSs es el orden del polinomio que se utiliza en el
estado cuantificado q(t) para aproximar el estado
continuo x(t).
En este trabajo se utiliza la cuantificacin del estado
de segundo orden QSS2 [4] ya que tiene un
rendimiento muy superior al del mtodo QSS de
primer orden.

Para entender el funcionamiento del mtodo


consideremos la siguiente ecuacin diferencial ODE
en su representacin en el espacio de estados:
x = f ( x (t ), u (t ));

(1)

De este modo un integrador cuantificado de segundo


orden QSS2 puede ser descrito mediante el siguiente
modelo atmico DEVS:
M 7 = ( X , S , Y , int , ex t , , ta ) donde :
X = \ `
2

Donde x(t) es el vector de estados y u(t) es un vector


de entrada definido como
una funcin
seccionalmente lineal conocida. El mtodo QSS2 [4]
simula un sistema que aproxima al original que es
llamado sistema de estados cuantificados:
x = f ( q (t ), u (t ));

(2)

S = \ \
5

(7)

Y = \ `
2

int (u , mu , x, q , mq , ) = (u + mu , mu , q , q , u + mu , 1 )
ext (u , mu , x, q , mq , , e, v, mv , p ) = (v, mv , x , q + mq e, mq , 2 )
(u , mu , x, q , mq , ) = ( x + u + mu / 2, u + mu ,1)
2

ta (u , mu , x, q , mq , ) =

Donde los estados cuantificados qi(t), la secuencia de


tiempos t0,tj,y y las pendientes mj se definen a
continuacin:

x (t ) si t=t
q (t ) =
q (t ) + m (t t
i

qi (t ) xi (t ) = q

) En otro caso

(3)

t j = min(t ^ | t > t j xi (t j ) + m j (t t j ) xi (t ) = q ) (4)

m0 = 0, m j = xi (t j )

j = 1,..., k ,...

(5)

La constante q se llama quantum y las variables


xi(t) y qi(t) satisfacen:

qi (t ) xi (t ) qi t

Las variables tildadas se definen de la forma


siguiente:
q = x + u + mu 2 / 2; x =x + u e +mu e 2 / 2

(8)

2q
if mu 0

1 = mu

En el resto

(9)

Y 2 se calcula como la menor solucin positiva de


la ecuacin (10):
x + u e + mu e 2 / 2 + v 2 + mv 22 / 2 (q + mq 2 ) = q (10)

(6)

Como puede verse en la definicin (3) estas variables


cuantificadas aproximan los estados continuos
mediante una trayectoria linear a tramos. Esta
trayectoria solo cambia su pendiente mi y el punto
inicial qi(t) cuando la diferencia entre los estados
contnuos y la trayectoria cuantificada alcanza el
quatum q. Este comportamiento se ejemplifica en la
figura 2.

Es fcil comprobar que el modelo M7 (10) es una


representacin exacta de un integrador en el cual la
entrada se encuentra cuantificada mediante una
trayectoria seccionalmente lineal. El estado del
integrador es una trayectoria seccionalmente
parablica (7 y 8).
Las ltimas dos ecuaciones (9 y 10) calculan la
funcin de avance en el tiempo, esto es, el tiempo
que debe transcurrir hasta el siguiente evento de
salida.
Si no se producen eventos en la entrada, la funcin
de transicin interna calcula este tiempo mediante
ecuacin (9).
Si se produce un evento en la entrada transcurrido un
tiempo e desde la ltima transicin, la funcin de
transicin externa recalcula el prximo tiempo de
evento mediante la ecuacin (10).

Figura 2: Relacin entre la entrada y la salida en un


cuantificador de segundo orden.

En ambos casos lo que se est calculando es el


tiempo en el cual la trayectoria seccionalmente
parablica del estado x(t) y la trayectoria
seccionalmente lineal del estado cuantificado q(t) se
separan un quantum q .

3.

SISTEMA E IMPLEMENTACIN

El sistema modelado en este trabajo es el modelo


dinmico de un aerodeslizador de radiocontrol junto
con un controlador de seguimiento de trayectoria de
bajo nivel [1]. Este modelo admite como referencias
trayectorias circulares, rectilneas y trayectorias
generales interpoladas que se producen en el
generador de referencias; ver figura 3.

Figura. 3: Modelo del sistema y controlador.


El aerodeslizador se modela en tres grados de
libertad, dos de ellos estn asociados al movimiento
en el plano del centro de masas del vehculo (x, y). El
grado de libertad restante corresponde al ngulo de
guiada . u1 y u2 son las fuerzas de empuje
suministradas por los impulsores y r es la distancia
entre el centro de fuerzas del ventilador y el eje de
simetra longitudinal del vehculo. Ver figura 4.

3.1

ESTRATEGIA DE CONTROL

Para controlar el sistema se definen las siguientes


entradas virtuales de control: Fx=cos() y Fy=cos().
El sistema as obtenido es controlable mediante una
ley de control lineal (17 y 18) donde se escogen dos
constantes positivas k1 y k2 para obtener una
dinmica estable del error de seguimiento:
Fx = axr + k2 vxr + k1 xr k1 x (k2 )vx

(17)

Fy = ayr + k2 vyr + k1 yr k1 y (k2 )vy

(18)

La configuracin de los impulsores impone una


restriccin no holonmica al movimiento que se
puede expresar como Fy= Fx tan(). De este modo la
referencia para el ngulo de guiada queda dada por
(19). Por tanto se propone una ley de control lineal
con saturacin para la orientacin del sistema (20).

r = arctan( Fy / Fx )

(19)

= k3 ( r )

(20)

F = Fd cos(d )

(21)

Puede demostrarse que este control es estable para


cualquier constante positiva k3. Por tanto dicha
constante se elige de tal manera que el control del
ngulo de guiada sea lo ms rpido posible.
Finalmente si el error en el ngulo de guiada es muy
grande se aplicar la fuerza factible ms prxima a la
deseada (la proyeccin ortogonal de la fuerza
deseada sobre el eje de los impulsores) (21). Para
mayor detalle sobre los parmetros del modelo y la
implementacin del controlador ver [1].

Figura 4: Modelo esquemtico del aerodeslizador.


Para el diseo del control se expresan las ecuaciones
dinmicas del sistema mediante el siguiente modelo
en el espacio de estados:

3.2

IMPLEMENTACIN EN SIMULINK

Como se remarca en la introduccin existen


mltiples herramientas de software que permiten
realizar simulaciones de sistemas definidos en el
formalismo DEVS. Sin embargo, en este trabajo se
utiliza Simulink como motor de simulacin para este
tipo de sistemas.

x = v x

(11)

vx = v x + cos( ) F

(12)

y = v y

(13)

Los pasos involucrados en una simulacin de este


tipo son los siguientes:

v y = v y + sin( ) F

(14)

i)

 = w

w = w +

(15)
(16)

Donde F, , y son la fuerza, momento y


coeficientes de friccin viscosa normalizados. Estos
parmetros han sido obtenidos mediante medidas en
el sistema real de laboratorio.

Convertir cada subsistema de Simulink en un


modelo atmico DEVS.

ii) Construir un bloque de simulink que invoque las


funciones definidas en el modelo DEVS y
planifique los eventos en el tiempo

Entonces Simulink se encarga de detectar los eventos


producidos por cada uno de los bloques haciendo las
llamadas a las funciones del modelo atmico DEVS.
Una vez detectado un evento evala la funcin de
avance en el tiempo de los bloques afectados por los
eventos de entrada o por las funciones de transicin
interna y planifica los siguientes eventos en el
tiempo.
En este esquema Simulink acta como coordinador
raz del modelo DEVS y cada subsistema acta como
el simulador de un modelo atmico DEVS de
acuerdo a la estructura jerrquica de la figura 5.

5) En este sistema es sencillo integrar simulaciones


hbridas donde se combinen simulaciones de
elementos continuos con modelos de eventos
discretos.

4.

RESULTADOS DE SIMULACIN

A continuacin se muestran los resultados de


simulacin que se obtienen para el problema de
seguimiento de trayectoria.
La trayectoria de referencia utilizada en este ejemplo
consiste en un circulo de radio 2m recorrido con una
velocidad mxima de 1m/s. Las constantes del
controlador son k1=0.16, k2=0.8, k3=10.
5
Posiciones

iii) Definir la conexin entre los modelos DEVS


atmicos en simulink como si se tratara de un
modelo de bloques estndar de Simulink y
proceder a la simulacin del sistema as
obtenido.

-5

10

15

20

25

30

35

40

45

50

10

15

20

25

30

35

40

45

50

10

15

20

25

30

35

40

45

50

10

15

20

25
tiempo

30

35

40

45

50

Velocidades

Velocidad angular

ngulo de guiada

-2

Figura 5: Esquema jerrquico de la simulacin de un


sistema DEVS.
En principio utilizar Simulink para simular sistemas
de eventos discretos puede parecer contraproducente,
sin embargo este esquema tiene varias ventajas:
1) Es posible reutilizar modelos preexistentes en
Simulink y simularlos con una orientacin a
eventos sin tener que reconstruir los modelos
desde cero.
2) Esta aproximacin permite usar cdigo definido
en otros lenguajes de programacin (c++, JAVA,
etc) mediante llamadas desde matlab lo que nos
permite realizar simulaciones multilenguaje e
implementar modelos dependientes de plataforma.
3) Simulink Permite utilizar todas las herramientas
presentes en Matlab para el diseo y test de
estrategias de control.
4) Este esquema nos permite visualizar fcilmente
las variables del proceso y el comportamiento del
sistema y el controlador.

30
20
10
0

0.5

Figura 6: Simulacin QSS2 con q=0.01.


En la figura 6 Se muestra el resultado de la
simulacin cuando se utiliza el mtodo QSS2 y un
quantum q=0.01. En la figura se puede apreciar
como el sistema realiza un arranque suave durante
los primeros 25 segundos para despus recorrer una
trayectoria circular de radio 2 con una velocidad
uniforme de 1m/s.
Tambin podemos apreciar como el ngulo de
guiada aumenta de forma lineal a medida que el
aerodeslizador recorre la trayectoria circular y que la
velocidad angular del sistema se estabiliza en 0.5
rad/s.
Para poder ver la bondad de la aproximacin ofrecida
por el mtodo QSS2 se comparan los resultados de
simulacin con los obtenidos mediante un mtodo de
Runge-kutta de paso variable estndar de Simulink
(ode45). La diferencia entre los resultados de estos
dos mtodos se muestra en la figura 7.

Errores en posicin

El valor elegido para el quantum tiene un impacto


muy profundo en la precisin de la simulacin ya que
afecta a la cota global de error de la simulacin [6].

0.01
0.005
0
-0.005
-0.01

10

15

20

25

30

35

40

45

50

10

15

20

25

30

35

40

45

50

Errores en velocidad

-3

x 10

-5

Errores en velocidad angular

Errores en guiada

-3

x 10

2
0
-2

10

15

20

25

30

35

40

45

50

10

15

20

25
Tiempo

30

35

40

45

50

0.01
0
-0.01
-0.02

Figura 7: Diferencia entre Runge-Kuta y QSS2.


Esta figura muestra que la diferencia de error entre
las dos simulaciones se mantiene por debajo del
quantum elegido (q=0.01) siendo la diferencia
relativa ente los mismos del orden predicho por la
aproximacin.
Este resultado muestra que es posible obtener una
buena simulacin del sistema completo utilizando
para ello valores moderadamente pequeos del
quantum.
El mtodo ode45 utiliza 420 pasos de simulacin
para similar correctamente el sistema, mientras que
el mtodo QSS2 solamente necesita 279. Sin
embargo, la simulacin mediante el mtodo QSS2
resulta ms lenta que la ode45 ya que invoca
llamadas a funciones externas a Simulink.

0.6

dq=0.08
dq=0.05

La figura 8 muestra que el error de la simulacin se


reduce a medida que lo hace q (que acta como cota
de error de truncamiento local). Sin embargo esto
aumenta el coste de la simulacin ya que segn la
ecuacin (9) el nmero de pasos es proporcional al
inverso de la raz cuadrada q.
En este ejemplo vemos como es necesario llegar a un
compromiso entre la velocidad de simulacin y la
precisin de la misma. En este caso el valor del
quantum que ofrece una mejor relacin
velocidad/precisin resulta ser q=0.01.

5.

CONCLUSIONES Y TRABAJO
FUTURO

Se ha desarrollado una simulacin de un


aerodeslizador autnomo mediante el mtodo de
cuantificacin de estados de segundo orden QSS2 y
el formalismo de eventos discretos DEVS.
Se ha desarrollado un entorno de simulacin para
modelos
DEVS
usando
la
plataforma
Matlab/Simulink.
Los resultados de la simulacin con QSS2 son
comparables en precisin a los que se obtienen
mediante el mtodo de simulacin Runge-Kuta, con
la ventaja adicional de que permite la integracin de
sistemas en gran escala y la simulacin en un entorno
multilenguaje usando el formalismo DEVS.
Como trabajo para el futuro se pretende utilizar la
librera de Simulink SimEvents para mejorar el
tratamiento de eventos en la simulacin del sistema
DEVS.

dq=0.01
dq=0.001

Velocidad angular

Para comprobar el efecto de este parmetro se repite


la simulacin utilizando para ello varios valores del
quantum q y se compara el resultado obtenido para
el la velocidad angular de guiada en la fase final de
la trayectoria figura. 8.

0.55

Con el fin de acelerar la velocidad de ejecucin de


las simulaciones se est trabajando en empaquetar las
funciones definidas en DEVS como llamadas a
Sfunctions de Simulink evitando usar llamadas a
funciones de Matlab.

0.5

0.45
25

30

35

40

45

50

Tiempo

Figura 8: Detalle de la velocidad angular de guiada


como funcin del quantum utilizado en la
simulacin.

Agradecimientos
Los autores desean agradecer el apoyo al Ministerio
de Educacin y Ciencia a travs del proyecto
DPI2006-15661-C02-02

Referencias
[1] Aranda J., Chaos D., Dormido-Canto S., Muoz
R., Daz J.M.. (2006) A control for tracking and
stabilization of an underactuated non-linear R.C.
Hovercraft IFAC MCMC'2006.
[2] Cho Y.K., Hu X., and Zeigler B. P.,(2003) The
RTDEVS/CORBA Environment for SimulationBased Design Of Distributed Real-Time
Systems, Trans. of The Society for Modeling
and Simulation Inter. 2003,vol. 79, n 4
[3] Hu X. (2004). Simulation-Based Software
Development Methology for Distributed RealTime Systems. Ph.D. Thesis. University of
Arizona.
[4] Kofman, E. (2002). A Second Order
Approximation for DEVS Simulation of
Continuous Systems. Simulation, 78(2):76
89.SIMULATION, Vol. 78, No. 2, 76-89 (2002)
[5] Kofman, E. (2003). Quantization Based
Simulation of Hybrid Systems. In Proceedings
of RPIC'03.
[6] Kofman, E. (2004). Discrete Event Simulation
of Hybrid Systems. SIAM Journal on Scientific
Computing. 25(5). pp 1771-1797.
[7] Miller J. and Mukerji J. (2003), MDA Guide
Version
1.0.1.
OMG
2003.
http://www.omg.org/cgi-bin/doc?omg/03-06-01)
[8] Uhrmacher A.M. (2001), Dynamic Structures
in Modeling and Simulation - A Reflective
Approach. ACM Transactions on Modeling and
Simulation, vol.11., n 2, pp. 206-232, april
[9] Zeigler B. P. r, Moon Y., Kim D., Kim J.
G.(1996): DEVSC++: A High Performance
Modelling and Simulation Environment.
HICSS (1) 350-359.
[10] Zeigler,
B.,
H.
Sarjoughian
(2000).
Introduction to DEVS Modeling and
Simulation with JAVA: A Simplified Approach
to HLA-Compliant Distributed Simulations.
Arizona Center for IntegrativeModeling and
Simulation.
[11] Zeigler, B., T. Kim, y H. Praehofer, Theory of
Modelingand Simulation. Second edition,
Academic Press, New York (2000).

Você também pode gostar