Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Controlador de persecución pura

Pure pursuit es un algoritmo de seguimiento de rutas. Calcula el comando de velocidad angular que mueve al robot desde su posición actual para llegar a algún punto de vista hacia delante frente al robot. La velocidad lineal se asume constante, por lo tanto, puede cambiar la velocidad lineal del robot en cualquier punto. A continuación, el algoritmo mueve el punto de vista hacia delante en la ruta en función de la posición actual del robot hasta el último punto de la ruta. Se puede pensar en esto como el robot constantemente persiguiendo un punto delante de él. La propiedad LookAheadDistance decide hasta qué punto se coloca el punto de búsqueda anticipada.

El objeto no es un controlador tradicional, pero actúa como un algoritmo de seguimiento para fines de seguimiento de ruta de acceso.controllerPurePursuit El controlador es único para una lista especificada de waypoints. Se pueden especificar las velocidades lineales y angulares máximas deseadas. Estas propiedades se determinan en función de las especificaciones del vehículo. Dada la pose (posición y orientación) del vehículo como entrada, el objeto se puede utilizar para calcular los comandos de velocidad escasa y angular para el robot. La forma en que el robot utiliza estos comandos depende del sistema que esté utilizando, así que considere cómo los robots pueden ejecutar un movimiento dados estos comandos. La última propiedad importante es la , que le dice al robot lo lejos que se encuentra en el camino hacia el que se dirige.LookAheadDistance Esta propiedad se explica con más detalle en una sección a continuación.

Sistema de coordenadas de referencia

Es importante comprender el marco de coordenadas de referencia utilizado por el algoritmo de persecución puro para sus entradas y salidas. La figura siguiente muestra el sistema de coordenadas de referencia. Los waypoints de entrada son coordenadas, que se utilizan para calcular los comandos de velocidad del robot.[x y] La pose del robot es la entrada como una pose y orientación (theta) lista de puntos como .[x y theta] Las direcciones positivas y direcciones están en las direcciones derecha y hacia arriba respectivamente (azul en la figura).xy El valor es la orientación angular del robot medida en sentido antihorario en radianes desde el eje (robot actualmente en radianes).thetax0

Mirar por delante de la distancia

La propiedad es la propiedad de ajuste principal para el controlador.LookAheadDistance La distancia de mirada hacia adelante es lo lejos a lo largo de la trayectoria que el robot debe mirar desde la ubicación actual para calcular los comandos de velocidad angular. La figura siguiente muestra el robot y el punto de vista hacia delante. Como se muestra en esta imagen, observe que la trayectoria real no coincide con la línea directa entre los waypoints.

El efecto de cambiar este parámetro puede cambiar la forma en que el robot rastrea el camino y hay dos objetivos principales: recuperar el camino y mantener el camino. Con el fin de recuperar rápidamente el camino entre los waypoints, un pequeño hará que su robot se mueva rápidamente hacia el camino.LookAheadDistance Sin embargo, como se puede ver en la figura de abajo, el robot excede el camino y oscila a lo largo de la ruta deseada. Con el fin de reducir las oscilaciones a lo largo del camino, se puede elegir una mayor distancia de mirada hacia adelante, sin embargo, podría resultar en curvaturas más grandes cerca de las esquinas.

La propiedad debe ajustarse para la aplicación y el sistema robot.LookAheadDistance Diferentes velocidades lineales y angulares también afectarán a esta respuesta y deben tenerse en cuenta para el controlador de ruta siguiente.

Limitaciones

Hay algunas limitaciones a tener en cuenta acerca de este algoritmo de búsqueda pura:

  • Como se muestra arriba, el controlador no puede seguir exactamente las trayectorias directas entre los waypoints. Los parámetros deben ajustarse para optimizar el rendimiento y converger a la ruta de acceso a lo largo del tiempo.

  • Este algoritmo de persecución pura no estabiliza al robot en un punto. En la aplicación, se debe aplicar un umbral de distancia para una ubicación de objetivo para detener el robot cerca del objetivo deseado.

Referencias

[1] Coulter, R. Implementation of the Pure Pursuit Path Tracking Algorithm. Carnegie Mellon University, Pittsburgh, Pennsylvania, Jan 1990.

Consulte también

|