CASO DE ESTUDIO. GENERACIÓN DE TRAYECTORIAS SEGURAS
Contenido 1. Objetivos:... 1 2. Interfaz:... 1 3. Estructura Ackermann... 1 4. Pure Pursuit... 2 5. Aplicación al VEGO... 4 6. Implementación software... 5 1. Objetivos: El objetivo buscado en este escenario es conseguir que el vehículo siga la trayectoria fijada por el usuario. En el caso en el que se interponga un obstáculo en dicha trayectoria el vehículo deberá dar una señal de alerta y detenerse. 2. Interfaz: El usuario puede introducir los puntos de la trayectoria a través de un gráfico que muestre el vehículo y su entorno, como se muestra en la figura 1. Cuando se hace clic en el gráfico, se dibuja una trayectoria rectilínea hasta el punto. Interiormente el programa almacena las coordenadas de ese punto relativas al vehículo. Se pueden seguir introduciendo puntos en la trayectoria hasta que se pulse el botón de finalizar ruta. Los puntos seleccionados se almacenan en un array y serán utilizados para el cálculo de la dirección. Figura 1: Interfaz de selección de rutas 3. Estructura Ackermann Una estructura Ackermann es aquella formada por dos ruedas motrices en el eje trasero y dos ruedas direccionales en el delantero. Esta estructura es común a la mayoría de los vehículos de calle y es la que posee el VEGO. En un robot diferencial es sencillo definir una trayectoria puesto que gira sobre sí mismo y puede avanzar en cualquier dirección. En la estructura Ackermann, esta operación tiene más complejidad. 1
Se puede utilizar el modelo cinemático de la bicicleta para simplificar la estructura Ackermann. El modelo de la bicicleta simplifica las ruedas derecha e izquierda en dos ruedas situadas en la mitad de los ejes delantero y trasero como se muestra en la figura 2. Figura 2: Modelo cinemático de la bicicleta Se ha demostrado en varios estudios [1][2][3][4], que la estructura Ackermann puede aproximarse al modelo de la bicicleta sin introducir demasiados errores a velocidades bajas y con ángulos reducidos de giro. Si analizamos el modelo se observa que: Figura 3 Con un ángulo δ de la rueda delantera y una longitud L del vehículo, suponiendo que no hay deslizamiento, la rueda trasera circulará a lo largo de una circunferencia de radio R y centro el cruce entre la prolongación del eje delantero y del eje trasero. 4. Pure Pursuit El método de Pure Pursuit consiste en el cálculo de la curvatura de un arco que conecta el eje trasero con un punto del camino. 2
Figura 4: Representación del movimiento del modelo Si tomamos un punto cualquiera del camino (ver figura 4) y trazamos una línea desde la rueda central del eje trasero y el punto, esta formará un ángulo α con el vehículo. R es el radio del arco y l d es la distancia del eje trasero al punto. La curvatura del arco se puede calcular como: El seno de α se puede expresar también: siendo e ld la proyección de l d sobre el eje trasero Volviendo a la figura 3: igualando: ( ) De esta forma, el método de Pure Pursuit otorga una herramienta capaz de calcular el ángulo de giro del eje delantero para alcanzar una posición cualquiera definida por su distancia al eje trasero (e ld y l d ). 3
5. Aplicación al VEGO Se ha explicado como calcular el ángulo de la rueda central delantera para alcanzar un punto determinado. El problema es que el VEGO no tiene físicamente una rueda central sino que esta rueda es imaginaria desde el momento en el que se utiliza el modelo de la bicicleta. Hace falta una forma de conversión del ángulo de las ruedas laterales al ángulo de la rueda central imaginaria. β B δ α L R El ángulo de la rueda derecha queda despejado en función del valor del ángulo de la rueda central imaginaria y de una constante que depende de las dimensiones del vehículo. La variable a modificar en el vehículo para el giro de las ruedas son los pasos de encoder del motor del volante. Este motor puede variar su posición entre -400000 pasos y +400000 pasos, que corresponden con un ángulo de rueda de entre -25º y 32º respectivamente. De manera empírica se obtuvieron una serie de medidas del ángulo de la rueda derecha del VEGO para distintas posiciones del volante. Los resultados se muestran en la tabla 1. Pasos de encoder Angulo de rueda 400000 350000 300000 250000 200000 150000 100000 50000 32 28 25 17 15 9 6 3 4
Pasos de encoder -50000-100000 -150000-200000 -250000-300000 -350000-400000 Angulo de rueda -3-5 -9-12 -15-19 -22-25 Tabla 1: Relación entre pasos de encoder del volante y ángulo de las ruedas Con estos datos se creó una nube de puntos y se aproximó a una recta, un polinomio de 2º grado y un polinomio de 3 er grado. Los resultados obtenidos aparecen en la figura 5. y = 14228x - 20923 R² = 0,9904 Millares 500 400 300 200 100 0-40 -20-100 0 20 40-200 -300-400 -500 y = -70,85x 2 + 14698x - 663,52 R² = 0,9969 Pasos Lineal Polinomio grado 2 Polinomio grado 3 y = -1,8635x 3-53,058x 2 + 15689x - 2944 R² = 0,9978 Figura 5: Líneas de tendencia Se observa que apenas hay diferencia de error entre el polinomio de 2º grado y el de 3 er grado. Se decidió utilizar la aproximación al polinomio de 2º grado por simplicidad. 6. Implementación software El método del Pure Pursuit se ha implementado en el crio para calcular la posición del volante necesaria para alcanzar un objetivo. Para ello, se han creado algunas funciones en LabVIEW que realizan algunos de los cálculos matemáticos explicados anteriormente. Calculate distance to point: Esta función calcula la distancia, lateral y directa, desde el eje central del vehículo a un punto dado por sus coordenadas x-y. Transform byke-ackermann angle: Realiza los cálculos matemáticos para obtener el ángulo necesario para la rueda derecha e izquierda para un ángulo de la rueda central. El método queda implementado en LabVIEW como se muestra en la figura 6. 5
Cálculo del ángulo de la rueda central Estimación de los pasos de encoder Figura 6: Código implementado en LabVIEW 7. Bibliografía [1] Thomas D. Gillespie. Fundamentals of Vehicle Dynamics Society of Automotive Engineers, 1992. Chapter 6: Steady-State Cornering [2] Stefan F. Campbell. Steering control of an autonomous ground vehicle with application to the DARPA urban challenge. Master s thesis, Massachusetts Institute of Technology, 2007. [3] A. De Luca, G.Oriolo, and C. Samson. Feedback control of a nonholonomic car-like robot. In Robot Motion Planning and Control, pages 171 249. 1998. [4] Rajesh Rajamani. Vehicle Dynamics and Control. Spinger, 2006. 6