Approximation par des B-Splines de solutions optimales pour des problèmes LQ : une estimation a posteriori de l’erreur

24/09/2017
Publication e-STA e-STA 2006-4
OAI : oai:www.see.asso.fr:545:2006-4:19919
DOI :

Résumé

Approximation par des B-Splines de solutions optimales pour des problèmes LQ : une estimation a posteriori de l’erreur

Métriques

18
5
417.02 Ko
 application/pdf
bitcache://7d7d9c066c4e81f0c2363252377afaa0c39fe89d

Licence

Creative Commons Aucune (Tous droits réservés)
<resource  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns="http://datacite.org/schema/kernel-4"
                xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4/metadata.xsd">
        <identifier identifierType="DOI">10.23723/545:2006-4/19919</identifier><creators><creator><creatorName>Olivier Gibaru</creatorName></creator><creator><creatorName>Philippe Auquiert</creatorName></creator><creator><creatorName>Wilfrid Perruquetti</creatorName></creator></creators><titles>
            <title>Approximation par des B-Splines de solutions optimales pour des problèmes LQ : une estimation a posteriori de l’erreur</title></titles>
        <publisher>SEE</publisher>
        <publicationYear>2017</publicationYear>
        <resourceType resourceTypeGeneral="Text">Text</resourceType><dates>
	    <date dateType="Created">Sun 24 Sep 2017</date>
	    <date dateType="Updated">Sun 24 Sep 2017</date>
            <date dateType="Submitted">Mon 15 Oct 2018</date>
	</dates>
        <alternateIdentifiers>
	    <alternateIdentifier alternateIdentifierType="bitstream">7d7d9c066c4e81f0c2363252377afaa0c39fe89d</alternateIdentifier>
	</alternateIdentifiers>
        <formats>
	    <format>application/pdf</format>
	</formats>
	<version>33844</version>
        <descriptions>
            <description descriptionType="Abstract"></description>
        </descriptions>
    </resource>
.

Approximation par des B-Splines de solutions optimales pour des problèmes LQ : une estimation a posteriori de l’erreur Philippe AUQUIERT1 , Olivier GIBARU2 , Wilfrid PERRUQUETTI3 1 LAMAV, Université de Valenciennes, 59133 Valenciennes Cedex, France 2 L2MA, ENSAM de Lille, 8 Bld Louis XIV, 59046 Lille Cedex, France olivier.gibaru@lille.ensam.fr 3 LAGIS UMR CNRS 8146, Equipe SyNeR, Ecole Centrale de Lille, 59800 Villeneuve D’Ascq, France wilfrid.perruquetti@ec-lille.fr http://syner.ec-lille.fr/robocoop/ Résumé— Nous proposons une alternative à l’équation de Riccati lors de la résolution de systèmes linéaires quadra- tiques en contrôle optimale. Une transformation de l’équa- tion d’état basée sur la forme de Brunoswski de ce système permet de mettre en évidence une représentation sous la forme de sorties dites plates. Le système ainsi transformé nous permet d’exprimer le problème de contrôle optimal sous la forme d’un problème variationnel. Une approxima- tion par une B-Spline des sorties plates est proposée ainsi que la majoration a posteriori de l’erreur commise. L’intérêt de cette majoration d’erreur est qu’elle permet d’optimiser le placement des noeuds de la B-Spline afin de satisfaire une tolérance donnée. Mots-clés— commande LQ, platitude, B-Spline I. Introduction Soient u la commande du système à étudier (ou entrée) et x l’état de ce système alors la planification de trajectoire de ce système consiste à déterminer une trajectoire t −→ (x (t) , u (t)) partant d’un état initial xi en t = 0 et amenant le système à un état final xf en t = T. Ces deux états sont d’ailleurs en général fixés à l’avance. Si le système est commandable, on dispose alors en gé- néral d’une infinité de trajectoires pour passer de xi à xf . Il faut alors faire un choix parmi l’ensemble des trajec- toires possibles. C’est le problème de la commande opti- male. Cette sélection est réalisée par la minimisation de certains critères (temps, vitesse, ...) et en tenant compte de contraintes (commande bornée, ...). La résolution du pro- blème permet de déterminer une trajectoire de référence (xr (t) , ur (t)). Pour les systèmes linéaires et un critère LQ, on utilise généralement l’équation de Riccati Algébrique dans le cas d’un horizon temporel infini ou différentielle pour un hori- zon fini (Cf. [14]). Nous proposons dans cet article et [13] une autre approche basée sur la platitude. La platitude des systèmes [8], [7], [9] est une propriété naturelle qui permet de décrire entièrement le comportement d’un système par le comportement de variables particulières appelées sorties plates. Cette propriété est fondamentale pour la planifica- tion de trajectoire (voir par exemple [12], [15]). Cette ap- proche a permis d’obtenir des résultats intéressants pour des problèmes de commande optimale [10], [2], [18], [16], [19]. Si l’horizon temporel est inifini, il est montré dans [13] que les coefficients du retour d’état répondant au pro- blème s’obtiennent en calculant les racines d’un polynôme. Nous allons voir ici que dans le cas d’un horizon tempo- rel fini, nous retombons sur un problème de Dirichlet. Afin de trouver une solution à ce problème avec une précision souhaitée, nous allons voir que le calcul de cette trajectoire peut être effectué par approximation. Nous proposons de le faire en utilisant une approximation par B-Splines polyno- miales où l’erreur a posteriori est calculée. Cette estimation nous permet de définir un algorithme de calcul permettant de placer les noeuds de la B-Spline afin de satisfaire une tolérance fixée sur l’erreur d’approximation. Illustrons ceci sur l’exemple suivant : Exemple 1: Calculons la commande optimale qui mini- mise le critère J = T 0 c2 x2 (t) + u2 (t) dt, s.l.c. x(T) = xf pour le système ˙x = bx + u, x ∈ R. Cela revient à minimiser le critère J = T 0 L (x (t) , ˙x (t)) dt, avec L (x(t), ˙x(t)) = c2 x2 (t) + ( ˙x − bx)2 (t). L’équation d’Euler-Lagrange impose que x soit solution de d dt ∂L ∂ ˙x = ∂L ∂x . Soit ¨x − b ˙x = c2 x − b( ˙x − bx) ou encore en posant b =√ c2 + b2, ¨x = b 2 x, (1) c’est-à-dire que x(t) = a− exp(−b t) + a+ exp(b t). (2) Etant donné que l’on souhaîte x(0) = xi, x(T) = xf , on distingue alors les deux cas suivants : – Si T = ∞ et xf = 0 (stabilisation) alors on doit avoir a+ = 0 ainsi x(t) = xi exp(−b t), u = ˙x − bx = −(b+b )x. Le contrôle est obtenu simplement en déter- minant les racines d’un polynôme. Pour plus de détails voir [13]. – Dans le cas général sur un horizon temporel fini nous retombons sur un problème de Dirichlet à sa- voir trouver une solution de l’équation différentielle (1) avec les conditions frontières x(0) = xi, x(T) = xf . Sur cet exemple on peut obtenir la solution à la main (2) où on obtient après calculs : a− = 1 2 (xf − xi exp(−b T)) sinh(−b T) et a+ = 1 2 (xf − xi exp(b T)) sinh(b T). Ce calcul formel n’est plus pos- sible pour n > 2. En effet, il est bien connu que la résolution numérique de ce type de problème est dé- licate (notamment lorsque la dimension du système est grande) et devient très complexe en présence de nonlinéarités. Nous allons voir comment obtenir une solution approchée en utilisant des B-splines. II. Définition de la platitude La platitude est une propriété naturelle de certains sys- tèmes dynamiques. Elle concerne autant les systèmes li- néaires que non linéaires [7], [8], [9], [12] et peut être éten- due pour des systèmes à retards ou régis par des Equations aux dérivées partielles [15]. Le système est dit plat si toute sa dynamique peut être décrite par la dynamique de la sortie plate. Actuellement, il existe des critères pour mon- trer qu’un système est plat, mais trouver cette sortie plate reste un grand défi dans le cas général. Néanmoins, pour de nombreux systèmes physique les sorties plates sont déjà connues et ont souvent un sens physique (Cf. [7], [8], [9], [12]). Définition 1: [7], [8], [9], [12] On considère le système ˙x = f(x, u) (3) où x ∈ IRn , u ∈ IRm , ˙x = dx dt et f : (IRn , IRm ) → IRn . Ce système est plat s’il existe m fonctions (dépendant des entrées, des dérivées des entrées jusqu’à l’ordre s ≤ n et de l’état) notées et appelées sorties plates, tels que l’état et la commande puissent être exprimés en fonction de la sortie plate et de ces dérivés. Ce qui revient à dire qu’il existe trois fonctions h : IRn × (IRm )s+1 → IRm , φ : (IRm )s → IRn et ϕ : (IRm )s+1 → IRm telles que yf = h(x, u, ˙u, ..., u(s) ) x = φ(yf, ˙yf, ..., y (s−1) f ) (4) u = ϕ(yf, ˙yf, ..., y (s) f ) Considérons le système linéaire ˙x (t) = Ax (t) + bu (t) (5) où x (t) ∈ IRn est le vecteur d’état et u (t) ∈ IR est le vecteur des entrées, la matrice A est de taille n × n et le vecteur B de taille n. Une condition nécessaire et suffisante pour que ce sys- tème soit commandable est que le rang de la matrice blocs C (A, B) = B : AB : ... : An−1 B soit égal à n. Dans le cas d’une seule entrée u ∈ IR, C (A, B) est une matrice carrée d’ordre n et de rang n. Elle est donc inver- sible. En posant z = C (A, B) −1 x, on obtient un système équivalent    ˙z1 = −anzn + u, ˙z2 = z1 − an−1zn, ... ˙zn = zn−1 − a1zn, où les ai sont les coefficients du polynôme caractéristique de A noté πA (λ) = i=n−1 i=0 an−iλi + λn . La fonction yf = zn est appellée sortie plate du système (Cf. [8]). Le vecteur d’entrée u et le vecteur d’état x s’écrivent en fonction d’une sortie plate et de ses dérivées. Il vient après calculs que : u = i=n i=1 aiz (n−i) n + z (n) n , et x = C (A, B) .LA.     zn ˙zn ... z (n−1) n     , (6) où LA est la matrice suivante        an−1 an−2 ... a1 1 an−2 an−3 ... 1 0 ... ... ... ... ... a1 1 ... 0 0 1 0 ... 0 0        . (7) Pour déterminer les coefficients de πA (λ) on utilise l’al- gorithme classique de Souriau suivant : M0 = I, pour p = 1, . . . , n : Mp = AMp−1 + apI avec ap = −1 2 Trace (AMp−1) . III. Commande optimale de systèmes Linéaires Quadratiques via la platitude Nous souhaitons déterminer la commande u continue par morceaux sur [0, T] qui minimise la fonctionnelle suivante : 1 2 T 0 xT Qx + uT Ru dt, (8) où Q et R sont des matrices symétriques définies positives. Lorsque T = ∞ (horizon temporel infini), les trajectoires optimales pour ce problème sont obtenues pour le contrôle u = −R−1 BT Px, (9) où P est l’unique matrice symétrique définie positive véri- fiant l’équation de Riccati AT P + PA − (PB)R−1 (PB)T + Q = 0. (10) Alors que dans le cas général, u est donné par (9) et pour P, il faut résoudre l’équation de Ricatti différentielle suivante ˙P + AT P + PA − (PB)R−1 (PB)T + Q = 0. (11) Nous allons maintenant voir comment en utilisant la pla- titude nous pouvons reformuler ce problème différemment. D’après ce qui précède le système (5) est plat. En utilisant les relations (6) et (7), il est alors possible d’exprimer la fonctionnelle à minimiser en fonction de la sortie plate et de ses dérivées successives. En effet, si on pose P =      C (A, B) .LA 0 ... 0 an ... a1 1      alors la fonctionnelle (8) s’écrit : J (Z (t)) = 1 2 T 0 Z (t) T αZ (t) dt, (12) où Z (t) T = zn (t) , ˙zn (t) , ..., z (n) n (t) et α = PT Q 0 0 R P est une matrice carrée de dimension n + 1. La condition nécessaire d’Euler-Lagrange généralisée nous permet de conclure que la solution à (12) doit sa- tisfaire à l’équation différentielle suivante : ∀t ∈ [0, T] , n i=0 γiz(2i) n (t) = 0, (13) où après calculs on montre que γi = min(2i,n) j=max(0,2i−n) (−1) j αj+1,2i+1−j. Les conditions aux extrémités sur le vecteur d’état im- posent que C (A, B) .LA.Z (t) t=0 (resp. t=T ) = xi (resp. xf ). (14) IV. Une B-Spline comme solution approchée de la sortie plate Etant donné un entier k ∈ IN∗ et σ = {0 = x0 < x1 < ... < xp = T} une subdivision de [0, T] où p est un entier non nul fixé. On construit alors à partir de σ une suite δ de noeuds permettant de définir une B-Spline comme suit : t0=. . .