Desarrollo de un Robot Móvil con control inteligente usando Algoritmos Evolutivos y un FPGA (parte 1) (página 2)
Enviado por Javier Gonzales Hernandez
El cableado del XC-3 es totalmente plug and play todas las conexiones son de conectar. Esto permite desarmar el XC-3 sin tener que desoldar cables cada vez que se haga una modificación.
2.1.8 Tarjeta de desarrollo ESPARTAN -3
La tarjeta de desarrollo SPARTAN-3 esta situada en el segundo piso del XC-3 y la parte más importante del hardware físico del robot. Decimos hardware físico por que a los codificadores, multiplexores y otros dispositivos que se crearon con el FPGA se les llama hardware virtual. En la figura #3 se puede observar la ubicación de la SPARTAN-3.
2.2 Hardware Virtual
Talvez se sientan confundidos cuando lean la función de cada modulo, pero lo mas importante es que entiendan que cada modulo tiene su tarea especifica y que así funcionen todo el tiempo, eso no quiere decir que hagan parte del sistema todo el tiempo, Para eso el XC-3 cuenta con dos multiplexores MULTICODI Y MULTISALIDA que son los encargados de dejar actuar los módulos necesarios en cada parte del proceso. El XC-3 esta compuesto por 12 módulos y cada modulo contiene una descripción de hardware, algunos módulos son independientes y otros dependientes. En la siguiente parte del paper se tratara de explicar cada modulo, todos los módulos se crearon con inteligencia y lógica propia. Menos el " chip ADN emulado electrónicamente" que es un concepto que trabajan en la Universidad Nacional de Colombia. En la figura # 4 se puede observar el esquemático del XC-3, este esquemático esta enumerado, el orden de los números no tiene nada que ver con la jerarquía de cada modulo.
Figura #4 Esquemático robot XC-3
Fuente: Autores del paper
Modulo # 1 GENECOD
Este modulo maneja una matriz dinámica de 16 x 16 palabras y cada palabra esta compuesta por 4 bits, este modulo entrega las 16 posibles combinaciones al "chip ADN emulado electrónicamente" garantizándole que en cada ciclo de maquina el "chip ADN emulado electrónicamente" va a encontrar una hibridación en un lugar distinto.
Modulo # 2 PRINCI
Este modulo se encarga de guiar al XC-3 hacia delante siempre y cuando los sensores no registren ningún obstáculo. También cumple la función de gobernar a MULTICODI. Ya que cuando hay obstáculos deja actuar a ENTRADA para así poder dar una solución al problema.
Modulo # 3 CODIF
Este modulo codifica la salida de ENTRADA o de PRINCI en acciones, estas acciones son las que el XC-3 identifica para tomar las decisiones que posee. Las decisiones que puede tomar el XC-3 son:
Adelante, atrás, izquierda, derecha, rotar a la izquierda, rotar a la derecha, girar a la izquierda, girar a la derecha y quietud.
Modulo # 4 ENTRADA
Este es uno de los módulos mas importantes del XC-3 aquí es donde se encuentra el "chip ADN emulado electrónicamente", Este modulo se encarga de registrar los sensores, los sensores entran al XC-3 como un vector de 4 bits. Luego se carga el chip con las combinaciones que ha generado GENECOD que son 16 vectores cada uno de 4 bits. Luego buscamos el complemento del vector de entrada y registramos esa hibridación. A esa hibridación le asignamos un lugar dentro de un vector de 16 bits y ese vector se codifica para ser convertido en un vector de 4 bits, este vector de 4 bits es el que entra al modulo a MULTICODI. EL modulo ENTRADA es el que le garantiza al XC-3 dar diferentes soluciones a una misma entrada. Es aquí donde esta la gran diferencia con los robots que no aprenden ya que estos robots son capaces de dar solo una solución a una entrada. Además gracias al FPGA es que se puede hacer posible este tipo de algoritmos por que como han podido observar el FPGA es capaz de realizar diferentes procesos al mismo tiempo (paralelismo) algo imposible para un MICROCONTROLDAOR.
Modulo # 5 MULTICODI
Este modulo es un multiplexor encargado de dejar pasar el dato que va a codificar el modulo CODIF, este modulo lo gobierna PRINCI y maneja datos de ENTRADA y PRINCI.
Modulo # 6 MULTISALIDA
Este modulo es un multiplexor encargado dejar pasar las acciones que ha generado el modulo CODIF o el modulo FIJO. Es gobernado por el modulo AG.
Modulo # 7 AG
Conclusiones
Este es el modulo mas importante del XC-3. Es el encargado de pasar las acciones que genera el ENTRADA por el instinto electrónico. De esta forma se garantiza que el XC-3 no va a tomar decisiones que le hagan daño. Este modulo también se encarga de controlar a MULTISALIDA, FIJO Y MENSAJE. En conclusión es el modulo encargado de decidir si el XC- 3 ya aprendió o no ha aprendido. La mayoría de los algoritmos genéticos premian una acción buena. Nosotros con nuestro algoritmo no premiamos al XC-3 simplemente le prohibimos unas acciones pero le damos la libertad de escoger las otras acciones que el crea conveniente. Este modulo también se encarga de guardar las acciones correctas de acuerdo al numero de generaciones que tenga cargado el XC-3, es por eso que el XC-3 es capaz de aprender en 20 segundos o en 20 minutos. También es función de AG hacer que el XC-3 aprenda por cada situación que se le presenta. Esto quiere decir que si en el entorno donde se encuentra solo se encuentra con 4 posibilidades de las 16 que es capaz de reconocer, el aprende esas 4 y no le afecta no haber aprendido las otras 12 posibilidades. En la segunda fase el XC-3 tendrá que aprender y además se usara para inteligencia militar.
Modulo # 8 RETIENE
Este modulo se encarga de retener las decisiones que escoge el XC-3 cierta cantidad de tiempo. Esto con el fin de que las acciones del XC-3 sean notables, y lo dejen moverse con más libertad en su entorno.
Modulo # 9 FIJO
Este es el modulo en el que se depositan las acciones buenas guardadas por el AG luego de haber aprendido, AG permite que el vector de entrada entre a FIJO y FIJO le da la solución adecuada a esa entrada. Esa solución es la acción que entra a MULTISALIDA, además Es donde termina todo el trabajo realizado por los módulos anteriores.
Modulo # 10 y 11 PWM
Son los módulos encargados de enviar las señales a los servomotores. Realizan su trabajo de acuerdo a los datos que les llega desde RETIENE. Cada uno posee dos bits que los controlan. Un bit es para activarlos o desactivarlos y el otro bit es el sentido de giro.
Modulo # 12 MENSAJE
Es el modulo encargado de visualizar el mensaje LEARNED que se despliega cuando el XC-3 ha aprendido totalmente o individualmente. Es controlado por AG.
Los FPGA son dispositivos que nos permiten implementar cualquier cosa que se nos ocurra no tenemos limitaciones como con los Microcontroladores.
La lógica digital vuelve a tomar fuerza con los FPGAS.
Ya que podemos implementar dispositivos en un solo encapsulado y no ocupamos grandes espacios como hace unos años. Además estos dispositivos pueden ser combinacionales o secuenciales.
El chip ADN emulado electrónicamente es una herramienta muy poderosa para desarrollar algoritmos inteligentes. Gracias a el podemos generar un estimulo diferente a una misma entrada Digital
La conclusión más importante es que logramos que nuestro XC-3 aprendiera a navegar en un entorno cerrado sin realizar acciones malas después de haber aprendido. Demostramos que estamos en la capacidad de desarrollar algoritmos evolutivos con última tecnología. Y también estamos en la capacidad de implementar sistemas biológicos en sistemas digitales, una muestra fue la creación del INSTINTO ELECTRONICO y la aplicación del chip ADN emulado electrónicamente.
Cualquier inquietud o debate sobre el trabajo por favor escribanos y estaremos dispuestos a atenderlos.
Referencias
[1] Delgado, A: "Rule base evaluation using DNA chips" Proceedings American Control Conference, pp. 3242 – 3245, Anchorage – Alaska, Mayo 8/10/2002
[2] Delgado, A: " DNA chips as lookup tables for rule based system," IEE Computing and Control Engineering Journal, Vol. 13, No. 3, pp. 113-119. 2002
[3] Delgado, A: "Robot controller using electronics DNA Chip," Memorias Congreso Internacional de Ingeniería Eléctrica y Electrónica, Bogota, Marzo, 2003.
[4] Spartan – 3 Starter Kit Board User Guide (www.xilinx.com)
Autor: In. Electrónicos:
OSCAR MAURICIO AYALA GUZMAN
JAVIER GONZALES HERNANDEZ
Egresados Corporación Universitaria del Meta Villavicencio -Meta – Colombia 01/12/06
Página anterior | Volver al principio del trabajo | Página siguiente |