Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

nav.StatePropagator Clase

Espacio de nombres: nav

Propagador estatal para la planificación basada en el control

Desde R2021b

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 estado q(i-1) usando el comando generado u(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

propagatorObj = nav.StatePropagator(stateSpace,stepSize,numControlOutput) crea un objeto propagador de estado para propagar un sistema kinodinámico.

Propiedades

expandir todo

Propiedades públicas

Espacio de estado para muestreo durante la planificación, especificado como un objeto de una subclase de nav.StateSpace.

El espacio de estados es responsable de representar el espacio de configuración de un sistema. La clase debe incluir toda la información de estado relacionada con el sistema propagado. Los sistemas que emplean controladores en cascada multicapa pueden agregar información de control persistente de bajo nivel directamente al vector de estado, mientras que el propagador de estado administra directamente los comandos de control de nivel superior.

Duración de cada comando de control, especificada como un escalar positivo.

Propiedades protegidas

Número de variables en el comando de control, especificado como un entero positivo.

Atributos:

Tener acceso
protegido
Establecer acceso
inmutable

Métodos

expandir todo

Historial de versiones

Introducido en R2021b