Intégration ArduPilot
Ce guide montre comment configurer Reach pour envoyer la position aux autopilotes ArduPilot.
Vue d'ensemble
Reach prend en charge la sortie de coordonnées améliorées RTK vers Navio2 et Pixhawk. Pour rendre cela possible, nous avons implémenté un protocole GPS personnalisé nommé ERB. Si nécessaire, vous pouvez utiliser le format standard de l'industrie NMEA à la place.
La prise en charge ERB est incluse dans ArduPilot à partir des versions suivantes :
- ArduCopter 3.4
- ArduPlane 3.5.0
- APMrover 3.1
Vous pouvez vérifier la description du protocole ERB ici.
Configuration recommandée

Nous recommandons la configuration suivante :
- Navio2, Edge ou Pixhawk avec le micrologiciel ArduPilot. Il est préférable d'utiliser la dernière version stable.
- La station de base est l'unité Reach RS2/RS2+/RS2+ ou Reach RS/RS+ en mode AP Wi-Fi, configurée comme serveur TCP.
- La station de contrôle au sol (GCS) est un ordinateur portable avec Mission Planner (version 1.3.35 et supérieure), connecté au réseau Wi-Fi hébergé par la base Reach.
- Connexion de télémétrie fournie via une radio série.
- L'unité Reach M2 ou Reach M+ rover est montée sur un drone et connectée à Navio2 ou Pixhawk via le fil 6P-to-6P. Ce type de connexion résoudra trois problèmes à la fois : alimenter Reach, permettre à la carte ArduPilot de transmettre les corrections de base et permettre à Reach de transmettre la solution RTK en retour.
Le guide suivant vous montrera comment configurer Navio2 ou Pixhawk et Reach pour fonctionner dans cette configuration. Si vous souhaitez modifier le workflow, cela devrait être facile à faire, car chaque partie du système est indépendante des autres.
Connecter Reach à l'autopilote
Pour transmettre les données de position depuis Reach, connectez-le à votre autopilote. Vous pouvez connecter votre Reach à Pixhawk, Navio2 et Edge.
Connecter Reach à Pixhawk
Pour fournir la solution RTK à Pixhawk, Reach doit être connecté via un port série. Vous pouvez le faire en branchant le câble série dans le port JST-GH du récepteur Reach et le connecteur Serial 4/5 de Pixhawk.

Il est recommandé d'alimenter Reach à partir d'une source d'alimentation externe. Pixhawk peut ne pas fournir suffisamment de puissance pour Reach dans certains cas.
Connecter Reach à Navio2
Vous pouvez connecter le récepteur Reach à Navio2 de deux manières : via UART ou USB. Pour fournir à Navio2 une solution RTK via UART, connectez le port JST-GH du récepteur Reach avec le port UART de Navio2.

Pour travailler avec USB, connectez le port Micro-USB du récepteur Reach avec un port USB sur votre Raspberry Pi.

Configurer Reach Module pour fonctionner avec ArduPilot
Configurer votre rover
La connexion série est utilisée pour accepter les corrections de base et envoyer la solution en même temps.
Tout d'abord, configurez l'entrée des corrections :
-
Ouvrez Emlid Flow et connectez-vous à votre rover.
-
Appuyez sur Correction input (Entrée de correction).
-
Sélectionnez Serial (Série).
-
Choisissez S1 (UART) ou USB to PC (USB vers PC) comme port.
-
Choisissez le débit en bauds souhaité (57600 par défaut).
-
Appuyez sur le bouton Save (Enregistrer) pour enregistrer les paramètres.

Ensuite, configurez le streaming de position :
-
Retournez à l'écran Receivers (Récepteurs) et allez à Settings (Paramètres).
-
Appuyez sur Position streaming 1 (Diffusion de position 1).
-
Sélectionnez Serial (Série).
-
Choisissez S1 (UART) ou USB to PC (USB vers PC) comme port.
-
Choisissez le débit en bauds souhaité (57600 par défaut).
-
Choisissez NMEA ou ERB comme format de diffusion de position.
-
Appuyez sur le bouton Save (Enregistrer) pour appliquer les modifications.

Configurer un lien de correction
Reach prend en charge un certain nombre de moyens pour accepter les corrections de base, y compris les radios série populaires dans le domaine des drones. Cependant, avoir un lien radio séparé pour les corrections de base uniquement est très inefficace. Pour résoudre ce problème, vous pouvez utiliser la radio de télémétrie comme support pour les corrections RTK. La station de contrôle au sol peut transmettre ces corrections à l'autopilote avec une fonctionnalité appelée injection GPS. Cette fonctionnalité est disponible uniquement dans Mission Planner.
Configurer la radio pour intégrer les corrections dans la télémétrie
Avec les paramètres par défaut, la télémétrie radio n'est pas optimisée pour l'envoi de corrections RTK. Cela peut entraîner des retards et même des pertes de livraison des données de correction. Ces glissements détérioreront la qualité de la solution RTK, vous devez donc les minimiser.
La configuration de la radio est effectuée avec la télémétrie déconnectée.
Pour configurer une radio, procédez comme suit :
Assurez-vous que la connexion MAVLink est désactivée avant de modifier les paramètres de la radio.
-
Cliquez sur INITIAL SETUP dans la barre de menu.
-
Allez dans Optional Hardware (Matériel optionnel) et sélectionnez Sik Radio (Radio Sik) dans le menu latéral.
-
Cliquez sur Load Settings (Charger les paramètres) et attendez que les paramètres des deux radios se chargent.
-
Décochez le champ ECC.
-
Choisissez RawData (Données brutes) dans le champ Mavlink.
-
Cliquez sur Save Settings (Enregistrer les paramètres).

Configurer ArduPilot pour accepter la solution du module Reach
Il est recommandé d'utiliser Reach uniquement comme deuxième unité GPS.
Pour lancer ArduPilot sur Navio2, ajoutez à votre commande de démarrage l'un des arguments suivants :
-
Pour une connexion UART :
-E /dev/ttyAMA0 -
Pour une connexion USB :
bash -E /dev/ttyACM0
Cela permettra d'utiliser Reach comme GPS externe.
La configuration d'ArduPilot nécessitera de définir certains paramètres via Mission Planner. Après la connexion, procédez comme suit :
-
Allez dans le menu CONFIG.
-
Sélectionnez Full Parameter List (Liste complète des paramètres) dans le menu latéral gauche. Pour trouver rapidement le paramètre souhaité, utilisez une boîte de recherche à droite (surlignée en rouge).
attentionSi vous travaillez avec Pixhawk, redémarrez-le chaque fois que vous définissez un paramètre pour qu'un changement prenne effet. Débranchez-le et rebranchez-le au port USB.

-
Définissez le paramètre GPS_TYPE2 sur 5 - NMEA ou 13 - ERB. Cela activera la deuxième entrée GPS.
remarqueAssurez-vous de sélectionner le même paramètre que celui défini dans Position streaming (Diffusion de position) sur votre rover.

-
Définissez le paramètre SERIAL4_BAUD sur le même débit en bauds que celui choisi dans les paramètres Position streaming (Diffusion de position) d'Emlid Flow. Notez les options correspondant aux différents débits en bauds.
-
Définissez le paramètre SERIAL4_PROTOCOL sur 5 - GPS.

-
Définissez GPS_AUTO_SWITCH sur 1 - Activé. L'autopilote basculera automatiquement entre les deux récepteurs GPS en choisissant celui avec la meilleure solution.

-
Définissez le paramètre GPS_INJECT_TO sur 1. Ici, il représente la deuxième entrée GPS. Si vous avez configuré Reach comme la première entrée, définissez ce paramètre sur 0.

Si Mission Planner signale une erreur de mauvaise santé du signal GPS, assurez-vous que la fréquence de mise à jour GNSS sur Reach est de 5 Hz ou plus.
Configurer votre base
Maintenant, vous devez configurer votre base Reach pour envoyer les corrections. Suivez les étapes ci-dessous :
-
Ouvrez Emlid Flow et connectez-vous à votre base.
-
Appuyez sur Base output (Sortie de base).
-
Choisissez TCP Server (Serveur TCP).
-
Définissez 9000 comme port.
-
Appuyez sur le bouton Save (Enregistrer) pour enregistrer les paramètres.

Configurer Mission Planner pour injecter des corrections dans la télémétrie
Pour activer et configurer les options d'injection GPS dans Mission Planner, vous devez ouvrir une fenêtre avec les paramètres GCS avancés. Faites comme suit :
-
Appuyez sur la combinaison de touches CTRL+F. Cela ouvrira une fenêtre avec les paramètres GCS avancés.
-
Cliquez sur le bouton Inject GPS (Injecter GPS) à droite.

Ensuite, dans la nouvelle fenêtre, vous devez choisir les paramètres pour la connexion de base. Suivez les étapes ci-dessous :
-
Choisissez Client TCP (TCP Client) et appuyez sur Connect (Connecter).

-
Entrez l'adresse IP de la base Reach et appuyez sur OK.

-
Entrez le numéro de port du serveur et appuyez sur OK.

-
Enfin, vérifiez que les corrections arrivent.
