Robótica con Vitalinux

De Vitalinux
Saltar a: navegación, buscar

Se puede hacer robótica con Vitalinux (Linux)?

A día de hoy, hemos probado con dos de los robots que pudimos ver y probar en las I Jornadas de Robotica Educativa y Progmación:

  • Lego WeDo
  • mBot

Además dichos robots se pueden probar antes de su adquisición a través de los CIFE's, y como son los que más aceptación están teniendo en el entorno educativo, son varios los centros que nos han pedido una solución para poder trabajar con ellos desde Vitalinux

Increíblemente, ninguno de los dos tienen soporte/aplicación nativa para Linux. Los fabircantes no han liberado el software para Linux, pero hemos encontrado la solución para poder trabajar con ellos. Eso si, siempre a través de Scratch. Ésto quiere decir que la aplicación de Lego WeDo específica (más sencilla) no funcionará en Linux hasta que Lego libere dicho software, pero por contra, podremos hacer cosas más complejas con el robot de Lego (al estar integrado en scratch)

Iremos actualizando la información en ésta página a medida que tengamos nuevas noticias....vamos pues a ello

Preliminares - Vitalinux te ayuda...

Puedes saltarte éste paso, migasfree lo hará por ti de forma transparente...

En ambos robots, la comunicación con el mismo se hace a través de un dispositivo de interfaz humana (también llamado HID). Por ejemplo en el caso de Lego WeDo con un cable usb y en el caso de mBot con un emisor inhalámbrico (también usb).

Podemos ver los usb conectados con:

lsusb # lsusb -t para mas detalle
Usb robot 022.png

En la siguiente captura podemos observar la salida de los comandos indicados antes y después de insertar el cable del robot lego.

Para poder leer y escribir en dicho dispositivo (mandar órdenes al robot o leer datos del mismo), Linux crea un archivo de tipo carácter en /dev, pero podemos observar que sólo tiene permisos root:

Vemos dos dispositivos, uno el teclado/ratón y otro que corresponde a la conexión con el robot

Para ello, simplemente tenemos que indicarle a udev que nos cree dicho dispositivo con los permisos necesarios:

Editar un archivo nuevo:

sudo nano /lib/udev/rules.d/99-hidraw.rules

Con las siguientes lineas

# Solucion generica: para todos los dispositivos de interfaz humana
# KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev"
# Lego Wedo
ATTRS{idVendor}=="0694", ATTRS{idProduct}=="0003", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
# mBot
ATTRS{idVendor}=="0416", ATTRS{idProduct}=="ffff", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"

Por último quedaría reiniciar el servicio udev

sudo service udev restart

Y desconectar y conectar el robot si lo teníamos conectado para que los cambios surtan efecto, quedando algo parecido a ésto:

Usb robot 027.png

Lego WeDo

Lego WeDo no tiene el software desarrollado para funcionar en Linux, por lo que no tendremos acceso al software específico desarrollado por Lego para funcionar con sus actividades. Sin embargo, puede funcionar sin problemas con Scratch, pudiendo realizar todas las actividades propuestas por Lego, y muchas otras, ya que contamos con la funcionalidad de Scratch (en el caso del software de Lego, las funcionalidades pueden llegar a quedarse limitadas).

Si se quiere usar el material para montar los diferentes escenarios propuestos por Lego, podemos descargarnos los ejercicios del propio CD de Lego o de la siguiente URL

Lego WeDo puede funcionar tanto en Scratch 1 como Scratch 2 (en su versión online y offline). Ya sabéis que con Vitalinux podemos tener disponibles todas las opciones, para gustos los colores. Sin embargo, para que Scratch pueda hablar y escuchar del controlador del robot, necesita un plugin. De nuevo nos encontramos con un problema: no hay plugins de Scratch para la versión Linux.

Solución: La gende de Pixcase ha desarrollado una extensión para Chrome que nos va a hacer de puente entre Scratch y Lego. Para ello, deberemos tener Google Chrome (ya disponible en Vitalinux) e instalar la app (extensión) S2Bot 4 Scratch....vamos a ello:

Abrimos Chrome y vamos a Herrmientas -> Extensiones (o bien ponemos en la URL: chrome://extensions)

Una vez allí, nos vamos a la parte de abajo, y le damos donde dice "Obtener más extensiones", y buscamos la extensión en cuestión por wedo:

mBot

mBot trae su propia no funcionará con Scratch (ni versión 1 ni 2 , ya que para ello sería necesario tener instalados los plugins de