Quel est le problème avec ce schéma de contrôle robuste?

3

J'apprends à contrôler un double intégrateur avec $ H_ \ infty $.

mon modèle est simplement

$$ \ begin {rassembler} \ dot {r} = v \\ \ dot {v} = F / m \\ r (t_0) = 0 \ text {m}, $ v (t_0) = 0 \ text {m / s}, m = 1000 \ text {kg} \ end {rassembler} $$

donc je veux pouvoir suivre une commande pas à pas. J'ai du bruit sur les mesures de position, de vitesse et de force, supposé avec un bruit ayant une valeur std de 0,02 m, 0,01 m / s et 0,2 N.

Je souhaite une bande passante en boucle fermée égale à 0,2 Hz avec une erreur en régime permanent de 0,1 m et un pic de sensibilité à $ f_ {p} = 1 $.

Le schéma que j'ai mis en place est le suivant:

enter image description here

Les fonctions de poids sont les suivantes. Puisque je veux suivre les changements de signaux basse fréquence, je me suis imposé $$ W_ {ref, r} = \ frac {1} {s / \ omega_ {lpt} +1} $$ avec la fonction de suivi passe-bas $ f_ {lpt} $ égale à $ 2 \ pi f_ {lpt} $, et $ f_ {lpt} $ égale à 0,2.

Les fonctions de pondération du bruit sont des constantes correspondant aux valeurs mentionnées ci-dessus, alors qu'il n'y a pas de contribution anticipée, donc $ W_ {ref_F} $ est égal à 1, et donc $ W_ {ctrl_inn} $ (dynamique interne parfaite). Si je comprends bien la théorie, les fonctions $ W_ {p_r} $ et $ W_u $ jouent le même rôle que les matrices $ Q $ et $ R $ dans LQR, sauf que nous pouvons les façonner en fréquence, et que nous sommes minimiser la norme $ \ infty $ au lieu de la norme euclidienne. Donc, comme recommandé par Skogestad dans son livre merveilleux, j’ai précisé $$ W_ {p_r} = \ frac {s / M + 2 \ pi f_ {p}} {1 + 2 \ pi f_ {p} A} $$ avec $ A = 0,1 $, $ f_p = 1 $ et le pic de la fonction de transfert de sensibilité M égal à 2.

La fonction de transfert des performances de contrôle est un filtre passe-haut nécessaire pour pénaliser les hautes fréquences, de sorte que le contrôleur ne gaspille pas d'efforts pour contrôler la dynamique des hautes fréquences (dans mon cas, 10 Hz) $$ W_u = \ frac {3+ 2 \ pi f_ {hpf} / 2} {1 + 2 \ pi f_ {hpf}} $$ avec la fréquence passe-haut $ f_ {hpf} $ égale à 10 Hz.

Je reçois ce graphique des inverses de $ W_ {p_r} $ et $ W_u $, de sorte que la sensibilité de tf $ S $ est faible, et à grande fréquence, $ KS $ est petit, c’est-à-dire qu’il n’ya pas de gros efforts de contrôle. .

enter image description here

Si je synthétise le Hinf avec matlab, j'obtiens un $ \ gamma $ égal à 10. Je m'attendrais à une petite valeur car nous souhaitons que la sortie z soit petite pour les entrées exogènes attendues. Est-ce que quelqu'un peut me dire ce que je fais mal?

P.S. Je reçois la plante généralisée en utilisant linmod sur le modèle Simulink spécifié ci-dessus pour obtenir A, B, C, D et je la transforme en P en faisant

P = ss(A,B,C,D)
P = minreal(P)

P.P.S. La réponse par étape diverge également. enter image description here

venom
la source

Réponses:

0

Où est le reste de votre diagramme?

On dirait que vous avez un problème de polarité - Vous donnez un pas de +1 et votre pos_meas_Hinf descend au lieu de monter.

Rien de ce que vous avez montré dans votre diagramme ne ressemble à un contrôleur. Vous avez une référence de poste qui ne semble pas aller nulle part , sauf pour un bloc d’erreur de position, et vous avez une référence de force qui vient directement dans un modèle

Où est votre contrôleur dans ce diagramme?

Généralement, un contrôleur de retour utilise reference - feedback en tant que signal d'erreur pour piloter le contrôleur, mais il semble que vous ajoutiez votre control force avec le ref_F. Mais encore une fois, je ne vois pas où vous contrôlez réellement. Vous faites un signal d'erreur de position ... vous l'utilisez réellement? Comment l'utilisez-vous? Comment ce signal revient-il à ... ref_F?

Quel est control force, si vous utilisez ref_F contrôller? Pourquoi une force de contrôle serait-elle une entrée pour un actionneur? La force ne serait-elle pas la sortie de l'actionneur?

En relisant la question, ce n'est même pas clair pour moi quoi vous marchez. Tu as deux les choses étiquetées comme des références dans votre diagramme - ref_Pos et ref_F. Votre réponse a juste command, qui est une étiquette assez vide de sens. Etes-vous référence de position ou référence de force?

Quelles sont les matrices d'espace d'états que vous utilisez?

Chuck
la source
Salut, tu as raison, je n'étais pas assez précis. Ce que vous voyez en haut est la plante complétée par des fonctions de pondération linéarisées et utilisées pour la synthèse de Hinf. Les résultats du bas (la réponse progressive) sont obtenus en utilisant une installation presque identique (mais sans fonctions de pondération I / O), et en fermant la boucle avec un système LTI contenant le contrôleur Hinf. Ce contrôleur utilise comme entrée ce que j'appelle la vitesse et la position mesurées et calcule la force (appelée ici force de contrôle). Les entrées de ref_F sont 0. La référence - retour que vous mentionnez est la première sortie.
venom
@venom Difficile de dépanner le contrôleur sans aucune donnée. Comment gérez-vous le suivi des références? Avez-vous modélisé la saturation de l'actionneur? J'aurais supposé que les gains étaient trop élevés ou que le système était trop lent pour réagir (liquidation), sauf que le mouvement initial était dans la mauvaise direction.
Chuck