Novedades de TupperBot

¡Muy buenas compañeros!

Hace casi tres semanas que no doy novedades sobre ningún tema, peor no es que no las haya, sino que he estado trabajando en ellas.

He dedicado la mayoría de mi tiempo libre a TupperBot estos días, así que ha evolucionado, aunque no demasiado en su aspecto externo, pero si en los entresijos internos del sistema, mejoras en el protocolo de comunicación, cambios en la emisión de video, sensores de distancia, algún cambio de estructura en el soporte de la cámara, y un control Tilt han sido los principales puntos de trabajo de estos días.

El protocolo de comunicación que llevaba TupperBot hace unos días era muy sencillo:
·PC: Envía un código de Periférico. (1 byte)
·TB: Envía el comando de Periférico Recibido “P”. (1 byte)
·PC: Envía Dato para el periférico . (1 byte)
·TB: Envía el comando de Dato Recibido. (1 byte)

Este sistema de comunicación es muy lento y además es muy sensible a fallos en la comunicación, de modo que he actualizado el sistema interno de TB para que ahora el PC pueda enviar una cadena en la que se puedan actualizar todos los periféricos de un solo envió, es decir, ahora la cadena de comunicación será algo así:
·PC: Código Periférico + Dato + Código Periférico + Dato + … + Retorno (13 decimal, 0D hex. o “\r” )
·TB: Envía “OK”

Los cambios relativos a la emisión de video son algo mas vistosos… ya que la cámara me “abandonó” durante el concurso Madridbot 2007, he decidido cambiarla por un sistema algo mas estable:Transmisor de video
Nueva Cam

La imagen de la izquierda es el nuevo transmisor de video de TupperBot; este transmisor tiene un alcance algo mayor de 600m y está siendo bastante empleado en robótica como en el robot Joshua, de Andrés Prieto, en parte gracias a sus reducidas dimensiones y alto rendimiento. A la derecha la podemos ver la nueva cámara que he instalado, se trata de una cámara reciclada que da mejor calidad de imagen que la que empleaba antes y responde mucho mejor ante cambios de luz… aun así, sigue estando lejos de lo que necesito para usarla en mis sistemas de Visión artificial… la pasta es la pasta…

Los nuevos sensores de distancia instalados son diseño de Qukiyo y Melow15, está basado en el diseño de Ionitrón y tiene un alcance de unos 50cm. Aunque ya está instalado, aun no tiene un programa diseñado en el que se incluya su uso junto al del resto de periféricos de TB, pero tendrá uno en breve

Sensores de distancia

El cambio principal en la estructura ha sido en el soporte de la cámara, que ha pasado de ser de metacrilato reciclado a una escuadra metálica reciclada:

soporteSoporte montado

Con este nuevo soporte hay muchas menos vibraciones en cámara cuando se mueve, el metacrilato vibraba bastante cuando la cámara se fijaba en un nuevo punto.

El control Tilt que he instalado está basado en el Circuito ADXL322 que emplea también el robot Roobonova para mantener el equilibrio de forma dinámica. Este sensor se ha utilizado para que la cámara se mantenga fija en el punto deseado sea cual sea la inclinacion del robot. aun queda mucho que mejorar, pero empieza a tener buena pinta, os dejo una imagen del sensor, y un video de como empezó el sistema:

ADXL322

Control Tilt V.0.1

De momento estas son las novedades principales relativas a TupperBot, hay algunas en cuanto al software de control, pero son muy básicas:

Reducción del tiempo de espera entre envió de bytes.
Implementación de un sistema de control de la cámara con el ratón: es decir, he creado una zona en la que al mover el ratón, se mueve la cámara, esto permite manejar la cámara de un modo un poco mas intuitivo, y además es posible manejarla con un mando de la consola Wii, ya que este mando se conecta por Bluetooth al PC, y se puede usar uno de los múltiples programas de control, como el de este enlace, que te permiten manejar el ratón de tu PC.

Hasta aquí las novedades.

En breve habrá muchas más.

 

7 Responses to “Novedades de TupperBot”

  1. nunes Says:

    Muy bueno el control con el control de la cámara con el sensor de inclinación. La cámara la mantienes con un servo S30003 o similar ¿no? ¿vas a trabajar en controlar más ángulos de inclinación?

  2. Mif Says:

    Gracias Nunes.
    Efectivamente la camara esta soportada por dos futaba S3003 que hacen las funciones de Pan & Tilt, con el nuevo modelo de camara y el soporte metalico, las vibraciones en los serovs son minimas.
    De momento mi prioridad es mejorar ese sistema de estabilizacion, lo que pasa en primer lugar por aumentar la resolucion de los sevos, para lo que ya estoy trabajando con el TMR2, despues añadire un segundo grado de estabilización, aprovechando al maximo las posibilidades del ADXL322.

  3. Ranganok Schahzaman Says:

    Hola,
    Sobre el protocolo de comunicación yo te recomendaría que lo cambiaras por algo más robusto, por ejemplo:

    - PC: Comando | código de periférico | longitud de cadena | datos | Crc
    - TB: ACK/NACK | datos | Crc

    Donde COMANDO (1 byte), es un comando de atención (puede significar varias cosas aunque yo lo reduciría a lectura/escritura), CODIGO DE PERIFERICO (1 byte) es el periférico al cual te diriges, LONGITUD DE CADENA (1byte) es la longitud de los datos a enviar o a recibir, DATOS (n byte) son los datos a enviar y CRC (1 byte) es una suma de los bytes enviados o un crc8 de los mismos.

    De esta forma puedes corregir errores en la transmisión (muy importante si haces la programación via rádio).

    Para datos cortos (1byte) puedes cambiar el código de COMANDO y ahorrarte algunos bytes.

    S2

    Ranganok Schahzaman

  4. Mif Says:

    Jo, porque estas cosas no se pasan por la cabeza de uno cuando tiene el problema delante?
    Claro, mandando la longitud de la cadena voy a solucionar una enorme mayoria de errores que tengo ahora en la transmision, en especial cuando esta bajo de bateria…
    Aun asi, el tema que de verdad me preocupa es del programa en el PC… no lo tengo tan claro… seguire trabajando en ello.
    ¡Mil gracias Ranganok!

  5. Guillermo Says:

    Hola Mif!, 1ero q todo gracias por compartir tus conocimientos con todos nosotros, te kería hacer 1 preg. con respecto al ADXL322, si lo coloco horizntalmente y le doy vuelta, arroja valores de tensiones diferentes a 1.5V, en cualquiera de sus 2 salidas X o Y? es decir, hay alguna variación? porque me gustaría sensar el giro de una plataforma y no sé si este sensor me sirva. Porque me dá la impresión q sirve solo para medir inclinación, pero no estoy seguro :-s
    Saludos. :-)

  6. Guillermo Says:

    Creo que es importante acotar que también necesito controlar la inclinación de la misma, es decir, quiero estabilizar una plataforma aérea, tanto que no gire descontroladamente como que mantenga su horizontabilidad, esta última se puede lograr con este sensor, pero el giro también? obligatoriamente tengo que adquirir los acelerometros de 3 ejes? existe alguna otra alternativa?

    Saludos y gracias anticipadas nuevamente.

  7. Guillermo Says:

    Me constesto: estuve buscando y lo que me sirve como anillo al dedo es el ADXRS300, dependiendo de como lo monte sensará ese eje de giro, asi que compraré 3, quizás a otra persona le sirva esta información tmb ;-).
    Ví el video en el que te ganastes el premio y Felicitaciones, que bueno que tu esfuerzo fué gratamente recompensado.
    Saludos.

Leave a Reply