Hindernissen automatisch ausweichen FPGA-basierter Autopilot für Drohnen

Autor / Redakteur: Marco Kümmerling * / Michael Eckstein

Schneller zum Entwicklungsziel mit FPGAs: Das Beispiel einer automatischen Steuerung für Drohnen zeigt, wie sich mit FPGAs die Time-to-Market für innovative Produkte verkürzen lässt.

Firmen zum Thema

Flugbereit: Der Emqopter mit integriertem Autopilot kurz vor dem Abheben.
Flugbereit: Der Emqopter mit integriertem Autopilot kurz vor dem Abheben.
(Bild: Emqopter GmbH)

Elektronische Steuerungen sind heute die Gehirne vieler Produkte und ermöglichen eine enorme Vielfalt an Variationen und maßgeschneiderter Lösungen. Dies gelingt nur auf Basis eines gut strukturierten Designs der elektronischen Steuerung, was über alle Branchen hinweg eine nicht zu unterschätzende Herausforderung an die entwickelnden Unternehmen und Dienstleister ist.

Wer leistungsfähige und robuste Geräte in kurzer Zeit realisieren will, greift häufig auf lokal programmierbare Logik zu – etwa FPGAs (Field Programmable Gate Arrays). Je nach Aufgabenstellung kommen FPGAs allein oder in Kombination mit frei programmierbaren Controllerlösungen zum Einsatz. Die Bausteine bieten bemerkenswerte Vorteile, wenn es um die Verarbeitung vieler Datenkanäle und die Ausführung von Algorithmen geht.

Aufgrund ihrer internen Struktur können sie Signale im Gegensatz zur sequentiellen Verarbeitung in Controllern und Prozessoren getaktet parallel erfassen und verarbeiten, so dass eine hohe Bandbreite zur Verfügung steht und auch Signale im GHz-Bereich verarbeitet werden können. Zudem ist bei einem getakteten Design die Verarbeitung der Prozesse deterministisch, was die Bewertung des Designs in Sicherheitsanwendungen vereinfacht und die Entwicklungskosten solcher Anwendungen verringern kann.

Auch die geringe Fehleranfälligkeit von FPGAs spielt eine wesentliche Rolle. Die zahlreichen Punkt-zu-Punkt-Verbindungen stellen sicher, dass Variablen nicht von der falschen Quelle beschrieben werden. Die Wahrscheinlichkeit von Fehlern bei der Interprozess-Kommunikation ist gering, die Taktfrequenz kann deutlich geringer ausgelegt werden als bei einer CPU, und ein unterlagertes Betriebssystem als potentielle Störungsquelle ist nicht vorhanden.

FPGAs verarbeiten Prozesse deterministisch

Mit ihren Eigenschaften sind FPGA optimal geeignet zum Erfassen und Verarbeiten großer Datenmengen mit hoher Geschwindigkeit. Besonders erfolgreich kommen sie zum Beispiel in folgenden Bereichen zum Einsatz.

  • Videodatenverarbeitung
  • Bilddatenverarbeitung
  • Künstliche Intelligenz
  • komplexe Prozessverarbeitung in der Automation
  • im industriellen IoT-Bereich oder
  • für Safety-Anwendungen

Entwickler profitieren von der hohen Integrationsdichte und Flexibilität der Bausteine; können somit Kosten senken und Entwicklungszeiten verkürzen. Möglich wird dies – neben der hohen Anzahl von Logikelementen – durch integrierte Memory- und DSP-Blöcke, die für Multiplikation, FIR- und FFT-Filter und ähnliche rechenintensive Algorithmen direkt verwendet werden können.

Auch viele schnelle serielle Transceiver mit über 10 GBit/s für Gigabit Ethernet oder PCI Express sind in vielen FPGAs bereits integriert. Es ist zu erwarten, dass die Vielfalt der integrierten Blöcke und Verarbeitungsmethoden in Zukunft weiter steigen wird, womit ein noch größeres Anwendungsfeld für die programmierbaren Bausteine erschlossen werden kann.

Der Hersteller Microsemi bietet mit seinen Polarfire-FPGA noch eine Reihe weiterer Vorteile, wie eine niedrige statische Stromaufnahme und aufgrund ihrer Konstruktion eine hohe Robustheit gegenüber externen Stör­einflüssen. Die Unternehmen Arrow Electronics als Auftraggeber und IMG Electronic & Power Systems als Dienstleister haben in Kooperation das FPGA Development Board „Everest“ entwickelt, das die Entwicklungszeit enorm verkürzen kann. Zentrales Element ist der Polarfire FPGA MPF300T mit 300K Logikelementen.

Um ein breites Spektrum an Anwendungen abdecken zu können, beinhaltet das Board zwei DDR3-Speicherblöcke mit 1 GByte respektive 2 GByte Speicherkapazität, drei Gigabit-Ethernet-Schnittstellen, ein SFP+ Interface für z.B. 10 Gigabit Ethernet, eine 4-Lane PCIe-Schnittstelle sowie einen HDMI-Ausgang.

Konkrete Anforderungen bereits in Piloten integriert

Zum Programmieren und Debuggen ist ein FlashPro 5 Programmer mit auf dem Board integriert. Für eigene Hardwareerweiterungen bietet das Board einen FMC-HPC-Connector und einen PMOD-Connector. Das Board wird mit 12 V DC versorgt, wobei die Spannung extern oder über das PCIe Interface eingespeist werden kann.

Dieses Development-Board entstand aus der Praxis für die Praxis, so dass bereits viele Designbeispiele vorhanden sind. Dazu zählen ein Videoverarbeitungssystem, ein Web-Server mit 1 Gigabit Ethernet und eine Anwendung mit KI (Künstliche Intelligenz) sowie Spezialanwendungen, für die keine Standardkomponenten verfügbar sind. Dazu zählen auch Anwendungen mit dem RISC-V-Open-Source-Prozessor. Auf der Webseite der IMG Electronic & Power Systems GmbH sind eine Reihe konkreter Designbeispiele für das Development Board verfügbar, die den Einstieg in die FPGA-Welt erleichtern und als Grundlage für eigene Projekte dienen können.

Bei solchen Projekten unterstützt IMG als technischer Dienstleister die Industrie, ihre Innovationen schnell und kostengünstig auf den Markt zu bringen. Neben kompetentem FPGA-Design, Programmierung und Schulung bietet das Unternehmen umfassende technologische Dienstleistungen in der Hard- und Softwareentwicklung, für Embedded Systems, Batterie-Management-Systeme und in der Leistungselektronik. Mit angeschlossener Fertigung und hauseigenem Prüflabor kann von der Idee bis zum Serienprodukt die gesamte Wertschöpfungskette abgebildet werden.

Projekt: Ausfallsicherer Autopilot für Drohnen

Datenfluss: Das Blockschaltbild des SupervisorPilot zeigt den redundanten Aufbau der FPGA-basierten automatischen Steuerung.
Datenfluss: Das Blockschaltbild des SupervisorPilot zeigt den redundanten Aufbau der FPGA-basierten automatischen Steuerung.
(Bild: IMG Electronic & Power Systems)

Eine sicherheitsrelevante Anwendung von FPGAs sei hier am Beispiel des Projekts „SupervisorPilot“ dargestellt. Dabei handelt es sich um ein System, das den sicheren und zuverlässigen Betrieb von kleinen unbemannten Flugobjekten, sogenannten Drohnen, sicherstellen soll. Mikrodrohnen und kleine Drohnen (S-UAS = „small unmanned aerial system“) verfügen in der Regel über keinen serienmäßigen und redundanten System-Ausfallschutz, der mit den Ansprüchen der bemannten Luftfahrt vergleichbar wäre.

Dies begründet die Nachfrage nach einer technischen Lösung. Bei kritischen, industriellen Anwendungen oder beim Überflug von Menschen ist ein Absturz unter allen Umständen zu vermeiden. Zur Kollisionsverhinderung ist das Erfassen von Hindernissen essenziell; zudem ist das Wissen um die eigene Position auch für Notfall-Routinen wie das „Coming Home“ erforderlich.

Bis zu drei redundante Autopiloten parallel

Kollisionsgeschützt: In der Testumgebung muss der Autopilot seine Funktionalität unter Beweis stellen.
Kollisionsgeschützt: In der Testumgebung muss der Autopilot seine Funktionalität unter Beweis stellen.
(Bild: Emqopter GmbH)

Die Aufgabenstellung zu diesem Projekt umfasste im Wesentlichen das Erhöhen der Ausfallsicherheit und Verfügbarkeit von unbemannten Luftfahrzeugen durch den Einsatz von bis zu drei redundant arbeitenden Standard-Autopiloten. Hierzu erfolgt die Bewertung (Voting) der Motorsteuersignale von den Autopiloten und die Weiterleitung der Signale eines verfügbaren Autopiloten zu den ESC (Electronic Speed Control) der Motoren durch zwei FPGAs.

Zusätzlich erhält der „SupervisorPilot“ über ein Interface-Modul weitere Statusdaten von den Autopiloten (z.B. Bestätigung Position = OK, Kontakt Fernsteuerung = OK). Die Auswertung dieser Daten beeinflusst das Voting, so dass sichergestellt wird, dass immer ein Autopilot mit vollständig positivem Status aktiv ist. Nur dessen Daten und Signale werden dann auch vom Voter an die Telemetrie und aktive Fernsteuerungen übermittelt.

Diesen Beitrag lesen Sie auch in der Fachzeitschrift ELEKTRONIKPRAXIS Ausgabe 4/2021 (Download PDF)

Beim Prototyp des Emqopters sind gut die einzelnen Baugruppen, Sensoren und Antennen zu sehen.
Beim Prototyp des Emqopters sind gut die einzelnen Baugruppen, Sensoren und Antennen zu sehen.
(Bild: Emqopter GmbH)

Parallel bewertet ein eigenes Inertial­system (IMU) an beiden FPGAs die aktuelle Lage des unbemannten Luftfahrzeugs. Es erfolgt eine permanente Kommunikation der FPGAs untereinander zum Vergleich der Bewertungsergebnisse inklusive Ausfallerkennung eines FPGAs. Integriert ist zudem die Option, eine Fernsteuerung auszuwählen – beispielsweise für Schüler- / Lehrer-Betrieb, oder zur Übernahme eines unbemannten Luftfahrzeugs in kritischen Flugzonen z.B. durch Sicherheitsbehörden.

Schließlich bietet das System die Möglichkeit – je nach kundenspezifischer Konfiguration der Drohne – zur Einleitung geeigneter Maßnahmen bei Ausfall einer oder mehrerer Komponenten bis hin zur manuellen oder automatischen Auslösung des Notfallsystems (Fallschirm und/oder Airbags). Für das Projekt arbeitet IMG mit dem Drohnenspezialisten Emqopter aus Würzburg zusammen. Es befindet sich derzeit in der Baumusterphase, die Erprobung fliegender Prototypen ist für diese Jahr (2021) geplant.

* Marco Kümmerling ist Entwicklungsingenieur bei IMG Electronic & Power Systems in Nordhausen.

(ID:47070716)