Zum Hauptinhalt springen

ArduPilot-Integration

Diese Anleitung zeigt, wie man den Reach konfiguriert, um die Position an ArduPilot-Autopiloten zu senden.

Übersicht

Reach unterstützt die Ausgabe von RTK-bearbeiteten Koordinaten an Navio2 und Pixhawk. Um dies zu ermöglichen, haben wir ein eigenes GPS-Protokoll namens ERB implementiert. Bei Bedarf können Sie stattdessen das NMEA-Format verwenden, das dem Branchenstandard entspricht.

ArduPilot Anforderungen

ERB-Unterstützung ist in ArduPilot ab den folgenden Versionen enthalten:

  • ArduCopter 3.4
  • ArduPlane 3.5.0
  • APMrover 3.1

Sie können die Beschreibung des ERB-Protokolls hier einsehen.

Hier ist ein Demo-Video mit unseren Ergebnissen:

Empfohlene Einrichtung


Wir empfehlen die folgende Einstellung:

  • Navio2, Edge oder Pixhawk mit der ArduPilot-Firmware. Es ist vorzuziehen, die letzte stabile Version zu verwenden.
  • Die Basisstation ist die Reach RS2/RS2+/RS2+ oder Reach RS/RS+ Einheit im WLAN AP-Modus, die als TCP-Server konfiguriert ist.
  • Die Bodenkontrollstation (BCS, Ground Control Station) ist ein Laptop mit Mission Planner (Version 1.3.35 und höher), der mit dem WLAN-Netzwerk der Reach-Basis verbunden ist.
  • Telemetrieverbindung, die über ein Funkgerät mit serieller Schnittstelle bereitgestellt wird.
  • Die Rover Reach M2 oder Reach M+ Einheit wird auf einer Drohne montiert und über das 6P-zu-6P-Kabel mit Navio2 oder Pixhawk verbunden. Dieser Verbindungstyp löst drei Probleme auf einmal: Stromversorgung des Reach, Weiterleitung der Basiskorrekturen durch das ArduPilot-Board und Rückgabe der RTK-Lösung durch den Reach.

Die folgende Anleitung zeigt Ihnen, wie Sie Navio2 oder Pixhawk und den Reach so konfigurieren, dass sie in diesem Setup funktionieren. Wenn Sie den Arbeitsablauf ändern möchten, sollte dies leicht möglich sein, da jeder Teil des Systems unabhängig vom anderen ist.

Reach mit Autopilot verbinden

Um die Positionsdaten vom Reach zu übertragen, verbinden Sie ihn mit Ihrem Autopiloten. Sie können den Reach mit Pixhawk, Navio2 und Edge verbinden.

Reach mit Pixhawk verbinden

Um eine RTK-Lösung für Pixhawk bereitzustellen, muss der Reach über eine serielle Schnittstelle angeschlossen werden. Stecken Sie dazu das serielle Kabel in den JST-GH-Anschluss des Reach-Empfängers und in den seriellen 4/5-Anschluss des Pixhawk.


note

Es wird empfohlen, den Reach über eine externe Stromquelle zu versorgen. Pixhawk kann in manchen Fällen nicht genug Strom für den Reach bereitstellen.

Reach mit Navio2 verbinden

Sie können den Reach-Empfänger auf zwei Arten mit dem Navio2 verbinden: über UART oder USB. Um Navio2 mit einer RTK-Lösung über UART zu versorgen, verbinden Sie den JST-GH-Port des Reach-Empfängers mit dem UART-Port des Navio2.


Um mit USB zu arbeiten, verbinden Sie den Micro-USB-Port des Reach-Empfängers mit einem USB-Port an Ihrem Raspberry Pi.


Das Reach Modul für die Zusammenarbeit mit ArduPilot konfiguieren

Rover einrichten

note

Der serielle Anschluss wird verwendet, um Basiskorrekturen zu akzeptieren und gleichzeitig Lösungen zu senden.

Konfigurieren Sie zunächst die Korrektureingabe:

  1. Öffnen Sie Emlid Flow und stellen Sie eine Verbindung mit dem Rover her.

  2. Tippen Sie auf Korrektureingabe (Correction Input).

  3. Wählen Sie Seriell (Serial).

  4. Wählen Sie S1 (UART) oder USB zu PC (USB to PC) als Port.

  5. Wählen Sie die gewünschte Baudrate (57600 als Standard).

  6. Tippen Sie auf die Schaltfläche Speichern (Save), um die Einstellungen zu speichern.


Danach konfigurieren Sie das Positions-Streaming:

  1. Kehren Sie zum Bildschirm Receivers (Empfänger) zurück und gehen Sie zu Einstellungen (Settings).

  2. Tippen Sie auf Positions-Streaming 1.

  3. Wählen Sie Seriell (Serial).

  4. Wählen Sie S1 (UART) oder USB zu PC (USB to PC) als Port.

  5. Wählen Sie die gewünschte Baudrate (57600 als Standard).

  6. Wählen Sie NMEA oder ERB als Format für das Positions-Streaming.

  7. Tippen Sie auf die Schaltfläche Speichern (Save), um die Änderungen zu übernehmen.

Korrekturverbindung einrichten

Reach unterstützt eine Reihe von Möglichkeiten für das Empfangen von Basiskorrekturen, einschließlich der beliebten seriellen Funkgeräte im UAV-Bereich. Eine separate Funkverbindung nur für Basiskorrekturen ist jedoch äußerst ineffektiv. Um dieses Problem zu lösen, können Sie das Telemetrie-Funkgerät als Träger für RTK-Korrekturen verwenden. Die GCS kann diese Korrekturen mit einer Funktion namens GPS-Inject an den Autopiloten weitergeben. Diese Funktion ist nur in Mission Planner verfügbar.

Funkgerät für die Einbettung von Korrekturen in die Telemetrie konfigurieren

Bei den Standardeinstellungen ist die Funktelemetrie nicht für die Übertragung von RTK-Korrekturen optimiert. Dies kann zu Verzögerungen bei der Übermittlung von Korrekturdaten und sogar zu deren Verlust führen. Diese Slips verschlechtern die Qualität der RTK-Lösung, so dass Sie diese minimieren müssen.

note

Die Funkkonfiguration erfolgt bei abgeschalteter Telemetrie.

Um ein Funkgerät zu konfigurieren, gehen Sie wie folgt vor:

caution

Stellen Sie sicher, dass die MAVLink-Verbindung deaktiviert ist, bevor Sie die Funkeinstellungen ändern.

  1. Klicken Sie in der Menüleiste auf ERSTEINRICHTUNG (INITIAL SETUP).

  2. Gehen Sie zu Optionale Hardware (Optional Hardware) und wählen Sie Sik-Funkgerät (Sik Radio) im Seitenmenü.

  3. Klicken Sie auf Einstellungen laden (Load Settings) und warten Sie, bis die Parameter beider Funkgeräte geladen sind.

  4. Deaktivieren Sie das Feld ECC.

  5. Wählen Sie Rohdaten (RawData) im Feld Mavlink.

  6. Klicken Sie auf Einstellungen speichern (Save Settings).

ArduPilot so konfigurieren, dass es die Reach Modul-Lösung akzeptiert

caution

Es wird empfohlen, Reach nur als zweites GPS-Gerät zu verwenden.

Um ArduPilot auf Navio2 zu starten, fügen Sie Ihrem Startbefehl eines der folgenden Argumente hinzu:

  • Für UART-Verbindung:

    -E /dev/ttyAMA0
  • Für USB-Verbindung:

    bash -E /dev/ttyACM0

Damit kann der Reach auch als externes GPS verwendet werden.

Die Konfiguration des ArduPilot erfordert die Einstellung einiger Parameter über den Mission Planner. Gehen Sie nach der Verbindungsherstellung wie folgt vor:

  1. Rufen Sie das Menü CONFIG auf.

  2. Wählen Sie Vollständige Parameterliste (Full Parameter List) im Menü auf der linken Seite. Um den gewünschten Parameter schnell zu finden, verwenden Sie das Suchfeld auf der rechten Seite (rot hervorgehoben).

    caution

    Wenn Sie mit Pixhawk arbeiten, starten Sie es jedes Mal neu, wenn Sie einen Parameter einstellen, damit die Änderung wirksam wird. Ziehen Sie den Stecker ab und schließen Sie ihn wieder an den USB-Port an.

  3. Setzen Sie den Parameter GPS_TYPE2 auf 5 - NMEA oder 13 - ERB. Dadurch wird der zweite GPS-Eingang aktiviert.

    note

    Stellen Sie sicher, dass Sie denselben Parameter wählen, den Sie unter Positions-Streaming auf Ihrem Rover eingestellt haben.

  4. Stellen Sie den Parameter SERIAL4_BAUD auf die gleiche Baudrate ein, die Sie in den Einstellungen für Emlid Flow Positions-Streaming (Position Streaming) gewählt haben. Beachten Sie die Optionen, die den verschiedenen Baudraten entsprechen.

  5. Setzen Sie den Parameter SERIAL4_PROTOCOL auf 5 - GPS.

  6. Setzen Sie GPS_AUTO_SWITCH auf 1 - Aktiviert. Der Autopilot schaltet automatisch zwischen den beiden GPS-Empfängern um und wählt denjenigen mit der besseren Lösung.

  7. Setzen Sie den Parameter GPS_INJECT_TO auf 1. Hier steht es für den zweiten GPS-Eingang. Wenn Sie Reach als ersten Eingang konfiguriert haben, setzen Sie diesen Parameter auf 0.

Schlechte GPS-Signalstärke

Wenn der Mission Planner den Fehler „Schlechtes GPS-Signal” meldet, stellen Sie sicher, dass die GNSS-Aktualisierungsrate auf dem Reach (GNSS update rate on Reach) mindestens 5 Hz beträgt.

Basis einrichten

Nun müssen Sie Ihre Reach-Basis so konfigurieren, dass die Korrekturen gesendet werden. Folgen Sie den nachstehenden Schritten:

  1. Öffnen Sie Emlid Flow und stellen Sie eine Verbindung mit der Basis her.

  2. Tippen Sie auf Basisausgabe (Base output).

  3. Wählen Sie TCP-Server (TCP Server).

  4. Stellen Sie 9000 als Port ein.

  5. Tippen Sie auf die Schaltfläche Speichern (Save), um die Einstellungen zu speichern.

Konfigurieren Sie den Mission Planer so, dass er Korrekturen in die Telemetrie einfügt

Um die Optionen für die GPS-Einspeigung in Mission Planner zu aktivieren und zu konfigurieren, müssen Sie ein Fenster mit erweiterten GCS-Einstellungen öffnen. Gehen Sie folgendermaßen vor:

  1. Drücken Sie die Tastenkombination STRG+F. Daraufhin öffnet sich ein Fenster mit erweiterten GCS-Einstellungen.

  2. Klicken Sie auf der rechten Seite auf die Schaltfläche GPS-Einspeisung (Inject GPS).

Danach müssen Sie in dem neuen Fenster die Parameter für die Basisverbindung auswählen. Folgen Sie den nachstehenden Schritten:

  1. Wählen Sie TCP-Client (TCP Client) und drücken Sie Verbinden (Connect).

  2. Geben Sie die IP-Adresse des Basis-Reach ein und drücken Sie OK.

  3. Geben Sie die Portnummer des Servers ein und drücken Sie OK.

  4. Prüfen Sie schließlich, ob die Korrekturen eingehen.