ROBÓTICA BASADA EN FPGA CON FINES EDUCATIVOS

Resumen

Este Trabajo Fin de Máster ha sido realizado en el Departamento de Ingeniería Eléctrica, Electrónica y de Control de la Universidad Nacional de Educación a Distancia. Su objetivo principal es desarrollar un sistema robotizado controlado con una FPGA para ser usado en Laboratorios Científicos Remotos, más específicamente como parte de Techno Museum.

Del proyecto Go-Lab surge la iniciativa Techno Museum, la tecnología al servicio de la humanidad. En noviembre de 2011 un grupo de estudiantes y profesores de ingeniería decidió apostar por la divulgación y el aprovechamiento de la tecnología. Tiene como objetivo la integración de la formación práctica desarrollada en los laboratorios con las plataformas open social y tecnologías web. Todo ello aplicado al marco de la enseñanza de primaria y secundaria.

El estado del arte de la robótica cuenta con aportaciones tanto por parte de empresas privadas como por parte de individuos particulares, al igual que los sistemas basados en FPGA. Dentro de la robótica existen muy diversos campos: industrial, sanitaria, educacional e incluso de hobby. Dato que comparten los sistemas basados en FPGA, ya que en los últimos años cada vez son más sectores que incluyen este tipo de dispositivos en los sistemas de control de sus productos.

Hasta la fecha la mayoría los sistemas de control están basados en micro-controlador dado su fácil accesibilidad y que se cuenta con soluciones que no requieren grandes conocimientos. Por su parte, el diseño electrónico empleando FPGA requiere conocimientos sobre estos dispositivos, conocimientos sobre los lenguajes empleados para su programación y el uso de herramientas específicas y diferentes de cada fabricante.

Para ello se ha propuesto un sistema de control basado en FPGA mediante el cual se maneja un robot humanoide con servos. El sistema intercambiará información con un PC que actuará interfaz entre el usuario y el propio sistema. Como medio de comunicación se empleará Bluetooth, dando mayor libertad de movimientos al robot dado que se eliminan las conexiones físicas de cableados.

ENFOQUES DE LA INVESTIGACIÓN

Este Trabajo Fin de Máster surge de la iniciativa Techno Museum. En noviembre de 2011 un grupo de estudiantes y profesores de ingeniería decidieron apostar por la divulgación y el aprovechamiento de la tecnología. Para ello con se preparó un proyecto que agrupa a varias instituciones, nacionales e internacionales, con un objetivo común: trasladarla la tecnología de los laboratorios a la sociedad lo más rápidamente posible. Mediante el uso de las herramientas, con las que la sociedad cuenta actualmente, para promocionar:

  • La divulgación de la tecnología.
  • El uso racional de la misma para ayudar a la sociedad.
  • Mostrar que hoy en día actual la tecnología permite mejorar el entorno.
  • Demostrar que no son necesarias grandes inversiones para conseguirlo.

De todo lo anterior se extrae el enfoque de esta investigación, el cual cuenta con los siguientes objetivos:

  • Realizar un sistema capaz de ser empleado con fines educativos, es decir, como parte del Proyecto Go-Lab.
  • Diseño de un sistema robótico cuyo elemento principal de control sea una FPGA. Para ello será necesario concretar tanto el sistema robótico que se va a abordar, como el Hardware necesario que utilizará la FPGA.

Como referencia se partirá de un sistema de control basado en una controladora original de un robot humanoide basado en servos comercial.

ENTORNO EDUCATIVO

El entorno educativo que se desea implementar deberá estar dotado de una interfaz para que alumnos sean capaces de interactuar con el robot mediante comandos de manera que realice diferentes funciones como pueden ser:

  • Mover articulaciones.
  • Desplazarse, debe tener la capacidad de detectar y sortear obstáculos encontrados a su paso.
  • Comunicarse con un ordenador mediante el cual se le mandarán comandos y al cual enviará información de estado.
  • El sistema será monitorizado visualmente con una webcam conectada al PC.
  • Opcionalmente se incluirá una cámara en el Robot para aportar la visión «en primera persona».

Además, enviará información de estado:

  • Indicar que ángulo se le ha mandado a cada servo.
  • Mostrar lecturas de sus sensores.

SISTEMA DE CONTROL CON FPGA

Todo el procesamiento será diseñado con una FPGA, la cual deberá implementar todas las siguientes funciones:

  • Recepción de comandos desde el servidor del Laboratorio Remoto.
  • Envío de información de estado al servidor del Laboratorio Remoto.
  • Locomoción.
  • Interacción con el medio, siendo capaz de detectar obstáculos.

CONCLUSIONES

Llegados a este punto se puede realizar una valoración global del Trabajo Fin de Máster. Para ello se han resaltado tanto la visión global de mismo, como los aspectos favorables y desfavorables, para finalmente, mencionar las líneas de investigación que podrían surgir a partir de todo lo aprendido con este trabajo.

VISIÓN GLOBAL DEL TRABAJO REALIZADO

La realización de este proyecto ha abarcado una amplia gama de aspectos:

  • Desarrollo de un sistema basado en una FPGA para el control de un robot humanoide.
  • Adaptación del mismo para poder ser usado con fines educativos.
  • Desarrollo del software que ejecuta la tarjeta Arduino en sus dos variantes: para el control de los robots ruedas y para hacer de interfaz entre el PC y la placa de control con la FPGA.
  • Diseño e implementación de un PCB para la adaptación de los niveles de tensión entre la FPGA y los servos, y para albergar todos los periféricos que incluye el sistema de control completo.
  • Diseño e implementación del firmware de la FPGA empleando lenguaje de descripción de Hardware VHDL.

Al fin del proyecto se presenta un sistema completo de control de un robot humanoide que se comunica usando como medio Bluetooth con un PC, que en el caso particular del Proyecto Go-Lab jugaría el rol de servidor de un laboratorio remoto como uno de los resultados de la iniciativa Techno Museum.

ASPECTOS FAVORABLES

Como aspectos favorables, y tras los resultados experimentales obtenidos, se puede afirmar que las comunicaciones Bluetooth aportan al sistema una libertad de movimientos, permitiendo además que su localización en el laboratorio no esté sujeta a la longitud de los cables que conectan el sistema de control al PC que actúe como servidor de laboratorio remoto.

Otro aspecto a destacar son las lecciones aprendidas a lo largo de la realización del trabajo habiendo identificado herramientas de fácil uso que permiten reducir los tiempos de desarrollo frente a las otras mencionadas a lo largo del documento.

También se ha logrado una circuitería sencilla y de bajo coste para adaptar los niveles de tensión entre la FPGA y los servos.

ASPECTOS DESFAVORABLES

Como aspectos desfavorables, este proyecto presenta los siguientes inconvenientes:

  • Es un sistema no es muy flexible, ya que sólo es válido para el robot humanoide que se ha empleado y los servos que se tomaron como referencia, y a partir del que se evolucionó hasta esta versión. Siendo complicada la adaptación a otro robot ya que habría que recalibrar la posición de los servos para los movimientos.
  • Además, no permite la ampliación del número de servos a manejar sin tener que modificar el PCB y el firmware.
  • Ocurre lo mismo en el caso de requerir otro tipo de sensores o incrementar el número de los mismos.
  • Otro problema fue la dificultad provocada por el regulador de alimentación principal de la tarjeta de la FPGA que no admite una tensión mayor de 5 V.
  • Los componentes de montaje superficial de tamaño pequeño dan muchos problemas durante el proceso de soldadura, lo cual se soluciona escogiendo componentes similares con un tamaño mayor.

TRABAJOS FUTUROS

Analizando los aspectos desfavorables detectados y teniendo en cuenta las lecciones aprendidas, se proponen las siguientes líneas de trabajos futuros:

  • Realizar una evolución del firmware de manera que se incluyan nuevas pautas de locomoción empleando los mismos comandos o añadiendo nuevos comandos.
  • Añadir la opción de calibración de los servos para poder ser adaptado a otro tipo de robots humanoides.
  • Incluir opciones de interacción con el entorno del laboratorio.
  • Desarrollar una placa que incluya la FPGA, interfaz de servos y periféricos. Algo a medida para un entorno educativo de robótica y FPGA, pero con suficiente flexibilidad para poder ser adaptado a otro tipo de robots distintos de los humanoides:
    • Podrá gestionar 24 servos.
    • 8 canales de entrada de señales analógicas con conector para sensores (Señal, Vcc y GND).
    • 8 canales de entrada de señales digitales con conector para sensores (Señal, Vcc y GND).
    • Una parrilla de LEDs para depuración o mostrar información de estado.
    • Interfaz con 2 placas Bluetooth.
    • 2 memorias EEPROM.
  • Modificar el entorno educativo para poder desarrollar prácticas de robótica, haciendo más flexible el manejo de los servos e incluso permitiendo al alumno poder crear juegos de movimientos que serán ejecutados por la controladora.
  • Modificar el entorno educativo para poder desarrollar prácticas de FPGA, permitiendo al alumno poder cargar un firmware nuevo en línea, de manera que se pueda usar sin ningún tipo de conocimientos de FPGAs, pero que también permita hacerle modificaciones.
  • Investigar otro soporte diferente a la Arduino que no requiera estar conectado a un PC, de manera que el servidor de este laboratorio remoto sólo necesite un cable de alimentación y una conexión a internet a través de Wifi. Se proponen las siguientes alternativas:
    • Arduino con shield Wifi.
    • PCDuino.
    • Raspberry Pi.

Puedes descargar la memoría aquí.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *