nav.StatePropagator Classe
Namespace : nav
Propagateur d'état pour la planification basée sur le contrôle
Depuis R2021b
Description
La classe nav.StatePropagator
est une interface pour tous les propagateurs d'état utilisés avec les planificateurs de chemins kinodynamiques dérivés de nav.StateSpace
. Dérivez de cette classe si vous définissez un propagateur pour votre modèle de mouvement ou système de contrôle personnalisé. Pour une implémentation concrète pour les robots mobiles, voir l'objet mobileRobotPropagator
.
Cette classe génère des contrôles, propage l’état et estime le coût ou la distance entre les états. Les systèmes contrôlés utilisent deux équations principales pour deux étapes :
Contrôle initial
[u(i),steps] = controlFcn(q(i-1),u(i-1),qTgt)
génère la commande de contrôle suivante à partir de l'état précédent, de l'entrée de contrôle et de l'état cible.
Propager le système
q(i) = q(i-1) + integrate(q,u(i),steps)
propage l'étatq(i-1)
à l'aide de la commande généréeu(i)
pour le nombre d'étapes spécifié. Le propagateur utilise une taille de pas fixe, spécifiée par la propriété ControlStepSize .
La méthode propagateWhileValid
définit l'intégration et éventuellement le comportement de contrôle, et vérifie également si les états générés sont valides dans l'espace d'états. Pour ignorer la validation de l'état, utilisez la méthode propagate
.
Lors de la création d'une instance de classe, spécifiez la propriété StateSpace , qui définit le nombre de variables d'état, les limites d'état et le comportement d'échantillonnage du propagateur. Spécifiez également les limites de contrôle à la création, qui déterminent la valeur de la propriété NumControlOutput .
Lorsque vous modifiez des propriétés, telles que l'espace d'état, vous devrez peut-être modifier le comportement interne du propagateur. Pour ce faire, implémentez les modifications dans la méthode setup
et appelez setup(obj)
avant d'appeler à nouveau les autres méthodes.
La classe nav.StatePropagator
est une classe handle
.
Création
Description
crée un objet propagateur d'état pour propager un système kinodynamique.propagatorObj
= nav.StatePropagator(stateSpace
,stepSize
,numControlOutput
)
Propriétés
Méthodes
Historique des versions
Introduit dans R2021b