Semana 44-46. Solución de referencia y vídeo demo para el ejercicio Amazon Warehouse
En estas semanas he terminado de implementar la solución de referencia y he montado el vídeo demo del ejercicio Amazon Warehouse.
Primera versión de la solución de referencia
La misión del robot es traer el primer pallet (siguiendo el orden de izquierda a derecha) a la ubicación inicial del robot, es decir, coordenadas (0, 0) en Gazebo. En primer lugar, aplico una erosión en la imagen para engordar los bordes de los obstáculos, luego genero la ruta óptima utilizando la librería OMPL definiendo los pixeles negros como estados de espacio no válidos y dicha ruta será la ruta tanto de ida como de vuelta. Una vez colocado debajo del pallet, el robot primero se alinea con el borde largo del pallet y luego lo eleva.
Mejora
En la primera versión, la erosión de la imagen se ha hecho únicamente teniendo en cuenta el tamaño del robot, de modo que a la vuelta cuando tiene el pallet cargado puede caer en el caso de que en el camino generado inicialmente sea demasiado estrecho, por ejemplo en el caso de que el robot tenga que mover el cuarto pallet la ruta más corta sería la siguiente:
Y al transladar el cuarto pallet chocaría con el tercero. Por lo tanto, en la versión mejorada el robot tras cargar el pallet recalcula una nueva ruta engordando aún más los bordes de los obstáculos para que el pallet no choque contra ellos, esto implica cambiar la condición del comprobador del espacio de estados definiendo manualmente todo el area del cuarto pallet como espacio libre. Ahora, el robot define como estados no válidos los pixeles negros excluyendo la zona naranja de la siguiente imagen:
Y la ruta que el robot debería de seguir a la vuelta sería:
A continuación, se muestra un vídeo demo con la solución de referencia mejorada: