Proyecto
robotico
Este ambicioso proyecto de un robot autonomo me
obliga a conjugar la programacion en asembler ,Delphi y diseño electrónico ya que he
evitado en todo lo posible el copiar otros diseños . Esto me ha exigido el leer mucho, lo
cual es bueno, y a pensar muchisimo para resolver los problemas que me voy encontrando..
lo cual no se si es bueno ya que me queda poco pelo.
En los planteamientos de la estructura del robot el mayor temor que he tenido ha sido a
quedarme pobre de recursos, no solo economicos, de capacidad y velocidad de proceso. Desde
el principio ya planteé el robot con sus capacidades de habla y escucha y con la mayor
cantidad de sensores posibles para que sea capaz de desenvolverse en un entorno
desconocido .. y no raye las puertas de madera de las habitaciones.
Antes de tocar ningun tornillo ni soldar nada tube que comprobar mi capacidad para
hacer un programa de PC capaz de escuchar ..analizar las palabras y dar una respuesta
hablando y escuchando en español.
Esta respuesta puede ser hablar o enviar ordenes a los motores, también este PC debe
recibir datos continuos de sensores para saber los estados del entorno del robot y ser
capaz de hacer inferencia con los procesos inferiores.
Aplico la vieja máxima de dividir los problemas, utilizo un micro PIC de control de
motores, otro a los sensores y un tercero que une todo: notores,sensores y PC. de esta
forma aislo los problemas inerentes de cada trabajo pero me obliga a una comunicación
continua entre ellos protocolizada de alguna manera y fiable además de rápida ya que
cuando todo está en movimiento el flujo de datos entre todos es abundante.
He procurado simplificar todo lo posible, he evitado grandes protocolos y circuitos
sofisticados con componentes exóticos.

A cada microprocesador le
he puesto un nombre, dado que me he embarcado en esta aventura los he bautizado con
nombres marineros.
El "comandante"
es un PC con una placa VIA Epia miniITX muy pequeña metida en una caja que la alimenta a
12 V. ,esta placa lleva un soft que se encarga de la comunicación con el
"navegante" vía puerto serie, de la escucha y habla y tambien un servidor
telnet por el que podemos conectarnos de dos modos :comandos telnet y mediante un
programa de gestión remoto resolviendo con los datos que le llegan del "sonar"
y enviando ordenes a "maquinas" con los movimientos.
El "navegante" es el
encargado de la inteligencia inferior o de supervivencia, tiene a su cargo el llevar a
buen puerto el robot y saber ejecutar las ordenes del "comandante"
"Sonar" está siempre
escuchando, tiene a su cargo seis sensores ultrasónicos SFR04 y seis bumpers de
colisión ,informando al navegante en valoras absolutos de distancia .
Cuando hay que moverse es el
"maquinista" el responsable de activar los motores con sentido de marcha
,velocidad y giros apoyado con la rueda trasera de timón.
Una de las mayores ventajas de la división del trabajo es que cada microprocesador
esta especializado y sobre todo recibe comandos de alto nivel, así si hay que moverse el
"navegante" le envía el comando de "adelante" al maquinista y este
arranca motores asegurando el sentido de marcha .. si le decimos "derecha"
varía las relacciones de velocidad de las ruedas y ajusta la rueda de dirección en el
sentido correcto a la dirección de marcha. De este modo todas las ordenes desde el
comandante al maquinista se hacen por comandos y cada elemento sabe lo que tiene que hacer
compartiendo la carga de trabajo ..... y complicandome la vida a mi ..pero es parte de la
diversión
Estoy ,como te puedes imaginar, continuamente retocando
y mejorando el robot así que todo esto es provisional. Por cierto .... le he puesto de nombre Marcelo...
lo reconoce muy bien el sistema de voz .

Todo este sistema de robot no es un kit, no hay placas de circuito impreso ni
listados de componentes. En esta página aporto la forma que se han resuelto
problemas y como he diseñado el robot contando con los elementos de que
disponía.
Para cualquier consulta utiliza el foro

Jose Ramón Hernandez
Actualizado el
16 septiembre, 2008