Semana 47-50. Añadiendo restricción de movimiento a la solución de referencia del ejercicio Amazon Warehouse
En la solución de referencia anterior para evitar colisiones lo que se hace es engordar los bordes de los obstáculos, sin embargo, esta solución se ve muy limitada cuando el robot tiene cargado algún pallet o estantería con geometría alargada. Por lo tanto, en estas semanas lo que he estado haciendo es intentar generar una ruta de navegación que tenga en cuenta la geometría del robot y sus restricciones de movimiento.
Una de las formas que he encontrado de definir la malla del robot en el problema es mediante la clase “app” que tiene OMPL, con las funciones setRobotMesh y setEnviromentMesh se puede indicar el archivo .dae del robot y del mundo y de esta forma definir el espacio de estados.
Hay que tener en cuenta que nuestro robot no tiene movimientos laterales, por lo que en el caso de que se quisiera completar la ruta mostrada en el vídeo anterior, en ciertos momentos el robot se ve obligado a dejar la estantería, alinearse hacia una dirección en la que le permita seguir la ruta planificada y volver a cargar la estantería. Con la intención de reducir la complejidad que implica todos estos pasos, la siguiente tarea es añadir las restricciones de movimiento. A continuación muestro algunas pruebas que he estado haciendo:
- Coche cinemático siendo el lado corto la parte frontal
- Coche cinemático siendo el lado largo la parte frontal
- Movimientos aproximados al robot amazon