Chapitre 13

Le défi du drone

Arriveras-tu à garder le drone à 2 m quoi qu'il arrive ?

Chapitre 13 : Le défi du drone ↗

Briefing de mission

June: Bon. Vrai drone, vraie livraison. Il décolle avec un colis, encaisse une rafale, largue le colis, et tient 2 m tout du long. Vingt secondes.

Mika: Et on n'a le droit de toucher à rien pendant qu'il vole ?

Theo: C'est tout l'intérêt. Le correcteur doit se débrouiller seul. Nous, on choisit juste trois nombres. Enfin, quatre : le filtre aussi.

La mission, seconde par seconde :

  • 0 s : décollage du sol avec un colis de 0,2 kg (0,7 kg au total).
  • 6–9 s : une rafale vers le bas pousse avec 1,5 N.
  • 12 s : le colis est largué. D'un coup, le drone est 0,2 kg plus léger.
  • 20 s : fin de la mission.

Pour le final, notre modèle de drone devient un peu plus honnête. Chacun de ces points est une réalité avec laquelle les vrais drones doivent vivre, et chacun est un vieil ami d'un chapitre précédent :

  • Retard des moteurs (τ ≈ 0,05 s) : une hélice ne change pas de vitesse instantanément. Sa poussée suit la commande comme le café qui refroidit au chapitre 3, un système du premier ordre : 63 % du chemin au bout de 0,05 s. Une poussée en retard, c'est le déphasage du chapitre 12 déguisé.
  • **Un capteur bruité (σn\sigma_n ≈ 2 cm, n comme noise, le mot anglais pour « bruit » ; pas le σ d'un pôle) :** chaque mesure de hauteur est fausse d'environ 2 cm, au hasard, mille fois par seconde. Le chapitre 11 nous a prévenus : D transforme ce tremblement en gros pics de poussée.
  • Des moteurs limités (0 à 20 N) : la limite du chapitre 10 reste active. Avec le colis, le drone pèse 6,9 N : 20 N, ce n'est donc qu'environ trois fois son poids, et les moteurs ne peuvent jamais tirer vers le bas. Tant qu'ils sont en butée, le tas se met en pause (l'anti-emballement du chapitre 11).
  • D est filtré : la solution du chapitre 11. D prend la pente d'une mesure du capteur lissée, par un système du premier ordre dont tu choisis la constante de temps τf\tau_f. Un τf\tau_f plus long, c'est plus calme, mais plus tard.

Chapitre 13 : Le défi du drone ↗

Le chapitre 12 dessinerait ceci. Voici la boucle du drone lui-même, un tour de boucle du réglage six étoiles : correcteur, moteurs, drone. Fais glisser le retard des moteurs et regarde la phase plonger.

Chapitre 13 : Le défi du drone ↗

Theo: Sans le retard, la phase n'atteint jamais −180°, donc il n'y a aucune falaise : on aurait beau monter le gain autant qu'on veut, la boucle ne pourrait jamais atteindre le −1 du chapitre 10. C'est le minuscule retard des moteurs qui construit la falaise.

Prédis d'abord ! Quand le colis est largué à 12 s, quel terme fait le gros du travail pour ramener le drone à exactement 2 m ?

Chapitre 13 : Le défi du drone ↗

Mika: Attends. Donc après le largage, le drone est obligé de flotter un peu trop haut pendant un moment ? C'est cette erreur-là qui sert au tas à se défaire !

Pilote la mission

Chaque changement de curseur relance la mission, et le vol précédent reste affiché en fantôme. Le petit plan s montre les pôles nominaux : le retard des moteurs et le filtre sont pris en compte, seuls le bruit, le colis et les limites sont laissés de côté. Tu vois ainsi l'image linéaire pendant que le vrai vol, bien plus désordonné, se déroule à côté. Gagne les six étoiles pour l'or.

Les limites, c'est ce qu'un client de la livraison remarquerait : stabilisé en moins de 3 s, jamais plus de 10 % trop haut, pas déporté de plus d'une largeur de main (20 cm) par la rafale, revenu en 2 s après le largage, sans jamais racler le sol, et des moteurs qui ne bourdonnent pas (moins de 0,5 N de crépitement).

Pour l’étoile d’arrivée, la hauteur réelle doit rester à ±5 cm de la cible depuis l’arrivée jusqu’à la rafale à 6 s ; traverser 2 m une seule fois ne suffit pas. L’étoile des moteurs calmes utilise l’écart-type de la poussée entre 3 et 6 s, après le décollage et avant la rafale : son écart typique autour de sa moyenne, y compris la fin de stabilisation et le bruit du capteur. Pointe une ligne de la liste de contrôle (ou atteins-la avec Tab) pour ombrer les secondes qu’elle juge.

Chapitre 13 : Le défi du drone ↗

June: J'ai réglé le correcteur parfait dans ma tête : un KdK_d énorme, le filtre le plus court possible pour que D réagisse instantanément. Il est impeccable par air calme ! Regardez…

June: …pourquoi les moteurs hurlent ? La ligne orange est toute floue, et maintenant il dépasse aussi !

Theo: Chapitre 11, avertissement 2. Un gros KdK_d fois un filtre minuscule transforme chaque tremblement de 2 cm du capteur en pic de poussée. Et les pics sont écrêtés à 0 N bien plus souvent qu'à 20 N (la ligne orange pâle montre ce que le correcteur a demandé : regarde combien de fois elle touche 0 N), donc ils ajoutent une poussée en plus, déséquilibrée. C'est ça, le dépassement : la même dérive vers le haut que le chapitre 11 avait repérée. Il n'était impeccable que parce que ton air calme imaginaire venait avec un capteur parfait.

Chapitre 13 : Le défi du drone ↗

Essaie le réglage air calme de June et regarde l'étoile « moteurs calmes » échouer. Puis allonge le filtre à 0,04 s et descends KdK_d vers 7. À KdK_d = 7, le drone arrive en environ 1,9 s au lieu des 1,3 s rêvées par June : c'est le prix de moteurs calmes. Ce compromis, la vitesse contre le bruit et contre la robustesse, c'est l'automatique.

June: Un peu plus lent, et les moteurs arrêtent de hurler. Marché conclu. Dans ma tête, l'air était calme et le capteur était parfait.

Un regard en arrière

Mika: Au début, je pensais que « pousser plus fort » réglait tout. C'est l'inverse, en fait ? La plupart des problèmes venaient du fait de pousser trop fort sur des informations vieilles ou bruitées. Je suis content d'avoir posé toutes les questions bêtes. Aucune ne l'était.

Theo: Je crois enfin à la transformée de Laplace. Ce n'est pas une table à consulter : c'est une sonde qui demande à un signal « combien de este^{st} y a-t-il en toi ? ». Et comme les pentes deviennent des multiplications par ss, le calcul différentiel devient de l'algèbre. Les pôles sont là où la réponse explose : les este^{st} dont le système est construit.

June: Et moi, j'ai appris que « plus », ce n'est pas « mieux » : plus de gain, plus d'amortissement, plus de KiK_i, plus de vitesse. Il y a toujours une falaise, et les bonnes conceptions gardent une marge. Et aussi : toujours essayer sur le drone.

Voici tout ce qu'on a construit, de la douche jusqu'au final. Chaque bulle renvoie à l'endroit où l'idée est née.

Ce qu'on a compris

  • Rétroaction : mesurer ce qui s'est passé, comparer à l'objectif, agir sur l'erreur (chap. 0–1).
  • La commande P pousse proportionnellement à l'erreur, mais laisse un affaissement et oscille quand elle est forte (chap. 2).
  • Les dérivées, exponentielles et nombres qui tournent décrivent comment les choses changent : este^{st} avec s=σ+iωs = \sigma + i\omega grandit ou rétrécit et oscille (chap. 3–7).
  • La transformée de Laplace transforme les pentes en multiplications par ss, donc le calcul différentiel devient de l'algèbre (chap. 9).
  • Les pôles non simplifiés d’une fonction de transfert indiquent les mouvements naturels visibles entre l’entrée et la sortie choisies : ceux de gauche s’atténuent, ceux de droite grandissent (ch. 10).
  • PID : I tue l'affaissement, D ajoute de l'amortissement, et chacun déplace les pôles (chap. 11).
  • Le retard ajoute du retard de phase ; les marges disent à quelle distance du bord de la falaise on est (chap. 12).
  • Le vrai matériel ajoute des limites (chap. 10), un retard qui coûte de la marge de phase (chap. 3 + chap. 12) et du bruit que D amplifie (chap. 11) : un bon correcteur est donc calme autant que rapide (chap. 13).

Explique-le à un ami

D'abord, ta mission : combien d'étoiles as-tu gagnées, et laquelle a été la plus dure ? Dis pourquoi à voix haute avant de continuer ta lecture.

Mika: Pour moi, c'était l'étoile du calme. J'ajoutais du D pour calmer les moteurs, et ils ne faisaient que crier plus fort.

Le meilleur test de compréhension, c'est d'expliquer. Avant chaque réponse, essaie de dire ta version à voix haute. Puis choisis l'explication qui lui correspond le mieux.

Une dernière image : le plan d'état

Theo: Chaque graphique de ce cours montrait la hauteur au cours du temps. Mais la hauteur seule ne dit pas ce qui va se passer ensuite : être à 2 m en montant, ce n'est pas être à 2 m en tombant.

Deux nombres fixent l'avenir : la hauteur mesurée depuis la cible, Δh\Delta h, et la vitesse vv. Ensemble, ils forment l'état du drone. Place-les sur un même plan, la hauteur à l'horizontale et la vitesse à la verticale, et tout le vol devient le chemin d'un seul point qui bouge.

Ses règles sont les pentes du chapitre 3, une pour chaque nombre : la hauteur change au rythme de la vitesse, et la vitesse change au rythme de l'accélération donnée par l'équation du chapitre 1. Une fois la poussée de vol stationnaire prise en compte, et avec une commande PD T=−Kp Δh−Kd vT = -K_p\,\Delta h - K_d\,v par-dessus, les deux règles tiennent dans un seul tableau :

ddt(Δhv)=(01−Kpm−c+Kdm)⏟A(Δhv)\frac{d}{dt}\begin{pmatrix}\Delta h\\ v\end{pmatrix} = \underbrace{\begin{pmatrix}0 & 1\\ -\frac{K_p}{m} & -\frac{c+K_d}{m}\end{pmatrix}}_{A}\begin{pmatrix}\Delta h\\ v\end{pmatrix}

Ce tableau AA est une matrice : multiplie-la par l'état et il en sort la vitesse à laquelle l'état se déplace. Sa ligne du haut dit que la hauteur change au rythme de la vitesse ; sa ligne du bas, c'est la loi de Newton.

Prédis d'abord ! Avec KpK_p = 20 N/m et sans D, le drone part immobile, 1 m trop bas. Quel chemin trace son état ?

Chapitre 13 : Le défi du drone ↗

June: C'est la spirale du chapitre 6 ! Et quand je pousse KdK_d au-delà d'environ 5,3, la spirale se redresse et glisse vers le centre le long de deux lignes en pointillés.

Ces lignes droites sont les modes : pars exactement sur l'une d'elles et l'état glisse tout droit vers le centre, au rythme propre de ce mode. Ces rythmes sont les nombres spéciaux de la matrice, ses valeurs propres, qu'on trouve là où det⁡(sI−A)=0\det(sI - A) = 0 :

det⁡(sI−A)=s2+c+Kdm s+Kpm=0\det(sI - A) = s^2 + \frac{c + K_d}{m}\,s + \frac{K_p}{m} = 0

Mika: C'est l'équation du chapitre 7 ! Les valeurs propres sont les pôles. Même drone, nouvelle image.

Et le terrain de jeu des pôles du chapitre 10 faisait discrètement du retour d'état depuis le début : T=−Kp Δh−Kd vT = -K_p\,\Delta h - K_d\,v pousse sur les deux nombres de l'état, et choisir les deux gains plaçait les deux pôles. Donne plus de nombres à l'état (inclinaison, rotation, position latérale) et la matrice grandit, mais l'idée reste : les valeurs propres sont les pôles, et renvoyer tout l'état permet de tous les placer.

Encore un aveu. Toutes les règles de ce cours sont des lignes droites, mais les vraies choses sont courbes. La poussée d'une hélice grandit avec le carré de sa vitesse de rotation, T=k w2T = k\,w^2. Près du vol stationnaire, la courbe est presque droite, alors on la remplace par sa tangente au point de vol stationnaire, la règle du chapitre 3 :

T≈T0+2k w0 ΔwT \approx T_0 + 2k\,w_0\,\Delta w

Chapitre 13 : Le défi du drone ↗

Theo: Donc les lignes droites n'ont jamais menti. C'est une image zoomée : fidèle près du vol stationnaire, de moins en moins à mesure qu'on s'en éloigne. Voilà pourquoi nos calculs avaient besoin du drone près de 2 m.

Nouveaux mots

État
Les nombres qui fixent l'avenir : pour notre drone, la hauteur et la vitesse. Un point sur le plan d'état.
Matrice AA
Un tableau de nombres qui transforme l'état en la vitesse à laquelle il se déplace.
Valeurs propres
Les rythmes spéciaux d'une matrice, là où det⁡(sI−A)=0\det(sI - A) = 0. Pour la matrice AA d'un drone, ce sont ses pôles.
Linéarisation
Remplacer une règle courbe par sa tangente près du point qui t'intéresse (ici, le vol stationnaire).

Et après ?

Tu en sais maintenant plus en automatique que la plupart des gens n'en croiseront jamais. Voici où la route continue, chaque piste étant un nouveau carnet :

  • Lieu des racines : au lieu de déplacer les pôles, déplace le gain et regarde les pôles tracer des chemins. Tu verrais d'un coup d'œil quel KpK_p est de trop.
  • Représentation d'état : tu y as goûté plus haut. Plein de capteurs et de moteurs à la fois : un vrai drone doit tenir ensemble son inclinaison, sa rotation et sa position, et régler un bouton à la fois ne marche plus.
  • Commande numérique : les vrais correcteurs tournent sur des ordinateurs qui échantillonnent toutes les quelques millisecondes. L'échantillonnage est lui aussi un petit retard, et le plan s a un cousin, le plan z.
  • Filtres de Kalman : ils mélangent ce que prédit un modèle et ce que dit le capteur, pour utiliser un capteur bruité sans filtre lent.
  • Prédicteurs de Smith et commande prédictive : des correcteurs qui embarquent une petite simulation pour voir au-delà des retards, le vrai remède de la douche.
  • Commande non linéaire et robuste : que faire quand la traînée n'est pas linéaire ou que le drone vole en 3D, et comment prouver qu'on a encore de la marge.

Theo: Le lieu des racines d'abord. Je veux voir les pôles bouger pendant que je tourne un seul bouton.

La prochaine fois qu'une douche te fera danser entre brûlant et glacial, tu sauras exactement ce qui se passe. Et tu sauras que ce n'est pas ta faute. C'est la marge de phase.

Chapitre 13 : Le défi du drone ↗