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 puro

PurePursuit es un algoritmo de seguimiento de ruta. Calcula el comando de velocidad angular que mueve el robot desde su posición actual para llegar a algún punto de mirada hacia adelante en frente del robot. La velocidad lineal se asume constante, por lo tanto se puede cambiar la velocidad lineal del robot en cualquier punto. A continuación, el algoritmo mueve el punto de mira 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 en frente de ella. La propiedad LookAheadDistance decide hasta dónde se coloca el punto de mirada anticipada.

La clase () no es un controlador tradicional, sino que actúa como un algoritmo de seguimiento para los siguientes propósitos de la ruta.PurePursuitrobotics.PurePursuit En el, se crea un controlador y se especifica una lista de waypoints.Robotics System Toolbox™PurePursuit Se pueden especificar las velocidades angulares lineales y máximas deseadas. Estas propiedades se determinan en función de las especificaciones del robot. Dada la pose (posición y orientación) del robot como una entrada, el objeto se puede utilizar para calcular los comandos de las velocidades lineales y angulares 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 dado estos comandos. La última propiedad importante es la, que le dice al robot qué tan lejos en el camino para rastrear hacia.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 para sus entradas y salidas.PurePursuit La figura siguiente muestra el sistema de coordenadas de referencia. Los waypoints de entrada son coordenadas, que se utilizan para computar los comandos de velocidad del robot.[x y] La pose del robot es la entrada como una pose y la orientación (Theta) lista de puntos como.[x y theta] El positivo y las 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 medido en sentido antihorario en radianes desde el eje (robot actualmente en radianes).thetax0

Mira la distancia por delante

La propiedad es la propiedad de optimización principal para el controlador.LookAheadDistancePurePursuit La distancia de mirada por delante es cuán lejos a lo largo de la trayectoria el robot debe mirar de la ubicación actual para computar los comandos de la velocidad angular. La figura de abajo muestra el robot y el punto de mirada anticipada. Como se muestra en esta imagen, observe que la trayectoria real no hace juego la línea directa entre los waypoints.

El efecto de cambiar este parámetro puede cambiar la forma en que su 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 waypoints, un pequeño causará que su robot se mueva rápidamente hacia el camino.LookAheadDistance Sin embargo, como se puede ver en la figura de abajo, el robot sobrepasa el camino y oscila a lo largo del camino deseado. Con el fin de reducir las oscilaciones a lo largo del camino, una mayor mirada por delante de la distancia se puede elegir, sin embargo, podría resultar en curvaturas más grandes cerca de las esquinas.

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

Limitaciones

Hay algunas limitaciones a tener en cuenta acerca de este algoritmo:PurePursuit

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

  • Este algoritmo no estabiliza el robot en un punto.PurePursuit 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. Esto se puede ver en la ruta siguiente ejemplo:.Ruta siguiente para un robot de accionamiento diferencial

Referencias

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

Consulte también

| |

Temas relacionados