P. 1
REALISATION ET COMMANDE d'un pondule inversé par la logique floue

REALISATION ET COMMANDE d'un pondule inversé par la logique floue

|Views: 1,288|Likes:

More info:

Published by: BrahamChaoucheFethallahYacine on May 11, 2009
Droits d'auteur :Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

05/11/2014

pdf

text

original

REALISATION ET COMMANDE D'UN PENDULE INVERSE

I : INTRODUCTION II : MODELISATION DE LA PLATE-FORME D'ESSAIS II.1:Le pendule inversé II.2:Modélisation
II.2.1.Choix du matériel de guidage II.2.2.Modélisation de la motorisation II.2.3.Mise en oeuvre du modèle de la plate-forme d'essai en boucle ouverte II.2.4. Simulation du modèle de la plate-forme d'essais

III :SIMULATION DE LA PLATE-FORME D'ESSAIS III.1:Principes de la commande floue III.2:Les règles floues III.3:Fuzzification III.4:Inférence et défuzzification III.5:Méthode d'optimisation du recuit simulé III.6:Régulateur flou utilisé lors de la simulation de la plate-forme d'essais III.7:Optimisation des gains du régulateur III.8: Résultats obtenus lors de la simulation en boucle fermée IV :REALISATION DE LA PLATE-FORME D'ESSAIS IV.1:Fabrication de la plate-forme d'essais
IV.1.1 Rail de guidage IV.1.2 Codeur absolu pour l'angle thêta IV.1.3. Codeur incrémental pour la position X IV.1.4.Carte d'acquisition de signaux

IV.2:Sécurité IV.3:Conclusion V :COMMANDE DU PENDULE-INVERSE V.1:Commande du pendule autour de la position 0 radian
V.1.1. Représentation d'état discrète V.1.2. Commande Linéaire Quadratique V.1.3. Reconstructeur d'état V.1.4.Obtention d'un modèle discret de la plate-forme V.1.5.Commande utilisée pour le pendule inversé

V.2:Commande du pendule autour de la position Π radians
V.2.1. Régulateur flou à base de deux règles/Vidolov & Melin 92/ V.2.1.1.Principe V.2.1.2.Commande utilisée pour le pendule inversé V.2.2. Commande non-linéaire

V.2.2.1.Principe V.2.2.2.Résultats

VI :CONCLUSION VII :BIBLIOGRAPHIE et LIENS I : INTRODUCTION
Devant les problèmes délicats de la modélisation et de la commande de systèmes complexes, les outils utilisés deviennent de plus en plus pointus. L'un des axes de recherche au sein du laboratoire ( L.A.M.I.H )concerne la commande de systèmes multivariables. Les premiers essais menés en simulation ont consisté à la mise au point de lois de commande basées sur des optimisations non-linéaires (recuit simulé avec cycle de réchauffement, algorithmes génétiques, stratégie d'évolution). Le but de ce projet est la mise en oeuvre d'une plate-forme d'essais permettant de tester des lois de commande. Le choix de cette plate-forme s'est arrêté sur un système multivariable, non linéaire et instable: le pendule inversé. Ce dernier consiste en un chariot mobile en translation supportant un pendule libre en rotation. Cette plate-forme doit permettre une rotation du pendule de 360° et doit pouvoir être suffisamment flexible pour permettre une adaptation à d'autres systèmes basés sur un principe similaire: double pendule inversé, contrôle d'un anti-balancement de charge,... Dans cette optique, la première étape consiste à effectuer les choix technologiques et à modéliser l'ensemble de la plate-forme. Une loi de commande basée sur la logique floue ayant été développée en simulation sur le pendule inversé /Vermeiren & al. 95/,des rappels sur la commande floue sont ensuite fournis. Pour dimensionner la plate-forme, il a été nécessaire d'adapter la loi de commande au modèle complet de la plate-forme, ce point fait l'objet de la deuxième étape. La derniere partie traite des essais de commande de l'ensemble de la plate-forme. Dans un premier temps, pour de faibles conditions initiales sur l'angle, une loi de commande basée sur la commande linéaire quadratique permet d'assurer la régulation du pendule autour de 0 rad ainsi que la poursuite sur la position du chariot. Pour permettre la prise en compte de conditions initiales quelconques sur l'angle, deux lois de commande sont présentées. La première est basée sur un régulateur flou, la seconde fait appel à une loi de commande non-linéaire. Les différents résultats présentés et discutés montrent que l'association de la loi de commande linéaire avec la loi de commande non linéaire présente la meilleure robustesse vis-à-vis des conditions initiales et des perturbations.

II : MODELISATION DE LA PLATE-FORME D'ESSAIS
Le choix de la plate-forme d'essais étant le pendule inversé, le système devra répondre à deux exigences préliminaires : • • permettre une rotation du bras de 360°, afin de prendre en compte toutes les conditions initiales possibles ; disposer d'une course de déplacement du chariot suffisante pour permettre au pendule de se relever à partir des conditions initiales les plus défavorables.

L'objectif de cette partie est donc d'effectuer le choix du matériel nécessaire à la réalisation de la plate-forme d'essais. La première étape passe par une modélisation de l'ensemble de la plate-forme : moteur, ensemble chariot-pendule, ... Deux grandes familles de modèles sont présentées dans la littérature : /Foulard & al.87/, /Borne & al. 92/, /Landau 93/


les modèles de connaissance utilisant les lois de la physique, des relations mathématiques, etc...;Ce sont des modèles paramétriques (par exemple: fonction de transfert, équations différentielles, ...) les modèles de représentation: lorsque l'analyse interne du système n'est pas possible, il est alors considéré comme une boîte noire.

Notre choix s'est porté sur le modèle de connaissance puisque tous les composants du système peuvent être représentés par des équations différentielles. II.1:LE PENDULE INVERSE Le pendule inversé étudié ici est constitué d'un chariot mobile en translation sur un axe horizontal. Le pendule, tout en étant fixé sur le chariot, est libre en rotation .

En exerçant une force horizontale F(t) sur le chariot, une translation de X mètres de celui-ci est obtenue ainsi qu'une rotation de θ radians du pendule. Le pendule inversé est un système instable en boucle ouverte, non linéaire et multivariable. La commande de ce système doit réaliser :

• •

la régulation sur l'angle θ, en partant d'une condition initiale comprise dans l'intervalle [-Π, +Π] ; la régulation et la poursuite sur la position X, en partant d'une condition initiale comprise dans l'intervalle [-1m , +1m].

Le pendule de longueur 2*L et de masse m dont l'axe de suspension est lié au chariot de masse M, peut se déplacer sur un axe horizontal. Initialement le système est au repos, les frottements situés au niveau de l'axe de rotation sont négligés, les frottements dus au déplacement du chariot sont notés f. La méthode utilisée pour déterminer le modèle est celle des équations du mouvement données par les équations de Lagrange /Kandel & al.92/ : Lagrangien du système : Equations du mouvement : L =1/2.( m + M ) X ' ² +1/2 . m.L². Θ ' ² - L.m.X '.Θ ' .cos Θ - m.g.L.(1+ cosΘ)

La résolution de ce système d'équations différentielles amène au modèle analytique du chariot-pendule suivant :

II.2:MODELISATION II.2.1.Choix du matériel de guidage A partir de simulations effectuées sur le modèle du pendule, il apparaît que le système de guidage doit supporter des vitesses supérieures à 5 m/s. Compte-tenu de cette remarque les systèmes de guidage tels que, glissières à roulements, roulements linéaires à galets et douilles à billes ont été écartées afin d'opter pour un guidage linéaire tel que celui proposé par la société HEPCO .

La technique d'entraînement doit aussi pouvoir accepter de telles vitesses, sans engendrer de jeux mécaniques pouvant générer des retards indésirables. Cette remarque écarte les vis à billes de précision et les pignons-crémaillère. Le choix s'est donc porté sur un entraînement par pignons et courroie crantée. Les exigences technologiques définies, deux solutions sont possibles. La première consiste à réaliser l'assemblage des différents éléments, guidage, transmission, ... La deuxième solution est de faire l'acquisition d'un rail complet de guidage et de transmission. Le rail de guidage retenu est proposé par la société INA et permet de répondre aux exigences du cahier des charges. Les multiples usinages nécessaires à la première solution sont ainsi évités et son coût est inférieur au coût global des différents composants de la première solution.

II.2.2.Modélisation de la motorisation La motorisation du chariot est assurée par un moteur couple à aimants permanents de marque PARVEX . Le modèle dynamique peut se ramener à des équations différentielles linéaires à coefficients constants. Les effets de saturation du circuit magnétique ne sont pas représentés, l'inductance de l'induit est considérée constante et l'ensemble des couples de frottement sont regroupés dans l'expression fm.W(t). Le système d'équations différentielles représentant le moteur est le suivant :

avec

C = i = u = Ki = R = Li = Jm = fm = W =

couple (m.N) intensité (A) tension (V) constante de flux (V/1000tr/mn) résistance d'induit (ohms) inductance d'induit (mH) inertie arbre moteur (Kg.m²) couple de frottement (m.N) vitesse ( rads/s)

Le servoamplificateur pilotant le moteur, dont le schéma électronique a été fourni par PARVEX, peut s'assimiler à un régulateur de typeProportionnel Intégral

L'équation différentielle correspondante au modèle du servoamplificateur est :

II.2.3.Mise en oeuvre du modèle de la plate-forme d'essai en boucle ouverte Le schéma de principe de la plate-forme d'essais est le suivant :

. Un écart Dref, obtenu en comparant l'entrée ref et le retour de la boucle de courant, alimente le servoamplificateur qui délivre alors une tension U au moteur. Celui-ci fournit un couple C qui est transformé en force F par l'intermédiaire des poulies du rail de guidage. Cette force appliquée au chariot permet la variation de l'angle Q et de la position X. Afin, de rendre homogène le modèle global de la plate-forme d'essais, il est nécessaire d'adapter les modèles des différents éléments la composant : - L'intensité impulsionnelle maximale du moteur (limitée par la puissance du servoamplificateur) est de 40 A, la tension de consigne ref issue de la carte d'acquisitions est limitée à +/- 10 V, un gain égal à 0.25 est donc inséré dans la boucle de courant. - Le servoamplificateur délivre une tension maximale de 130 V, son modèle a donc été borné à cette valeur. - Les modèles du moteur et du chariot-pendule pris séparément, donnent chacun une accélération propre:

Ces deux accélérations doivent être homogénéisées. Dans un premier temps, les frottements fm du moteur sont négligés. L'inertie du moteur est ramenée sur le chariot-pendule en transformant l'inertie de rotation en inertie de translation. Il est donc nécessaire de calculer la masse équivalente ramenée au chariot-pendule. L'énergie cinétique en rotation est donnée par :

avec n en tr/mn et JT moment d'inertie total ramené à l'arbre moteur. L'énergie cinétique en translation est donnée par :

avec V en m/s et Mequ en Kg

en posant : Wr = Wt

il vient :

La constante de temps électromécanique du moteur en charge est donnée par :

De ce fait, seule l'équation différentielle concernant le chariot est conservée, et la vitesse de rotation du moteur W(t) (rad/s), est écrite en fonction de la vitesse du chariot X ' (m/s). L'équation :

devient alors :

avec : Ki la constante de flux Pour une vitesse de rotation du moteur de 1500 tr/mn (157 rad/s), la vitesse maximale du chariot pendule sera de 6.75 m/s. II.2.4. Simulation du modèle de la plate-forme d'essais La simulation est réalisée sous l'environnement MATLAB/SIMULINK. Les différents éléments constituant la plate-forme d'essais sont représentés par les relations suivantes : servoamplificateur :

et moteur :

pour la boucle de courant

et poulies :

chariot-pendule :

pour la position

pour l'angle Pour valider définitivement le choix du matériel et ainsi déterminer la course nécessaire pour le rail de guidage, une simulation du comportement de l'ensemble du modèle en boucle fermée corrigée doit être réalisée. Ceci fait l'objet de la partie suivante. III :SIMULATION DE LA PLATE-FORME D'ESSAIS Des études en simulation menées au sein du laboratoire ont permis de dégager une loi de commande basée sur la logique floue adaptée au problème du pendule inversé /Vermeiren & al. 95/. Cette loi de commande ne prend en compte que le modèle du chariot-pendule sans saturation sur la commande. Pour permettre de finir le dimensionnement de la maquette, il a été décidé d'adapter cette loi de commande au modèle complet proposé dans le chapitre précédent.Ce chapitre décrit, dans un premier temps, les principes de la commande floue. Pour limiter les empirismes liés à la mise en oeuvre d'un régulateur flou, une solution peut consister à utiliser une technique d'optimisation de certain de ces paramètres. Dans ce cadre, le deuxième paragraphe présente un algorithme d'optimisation non-linéaire : le recuit simulé avec cycles de réchauffement /Bonnemoy & Hamma 91/.Ce dernier est

alors utilisé pour déterminer les gains d'adaptation d'échelle du régulateur flou. La dernière partie du chapitre présente alors le régulateur flou optimisé et des résultats des simulations. III.1:PRINCIPE DE LA COMMANDE FLOUE Face à la complexité croissante des systèmes à commander, il devient de plus en plus ardu d'élaborer les modèles correspondant, sous forme d'équations mathématiques.De ce fait, le calcul de la loi de commande qui répond de façon optimale à l'objectif du système, devient lui aussi de plus en plus difficile.Une manière de pallier la recherche explicite du modèle d'un système est l'utilisation de la commande floue. Celle-ci est basée sur la notion d'ensembles flous /Zadeh 65/ et sur la perception du système par l'opérateur humain. Cette commande repose sur les deux concepts suivants : ○ ○ décomposition de la plage de variation d'une variable en valeurs linguistiques. Elaboration de règles linguistiques pour décrire les relations Entrées/Sorties. Par exemple : POSITIVE, NULLE, NEGATIVE. Par exemple : si e est NULLE et De est POSITIVE alors Du est NEGATIVE où e représente l'erreur, De la variation de l'erreur et Du la variation de commande. Habituellement un régulateur flou se décompose en trois parties : fuzzification, raisonnement flou et défuzzification /Guerra & al. 92/. La présentation adoptée ici sera aussi scindée en trois éléments : les règles floues, la fuzzification puis l'inférence et la défuzzification regroupés ensemble. III.2:LES REGLES FLOUE Considérées comme le coeur du régulateur flou, les règles linguistiques décrivent les relations existantes entre les entrées de ce régulateur et la commande du système. Dans le cas de systèmes complexes régulés par un opérateur humain, il est fait appel à une extraction des connaissances de l'expert pour déterminer les règles. La difficulté réside alors principalement dans cette extraction. On peut trouver des bases de règles variant d'une vingtaine à plusieurs centaines. Citons comme exemple le double pendule inversé /Terano & al. 88/ où les règles ont été extraites à partir de l'observation de sujets régulant le double pendule inversé et sont au nombre de 28. Pour des essais en simulation, où un modèle du procédé est disponible le nombre de règles est en général assez faible, entre quatre et une vingtaine. La matrice des règles permet de visualiser l'ensemble des règles floues utilisées. Un exemple en est donné ci dessous .

Exemple de matrice des règles. Chaque case de la matrice des règles contient une règle floue. Par exemple, la case grisée contient la règle : si De est NULLE et e est NEGATIVE alors Du est POSITIVE. La partie suivante traite de la fuzzification qui permet d'obtenir les ensembles flous, à partir des variables d'entrées. III.3:FUZZIFICATION La fuzzification permet de transformer les variables réelles d'entrées du régulateur, en variables floues. L'univers du discours d'une variable linguistique e est donné par l'intervalle [-eMAX, +eMAX] , qui représente sa plage de variation. Dans le cas d'un univers du discours continu, les fonctions d'appartenance associées sont le plus couramment de forme triangulaires et trapézoïdales mais peuvent aussi être la représentation de modèles mathématiques plus complexes. L'exemple suivant présente un exemple de fuzzification. Pour une variable d'entrée e, un univers du discours continu, les fonctions d'appartenance représentées par un triangle et deux trapèzes et les valeurs linguistiques : Positive, Zéro, Négative, l'ensemble flou relatif à une valeur 0.5 de la variable d'entrée sera alors: ( 0 ; 0.5 ; 0.5).

Exemple de fuzzification pour un univers du discours continu. Que l'univers du discours soit continu ou discret, les règles floues activées seront celles dont la valeur linguistique est différente de zéro. Pour l'exemple précédent, avec l'ensemble flou (0 ; 0.5 ; 0.5), les règles linguistiques ayant pour prémisse soit "e est Zéro" soit "e est Positive", seront activées. La dernière partie du régulateur doit permettre de générer la commande envoyée au système, elle fait l'objet du paragraphe suivant. III.4:INFERENCE ET DEFUZZIFICATION Deux méthodes sont en général utilisées pour le raisonnement flou. L'une est basée sur l'inférence de règles floues (méthodes classiques de Mamdani et Larsen), l'autre sur la logique floue (méthode de Sugeno). Seule cette dernière sera développée ici. La méthode basée sur la logique floue permet d'obtenir directement la sortie défuzzifiée du régulateur, à partir des règles linguistiques. Pour cela un poids wi est associé à chaque règle, sa valeur dépend de la logique adoptée pour les opérateurs ET et OU contenus dans les prémisses des règles. La partie conclusion des règles est alors simplement un singleton. Dans le cas d'une structure de type PI-flou, la variation de commande fournie par le régulateur est donnée par :

où Dui représente l'abscisse du centre de chaque valeur linguistique de sortie.

La commande du système est alors : Dans le cas d'une structure de type PD-flou, la sortie défuzzifiée est directement la commande. Les principales caractéristiques d'un régulateur flou viennent d'être fournies. La partie suivante se propose de décrire la méthode d'optimisation choisie pour déterminer les différents paramètres du régulateur utilisé lors de notre application, afin d'améliorer les performances du système en boucle fermée. III.5:METHODE D'OPTIMISATION DU RECUIT SIMULE Le caractère non-linéaire des lois de commande utilisant des régulateurs flous rend difficile la synthèse des boucles de régulation avec des techniques classiques. Il est donc indispensable d'utiliser des techniques d'optimisation non-linéaires. Une fois que l'opérateur a défini les objectifs à atteindre, la configuration optimale qui répond le mieux à ces objectifs peut être obtenue en utilisant des algorithmes itératifs. Pour cela un critère, ou une fonction de coût doit être défini dans le but de quantifier l'écart entre la configuration courante et l'objectif à atteindre. Le principe des techniques classiques d'optimisation itérative, consiste, à partir d'une configuration initiale choisie au hasard ou selon une première expérience, à réaliser des modifications élémentaires. Ensuite les valeurs de la fonction de coût avant et après la modification sont comparées. Si la nouvelle configuration engendre un coût plus faible, elle sert de nouveau point de départ pour une nouvelle modification. Dans le cas contraire, la configuration précédente est gardée. Cette opération est réalisée de manière itérative jusqu'à la validation d'un critère d'arrêt préalablement défini. L'inconvénient majeur de ces méthodes est de très souvent converger vers un minimum local de la fonction objectif et non pas vers le minimum global. Pour pallier ces problèmes, différentes techniques ont été mises au point dont la méthode d'optimisation dite du recuit simulé et de ces nombreuses variantes parmi lesquelles nous avons retenu la méthode du recuit avec des cycles de réchauffement /Bonnemoy & Hamma 91/ /Ouattara 96/. Cette méthode, inspirée de la technique du recuit utilisée par les métallurgistes, minimise la fonction de coût moyennant un

paramètre de contrôle de l'algorithme : la température. L'algorithme s'appuie sur deux résultats de physique statistique :

lorsque l'équilibre thermodynamique est atteint à une température T, la probabilité pour un système physique, de

posséder une énergie E, est proportionnelle au facteur de Boltzmann : exp Boltzmann.

avec Ks constante de

pour simuler l'évolution d'un système physique vers son équilibre thermodynamique, il est possible d'utiliser l'algorithme de Métropolis.

Cet algorithme offre l'avantage de pouvoir s'extraire d'un minimum local. Pour cela, un nombre compris entre 0 et 1 est généré

aléatoirement puis comparé à la probabilité P = exp , DE étant la variation de la fonction de coût. La modification des paramètres sera acceptée si le nombre tiré au hasard est inférieur ou égal à la valeur de la probabilité. En appliquant itérativement cette règle d'acceptation, on engendre une séquence des différentes configurations. On montre que lorsque cette séquence est de longueur suffisante, le système se rapproche de l'équilibre thermodynamique, à la température considérée. Cette règle de Métropolis donne une grande importance à la valeur de la température. En effet si celle-ci est élevée, la probabilité P sera proche de 1 et la plus part des modifications seront acceptées. Au contraire pour de faibles températures, la probabilité tendant vers 0, peu de modification seront autorisées. Entre ces deux cas extrêmes, les modifications dégradant le résultat de la fonction de coût seront prises comme conditions initiales de temps en temps, afin de s'extraire d'un minimum local. Lorsque l'équilibre thermodynamique, pour une température donnée, est atteint au bout d'un certain nombre de tirages N(k), une nouvelle séquence des configurations est réalisée après avoir baissé légèrement la température précédente. L'algorithme est généralement stoppé lorsque la température atteint une valeur nulle ou si aucune dégradation de la fonction de coût n'a été acceptée au cours des derniers paliers de température. La méthode d'optimisation du recuit simulé offre généralement une solution satisfaisante au problème posé. Les résultats obtenus par cette méthode dépendent directement du choix effectué sur les paramètres de l'algorithme : ○ ○ ○ choix de la fonction température T(k), généralement une fonction à décroissance lente, nombre N(k) de répétitions entre deux descentes successives de température, choix du critère d'arrêt de l'algorithme.

Dans le cas où le nombre de variables du problème est très élevé, une variante du recuit simulé à été développée : le recuit simulé avec cycles de réchauffement /Bonnemoy & Hamma 91/. Dans cette variante, la procédure du recuit simulé est exécutée plusieurs fois. Les cycles ainsi créés ont pour avantage, en repartant d'une température élevée et d'une configuration initiale affinée par une procédure du recuit précédente, d'améliorer les chances d'aboutir au minimum global de la fonction de coût. La présentation de la méthode d'optimisation étant faite, la partie suivante se propose de fournir les caractéristiques du régulateur flou utilisé lors de la phase de simulation de la plate-forme d'essais en boucle fermée. III.6:REGULATEUR FLOU UTILISE LORS DE LA SIMULATION DE LA PLATE-FORME D'ESSAIS L'algorithme de simulation a été créé sous le logiciel de développement LabWindows. La résolution numérique des équations différentielles est obtenue par la méthode de Runge-Kutta d'ordre 4. Les fonctions d'appartenance sont de forme triangulaire et trapézoïdale et l'univers du discours est divisé en cinq nuances linguistiques : Très Négative, Négative, Zéro, Positive et Très Positive .

Les matrices de règles choisies, pour l'angle et la position, sont les suivantes:

Les différents poids wi, associés aux règles sont donnés par :

wi = min ( 1 , b.wQi + l.wXi ) wi

l et b représentent les coefficients de couplage entre la partie de la sortie du régulateur concernant la position et celle concernant l'angle. La défuzzification de la sortie du régulateur nous donne la commande :

avec Dui l'abscisse du centre de chaque valeur linguistique de sortie. La structure du régulateur flou est :

La structure ayant été présentée, il s'agit de déterminer, par optimisation non linéaire, une combinaison des gains du régulateur permettant de stabiliser l'ensemble du système. III.7:OPTIMISATION DES GAINS DU REGULATEUR Les différents paramètres de réglage du régulateur sont, d'une part les gains de normalisation GQ, GDQ, GX, GDX, et Gu qui permettent d'agir sur la commande, les erreurs et leur variation et d'autre part les coefficients de couplage lambda et bêta, reliant les deux entrées Q et X du régulateur. L'algorithme du recuit simulé avec cycles de réchauffement a permis de définir ces différents gains et coefficients de couplage du régulateur flou. L'utilisation d'un algorithme d'optimisation nécessite de définir la fonction de coût, ou critère, à minimiser. Pour aller plus loin que l'utilisation de critères classiques, ISE, IAE,... ou de type quadratiques, un critère prenant en compte la commande du système et son nombre d'oscillations /Ouattara 96/a été utilisé. Les paramètres du recuit simulé ont été choisis de la façon suivante : ○ fonction température de type logarithmique :

avec Ti la température initiale ○ N(k) = 40 ○ Maxtir = 40 J min = 0.80 ○ probabilité d'acceptation des remontées : critère d'arrêt de l'algorithme basé sur un nombre maximum d'itérations et sur une valeur minimale du critère. nombre maximum de tirages toléré entre deux descentes successives de température :

P = exp

Le déroulement de la séquence de recherche des paramètres du régulateur flou est le suivant :

III.8:RESULTATS OBTENUS LORS DE LA SIMULATION EN BOUCLE FERMEE Dans l'optique de réaliser la commande de notre système à partir d'un micro-ordinateur, le modèle de la plate-forme d'essais, le régulateur flou, l'algorithme d'optimisation, ainsi que le programme de simulation ont été développés en langage C, sous l'environnement graphique LabWindows. Lors d'une première phase, le comportement de chaque élément de la plate-forme d'essais, puis celui de l'ensemble complet ont été comparés aux résultats obtenus sous Matlab/Simulink, ceci afin de vérifier l'exactitude de la programmation. Dans un deuxième temps, le programme d'optimisation nous a permis de déterminer les différents gains et coefficients de couplage du régulateur flou : GQ = 0.715 Gu = 17.707 Rappelons que la commande fournie par ce régulateur doit permettre : ○ la régulation sur l'angle Q, en partant d'une condition initiale comprise dans l'intervalle [-P, +P]. la régulation et la poursuite sur la position X, en partant d'une condition initiale comprise dans l'intervalle [-1m , +1m]. GX = 0.127 l = 0.524 GDQ = 3.705 GDX = 4.471 b = 1.804

Pour terminer, plusieurs simulations de comportement du système ont été réalisées avec différentes conditions initiales et/ou consignes. Quelques exemples représentatifs de ces simulations sont donnés dans ce qui suit. Dans le premier cas de simulation, les conditions initiales et les consignes sont pour l'angle Q0 = P rad, Qc = 0 rad et X0= 0 m, Xc = 0 m pour la position. Le résultat obtenu nous montre que la commande délivrée par le régulateur flou répond à l'objectif fixé et que la course maximum du chariot pendule dans ce cas n'est que de 0.8 m.

La figure suivante propose un exemple de la régulation et la poursuite sur la position X, en partant d'une condition initiale comprise dans l'intervalle [-1m , +1m]. Les conditions initiales et les consignes pour cet essai sont alors Q0= P rad, Qc = 0 rad pour l'angle et pour la position X0= -2 m, Xc = 2 m. La courbe obtenue permet de constater que là aussi la commande délivrée par le régulateur flou répond à l'objectif fixé.

Avec ce chapitre, se termine l'étude théorique. Un modèle de la plate-forme d'essais est élaboré et son comportement en simulation semble correspondre au fonctionnement normal des différents matériels. Le régulateur flou, qui assure la commande du système est suffisamment robuste pour permettre la régulation sur l'angle ainsi que la régulation et la poursuite sur la position X. Au vu de ces résultats de simulation, la réalisation pratique de la plate-forme d'essais est alors envisageable. La décision a donc été prise de passer les commandes du matériel nécessaire et de réaliser la plate-forme d'essais. Le déroulement de cette construction et la mise au point font l'objet du chapitre suivant. IV :REALISATION DE LA PLATE-FORME D'ESSAIS Ce chapitre ce compose de deux parties, l'une concernant la mise en oeuvre des différents éléments de la plate-forme d'essais, la

seconde partie s'intéresse au problème de la sécurité des personnes et du matériel. IV.1:FABRICATION DE LA PLATE-FORME D'ESSAIS Le schéma de principe suivant donne l'ensemble des éléments constituant la plate-forme d'essais.

Dans ce qui suit, des précisions sont apportées sur les éléments déjà étudiés, le matériel manquant est à son tour défini et les opérations de montage sont données. IV.1.1 Rail de guidage Les résultats obtenus lors de la simulation en boucle fermée montrent qu'il est possible, en partant d'une condition initiale Q0 = -P rad, de réguler le pendule autour de la position zéro. Pour cela, la course maximale du chariot mobile est d'environs 0.8 mètres. A partir de ce résultat et avec le soucis de réaliser une plate-forme d'essais de dimensions raisonnables, il a été décidé de commander un rail de guidage ayant une course de quatre mètres. Cette course disponible sera alors scindée en trois zones .

La zone de travail est attribuée aux essais de commande du pendule inversé tandis que les deux zones de sécurité sont destinées, comme leur nom l'indique, à stopper le chariot en toute sécurité, compte tenu de l'accélération et de la vitesse que peut atteindre ce même chariot. Afin de limiter le nombre d'intervenants dans la partie concernant le rail de guidage, la réalisation de la pièce qui permet l'accouplement du moteur au rail a été confiée à la société INA. Par soucis de diminuer l'encombrement de la plate-forme d'essais, il a été décidé de la fixer sur un mur porteur du laboratoire, à

l'aide d'équerres réalisées par l'atelier de mécanique. Le moteur quant à lui est supporté par un pied de maintien fixé au sol .

IV.1.2 Codeur absolu pour l'angle thêta La solution envisagée dès le départ pour mesurer l'angle q du pendule inversé, consiste à fixer directement le pendule sur l'axe d'un codeur absolu. Le codeur sera à son tour fixé sur le chariot mobile du rail de guidage. Le choix s'est porté sur un codeur de la société IVO Industries pouvant transmettre un mot de 13 bits en liaison parallèle. Dans ce cas, la précision de lecture théorique sur l'angle est de 0.04 degrés et sa valeur sera donnée par la lecture directe de ce mot de 13 bits. Les caractéristiques mécaniques de ce codeur confirment la possibilité à l'axe de supporter le pendule. ○ ○ ○ ○ accélération angulaire <= 10 ² rad/s² vitesse de rotation <= 6000 tr/mn charge axiale : 50 N charge radiale : 60 N

Une modification a cependant été apportée lors du montage. En effet, dans le soucis de se rapprocher le plus possible du modèle du pendule inversé élaboré dans le chapitre I, le joint à lèvre protégeant le roulement d'entrée du codeur a été supprimé. En réalisant cette opération, sans aucun risque compte-tenu de l'atmosphère propre du laboratoire, le couple de frottement situé au niveau de l'axe du codeur est passé de 1.5 Ncm à 0.5 Ncm. IV.1.3. Codeur incrémental pour la position X En ce qui concerne la position X du chariot-pendule, un codeur incrémental a été fixé directement sur l'axe d'entraînement du rail de guidage. Ce codeur, fourni en même temps que le moteur, par le département GE2i de l'IUT, délivre 500 impulsions par tour. Le nombre de voies est de deux, décalées de ¼ de période ce qui permet de déterminer le sens de déplacement du chariot. La fréquence maximale de lecture est de 50 Khz, ce qui est compatible avec la vitesse maximale de notre moteur. Avec l'utilisation de ce compteur, la précision de lecture théorique sur la position X sera de 0.54 mm. La valeur de cette position sera donnée par comptage/décomptage d'impulsions puis par conversion en mètre. IV.1.4.Carte d'acquisition de signaux La carte d'acquisition des signaux doit répondre aux besoins suivants : codeur absolu q : - lecture du mot de 13 bits en parallèle - alimentation électrique 5 VDC - une sortie analogique 0-5 VDC pour le calage à 0 radian codeur incrémental X : - 1 entrée compteur de fréquence > 50 Khz et permettant le comptage ou décomptage des impulsions selon le sens de déplacement du chariot mobile.

- alimentation électrique 5 VDC servoamplificateur : - 1 sortie analogique +/- 10 VDC pour la tension Ref. - 1 entrée analogique +/- 10 VDC pour l'image de la vitesse capteurs inductifs du rail de guidage : - 3 entrées analogiques 0-20 VDC En fonction de ces besoins et après contact auprès de la société NATIONAL INSTRUMENTS, le choix s'est porté sur la carte d'acquisition AT-MIO-16-DE-10. Les différentes entrées/sorties ont été configurées sans difficulté, par contre la carte ne possédant pas de port d'entrée supérieur à 8 bits, le traitement du mot de 13 bits concernant l'angle q a été réalisé de la manière suivante : - saisie des bits 20 à 27 du codeur sur le port A de la carte = Thêta_bas, - saisie des bits 28 à 212 du codeur sur le port B de la carte = Thêta_haut, - conversion décimale du mot de 13 bits en masquant Thêta_haut avec la valeur 31, Thêta_global = [(Thêta_haut & 31)* 28 + Thêta_bas] - conversion en radians : Thêta = (Thêta_global*2*P) / ( 213 - 1) En ce qui concerne la position X du chariot, le compteur est initialisé avec une valeur égale à 3400 lorsque le chariot est situé au centre du rail de guidage. Ceci permet de ne travailler qu'avec des valeurs positives du nombre d'impulsions qui est alors converti en mètres par : X = Nb.impulsions * P*0.086 / 500 Les quelques détails concernant la construction de la plate-forme d'essais ayant été fournis, la partie suivante traite du problème important de la sécurité. IV.2:SECURITE Les sécurités a mettre en oeuvre sur la plate-forme d'essais sont de deux ordres : ○ ○ protection des personnes, protection du matériel.

En ce qui concerne la protection des individus, la plus simple à réaliser, la solution consiste tout simplement a enfermer la plateforme d'essais dans une enceinte dont l'accès ne peut se faire qu'en ayant mis le système hors-tension. L'enceinte de protection doit être translucide et un système de clef unique servant à l'alimentation électrique ainsi qu'à l'ouverture de l'enceinte est à prévoir afin d'éviter qu'une personne se laisse enfermer volontairement à l'intérieur pour agir sur le pendule en fonctionnement. A noter que cette protection n'est pas réalisée actuellement mais qu'il est primordial de la mettre en place. La protection du matériel est réalisée de 2 manières : logicielle et électromécanique. La sécurité logicielle consiste à contrôler l'entrée du chariot mobile dans les zones de sécurité, soit par passage du chariot devant des capteurs inductifs, soit lorsque la position X n'est pas comprise dans l'intervalle [1m , 3m]. Dans le cas où cette sécurité est active, un algorithme de retour en position centrale du rail de guidage est exécuté. Pour obtenir un temps de réaction le plus bref possible lors de l'entrée dans les zones de sécurité, une commande inversée est fournie au servoamplificateur jusqu'à ce que la vitesse du chariot soit nulle. Un régulateur de type Proportionnel Intégral assure alors l'asservissement de la position X pour le retour en position centrale. La sécurité électromécanique est basée sur les protections classiques de l'armoire électrique (fusibles, contact thermique de l'enroulement moteur, ..) ainsi que sur les contrôles opérés par le servoamplificateur (survitesse, court-circuit, sous ou surtension, ...). L'entrée dans les zones de sécurité est aussi détectée par deux fin-de-course placés après les capteurs inductifs. La conséquence de la plupart de ces sécurités électromécaniques est de couper l'alimentation électrique du contacteur de ligne du moteur. Dans ce cas et du fait de l'inertie, le chariot poursuit sa course et vient cogner violemment en butée de rail. Pour pallier ce problème, l'axe d'entraînement du rail est équipé avec un frein par manque de courant de marque KEB. Pour terminer ce chapitre, l'algorithme de mise en oeuvre de la plate-forme d'essais est donné figure suivante.

IV.3:CONCLUSION La plate-forme d'essais est à ce jour opérationnelle. Toutes les sécurités ont été prises pour que les algorithmes de commande puissent être appliqués sans causer des dégradations matérielles. Cependant, reste à réaliser l'enceinte de protection. L'étape suivante consiste à élaborer une commande permettant dans un premier temps une régulation de l'angle autour de 0 rad et dans un deuxième temps une régulation de l'angle sur toute sa plage de variation. La régulation et la poursuite de la position du chariot-pendule étant bien sûr assurées par ces commandes. Cela étant, cette plate-forme d'essais sera disponible pour mettre en oeuvre d'autres types de commandes multivariables. V :COMMANDE DU PENDULE-INVERSE L'objet de ce chapitre est de fournir un exemple de commande du pendule-inversé, répondant aux objectifs de régulation et de poursuite définis précédemment. Les premiers essais menés ont consisté à tester la régulation floue proposée précédemment. Ces essais n'ont malheureusement pas abouti. Il est difficile de trouver une raison à cet échec, simplement il semble que la structure du régulateur ne soit pas adaptée au cas réel. L'étude de cette loi de commande sera poursuivie ultérieurement et comparée à celles obtenues dans ce mémoire.

La loi de commande proposée est scindée en deux parties, selon que le pendule se situe autour de sa position d'équilibre instable 0 radian ou autour de sa position d'équilibre P radians. V.1:COMMANDE DU PENDULE AUTOUR DE LA POSITION 0 RADIAN Dans un premier temps, il s'agit de mettre au point une commande permettant de rattraper des petits angles et des perturbations de faible amplitude. Pour des petits angles, le modèle pouvant être facilement linéarisé, la commande mise en oeuvre est basée sur la théorie de la commande Linéaire Quadratique, utilisant la représentation d'état discrète du système. Quelques rappels sont présentés concernant cette commande dans les paragraphes suivants. V.1.1. Représentation d'état discrète La représentation d'état discrète d'un système linéaire à coefficients constants, d'ordre n, possédant r entrées et m sorties s'écrit /Foulard & al.87/ :

avec X le vecteur d'état de dimension (n x 1 ) u y A B le vecteur d'entrée de dimension ( r x 1 ) le vecteur de sortie de dimension ( m x 1 ) la matrice d'état de dimension ( n x n ) la matrice d'entrée de dimension ( n x r )

C la matrice de sortie de dimension ( m x n ) D la matrice de couplage entrées-sorties de dimension ( m x r ) i l'instant d'échantillonnage Le diagramme structurel de ce système multivariable est alors :

V.1.2. Commande Linéaire Quadratique La commande linéaire quadratique est issue de l'application des théorèmes de stabilité de Lyapunov utilisés sur les systèmes linéaires. Soit le système multivariable à r entrées, m sorties et d'ordre n dont la représentation d'état discrète est la suivante :

avec f le vecteur des perturbations. On recherche la commande u ( i ) permettant de minimiser, sur un horizon N considéré infini, le critère quadratique suivant / Foulard & al.87/:

avec

○ ○

Q et R les matrices de pondération définies positives et respectivement d'ordre (m x m) et ( r x r). e ( i ) le vecteur d'écart entre les consignes z et les sorties y ( i )

. La solution optimale est de la forme:

avec

Ces équations de récurrence sont calculées en temps inverse, à partir des valeurs finales K ( N ) = 0 et g ( N ) = 0. Les valeurs de la matrice L et du vecteur m dépendent directement du choix des matrices Q et R qui agissent sur la rapidité et la robustesse de la commande. Une première évaluation de ces matrices peut être effectuée avec la règle de Bryson /De Larminat 93/ qui donne :

et

avec

Le choix des matrices de pondération est ensuite affiné par essais et erreurs en simulation. La commande par retour d'état suppose que le vecteur d'état X ( i ) soit accessible. En règle générale seule les entrées et sorties du système sont disponibles ; le vecteur d'état peut être alors remplacé par son estimation ^X ( i ) sans modifier les propriétés de la commande. L'estimation est obtenue grâce à un reconstructeur d'état ou observateur qui est un modèle déterministe du système à commander. V.1.3. Reconstructeur d'état Le rôle de l'observateur est de fournir une estimation de l'état réel du système à l'instant i+1, à partir des informations présentes à l'instant i. Une représentation du système et de son observateur est donné par le diagramme structurel suivant :

Les équations caractérisant l'observateur sont:

avec Kobs la matrice de gain de l'observateur, calculée par minimisation d'un critère quadratique et qui peut être déterminée séparément de la commande (principe de séparation /Foulard & al.87/ ). L'observateur donnant maintenant accès à toutes les variables d'état, la structure de commande est :

V.1.4.Obtention d'un modèle discret de la plate-forme Le modèle théorique de la plate-forme d'essais est constitué, comme vu précédemment, d'équations différentielles .Les hypothèses suivantes : sin Q = Q, cosQ = 1 et Q2sinQ = 0 permettent la linéarisation de ce modèle autour de la position d'équilibre instable Q = 0 rad Le modèle du chariot-pendule devient :

pour la position

pour l'angle

Pour obtenir un modèle plus précis du chariot-pendule, une optimisation des paramètres du modèle théorique a été réalisée. Dans un premier temps, afin d'obtenir des courbes de sorties du système réel pour des petits angles, un régulateur de type avance de phase a été mis en oeuvre sur l'angle du pendule. Des fichiers de points: X et Q fonction d'une séquence de commande sont alors obtenus. Les paramètres à optimiser sont : M equ la masse équivalente du chariot et f les frottements du chariot. A l'aide des fichiers de points réels une procédure d'optimisation programmée sous l'environnement Matlab/Simulink a permis de minimiser l'erreur entre modèle et système réel ; ce qui donne la représentation d'état continue :

avec Xd =

le vecteur d'état.

Les matrices de la représentation d'état discrète de ce modèle linéaire sont (pour une période d'échantillonnage Te = 0.003 s):

Ad =

Bd =

Cd =

Dd =

Comme il est possible de le constater, ces matrices sont mal conditionnées. De plus l'observation des pôles ( 0, -2574.9, 9.9, -9.9, -328.7, -18.5) de ce système d'ordre 6 laisse apparaître une constante de temps de 0.38ms négligeable par rapport à la période d'échantillonnage. Un nouveau modèle d'ordre 5 est alors défini. Les matrices de la représentation d'état discrète de ce nouveau modèle linéaire sont (pour une période d'échantillonnage Te = 0.003 s):

Adred =

Bdred=

Cdred = V.1.5.Commande utilisée pour le pendule inversé

Ddred =

avec Xdred =

le vecteur d'état.

A partir de ce modèle, les fonctions internes de Matlab nous permettent d'obtenir, par minimisation d'un critère quadratique, la matrice L de commande par retour d'état.

L=

avec Qcom =

et Rcom = 0.08

La matrice de gain Kobs de l'observateur est obtenue en considérant le problème de commande associé au système dual.

Kobs =

avec Qobs =

et Robs =

L'exemple de commande fourni figure suivante nous permet de constater que les régulations sur l'angle et la position sont assurées malgré une oscillation entretenue. Celle-ci est due à une bande morte de +/- 0.5 volts. Effectivement, une tension de commande minimale d'environ +/- 0.5 volts est nécessaire pour vaincre les inerties de l'ensemble de transmission, ainsi toutes les tensions de commande comprises dans cet intervalle n'ont aucun effet sur le chariot-pendule ce qui a pour conséquence de laisser " retomber " le pendule jusqu'à ce que l'erreur sur l'angle soit suffisante pour générer une tension de commande plus importante.

Réponse du système pourQ0 = 0.5rads et Xg0 = 0 m.

Commande pourQ0 = 0.5rads et Xg0 = 0 m. En ce qui concerne l'observateur, on peut remarquer que les erreurs entre ses réponses et celles du système réel sont réduites.

Erreurs entre observateur et système réel. Les limites de fonctionnement de la commande mise en oeuvre sont obtenues pour un angle initial Q0 = +/- 0,7 rads. Au delà de cette valeur, la course du chariot n'est plus suffisante pour permettre de réguler l'angle. Les régulations de l'angle thêta autour de 0 rad et de la position X autour de 0 m sont obtenues ; l'essai suivant montre un résultat en poursuite sur la position du chariot-pendule.

Réponse pour Q0=-0.35rads,Xg0 = 0 m et Xgc =0.2 m. Comme vu précédemment, les effets de la bande morte sont toujours présents mais la commande répond de façon satisfaisante à l'objectif de poursuite sur la position X. La commande autour de la position d'équilibre Q = 0 radian étant réalisée, la partie suivante traite de la commande permettant, à partir d'une condition initiale Q0 = -P radians, de " redresser " le pendule jusqu'à une valeur suffisamment faible de l'angle, pour être pris en charge par la commande Linéaire Quadratique. V.2:COMMANDE DU PENDULE AUTOUR DE LA POSITION P RADIANS Pour réaliser le " redressement " du pendule, nous avons testé deux types de commande : l'une utilisant un régulateur flou à deux règles /Vidolov & Melin 92/, l'autre qualifiée de non-linéaire, inspirée de /Qifeng Wei & al.95/. Dans les deux cas il s'agit d'augmenter l'énergie potentielle du pendule en créant un balancement du pendule. La première partie de ce paragraphe, donne rapidement le principe du régulateur flou à deux règles. V.2.1. Régulateur flou à base de deux règles/Vidolov & Melin 92/ V.2.1.1.Principe Pour ce type de commande, seules deux règles sont utilisées: R1: SI erreur est Positive ET variation erreur est Positive ALORS sortie est Positive. R2: SI erreur est Négative ET variation erreur est Négative ALORS sortie est Négative. L'erreur et sa variation sont définies par des fonctions d'appartenance représentées figure suivante:

et vérifiant les relations suivantes:

La commande est définie par les fonctions d'appartenance représentées figure suivante:

et vérifie les relations suivantes :

La méthode de raisonnement utilise :

V.2.1.2.Commande utilisée pour le pendule inversé Pour augmenter l'énergie potentielle, l'idée est d'utiliser cette commande pour créer, à partir d'une condition initiale sur l'angle Q0 = -P radians, un balancement du pendule d'amplitude croissante par changement de consigne. Dans un premier temps, un changement d'échelle de l'angle Q est réalisé pour obtenir une lecture dans l'intervalle [0 , 2 P] .

Position angulaire du pendule.

Le balancement est obtenu par modification du but à atteindre ( 0 ou 2 P), selon que la position du chariot-pendule dépasse une valeur maximale autorisée. Dans ce cas, le changement de but provoque une inversion de la commande et donc du sens de déplacement du chariot-pendule. Pour chaque modification du but à atteindre, la commande est diminuée afin de créer une amplitude croissante du balancement. Dés lors que la position angulaire du pendule est comprise dans l'intervalle [-0.5 rad ; 0.5 rad], seul l'algorithme de commande par retour d'état est utilisé. Les paramètres du régulateur flou sont :

Sur l'exemple de réponse fourni par la figure suivante, on remarque qu'un seul balancement est nécessaire pour relever le pendule de sa position initiale -P radians.

Réponse du système pour Q0 = -P rads et Xg0 = 0 m.

Commande pour Q0 = -P rads et Xg0 = 0 m. Ce type de commande permet de répondre à une condition initiale sur l'angle de P rads mais ne présente pas un comportement robuste vis-à-vis de conditions initiales en vitesse et/ou de perturbations sur le pendule. Un deuxième type de commande a alors été implémenté. V.2.2. Commande non-linéaire Cette méthode présente l'avantage de prendre en compte directement dans l'élaboration de la commande la distance maximale pouvant être parcourue par le chariot. V.2.2.1.Principe Redresser le pendule, à partir d'une condition initiale Q0 = - P rads, se résume à augmenter son énergie potentielle /Qifeng Wei & al.95/. Cette énergie, en étant une fonction de l'angle Q, dépend de l'accélération X'' ( t ) du chariot-pendule. L'augmentation d'énergie peut être réalisée de deux manières : ○ ○ soit augmenter fortement l'énergie sur un instant très bref, ce qui nécessite une puissance importante de la motorisation ainsi qu'une capacité d'accélération du chariot-pendule suffisante et compatible avec son guidage ; soit l'énergie potentielle est augmentée par paliers, ce qui crée alors un balancement du pendule. Par soucis de sécurité, cette solution est utilisée.

Séquences de balancement du pendule.

Séquences d'accélération du chariot.

Cette répétition des séquences augmentant à chaque étape l'énergie du système, elle permet de ramener l'angle du pendule dans l'intervalle [-0.5rads ; 0.5rads]. Dans ce cas la commande par retour d'état présentée précédemment est appliquée. Pour éviter d'une part, que le bras n'arrive avec des vitesses trop importantes dans cette bande, et d'autre part que le basculement d'un régulateur sur l'autre ne se fasse de façon trop brutale, une étape de décélération du bras est activée permettant ainsi de diminuer la vitesse Q' ( t ). Les différents paramètres utilisés pour les trois séquences sont : ○ ○ ○ ○ V.2.2.2.Résultats Le premier essai est réalisé à l'aide des conditions initiales suivantes : Q0 = P rads, Q '0 = 0 rad/s, Xg0 = 0 m avec la position de consigne : Xgc = 0m. Les figures suivantes montrent en premier lieu le mouvement répété du chariot sur 1,6 s pour la séquence de commandes donnée. On remarque également que l'angle du pendule s'est rapproché, à chaque fin de cycle, de plus en plus de l'intervalle [-0,5 rad ; 0,5 commande de 3 volts pour l'accélération de la séquence 1 distance max. parcourue par le chariot-pendule = 0.8 m durée de la première séquence = 0.5s coefficient a de la deuxième séquence = 2

rad], jusqu'à l'atteindre vers 1,6s. Le basculement sur le régulateur linéaire avec décélération de la vitesse du bras étant alors effectué. Ce basculement effectué à basse vitesse angulaire, on retrouve le comportement attendu du régulateur linéaire avec l'effet de la bande morte.

Réponse pour

Q0 = P rads ,Q '0 = 0 rad/s, Xg0 = 0 m et Xgc = 0m.

Commande pour Q0 = P rads ,Q '0 = 0 rad/s, Xg0 = 0 m et Xgc = 0m. Le plan de phase de l'angle associé à cet essai est également tracé figure suivante. Il montre l'évolution de la vitesse angulaire du pendule en fonction de l'angle Q. On y retrouve l'effet de balancement du pendule ainsi que le basculement sur la commande par retour d'état.

Plan de phase

pour Q0 = P rads ,Q '0 = 0 rad/s, Xg0 = 0 m et Xgc = 0m.

Ce premier essai a permis de montrer la faisabilité de l'approche, les conditions initiales choisies étant identiques que celles prises en compte pour l'élaboration de la loi de commande. Un deuxième essai consiste à modifier simplement la condition initiale sur la position du chariot, soit : Q0 = - P rads ,Q '0 = 0 rad/s, Xg0 = 0.3 m et la position de consigne:Xgc = 0m. La figure suivante montre que la commande répond aussi aux objectifs fixés.

Réponse pour Q0 = - P rads ,Q '0 = 0 rad/s, Xg0 = 0.3 m et Xgc = 0m.. Pour éprouver la robustesse des lois de commande proposées, des essais avec des conditions initiales différentes de Q0 = -P rads, Q '0 = 0 rad/s sont présentés. Le troisième essai est réalisé à partir d'une condition initiale différente sur l'angle soit : Q0 = - P/2 rads ,Q '0 = 0 rad/s, Xg0 = 0 m et la position de consigne: Xgc = - 0.3 m. La figure suivante montre que le cycle de balancement est réduit. Le fait d'avoir une condition initiale de l'angle du pendule, se rapprochant de zéro radian permet d'accumuler suffisamment d'énergie potentielle pour " relever " le pendule sans effectuer un cycle complet de balancement. En fait, il apparaît que le système est capable de délivrer une commande acceptable quelles que soient les conditions initiales sur l'angle et la position du chariot pour une vitesse initiale du pendule nulle Q '0 = 0 rad/s.

Réponse pour Q0 = - P/2 rads ,Q '0 = 0 rad/s, Xg0 = 0 m et Xgc = - 0.3 m. L'essai suivant permet de rendre compte de la robustesse de la commande aux fortes perturbations sur l'angle. Les conditions initiales sont : Q0 = P/8 rads, Q '0 = 0 rad/s, Xg0 = 0.3 m et la position de consigne:Xgc = 0 m, seul le régulateur linéaire est donc utilisé au début de l'essai. Les perturbations prises en compte (instants 5s et 11s) correspondent à des coups " violents " donnés sur le pendule. La course du chariot n'étant pas assez grande, ces perturbations entraînent une retombée du pendule. Le cycle de balancement est alors réactivé et les lois de commande permettent de ramener le système aux valeurs de consigne.

Réponse pour Q0 = P/8 rads, Q '0 = 0 rad/s, Xg0 = 0.3 m et Xgc = 0 m , perturbations à t=5 s et 11 s. Enfin, le cinquième et dernier essai, présenté figure suivante correspond aux conditions initiales suivantes : Q0 = - P/2 rads, Q '0 = 10 rads/s, Xg0 = 0 m et la position de consigne: Xgc = 0 m. Ces conditions initiales sont obtenues obtenue en faisant " tournoyer " le pendule avant le lancement du programme de commande.

Réponse pour Q0 = - P/2 rads, Q '0 = 10 rads/s, Xg0 = 0 m et Xgc = 0 m. Encore une fois, la commande mise en oeuvre permet de ramener le système aux valeurs de consignes voulues même dans le cas d'une vitesse angulaire initiale non nulle. Ce chapitre a permis de dégager des lois de commande robustes vis-à-vis des conditions initiales et des perturbations. Ces lois de commande sont spécifiques au problème du pendule inversé et ont permis de valider le matériel utilisé pour la plate-forme d'essais. VI :CONCLUSION Ce mémoire a présenté la réalisation et la commande d'un pendule inversé. La partie réalisation a été effectuée après une simulation du comportement de l'ensemble de la plate-forme et a abouti à retenir une solution d'entraînement du chariot pendule par courroie crantée. Les objectifs définis ont été atteints dans la mesure où le LAMIH dispose d'une plate-forme d'essais permettant de tester des lois de commande et, que cette dernière est suffisamment flexible pour permettre une adaptation à d'autres systèmes basés sur un principe similaire : double pendule inversé, contrôle d'un anti-balancement de charge, ... Des algorithmes de commande ont été obtenus permettant la validation de l'ensemble de la plate-forme. En dehors des algorithmes mis en oeuvre, il reste, bien entendu, des tests d'autres types de lois de commande à effectuer. Notamment, l'échec du passage de la commande floue de la simulation à la réalité est un point négatif, et il conviendra de repenser à la structure du régulateur flou, puisque ce type de commande a été utilisée avec succès dans d'autres études sur le pendule inversé /Yamakawa 89/. Dans une perspective à court terme, des synthèses de lois de commande basées sur la logique floue, sur le retour d'état flou, et sur les réseaux de neurones sont envisagées. Cette étude devrait permettre de comparer ces différentes lois de commande, en termes de robustesse, de temps de développement,... Enfin, à plus long terme, le passage de la plate-forme à une configuration de double pendule inversé est également envisagée. Pour ce faire, une solution peut être d'adjoindre au pendule un second bras articulé à l'aide d'un capteur angulaire. Il restera bien entendu à trouver des lois de commande adaptées,... VII :BIBLIOGRAPHIE et LIENS C. BONNEMOY, S.B. HAMMA La méthode du recuit simulé : Optimisation globale dans R n APII - vol 25 - pp 477-496, 1991. P. BORNE, G. DAUPHIN-TANGUY, J.P. RICHARD, F. ROTELLA, I. ZAMBETTAKIS Modélisation et identification des processus tome 1, Edition Technip, 1992. A. BRADSHAW, J. SHAO Swing-up control of inverted pendulum systems Robotica - vol 14 - pp 397-405, 1996. H. BÜHLER Réglage par logique floue Collection électricité, Presses Polytechniques et Universitaires Romandes, 1994.

P. DE LARMINAT Automatique : Commande des systèmes linéaires Traité des nouvelles Technologies, série Automatique, HERMES, 1993. A. EL ASSOUDI, H. HAMMOURI Commande d'un système mécanique "chariot pendule" APII - vol 27 - n°5 - pp 515-540, 1993. C. FOULARD, S. GENTIL, J.P. SANDRAZ Commande & régulation par calculateur numérique Eyrolles, 1987. T.M. GUERRA, P. LOSLEVER, C. GOMES Contrôle flou : méthodes et éléments de réglages C.N.R.S. - Rapport du G.R. Automatique 92-1 - Projet CS&N, 1992. T.M. GUERRA, S. OUATTARA Panorama des concepts et évolution des applications de la commande floue Actes 1er Congrès AFCET - pp 1-10, 1993. A. KANDEL, L. LI, Z. CAO Fuzzy inference and its applicability to control systems Fuzzy Sets and Systems - vol 48 - pp 99-111, 1992. I.D. LANDAU Identification et commande des systèmes Traité des nouvelles Technologies, série Automatique, HERMES, 1993. E.H. MAMDANI Application of fuzzy algorithms for control of simple dynamic plant in Proceedings of IEE - vol 121 - n°12 - pp 1585-1588, 1974. S. OUATTARA, T.M. GUERRA, P. LOSLEVER Scaling factors selection for a fuzzy controller : Rules ' derivation Proc. of EUFIT ' 95 - Aachen - vol 2 - pp 942-946, 1995. S. OUATTARA Mise en œuvre d’une loi de commande adaptative floue indirecte Thèse de Doctorat, 1996. W.QIFENG, W.P. DAYAWANSA, W.S. LEVINE Non-linear Controller for an Inverted Pendulum Having Restricted Travel Automatica - vol 31 - n°6 - pp 841-850, 1995. P. SIARRY La méthode du recuit simulé : théorie et applications APII - vol 29 - n°4-5 - pp 535-561, 1995. M. SUGENO An Introductory survey of fuzzy control Information Sciences - vol 36 - pp 59-83, 1985. T. TERANO, S. MASUI, K. TANAKA, Y.MURAYAMA Manual control of an intrinsically unstable system and its modelling by fuzzy logic Informations Sciences, vol 45 - pp 249-273, 1988. L. VERMEIREN Mise en œuvre de régulateurs flous pour des systèmes multivariables Rapport de D.E.A. - L.A.I.H. - Université de Valenciennes, 1994. L. VERMEIREN, T.M. GUERRA, S. OUATTARA An example of multivariable system regulated by fuzzy control

Proc. of EUFIT ' 95 - Aachen - vol 2 - pp 1129-1133, 1995. B. VIDOLOV, C. MELIN Deux applications de contrôle flou pour des systèmes mimo, C.N.R.S. - Rapport du G.R. Automatique 92-2 - Projet CS&N, 1995. T. YAMAKAWA Stabilisation of an inverted pendulum by a high-speed fuzzy logic controller hardware system Fuzzy Sets and Systems - vol 32 - pp 161-180, 1989. L.A. ZADEH Information and Control Fuzzy Sets - vol 8 - pp 338-353, 1965.

Liens :
http://www.univ-valenciennes.fr/LAMIH/pendule/ http://iawww.epfl.ch/Laboratories/pendule/PenduleFrame.html http://www.aptronix.com/fuzzynet/applnote/twostage.htm

You're Reading a Free Preview

Télécharger
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->