Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen
Mi proyecto es un sistema prototípico tecnológico realizado con software de ingeniería y simuladores 3D,
utilizando aplicaciones de Inteligencia artificial. Va dirigido a personas que conduzcan un carro indistinto, este aparato
estará incrustado en los interiores del móvil, consta con tres pequeñas videocámaras y sensores unidos a un cerebro
principal (Central brain), el cual tiene la finalidad de mandar señales sonoras al conductor que lo previene de posibles
accidentes de tránsito de acuerdo a los objetos que lo rodean en la realidad (personas, otros vehículos). Este proyecto
tiene la finalidad de provenir y salvar vidas humanas en peligro por imprudentes peatones y conductores.
Palabras claves: inteligencia artificial, Central brain, simuladores 3D, vidas humanas
Abstract
My project is a prototype technology performed with software engineering and 3D simulations using artificial
intelligence applications. Is aimed at people who drive a car indistinct, this apparatus is embedded in the interior of the
mobile, consisting of three small video cameras and sensors attached to a primary brain (central brain), which aims to
send sound signals to the driver to warns of possible traffic accidents according to the objects that surround him in reality
(people, other vehicles). This project aims to come and save human lives at risk by reckless drivers and pedestrians.
2. Antecedentes :
El proyecto es único en cuanto a su finalidad que es la de prevenir accidentes de tránsito por ende la de salvar
vidas humanas, pero hay otros proyectos de empresas grandes de móviles, como el TOYOTA, HIUNDAY,
MITSUBISHI, entre otras que fabrican mecanismos para ser mas confortable su conducción. El proyecto nació a partir
del fallecimiento del hermano de un compañero por accidente de transito, en los cuales esta situación ocurre a diario en el
territorio nacional, por el cual ideamos una idea que cambiará en poco o mucho la vida en el nuestro Perú.
3. Justificación :
Mi proyecto es bueno, ya que automatiza procesos con ayuda de las herramientas de ingeniería moderna, con la
finalidad de prevenir posibles accidentes de transito por causa de imprudentes peatones y choferes. Esto beneficia a todo
el pueblo peruano que use este sistema. De este modo se diferencia con otros proyectos, porque tiene el ámbito de ayudar
al conductor en la toma de decisiones en el manejo.
4. Objetivos :
5. Marco Teórico :
El comentario del proyecto, del porque el nombre Sistema Experto Experimental R-CAT, se basa en razones:
Sistema, porque engloba a toda una sociedad, no solo en lo tecnológico, sino también en lo cultural, valores y
costumbres ante la procesos actuales.
Experto, porque nuestro sistema engloba parte de la inteligencia artificial, por ende la automatización de
procesos en los cuales su andar no solo abarca a la mano del hombre sino al pensamiento computacional.
Experimental, porque al confiarnos de la tecnología, esta puede contener errores cruciales al momento de
poner en juego la vida de individuos humano. A la vez recalcar es una mutua interacción del Hombre Maquina.
Vuestros principios científicos y tecnológicos con el cual he realizado este proyecto, es de la investigación de un
prototipo de solución ante un problema planteado. Sin lugar a duda, mi base de investigación se centro en la utilización
de la inteligencia artificial de la cual recalcamos lo siguiente:
“La Inteligencia Artificial es una combinación de la ciencia del computador, fisiología y filosofía, tan general y
amplio como eso, es que reúne varios campos (robótica, sistemas expertos, por ejemplo), todos los cuales tienen en
común la creación de máquinas que pueden <pensar>.”
A continuación mencionaremos algunas ramas que utilizamos en nuestro sistema .Estas herramientas son a los
que a ese campo concierne, tales son:
Lógica Difusa: La lógica borrosa o difusa se basa en lo relativo de lo observado. Este tipo de lógica toma dos
valores aleatorios, pero contextualizados y referidos entre sí.
Algoritmos genéticos: Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para
resolver problemas de búsqueda y optimización. Están basados en el proceso genético de los organismos vivos.
La principal utilidad sobre todas, es la prevención de accidentes de transito que día a día cobra vidas en nuestro país.
Con las siguientes cifras:
Fuente: http://www.mtc.gob.pe/cnsv/
Con nuestro sistema las estadísticas anteriores, en cuanto a las muertes y heridos se reduciría en una pendiente
considerable, cabe resaltar. Que estos dos ítems expuestos son los más importantes de todo este documento.
6. Metodología :
El proyecto a grandes rasgos, consta de dispositivos (hardware Brain) instalado en los automóviles localizado, el
cual constará de videocámaras de largo alcance, gran resolución puestas en la parte frontal entre las luces delanteras, y
otra en la parte superior interno del vehículo que enfocara al rostro del conductor. Todo este sistema estará programado
para lanzar alertas en caso de accidente, es decir informar por audio al conductor de maniobras a última hora para evitar
accidentes. Constara con un Seguimiento con imágenes satelitales en caso de que las videocámaras no tengan alcance a
zonas no vistas u ocultas.
Fig. 01 – IDEF 0
Como primer diagrama de proceso (Fig. 01) realizado en BPwin en la imagen anterior, tenemos el IDEF-0 que
dividen nuestro proyecto como un único proceso principal en el cual se denota las entradas (izquierda), salidas (derecha),
restricciones (superior) y por ultimo los agentes (inferior). A continuación mostramos los subprocesos que abarca el
sistema fijando así las prioridades y las secuencias de los mismos (Fig. 02).
Fig. 02 – IDEF 1
En primer lugar, como base de ingeniería, el proyecto fue planteado con el Lenguaje de Modelado Unificado, y
como diagrama principal será el Caso de Uso (Fig. 03) siguiente:
Este primer diagrama describe lo dicho anteriormente, con dos actores principales, el sistema inteligente que
señalaremos a continuación y el conductor que será cualquier persone que maniobre el móvil. Nuestro sistema preparará
los resultados que le comunicará al conductor mediante funciones difusas, estas deben de ser evaluadas luego de finalizar
una búsqueda de patrones que arroja el hardware de detección tales son las video cámaras instaladas a fura del móvil
como adentro (movimientos del conductor). A continuación mostraremos el diagrama de Clases (Fig. 04) en el cual se
mostrara los atributos y funciones de cada objeto que trabaja en nuestro sistema:
Nota: El diagrama de clases se basa directamente en el modelado del sistema como ente de la realidad (hardware), el cual
realizara acciones de acuerdo a patrones difusos, mas no al comportamiento de la base de datos relacional.
Fig. 04 – Diagrama de Clases
En el diagrama anterior, mostramos los objetos que conforman nuestro sistema, cabe resaltar que a diferencia del
anterior, en este se muestra los atributos y métodos propios, y lo detallamos de la siguiente manera:
Si las videocámaras frontales obtienen información de un humano en medio de la trayectoria del móvil, la
videocámara interior obtendrá imágenes del iris del conductor. Por medio de cálculos difusos se obtendrá un
resultado si el conductor se percato del objeto. Si no es así, lanzará una voz de alarma instantánea.
Si la videocámara interna, detectan un continuo pestañeo o cierre ocular del chofer, entonces el sistema dará una
señal de alarma del conductor.
Si hay carro que se cruza al carril donde nuestro móvil conduce, entonces la videocámara detectara el
movimiento del iris del chofer, si volteo a la derecha o a la izquierda. En caso contrario, lanzara la voz de
alarma.
Todos los patrones obtenidos de los medios anteriores, ingresarán a la etapa de control de toma de decisiones,
los cuales están programados netamente con lenguaje para inteligencia artificial como C++, pero modelados en PROLOG
del cual se detallará mas adelante.
El sistema, tendrá tablas de decisiones difusas, cabe resaltar, que todo lo hablado anterior se basa al mundo de
las probabilidades, por ende utilizaremos para modelar el diagrama de redes neuronales. Las tablas estarán unidas a un
pequeño motor de base de datos portable con MySql en FSQL (Fuzzy SQL – Sql difuso).
Todo lo dicho anterior, serán las herramientas a utilizar, pero el kernel, es el que tomará las decisiones por lógica
difusa, mediante pesos dados ofrecidos por RN (redes neuronales, el cual se detallará mas adelante). Una vez que el co-
piloto lógico tenga los resultados listos, llamará de nuevo a la base de datos el cual convertirá las inferencias en audio
perceptible al oído humano, es decir emitirá frases cortas pero que indiquen al conductor que hacer. Las frases emitidas
serán por ejemplo:
Luego mostremos el siguiente diagrama de actividad (Fig. 05), el cual da a entender como funciona nuestro
sistema, es decir no solo los objetos que lo conforman, sino la acción que realizan. En primer lugar el móvil se enciende,
emitirá una señal al co-piloto. Este activará la Central de toma de decisiones, que automáticamente procederá a la lectura
de patrones de los periféricos, luego se preguntara si los patrones están correctos, es decir si no hay falla de hardware o
este saturado el procesador se procederá al reporte de error y luego su emisión al usuario.
En caso de que no haya error, se procede a consultar las tablas difusas de la base de datos, evaluando los pesos, y
la probabilidad de los posibles hechos. Luego se calcula la respuesta difusa generando así el reporte correcto. Lo siguiente
es consultar a la DB los parámetros de sonidos instantáneos que el chofer percibirá. Y fin del diagrama. Damos a
entender que el diagrama es un bucle, es decir se repetirá mientras que el motor este encendido.
¿Está en <<si>>
Trayectoria? <<no>> <<si>> Asignar Pesos a
Patrones
Emision Señal
sonora Resputa
Genera Reporte de Consultar Analizar resultado
Fin Resultado Error Tablas difusas Difuso
Analizar
probabilidad
Recepcion del Gemera Reporte Fin de Resultados
Resultado Correcto Difusos
enciende
activar Brain
activar modulo principal
Activar de Patrones
El siguiente grafico, muestra el diagrama de colaboración (Fig. 07), el cual tiene como función al igual que el D.
de actividad, es señalar la interacción constante entre todos los componentes del sistema. En el se señala los pasos
enumerados. Este es el último diagrama en la que se muestra las acciones. Luego pasaremos a la simulación asistida por
computador. Se muestra el siguiente diagrama de colaboración:
1: enciende
Chofer Automovil
2: activar Brain
4: Activar de Patrones
Toma de Modulo
decisiones Perifericos
5: recepcion de datos
A continuación mostramos un simulador de redes realizado con el software Packet Tracer (Fig. 08), el cual nos
muestra un esqueleto del hardware idealizado en su construcción:
En la parte superior izquierda mostramos nuestro prototipo, del cual nos concentraremos en esta parte. Este
posee un concentrador principal que tendrá como función unir todas las partes del sistema, por el pasaran todos los datos
encriptados. Luego tenemos a los mini-Servers, tanto el S. Módulos de Voz y S. Cálculos difusos almacenados, estos
están encargados de servir con base de datos al compilador principal; el primero almacenará franjas de voz, es decir, las
frases que el computador dirá, y se pueda requerir en el instante. El segundo, es el ser server donde se guardaran
procedimientos almacenados pero en lenguaje FSQL, por lo que trabaja con probabilidades y certezas. También existirá
funciones, del cual te retornaran valores booleanos como DO ó DON’T, es decir hacer o no hacer, esto implicaría de
algún modo el resultado final, si el co-piloto avisa o no al conductor sobre lo que esta pasando y se regirá básicamente
sobre la probabilidad de la realidad.
Por otro lado tenemos el puerto de comunicación AP, que en otras palabras es un Punto de Acceso, es aquel
hardware que da recepción señal inalámbrica del servicio GPS; por otro lado tenemos el terminal de periféricos, que es
aquel monitor en que se obtendrá las entradas graficas, como de las cámaras frontales y superiores.
Ahora pasaremos a la simulación virtual de nuestro modelo de carro y donde se instalaría nuestro sistema. Como
no disponemos de un medio físico, ya sea un carro de verdad o tal vez un micro controlador PIC con cámaras, lo
podremos simular en 3D Max.
Realización del Modelado del Móvil (Fig. 09): el carro es un Lamborghini Gallardo GT3, lo cogimos como
auto ideal por la facilidad de instalación del sistema. Este posee todas las características de un móvil tradicional; por
cultura general sabemos que tiene dos focos delanteros, dos espejos externos retrovisores y uno interno retrovisor. Pues
bien, dentro de los focos delanteros se instalaran las videocámaras don una dirección horizontal 180° con respecto al
vector de sentido contrario a la trayectoria del móvil; uno en cada foco. Estos no tendrán ningún eje de inclinación, ya
que podrán observar máximo a una distancia de 100 metros. Por otro lado, tenemos la videocámara interna que ponchará
la cara del conductor desde el cabello hasta los hombros. Estará ubicada con un eje de inclinación de -30° con respecto al
mismo vector mencionado. Dicha cámara tendrá un alcance máximo de 1 metro.
A continuación mostramos a grandes rasgos la posición del hardware en el móvil. Mas adelante detallaremos
con precisión la simulación cuando ay un humano a cierta distancia del móvil. Resolviendo el caso hipotético de que este
no se moviera o que este distraído. Por otra parte también simularemos con el mismo software una silueta de la cara del
conductor.
En la figura anterior mostramos a grandes rasgos vuestro proyecto. En la parte superior mostramos la vista
perspectiva de la instalación; de cierta manera mostramos los ejes focales externos. En la parte inferior izquierda,
señalamos la vista en el cual las cámaras posteriores nos enfocan con un ángulo horizontal en 180°. Luego, en la vista
inferior central, mostramos al móvil desde un ángulo trasero y mostramos en cierta manera la cámara interna. Por ultimo
mostramos el tercer grafico el cual solamente aparece la cámara interna y su eje de enfoque. Ahora nos detendremos a
mostrar cada punto y su respectiva simulación.
Cámara Interna y el Co-piloto lógico (Fig. 10):
En la parte inferior la frecuencia del parlante que emitirá los mensajes de alerta.
En la parte central el croquis por donde va el móvil
En la parte superior me indicara lo que las cámaras exteriores enfocan.
En esta figura, mostramos la simulación de nuestro proyecto. En la imagen superior mostramos la perspectiva de
cómo se vería los ejes focales posteriores y los peatones a una distancia de 50 metros a escala. Luego automáticamente
nuestro sistema hará un reconocimiento de patrones en el rostro del chofer para verificar si es consiente que ve a los
humanos a una distancia del móvil. Aquí entra a tallar el tema que veremos mas adelante en redes neuronales, es decir
inteligencia artificial.
En la imagen inferior izquierda se muestra una perspectiva de lo que ve el chofer, es decir el volante, los
humanos y la cámara instalada arriba del vehículo. En la imagen estreno derecha, vemos un rostro del chofer modelado
con 3d y rendereado por v-rey, como prototipo mas adelante analizaremos como se describe la vista de un sujeto basado
en pixeles de resolución.
A continuación mostraremos un prototipo de redes neuronales con sus respectivos pesos.
A continuación mostraremos un simulador de Redes Neuronales hecho en Joone; aquí mostraremos el proceso en el cual,
nuestro sistema es capas de procesar por etapas. La explicación lo detallaremos mas adelante.
En la imagen anterior (Fig. 12) se muestra el diagrama de redes neuronales, hecho con el programa JoonE con
su núcleo en Java. Lo explicaremos de la siguiente manera:
En forma general cada recuadro ya sea Linear, Gaussian, SoftMax, Sigmoid, entrada o salida, representan una
neurona que evaluará expresiones, es decir valores lógicos, por ende tendrán como entrada principal los Image Input
(imágenes de las cámaras) y los JDBC Input (Base de datos).
Pues bien, Lo primero que se carga son tantos los Datos Brutos como los validos, en memoria del sistema. Los
datos validos serán los que darán los pesos al llamado de funciones y al próximo reconocimiento de patrones. Por teoría,
la entrada a cada neurona y salida esta validado para solo [0,1], por ende es un aprendizaje reforzado.
Por otra aparte, el cuadro Linear que elige las funciones difusas y las carga, son los que dan paso a los pesos e
ingresos del reconocimiento en general de patrones. Después de ese acto, todos los reconocimientos serán evaluados
dando así una salida gaussiana de la intensidad para la exactitud de una respuesta difusa (No final). De ahí hará dos
acciones importantes y finales: la primera es emitir la señal sonora que el conductor oirá, la segunda guardar el registro de
todo el proceso, ya que en caso de que nuestro sistema falle, podrá ayudarnos a siguientes investigaciones y
actualizaciones.
Aquí mostraremos un ejemplo de función gaussiana (Fig. 13) para las salidas por bloques de nuestro simulador, hay que
tener en cuenta que esta grafica también representa la lógica difusa mensionada posteriormente.
A continuación mostrare los principales diagramas de UML que conforman el proyecto. Yendo en primer lugar
por el diagrama de casos de uso para el sistema de conducción el cual tiene la finalidad de anticiparse mediante el cual se
desarrolla en un mundo de funciones difusas por consultas en la base de datos como se muestra en el siguiente diagrama:
En el siguiente diagrama, mostramos el Diagrama de Clases en las cuales se basa en el modelado de la lógica en
cuanto en inteligencia artificial más no en el diseño relacional en la base de datos. Indicamos el comportamiento como
algo subjetivo del sistema.
Como objetivo del diagrama, consideramos diferentes funciones elementales las cuales son:
Define Trayectoria
Emite Sonido
Recepcion de audio
convierte audio en texto FSQL
Hace Cons ultas
Res ponde
Requiere Enfriamiento
llamada de em ergencia
Frena Y Guarda
Para que nuestro simulador difuso que realmente vendría a ser una grafica ideal (Fig. 14) de las reacciones que
observan las cámaras, tenemos que tener en cuenta el centro de referencia que el móvil coge para los objetos, es decir el
grafico siguiente resume de manera sencilla lo que se quiere llegar y así establecer un modelo matemático a través de una
matriz.
Luego realizamos las tablas de validación del sistema de tal modo que dispongan de pesos equivalentes para dar
a conocer la espera del resultado. A continuación mostramos la tabla para la variable del eje X:
PAX PX DPX NX
NY PrY PLY
Una vez obtenida los datos en las tablas cuyos valores difusos oscilan en un rango, procedemos a su cruce, es
decir la probabilidad de sus intersecciones, convirtiéndola en una matriz, donde cada valor representa la multiplicación de
los input, cuan menos valor tenga, mas es la probabilidad de sufrir un accidente y viceversa.
PLY PrY NY
PAX Desacelerar y/o Frenar Frenar un poco y/o Seguir
en seco Seguir Desacelerando
PX Desacelerar con Desacelerar y Seguir
precaución Seguir O Desacelerar
DPX Desacelerar Desacelerar y/o Seguir
Seguir Prudente
NX Seguir Seguir Seguir
Una vez obtenidos estos valores, procederemos a su multiplicación de sus respetivos resultados según las tablas,
lo cual nos da origen a una matriz de 3x4.
0.0375 0.100 0.150
0.1125 0.300 0.450
0.1875 0.500 0.750
0.2625 0.700 1.050
Ahora nuestro trabajo es convertir dicha matriz en un sistema de ecuaciones con el motivo de hayas la ecuación
principal, los valores óptimos para X, Y y Z.
A continuación mostramos el grafico de sensibilidad en el cual diremos que salió como resultante un plano, pero
tiene la peculiaridad especial que señala los lados en los cuales hay mayor probabilidad de que ocurra una posible colisión
pero antes de eso el sistema ya ha de haber arrojado una respuesta sonora al conductor. Cuanto más alejado este del
centro del eje menor es la señal de advertencia.
Por ultimo este seria el código generador del grafico realizado con Microsoft Matemáticas 2009:
show3d(plot3d(((-3.75) x-10 y)/15), plot3d(((-11.25) x-30 y)/45), plot3d(((-18.75) x-50 y)/75), plot3d(((-26.25) x-70
y)/105), {ShowWireframe, true}, {ViewAngle, 14.54, -110.676, -150.613})
Simulación en ConcepDraw PROYECT
En esta parte mostramos los graficas del cual seria un modelo de abstracción futurista de cómo se desarrollaría el
prototipo si es que contamos con los recursos necesarios. En la primera imagen (Fig. 16) se muestran los integrantes del
equipo sus cargos y las funciones que cumplen.
Fig. 20 - Proyects
Luego mostramos (Fig. 18) los intervalos de tiempo en el cual se desarrollaran nuestro, vemos que empezó un 17
de agosto con la planeación a cargo del Ing. Sotomayor y del Jefe del Proyecto. Luego, una vez que se ha previsto los
requisitos del sistema procederemos al análisis y desarrollo siguiendo la metodología RUP y las herramientas de
ingeniería modular siguiendo un modelo de desarrollo. Luego se procede a su construcción un 30 de agosto y finaliza un
11 de setiembre. En el transcurso de ese tiempo un 9 de setiembre comienza el testeo a cargo del Lic. Gallegos cuya
misión finaliza un 15 de setiembre.
El proyecto es netamente orientado a ayudar a la sociedad a prevenir accidente de tránsitos que a diario se
ven en el Perú.
Este sistema automatizado ayuda al conductor a tomar una decisión ante situaciones poco comunes para el.
Dar a mostrar la función de mi rama Ingeniería de Sistemas en cuanto a la estrategia a tomar en la toma de
decisiones en el ámbito actual.
Con este proyecto doy a conocer mi pequeño conocimiento, y las perspectivas de seguir adelante.
8. Referencias