viernes, marzo 09, 2007

Colonia de robots: Prototipo (I)

En la entrada anterior comentaba los robots que me han dado la idea para hacer mi colonia de robots. A partir de aquí empiezo con las especificaciones del prototipo.

La idea es un robot sencillo que pueda interactuar con su entorno esto implica que la configuración básica del robot deberá poder detectar el entorno (parcialmente) y poder moverse por él. Dado que tiene que comportarse como una colonia, esto también implica poder comunicarse con otros de su espécie (otros robots). Por otro lado además cada robot estará diferenciado del resto mediante un sensor y/o un actuador.

Para cumplir con todas estas especificaciones decidí utilizar microcontroladores de Microchip (PIC16F877 en formato SMD o PIC16F628), dado que estoy con el prototipo y para ahorrar costes utilizaré el PIC16F628.

Así que las especificaciones del prototipo son las siguientes:
  • 1 PIC16F628 como CPU.
  • 3 Sensores de proximidad IR (CNY70) para detectar obstáculos y para comunicación a corta distáncia.
  • 1 Sensor de proximidad IR (CNY70) orientado hacia el suelo para detectar bordes (también puede servir para un siguelíneas básico).
  • 2 Motores DC para movimiento.
  • 2 Encóders diferenciales para Odometría.
Definimos el patillaje del PIC:
  • A0 - In - Entrada analógica (libre)
  • A1 - In - CNY70
  • A2 - In - CNY70
  • A3 - In - CNY70
  • A4 - Out - Open colector (libre) /Señalización
  • A5 - In - CNY70 (suelo)
  • A6 - Out - Motor2
  • A7 - Out - Motor1
  • B0 - In - Interrupcion (libre)
  • B1 - In - RS232 Rx (libre)
  • B2 - Out - RS232 Tx (libre)
  • B3 - Out - PWM (libre)
  • B4 - I/O - Entrada/Salida digital (libre)
  • B5 - Out - Enable de los CNY70 (Tx de datos IR)
  • B6 - In - Encoder1
  • B7 - In - Encoder2
Posteriormente más especificaciones y el esquema del prototipo.

S2

Ranganok Schahzaman

6 comentarios:

El Buen Salvaje dijo...

Ranganok, tú estás como una regadera ¿no?

Lo digo por lo de poner acento en "colónia", que no lleva acento.

Ranganok Schahzaman dijo...

¡Ups! cierto, lo puse rápido sin pasar por el corrector. Gracias por la corrección.

S2

Ranganok Schahzaman

gizer20 dijo...

Ragnarok me encanta la idea y es super interesante ya iras posteando y enseñando como queda la cosa

Ranganok Schahzaman dijo...

gizer20 en cuanto tenga tiempo posteo el esquemático y el primer prototipo de PCB.

S2

Ranganok Schahzaman

Sein Kraft dijo...

Sencillamente me gusta la indea de que interactuen entre ellos. Yo eh tratado de hacerlo en varias oportunidades para distintos dispositivos pero siempre eh llegado a un mismo problema "cuando sabe el pic cuando empezar a leer los datos que le lleguem mediante el ir?".
Pense varias veces en hacer como una dirreccion de catos que cuando se hace cierta secuencia el micro comience a leer para obtener la cadena completa pero ahi surgio otro problema "que pasaria si esa cadena se repite en el envio de datos?" en lo que a mi concierne es complicado y no eh podido descifrarlo.

Si lo logras pegame un mensaje.
Esta es mi web "www.seinkraft.com"

Ranganok Schahzaman dijo...

Sein Kraft, más o menos lo que he entendido de tu comentario es que no sabes cómo se sincronizan los robots entre ellos y que pasa si se envían datos repetidos.

Todo esto depende del protocolo de comunicaciones que utilices: si miras las capas de protocolo (http://es.wikipedia.org/wiki/Protocolo_de_red), verás que en la capa de enlace aseguras que las tramas no se vayan a repetir (o si se repiten el tratamiento que se les va a dar), y en la física estableces las características básicas de la transmisión (eléctricas, ...).

Por ejemplo yo podría diseñar un protocolo:
Capa física: vía radio FM a 433MHz, asíncrono, 9600bps, ...
Capa enlace: Control de flujo ACK/NACK, límite de transmisión 10 reintentos, tramas numeradas, ...
Capa de red: ...

Si vas siguiendo los links de la Wikipedia verás que puedes construir un protocolo tú mismo. De todas formas yo te recomiendo que mires alguno de los estándares y te bases en ellos.

S2

Ranganok Schahzaman