GPS rescue sur Betaflight, comment bien le configurer ?

Aujourd’hui, petit tuto pour vous expliquer comment configurer proprement le GPS rescue sous betaflight (version 4.0 et supérieure)

Le GPS rescue c’est quoi ?

Tout d’abord les fondamentaux à propos du GPS rescue. Si vous ne connaissez pas, c’est un mode qui permet de faire un semblant de RTH, comme sur les quads de prise de vue tels que les Mavics par exemple. Il est utilisé pour permettre de récupérer votre quad en cas de failsafe, ou lors d’une perte de la vidéo.

Attention, le but premier du GPS rescue, c’est vraiment de ramener le quad à portée de contrôle, il n’atterrira pas à vos pieds comme le ferait un Mavic, mais le quad va se crasher de manière “douce” dès qu’il s’approchera de vous. Si vous voulez voir ce que donne un rescue jusqu’au bout de la procédure, vous pouvez jeter un œil à la vidéo de Tof FPV qui a sacrifié un quad pour la science ^^

Il faut garder à l’esprit qu’il faut reprendre le contrôle de votre quad dès que vous en avez la possibilité.

Quelques disclaimers à propos du GPS rescue (traduction du Github, source de la feature) :

  • Le GPS rescue est une fonctionnalité expérimentale
  • C’est une fonctionnalité à utiliser avec précaution
  • La configuration va changer avec l’évolution des versions, et est celle pour la dernière release stable de Betaflight, donc la 4.0.
    J’essaierai de la mettre à jour pour les prochaines versions.
  • Si vous voulez utiliser le GPS rescue comme un failsafe, il faut ABSOLUMENT activer les Sanity checks!

Prérequis / matériel recommandé

Il vous faut tout d’abord un GPS. Il en existe plein sur le marché.

À mon goût, le meilleur rapport qualité/prix est le BN220, dispo à 9€ sur Banggood. C’est clairement pas cher, et l’investissement en vaut la chandelle pour sauver un quad qui coûte plusieurs centaines d’euros.
Il existe aussi le M80 de chez HGLRC, dispo chez eux à 10€, ou à 12€ chez Banggood. Il fait aussi très bien le boulot et est plug and play avec les FC Zeus de chez HGLRC. Pratique si vous voulez faire un montage facile.

Petit tip en passant, si vous voulez améliorer le fix de votre GPS, vous avez un petit tuto super intéressant et efficace permettant d’upgrader votre GPS ici.

Avant de configurer et tester le GPS rescue, il faut calibrer l’accéléromètre, et s’assurer que le mode angle marche bien. On vérifie ça en activant le mode angle, et en vérifiant que le quad se stabilise de lui-même en vol, et qu’il se comporte normalement.
Si le quad ne se comporte pas normalement, il faut calibrer de nouveau l’accéléromètre et tester de nouveau le mode angle.

Ça paraît peut-être un peu simpliste comme manipulation, mais le GPS rescue fonctionne avec le mode angle, donc si le mode angle ne fonctionne pas correctement, le GPS rescue ne sera pas capable de faire revenir le quad, et il peut apparaître un flyaway.

Paramètres du GPS rescue

Je vais vous énumérer et expliquer les différents paramètres qui composent le GPS rescue :

initial_alt=[number] (Par défaut 50)

C’est le paramètre le plus important. Quand le rescue est activé, le quad va se tourner vers son point de départ, et monter vers une altitude dite « safe », ou le quad ne risquera pas de rencontrer un obstacle.

Cette altitude est exprimée de 2 manières :
-Si votre quad ne va pas plus haut que l’altitude définie durant le vol, alors le quad va monter à cette altitude définie lors du rescue
-Si votre quad dépasse l’altitude définie, alors il va monter jusqu’à l’altitude maximum enregistrée durant le vol, à laquelle s’ajouteront 15 mètres supplémentaires (Exemple : initial_alt =50m, altitude maximum du vol = 87m, donc altitude du rescue = 87+15=102m)

Avec ce paramètre, on est sur de ne pas rencontrer un obstacle lors de la phase de rescue.

gps_rescue_ground_speed=[number] (Par défaut 2000)

Cela correspond à la vitesse à laquelle votre quad va revenir vers vous. Elle est exprimée en cm/s. La valeur par défaut est de 2000cm/s, soit 72km/h

Vous pouvez et il est même recommandé d’ajuster ce paramètre selon la manière dont vous volez et ou vous volez.

gps_rescue_angle=[number] (Par défaut 32)

Ce paramètre correspond à la valeur maximale de tilt autorisée lors du rescue. Ce paramètre évite d’atteindre une vitesse trop élevée lors du rescue.
Notez que plus l’angle est haut, plus il va être difficile pour la FC de maintenir une altitude stable lors du rescue.

gps_rescue_descent_dist =[number] (Par défaut 200)

C’est la distance à partir de laquelle votre quad va commencer à descendre vers le point de décollage.

set gps_rescue_ascend_rate = [number] (default is 500)

C’est la vitesse verticale à laquelle votre quad va atteindre l’altitude initiale. Elle est exprimée en cm/s, et par défaut est de 500cm/s, soit 5m/s

gps_rescue_descend_rate = [number] (Par défaut 150) (ajouté dans betaflight 4.1)

C’est la vitesse verticale à laquelle votre quad va descendre une fois qu’il sera assez proche de vous. Elle est exprimée en cm/s, et par défaut est de 150cm/s, soit 1.5m/s

gps_rescue_throttle_min and gps_rescue_throttle_max (ajouté dans betaflight 4.1)

D’après le github : only limit the escursion of the the new pid controller, et sur la page dédiée, on lit que ça correspond à « Gps rescue pid controller based on vertical velocity », d’après ce que j’en comprend, ça correspondrait à la modification des paramètres PID en fonction de la vitesse verticale, donc la vitesse d’ascension et de descente.

Attention, c’est au conditionnel, parce que je ne sais pas concrètement à quoi ça sert, et je ne l’utilise pas, malgré que mon rescue fonctionne parfaitement.

gps_rescue_alt_mode = [MAX_ALT, FIXED_ALT, CURRENT_ALT] (ajouté dans betaflight 4.1)

On peut choisir quel mode sera utilisé pour définir l’altitude du quad lors du rescue. Les modes disponibles sont les suivants :

MAX_ALT paramètre par défaut, l’altitude va être gps_rescue_initial_alt, ou l’altitude maximum enregistrée durant le vol, +15m
FIXED_ALT le quad va toujours atteindre l’altitude paramétrée avec gps_rescue_initial_alt, et ne pas tenir compte de l’altitude maximale durant le vol
CURRENT_ALT le quad va rentrer avec la même altitude que celle à laquelle il était au moment de l’activation du rescue. Ce mode n’est cependant pas à privilégier

gps_rescue_sanity_checks = [RESCUE_SANITY_ON, RESCUE_SANITY_OFF, RESCUE_SANITY_FS_ONLY]

Ce paramètre sert à définir les vérifications qui seront faites pour assurer le bon fonctionnement du rescue. Il va vérifier que :

-Le GPS est toujours connecté à la FC
-Le GPS envoie un fix valide à la FC
-Le quad n’a pas subi un gros choc (qui peut-être du à un crash)
-Le nombre de satellites est égal ou au dessus de gps_min_sats
-Le quad revient bien vers vous une fois l’altitude de rescue atteinte

Si une de ces conditions n’est pas valide, le rescue ne se déclenchera pas à l’activation (failsafe ou switch), et le quad va tomber.

Mais heureusement, il y’a quelques secondes de tolérance pour les deux dernières conditions, avant que le quad ne tombe si elles ne sont pas valides. Si par contre au bout des quelques secondes, tout n’est pas valide, le quad tombera inévitablement.

On peut éventuellement choisir d’activer les sanity checks, soit en permanence, soit jamais, ou simplement si le GPS rescue se déclenche via le Failsafe. Il est par contre recommandé de toujours laisser les sanity checks activés pour éviter tout danger.

gps_rescue_min_sats = [number] (Par défaut 8)

Le quad ne va pas armer si il y’a moins de 8 satellites captés par le GPS. La valeur par défaut est de 8, il est recommandé de ne pas baisser cette valeur pour avoir un fix fiable.

gps_min_sats = [number] (Par défaut 8)

Ça correspond à la valeur minimale de satellites pour les sanity checks. Je vous recommande de ne pas changer cette valeur, si vous avez moins de 8 satellites, ne décollez pas et attendez un bon fix.

gps_rescue_allow_arming_without_fix = [ON, OFF]

Par défaut, vous ne pouvez par armer sans avoir un ifx GPS avec le rescue configuré sur un switch ou même en failsafe. Ça évite de partir sans pouvoir avoir de rescue fonctionnel, et donc de perdre le quad en cas de failsafe.

Mais si vous voulez vraiment décoller, parce que vous êtes pressé, ou que vous ne captez pas du tout de GPS, vous pouvez mettre cette commande en ON, et vous pourrez décoller sans avoir de fix GPS. Mais attention, si vous décollez sans fix, vous n’aurez pas de rescue, et vous aurez un message « RESCUE OFF » dans votre OSD.

Si vous avez assez de satellites pendant le vol, il vous faudra vous poser et redécoller pour avoir un rescue fonctionnel.

Configuration par défaut

Premier test avec valeurs stock

Maintenant qu’on a vu tous les paramètres, et leur rôle, on va tester le GPS rescue avec les paramètres par défaut. Affectez le GPS rescue à un switch.

Attendez d’avoir un bon fix GPS, et commencez à voler tout droit jusqu’à une distance de 100m + votre distance de descente (gps_rescue_descent_dist).
Vous devriez voir la flèche “home” pointer vers vous. Faites bien attention, si la flèche NE POINTE PAS vers vous, N’ACTIVEZ PAS LE RESCUE, le quad ira dans la direction pointée par la flèche. Si vous avez un message “Rescue non available”, continuez à lire l’article, j’en parle à la fin.

Par contre, si tout est bon, activez le GPS rescue.

IMPORTANT : soyez prêt à désactiver le GPS rescue et à reprendre le contrôle si votre quad ne pointe pas vers vous, ou si il part dans une autre direction.

Si tout se passe bien, vous devriez voir votre quad revenir vers vous et commencer à descendre. Par contre, ne le laissez pas trop s’approcher du sol ou de vous, ou le quad va tomber. Reprenez le contrôle avant.

Testez ensuite dans d’autres directions, et à des distances plus grandes, afin de prendre confiance avec cette fonctionnalité.

J’ai un message “RESCUE N/A”, ça veut dire quoi ?

Dans certains cas, en plein vol, vous aurez un message “RESCUE NON AVAILABLE” qui s’affichera sur votre OSD. Ça veut dire quoi concrètement ?

Si le rescue est mappé en tant que Failsafe ou sur un switch, il y’a un minimum de conditions qui seront en permanence vérifiées pour assurer le bon fonctionnement du rescue. Ces paramètres sont la vérification d’une connexion avec le GPS, d’un fix valide, et du nombre de satellites via la fonction “gps_min_sats” . Si une de ces conditions n’est pas valide, le message “RESCUE NON AVAILABLE” s’affichera sur votre OSD.

Cette fonctionnalité n’est qu’un avertissement, et se fait indépendamment des sanity checks. En effet, si le rescue est activé, pendant que le “RESCUE NON AVAILABLE” s’affiche sur votre OSD, il y’aura une courte période avant que les sanity checks ne se fassent. Ça vous laissera une chance de récupérer toutes les conditions pour que le rescue s’effectue sans problèmes.

Paramétrer en failsafe

Si vous êtes arrivé jusque là, c’est que tout marche bien, et que vous pensez le GPS rescue assez fiable pour l’utiliser en guise de failsafe.

Vous pouvez donc paramétrer le GPS rescue en mode failsafe. Pour cela, tapez dans le CLI : set failsafe_procedure = GPS-RESCUE , puis save. Dès que vous perdrez le lien radio, le rescue s’activera. Vous pouvez aussi sélectionner cette option directement dans l’onglet failsafe.

FACULTATIF mais intéressant : vous pouvez suivre le tuto de Tof FPV (oui encore lui je sais, mais quand une source est bonne, on ne peut que la citer) qui permet de simuler un Failsafe avec votre quad au sol sans hélices et sans décoller, ce qui vérifiera le bon fonctionnement du rescue sans risques.

(Depuis la 4.0)
Une fois le lien radio récupéré, le rescue stoppera, et il faudra que vous repreniez le contrôle, donc soyez prêt, parce que la transition pourrait être brutale.
Sinon, autre option, pendant la période de failsafe, il est recommandé d’activer le switch de rescue pour que la transition ne soit pas trop brutale.

(Depuis la 4.1)
Après que le lien radio soit restauré, il faut un mouvement des sticks (peu importe lequel, yaw, roll, pitch) d’un certain pourcentage au dessus de la valeur failsafe_stick_threshold (Par défaut 30) avant de sortir du mode failsafe. Concrètement, cela veut dire que pourrez reprendre le contrôle du quad seulement une fois que vous aurez effectué un mouvement d’un des sticks d’au moins de 30% de sa position d’origine. La valeur d’origine peut-être réduite si vous voulez une transition moins brutale lors de la reprise du contrôle.

Erreurs courantes / soucis possibles

  • Assurez vous que vous volez plus loin que la distance minimale pour le rescue (gps_rescue_descent_dist (Par défaut 100m)) avant de déclencher le rescue. Si vous volez moins loin que cette distance, le quad tombera. On en a déjà parlé, mais c’est un rappel.
  • Dans certains cas, l’accéléromètre peut peut fonctionner bizarrement, et peut empêcher le bon fonctionnement du rescue. Il vous faut vérifier le bon fonctionnement de l’accéléromètre en volant longtemps et en activant le mode angle. Si le quad ne se stabilise pas proprement, il ne faudra pas utiliser le GPS rescue avec ce quad.
  • Certains GPS ont besoin d’une configuration avec U-Center pour fonctionner. Vous avez un tuto ici
  • Le GPS rescue est une fonctionnalité en développement. Donc si vous n’utilisez pas la dernière version stable de Betaflight, vous pourrez avoir des soucis. Soyez surs d’utiliser la dernière version stable de Betaflight (4.2 actuellement)
  • Le GPS rescue n’est pas et ne sera jamais entièrement fiable, donc il ne soit jamais être utilisé comme la seule mesure pour récupérer un quad perdu. D’autres techniques existent et sont à utiliser en complément pour retrouver un quad perdu, comme afficher les coordonnées GPS sur votre OSD, (avec un DVR fonctionnel bien sur), utiliser un log de télémétrie sur votre radio, utiliser un GPS autonome.

Petits tips

Selon le type d’accus embarqués (Lipo / Liion), adaptez les valeurs de vitesse max et de montée, afin de ne pas demander plus à votre accu que ce qu’il pourrait fournir (un full throttle pour monter à 5m/s, les Liions apprécieraient pas).

Pour le montage du GPS, faites bien attention à 2 choses, que l’antenne soit orientée vers le ciel, et qu’elle ne soit pas masquée par d’autres pièces du quad (antennes, protections 3D,….)
Il faut également éloigner le plus possible le GPS des antennes du quad pour assurer la meilleure réception possible.

Je vous recommande également de désactiver le GPS rescue lorsque vous volez en intérieur en bandos, ou lors de vols dans des endroits avec des obstacles au dessus de vous, comme du vol en forêt. Vous risqueriez de casser votre quad qui remonterait directement dans un obstacle au dessus de vous.

Tout ce qui est écrit dans cet article est extrait et traduit du Github du GPS rescue. Si vous voulez creuser le sujet, je ne peux que vous recommander d’y jeter un oeil, c’est une vraie référence pour ce sujet.

Related posts

Monter un 7 pouces pour le long range part 1

Débuter le drone FPV en 2024, quelques conseils

Construit ton 5 pouces haut de gamme Part 2/2 – Montage et avis

1 commentaire

manu jay 8 mars 2022 - 23 h 24 min
Merci Pierre Anne pour ces infos. Je me prends la tête avec mon tout premier quad, un croco baby 4 BNF monté avec caddx Tarsier et parait que c'est à cause de cette caméra que je n'arrive pas à faire le fixe GPS. Du coup impossible de tester le RTH, dommage. ça m'a permis de relever une coquille dans ta présentation : gps_rescue_allow_arming_without_fix = [ON, OFF] Mais si vous voulez vraiment décoller, parce que vous êtes pressé, ou que vous ne captez pas du tout de GPS, vous pouvez mettre cette commande en ON, et vous pourrez décoller sans avoir de fix GPS. Evidemment tout le monde aura compris que c'est en OFF qu'il faut mettre cette commande pour pouvoir décoller sans fixe comme j'ai du l'apprendre avec ce maudit 1er quad qui voulais pas s'armer sans fixe GPS et si je te fais cette remarque ce n'est pas du tout pour dénigrer la rigueur de ton travail car une faute de frappe est si vite arrivée. Sans vous, on serait complètement déboussolé... Merci la communauté Culture !
Add Comment