viernes, 23 de mayo de 2008

Simulador Pioneer


He estado programando el simulador del Pioneer, dicho robot es una plataforma avanzada de aprendizaje.

A continuación os dejaré el código de cómo hacer viajar el robot a través de un mundo de color blanco con paredes grises y una l línea roja en el suelo.

Después del salto os dejaré un par de vídeos y el código de cómo lo he hecho.

El algoritmo usado ...


Seguir Leyendo...


... para que viaje el robot es el siguiente:

La línea que debemos seguir tiene 3 tonalidades de rojo:

(251.000 7.000 7.000) - muy rojo
(251.000 49.000 49.000) - rojo
(252.000 73.000 73.000) - Menos rojo

Nuestro robot maneja 2 tipos de velocidades: v = velocidad lineal, y w = velocidad angular.

Usaremos solamente la cámara Web para posicionarnos.

Dicha cámara tiene una resolución de 240x320. La forma de almacenar los datos de la cámara Web, lo realiza a través de un
array monodimensional.

Nuestro array será de: 76.800 píxeles.
Para poder viajar solo necesitamos la última línea, así que solo cogeremos la última línea 76.800-320 =76.480.

Dividiremos nuestra última línea de 320 píxeles (que es la última línea), 3 partes.
Si la línea se encuentra en la parte central no haremos nada, si cruza a uno de las 2 partes exteriores, girara dependiendo si ve rojo claro, rojo normal o rojo oscuro.

En el caso que vea rojo oscuro no solo girara con más fuerza sino que la velocidad lineal se reducirá para que pueda girar.

Por último el algoritmo posee un sistema de recuperación, ya que si este pierde la línea, mirará que cantidad de rojos había en cada parte y así sabrá donde estaba la línea antes de perderse.







Código del simulador.


P.D.: Si pones mucha velocidad esto es lo que pasa:





Tags:

Ude

Eduardo Parada Pardo

Soy desarrollador e investigador en robótica, me gusta aprender nuevas tecnologías y todo lo relacionado con el mundo de la robótica. Si te gusta este blog, no dudes en preguntar cualquier duda.

0 comentarios:

 

Productos y tecnologias usadas en este blog:

  • Copyright © LuneGate™ is a registered trademark.
    Designed by Templateism. Hosted on Blogger Platform.