Verwendung von UAVCAN für modulare UAV-Elektronik oder wie man eine Drohne nicht durch verwirrende Drähte verbrennt

Hallo! Mein Name ist Roman Fedorenko, ich bin außerordentlicher Professor des NTI-Kompetenzzentrums für "Technologien für Robotik und Mechatronik-Komponenten" an der Innopolis-Universität. Ich arbeite mit einem Roboterteam zusammen, das sich auf unbemannte Luftfahrzeuge spezialisiert hat. Zum größten Teil konzentrieren wir uns auf die UAV-Steuerung auf "hohem Niveau": Bewegungsplanung, Vermeidung von Hindernissen, Filmen und Geländescanning. Wir haben zwar auch unsere eigenen kleinen Copter zusammengebaut und mit Hardware gearbeitet. Im vergangenen Jahr haben wir mit der Entwicklung eines großen vertikalen Start- und Landeflugzeugs begonnen, das alle Ebenen umfasst - von der Herstellung des Trägers über die Montage von Sensoren bis hin zur intelligenten Steuerung. Bei der Entwicklung dieses Projekts haben wir UAVCAN kennengelernt .



UAVCAN ist ein offenes, leichtes Protokoll für das integrierte Mobilfunknetz. Kürzlich sein Entwickler und Betreuer Pavel KirienkoSpymsprach auf dem PX4 Developer Summit über das Protokoll , einer wichtigen Konferenz für die Drohnenentwickler, die das Open-Source-Ökosystem rund um den PX4- Autopiloten nutzt, zu dem auch UAVCAN gehört. Und Pavel bereitete im Anschluss an seinen Bericht auch einen ausführlichen Artikel für die russischsprachige Gemeinschaft über Habré vor.



In diesem Artikel werde ich über die praktische Seite der Verwendung des Protokolls aus Sicht der Entwickler von automatischen Steuerungssystemen für UAVs sprechen: Wie wir UAVCAN ausgewählt haben, was wir damit machen und welche Möglichkeiten wir in Zukunft sehen.







Hybrid-UAVs



Ein vertikales Start- und Landeflugzeug (VTOL) ist eine Mischung aus einem Hubschrauber und einem Flugzeug, die aufgrund des aerodynamischen Auftriebs des Flügels länger als ein Hubschrauber halten kann und keine Landebahn oder Startvorrichtung und keinen Fallschirm wie herkömmliche Flugzeugdrohnen erfordert. Die Entwicklung solcher Geräte ist heute eine beliebte und vielversprechende Richtung. Ein solches Gerät kann für Lieferung, Kartierung, Überwachung und andere Zwecke verwendet werden. Die meisten Projekte mit fliegenden Taxis basieren auf demselben Konstruktionsprinzip, zum Beispiel:



  • das vollelektrische Lufttaxi Lilium Jet der deutschen Firma Lilium ;

  • das geräuscharme Heaviside- Elektroflugzeug der Firma Kitty Hawk von Sebastian Trun (das viele von unbemannten Fahrzeugen kennen);

  • Airbus ' Vahana- Projekt .



Innopolis VTOL Flugzeug

Ein vertikales Start- und Landeflugzeug der Innopolis University



Wir haben drei Modelle kleiner unbemannter Luftfahrzeuge mit unterschiedlicher Spannweite, Nutzlast und Stromquellen entwickelt - alle elektrisch und mit Verbrennungsmotoren. Wir arbeiten mit dem Kazan Aviation Institute und Luftfahrtunternehmen in Kasan bei Flugzeugkonstruktionen zusammen. Der Schwerpunkt unserer Arbeit liegt auf Elektronik, Algorithmen und automatischer Steuerung.



Was hat UAVCAN damit zu tun?



Für diejenigen im Drohnengeschäft sieht eine typische Kontrollstruktur ungefähr so ​​aus:



PixHawk-Drohnenschema


Typisches UAV-Layout basierend auf dem PX4-Autopiloten. Quelle Die



Motoren werden von Drehzahlreglern (ESCs) gesteuert, die über PWM-Signale vom Autopiloten mit Sollwerten versorgt werden. Sensoren werden über eine Reihe verschiedener Schnittstellen angeschlossen - UART, I2C, SPI. Plus Telemetrie, Fernbedienung, Stromversorgung - und Sie bekommen eine solche "Spinne" von Drähten. Dies ist jedoch nicht das Hauptproblem.



Je länger die Drähte sind, dh je größer die Vorrichtung ist, desto anfälliger ist diese Schaltung für Tonabnehmer. Wir mussten von Anfang an darüber nachdenken, denn unsere Flugzeuge haben eine Flügelspannweite von 2 und 4 Metern, und dies ist nicht die Grenze.



Zuvor haben wir für das Projekt eines 40-Meter-Luftschiffs mit CAN gearbeitet (nur das Protokoll basierte auf CANOpen). Die Entscheidung für UAVCAN war für uns selbstverständlich: PX4 hat bereits seine Unterstützung, und darüber gab es im Team nicht einmal Streit. Zunächst wollten wir die langen PWM-Leitungen durch eine digitale Schnittstelle ersetzen, um unsere Lösungen auf Flugzeuge mit unterschiedlicher Spannweite zu skalieren.



Es stellt sich heraus, dass UAVCAN kein CAN für UAV ist
UAVCAN CAN UAV (). , , Uncomplicated Application-level Vehicular Communication And Networking (« ») UAV, CAN, . UAVCAN middleware ROS (Robot Operating System). .



Durch das Ersetzen von PWM-Verbindungen durch UAVCAN-Verbindungen haben wir uns keine Gedanken mehr über lange Kabel und Rauschprobleme gemacht und auch die Anzahl der Verbindungen zum Autopiloten erheblich reduziert.



Dafür gab es zwei Möglichkeiten. Die erste besteht darin, Motorregler und Servoantriebe mit UAVCAN-Schnittstelle zu verwenden. Solche sind zum Beispiel bei Zubax . Die zweite besteht darin, UAVCAN-Adapter herzustellen, die direkt neben dem ESC installiert sind. Wir haben uns für die zweite Option entschieden, da die Auswahl an ESC mit UAVCAN-Schnittstelle gering ist. Zuerst verwendeten wir Adapter aus dem UAVCAN for Hobbyists ( UC4H ) -Projekt , dann entschieden wir uns, unsere eigenen Geräte mit einem eingebauten DC-DC-Wandler, unserer eigenen Schaltung, Firmware und Bohrdioden herzustellen .



Innopolis UAVCAN-Geräte

Unsere Geräte mit UAVCAN-Schnittstelle



Habe den Geschmack



Dann wurde uns klar, dass wir anstelle eines Dutzend Drähte den UAVCAN-Bus verwenden könnten, um nicht nur mit Aktuatoren, sondern auch mit den meisten externen Geräten zu interagieren. Dies wirkt sich auch gut auf die Schwingungsisolation des auf einer speziellen Plattform installierten Controllers aus. Infolgedessen haben wir eine Reihe von Geräten für unseren eigenen Gebrauch entwickelt, aber jetzt sehen wir, dass sie für andere interessant sind:



  • Wandler CAN-PWM mit bis zu 4 Kanälen: Das Gerät ist an den CAN-Bus angeschlossen, empfängt und verarbeitet Steuersignale und gibt PWM aus. Sie können die Karte direkt von der Batterie mit bis zu 60 V versorgen. Sie enthält einen DC-DC-Wandler, der die Karte und den Verbraucher mit einer Spannung von 5 V (3 A) versorgt (z. B. eine Servomaschine).

  • GPS / Magnetometer / Barometer;

  • , Power Management Unit (PMU): ( ). . — , DC-DC . 1000 . CAN ;

  • ;

  • ;

  • ;



Technisch basieren diese Geräte auf dem STM32-Mikrocontroller. Wir entwerfen uns selbst und bestellen die Produktion bei pcbway.ru. Die Firmware wird mit libcanard implementiert .



Unser Gefühl für die Arbeit mit UAVCAN ist eine ziemlich niedrige Einstiegsschwelle. Der neue Mitarbeiter brauchte weniger als eine Woche, um den Abstandssensor sowohl auf der Seite des STM32- als auch des PX4-Autopiloten herauszufinden und zu programmieren.



Dunkle Drohne


Wir testen neue Geräte auf einer kleinen dunklen Drohne



und verwenden sie dann in einem Flugzeug:





Ein kurzes Video eines Testfluges unseres VTOL-Flugzeugs in allen Modi



Organisation von Flügen
, , . .



.



Infolgedessen sieht unser Schema folgendermaßen aus: Schema unserer VTOL-Flugzeuge mit UAVCAN-Sensoren und -Aktuatoren



Innopolis VTOL UAVCAN-Programm





Welche Vorteile wird uns UAVCAN in Zukunft bieten?



Reservierung



Die wichtigste Aufgabe bei der Implementierung eines auf einem UAV basierenden Produkts ist die Gewährleistung der Zuverlässigkeit. Daran haben wir bereits gearbeitet. Beispielsweise können mehrere unserer GPS- und Fluggeschwindigkeitssensoren parallel angeschlossen und verwendet werden. Aber es gibt noch viel zu tun. Das Duplizieren von Sensoren und Controllern über den CAN-Bus wird höchstwahrscheinlich erleichtert. Sie können zwei Busse an Pixhawk anschließen und aus Redundanzgründen mehrere identische Sensoren am Bus belassen.



Skalierung



In Zukunft wollen wir große Fahrzeuge mit einem Startgewicht von mehr als 30 kg herstellen, obwohl dies schwer zu zertifizieren ist. Die Skalierbarkeit der auf UAVCAN basierenden Architektur ermöglicht es, ehrgeizige Pläne zu erstellen.



Echte HIL-Simulation



Jetzt entwickelt sich das Thema UAV-Betrieb im städtischen Umfeld aktiv weiter - Urban Air Mobility (UAM). Um UAM-Aufgaben zu implementieren, müssen Sie sich stärker auf Sensoren wie Kameras und Lidars verlassen. Hier wird es notwendig, intelligente Steuerungssysteme zu entwickeln und zu debuggen sowie deren Zuverlässigkeit zu erhöhen. Zu diesem Zweck entwickelt ein anderes Team der Innopolis University den Innopolis Simulator für autonome bewegliche Objekte auf Basis von Unity 3D zum Testen, Debuggen und Trainieren. Innopolis Simulator Für unsere VTOL-Flugzeuge verwenden wir den Innopolis Simulator in Verbindung mit Gazebo zur fotorealistischen Simulation , Kontrollprüfung und Verarbeitung von Sensordaten - Lidars und Kameras.













Jetzt arbeiten wir an unserem eigenen Dynamiksimulationsmodul anstelle von Gazebo mit genauerer Aerodynamik sowie an einer weiteren Funktion - der echten HIL-Simulation (von Hardware in the Loop oder Software- und Hardware-Simulation, PAM).



In unserer Lösung stammen alle Daten von Sensoren, und Steuerungen an Motoren und Servos werden über den UAVCAN-Bus gesendet. Warum nicht ein Modul zur Simulation dieser Sensoren auf derselben Busebene erstellen? Anstelle von Geräten verbinden wir einfach einen Computer mit einem Simulator mit dem Controller.



Jetzt erfolgt die HIL-Simulation in PX4 mit speziellen HIL_ * -Nachrichten MAVLINK (Telemetrieprotokoll, arbeitet an einer seriellen Schnittstelle oder UDP / TCP), die Sensoren und Aktoren simulieren.



PX4_HITL


Diagramm des PX4-Betriebs im HITL-Modus. Die Quellensimulation



, wie sie derzeit in der PX4 implementiert ist, ist eine separate Betriebsart für den Flugregler, die sich von der Flugkonfiguration "Kampf" unterscheidet. Wir simulieren UAVCAN-Nachrichten direkt. Idealerweise weiß der Autopilot nicht einmal, was in der simulierten Umgebung funktioniert. Aber ich muss sagen, dass das Problem der Simulation von IMUs, die sich im Autopiloten befinden und nicht über CAN verbunden sind, konzeptionell noch nicht gelöst wurde. Das vorgeschlagene Schema für den PX4-Betrieb im HITL-Modus mit UAVCAN Diese Lösung erhöht die Zuverlässigkeit der Debugging-Ergebnisse auf dem Simulator, sodass Sie sicherer mit Flugtests fortfahren können. Aviation HIL Simulator. Quelle Ein ähnlicher Ansatz, wenn Geräte auf Schnittstellenebene simuliert werden:



Innopolis VTOL UAVCAN HIL Simulator Schema















verwendet in großen Luftfahrt, aber mit UAVCAN wir machen es leichter zugänglich und einfacher.



Ausgabe



Es ist großartig, dass die Probleme der Leichtigkeit, Zuverlässigkeit und "Echtzeit" des UAVCAN-Protokolls bereits für uns gedacht wurden, sowie was PX4, ROS und Linux am Ende sind. Es wäre sehr schwierig für uns, unsere Hubschrauber, Flugzeuge, Steuerungssysteme und Planer herzustellen, wenn all dies nicht vorhanden wäre.



Durch die Standardisierung von Protokollen und Software können Entwickler dieselbe Sprache sprechen. Gleichzeitig ist nicht nur die Standardisierung wichtig, sondern auch die Zugänglichkeit, die in hohem Maße einen Open-Source-Ansatz bietet. Dies ermöglicht es, auf den Schultern von Riesen zu stehen, schnell zu ihren Aufgaben überzugehen, anstatt eine lange "Infrastruktur" für die Arbeit aufzubauen, die wir hoffentlich anhand unseres Beispiels in diesem Artikel gezeigt haben. 





Nach erfolgreichen Flügen trinken wir Cold Brue



All Articles