Diferencia entre revisiones de «Robot FlatBot»

De WikiRobotics
Saltar a: navegación, buscar
(Firmware (Servidor))
(Servidor avanzado)
Línea 48: Línea 48:
 
* Comandos basicos del servidor:
 
* Comandos basicos del servidor:
  
 +
<pre>
 
q  -> Adelante
 
q  -> Adelante
 
a  -> Atras
 
a  -> Atras
Línea 54: Línea 55:
 
' ' -> parar
 
' ' -> parar
  
/*  +  -> incrementa velocidad en +5       */
+
+  -> incrementa velocidad en +5
/*  -  -> decremente velocidad en -5       */
+
-  -> decremente velocidad en -5
/*                                          */
+
 
/* 0..5 -> Diferentes valores de velocidad */
+
0..5 -> Diferentes valores de velocidad
/*                                          */
+
</pre>
 +
 
 
/* Comandos avanzados:                      */
 
/* Comandos avanzados:                      */
 
/* -------------------                      */
 
/* -------------------                      */

Revisión del 16:20 28 jun 2008

Portátil encima del FlatBot
Vista superior
Vista inferior

Introducción

El robot FlatBot es una plataforma móvil sencilla que ofrece una superficie plana lo suficientemente grande como para poder transportar objetos de hasta 3 o 4 kilos. Por eso es ideal para poner ruedas a un ordenador portátil. La plataforma lleva incorporada una electrónica que la hace autónoma, es decir, no necesita un PC para que se mueva, aunque si se dispone de éste se podrán hacer aplicaciones de alto nivel.

Descripción

FlaBot se puede considerar como una evolución de la mecánica del robot Skybot, ya que la electronica de control es compatible entre los dos robots al igual que el software.
La diferencia, como hemos dicho, reside en la estructura mecánica, que ahora permite transportar un PC encima como se puede ver en las fotos.

Mecánica (POR ESCRIBIR)

  • Poner el plano

Hardware (POR ESCRIBIR)

  • PIC16f876A
  • USB
  • L293B
  • Motores
  • Sensor ultrasonidos

Firmware (Servidor)

El Firmware es el software que está grabado en el PIC16F876A.

Servidor básico

Se trata de un programa que permite mover el robot mandando caracteres ASCII por el puerto serie.
Por lo tanto, necesitaremos un cliente (PC), que disponga de un terminal de comunicaciones, por ejemplo el "Minicom" en Linux o el Hyperterminal en Windows.
Los parámetros de la comunicación son: 9600 baudios, 8 bits de datos, 1 bit de stop y sin paridad. Es decir 9600, 8n1
Los comandos son:

  • q -> adelante
  • a -> atras
  • o -> izquierda
  • p -> derecha
  • (espacio) -> parar


En esta página podrá encontrar el programa sci_menu.c que implementa lo anterior.

Servidor avanzado

Se ha ampliado el programa anterior para añadirle funciones de PWM. Es decir de control de velocidad en los motores. Dado que el controlador utiliza el PIC16f876a se usarán las unidades de PWM internas del micro.
Esas unidades se encargan de generar las señales de PWM de forma automática y permite que nuestro programa se dedique a otras cosa. Como inconveniente diremos que los bit de ON/OFF de los motores se han cableado al Puerto C debido a que ahí residen los pines de salida del PWM.

Los comandos del servidor son:

  • Comandos basicos del servidor:
q  -> Adelante
a  -> Atras
o  -> izquierda
p  -> derecha
' ' -> parar

+  -> incrementa velocidad en +5
-  -> decremente velocidad en -5

0..5 -> Diferentes valores de velocidad

/* Comandos avanzados: */ /* ------------------- */ /* v -> Espera recibir tres dígitos indi- */ /* cando valor velocidad. */ /* Ej: v'155' */ /* Una vez recibidos los tres digitos*/ /* devuelve un '.' */ /* */ /* V -> Espera a recibir un byte que */ /* indica la velocidad. Ej: V61 */ /* Una vez recibido el valor devuelve*/ /* un '.' */ /* */ /* b -> Espera a recibir dos bytes que */ /* indican la velocidad de cada motor*/ /* primer byte = motor_1 */ /* segundo_byte = motor_2 */ /* Una vez recibidos los dos bytes */ /* devuelve un '.' */ /* */ /* Comando PING */ /* ------------ */ /* i -> Responde I (para probar conexion */ /* */ /********************************************/

Software PC (Cliente)

Cliente básico

El cliente básico por excelencia es cualquier programa terminal de puerto serie.
En Linux tenemos el "minicom" o el "gtkterm"
En windows tenemos el "hyperterminal"
Para que funcionen con el servidor básico tendremos que configurarlos a 9600, 8n1 como hemos explicado antes.

Cliente avanzado

  • Ejemplo: Cliente para mando de la WII

Aplicaciones

Ordenador portátil móvil

El FlatBot se ha diseñado para colocar encima de él un ordenador portátil y dotar al robot de una alta capacidad de proceso. Por lo tanto, podremos crear un número de aplicaciones casi infinitas.

Una de las configuración más exitosa es un FlatBot controlado por un portátil ASUS Eee como se puede ver en la foto y video de abajo.
En la tercera sesión del Taller FlatBot se controla el robot usando una WEBCAM (interna o externa), la aplicación de ejemplo es hacer que el robot siga un objeto caracterizado por su color.

FlatBot con un portátil Asus Eee encima
300|250</youtube>

Control con el mando de la wii

Usando la comunicación bluetooth con un portátil (con Bluetooth) podemos controlar a FlatBot usando el mando de la wii.

300|250</youtube>

Base móvil para colocar objetos

El FlatBot es ideal para usarlo como una base móvil controlada desde un ordenador. Encima se pueden colocar diferentes objetos. Por ejemplo a Epi. Está sujeto a FlatBot mediante velcro.

Epi encima del FlatBot
300|250</youtube>

En otra de las pruebas hemos colocado un roboSapiens v2, que tiene un peros de 4.3 Kilos. También está agarrado con velcro a la superficie de FlatBot.

300|250</youtube> 300|250</youtube>

También se puede colocar una papelera encima y convertirla en una canasta móvil ;-)

Robosapiens v2 encima del FlatBot
Una papelera móvil

Vídeos

Autor

Licencia

Cc logo.png This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 Spain License.

Más información

Créditos

Noticias

11/Jun/2008: Versión inicial de esta página