Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SISTEMAS
INFORMTICOS
2005 - 2006
Aplicacin de mtodos de
Inteligencia Artificial para la toma de
decisiones en simulacin de
mviles.
Dirigido por:
Prof. Gonzalo Pajares Martinsanz
Dpto. Sistemas Informticos y Programacin
Facultad de Informtica
Universidad Complutense de Madrid
-1-
Proyecto SSII
-2-
Proyecto SSII
SISTEMAS
INFORMTICOS
-3-
Proyecto SSII
NDICE DE CONTENIDOS
-4-
Proyecto SSII
-5-
Proyecto SSII
0.1 Resumen
0.2 Abstract
Estrategia, avin, autopilotado, 3D, A*, camino, nodo, mvil, inteligente, UAV.
-6-
Proyecto SSII
1 AUTORIZACIN
Se autoriza a la Universidad Complutense a difundir y utilizar con fines
acadmicos, no comerciales, y mencionando expresamente a sus autores,
tanto la memoria, como el cdigo, la documentacin y/o el prototipo
desarrollado.
Almudena Jimnez Sierra Gonzalo J. Torres Porta Fco. Javier Muoz Rguez.
-7-
Proyecto SSII
2 INTRODUCCIN
2.1 Presentacin
-8-
Proyecto SSII
- El cuarto perodo se caracteriz por la integracin de las dos partes hechas por
los distintos grupos y su posterior optimizacin. En cuanto a coordinacin fue la
etapa ms difcil de llevar a cabo debido al nmero elevado de componentes para
desarrollar la aplicacin pedida.
Por ltimo, se pueden ver lneas futuras que quedan abiertas para
continuar con lo desrrollado hasta el momento.
Como documentacin complementaria se han aadido un manual de usuario para
poder hacer uso de la aplicacin y una bibliografa detallada con motivo de las
lneas futuras anteriormente dichas.
-9-
Proyecto SSII
Acerca de EADS
- 10 -
Proyecto SSII
EADS tiene, en su sede de Pars, una central integrada con las funciones
de Estrategia, Marketing y Asuntos Jurdicos, y en la de Munich, las de Finanzas,
Adquisiciones y Comunicacin.
Proyecto
2.6 Proyecto
- 11 -
Proyecto SSII
2.7 Algoritmo A*
Realizamos una pequea introduccin al algoritmo A* ya que nuestro
trabajo se ha centrado en este algoritmo.
- 12 -
Proyecto SSII
- 13 -
Proyecto SSII
3 Especificacin
En esta imagen se muestra una parte del terreno esttico, formado por
diferentes relieves los cuales el objeto mvil no puede traspasar.
Figura 2 Terreno 3D
- 14 -
Proyecto SSII
3.2 Obstculos
- 15 -
Proyecto SSII
* Bajo = (0,0.25)
* Medio = [0.25,0.5)
* Alto = [0.5,0.75)
* Infranqueable = [0.75,1]
* Libre de obstculo = 0
Peligrosidad baja
Peligrosidad media
Peligrosidad alta
En la figura 1, el centro del radar, representado con el color negro, har que el
avin sea descubierto y con el consiguiente peligro de ser derribado con mayor
probabilidad que la zona marcada en color rojo y sta a su vez mayor que la zona
de exclusin amarilla.
- 16 -
Proyecto SSII
- 17 -
Proyecto SSII
- 18 -
Proyecto SSII
- 19 -
Proyecto SSII
x
x
Nota: Estos ejemplos son slo significativos como ejemplos, no aseguran que la
ruta mostrada sea la ptima ya que depender del clculo de riesgos particular de
cada caso.
x
x
- 20 -
Proyecto SSII
x
x
En este caso, al incluir un obstculo justo antes del nodo objetivo, obliga al
mvil a realizar un rodeo que alarga su camino hacia el destino.
x x
- 21 -
Proyecto SSII
- 22 -
Proyecto SSII
Simple: Java ofrece toda la funcionalidad de un lenguaje potente, pero sin las
caractersticas menos usadas y ms confusas de stos. Los lenguajes ms
difundidos son C y C++, pero adolecen de falta de seguridad, caracterstica muy
importante para los programas que se usan en Internet, por ello Java se dise
para ser parecido a ellos y as facilitar un rpido y fcil aprendizaje.
- 23 -
Proyecto SSII
Seguro: La seguridad en Java tiene dos facetas. Por una parte se eliminan
caractersticas C y C++ para prevenir el acceso ilegal a la memoria como los
punteros o el casting implcito. Por otra parte, el cdigo Java pasa muchos tests
antes de ejecutarse en la mquina virtual. Pasa a travs de un verificador de
bytecodes que comprueba el formato de los fragmentos de cdigo y aplica un
probador de teoremas para detectar fragmentos de cdigo que falsee punteros,
viole derechos de acceso sobre objetos o intente cambiar el tipo o clase de un
objeto. Si los bytecodes pasan la verificacin sin generar ningn mensaje de
error, entonces sabemos que:
El cdigo no produce desbordamiento de operandos en la pila.
El tipo de los parmetros de todos los cdigos de operacin son
conocidos y correctos.
No ha ocurrido ninguna conversin ilegal de datos.
El acceso a los campos de un objeto se sabe que es legal.
No hay ningn intento de violar las reglas de acceso y seguridad.
- 24 -
Proyecto SSII
Altas prestaciones: Para los casos en que la velocidad del intrprete Java no
resulte suficiente, existen mecanismos como los compiladores JIT (Just In Time),
que se encargan de traducir, a medida que va siendo necesario, los bytecodes a
instrucciones de cdigo mquina. Tambin existen otros mecanismos como los
compiladores incrementales y sistemas dedicados para tiempo real.
- 25 -
Proyecto SSII
Anlisis numrico
Clculo matricial
Procesamiento de seales
Grficos
Procesamiento de seales
Diseo de sistemas de control
Simulacin de sistemas dinmicos
Identificacin de sistemas
Redes neuronales y otros.
- 26 -
Proyecto SSII
- 27 -
Proyecto SSII
Ya teniendo especificados todos los requisitos y con una idea sobre como
modular las diferentes partes, y abordado el problema de la implementacin del
algoritmo principal, comenzamos el desarrollo, con una interfaz grfica bsica en
dos dimensiones que utilizamos bsicamente como plataforma de pruebas y
depuracin.
- 28 -
Proyecto SSII
- Inicialmente cogemos como nodo a expandir el origen (ya que no hay otro).
- Expandimos este nodo generando as todos sus hijos (en nuestro caso a
donde puede ir en un solo movimiento el avin) que cumplen que puede
haber un camino al destino mejor que el hasta ahora encontrado. Destacar
que en la versin 3D que explicaremos ms adelante el nmero de nodos
a expandir ser lgicamente muy superior al algoritmo 2D.
- Hay que tener en cuenta tambin que la heurstica sea admisible, es decir,
nunca se debe tener un valor heurstico mayor que el coste mnimo de ese
nodo y esto ha de cumplirse para cualquier nodo.
- 29 -
Proyecto SSII
Implementacin
Inicializacin.
Expandir nodos.
Eleccin de nodos.
Construccin del camino.
Inicializacin:
Los arrays sirven bien para este propsito, pero algunas veces
necesitamos
incrementar o reducir dinmicamente el nmero de elementos del array, o hacer
que contenga distintos tipos de datos.
La estrutura de paquetes:
java.util
Class ArrayList
java.lang.Object
java.util.AbstractCollection
java.util.AbstractList
java.util.ArrayList
- 30 -
Proyecto SSII
Implementacin 2D
- 31 -
Proyecto SSII
Implemetacin 3D
- Todas las variables que definen coordenadas tendrn una nueva para la
tercera dimensin caracterizada por el smbolo z seguido del tipo de nodo que
representa.
- El manejo de la tercera dimensin obliga a tener un nmero mayor de nodos
tanto a expandir como a recorrer en el mapa del terreno, con lo que el coste en
tiempo y espacio supuso un problema. Para mejorar la eficiencia se cambi la
estructura del mapa. De tener una matriz pasamos a tener un arrayList de objetos
tipo EspacioNode que tienen a su vez los tres parmetros que representan las
tres coordenadas correspondientes a las tres dimensiones.
- EspacioNode: clase que define los nodos del mapa que recorremos. La lista
que se devuelve, optimalPath, es una lista de objetos de esta clase.
- Espacio: implementa el mapa, con sus tamaos para cada dimensin y la
estructura de los nodos.
Expandir nodos:
Existen tres tipos de distancias entre dos puntos A(x1, y1) y B(x2, y2) que
consideramos:
- 32 -
Proyecto SSII
Eleccin de nodos
Una vez terminado el bucle principal del A*, si existe camino posible,
tenemos en la lista de closed todos los nodos expandidos y que formarn el
camino ptimo (a excepcin de los obstculos infranqueables). Se trata pues de
construir este camino a travs de enlaces de padres a hijos en la lista de closed.
Se recorre esta lista hasta alcanzar las coordenadas del nodo origen empezando
a con el nodo objetivo que fue el ltimo insertado en la lista de cerrados.
El enlace se hace a travs de los atributos del objeto closedNode (parentX,
parentY, parentZ) que nos guardan el enlace al nodo padre.
4.4 Funcionalidad
DOCUMENTACIN
Paquetes
Algorithm Paquete que contiene la algoritmo.
Control Paquete de control para lanzamiento de la aplicacin.
Gui Interfaz Grfica de Usuario. Vistas.
Model Estructura de datos usada.
En la aplicacin final, los paquetes gui y control dejan de existir puesto que
las funcionalidades de estos paquetes se harn desde la implementacin y
enlace con Matlab. Se desarrollaron para depuraciones y desarrollo de interfaz
2D en un primer incremento de la aplicacin.
- 33 -
Proyecto SSII
ALGORITHM
Algorithm
Class Algorithm
java.lang.Object
Algorithm.Algorithm
Constructor
Algorithm()
Mtodos utilizados
(package private) static float distance(int xt,int yt,int zt,int xn,int yn, int zn)
- 34 -
Proyecto SSII
public Algorithm()
minFn: funcin para elegir que nodo va ser el siguiente a expandir de entre todos
lo nodos en la lista de abiertos,opened.
public static int minFn(java.util.ArrayList opened,int openedCount,
int xTarget,int yTarget,int zTarget)
nodeIndex
public static int nodeIndex(java.util.ArrayList closed, int xVal,
int yVal,int zVal)
runAlgorithm: implementa el A*
public java.util.ArrayList runAlgorithm(Espacio map,
float combustibleTotal,
float gastoCombustibleMedio)
throws ControlError
Throws: lanaza excepcin si no hay camino posible
ControlError
Se le pasa el mapa del terreno en forma objeto del tipo Espacio que es
quien contiene el array con los nodos de nuestro mapa. Adems para el
manejo de la variable interna del avin condicionante combustible se le
pasa las dos variables combustibleTotal que, como su nombre indica, es
el combustible que inicialmente lleva el avin autodirigido, y la otra
variable que mide lo que consume el avin por nodo recorrido.
El bucle principal de la funcin es el del A*, recorrer los nodos para
hallar el camino a travs de ver si estaban o no ya expandidos y si
estaban en abierta o no para reconsiderar costes.
- 35 -
Proyecto SSII
CONTROL
Class ControlError
java.lang.Object
java.lang.Throwable
Control.ControlError
Atributos
private static long serialVersionUID
Constructor
ControlError(java.lang.String error)
Atributos
serialVersionUID
private static final long serialVersionUID
Constructor
ControlError: se le para como argumento un string que indica el error que
- 36 -
Proyecto SSII
queremos visualizar
public ControlError(java.lang.String error)
Control
Class Main
java.lang.Object
Control.Main
Atributo
(package private) mundo
static Mundo
Constructor
Main()
Mtodo
static void main(java.lang.String[] args)
- 37 -
Proyecto SSII
MODEL
Clases
Clase que define los nodos que pertenecen a la lista de
ClosedNode
cerrados
Clase que define el espacio sobre el cual interactuamos en la
Espacio
simulacin
EspacioNode Clase que implementa los nodos del terreno
Clase que define los nodos que pertenecen a la lista de
ExpandedNode
expandidos
Node Clase padre de todo tipo de nodos
Clase que define los nodos que pertenecen a la lista de
OpenedNode
abiertos
Clase ClosedNode
java.lang.Object
Model.Node
Model.ClosedNode
Constructor
ClosedNode(int fila, int columna, int altura, java.lang.String tipo, int padreFila,
int padreColumna,int padreAltura)
Mtodos
int getPadreAltura()
- 38 -
Proyecto SSII
int getPadreColumna()
int getPadreFila()
Clase Espacio
java.lang.Object
Model.Espacio
Constructor
Espacio(int maximoF,int maximoC,int maximoA)
Mtodos
void borraCamino()
- 39 -
Proyecto SSII
java.util.ArrayList getCubo()
int getMaxA()
int getMaxC()
int getMaxF()
int getObjetivo()
int getOrigen()
Clase EspacioNode
java.lang.Object
Model.EspacioNode
Constructor
EspacioNode()
Mtodos
int getAltura()
- 40 -
Proyecto SSII
int getColumna()
int getFila()
float getPeso()
Clase ExpandedNode
java.lang.Object
Model.Node
Model.ExpandedNode
Constructor
ExpandedNode(int fila, int columna, int altura, java.lang.String tipo)
ExpandedNode(int fil, int colum, int altura, java.lang.String tip, float hheur,
float gheur, float fheur)
Mtodos
float getF()
float getG()
float getH()
- 41 -
Proyecto SSII
Clase Node
java.lang.Object
Model.Node
Direct Known Subclasses:
ClosedNode, ExpandedNode, OpenedNode
Constructor
Node()
Mtodos
int getAltura()
int getColumna()
int getFila()
java.lang.String getTipo()
Clase OpenedNode
java.lang.Object
Model.Node
Model.OpenedNode
- 42 -
Proyecto SSII
Constructor
OpenedNode(int fila, int columna, int altura, java.lang.String tipo,
int padreFila, int padreColumna, int padreAltura, float h, float g,
float f)
Mtodos
float getF()
float getG()
float getH()
int getPadreAltura()
int getPadreColumna()
int getPadreFila()
void setF(float f)
void setG(float g)
void setH(float h)
- 43 -
Proyecto SSII
- 44 -
Proyecto SSII
Paquete Control
Throwable Main
ControlError Attributes
mundo
Operations Operations
ControlError Main
main
Paquete Algorithm
Algorithm
Operations
distance
expandArray
min
minFn
nodeIndex
runAlgorithm
Paquete Model
- 45 -
Proyecto SSII
Paquete Gui
- 46 -
Proyecto SSII
Aadir objetivo
Usuario
Aadir destino
Insertar radares
Aadir obstculos
- 47 -
Ficheros de Matlab: Interfaz :Espacio :EspacioNode :Algorithm :ExpandedNode :ClosedNode :OpenedNode
InicializaTerreno.m
PintaCamino.m
new Espacio()
Main.m
Fichero de ejecucin
Cubo [ ]
de la interfaz grfica:
carga.m
4.5.3 Diagramas de interaccin
runAlgorithm()
- 48 -
expandArray()
runAlgorithm()
runAlgorithm()
return optimalPath
Proyecto SSII
Proyecto SSII
GUI
- 49 -
Proyecto SSII
Clase Mundo
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
Gui.Mundo
Clases anidadas
- 50 -
Proyecto SSII
Atributos
(package private) algoritmo
javax.swing.JMenu
(package private) barraMenu
javax.swing.JMenuBar
(package private) bInicio
javax.swing.JButton
(package private) borderLayout1
java.awt.BorderLayout
(package private) bPaso
javax.swing.JButton
(package private) Combustible
javax.swing.JMenu
(package private) combustibleM
javax.swing.JMenuItem
(package private) combustibleT
javax.swing.JMenuItem
(package private) float combustibleTotal
- 51 -
Proyecto SSII
javax.swing.JMenuItem
(package private) insertaObstaculos4
javax.swing.JMenuItem
(package private) insertaOrigen
javax.swing.JMenuItem
(package private) jPanel2
javax.swing.JPanel
(package private) menuInsertar
javax.swing.JMenu
(package private) menuObstaculos
javax.swing.JMenu
(package private) noTocar
boolean
(package private) panelMundo
PanelMundo
(package private) float peso
- 52 -
Proyecto SSII
Constructor
Mundo(Espacio entorno, float combustibleTotal, float gastoCombustibleMedio)
Mtodos
(package private) bInicio_actionPerformed(java.awt.event.ActionEvent e)
void
(package private) bPaso_actionPerformed(java.awt.event.ActionEvent e)
void
boolean getNoTocar()
float getPeso()
Detalles de atributos
serialVersionUID
private static final long serialVersionUID
Esta interfaz es a modo de pruebas depuraciones del algoritmo, la interfaz final
est implementada en Matlab
contentPane
javax.swing.JPanel contentPane
borderLayout1
java.awt.BorderLayout borderLayout1
panelMundo
PanelMundo panelMundo
- 53 -
Proyecto SSII
jPanel2
javax.swing.JPanel jPanel2
bPaso
javax.swing.JButton bPaso
bInicio
javax.swing.JButton bInicio
entorno
Espacio entorno
barraMenu
javax.swing.JMenuBar barraMenu
menuInsertar
javax.swing.JMenu menuInsertar
menuObstaculos
javax.swing.JMenu menuObstaculos
Combustible
javax.swing.JMenu Combustible
insertaObjetivo
javax.swing.JMenuItem insertaObjetivo
insertaOrigen
javax.swing.JMenuItem insertaOrigen
insertaObstaculos1
javax.swing.JMenuItem insertaObstaculos1
insertaObstaculos2
javax.swing.JMenuItem insertaObstaculos2
insertaObstaculos3
javax.swing.JMenuItem insertaObstaculos3
insertaObstaculos4
javax.swing.JMenuItem insertaObstaculos4
insertaMontania
javax.swing.JMenuItem insertaMontania
combustibleT
javax.swing.JMenuItem combustibleT
combustibleM
javax.swing.JMenuItem combustibleM
- 54 -
Proyecto SSII
algoritmo
javax.swing.JMenu algoritmo
run
javax.swing.JMenuItem run
peso
float peso
noTocar
boolean noTocar
combustibleTotal
float combustibleTotal
gastoCombustibleMedio
float gastoCombustibleMedio
processWindowEvent
protected void processWindowEvent(java.awt.event.WindowEvent e)
bPaso_actionPerformed
void bPaso_actionPerformed(java.awt.event.ActionEvent e)
bInicio_actionPerformed
void bInicio_actionPerformed(java.awt.event.ActionEvent e)
setPeso
public void setPeso(float tipoEntrada)
getPeso
public float getPeso()
setNoTocar
public void setNoTocar(boolean tocar)
- 55 -
Proyecto SSII
getNoTocar
public boolean getNoTocar()
Clase PanelMundo
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
Gui.PanelMundo
Clases
Atributos
private entorno
Espacio
private serialVersionUID
static long
- 56 -
Proyecto SSII
TOP_ALIGNMENT
Constructor
PanelMundo(Espacio entorno)
Mtodos
Espacio getEntorno()
void paintComponent(java.awt.Graphics g)
Class OyenteInsertaOrigen
java.lang.Object
Gui.OyenteInsertaOrigen
All Implemented Interfaces:
java.awt.event.ActionListener, java.util.EventListener
class OyenteInsertaOrigen
extends java.lang.Object
implements java.awt.event.ActionListener
Atributos
private mundo
Mundo
Constructor
OyenteInsertaOrigen(Mundo mundoMarco)
Recibe como argumento el entorno
Mtodo
void actionPerformed(java.awt.event.ActionEvent ev)
- 57 -
Proyecto SSII
Class OyenteInsertaObjetivo
java.lang.Object
Gui.OyenteInsertaObjetivo
class OyenteInsertaObjetivo
extends java.lang.Object
implements java.awt.event.ActionListener
Atributos
private mundo
Mundo
Constructor
OyenteInsertaObjetivo(Mundo mundoMarco)
Mtodo
void actionPerformed(java.awt.event.ActionEvent ev)
Class OyenteInsertaObstaculos1
java.lang.Object
Gui.OyenteInsertaObstaculos1
All Implemented Interfaces:
java.awt.event.ActionListener, java.util.EventListener
class OyenteInsertaObstaculos1
extends java.lang.Object
implements java.awt.event.ActionListener
- 58 -
Proyecto SSII
Atributos
private mundo
Mundo
Constructor
OyenteInsertaObstaculos1(Mundo mundoMarco)
Mtodos
void actionPerformed(java.awt.event.ActionEvent ev)
- 59 -
Proyecto SSII
O en otra resolucin:
- 60 -
Proyecto SSII
Origen Destino
- Montaa: en 3D
correspondera a una altura
determinada rellena de nodos
infranqueables.
Figura 23 Obstculos
- 61 -
Proyecto SSII
- 62 -
Proyecto SSII
- 63 -
Proyecto SSII
- 64 -
Proyecto SSII
4. Si no diera el combustible:
Figura 32 Camino
- 65 -
Proyecto SSII
Figura 34 Camino en 3D
- 66 -
Proyecto SSII
- 67 -
Proyecto SSII
Origen
Obstculo
Mvil en
camino del
objetivo.
- 68 -
Proyecto SSII
5.3.1 Estructura
- 69 -
Proyecto SSII
- 70 -
Proyecto SSII
3D 2D
- 71 -
Proyecto SSII
Map es el men para elegir los puntos clave: origen (Source), destino (Target) y
obstculos (Obstacle), que puede ser bien un radar o un nodo infranqueable
(Impassable):
- 72 -
Proyecto SSII
Los dems archivos Matlab utilizados son para simular la interaccin con el
usuario con todas las componentes del men que hemos explicado. Haremos
especial mencin al archivo:
- 73 -
Proyecto SSII
5.4 Complicaciones
- 74 -
Proyecto SSII
6 DESARROLLO SOFTWARE
o centrada en el qu
o se identificaron los requisitos del sistema y software:
Informacin a procesar.
Funcin y rendimiento deseados.
Comportamiento del sistema
Interfaces establecidas
Restricciones del diseo
o Centrada en el cmo
o En este apartado se definieron:
- 75 -
Proyecto SSII
Correccin de errores
Adaptaciones requeridas por la evolucin del entorno
software
Cambios en los requisitos
Modelo de proceso:
o Entendibilidad
o Visibilidad
o Soportabilidad
o Aceptabilidad
o Fiabilidad
o Robustez
o Mantenibilidad
o Rapidez
- 76 -
Proyecto SSII
- 77 -
Proyecto SSII
6.1 INTEGRACIN
Para poder realizar la unin con los menos recursos posibles de personas
y en un periodo de tiempo razonable, se decidi crear dos clase java cuyos
objetos optimizaran los recursos que nos proporciona la plataforma matlab.
- 78 -
Proyecto SSII
7 Resultados
7.1 Testing y Capturas Finales
Figura 46 Origen
ORIGEN
- 79 -
Proyecto SSII
OBJETIVO
Figura 47 Objetivo
Camino resultante:
Figura 48 Camino
- 80 -
Proyecto SSII
FASE 1:
FASE 2:
FASE 3:
FASE 4:
- 81 -
Proyecto SSII
8 Trabajo Futuro
La complejidad de los escenarios y de las soluciones obtenidas deber ir
aumentando hasta la finalizacin del programa.
Consideraciones generales:
- La evolucin de los modelos software.
- La realizacin de una interfaz grfica que mejore la visualizacin y la
simulacin mediante la insercin de todas las variables de vuelo.
- La sustitucin del modelo actual de avin por otro ms complejo en el que
por ejemplo el gasto de combustible depender de las maniobras del avin
y no como en el actual modelo en el que se considera un gasto de
combustible lineal con el tiempo, incorporacin de contramedidas, etc.
- La incorporacin del terreno, lo cual podra provocar, por ejemplo,
enmascaramientos de los radares creando rutas alternativas para el
vehculo.
- Las restricciones de vuelo como el tiempo de llegada al objetivo lo que
implica el hecho de poder aumentar o disminuir la velocidad.
- La existencia de obstculos dinmicos como pueden ser los radares. stos
pueden activarse en cualquier momento haciendo al avin vulnerable por
lo que deber recalcular un nuevo camino al destino teniendo en cuenta
las restricciones de vuelo impuestas.
- La capacidad de vuelos en escuadrilla en formacin y realizacin de
misiones conjuntas tanto de aviones autotripulados en su totalidad como
mezcla de aviones pilotados y autopilotados.
- Si el vehculo es amenazado por las defensas antiareas y posteriormente
atacado con misiles del tipo tierra-aire, ste debe calcular una ruta de
escape y maniobras evasivas recalculando despus el nuevo camino al
objetivo.
- La posibilidad de envo en tiempo real desde un puesto avanzado de
control areo los mapas del terreno con las coordenadas de las zonas
calientes a las que se debe enfrentar y sortear en lo posible segn las
especificaciones de la misin.
- La completa capacidad aire-tierra y aire-aire con lo que el avin podr
enfrentarse tambin a amenazas que tengan capacidades de vuelo como
puede ser un avin enemigo.
- 82 -
Proyecto SSII
- 83 -
Proyecto SSII
Las continuas decisiones que el UAV debe tomar para conseguir el camino
ptimo y ms seguro hasta el objetivo lleva consigo un riesgo lgico debido a
la concepcin militar del proyecto. Este riesgo implica cierto grado de
incertidumbre y la habilidad para controlar plenamente los resultados o
consecuencias de dichas acciones. Sin embrago, en algunos casos la
eliminacin de cierto riesgo podra incrementar riesgos de otra ndole. El
manejo efectivo del riesgo requiere la evaluacin y el anlisis del impacto
subsiguiente del proceso de decisin. Este proceso permite al UAV evaluar las
estrategias alternativas antes de tomar cualquier decisin.
- 84 -
Proyecto SSII
Se debe considerar:
- 85 -
Proyecto SSII
9 AGRADECIMIENTOS
- 86 -
Proyecto SSII
10 Bibliografa
Sobre Eads-Casa.
Para la documentacin se ha hecho referencia en la siguiente web oficial:
http://www.eads.com
Sobre eclipse:
http://www.eclipse.org/
http://www.emagister.com/ (tutorial de eclipse)
Sobre Matlab:
http://www.mathworks.com
Sobre A*:
http://club2.telepolis.com/ohcop/aasteris.html
- 87 -
Proyecto SSII
- 88 -