Diferencia entre revisiones de «Robot FlatBot»
(→Cliente básico para servidor (firmware) básico) |
(→Cliente básico para servidor (firmware) básico) |
||
Línea 91: | Línea 91: | ||
En windows tenemos el "hyperterminal"<br> | En windows tenemos el "hyperterminal"<br> | ||
Para que funcionen con el servidor básico tendremos que configurarlos a 9600, 8n1 y sin flujos de ningún tipocomo hemos explicado antes.<br> | Para que funcionen con el servidor básico tendremos que configurarlos a 9600, 8n1 y sin flujos de ningún tipocomo hemos explicado antes.<br> | ||
− | Los comandos a enviar son los descritos [[Robot_FlatBot]] | + | Los comandos a enviar son los descritos [[Robot_FlatBot:| FlatBot]]<br> |
=== Cliente básico para servidor (firmware) avanzado === | === Cliente básico para servidor (firmware) avanzado === |
Revisión del 06:12 30 jun 2008
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 la velocidad en +5 - -> decrementa la velocidad en -5 0..5 -> Diferentes valores de velocidad
- Comandos avanzados:
v -> Espera recibir tres dígitos indicando valor velocidad. Ej: v <'1'> <'8'> <'5'> Una vez recibidos los tres digitos devuelve un '.' V -> Espera a recibir un byte que indica la velocidad. Ej: V<61> 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
Descarga de archivos
Software PC (Cliente)
Cliente básico para servidor (firmware) 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 y sin flujos de ningún tipocomo hemos explicado antes.
Los comandos a enviar son los descritos FlatBot
Cliente básico para servidor (firmware) avanzado
Usaremos el mismo entorno que antes 'Cliente básico con servidor básico' salvo que ahora desde el terminal podremos mandar comandos de velocidad.
Además, para que el robot se empiece a mover, primero necesitamos indicar la velocidad. Eso lo podemos hacer mandando las teclas numéricas, '1', '2', ...
Los comandos a enviar son los descritos aquí.
Cliente Básico para servidor (firmware) básico
En este caso usaremos un programa en C# para mover el robot.
Este programa se comunica con el robot por el puerte serie y nosotros nos comunicaremos con el programa con el mando de la Wii.
Usamos el PAD del mando, no tiene implementado el control analógico.
- Ejemplo: Cliente para mando de la WII
Cliente avanzado para servidor (firmware) básico
Es una mejora del programa anterior, ahora usamos la información analógica para mover el robot, tenemos el control de velocidad en los motores.
- 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.
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, ya sea con un control básico todo o nada, o con un control avanzado que incluye velocidad variable.
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.
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 ;-)
Vídeos
- FlatBot controlado por el mando de la WII
- Movido por un portátil Asus Eee PC
- Transportando a Epi
- Llevando a Robosapiens v2
- Robosapiens v2 bailando encima de FlatBot
Autor
Licencia
![]() |
Más información
Créditos
Noticias
11/Jun/2008: Versión inicial de esta página