Version 164 (modified by rafa, 6 years ago)

--

Construyendo y Programando RoboTitos

http://labti.fi.uncoma.edu.ar/trac/chrome/site/fran3.png

Documentacion de "Frankestito", construido en nuestra facultad. Departamento de Ingenieria de Computadoras .-

Introducción

En la Facultad de Informática estamos desarrollando un prototipo de robot (real) autónomo, compatible con  Myro. Además, a diferencia de la mayoría de los robots existentes compatibles con Myro, nuestra implementación cuenta con Linux embebido dentro del robot. Esto posibilita ejecutar, por ejemplo, python o prolog directamente dentro del robot.

Myro (My Robotics), es un proyecto open source que tiene como objetivo enseñar ciencias de la computación a través de la programación de robots con Python. Mas información en  Introduction_to_Computer_Science_via_Robots

Noticias! : El código fuente en desarrollo, para todas las capas de software, se encuentra ahora versionado en github :  https://github.com/zrafa/se_uncoma/tree/master/robotitos

Hardware

El prototipo actual utiliza un microcontrolador  AVR Atmega8 (en una board diseñada para nuestros fines, compatible con arduino uno) para controlar un L293D el cual tiene conectado ambos motores. Los motores son antiguos motores de robots Legos.

  • El prototipo que cuenta con una plaquita controlada por un Atmega8 (freeduino armada en la Facultad) se comunica con una placa TL-MR3020 de 5.7cm x 5.7cm con Linux embebido, a traves de una conexion serial. La board Linux utiliza wireless para comunicarse con Myro, y el usb host para la conexion con la camara de visión.
  • La vision actual es a traves de una camara controlada por Linux. Actualmente el robot distingue objetos con colores uniformes, ideal para hacer practicas de vision basica.
  • Para comunicarse con el mundo, el robot cuenta con dos leds y un parlante. Desde Myro se puede "encender" o "apagar" estas salidas para realizar acciones de comunicacion visual y sonora.

Equematicos : POR SUBIR.

Hardware Linux embebido

Utilizamos la board TP Link 3020. Con uboot, kernel Linux, y OpenWRT instalado. Documentación de referencia :  http://wiki.openwrt.org/toh/tp-link/tl-mr3020

Wireless

Nos comunicamos con Myro a traves de una conexion TCP. Myro, nativamente, intenta utilizar un dispositivo serial (que en los robots importados es un BT). Nosotros modificamos levemente Myro, para que en vez de utilizar un dispositivo serial utilice una conexion TCP/IP via la wireless del Linux embebido en el robot.

Software

Hay varios niveles de software.

http://labti.fi.uncoma.edu.ar/trac/chrome/site/myro.png

El software del robot (firmware para el Atmega8) está escrito en C, y utilizamos el ambiente arduino para crosscompilar y flashear el AVR ATMEGA. Con el firmware actual podemos mover el robot.

Utilizar un AVR Atmega, como microcontrolador para controlar los motores y sensores, permite desarrollar todo el software del robot utilizando las herramientas GNU GCC (the GNU Compiler Collection).

El software en el Linux embebido son varios programas (ser2net, mjpeg_stream, firmware para comunicaciones, scripts, etc), configurados de diferentes maneras para diferentes experimentos.

Flashing via Wireless

A través del Linux embebido con el que cuenta el robot podemos transferir el firmware desarrollado para el Atmega8 via wireless. Se logra a través de ser2net en el LInux embebido, y a través de socat en la PC origen.

En tplink:
# cat /etc/ser2net.conf
2000:raw:0:/dev/ttyATH0:19200 8DATABITS N