TP1 Sar

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 4

TP Matlab-Simulink sur le pendule inverse

M2 SAR - Commande non-linéaire

L’objectif de ce TD Matlab-Simulink est de mettre en application les éléments vus en cours pour
la stabilisation à partir du système linéarisé tangent. Le simulateur pourra aussi être utilisé
pour le petit projet à rendre sur la méthode de linéarisation par retour de sortie (question non traitée
du TD 2). Les équations rappelées ici sont les mêmes que dans le TD 2; les notations ne sont donc
pas rappelées.

Figure 1

J + mℓ2 −ml cos θ T + mℓθ̇2 sin θ − τ ẋ


    
ẍ 1
= (1)
θ̈ ∆(θ) −mℓ cos θ M mgℓ sin θ − µθ̇ − c|ẋ|ẋ
avec ∆(θ) = M (J + mℓ2 ) − m2 ℓ2 cos2 θ > 0 et τ, µ, c > 0.

Question 1: Contrôle de l’état complet du système avec état connu.


On souhaite contrôler à la fois l’orientation de la barre et la position du chariot.

a) Calculer le linéarisé tangent à l’état d’équilibre (xe , θe , ẋe , θ̇e ) = (0, 0, 0, 0), et déterminer un
retour d’état linéaire qui rend cet équilibre asymptotiquement stable pour le système linéarisé
tangent. On pourra utiliser la méthode LQR et tester différentes matrices de pondération du
critère à minimiser.

b) Simuler les lois de commande synthétisées et discuter le comportement transitoire du système


en fonction des matrices de pondération.

c) Introduire dans le modèle un échantillonage de la commande et des bruits sur la mesure (voir
Figure 2 ci-dessous) et tester en simulation l’impact de la période d’échantillonage sur la sta-
bilité du système et l’impact des bruits sur la précision de la stabilisation. Concernant les
bruits, on prendra un bruit uniforme d’amplitude maximale ±0.02 sur chaque variable d’état.
Concernant l’échantillonage, on testera différentes valeurs entre 5 et 100 Hz, et on comparera
les performances avec et sans bruit de mesure, en fonction de cette fréquence d’échantillonage.

1
Figure 2: Echantillonage de la commande et ajout de bruit sur les mesures

Question 2: Synthèse d’observateur par placement de pôles


Les questions précédentes supposaient implicitement que tout l’état du système était mesuré. On
considère dans cette question la situation plus réaliste dans laquelle on mesure l’orientation de la
barre et la position du chariot, mais pas les dérivées de ces variables.

1. Vérifier que le système linéarisé tangent à l’état d’équilibre (xe , θe , ẋe , θ̇e ) = (0, 0, 0, 0) accom-
pagné de ces mesures est observable.

2. Synthétiser un observateur d’état de Luenberger avec une technique de placement de pôles et


implémenter cet observateur. On montrera que l’implémentation peut se faire comme indiqué
sur la Figure 3 ci-dessous, où l’on introduit également du bruit sur chacune des mesures (on
utilisera les mêmes amplitudes de bruit que celles de la question 2). On pourra utiliser la
commande Matlab ”place” pour effectuer le placement de pôles.

3. Comparer les performances du système en fonction du choix des gains de l’observateur, et de la


fréquence d’échantillonage. Concernant les valeurs des gains de l’observateur, on pourra tester
différents ordres de grandeur entre −5 et −100.

Question 4 (subsidiaire): Réglage des gains de l’observateur par la solution du filtre de Kalman.
Les plus motivés d’entre vous pourront faire une synthèse de filtre de Kalman (voir à ce sujet la
commande LQG de Matlab). Une autre solution consiste, afin d’essayer d’optimiser le réglage des
gains de l’observateur, à utiliser le gain de Kalman asymptotique. Dans ce cas, on peut procéder de
la façon suivante:

2
Figure 3: Simulateur avec observateur de Luenberger

1. Déterminer les variances des bruits de mesure, en fonction des paramètres utilisés dans les blocs
qui génèrent ces bruits.

2. Calculer le gain asymptotique de Kalman (solution K de l’équation algébrique, qui correspond


à la limite, quand t −→ +∞ de la solution instationnaire K(t)) en considérant différentes
amplitudes de bruit de modèle. On pourra introduire pour le calcul du gain asymptotique de
Kalman un bruit de modèle de matrice de covariance Q(t) = δI4 avec δ petit (e.g., 1e − 3).
Indice: le gain asymptotique est solution d’une équation de Ricatti, de même que la solution
du problème de synthèse LQR.

3. Comparer les solutions obtenues avec celles de question 3. On pourra comparer les valeurs
propres de l’observateur, ainsi que le niveau de bruit des courbes de position et d’orientation.

Remarque Annexe: Chargement de paramètres dans Matlab


Afin de faciliter la mise en oeuvre sous Simulink, il est conseillé de faire les calculs dans un fichier
.m de script, afin de générer les différentes matrices et gains dans le ”Workspace” matlab, ce qui
permettra ensuite de faire appel à ces valeurs sans devoir les retapper dans les blocs simulink, à
l’image de la Figure 4 ci-dessous.

3
Figure 4: Chargement de variables dans un bloc simulink depuis le ”Workspace” Matlab.

Vous aimerez peut-être aussi