nav.StatePropagator Clase
Espacio de nombres: nav
Descripción
La clase nav.StatePropagator
es una interfaz para todos los propagadores de estados utilizados con los planificadores de rutas cinemáticos derivados de nav.StateSpace
. Derive de esta clase si está definiendo un propagador para su modelo de movimiento personalizado o sistema de control. Para 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 de destino.
Propagar el sistema
q(i) = q(i-1) + integrate(q,u(i),steps)
propaga el estadoq(i-1)
utilizando el comando generadou(i)
para la cantidad especificada de pasos. 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, lo 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 ello, 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 cinodinámico.propagatorObj
= nav.StatePropagator(stateSpace
,stepSize
,numControlOutput
)
Propiedades
Métodos
Historial de versiones
Introducido en R2021b