Proyecto robot explorador arduino

Buenas tardes, este es mi primer post y espero que sean muchos mas :slight_smile:
Les cuento, hace como un mes que estoy trabajando en mi proyecto de un robot movil explorador con arduino, por el momento esta en lo basico; avanza y esquiva obstaculos con el sensor ultrasonico.

Quiero agregarle algunas cosas para aumentar la autonomia.
la primera es comunicacion; quiero que me informe de todo lo que acontesca mientras esta por la casa, el patio, etc. Pero no se como hacerlo,
habia pensado en un modulo bluetooth, pero tendria que tener bluetooth en el pc y no tengo.
lo otro seria modulos xbee, pero no se mucho como funcionan, en eso necesito un poco de ayuda.

luego de elegir una de esas opciones, quiero algo que creo que es muy ambicioso o complicado para mi pequeño robot, que es mapear o crear un mapa a medida que vaya explorando, nose si me exprese bien, basicamente lo que quiero es crear un mapa de acuerdo a la informacion que me envia el robot, el mapa se creara en el pc, puede ser con processing; algo asi como una imagen negra y al explorar ir aclarando por donde pasa el robot y dejando en negro los obstaculos, es basicamente eso lo que se me ocurre.

Que creen ustedes amigos, es muy complicado hacer eso?

Les posteare fotos del robot mientras voy avanzando :slight_smile:

Para mapear un entorno con un robot, necesitas saber en todo momento en que lugar se encuentra.
Para hacer esto en exteriores es "facil" mediante en GPS. Pero en interiores, al no poder usar gps la cosa se complica mucho.

Para hacer el mapeo en interiores tienes que basarte en la precisión del robot, lo que supone que cuanto mas grande sea el sitio, mas impreciso sera tu mapa, me explico:

Tu sabes que:
-si tu robot esta andando y avanza durante 1 segundo a velocidad 100 recorre 15 cm
-si tu robot esta parado y avanza 1 segundo a velocidad 100 recorre 5 cm

  • si tu robot esta a velocidad 50 y avanza 1 segundo a velocidad 100 recorre 10 cm
  • ...

pero si haces el mapeo así tendrás que confiar en la fiabilidad de los motores del robot y seguramente te saldrá un mapa que no es real. Aunque puede ser una buena aproximación a la realidad.

Otra técnica puede ser utilizar mediante una camara de video un sistema de vision por computador, pero para hacer esto es sumamente dificile, lo hacen equipos de muchas personas y normalmente en empresas/universidades. Aunque si tienes tiempo te puedes animar.

este seria el resultado: 3D outdoor mapping - YouTube

en cuento a la comunicación si usas bluethoo, en rango de vision son 20-30 metros de distancia, con obstáculos pues igual 10 metros. Igual es mejor que te pilles 2 modulos xbee de 100 metros por ejemplo, uno conectado al arduino y el otro al pc.

Genial!!! el video que pusiste es exactamente lo que tenia en mente, no tan 3D pero algo parecido.

Entonces dices que es muy dificil de implementar algo asi?
Quizas podria hacerlo a largo plazo, o como proyecto de titulo, estoi estudiando Mecatronica :slight_smile:

Sobre la cominicacion, al optar por xbee, tendria que comprar otro arduino y 2 modulos xbee, es decir; un xbee para el robot y el otro para el pc, que a su vez ira conectado a un arduino conectado al pc, o el xbee se conecta directo al pc? en eso no tengo mucha experiencia.

Gracias por tu respuesta, saludos.

Hola Skratch,

Tengo en mente un proyecto similar y es hacer una aspiradora automatica (vacuum cleaner).

Mi meta es usar el arduino sin tener ninguna memoria ni uso de ningún equipo anexo(computador), simplemente usar un sensor de proximidad(con un servo que pueda moverla en varios ángulos), sensor ir (para lograr llegar a una base de autocarga) y una brújula. Lo más sencillo posible para que sea autonomo.

Estoy evaluando lo primero: la programación, tengo en mente usar logica difusa para la navegación de los bordes y programación convencional para barrer todas las demás áreas.

Dime si te interesa y podemos desarrollar algo juntos

aca un sensor con buena resolucion
http://ar.mouser.com/new/vishay/vishay-VCNL3020/?utm_medium=email&utm_source=july2013&utm_campaign=cm-general&utm_content=lm2

Hola amigos, llevo solo unos dias con mi placa arduino y voy haciendo mis pinitos, pero muy simples.
mi idea era poder programar la placa arduino para que, gobierne una cortadora de cesped y me haga la siega de forma autonoma, el mecanismo de cortacesped ya lo tengo gobernado por rc, con una emisora de dos canales, dos motores de patinete y FUNCIONA ¡¡¡¡¡
ahora quisiera que lo hiciera de forma autonoma, sin guiarlo yo.......peeeeero no tengo ni idea de como programar la placa, necesitaria que el arduino le de una velociadad lenta para un buen segado y un sensor de proximidad que lo pare al llegar a un seto o pared, gire hacia atras un determinado angulo y siga su trayectoria hasta cubrir al 100% la superficie que le indiquemos , alguien me ayuda ????
en un principio que sea como los juguetes que llegan a la pared y giran,para seguir caminando seria suficiente, luego con un gps o cosa similar mostrarle la supercifie que debe segar.
seria un mecanismo similar a las aspiradoras inteligentes que recorren la casa limpiandola.
Muchas Gracias. un saludo. Luis