Python - TP note
Exercice - À vous de jouer
On considère maintenant le système :
\[\dot{x} = v\] \[\dot{v} = u - 0.5v\]La mesure reste :
\[Y = x\]La consigne est :
\[x_d = 5\]Le contrôleur doit utiliser :
\[u_r = 2 (x_d - x)\]Le contrôleur doit utiliser :
\[u = u_r - k_v v\]Travail demandé
Faire une simulation de $10$ s avec un pas de temps de $0.01$ s pour $k_v = 2$ Hz
Compléter un programme permettant de :
- créer la fonction
model(X, U); - créer la fonction
h(X); - créer la fonction
guidance(X, Xd); - créer la fonction
ctrl(X, u_r, k_v); - créer le vecteur temps ;
- initialiser le système ;
- créer les vecteurs de stockage ;
- réaliser la boucle de simulation ;
- utiliser Euler pour intégrer le système ;
- visualiser la position et la consigne ;
- visualiser la vitesse ;
- visualiser la commande.
Structure imposée
La boucle doit respecter :
for t in times:
# Consigne
# Guidance
# Contrôle
# Modèle
# Euler
# Mesure
# Stockage
Bonus
Comparer les résultats pour :
kv_values = [0.5, 1, 2, 5]
et visualiser les quatre simulations sur le même graphique.
Bareme :
- 5 points pour la syntaxe
- 2 points pour l’initialisation des vecteurs et des variables de stockage
- 2 points pour les fonctions guidance et ctrl
- 1 point pour l’intégration d’Euler explicite
- 2 points pour la fonction de mesure
- 2 points pour la fonction model
- 2 points pour le stockage des données
- 1 point pour l’affichage
- 2 points pour la réussite du code