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)

Entrega: 29 de marzo antes de las 23:59.

  • Implementación del algoritmo “bug” para buscar fuentes, con el robot Pioneer p3dx.
  • La ubicación de la fuente se definirá en las variables xf, yf dentro de su código.
  • Utilizar los sensores ultrasónicos para rodear los obstáculos en el camino del robot.
  • Crear una rejilla de ocupación con resolución de 0.25×0.25m^2 por celda que cubra todo un escenario de 10x10m^2.
  • Utilizar los sensores ultrasónicos para actualizar el contenido de las celdas de la rejilla de ocupación, mientras el robot intenta llegar a su destino.
  • Un programa en Python por equipo.
  • El programa será probado por el profesor en un escenario de 10x10m2 en V-REP, sin mostrárselo a los estudiantes.

Enviar un archivo .py por equipo, con el nombre NombreEquipoTarea2.py 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)

Tarea 2 (Maestría)

Entrega: 25 de marzo antes de las 23:59.

  • Implementación del algoritmo “bug” para buscar fuentes, con el robot Pioneer p3dx.
  • La ubicación de la fuente se definirá en las variables xf, yf dentro de su código.
  • Utilizar los sensores ultrasónicos para rodear los obstáculos en el camino del robot.
  • Crear una rejilla de ocupación (probabilística) con resolución de 0.25×0.25m^2 por celda que cubra todo un escenario de 10x10m^2.
  • Utilizar los sensores ultrasónicos para actualizar el contenido de las celdas de la rejilla de ocupación, mientras el robot intenta llegar a su destino. Asuma un modelo de sensor con probabilidad de falso positivo de 0.01 en todo el rango de 0 a 1m, y falso negativo también de 0.01. En caso de detección, no agregue ruido a la medición.
  • Utilizando matplotlib, pygame o cualquier otra alternativa disponible en la distribución Anaconda, cree una visualización de la rejilla de ocupación, preferentemente en (casi) tiempo real.
  • Un programa en Python por persona.
  • El programa será probado por el profesor en un escenario de 10x10m2 en V-REP, sin mostrárselo a los estudiantes.

Enviar un archivo .py por equipo, con el nombre ApellidosNombresTarea2.py a este enlace.

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