1 / 17

INTRODUCCIÓN A LOS MICROROBOTS - PROGRAMACIÓN Y CONTROL -

INTRODUCCIÓN A LOS MICROROBOTS - PROGRAMACIÓN Y CONTROL -. Nerea de Riva Iriepa Nov. 2006. COMPLUBOT – C.P. Miguel Hernández – Alcalá de Henares – Madrid – Spain complubot@gmail.com. Todo robot necesita un programa para funcionar.

odin
Télécharger la présentation

INTRODUCCIÓN A LOS MICROROBOTS - PROGRAMACIÓN Y CONTROL -

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INTRODUCCIÓN A LOS MICROROBOTS- PROGRAMACIÓN Y CONTROL - Nerea de Riva Iriepa Nov. 2006 COMPLUBOT – C.P. Miguel Hernández – Alcalá de Henares – Madrid – Spain complubot@gmail.com

  2. Todo robot necesita un programa para funcionar. Los programas se “ejecutan” en un procesador incluido en el propio robot. Para programar: Analizamos lo que el robot tiene que hacer. Lo escribimos mediante un lenguaje de programación. Introducción (I)

  3. Hay muchos tipos de lenguajes y controladores aplicables a los robots móviles. Estos son los que hemos utilizado: Controladores: LEGO RCX y NXT dsPIC (ALCA-DSPIC) Lenguajes: Robolab NQC C Introducción (II)

  4. Aprendiendo a programar con LOGO • Diseñado originalmente para enseñar matemáticas y geometría a los niños. • LOGO es un lenguaje de programación derivado del LISP (Inteligencia Artificial). • LOGO es un lenguaje para aprender, donde el alumno: • Asume el papel del profesor y aprende de si mismo • Se comunica con el ordenador con un lenguaje natural • Aprende de forma sencilla conceptos como el de función, iteración (bucle), estructuración (dividir el programa en trozos pequeños)...

  5. RCX • Procesador de 8 bits a 16MHz (Hitachi H8/3292) . • 32KBytes de memoria RAM • 3 puertos de entrada (1, 2 y 3) sensores • 3 puertos de salida (A, B y C) motores • Comunicación por infrarrojos. • Almacena hasta 5 programas. • Firmware, programas y datos en RAM (se pierden cuando se queda sin pilas) • Altavoz integrado para producir sonidos y timbres

  6. El firmware es el programa que se encarga de la gestión del RCX. El firmware del RCX se guarda en la memoria RAM (se pierde cuando se queda sin pilas) Se actualiza mediante un programa (BootLoader) que reside en la ROM del RCX. Dada la arquitectura abierta del RCX, se han desarrollado distintos firmwares además del oficial de LEGO. Actualmente tenemos tres versiones de este firmware: El Firmware del RCX (I)

  7. Firmware 2.0 (la más extendida) - Es un interprete que funciona como una máquina virtual. - Multitarea (soporta hasta 10 tareas). - Muy estable. - Ejecuta los "Bytes Codes" que se generan en la compilación de un programa (Robolab, NQC...) El Firmware del RCX (II)

  8. Fast Firmware: Es un firmware 100% compatible con el de LEGO. Muy optimizado para llegar a ser hasta 10 veces más rápido. Incorpora algunas características adicionales como un mejor control de la velocidad (255 niveles de velocidades). Firmware 2.9 Es el firmware incluido con el nuevo Robolab 2.9, es la respuesta de LEGO ante el FastFirmware. Es un firmware muy rápido y eficaz. Soporta 255 velocidades, control proporcional, operaciones en coma flotante (por sofware). El Firmware del RCX (III)

  9. Entorno de programación gráfico basado en LabVIEW. Multitarea (hasta 10 tareas). Herramientas adicionales: Servidor Web (control remoto RCX) Registro de datos. Visión (proceso en el PC). Robolab • Permite realizar programas sencillos de una forma muy rápida. • Si no se es muy ordenado (estructurado) se puede complicar mucho en programas grandes. • Trabajamos con él durante un año. Lo usamos en nuestra primera competición en mayo de 2004.

  10. NQC: lenguaje de programación, basado en texto. Sintaxis: parecida al C pero con menos potencia. NQC funciona en MODO CONSOLA en windows, linux y MacOS. NQC • BricxCC es un entorno de desarrollo que nos permite trabajar con toda comodidad con el NQC.

  11. Es un sistema operativo que reside en el propio RCX. Se puede programar en C o C++. Al carecer de firmware (interprete) es mucho más rápido y eficaz. Al igual que en el caso del NQC, con BrickOS podemos usar el entorno BricxCC para compilar y descargar programas. BrickOS

  12. NXT • El "cerebro" del NXT es un procesador ARM-7 de 32 bits, 256 KB de memoria FLASH 64 KB de RAM, velocidad de funcionamiento de 48 MHz. • Enlace por USB para descargar programas. • Procesador de 8 bits dedicado solo a las entradas y salidas. • Nuevos sensores y motores • Tecnología Bluetooth. Se pueden descargar programas al robot sin acercarlo al ordenador.

  13. La herramienta se llama “Lego Mindstorms NXT” permite de forma rápida y sencilla programar los montajes con el NXT. Programación sencilla y muy vistosa. NXT (El lenguaje) • Ejercicios sencillos resulta fácil. • Ejercicios más complejos se pierde la sencillez y la claridad.

  14. Robolab 2.9 (RCX y NXT) • Incorpora sus propias versiones de firmware para el RCX y NXT. • Actualmente es la herramienta gráfica más potente tanto para el RCX como el NXT. • Soporta todos los sensores de LEGO (nuevos y antiguos). • Mejora mucho el manejo de tareas. • Incluye nuevas prestaciones: Control proporcional, coma flotante...

  15. Robot C • Es una plataforma común para programar el RCX y el NXT. • Permite programar en un C mucho más potente que el NQC. • Utiliza un firmware propio (máquina de estados) mucho más potente que las versiones originales. • Incluye herramientas de depuración (puerto USB). • Es en la actualidad la herramienta más potente para programar tanto el RCX como el NXT.

  16. En la actualidad estamos empezando a trabajar con la tarjeta ALCAdsPIC (30F6010A) La programamos directamente (sin Sistema Operativo) en C usando librerías para el control de los periféricos. A día de hoy se ha conseguido que nuestros robots se muevan de forma controlada pero poco eficaz. C sobre dsPIC

  17. Es necesario analizar los problemas antes de intentar resolverlos. El RCX o el NXT son procesadores lo suficientemente potentes como para aprender muchísimo con ellos. La tarjeta ALCAdsPIC nos permitirá programar robots mucho más potentes y eficaces. Conclusiones

More Related