Contenu principal

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

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'état q(i-1) à l'aide de la commande générée u(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

propagatorObj = nav.StatePropagator(stateSpace,stepSize,numControlOutput) crée un objet propagateur d'état pour propager un système kinodynamique.

Propriétés

développer tout

Propriétés publiques

Espace d'état pour l'échantillonnage pendant la planification, spécifié comme objet d'une sous-classe de nav.StateSpace.

L'espace d'état est chargé de représenter l'espace de configuration d'un système. La classe doit inclure toutes les informations d’état liées au système propagé. Les systèmes employant des contrôleurs en cascade multicouches peuvent ajouter des informations de contrôle persistantes de bas niveau directement au vecteur d'état, tandis que le propagateur d'état gère directement les commandes de contrôle de niveau supérieur.

Durée de chaque commande de contrôle, spécifiée sous forme de scalaire positif.

Propriétés protégées

Nombre de variables dans la commande de contrôle, spécifié sous forme d'entier positif.

Les attributs:

Avoir accès
protégé
DéfinirAccès
immuable

Méthodes

développer tout

Historique des versions

Introduit dans R2021b