Construcción de mapas (parte I)

Ya estoy de vuelta,

después de una larga temporada sin escribir en este foro vuelvo para compartir mis nuevos logros en el campo de la robótica.

En este caso os muestro la práctica en la que me encuentro trabajando: contrucción de mapas a través de la interpretación de la información recibida del laser.

Lo que en un principio parece sencillo se complica cuando se quiere afinar el diseño.

En nuestro caso, lo que vamos a intentar es interpretar las 180 distancias recibidas del laser (una por cada grado), de forma que si es esta es menor de 7500 (realmente el laser llega hasta los 8000)  sabemos que existe un obstáculo.

La primera mejora es ir interpretando los puntos para agruparlos en segmentos, de manera que evitamos almacenar mucha información. Para cada segmento tan solo necesitaremos un punto inicial y otro final.

Tras conseguir realizar un escaneado de todos los puntos y agruparlos por segmentos, almacenándolos en la memoria, tendremos que volver a realizar otra pasada, pero en este caso, cada vez que se detecte un segmento comprobaremos si existe ya en memoria. Puede ocurrir que se detecte el mismo segmento (el robot no se ha movido), o bien que se pueda fusionar con alguno los que están en memoria.

En la siguiente imagen podéis ver cómo se interpretan los 180 puntos, construyendo 8 segmentos.

fusion2

Ahora tendremos que implementar un procedimiento que elimine los segmentos de memoria no válidos. Estos se detectan en el caso de que el segmento formado entre la posició del robot y el punto interpretado intersecte con alguno de los almacenados en memoria.

Un saludo!

Anuncios