Please enable JavaScript.
Coggle requires JavaScript to display documents.
Sistema de taxi / cabina automatizado con algoritmo A * - Coggle Diagram
Sistema de taxi / cabina automatizado con algoritmo A *
Encuesta Literaria
El modelo tiene que producir descripción de todas las posibilidades y sus probabilidades.
Planificación se refiere a cualquier proceso computacional que toma entradas y produce o mejora una política para interactuar con el modelo ambiente.
Dificultades de la planificación basada en búsquedas
métodos
Procesamiento perceptual, es decir, ruido, insensibilidad, aliasing.
Acciones, no como se esperaba (modelos imperfectos, errores).
Otros procesos físicos.
Los efectos externos provocan cambios durante la construcción del plan.
Necesita actuar antes de completar la búsqueda.
Recursos de memoria limitados.
Detalles técnicos del sistema de taxi automatizado
Detalles de hardware
Lego Mindstrom NXT es un kit robótico programable lanzado por
Lego a finales de julio de 2006. El NXT es el cerebro del robot Mindstrom. Un ladrillo de Lego inteligente y controlado por ordenador da vida a Mindstrom y realice diferentes operaciones.
Hay cuatro tipos de sensor para conectar con NXT como sensor ultrasónico, sensor de sonido y luz y sensor táctil. El sensor ultrasónico se utiliza para calcular el distancia del objeto. El sensor de sonido puede detectar el ruido en entorno, el sensor de luz puede detectar obstáculos en frente del robot si el objeto rompe la continuidad de su rayo de luz y el sensor táctil puede detectar el obstáculo con el tacto.
Detalles de software
El LeJOS NXJ es un proyecto para desarrollar un Java Virtual Machine (JVM) para Lego Mindstrom NXT, como reemplazo de el firmware original del NXT, lo que permite programar a estos robots usando el lenguaje Java, lo que ayuda para el uso de las diferentes librerías que posee este lenguaje de programación.
Librerías de terceros y ambiente de programación
La biblioteca de Java por sí sola no puede cumplir con los criterios del sistema. Por ello se ha almacenado las posiciones del entorno en una base de datos.
Diseño del sistema
El modelo tiene un controlador de robot y un sistema de comunicación. Todas la comunicaciones que se realizan entre la computadora y el robot se realizan a través de una comunicación Bluetooth.
Objetivo principal del modelo propuesto
Existen dos modos del robot como modo usuario y como autónomo. Cada uno presenta diferentes códigos de comando y parámetros. En el modo usuario se inicia las tareas del robot de manera manuela y se mapea el camino con colores. Después de realizar el procesos de mapeo del camino, se guarda la información en una base de datos y el robot a continuación usa el algoritmo A para encontrar la ruta mas corta.
Diagrama de flujo de datos
Este diagrama muestra como la información es transferida desde un ordenador la robot.
Implementación y resultados
Implementación Bluetooth
Descubrimiento de dispositivos.
Las clases Java Agente de descubrimiento y Oyente de descubrimiento manejan el descubrimiento del servicio. El Oyente de descubrimiento alerta cuando existe un dispositivo Bluetooth.
Registro de servicio.
Registra el servicio ofrecido en el dispositivo Bluetooth dentro de la base de datos de descubrimiento de servicio en el lado del servidor.
Gestión de dispositivos.
Java provee dos clases, el dispositivo local que es para la parte del servidor, y el dispositivo remoto que trabaja en el lado del cliente.
Descubrimiento de servicio.
La aplicación busca si hay un servicio disponible.
Inicialización de pila.
Esto lo realizan principalmente los proveedores. Cada proveedor tiene un método diferente para inicializar su pila de bluetooth y pueda que no den accesos a sus usuarios para esta función.
Control y seguimiento
Cada conjunto tiene un código de comando y parámetro diferente. Solo los parámetros de control de movimiento poseen un valor Boolean.
Seguimiento y creación del mapa
Dirección de rumbo.
Actúa como el ángulo de giro total del robot con respecto al punto de partida.
Posición del robot en el mapa.
La posición es calculada por funciones trigonométricas. El mapa esta separado por filas y columnas que están representados como X y Y respectivamente.
Obstáculo de mapeo.
Si un objeto es reconocido por los sensores del robot, la posición de ese objeto se guardará dentro de la base de datos en la tabla con nombre "MAP".
Mapeando otros objetos.
La posición de inicio es la posición que se encuentra el robot en ese momento y la posición del objetivo es la posición del robot cuando haya encontrado su objetivo.
Sistema de base de datos
Configuración del sistema de base de datos MySQL
Hay dos tablas en la base de datos que son mapa y camino. La clase RDatabase tiene métodos para escribir en estas tablas y
esos métodos fueron creados usando un comando SQL llamado "Declaración preparada" que tiene un buen rendimiento cuando
consulta una tabla.
Programación para el robot
El robot puede ser controlado por un usuario y también de forma autónoma manejar algunas tareas simples. Puede encontrar objetos por sí mismo, comprobar el color del objeto y navegar por el mapa. El robot AI es organizado mediante el uso de un método llamado paradigma jerárquico, que es una relación simple de tres primitivos Sentido, Plan y Actuación.
Plan.
El robot utiliza la información disponible para determinar una estrategia y secuencias requeridas para diferentes componentes con el fin de cumplir una tarea determinada.
Actuar.
Es la ejecución de comandos y procesos. El robot
planifica sus acciones haciendo referencia a su base de datos de conocimientos y al mundo exterior.
Sentido.
El robot siente el mundo usando sensores para medir el ambiente alrededor. Los sensores luego lo cambian a la información que comprende.
Salida del algoritmo A-star en la máquina.
El algoritmo calculará la ruta más corta a un determinado
destino. Los tres valores heurísticos son el localCost, el
parentCost y el passThrough. El algoritmo comienza tomando los cuadrados adyacentes en el cuadro inicial y colocarlos en la lista abierta.