controllerPurePursuit
Descripción
controllerPurePursuit
System object™ crea un objeto de controlador que se utiliza para que un vehículo con tracción diferencial siga un conjunto de waypoints. 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 en función del rendimiento del vehículo.
La propiedad LookaheadDistance
calcula un punto look-ahead 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 look-ahead 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 Pure Pursuit, consulte Controlador de Pure Pursuit.
Para calcular los comandos de control de velocidad lineal y angular:
Cree el objeto
controllerPurePursuit
y configure sus propiedades.Llame al objeto con argumentos, como si fuera una función.
Para más información sobre el funcionamiento de los System objects, consulte ¿Qué son los 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. Name debe aparecer entre comillas simples (' '
). Puede especificar varios argumentos de par 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 look-ahead, que es una ubicación en la ruta usada 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 usar una función de objeto, especifique el System object como el primer argumento de entrada. Por ejemplo, para liberar recursos de sistema de un System object llamado obj
, utilice la siguiente sintaxis:
release(obj)
Ejemplos
Capacidades ampliadas
Historial de versiones
Introducido en R2019b
Consulte también
binaryOccupancyMap
| occupancyMap
(Navigation Toolbox) | mobileRobotPRM