Motard Geek avait déjà fait un article sur le sujet pour la version 3.2 de BetaFlight. Et parce qu’au fil des versions, de nouvelles fonctionnalités voient le jour, et parfois des corrections sont apportées, voici ma façon de tuner les filtres en version 3.5.
Qu’est-ce qu’une fréquence ?
Une fréquence, c’est le nombre de fois qu’un phénomène périodique se reproduit par unité de mesure du temps (cf wikipedia). La période d’un phénomène périodique est la plus petite durée séparant deux reproductions à l’identique du phénomène. La fréquence est égale aux nombres de cycles effectués par seconde et est exprimée en Hertz (Hz). Par exemple: 1Hz = une fréquence par seconde, 2Hz = 2 fois/sec, etc…).
Sur nos drones, ces fréquences (ou encore vibrations, bruit ou « noise » en anglais) sont dues:
– aux mouvement « volontaires » du drone (initiés par le pilote. Entre 1Hz et ~25Hz)
– au propwashing (entre ~25Hz et ~90Hz)
– aux vibrations du couple hélices/moteurs/chassis (entre ~200Hz et ~800Hz)
Il y a évidemment toujours de « l’activité » sur ces fréquences, mais les pics doivent être maîtrisés.
Et entre 90Hz et 200Hz, y a quoi monsieur ?
Et bien normalement, dans cette bande de fréquence, il ne doit pas y avoir de pic significatif. Sinon, cela veut dire que vous avez un problème mécanique (physique) sur votre quad.
Filtres NOTCH et LOWPASS
Un filtre NOTCH supprime complètement une fréquence donnée, et atténue les fréquences proches de celle-ci.
Voici l’exemple de l’action d’un filtre NOTCH:
Un filtre lowpass (ou passe-bas) atténue les fréquences au-delà de la fréquence souhaitée, et laisse passer les fréquences en deçà. Un exemple concret est lorsque vous jouez avec le bouton des aigus de votre autoradio.
Exemple:
PT1 et BIQUAD
Ce sont 2 « façons » de gérer l’atténuation du filtre lowpass. Le premier (PT1) a une courbe plus agressive au départ, mais beaucoup moins ensuite, avec une faible latence.
Le second (BIQUAD), ben… c’est tout l’inverse.
Les filtres: pourquoi ?
Les filtres sont assez souvent laissés de côté car assez complexes à comprendre et à régler. Mais ils font partie intégrante du tuning d’un drone et j’aime les peaufiner AVANT les PID.
Il va sans dire que votre setup doit être sain, et « lavé » de toute vibrations mécanique pour un réglage optimal.
Pour vous expliquer le simplement du monde pourquoi il y a des filtres dans les firmware de nos drones, parlons du terme « D » des PID. D est le plus « méchant » des 3 car il a un effet amplificateur sur les vibrations qu’il reçoit. J’en veux pour preuve les vibrations vues par le gyroscope sur ce graphique (ici sur l’axe du roll):
Puis les mêmes vibrations vues par le D sur le même axe:
Pour faire court, D s’oppose aux mouvements du gyroscope afin de les « contrôler ». Et plus la fréquence des mouvements du gyroscope est grande, plus l’amplitude de D augmente. Voici un petit schéma l’expliquant très bien. Le premier graphique est la réaction du D (courbe orange) par rapport au gyroscope (courbe bleue) à une fréquence de 25hz:
Et voici comment D réagit à une fréquence de gyro de 50Hz:
La fréquence du gyro a donc doublé, mais l’amplitude de D fait bien plus que doubler. Ce qui a, vous vous en doutez, une répercussion sur le signal transmis aux moteurs…
C’est pourquoi filtrer certaines fréquences parasites s’avère nécessaire.
La philosophie de ce tuning tient en ceci: « Si vous pouvez laisser passer le bruit (vibrations) d’un filtre en le désactivant, sans que ceci ne fasse chauffer vos moteurs, ou que le drone ait un comportement plus mauvais qu’avec, alors c’est une bonne chose« .
On va donc essayer de désactiver certains filtres (mais pas n’importe lesquels).
Qui dit filtre dit augmentation du temps de réponse, car il faut un certain temps pour calculer tout cela. Plus vous avez de filtres activés, et plus vous augmentez le temps de réaction de votre engin. À l’inverse, plus la valeur de coupure (cut-off) est élevée, plus vous diminuez le temps de latence.
Sachez que le propwash est directement liée aux filtres (en plus des PID). Car plus votre drone mettre de temps à filtrer les signaux, plus il sera en décalage dans le temps avec ce qu’il se passe réellement, et moins le propwash pourra être corrigé…
Vous pouvez aisément calculer la latence de votre quad avec ce petit outil excel créé par UAV Tech ici.
8k/8k vs 32k/32k
L’activation du 32k sampling mode (sur les carte de vol éligibles) permet une boucle gyro/pidloop au delà de 8k/8k, et donc de passer d’une lecture des données toutes les 0.000125 secondes à 0.00003125 secondes, soit un gain de 0.09375 ms. Mais il y a un revers de médaille… cela va ouvrir un champ de lecture de données bien plus grand et sensible, et va donc tenir compte de la moindre petite vibration…
La preuve en images sur un seul et même setup. Celui de gauche a été enregistré en 8k/8k, et celui de droite en 32k/32k, à paramètres strictement identiques:
Comme vous le constatez, beaucoup plus de vibrations sur le 32k/32k. Cela ne veut pas dire que ce mode est mauvais ! C’est simplement pour vous faire voir le pendant négatif de ce mode. Le tuning des filtres sera juste différent d’un 8k/8k.
Voici par ordre décroissant, le « classement » des différents intervenants en terme de latence:
Le RC Smoothing est le premier de la liste. Mais ne pas l’activer pourrait nuire au réglage des filtres et de vos PID car sans, vos courbes Radio seraient extrêmement saccadées et mettraient une limite à ces 2 réglages (voir l’article sur le sujet). Malgré tout, vous pouvez essayer avec, puis sans, et vous faire votre propre idée.
Les seconds acteurs en terme de latence sont bien évidemment les filtres. Moins il y en a, moins vous aurez de latence.
Le protocole ESC (MULTISHOT, Dshot, Proshot) vient en 3ème position.
Puis viennent enfin le couple gyro update frequency/pidloop time frequency (4k/4k, 8k/8k, etc…). Comme quoi passer de 8k à 32k n’a pas non plus un gain phénoménal.
Le tuning des filtres en 8k/8k
⚠ WARNING ⚠
Avant d’aller plus loin, sachez qu’à chaque modification d’un filtre, 2 ou 3 vols de vérification sont nécessaires afin de s’assurer que votre kwad accepte les nouveau paramètres. Un premier vol qui consiste à décoller, faire quelques mètres, puis reposer le drone. Un second avec un peu plus de gaz, d’une 30aine de secondes, puis un dernier vol « normal ». Après chacun de ces 3 vols, vérifiez le température de la cloche des moteurs. Si vous ne pouvez plus laisser confortablement vos doigts sur la cloche de vos moteurs, faites machine arrière !!!!
Le son de votre drone en vol peut aussi être significatif du fait que les paramètres ne lui correspondent pas.
Ceci étant dit, voici comment, sans utilisation de logs blackbox, vous pouvez optimiser vos filtres.
Voici comment sont les filtres par défaut dans cette version (le DYNAMIC FILTER est activé par defaut dans l’onglet CONFIGURATION) :
Dans un premier temps, décochez « Fréquence de Coupure du filtre passe-bas du gyro 2 [Hz] » (autrement dit, le Gyro lowpass 2) . Puis faites vos 3 vols de vérification.
Si tout est OK, la seconde phase consiste à désactiver le filtre « Fréquence de coupure du filtre passe-bas D Term 2 [Hz]« .
Votre quadricoptère est toujours vivant ? Alors passons à la suite.
La seconde phase va être, d’abord sur le Gyro lowpass 1 (ou Fréquence de Coupure du filtre passe-bas du gyro 2 [Hz]), d’augmenter la valeur d’origine par paliers de 10, et de faire, pour chacune de ces valeurs, des vols test (même vérifications qu’au dessus : T°c moteur et son du kwad). Le propwash devrait diminuer un peu et le quad devrait être un peu plus réactif et « doux » à voler.
Vous pouvez ensuite revenir à la valeur d’origine et tester le filtre de type BIQUAD sur le même principe.
Pour info, un filtre PT1 est un filtre plus efficace au début de son action, mais moins en fin. Il a une latence assez faible.
Le filtre BIQUAD quant à lui, c’est l’inverse.
Un schéma vous l’expliquera mieux:
Puis faites la même chose avec le D Term lowpass 1.
Le tuning des filtres est vraiment à l’appréciation du pilote.
Le tuning des filtres en 32k/32k
Au delà de 8k/8k, la « Fréquence de Coupure du filtre passe-bas du gyro 2 [Hz] » doit être laissée activée (c’est ce qui est préconisé en tout cas). La quantité de bruit récoltée par le gyroscope (ou vibrations) étant bien plus importante, ce filtre positionné à 650Hz aidera à atténuer ses effet.
Le reste est identique au 8k/8k. Ne touchez qu’au lowpass 1 du Gyro et du D Term.
Les plus téméraires pourraient essayer de désactiver le lowpass 2 du gyro, tout en basculant le gyro 1 en BIQUAD. Ce dernier test est à effectuer avec une précaution extrême….
Vient ensuite le réglage de vos PID…. mais ça, c’est une autre histoire.
Just high five your nearest neighbor and happy flying !