ENS C ACHAN 61, avenue du Président Wilson 94235 CACHAN Cedex M. B ÉTHERMIN , D. L OPEZ , M. B AUCHY ENS Cachan 2007 R APPORT DE PROJET EXPÉRIMENTAL Étude et contrôle du chaos dans un système mécanique Tuteur : Pierre Boissel É COLE N ORMALE S UPÉRIEURE DE C ACHAN Phytem Table des matières 1 Introduction 1 2 Approche théorique 2.1 Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Stabilité des modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 3 Description du dispositif expérimental 3.1 Système mécanique . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Contrôle du vibreur . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Génération d’un signal sinusoïdal et d’un signal TTL chronisation . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Amplification du signal en vue d’alimenter le vibreur . 3.3 Détection des chocs . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Acquisition des données . . . . . . . . . . . . . . . . . . . . . . 3.5 Visualisation des données . . . . . . . . . . . . . . . . . . . . . 3.6 Schéma récapitulatif du montage . . . . . . . . . . . . . . . . . . . 5 5 6 . . . . . . 6 7 7 8 9 9 4 Observation des modes chaotiques 4.1 Approche numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Différents modes en représentation spatio-temporelle . . . . . . . 4.1.3 Diagramme de bifurcation . . . . . . . . . . . . . . . . . . . . . . . 4.1.4 Différents modes en représentation ϕn /ϕn−1 et attracteur étrange 4.2 Résultats expérimentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Graphe de bifurcation . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2 Représentation τn /τn−1 . . . . . . . . . . . . . . . . . . . . . . . . 10 10 10 10 11 12 13 13 14 5 Contrôle du chaos 5.1 Introduction théorique . . . . . . . . . . 5.2 Méthode utilisée . . . . . . . . . . . . . . 5.3 Mise en place expérimentale . . . . . . . 5.4 Résultats . . . . . . . . . . . . . . . . . . 5.4.1 Sélection du mode 1 . . . . . . . 5.4.2 Sélection du mode 2 . . . . . . . 5.4.3 Basculement d’un mode à l’autre . . . . . . . 16 16 17 17 17 17 19 19 Divergence vers le chaos 6.1 Coefficient de Lyapounov . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Étude de la divergence du mode 1 dans sa zone instable . . . . . . . . . 6.2.1 Mise en place . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 20 20 20 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 . . . . . . . . . . . . . . . . . . . . . . . . . de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . syn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i TABLE DES MATIÈRES 7 Conclusion 23 Annexes 24 A Programmes de simulation (en Fortran) 25 B Programmes de lecture des données (en Turbo Pascal) 32 Bibliographie 38 M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 ii Chapitre 1 Introduction Longtemps considérés comme une erreur de mesure ou comme la manifestation de perturbations extérieures, les phénomènes chaotiques sont aujourd’hui de plus en plus étudiés. Il est intéressant de constater que des manifestations chaotiques a priori complexes peuvent être observées et étudiées sur des systèmes simples. Le système que nous avons étudié peut en effet au premier abord être qualifié de simple : on se propose d’étudier les rebondissements d’une bille sur un plateau horizontal animé d’un mouvement alternatif dans la direction verticale. Bien entendu, la réalité est souvent loin d’être simple, aussi est-il nécessaire d’utiliser quelques astuces pour que le système étudié corresponde effectivement bien à son modèle théorique. F IG . 1.1 – Schéma de principe Notre premier objectif fut d’observer les modes chaotiques sur notre système. Dans un second temps, nous avons tenté d’effectuer un contrôle du chaos permettant d’isoler un des modes au sein d’une zone chaotique. Nous nous sommes enfin intéressés à la divergence du système vers le domaine chaotique à partir d’un mode instable. M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 1 Chapitre 2 Approche théorique 2.1 Modélisation Le système est modélisé par une bille ponctuelle de masse m, assujettie à un mouvement unidimensionnel le long de l’axe vertical (noté z). Le mouvement de la bille n’influe pas sur celui du plateau. La bille n’est soumise qu’à deux forces : son poids et la force exercée par le vibreur lors des chocs. L’accélération de la pesanteur sera prise égale à g = 9, 81m/s. L’amplitude du vibreur est sinusoïdale de pulsation ω : A(t) = A0 cos(ωt). On supposera que le choc est instantané sur le vibreur, c’est à dire que la bille ne reste pas collée. Les différentes variables sont indicées par n, le numéro du choc. Au contact du vibreur, la bille rebondit avec un coefficient de restitution noté µ et tel que : vi,n − Ȧ(tn ) = −µ(vf,n − Ȧ(tn )) (2.1) où Ȧ est la dérivée temporelle de l’amplitude, soit la vitesse du vibreur. vi,n est la vitesse après le choc et vf,n la vitesse après le choc. Le coefficient de restitution µ est compris entre 0 et 1, en pratique il sera de l’ordre de 0, 5. On s’intéresse au régime périodique de fonctionnement, les conditions initiales de la trajectoire libre de la bille sont les mêmes après chaque choc. En particulier, la hauteur du plateau z = z(τn ) étant invariante (τ étant, à une constante près, la durée entre l’instant où le vibreur est à son maximum et l’instant du choc), la vitesse finale vf,n doit être l’opposé de la vitesse initiale : vi,n = −vf,n = vP = gT 2 (2.2) où g est l’accélération de la pesanteur et T = 2π ω la période de la vibration, l’indice P caractérisant les grandeurs en régime périodique. Cette équation combinée à l’équation du choc (2.1) , donne une condition sur la vitesse du plateau à l’instant tn : Ȧ(tn ) = vP 1−µ 1+µ (2.3) Ceci impose une relation entre A0 et τP , τP étant le déphasage temporel commun à tous les chocs : A0 ωsin(ωτP ) = −vP 1−µ gT 1 − µ = 1+µ 2 1+µ M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 (2.4) 2 Approche théorique ce qui, en introduisant l’amplitude critique Ac = A0 = − gT 1−µ 2ω 1+µ , s’écrit : Ac sin(ωτP ) (2.5) Cette courbe permet d’obtenir tous les modes de fonctionnement mais ne distingue pas les branches stables des branches instables. On peut toutefois en extraire le diagramme de bifurcation qui montre très bien que la transition vers le chaos s’effectue par doublement de période. Ce type de transition est très général dans les transitions chaotiques et se retrouve dans de nombreux systèmes chaotiques qu’ils soient mathématiques ou physiques. 2.2 Stabilité des modes Pour aller plus loin, il faut désormais s’intéresser à la stabilité des modes. Pour cette analyse nous allons utiliser une section de Poincaré de la trajectoire. Une section de Poincaré est une coupe de l’espace des phases contenant toute l’information utile sur le comportement du système. Ici l’espace des phases canonique serait la position de la bille z en fonction de la vitesse ż. On dit alors, en physique non linéaire, que le système comporte deux degrés de liberté. Toutefois en analysant plus finement le problème, on s’aperçoit que l’on accède à toute l’information sur le système simplement en connaissant τn et vn , à savoir le déphasage et la vitesse à chaque choc. On peut donc se contenter de tracer τn en fonction de vn : c’est une section de Poincaré. Cependant on utilisera par la suite une autre section de Poincaré, équivalente à celle ci, beaucoup plus facile à mesurer expérimentalement : il suffit en effet de connaître τn−1 et τn pour déterminer la vitesse vn . On peut donc étudier la section de Poincaré τn en fonction de τn−1 qui contient également toute l’information sur le système : c’est ce que nous ferons par la suite. Dans cette section de Poincaré chaque point correspond à un choc. −→ Pour simplifier les notations, on représentera ce point par le vecteur associé Wn τ de composante n−1 . Les équations du mouvement de la bille et du rebond se réτn sument alors, pour une valeur déterminée des paramètres ω, µ etdu paramètre de −→ τ contrôle A0 , à une application qui fait correspondre au vecteur Wn n−1 le vecteur τn −−−→ τn Wn+1 : τn+1 −−−→ −→ Wn+1 = F (Wn ) (2.6) −−→ Un régime périodique simple est possible pour les vecteurs WP qui sont inchangés dans cette application, et donc solutions de : −−→ −−→ WP = F (WP ) M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 (2.7) 3 Approche théorique −−→ −→ −−→ Supposons qu’au choc n, le vecteur Wn diffère de δWn du vecteur WP : le vecteur −−−−→ −−−→ −−→ caractérisant le choc suivant Wn+1 diffèrera de δWn+1 de WP . Le régime sera stable si, −−−−→ −−−−→ en l’absence de perturbation ultérieure, les écarts successifs δWn+1 , δWn+2 ... tendent vers 0 ; il sera instable si cet écart s’amplifie. −−→ Comme on s’intéresse aux écarts faibles autour de WP , l’application F peut être −−−−→ linéarisée autour de ce point. Le vecteur δWn+1 s’obtient alors en faisant simplement −−→ le produit de δWn par une matrice [F ] −−−−→ −−→ δWn+1 = [F ]δWn (2.8) Cette méthode s’appelle l’analyse de stabilité linéaire , la matrice [F ] est une matrice de Floquet. Le régime sera stable tant que les deux valeurs propres λ1 et λ2 de −−−−→ la matrice de Floquet auront un module inférieur à 1, le module de δWn+1 étant alors −−→ inférieur au module de δWn . Les valeurs critiques du paramètre de contrôle seront celles pour lesquelles le module de l’une des valeurs propres devient supérieur à 1. Dans le cas qui nous intéresse, pour le régime de période T , l’équation (2.8) s’écrit : δτn 0 1 δτn−1 = (2.9) δτn+1 −µ2 1 + µ2 + π(1 − µ2 )cotg(ωτP ) δτn L’équation aux valeurs propres correspondante est : λ2 − λ[1 + µ2 + π(1 − µ2 )cotg(ωτP )] + µ2 = 0 (2.10) L’analyse des solutions de l’équation (2.9) montre tout d’abord que, pour cotg(ωτP ) > 0( T2 < τP < 3T 4 ), une des valeurs propres est toujours supérieure à 1. La branche inférieure est donc bien instable. La limite de stabilité λ = 1 est obtenue pour τP = 3T 4 correspondant à l’amplitude critique Ac . La valeur propre −1 est obtenue pour : cotg(ωτ2 ) = − 2 1 + µ2 π 1 − µ2 (2.11) On peut donc extraire l’amplitude correspondant au doublement de période : A2 = − Ac sin(ωτ2 ) (2.12) On remarque que la seule détermination de Ac et A2 permet de déduire expérimentalement le paramètre µ, normalement difficile d’accès. On pourrait pousser plus loin l’analyse en étudiant la stabilité des autres modes de fonctionnement. Mais les calculs deviennent long et complexes car il faut étudier alors de nouvelles matrices de Floquet, comme F 2 pour le mode de double période. M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 4 Chapitre 3 Description du dispositif expérimental 3.1 Système mécanique Dans cette expérience, nous utilisons une bille d’acier qui va rebondir sur un plateau fixé au dessus d’un vibreur. Le support permet de contraindre la bille à effectuer uniquement un mouvement vertical au dessus du plateau. La détection des rebonds se fera grâce à un piézoélectrique placé sur le plateau. F IG . 3.1 – Système mécanique Remarque : Le support doit être suffisamment souple pour ne pas perturber le comportement de la bille. La bille est accrochée à un support en plastique très léger c Celui-ci est lui même attaché à une structure métallique liée au avec de la Patafix. vibreur grâce à du ruban adhésif. Le comportement du système est très sensible à la position de ce ruban adhésif. Au cours de la semaine nous avons dû jouer sur cela pour conserver un bon fonctionnement du système. M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 5 Description du dispositif expérimental 3.2 Contrôle du vibreur Lors de cette expérience, nous avons eu besoin de contrôler l’amplitude des vibrations du plateau. Pour cela nous avons utilisé un ordinateur muni d’une carte d’acquisition. Ceci nous a permis de contrôler l’amplitude plus facilement. Nous avons ainsi pu programmer un asservissement de l’amplitude pour obtenir un contrôle du chaos. 3.2.1 Génération d’un signal sinusoïdal et d’un signal TTL de synchronisation La carte d’acquisition que nous avons utilisé possède de nombreuses entrées et sorties, analogiques et numériques. Le signal sinusoïdal est émis pas une des sorties analogique. Le signal TTL est lui numérique. Nous avons commandé les sorties de la carte grâce à un programme en turbo Pascal, utilisant l’horloge interne de l’ordinateur. Ce programme est constitué d’une boucle, qui recalcule à chaque itération la valeur du signal en fonction du temps et qui met l’entrée analogique à cette valeur. Dans la même boucle, un signal de synchronisation est généré. Ce signal vaut 5V uniquement pendant le premier quart de période de la sinusoïde et vaut 0V sinon. F IG . 3.2 – Synchronisation TTL Remarque : La sinusoïde ne sera pas parfaite. En effet, l’échantillonnage temporel et en amplitude va induire un signal en marches d’escalier. L’amplitude est générée par un CAN 1024 bits (Convertisseur Analogique Numérique). L’échantillonnage temporel vient lui de la durée de la boucle. M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 6 Description du dispositif expérimental 3.2.2 Amplification du signal en vue d’alimenter le vibreur Le signal de sortie de la carte d’acquisition ne permet pas d’alimenter directement le vibreur. En effet, la carte d’acquisition ne peut pas délivrer un courant suffisant. De plus, la tension de sortie est trop forte. Il faut donc l’atténuer. Pour fournir un courant suffisant, on utilise une alimentation stabilisée commandée en tension par la sortie de la carte d’acquisition. Pour atténuer le signal, on utilise un pont diviseur avec deux boîtes de résistance AOIP. F IG . 3.3 – Circuit d’amplification 3.3 Détection des chocs Les chocs vont être détectés grâce au piézoélectrique. Ils vont provoquer un pic de tension aux bornes de ce dernier. Toutefois, ce pic est très intense et très court. Nous devons donc construire un dispositif piézoélectrique afin de transformer le pic aux bornes du piézoélectrique en un court créneau TTL. Pour éviter d’abîmer le piézoélectrique nous utiliserons également un isolateur optique dans le circuit. F IG . 3.4 – Schéma électronique du détecteur de choc M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 7 Description du dispositif expérimental La résistance de charge permet de décharger le piézoélectrique. En effet, il se charge choc après choc. On choisira toutefois une résistance assez importante (nous avons pris 560kΩ) pour que cela ne le perturbe pas. On place une résistance de 1kΩ au minimum afin de limiter à 15mA la tension aux bornes de la diode électroluminescente. On place un potentiomètre afin de pouvoir sélectionner un seuil de détection afin que du bruit ne soit pas détecté comme un choc. F IG . 3.5 – Seuil de détection 3.4 Acquisition des données On souhaite pouvoir mesurer l’intervalle de temps τn entre l’instant où le plateau passe à son point haut après le choc n − 1 et l’instant du choc n (à un déphasage constant près). Nous avons accès par l’intermédiaire de l’interface d’acquisition aux signaux numériques TTL (O ou 5V) de synchronisation issu de l’ordinateur générateur de signaux et de la tension de sortie du détecteur de choc. Ceci nous permet d’obtenir avec précision la date de passage au point haut du plateau. Pour calculer τ , on patiente jusqu’à ce que l’on détecte que l’entrée correspondant à la tension aux bornes du vibreur, initialement dans 0, passe dans l’état 1. On enregistre alors la date de cet évènement t1 et la valeur numérique (en analogique) de l’amplitude A de l’excitation. On patiente ensuite jusqu’à ce que l’on détecte que le signal correspondant à la sortie de la céramique piézoélectrique soit dans l’état 0 (choc). On enregistre enfin la date de cet évènement t2 . Cf programmes en annexe. M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 8 Description du dispositif expérimental 3.5 Visualisation des données Nous utiliserons principalement deux types de diagramme au cours de ce dossier : – le diagramme de bifurcation : On affiche sur ce graphique chaque τ mesuré en fonction de l’amplitude de l’excitation du vibreur. – le diagramme τn /τn−1 : On affiche sur ce diagramme chaque τ mesuré en fonction du τ mesuré au cycle précédent. 3.6 Schéma récapitulatif du montage F IG . 3.6 – Schéma global du montage M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 9 Chapitre 4 Observation des modes chaotiques 4.1 4.1.1 Approche numérique Méthode Pour relier l’approche théorique à l’expérience, nous avons réalisé des simulations numériques. Nous avons ainsi pu mettre en évidence la manière dont s’effectue la transition vers le chaos pour ce système. Pour réaliser cette simulation, nous avons utilisé un programme assez rudimentaire. Après avoir saisi les conditions initiales pour la bille (z0 et v0 ), le programme calcule sa position après une durée dt. Cette position est connue de manière analytique en l’absence de choc. Le programme détermine si la bille est alors en dessous ou au dessus du plateau. Si elle est au dessus, il calcule la position suivante. Si elle est en dessous, une dichotomie détermine l’instant précis du choc, ainsi que la position et la vitesse de la bille. Le programme détermine alors la nouvelle vitesse de la bille après rebond. Puis, il calcule la position un temps dt après le rebond. Voir programme traj.f95 en annexe. 4.1.2 Différents modes en représentation spatio-temporelle On trace sous gnuplot le résultat obtenu pour plusieurs amplitudes. En abscisse, on trace le temps en ms et en ordonnée la hauteur en mm. La courbe de la bille est en rouge et celle et celle du plateau en vert. Ici, on réalise des tracé pour µ = 0, 5. F IG . 4.1 – Courbe obtenue pour A = 0, 4 M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 10 Observation des modes chaotiques F IG . 4.2 – Courbe obtenue pour A = 0, 46 F IG . 4.3 – Courbe obtenue pour A = 0, 475 F IG . 4.4 – Courbe obtenue pour A = 0, 5 On arrive ainsi à distinguer les différents modes du systèmes en fonction du paramètre de contrôle (l’amplitude de vibration). Lorsque l’amplitude augmente, on observe un doublement de période des modes jusqu’au chaos. 4.1.3 Diagramme de bifurcation Pour tracer le diagramme de bifurcation, on réalise de légères modifications du programme utilisé précédemment. D’abord, le programme n’écrit dans le fichier résultat que la phase de rebonds (défini par ϕ ≡ Tτ [1]) et l’amplitude de vibration lors M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 11 Observation des modes chaotiques de ce rebond. Ensuite, on modifie le programme pour qu’il réalise une série de simulation en modifiant l’amplitude pas par pas. Pour un meilleur résultat, on n’enregistre pas les rebonds ayant lieu trop peu de temps après un changement d’amplitude. cf annexe (bifurc.f95) On trace ensuite les points obtenus sous gnuplot. En abscisse, on trace l’amplitude des mouvements du vibreur en mm et en ordonnée la phase des rebonds. On prend des phases entre 0, 3 et 1, 3 pour obtenir un graphique plus lisible, car la phase est définie modulo 1 et pour que les points ne s’approchent pas trop de ces valeurs. F IG . 4.5 – Diagramme de bifurcation On observe bien une transition vers le chaos par doublement de période. Remarque : A partir de A = 0, 5, on constate l’apparition de points que nous n’avons pas observé expérimentalement. Nous n’avons pas réussi à comprendre leur origine. 4.1.4 Différents modes en représentation ϕn /ϕn−1 et attracteur étrange Il est également extrêmement intéressant d’étudier les différents modes dans un graphique représentant pour un grand nombre de rebonds ϕn correspondants en abscisse et le ϕn−1 en ordonnée. cf annexe (tautau). Pour une amplitude A = 0, 5, on constate que les points se répartissent sur une figure nommée attracteur étrange : M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 12 Observation des modes chaotiques F IG . 4.6 – Attracteur étrange 4.2 4.2.1 Résultats expérimentaux Graphe de bifurcation Pour obtenir le graphe de bifurcation, on génère aux bornes du vibreur une sinusoïde dont l’amplitude varie au cours du temps. Pour un meilleur résultat, cette variation sera très lente. On passe dans le sens croissant, puis décroissant pour étudier d’éventuels hysteresis. Les données sont obtenues grâce à l’ordinateur d’acquisition. L’amplitude indiquée sur le graphe en abscisse est la tension efficace aux bornes du vibreur mesurée par la carte d’acquisition du PC. En ordonnée, on a τn qui correspond à T ϕ. F IG . 4.7 – Diagramme de bifurcation M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 13 Observation des modes chaotiques On retrouve la transition vers le chaos par doublement de période obtenue en simulation numérique. On observe également des phénomènes non observés en simulation numérique. Il y a une boucle d’hysteresis pour les basses amplitudes entre un mode où la bille "colle" sur le vibreur et le mode 1. On distingue aussi une fenêtre d’ordre après 1, 9V . F IG . 4.8 – Mode collé (obtenue pour A = 0, 4 et µ = 0, 25) 4.2.2 Représentation τn /τn−1 Avec le programme d’acquisition, on peut également tracer des diagrammes τn /τn−1 pour différentes amplitudes. On observe ainsi les différents modes. F IG . 4.9 – Mode 1 M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 14 Observation des modes chaotiques F IG . 4.10 – Mode 2 F IG . 4.11 – Mode 4 F IG . 4.12 – Mode chaotique On observe bien l’attracteur étrange obtenu en simulation numérique. M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 15 Chapitre 5 Contrôle du chaos 5.1 Introduction théorique Intéressons-nous à la section de Poincaré (τn , τn−1 ). L’analyse de la stabilité linéaire toute à l’heure nous a permis d’évaluer qu’au delà d’une certaine valeur de τP , et donc de l’amplitude, le mode périodique cessait de devenir stable. Toutefois celui ci ne cesse pas réellement d’exister, seulement une légère perturbation écarte définitivement le système de ce mode. Toute l’idée consiste à perturber le système en temps réel pour que cet écart soit contrebalancé par une très légère perturbation. En fait tout se passe comme si l’on modifiait le point de fonctionnement dans la section de Poincaré. L’analyse de stabilité nous a montré qu’il existe deux valeurs propres l’une supérieure à 1 et l’autre inférieure. Ces valeurs propres sont associées à des vecteurs propres, l’un d’entre eux est donc associé à une direction où le système s’écarte de l’équilibre et une direction où le système est ramené à l’équilibre. En sélectionnant judicieusement un point de fonctionnement qui ramènerait le système vers son ancien point de fonctionnement via la direction de retour à l’équilibre, on obtiendrait une correction en temps réel qui stabiliserait le mode périodique. Une image plus facile à concevoir pour ce contrôle consiste à observer la trajectoire de la bille. Si celle ci s’écarte légèrement de sa position, en atterrissant trop haut par exemple lors d’un rebond, le caractère déstabilisant du système au delà de l’amplitude critique fait que son prochain rebond aurait lieu plus bas que la position d’équilibre tout en s’éloignant davantage. Pour remédier à cela on corrige l’erreur en diminuant l’amplitude afin que le rebond qui devait l’amener plus bas ramène en fait la bille à sa position d’équilibre. C’est une démarche analogue à celle que nous effectuons lorsque nous tentons de tenir en équilibre un bâton à la verticale de notre main. Lorsque le bâton penche sur la droite nous déplaçons la main vers la droite afin de stabiliser le bâton. C’est ici la même idée sauf que le caractère oscillant de la déstabilisation dans le cas de la bille implique une correction opposée à la déstabilisation. Il serait tentant d’évaluer quelle serait la correction à effectuer en étudiant le diagramme de bifurcation, car nous connaissons après tout les vecteurs propres et les valeurs propres de la matrice de Floquet. Mais ce calcul, même en ordre de grandeur, s’avère relativement insoluble car il est très difficile d’évaluer analytiquement comment l’algorithme de correction influe sur l’évolution du système, car chaque itération implique de très lourds calculs géométriques. M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 16 Contrôle du chaos 5.2 Méthode utilisée Nous avons choisi de nous inspirer de la méthode de Yorke, Ott, Grebogi : delayed proportional feedback (réaction retardée). Cette méthode consiste à corriger à chaque instant les erreurs commises. En pratique, on apporte de petites corrections sur l’amplitude des oscillations afin de la stabiliser. 5.3 Mise en place expérimentale On ajoute au précédent programme de lecture des données une procédure permettant d’enregistrer les valeurs de τn et d’appliquer en direct une correction sur l’amplitude de l’excitation du vibreur. Ainsi, le premier PC utilisé jusqu’ici pour acquérir les données calcule également la correction en amplitude à appliquer et l’envoie au deuxième PC (sortie analogique). On modifie également le programme utilisé pour générer la tension aux bornes du vibreur afin que l’amplitude du signal de sortie prenne compte de la correction générée. Lorsque l’on veut tenter stabiliser la bille sur le mode mono-période, on applique au cycle n + 1 la correction en amplitude suivante : dA = −K(τn − τn−1 ). Lorsque l’on veut tenter de stabiliser la bille sur deux modes, on applique au cycle n + 1 la correction suivante : dA = K(τn − τn−2 ). La détermination théorique de K est extrêmement ardue. Nous avons donc déterminé K expérimentalement, par essais successifs, afin d’optimiser la stabilité de cet asservissement. 5.4 5.4.1 Résultats Sélection du mode 1 On se place initialement dans la zone chaotique . On observe alors le graphique représentant τn en fonction de τn−1 (voir le graphique 5.1, page 18). On active alors notre procédure de contrôle par rétroaction. Après quelques secondes, on peut observer la stabilisation sur le mode mono-période (voir le graphique 5.2, page 18). La meilleure stabilité est obtnue pour K = 0, 05. Le simple fait d’effacer l’écran sur lequel on affiche le graphique provoque un retard dans le traitement et des données, ce qui entraîne une déstabilisation. Il est donc possible d’obtenir un graphique plus propre en ne commençant la mesure qu’après un certain délai (voir le graphique 5.3, page 18). M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 17 Contrôle du chaos F IG . 5.1 – Mode chaotique obtenu en l’absence de correction F IG . 5.2 – Stabilisation sur le mode 1 après activation de la correction F IG . 5.3 – Avec correction et mesure retardée M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 18 Contrôle du chaos 5.4.2 Sélection du mode 2 On se place maintenant initialement dans une zone chaotique (voir le graphique 5.4, page 19). On active alors la procédure de contrôle par rétroaction. Après quelques secondes, on peut observer la stabilisation sur le mode 2 (voir le graphique 5.5, page 19). La meilleure stabilité est obtenue pour K = 0, 012. Toutefois, cette correction est moins robuste que celle obtenue pour le mode 1. A forte amplitude, elle devient inefficace. F IG . 5.4 – Mode chaotique obtenu en l’absence de correction F IG . 5.5 – Stabilisation sur le mode 2 aprés activation de la correction 5.4.3 Basculement d’un mode à l’autre Nous avons modifié le programme de façon a pouvoir basculer d’une correction à l’autre. Ceci nous a permis de pouvoir sélectionner le mode de fonctionnement dans la partie chaotique. M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 19 Chapitre 6 Divergence vers le chaos 6.1 Coefficient de Lyapounov Le coefficient de Lyapounov permet d’exprimer la divergence d’un mode instable. Il est directement lié aux valeurs propres de la matrice de monodromie qui contient les valeurs propres de la matrice de Floquet. La matrice de monodromie associe un écart à la trajectoire au bout d’une période à une légère perturbation des conditions initiales. On a donc Λ valeurs propres de la matrice de Floquet (on sélectionne celle dont la valeur absolue est supérieure à 1 au delà de l’amplitude critique) obtenue précédemment qui est égal à eλ , λ étant le coefficient de Lyapounov. L’analyse de la matrice de monodromie montre que : δϕn+1 = eλ ϕτn (6.1) avec δϕn , l’écart de déphasage. De ce fait, la divergence de l’écart de déphasage au cours du temps s’effectue selon une loi exponentielle dont la constante de temps est égale à l’inverse de λ, le coefficient de Lyapounov. 6.2 6.2.1 Étude de la divergence du mode 1 dans sa zone instable Mise en place Pour faire cette étude, on utilise le contrôle du chaos réalisé dans la partie précédente. On se place après la zone chaotique et on active le verrouillage du mode 1. On applique ensuite un échelon d’amplitude au vibreur. L’acquisition des données (τ des rebonds successifs) est alors déclenchée grâce à un front montant TTL venu de l’ordinateur générateur vers l’ordinateur d’acquisition. On observe ainsi des oscillations amplifiées de manière exponentielle qui font passer du mode 1 devenu instable au chaos. Les oscillations sont dues au fait que la valeur propre de la matrice de Floquet est ici négative. M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 20 Divergence vers le chaos F IG . 6.1 – Evolution de τ lors de la coupure de la correction Pour déterminer le coefficient de Lyapounov, on soustrait à τ la moyenne de τ avant la divergence. Puis, on prend la valeur absolue pour supprimer l’oscillation due au coefficient négatif. On obtient alors une exponentielle que l’on ajuste. F IG . 6.2 – Ajustement du coefficient de Lyapounov 1 P C = 2, 5V . Cette valeur évolue avec l’ampliOn a donc δτn+1 = e 2,44 δτn pour Uef f tude des oscillations du vibreur. On obtient l’évolution suivante pour la constante de temps de divergence. M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 21 Divergence vers le chaos F IG . 6.3 – Evolution de la constante de temps de divergence en fonction de l’amplitude On remarque que plus l’amplitude est importante (plus on va vers le chaos), plus la divergence est rapide. Il est toutefois très difficile de comparer cette évolution à la théorie vu que l’évolution de la valeur propre de la matrice de Floquet est donnée par une formule très complexe qui semble difficile à linéariser dans la zone souhaitée. M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 22 Chapitre 7 Conclusion Cette expérience a permis dans un premier temps d’illustrer de très nombreux concepts de physique non linéaire dans le cadre d’un montage assez simple à conceptualiser. Ainsi il nous a été possible de tracer des diagrammes expérimentaux de bifurcation et d’attracteur étrange de très bonne qualité alors que ceux ci sont généralement issus de simulations numériques de fonctions mathématiques relativement abstraites. La seconde partie portant sur le contrôle du chaos présente d’un point de vue fondamental un grand intérêt, en effet la sélection de mode instables permet de modifier profondemment les caractéristiques de fonctionnement du système en changeant de manière très fine les paramètres de contrôle. Nous avons pu ainsi obtenir un système ou nous pouvions sélectionner le mode de fonctionnement par simple changement de l’algorithme de correction en amplitude (l’amplitude de la correction en valeur absolue ne dépassant pas dans le pire des cas 10 du signal et devenant ensuite très faible lorsque l’orbite est stabilisée). Enfin la stabilisation du mode instable nous a permis de pouvoir observer précisément la divergence du mode instable pour diverses amplitudes. Nous avons ainsi pu étudier expérimentalement un phénomène bien connu théoriquement mais a priori difficile à observer. M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 23 Liste des annexes A Programmes de simulation (en Fortran) 25 B Programmes de lecture des données (en Turbo Pascal) 32 Bibliographie 38 M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 24 Annexe A Programmes de simulation (en Fortran) A.1 Simulation de la trajectoire de la bille program traj implicit none integer, parameter :: n=100000, m=20 double precision, dimension(1:n) :: z,v,t double precision :: mu,a,w,g,zo,vo,pi integer :: i,j,k !pour test double precision::dt pi = acos(-1.) open(1,file=’traj.res’) ! récupération des paramètres g = 0.01 write(*,*) ’a=? (en mm)’ read(*,*) a zo = a w = 2*pi*30/1000 write(*,*) ’vo=? (en mm/s)’ read(*,*) vo vo = vo/1000 mu = 0.5 M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 25 Programmes de simulation (en Fortran) dt = 2*pi/w/n*m v(1) = vo z(1) = zo t(1)= 0 write(1,*) t(1),z(1),v(1) do i = 2,n v(i) = v(i-1) - g*dt z(i) = z(i-1) + v(i-1)*dt-0.5*g*dt*dt t(i) = (i-1)*dt !prise en compte d’un éventuel rebond if ( z(i) .le. a*cos(w*t(i)) ) then call rebond(t(i),v(i),z(i),g,w,a,mu,dt) end if write(1,*) t(i),z(i),a*cos(w*t(i)) end do close(1) end A.2 Diagramme de bifurcation program bifurc implicit none integer, parameter :: n=100000, m=100, na=1000 double precision, dimension(1:n) :: z,v,t integer :: i,j,k,l,c,c1,c2,c3 double precision :: mu,a,w,g,zo,vo,pi,da,amin,amax,phi,phio double precision::dt pi = acos(-1.) open(1,file=’bifurc.res’) ! récupération des paramètres M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 26 Programmes de simulation (en Fortran) g = 0.01 da=0.001 amax=0.55 amin=0.4 da=(amax-amin)/na a = amin zo = a w = 2*pi*30/1000 vo=0.05 mu = 0.5 dt = 2*pi/w/n*m v(1) = vo z(1) = zo t(1)= 0 do k=1,na a= a+da write(*,*) ’a=’,a do i = 2,n v(i) = v(i-1) - g*dt z(i) = z(i-1) + v(i-1)*dt-0.5*g*dt*dt t(i) = (i-1)*dt !prise en compte d’un éventuel rebond if ( z(i) .le. a*cos(w*t(i)) ) then call rebond(t(i),v(i),z(i),g,w,a,mu,dt,c) c3=c2 c2=c1 c1=c if (i.gt.n/4) then M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 27 Programmes de simulation (en Fortran) phi=t(i)*w/2/pi do l=1,10*m phi=phi-1 if ((phi .lt. 1.3) .and. (phi .ge. 0.3) .and. (c1*c2*c3.eq.1)) then phio=phi end if end do write(1,*) a,phio end if end if end do end do close(1) end A.3 Diagramme τn /τn−1 program tautau implicit none integer, parameter :: n=100000, m=100,r=100 double precision, dimension(1:n) :: z,v,t integer :: i,j,k,l,c,c1,c2,c3,p double precision :: mu,a,w,g,zo,vo,pi,da,amin,amax,phi,phin,phinmun double precision::dt pi = acos(-1.) open(1,file=’tautau.res’) ! récupération des paramètres g = 0.01 write (*,*) ’a=?’ read(*,*) a zo = a w = 2*pi*30/1000 vo=0 M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 28 Programmes de simulation (en Fortran) mu = 0.5 do p=1,r vo = vo + 1./r dt = 2*pi/w/n*m v(1) = vo z(1) = zo t(1)= 0 write(*,*) ’a=’,a do i = 2,n v(i) = v(i-1) - g*dt z(i) = z(i-1) + v(i-1)*dt-0.5*g*dt*dt t(i) = (i-1)*dt !prise en compte d’un éventuel rebond if ( z(i) .le. a*cos(w*t(i)) ) then call rebond(t(i),v(i),z(i),g,w,a,mu,dt,c) c3=c2 c2=c1 c1=c if (i.gt.n/4) then phi=t(i)*w/2/pi do l=1,n phi=phi-1 if ((phi .lt. 1.3) .and. (phi .ge. 0.3) .and. (c1*c2*c3.eq.1)) then phin = phi write(1,*) phinmun,phin end if end do phinmun = phin end if end if end do end do M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 29 Programmes de simulation (en Fortran) close(1) end A.4 Procédures communes double precision function f(dt,ti,vi,zi,g,w,a) implicit none double precision dt,ti,vi,zi,g,w,a f = zi + vi*dt - 0.5*g*dt**2 - a*cos(w*(ti+dt)) end subroutine rebond(ti,vi,zi,g,w,a,mu,dt) implicit none double precision :: ti,vi,zi double precision :: g,w,a,mu,dt double precision :: tcol,s,f integer :: n,nmax !detérmination de tcol par dichotomie nmax = 10000 call zero(-dt,0,nmax,tcol,ti,vi,zi,g,w,a) !nouvelle ci (tcol<0) ti = ti + tcol !vitesse de la chute au moment du contact vi = vi - g*tcol !vitesse après rebond vi = -(1+mu)*a*w*sin(w*(ti)) -mu*vi !hauteur zi = a*cos(w*ti) if (abs(zi-a*cos(w*ti)) .gt. 0.0001) then write(*,*) ’attention abs(zbille(tcol)-zvibreur(tcol))=?’,abs(zi-a*cos(w*t end if if (abs(tcol).gt.1) then write(*,*) ’attention tcol=?’,tcol end if end subroutine subroutine zero(x1,x2,n,xo,ti,vi,zi,g,w,a) implicit none M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 30 Programmes de simulation (en Fortran) double precision:: ti,vi,zi,g,w,a double precision::x1,x2,f,xo integer::n integer::i real::sens,sx2 double precision::x,dx dx=x2-x1 x=(x2+x1)/2 if (f(x2,ti,vi,zi,g,w,a).ge.0) then sx2=1. else sx2=-1. end if do i=1,n if (f(x,ti,vi,zi,g,w,a) .lt. 0) then sens= +sx2 else if (f(x,ti,vi,zi,g,w,a) .eq. 0) then sx2=0 sens=sx2 else sens=- sx2 end if end if dx=dx/2 x=x+sens*dx/2 end do xo=x end M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 31 Annexe B Programmes de lecture des données (en Turbo Pascal) B.1 Diagramme de bifurcation Le programme suivant permet d’afficher à l’écran le diagramme de bifurcation (τ en fonction de l’amplitude A). Pour obtenir un tel résultat, on fait varier linéairement l’amplitude de l’excitation du vibreur à l’aide du PC utilisé comme générateur. {chargement des packages nécessaires} Uses CRT, Typedef, Util, PCMES2, Graph, GrafPlus, GrafPlot; {déclaration des variables} var t1, t2, A, tau, X, Y : SFloat; chMouse : char; {programme principal} begin startclock; {initialisation des paramètres pour le graphe} ClrScr; InitGraphic; StandardView; XScale(1,2,Lin); YScale(0, 70, lin); XAxis(1,2,1,1,10,’Axe X’); YAxis(0, 70,50,1,5,’Axe Y’); SetColor(Blue); RMoveto(0,0); Repeat {lecture des données} repeat until ((Port[IOIn] AND 1) = 0 ); A := tension(0); repeat until ((Port[IOIn] AND 1) <> 0 ); t1 := time; repeat until ((Port[IOIn] AND 2) = 0 ); M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 32 Programmes de lecture des données (en Turbo Pascal) t2 := time; tau := t2-t1; {affichage des données} Plot(A,tau,yellow); Message(’Enter: reticule, Escape pour sortir ’); {diverses options} ch := #0; if keypressed then ch := ReadKey; case ch of del : clearviewport; ’ ’ : readln; end; until ch = esc; LeaveGraphic; end. B.2 Contrôle du chaos Le programme suivant affiche à l’écran le diagramme τn /τn−1 et d’appliquer la correction permettant de se stabiliser sur un mode ou la correction permettant de se stabiliser sur deux modes. {chargement des packages nécessaires} Uses CRT, Typedef, Util, PCMES2, Graph, GrafPlus, GrafPlot; {déclaration des variables} const iMax = 3300; const filename : string =’graph.txt’; var t1, t2, dA, tau, tau2, tauref, tauref2, tauref3, fenetre, K : SFloat; correction, mode, correction2, dyn : byte; i, idelai, idelai2 : longint; tauTab, amplTab, corTab : Array[0..iMax] of Sfloat; tautau : Array[0..3] of Sfloat; {procédure permettant d’initialiser les paramètres de graphe} Procedure AffichGraph; begin InitGraphic; SquareView; XScale(25,70,Lin); YScale(25, 70, lin); XAxis(25, 70,5,1,5,’tau n-1’); YAxis(25, 70,5,1,5,’tau n’); SetColor(Blue); RMoveto(0,0); RLineTo(70,70); M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 33 Programmes de lecture des données (en Turbo Pascal) end; {procédure permettant d’enregistrer les données dans un fichier} Procedure WriteFile; var PathW : String; ASCFile : Text; iPts : Word; ASCLine : String; begin settext; ClrScr; GotoXY(21,10); Writeln(’Ecriture d’’un fichier’); InvertString(19,10,31); SelectFile(FileName, FWrite); If FileOK then begin Message(’Ecriture de ’+ WordStr(i,4)+’ points’); PathW := DefDir+FileName; Assign(ASCFile, PathW); Rewrite(ASCFile); For iPts := 0 to i-1 do begin AscLine := RealStr(tauTab[iPts],10,4)+’ ’ +RealStr(amplTab[iPts],10, 4)+’ ’ +RealStr(corTab[iPts],10,4); Writeln(AscFile, AscLine); end; Close(AscFile); end; AffichGraph; end; {programme principal} begin defDir := ’C:\TP7\chaos\’; startclock; ClrScr; AffichGraph; {Initialisation des paramètres} tauref := 40; tauref2 := 53; tauref3 := 47; fenetre := 10; K := 0.01; M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 34 Programmes de lecture des données (en Turbo Pascal) {initialisation des variables} tau2:=0; correction:=0; correction2:=0; dyn:=0; mode:=0; idelai:=101; idelai2:=11; i := iMax; sortir(2,5); Repeat {lecture des données} repeat until ((Port[IOIn] AND 1) = 0 ); repeat until ((Port[IOIn] AND 1) <> 0 ); t1 := time; repeat until ((Port[IOIn] AND 2) = 0 ); t2 := time; tau := t2-t1; {enregistrement dans le cache des données} tautau[3]:=tautau[2]; tautau[2]:=tautau[1]; tautau[1]:=tautau[0]; tautau[0]:=tau; {options diverses} if (idelai2<12) then inc(idelai2); if (idelai2=10) then correction:=abs(correction-1); {Stabilisation sur deux modes} if (mode=1) then begin if (((abs(tau-tauref) < fenetre) OR (abs(tau-tauref2) < fenetre)) AND (c then begin dA:=K*(tautau[0]-tautau[2]); sortir(2,5-(dA/2)*10); end; if ((abs(tau-tauref) > fenetre) OR (correction=0)) then begin dA:=0; sortir(2,5-(dA/2)*10); end; end; {Stabilisation sur un mode} if (mode=0) M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 35 Programmes de lecture des données (en Turbo Pascal) then begin if ((abs(tau-tauref3) < fenetre) AND (correction=1)) then begin dA:=-K*(tautau[0]-tautau[1]); sortir(2,5-(dA/2)*10); end; if ((abs(tau-tauref3) > fenetre) OR (correction=0)) then begin dA:=0; sortir(2,5-(dA/2)*10); end; end; {affichage des données} if(idelai>100) then begin Plot(tautau[1],tautau[0],yellow); if(dyn=1) then Plot(tautau[2],tautau[1],black); end; if(idelai<102) then inc(idelai); {enregistrement des données} if (i<iMax) then begin amplTab[i]:=tension(0); tauTab[i]:=tau; corTab[i]:=dA; inc(i); inc(idelai); end; if(i=iMax-1) then message(’Enregistrement terminé’); tau2:=tau; {gestion des options} ch := #0; if keypressed then ch := upcase(ReadKey); case ch of del : begin clearviewport; SetColor(Blue); RMoveto(0,0); RLineTo(70,70); end; ’L’ : i:=0; ’D’ : idelai:=0; ’M’ : begin M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 36 Programmes de lecture des données (en Turbo Pascal) mode:=abs(mode-1); if (mode=1) then K:=0.0120; if (mode=0) then K:=0.0500; message(’K ’+ realStr(K,8,4)+’ end; ’ ’ : begin correction:=abs(correction-1); message(’K ’+ realStr(K,8,4)+’ end; ’T’ : dyn:=abs(dyn-1); return : begin i:=0; idelai2:=0; end; ’+’ : begin K:=K+0.001; message(’K ’+ realStr(K,8,4)+’ end; ’-’ : begin K:=K-0.001; message(’K ’+ realStr(K,8,4)+’ end; ’A’ : message(’K ’+ realStr(K,8,4)+’ ’W’ : writefile; end; correction2 := correction; until ch = esc; correction :’+ intStr(correctio correction :’+ intStr(correctio correction :’+ intStr(correctio correction :’+ intStr(correctio correction :’+ intStr(correctio sortir(2,5); end. M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 37 Bibliographie – La bille qui rebondit : une expérience simple pour aborder la physique du chaos Pierre BOISSEL Bulletin de l’union des physisiens N˚741 (Février 1992) – Using small perturbations to control chaos Troy Shinbrot, Celso Grebogi, Edward Ott, James A.Yorke Nature VOL 363 (Juin 1993) – Continuous control of chaos by self-controlling feedback K. Pyragas Physics Letters A (Novembre 1992) Ce rapport a été produit avec LATEX. M. Béthermin, D. Lopez, M. Bauchy - ENS Cachan - 18 février 2007 38