Div. ISA

DESCRIPCIÓN CURSO MINIROBOTS

  

Cursillo

Software

Documentos

Componentes

Enlaces

Eyebot


Luis M. Jiménez

SISTEMAS INFORMÁTICOS EN TIEMPO REAL
Ingeniería Industrial

PRÁCTICAS DE PROGRAMACIÓN DE MINIROBOTS

  

OBJETIVO

Las prácticas de programación de minirobots están enmarcadas dentro del contexto de la docencia de la asignatura de "Sistemas informáticos de Tiempo Real" correspondiente a la titulación de Ingeniería Industrial. El resultado de las prácticas es el montaje, diseño y programación de minirobots que resuelvan tareas comunes en las aplicaciones de la robótica móvil.

Estas prácticas se proponen como una herramienta fundamental no solo para asimilar los conceptos de diseño de aplicaciones de tiempo real sino también para que el alumno desarrolle diversas habilidades necesarias en su formación como Ingeniero Industrial. Entre estos aspectos podemos citar:

  • Conceptos de multiprogramación
  • Implementación de especificaciones temporales
  • Gestión de dispositivos físicos mediante sensores y actuadores
  • Técnicas de diseño
  • Conceptos de inteligencia artificial

Así mismo, la interdisciplinaridad de este trabajo permite también:

  • Introducir al alumno en la problemática de un proyecto de ingeniería
  • Trabajo en equipo
  • Practicar y ampliar los conocimientos de diseño electrónico analógico y digital
  • Practicar y ampliar los conocimientos de diseño mecánico.
  • Iniciarse en los aspectos de control de sistemas

Adicionalmente, se plantea un objetivo fundamental, y es alcanzar los objetivos anteriores mediante el autoaprendizaje. La capacidad de aprender de forma continuada en base a la experiencia propia es un elemento básico de la formación del Ingeniero y en su futuro profesional.

Esta iniciativa tiene su origen en cursos similares en diferentes universidades de Europa y Estados Unidos, especialmente en el "6.270 Contest Course" del MIT (Massachusetts Institute of Technology, Cambridge, MA, USA) (MIT 6.270 Robot Competition) dirigido por el profesor Fred Martin (fredm@media.mit.edu), que se desarrolla de forma continuada desde el año 1989. La experiencia y el material tanto bibliográfico como de hardware y software desarrollado (HandyBoard Web Site) constituye la base de este tipo cursos el multitud de Universidades en los estudios de Ingeniería.


 MATERIAL EMPLEADO

Robot Rug Warrio Pro (The Brawn):

  • Se trata de un esquema mecánico diferencial accionado por dos motores de corriente continua con sensores de colisión
  • Tarjeta Controladora (The Brains):

  • Se trata de un microcontrolador de 8 bits basada en el uC68HC11 equipado con 32K de memoria RAM estática. Dispone de sensores de proximidad, fotocélulas, micrófono, interruptores de colisión y encoders. Dispone, así mismo, de dos drivers de 1A para motores de continua controlados mediante modulación PWM. Existen entradas analógicas y digitales para incorporar sensores adicionales
  • Entorno de programación IC 3.2:

  • Entorno de programación y depuración de código C para el uC68HC11. El desarrollo se realiza sobre un PC transfiriendo los programas compilados por puerto serie a la tarjeta controladora
  • Software y documentación:

  • La documentación se encuentra disponible en la página web Documentación, el software necesario está instalado en los equipos de laboratorio así como el la página Software. Se recomienda acceder a la (HandyBoard Web Site) para documentación y software adicional, así como para cualquier consulta en la lista de distribución.
  • Bibliografía:

    "Mobile Robots: Inspiration to Implementation", J. Jones, A. Flynn, Ed. A.K. Peters

    Material auxiliar:

    Polímetro, Osciloscopio, herramientas de montaje, soldador, ....


    TAREAS COMUNES A TODOS LOS EQUIPOS
     

    1. Familiarizarse con el entorno de programación del microcontrolador 68HC11 (Taller 1):

    Este entorno de programación está basado en Interactive C (IC). Se trata de una versión del lenguaje C que incorpora la funcionalidad básica pero carece de ciertas características que deben ser tenidas en cuenta a la hora de realizar los programas.

    Incorpora, así mismo, un pequeño núcleo de tiempo real pudiendo ejecutar de forma concurrente varios procesos.

    La carga de software y la monitorización de la ejecución puede realizarse desde un PC comunicado por puerto serie con la tarjeta controladora. Este entorno permite la ejecución interactiva de comandos sobre el microcontrolador.

    La documentación utilizada será el manual de IC editado por Fred Martin y que se puede encontrar en formato pdf en la página de Documentación fichero (icmain.pdf). Así mismo se dispone de la ayuda en línea dentro del entorno IC 3.2 instalado en los PC’s del laboratorio, este fichero esta disponible también en la misma página (ic.hlp).

    El programa puede encontrarse en el servidor de software en su versión para MSDOS (versión 2.8) o para Windows (versión 3.2) [Nota: la versión 3.2 requiere de un código de licencia, disponible solamente en el laboratorio de prácticas]

    1. Familiarizarse con la librería básica del Rug Warrior Pro (Taller 2):

    Esta librería está formado por cuatro ficheros englobados en un fichero de listado lib_rwp.lis (contiene el listado de los ficheros de código C que deben ser cargados). Esta librería incorpora las funciones básicas de manejo de los sensores y actuadores disponibles en el robot.

    La documentación a estudiar será el propio código fuente (disponible en cada PC y en la página de Software), el libro "Mobile Robots: Inspiration to Implementation" y el manual de montaje (assenbly-guideRW.pdf).

     

    1. Familiarizarse con la librería lib_umh.lis (Taller 3):

    Esta librería, disponible en dentro de la instalación de IC en el subdirectorio IC/umhlibs/. Incorpora un conjunto de funciones útiles, manejo de alto nivel de accionamientos y sensores y diferentes comportamientos. El objetivo es que esta librería sirva de base de cualquier proyecto y así mismo cualquier desarrollo se vaya incorporando a esta librería para que sirva de base en futuros proyectos, acumulado la experiencia en el manejo del robot.


    TAREAS COMUNES A LOS GRUPOS DE TRABAJO

    Un grupo de trabajo estará formado por dos equipos de tres personas y tendrá asignada uno o varios robots. Las tareas comunes a todos los grupos será el montaje de los robots, su prueba y ajuste.

    1. Montaje del robot

    Las prácticas comenzarán con el montaje de los robots. Para ello se dispondrá de la tarjeta controladora (ya soldada) y los elementos mecánicos. Las tareas a realizar se describen en la guía de montaje disponible en el laboratorio. El montaje incluye:

    Conexionado de los sensores de colisión
    Conexionado de los motores y los encoders
    Montaje mecánico

    1. Pruebas

    Después de cada conexión debe ser probada mediante el programa de test rwp_test.lis. Para ello debe conectarse la alimentación a la tarjeta controladora y descargar el software básico (Pcode) junto al programa rwp_test.lis. Una vez cargado se debe pulsar sucesivamente el botón de reset para seleccionar el test adecuado:

    Test de sensores de luz
    Test de detector de infrarrojos
    Test detectores de colisión (bumpers)
    Test de encoders
    Test de motores

    1. Ajustes

    Se deberá ajustar el alcance de detección de los sensores de infrarrojos (ajuste de potenciómetro azul).

    Así mismo debe ajustarse la deriva entre los dos motores ajustando la variable DRIVE_BIAS en el fichero motores.c de forma que cuando se envía un comando de traslación pura siga perfectamente una línea recta.


    TARES ESPECÍFICAS DEL GRUPO DE TRABAJO  (Taller 4)

    1. Transmisión de comandos entre robots:

    Modulación mediante infrarrojos
    Modulación mediante frecuencias sonoras
    Protocolo de comandos
    Comportamiento de reunión
    Ejecución de órdenes
    Uso de mandos a distancia estándar
     

    1. Búsqueda de la salida de un laberinto:

    Evitación de obstáculos
    Aprendizaje del laberinto

    Búsqueda de una luz (fuego) en el laberinto y apagado de la misma.   
    Integración de sensores piroeléctricos.
                

    1. Juego entre varios robots. "tu la llevas":

    Instalación de luces indicadoras en los robots
    Algoritmos de búsqueda y seguimiento (luz, infrarrojos)
    Algoritmos de evasión
    Intercomunicación entre robots   

    1. Navegación en entornos no estructurados:

    Integración de diferentes comportamientos que permitan al robot evitar obstáculos
    Integración de reproducción de sonidos de forma cooperativa.  

     
    Almacenamiento de trayectorias para poder regresar al punto original.  

    Uso de marcas en el entorno para localización
      

    1. Seguimiento de líneas marcadas en el suelo:

    Integración de tres fotocélulas adicionales en la parte inferior del robot.
    Algoritmos de seguimiento de camino marcados en el  suelo.  

     
    Competición de velocidad.

    1. Trazado de curvas entorno a una o varias fuentes de luz:

    Integración de dos comportamientos opuestos: búsqueda de la luz cuando esta es lejana, evitación de la luz cuando está próxima.
    Movimiento orbital entorno a la fuente de luz.  
     Integración de tres fotocélulas adicionales

    1. Campeonato de sumo:

     Estrategias “inteligentes” de evasión y expulsión del contrario.  
     
    Integración de tres fotocélulas adicionales y aumento de potencia.  

    1. RoboCup, campeonato de fútbol con robots

    Integración de una pelota electrónica con emisores de infrarrojos.  
    Integración de marcas luminosas o infrarrojas en las porterías.

    Estrategias de juego: “El fútbol es así” “no ha enemigo pequeño”, ....  

    1. El escondite :

    Utilización de los emisores y detectores de infrarrojos para detectar otros robots  
    Integración de sensores infrarrojos adicionales.

    1. Aprendizaje :

     Insertar  un mecanismo de aprendizaje, mediante premios y castigos, que coordine los comportamientos opuestos. Un comportamiento baja su prioridad si se reprende al robot al ejecutarlo

    1. Programación de maniobras de aparcamiento:

    Programación de maniobras de aparcamiento basado en sensores de distancia y colisión.
    Simulación de aparcamiento de automóviles   

    1. Desarrollo de algoritmos de control de velocidad y posición:

    Servo de velocidad
    Servo de posición


    EQUIPOS DE TRABAJO

    Los equipos de trabajo están formados tres personas cada uno. Cada equipo tiene un responsable de grupo seleccionado por el profesor entre los alumnos del curso. Cada responsable de equipo selecciona a las personas que conforman su equipo estando encargado de coordinar la distribución de tareas y la consecución de los objetivos. Adicionalmente los equipos pueden agruparse en grupos de trabajo (formados por dos equipos) para desarrollar aplicaciones que involucran diferentes robots. Los equipos son los siguientes:
     

    EQUIPO ROBOT COMPONENTES HORARIO
           

    Top
     

    © UMH - Dpto. Ingeniería. Div. Ingeniería de Sistemas y Automática