Plasmatree PID analyzer a fait son apparition fin 2017 grâce au travail de son créateur « Plasmatree » (son pseudo sur rcgroups).
Ce logiciel utilise les logs BlackBox et permet d’avoir un rapport graphique sur le comportement en vol de votre drone ainsi que sur les différents filtres.
Dans ce tutoriel je vais aborder les différentes étapes primordiales pour se lancer dans l’utilisation de Plasmatree PID analyzer.
Plasmatree, installation
Voici l’endroit où vous pourrez vous documenter sur l’utilisation de ce logiciel : https://github.com/Plasmatree/PID-Analyzer/wiki
- Téléchargez blackbox_decode à partir du Github de Plasmatree
- Téléchargez la dernière version de PID-Analyzer
Dézippez blackbox_decode (ce qui vous donne un dossier nommé blackbox-tools-0.4.3-windows) puis collez PID-Analyzer_0.xx.exe dans ce même dossier.
C’est en double cliquant sur ce même fichier .exe que vous lancerez le logiciel.
Plasmatree, les avantages
- Vous n’avez pas besoin de faire de longs vols. 20 secondes suffisent.
- Vous pouvez tuner les PID de votre quad dans n’importe quel mode de vol (acro, angle, horizon, etc…)
- Vous pouvez l’utiliser pour tout ou partie de votre tuning
Plasmatree, utilisation
Plasmatree PID Analyzer utilise les logs BlackBox. Suivez le guide si vous n’avez pas encore assigné le mode BlackBox à un de vos inter.
Pour lancer le logiciel, double cliquez sur PID-Analyzer_0.52.exe. Une fenêtre DOS s’ouvre (soyez patient, le texte est un peu long à s’afficher…) vous invitant à entrer le log à analyser. Vous pouvez soit entrer le chemin du log au clavier, soit le faire directement glisser dans la fenêtre (drag and drop).
Puis appuyez sur Entrée :
Plasmatree va créer un dossier dans lequel il va déposer les fichiers générés. Vous pouvez personnaliser son nom (exemple ici LOG38), puis validez :
Décidez si vous voulez afficher les fichiers en fin d’analyse. Ces fichiers là sont des fichiers csv dont vous pouvez modifier les paramètres d’affichage. Moi je mets non. Puis validez :
Et validez une dernière fois :
Dans le dossier qui contient votre fichier de LOG se trouve maintenant un dossier comportant 2 fichiers PNG : un pour le bruit (noise) et le second pour les PID (response).
Pour le graphique du bruit, je vous invite à lire la page du github plasmatree sur le sujet, ainsi que la vidéo d’UAV Tech et la page Get FPV.
Plasmatree, les graphiques « response »
Ces graphiques représentent une moyenne, dirons-nous, du comportement du drone durant le vol.
La partie gauche est pour le roll, celle du milieu pour le pitch et le yaw à droite.
Chaque partie comporte 3 graphiques :
- Celui du haut compare ce que doit faire le quad (roll loop input ou encore setpoint) avec les mouvements réels du gyroscope (roll gyro). Plus il y a de bleu et moins votre quad est « obéissant ».
- Celui du milieu est le temps de réponse de 0% à 100% de gaz. Plus il y a de jaune et plus votre quad est lent.
- Celui du bas vous montre en moyenne l’effet de vos P, I et D.
Arrêtons-nous un petit peu sur ce dernier.
Pour vous expliquer comment il faut l’interpréter, rien de tel qu’un autre schéma :
P : Le temps de montée est d’autant plus réduit que votre valeur de P sera élevée.
D : Le dépassement diminuera avec l’augmentation de la valeur de D.
I : L’erreur statique sera faible voir quasi inexistante avec la bonne valeur de I.
Le temps d’établissement du régime stationnaire dépendra de l’harmonie de P, I et D.
Voici l’action et l’évolution de chaque composant (Kp = P, Ki = I et Kd = D) :
Voici un exemple de courbes presque parfaites. Très peu de bleu dans les graphs du haut, peu de jaune dans ceux du milieu, et… le graphique du bas…
Dans celui-ci, vous constaterez que 2 courbes se superposent : une bleue et une orange. La bleue correspond aux mouvements en dessous de 500°/sec, et la orange au dessus. On voit ici que la montée jusqu’à l’axe horizontal « 1 » est rapide (P), qu’il n’y a pas de dépassement (D), et que la consigne « 1 » est respecté dans le temps (I).
Le but ici va donc être de régler vos PID de façon à obtenir une courbe la plus franche possible, comme ci-dessus.
Attention, avoir une courbe comme celle-ci est rare. Ces courbes sont celles d’un quad avec un châssis CS110 de 2.5 pouces, d’où les PID assez bas et une très bonne réactivité due à une faible inertie.
Il est à noter que sur nos quads, il est rare de dépasser les 500°/sec sur le yaw. Vous n’aurez donc quasiment jamais de courbe orange sur le graphique du bas pour le yaw.
Ne cherchez pas la courbe parfaite : ce logiciel est une moyenne de l’obéissance de votre quad. En fonction des conditions extérieurs (vent, etc…) et de votre pilotage. Ces courbes peuvent varier d’un vol à l’autre pour exactement les mêmes réglages.
Pour ma part, ces graphiques sont surtout utiles pour régler certaines valeurs PID difficiles à apprécier à vue ou dans BlackBox Explorer. Notamment pour :
- Le « I » des axes R/P/Y
- Le « P » et le « D » du Yaw
Plasmatree, les graphiques « noise »
Suivant ce que vous souhaitez analyser, il faut activer le debug_mode adéquat en CLI.
Il faut aussi mettre le taux d’enregistrement de vos logs Blackbox :
- Entre 2KHz et 4KHz pour une fréquence de rafraîchissement looptime et gyro paramétrée à 8k/8k
- 4k et plus pour une fréquence 32k/32k
Principe : la couleur bleue représente les basses fréquences et la jaune les hautes, avec évidemment un dégradé entre les deux.
La colonne gyro [axe] correspond au bruit du gyro après filtrage. La colonne debug [axe] correspond au mode debug activé plus haut. La colonne D-term [axe] représente la quantité de bruit sur le D-term avant passage dans la boucle PID.
Euh… il y a plus de jaune clair dans le graphique « Après filtrage » que dans celui du « debug_mode »… il n’y a pas un problème là ?
Non, c’est tout simplement dû à la mise à l’échelle automatique du niveau bruit de ces graphiques. Si vous regardez bien, au dessus de chaque graphique se trouve une échelle horizontale.
Le graphique après filtrage a une échelle de 10° à 6×10°, alors que celui avant filtrage s’étale de 10° à 10³.
Pour savoir quel mode de debug était activé lors de ce vol, reportez-vous à droite de l’image : debug 19. Dans BetaFlight, si vous tapez « get debug_mode », vous obtenez la liste des modes de debug disponibles. Et à la 19ème place, on retrouve le mode gyro_raw.
Le graphique de droite fait état de l’action des filtres sur les 3 axes.
Pour aller plus loin…
Voici quelques liens afin de parfaire votre compréhension de Plasmatree et des filtres en général :
- Comment utiliser Plasmatree PID Analyzer.
- Comprendre les graphiques « response ».
- Analyse des graphiques de bruit.
- Le post dédié sur rcgroups.
Just high five your nearest neighbor and go flying !