User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
roboticamovil [2019/02/22 19:57]
jpirmz
roboticamovil [2020/03/09 21:58] (current)
jpirmz
Line 1: Line 1:
 ==== Robótica Móvil === ==== Robótica Móvil ===
  
-**AVISO Curso licenciatura:​ no habrá sesión el 1-mar-2019. Curso maestría: no hay sesión del 28-feb-2019.**+=== Tarea ===
  
-[[https://www.dropbox.com/​s/​hejkjy0mpgf8gb5/​RoboticaMovilMIE.pdf?​dl=0|Temario y criterios de evaluación (Maestría)]]+Entrega19/mar/2020
  
-[[https://​www.dropbox.com/​s/​1je2w0u2zvfd528/​RoboticaMovil.pdf?​dl=0|Temario y criterios de evaluación (Licenciatura)]]+Código en Python para que el robot Pioneer 3dx dentro del simulador CoppeliaSim siga una trayectoria definida por puntos (x,y) almacenados en un 
 +archivo de texto, un punto por línea, separando X e Y por un espacio. 
 + 
 +Ejemplo de archivo 
 + 
 +<​code>​ 
 +0 0 
 +1 2.3 
 +2 4.5 
 +3 5 
 +</​code>​ 
 + 
 + 
 +Se debe generar una trayectoria con b-splines, calculando que el tiempo total de ejecución dependa de la distancia entre el punto inicial y el final de la trayectoria (permitir 5 segundos por metro entre el inicio y el fin de la trayectoria). 
 +Adicionalmente,​ el robot debe intentar esquivar obstáculos utilizando sus sensores ultrasónicos en caso de no poder ejecutar limpiamente la trayectoria. 
 + 
 +[[https://​www.dropbox.com/​sh/​tmdjki8iqnjascj/​AABaaegpZtHdmbvIjoiSFM9Ba?​dl=0|Convocatoria Concurso de Robótica UAQ]] 
 + 
 +[[https://​www.dropbox.com/​s/​sewlfcrbaowe11w/​RoboticaMovil.pdf?​dl=0|Temario y criterios de evaluación (Licenciatura)]] 
 + 
 +=== Aviso: No habrá sesión presencial el 30/01/2020 === 
 + 
 +Ejercicio para el 30/01: modificar el código de trajectory.m para obtener el movimiento de dos marcos de referencia. 
 + 
 +Descripción 
 + 
 +Considere tres marcos de referencia en el plano (2D): {W} es el mundo, {B} es un robot omnidireccional (puede moverse en cualquier dirección y rotar sobre su eje) y {C} es un sensor ultrasónico. 
 + 
 +El origen de {B} coincide con el centro de rotación del robot, y el eje $^B X$ apunta hacia el frente del robot. El sensor se encuentra en la parte frontal derecha del robot, de modo que las coordenadas de su origen expresadas en {B} son $^B p = [0.5 ~~ -0.3]^T$. El sensor ultrasónico en cuestión apunta hacia la derecha del robot, por lo que el ángulo entre {B} y {C} es $\theta = -\pi/2$. 
 + 
 +Escriba un programa en MATLAB, con el toolbox RVC de Peter Corke, que obtenga las trayectorias de posición, velocidad y aceleración basadas en polinomios de quinto orden para el robot y para su sensor. Solamente genere las trayectorias del robot, y obtenga las del sensor respecto a {W} aplicando transformaciones homogéneas. Las únicas restricciones de la trayectoria son (a) que trace un hexágono y (b) que durante el recorrido desde su origen hasta su destino, el robot realice una rotación total sobre su eje de $2 \pi$. 
 + 
 +Almacene las posiciones y orientaciones del robot y sensor como transformaciones homogéneas en SE(2) y cree una animación del movimiento. 
 + 
 +{{ :​ejercicio.png?​400 |}} 
 + 
 +=== Información útil para el curso ===
  
 Herramientas de robótica, visión y control de Peter Corke [[http://​petercorke.com/​wordpress/​toolboxes/​robotics-toolbox|RVC toolbox]] Herramientas de robótica, visión y control de Peter Corke [[http://​petercorke.com/​wordpress/​toolboxes/​robotics-toolbox|RVC toolbox]]
  
-  * Simulador V-REP (utilizar la edición pro EDU para el curso) [[http://​www.coppeliarobotics.com/​downloads.html|V-REP]] +  * Simulador ​Coppelia Sim (antes ​V-REP(utilizar la edición pro EDU para el curso) [[http://​www.coppeliarobotics.com/​downloads| ​Coppelia Sim]] 
-  * [[http://​www.coppeliarobotics.com/​helpFiles/​en/​remoteApiFunctionsPython.htm#​simxGetObjectPosition|API remota para Python de V-REP]] +  * [[http://​www.coppeliarobotics.com/​helpFiles/​en/​remoteApiFunctionsPython.htmn|API remota para Python de CoppeliaSim]] 
-  * [[http://​www.coppeliarobotics.com/​helpFiles/​en/​remoteApiConstants.htm#​operationModes| Constantes para la API remota de V-REP ]]+  * [[http://​www.coppeliarobotics.com/​helpFiles/​en/​remoteApiConstants.htm| Constantes para la API remota de CoppeliaSim ​]]
  
 Distribución de Python Anaconda [[https://​www.anaconda.com/​download|Anaconda]] Distribución de Python Anaconda [[https://​www.anaconda.com/​download|Anaconda]]
Line 23: Line 59:
 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. 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 doi: 10.1109/​100.388294
 +
 +Para exploración con robot terrestre, revisar:
 +https://​www.dropbox.com/​s/​3wanjixn6jj69al/​yamauchi.pdf?​dl=0
 +
 +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 ​
 +