nav.StatePropagator Clase
Espacio de nombres: nav
Descripción
La clase nav.StatePropagator
es una interfaz para todos los propagadores de estado utilizados con los planificadores de rutas kinodinámicas derivados de nav.StateSpace
. Derive de esta clase si está definiendo un propagador para su modelo de movimiento personalizado o sistema de control. Para ver una implementación concreta para robots móviles, consulte el objeto mobileRobotPropagator
.
Esta clase genera controles, propaga estados y estima costes o distancia entre estados. Los sistemas controlados utilizan dos ecuaciones principales para dos pasos:
Control inicial
[u(i),steps] = controlFcn(q(i-1),u(i-1),qTgt)
genera el siguiente comando de control a partir del estado anterior, la entrada de control y el estado objetivo.
Propagar el sistema
q(i) = q(i-1) + integrate(q,u(i),steps)
propaga el estadoq(i-1)
usando el comando generadou(i)
para el número de pasos especificado. El propagador utiliza un tamaño de paso fijo, especificado por la propiedad ControlStepSize .
El método propagateWhileValid
define la integración y, opcionalmente, el comportamiento de control, y también verifica si los estados generados son válidos dentro del espacio de estados. Para omitir la validación de estado, utilice el método propagate
.
Al crear una instancia de clase, especifique la propiedad StateSpace , que define la cantidad de variables de estado, límites de estado y comportamiento de muestreo del propagador. Además, especifique los límites de control en la creación, que determina el valor de la propiedad NumControlOutput .
Cuando cambia propiedades, como el espacio de estados, es posible que necesite cambiar el comportamiento interno del propagador. Para hacer esto, implemente los cambios en el método setup
y llame a setup(obj)
antes de volver a llamar a otros métodos.
La clase nav.StatePropagator
es una clase handle
.
Creación
Descripción
crea un objeto propagador de estado para propagar un sistema kinodinámico.propagatorObj
= nav.StatePropagator(stateSpace
,stepSize
,numControlOutput
)
Propiedades
Métodos
Historial de versiones
Introducido en R2021b