Hemos apliado los comandos con los que trabaja la parte hardware, y reestructurado gran parte de las DLL para poder ir ampliandolas (repositorio), en breve publicaremos un diagrama de clases para un mejor entendimiento.
Novedades
Sobre un motor:
*00# Avanza el motor derecho
*01# Retrocede motor derecho
*02# Para motor derecho
*05# Velocidad max
*06# Velocidad media
*07# Velocidad min
Sobre el otro motor:
*10# Avanza motor derecho
*11# Retrocede motor derecho
*12# Para motor derecho
*15# Velocidad max
*16# Velocidad media
*17# Velocidad min
Para tener la información de los sensores:
*20# , como respuesta a éste mensaje se enviarán 3 bytes
El primer byte:
Sensores ultrasonido:
Bit 0: Lee Ultrasonido derecho
Bit 1: Lee Ultrasonido frontal
Bit 2: Lee Ultrasonido izquierdo
Sensores infrarrojo:
Bit 3: Siguelineas derecho
Bit 4: Siguelineas izquierdo
Bit 5: Infrarrojo inferior
Sensores volumétricos:
Bit 6: PIR
Byte 2: Encoder derecho cuenta
Byte 3: Encoder izquierdo cuenta
El pasado dia 17 de Abril se realizo la entrega de premios en Ciudad Real del I Concurso de SL de CLM, en el cual el proyecto ThoRo fue premiado con el de Mejor Idea Original,

Agracedecer a la organizacion por el premio y el trabajo realizado y felicitar por sus proyectos al resto de los premiados:
Articulos relacionados:
Aqui os publicamos el video de la version presentada en al
I Concurso de SL de CLM, asi vereis al principal desarrollador de la parte hardware, que no ha podido asistir por un operacion (esperamos que te mejores).
Os escribo in-situ, despues de haber realizado la presentacion y disfrutando de los talleres (Joomla, Seguridad, Xen, PyGames) que nos ha preparado la organizacion.
Dada la cantidad de mails que ultimamente con ganas e intenciones de unirse al proyecto nos vemos olbigados activar la lista de correo, para apuntarse simplente has de dirigirte a la siguiente direccion de correo:
https://forja.rediris.es/mailman/listinfo/csl2-thoro-commits
Para enviar informacion, preguntas, ideas, .... simplemente has de escribir a:
csl2-thoro-commits@forja.rediris.es
He aqui un pantallazo de la interfaz inicial que controla al ThoRo:

Simplemente comentar que no es lo mas importante la actual interfaz, si no las SDK, que dan el soporte para que cualquier persona con unos conocimientos minimos de programacion pueda realizar cualquier tipo de automatismo.
//Declaramos nuestro juegute
ThoRo robot = new ThoRo() ;
//Le enviamos las ordenes deseadas
robot.Go();
robot.Back();
robot.Right();
robot.Left();
Ya veis que con simples instrucciones como esas despues de haber agregado la libreria que se adjunta, podras tener a tus ordenes una maquina para "dominar el mundo", je , je , ...
En proximas versiones iremos ampliando las funcionalidades, parametrizandolas, y adaptandolas a nuestras/vuestras necesidades.
Os dejamos la primeras imagenes de la Beta inicial y como reacciona nuestro Thorete, en los proximos dias saldra la primera version de las SDK para un facil desarrollo del mismo
Esperamos que os guste. ¿¿Quien quiere uno ?? ;)
Aprovechando las posibilidades de virtualizacion, hemos creado una maquina virtual para VMWARE Server con todas las necesidades para trabajar en el proyecto, desde el entorno MonoDevelop, hasta un compilador de mips.
Se trata de una Debian SID, la password de root es "mono", asi podreis usarla para lo que querais, incluso como S.O. alternativo.
La podeis descargar aqui.
Os presentamos el esquema (a muy grandes rasgos) que estamos siguiendo en el desarrollo del proyecto
Y el protocolo de comunicacion elegido sera el mismo para la interfaz <--> core, que para el core <--> arduino. De esta forma simplificamos posibles malos entendidos, siendo este el siguiente:
* X Y #
- X es el numero de dispositivo al que enviar los dispositivos.
- Y dato enviado al dispositivo.
Todo comando estara seguido en modo respuesta por el receptor por un nuevo comando que asegurara la recepcion del mismo, en este caso "ACK"
Los primeros comando implantados son:
*00# Avanza el motor1
*01# Retrocede motor1
*10# Avanza motor2
*11# Retrocede motor2
Dado que para respetar la tercera ley de Asimov, hemos decido implementar la posibilidad de autocontrol, pudiendo en un determinado momento activar/desactivar el control remoto desde la interfaz.
*90# Activamos el telecontrol
*91# Desactivamos telecontrol
Estamos acostumbrados a compilar nuestro software contra sistemas x86, pero .... ¿que pasa cuando queremos ejecutar nuestro software en otras arquitecturas? Basicamente que con un mero cambio de compilador si hemos seguido las directivas POSIX, y poco mas podremo migrar nuestras aplicaciones al sistema que deseemos.
Por ejemplo dispositivos como la fonera, el Linksys WRT54GL, el ASUS WL500G, ...... poseen este tipo de procesador y si queremos compilar contra ellos solo tenemos que seguir los siguientes pasos tan sencillos:
Descargar:
cd /usr/src
mkdir openwrt
cd openwrt
wget http://downloads.openwrt.org/whiterussian/newest/OpenWrt-SDK-Linux-i686-1.tar.bz2
Descompirmirlo:
bzcat OpenWrt-SDK-Linux-i686-1.tar.bz2 | tar -xvf -
export PATH=$PATH:/usr/src/openwrt/OpenWrt-SDK-Linux-i686-1/staging_dir_mipsel/bin/
mips-linux-uclibc-gcc ejemplo.c -o ejemplo
Enhorabuena!!!! ya eres programador de MIPS.
ACTUALIZACION:
Todo lo anterior es valido para compilar para el WRT54GL, Asus WL500GX, ...... pero no para la fonera, dado que se ha de usar las siguientes SDK: http://download.fon.com/firmware/fonera/latest/fonera.tar.bz2 en vez de http://downloads.openwrt.org/whiterussian/newest/OpenWrt-SDK-Linux-i686-1.tar.bz2 , con esto ya podras compilar para el pequeño router.
Después de un mes de largo trabajo entre un grupo de personas elegido cuidadosamente para poder llegar al máximo numero posible de personas damos por finiquitada primera de muchas posteriores que hacemos uso de nuestros seleccionados .
Resumen de conclusiones:
- Distintos modos de trabajo:
- Totalmente independiente del ser humano.
- Controlado por el usuario (teledirigido).
- Modo "Aprende ............. con Thoro".
- Abierto para nuevas posibilidades.
- Debe de respetar las tres leyes de la robótica de Asimov
- Podrá ser usado por los niños pequeños, lo que implica pasar procesos de calidad (piezas pequeñas, resistencia, ..... )
- Abierto para una fácil programación por desarrolladores sin conocimientos de electrónica (SDK)
- Abierto para una fácil ampliación por electrónicos sin conocimientos de programación
- Que se ajuste lo mas posible a los estándares actuales especificados por IEEE, ISO, .....
- Totalmente modular, en caso de cambio requisitos que tenga una fácil adaptación a un nuevo modelo.
Aunque como digo la primera fase esta finalizada dado que nuestra metodologia de trabajo es SCRUM, cada mes esperamos revisar de nuevo y adaptar a los nuevos requisitos, por lo que todo lo que creais basico para la mejora del proyecto estamos totalmente abiertos a vuestras peticiones, ya que un proyecto abierto como este todas las ideas que nos indiques le daremos cabida en cuanto nos sea posible.
Arrancamos este nuevo Blog para ir publicando todos los desarrollos del Proyecto ThoRo, que esteis informados y participeis en el, bien desarrollando, bien jugando o simplemente dando ideas.
¿Que es ThoRo?
Thoro sera tu mascota el día de mañana, con la que podrás jugar, pasar el tiempo, hasta incluso traerte tu "refresco" favorito.
Se basa en un procesador MIPS, y gracias a su diseño totalmente modular se le podrán adaptar nuevas funcionalidades.
En su diseño primario se presentara directamente para uso, pero dada su estructura podremos desarrollar desde aplicaciones hasta su propia IA de una manera fácil y cómoda usando las SDK con las que se distribuirá.
Actualmente el proyecto lo componen tres miembros:
Pedro Redondo Perez (Electronica y MicroElectronica)
Jonas Talvera Gomez (Interfazes y Desarrollo)
Jose Carlos Temprado (Desarrollo y Core)
El desarrollo del mismo se licencia bajo GPL por lo que podrás contribuir desde el primer día a su mejora y adaptación a las necesidades de cada uno.
![]()

Toda la información acerca del proyecto la iremos publicando en LaBloguera.Net acompañada por la pagina de la forja donde se ira subiendo todo el código, documentación , ....
https://forja.rediris.es/projects/csl2-thoro/