User Tools


This is an old revision of the document!


Robótica Móvil

Tarea 1 (Licenciatura)

Calificaciones por equipo (Es un libro de Excel, una calificación por cada hoja o pestaña)

Tarea 2 (Licenciatura)

Calificaciones por equipo (Es un libro de Excel, una calificación por cada hoja o pestaña)

Tarea 3 (Licenciatura)

Entrega: 12 de abril antes de las 23:59.

  • Se utilizará un robot Pioneer p3dx en V-REP.
  • El programa debe cargar un mapa en forma de rejilla de ocupación, y enviar a un robot desde su ubicación inicial en una simulación de V-REP hasta un destino especificado por el usuario.
  • El mapa a cargar será una rejilla de ocupación con resolución de 0.25×0.25m^2 por celda que cubra todo un escenario de 15x15m^2.
  • El mapa que se utilizará para evaluar su programaserá creado por el profesor con el comando savetxt, del módulo numpy, con el nombre “map.txt”.
  • La ubicación del destino se definirá en las variables xf, yf dentro de su código. Esta ubicación estará dada en metros, dentro del mundo de la simulación.
  • Es importante que el robot NO colisione con los obstáculos, se le dará un peso especial a este aspecto en la calificación.
  • Si se especifica una ubicación de destino que se encuentre dentro de un obstáculo, que esté demasiado cerca de un obstáculo o si no existe una ruta entre origen y destino, el programa debe reportarlo y no enviar al robot.
  • Se considerarán la longitud de la ruta creada y la distancia recorrida por el robot como aspectos a evaluar. Longitudes de ruta mayores a la más corta se penalizarán, también ejecuciones de trayectoria inexactas por parte del robot.
  • Un programa en Python por equipo.
  • El programa será probado por el profesor en un escenario de 15x15m2 en V-REP, sin mostrárselo a los estudiantes.
  • Si su programa requiere ser dividido en varios archivos de Python, dele el nombre de main.py al archivo principal.

Enviar un archivo .zip por equipo que contenga todas las partes de su programa, con el nombre NombreEquipoTarea3.zip a este enlace.

Tarea 1 (Maestría)

Calificaciones por NUA (Es un libro de Excel, una calificación por cada hoja o pestaña)

Tarea 2 (Maestría)

Calificaciones por NUA (Es un libro de Excel, una calificación por cada hoja o pestaña)

Proyecto Final (Maestría)

  • Crear un mundo de 15x15m2 de manera programática, con muros perimetrales (fuera del área de 15×15) y obstáculos cilíndricos.
  • Generar un roadmap probabilístico para cubrir el espacio de configuración libre.
  • Implementar una búsqueda en grafo para hallar una ruta entre cualquier configuración inicial y meta.
  • Enviar a un robot Pioneer 3dx sin colisionar, desde su qInicial a su qMeta.
  • Mientras el robot viaja de qInicial a qMeta, generar una rejilla de ocupación de 60×60 y desplegarla al final del recorrido. Además, almacenarla en formato de texto con la función numpy.savetxt().
  • Los obstáculos serán especificados por el usuario en un archivo de texto, una línea por obstáculo, separando con espacios: posx posy radio.
  • El programa debe, al final, graficar el espacio de configuración y el roadmap generado (dibujar los nodos y aristas del grafo).
  • Para la entrega, debe enviar el código en Python y un reporte en PDF (enlace para el envío disponible próximamente).
  • Fecha de entrega: 12 de abril de 2019, límite a las 23:59hrs.

Información útil para el curso

Herramientas de robótica, visión y control de Peter Corke RVC toolbox

Distribución de Python Anaconda Anaconda

Repositorio con muestras del código del curso GitHub RoboticaMovil

Proveedor de un kit útil para el curso LABESA Nota: no es obligatorio adquirir los materiales con este proveedor, solo es una opción conveniente y a precio razonable.

Para el análisis de estabilidad de un controlador de robots con propulsión diferencial, revisar:

M. Aicardi, G. Casalino, A. Bicchi and A. Balestrino, “Closed loop steering of unicycle like vehicles via Lyapunov techniques,” in IEEE Robotics & Automation Magazine, vol. 2, no. 1, pp. 27-35, March 1995. doi: 10.1109/100.388294

Algoritmo de Dijkstra interactivo https://www-m9.ma.tum.de/graph-algorithms/spp-dijkstra/index_en.html

Algoritmo A* interactivo https://www-m9.ma.tum.de/graph-algorithms/spp-a-star/index_en.html