controllerPurePursuit
Descripción
El controllerPurePursuit
System object™ crea un objeto controlador utilizado para hacer que un vehículo con tracción diferencial siga un conjunto de puntos de referencia. El objeto calcula la velocidad lineal y angular del vehículo a partir de la posición actual indicada. Las subsiguientes llamadas al objeto con posiciones actualizadas proporcionan comandos de velocidad actualizados para el vehículo. Utilice las propiedades MaxAngularVelocity
y DesiredLinearVelocity
para actualizar las velocidades según el rendimiento del vehículo.
La propiedad LookaheadDistance
calcula un punto de anticipación en la ruta, que es un objetivo local para el vehículo. El comando de velocidad angular se calcula a partir de este punto. Cambiar LookaheadDistance
tiene un impacto significativo en el rendimiento del algoritmo. Una mayor distancia de anticipación da como resultado una trayectoria con menos obstáculos, pero puede provocar que el vehículo tome un atajo durante la ruta. Una distancia look-ahead menor puede resultar en oscilaciones en el seguimiento de la ruta, lo que causaría un comportamiento inestable. Para obtener más información sobre el algoritmo de búsqueda pura, consulte Controlador de Pure Pursuit.
Para calcular los comandos de control de velocidad lineal y angular:
Cree el objeto
controllerPurePursuit
y establezca sus propiedades.Llame al objeto con argumentos, como si fuera una función.
Para obtener más información sobre cómo funcionan los System objects, consulte What Are System Objects?
Creación
Descripción
crea un objeto de pure pursuit que utiliza el algoritmo de pure pursuit para calcular las entradas de velocidad lineal y angular para un vehículo con tracción diferencial.controller
= controllerPurePursuit
crea un objeto de pure pursuit con opciones adicionales especificadas por uno o más pares controller
= controllerPurePursuit(Name,Value)Name,Value
. Name es el nombre de la propiedad y Value es el valor correspondiente. El nombre debe aparecer entre comillas simples (' '
). Puede especificar varios argumentos de pares nombre-valor en cualquier orden como Name1,Value1,...,NameN,ValueN
. Las propiedades no especificadas conservan sus valores predeterminados.
Ejemplo: controller = controllerPurePursuit('DesiredLinearVelocity', 0.5)
Propiedades
Uso
Descripción
[
devuelve el punto de anticipación, que es una ubicación en la ruta utilizada para calcular los comandos de velocidad. Esta ubicación en la ruta se calcula utilizando la propiedad vel
,angvel
,lookaheadpoint
] = controller(pose
)LookaheadDistance
en el objeto controller
.
Argumentos de entrada
Argumentos de salida
Funciones del objeto
Para utilizar una función de objeto, especifique System object como primer argumento de entrada. Por ejemplo, para liberar recursos del sistema de un System object llamado obj
, use esta sintaxis:
release(obj)
Ejemplos
Capacidades ampliadas
Historial de versiones
Introducido en R2019b
Consulte también
binaryOccupancyMap
(Robotics System Toolbox) | occupancyMap
| binaryOccupancyMap
| occupancyMap
| controllerVFH