
In dem Artikel betrachten wir den elektronischen Teil des neuen Quadrocopters Geoscan Pioneer, der Robotik lehren soll. Wir werden darüber sprechen, wie wir einen Copter erstellen oder welche Erfahrungen wir gesammelt und welche Änderungen wir am Projekt vorgenommen haben. Am Ende - Aktienpläne für die Zukunft.
1. Warum einen Quadrocopter für das Training in Geoscan erstellen?
Um viele angewandte Probleme zu lösen, werden zunehmend unbemannte Luftfahrzeuge (UAVs), insbesondere Mehrrotorsysteme, eingesetzt. Ihre Präsenz ist in vielen Bereichen zu beobachten, beispielsweise in der Luftbildfotografie, bei der Frachtzustellung, bei Videoaufnahmen aus der Luft, bei der Überwachung von Objekten sowie bei Rennen (Drohnenrennen).
In der sich schnell entwickelnden Industrie unbemannter Flugzeuge besteht jedoch ein Mangel an Fachpersonal. Das technische Personal ist ab der Schule am besten vorbereitet. Nur die Vergangenheit in allen Phasen: vom Entwurf über den Betrieb bis zur Modernisierung - kann zu einem echten Fachmann auf ihrem Gebiet werden und eine weitere Runde in der Entwicklung der Branche geben, sowohl in Bezug auf die Technologie als auch in Bezug auf die Einbeziehung einer zunehmenden Anzahl verwandter Bereiche in der Branche und die Lösung einer zunehmenden Anzahl angewandter Probleme .
Es kann argumentiert werden, dass die Verwendung des Quadrocopters durch Schüler, Studenten und Amateure als fliegender Roboter zum Erlernen der Grundlagen der Entwicklung, des Betriebs und der Modernisierung von UAVs ein interessantes Thema für uns ist. Infolgedessen kann dies zur Schaffung einer Basis für einen neuen Bildungsstandard führen.

Wir glauben, dass die folgenden Themen am interessantesten zu studieren sind:
Programmierung von Steuerungssystemen, Erstellung von Orientierungs- und Navigationsalgorithmen im Raum, Erkennung der Umgebung;
Elektronik - Anschließen von Sensoren und Untersuchung der Prinzipien ihrer Arbeit, Untersuchung der Struktur von Flugzeugsystemen;
Das Design des Rahmens und der Mechanik sowie die Untersuchung der elektromechanischen Parameter des Copters zur Optimierung der Flugmodi bei der Lösung verschiedener Probleme;
Steuerung des Copters sowohl im Pilotmodus als auch im UAV-Bedienermodus. Das heißt, manuell oder automatisch.
So entstehen viele interessante Aufgaben, die für die jüngere Generation im Rahmen von Bildungskreisen, Wettbewerben und Olympiaden zu lösen sind.
Basierend auf dem Vorstehenden und den vorhandenen Erfahrungen bei der Erstellung von UAVs bei Geoscan haben wir beschlossen, diese Ideen durch die Erstellung einer Software und einer elektronischen Plattform in die Praxis umzusetzen.
Es ist erwähnenswert, dass Sie zum einfachen Programmieren eines fliegenden Roboters ein Navigationssystem benötigen. Und wenn dieses Problem auf der Straße durch Satellitennavigation gelöst wird, hat dieses Problem in Innenräumen keine klare Lösung. Da es aufgrund des Wetters, des umgebenden Geländes oder der Sicherheit nicht immer möglich ist, auf der Straße zu arbeiten, wird die Navigation in Innenräumen zu einem Muss. Welches Navigationssystem wir gewählt haben, wird unten beschrieben.
2. Die erste Version der Elektronik des "Schul" -Copters
Um einen kleinen Copter zu erstellen, müssen Masse und Abmessungen der Elektronik auf ein Minimum reduziert werden. Zu diesem Zweck ist es logisch, eine Einplatinenlösung anzuwenden, die einen Autopiloten (AP) mit Sensoren, Motorsteuerungen, Funkkommunikation, Netzteilen und den erforderlichen Anschlüssen enthält. "Single Board" vereinfacht die Kombination von Elektronik mit dem Rahmen und reduziert die Anzahl der Drähte auf ein Minimum.

Bürstenlose Motoren werden aufgrund einer Reihe von Vorteilen gegenüber bürstenlosen Motoren verwendet. Solche Motoren sind effizienter und zuverlässiger, und das große Drehmoment bei relativ geringem Gewicht ermöglicht es Ihnen, auf die Verwendung eines Getriebes an der Schraube zu verzichten. Eine gewisse Schwierigkeit ist die Entwicklung von Drehzahlreglern für bürstenlose Motoren. Dank der Erfahrung in der Entwicklung von UAVs für „Erwachsene“ wurde dies jedoch kein großes Problem. Von den Minuspunkten der ausgewählten Propeller-Motor-Gruppe können nur die Kosten für Motoren und Regler angegeben werden. Dies ist jedoch durch die Flugzeit, die guten Geschwindigkeitseigenschaften des Hubschraubers, die Fähigkeit, eine größere Nutzlast zu bewegen, und die geringere Sorge um den Kauf und Austausch ausgefallener Motoren gerechtfertigt.
Daher näherten wir uns der Schaffung eines Prototyp-Boards für einen kleinen Hubschrauber. Wir werden diesem Board nicht viel Aufmerksamkeit schenken, sondern nur seine Hauptmängel bemerken, die nicht wenige sind, hauptsächlich aufgrund der sehr bescheidenen Entwicklungszeit von drei Wochen.
Beim ersten Entwurf wollte ich die maximale Funktionalität des Copters ausprobieren, daher wurden das Magnetometer und das Satellitennavigationsmodul auf der Platine platziert, was sich aufgrund unzureichender elektromagnetischer Verträglichkeit mit der Platine als nicht funktionsfähig herausstellte. Das Magnetometer befand sich zu nahe an den Leistungsleitern, und als der Strom durch den Leiter floss, gab das Magnetometer falsche Informationen aus. Aufgrund der unzureichenden Bildschirmfläche der Keramikantenne fand der GPS-Empfänger eine unzureichende Anzahl von Satelliten für die Navigation.
Um das Anschließen eines Quadrocopters an einen Computer zu vereinfachen, wurde ein Wi-Fi-Modem verwendet. Die Verwendung dieser Schnittstelle für Telemetrie und Steuerung ist problematisch, wenn sie in einer lauten Umgebung funktionieren soll, z. B. bei Ausstellungen oder anderen öffentlichen Veranstaltungen, bei denen viele Geräte mit 2,4 GHz vorhanden sind. Darüber hinaus zeigte das Modul einen instabilen Netzwerkbetrieb.

Auch aus betrieblicher Sicht lief alles nicht ganz reibungslos. Zunächst mussten die Phasendrähte der Motoren auf die Platine gelötet werden, da für sie keine Stecker vorhanden waren. Die Schwierigkeit liegt in der Notwendigkeit, Kenntnisse in der Arbeit mit einem Lötkolben zu haben, und in der Fähigkeit, die Reihenfolge der Drähte zu verwechseln, was zu einer falschen Drehrichtung des Motors führt und auch die Montage-Demontage erschwert. Zweitens war es nicht möglich, bequeme Befestigungslöcher in die Platine einzubringen, was die Zuverlässigkeit und Praktikabilität der Befestigung der Platine am Rahmen beeinträchtigte. Drittens ist der Schnittstellenanschluss in Form von Standard- "Stiften" mit einem Abstand von 2 mm beim Anschließen mehrerer Geräte nicht immer bequem zu verwenden.
Unter anderem erwiesen sich die Abmessungen der Platine aufgrund der einseitigen Installation von Elementen als größer als erwartet (mit Ausnahme einer kleinen Anzahl von Reglerelementen an der Unterseite).

Trotzdem stellte sich heraus, dass der Hubschrauber ein Arbeiter war. Der Firmware-Autopilot und die Regler wurden von unserem
"großen" Copter übertragen . Nachdem wir die Koeffizienten der Regelkreise leicht angepasst hatten, ließen wir den Copter mit seiner Hauptaufgabe - dem Fliegen - hervorragende Arbeit leisten. Mit 1306 3100-kV-Motoren, 5-Zoll-Schrauben und einem LiPo 2s 1300-mAh-Akku fliegt der Copter 15 bis 16 Minuten und mit GoPro3 (80 g) etwa 10 Minuten.
Ein Flug wurde in einem Ultraschall-Navigationssystem (US) von
Marvelmind implementiert . Das System besteht aus zwei Arten von Ultraschallbaken: stationär und mobil. Gleichzeitig gibt das bewegliche Signal des am Copter montierten Systems 3 Positionskoordinaten mit ausreichend geringer Genauigkeit (± 5-10 cm) an den Autopiloten aus. Das von uns erstellte Steuerungssystem kombiniert diese Daten mit den Daten des Gyroskops und des Beschleunigungsmessers und steuert die räumliche Position des Copters.
3. Ideen zum Erstellen einer neuen Version
Als wir uns der neuen Version des Boards näherten, wurde uns klar, dass eine Reihe von Verbesserungen erforderlich waren. Wir haben uns das Konzept des Projekts genauer angesehen, als eine vollständige Vision der Bereiche und Methoden der Verwendung des Copters erschien. Die Hauptidee war die Entscheidung, nur die erforderlichen Komponenten auf der Platine zu belassen und eine Art „Motherboard“ herzustellen, an das Module angeschlossen werden, die den Funktionszweck des Copters festlegen. Ein Beispiel für ein solches Modul ist ein Satellitenempfänger mit einem Kompass für die Straßennavigation.
Jetzt enthält die neue Karte den Haupt-AP-Controller mit Sensoren - einen Beschleunigungsmesser, ein Gyroskop und ein Barometer. Das Barometer wird für den Höhenhaltemodus benötigt, was die Steuerung des Copters durch manuelle Steuerung erheblich vereinfacht. Zum Speichern von Flugprotokollen und Autopilot-Parametern verwenden wir einen separaten Flash-Speicherchip.
Alle elektronischen Komponenten auf der Platine und die Erweiterungsmodule werden von drei Spannungswandlern gespeist: 5 V (für Module, LEDs, PPM / SBUS-Empfänger), 3,3 V (für Module und Mikrokreise auf der Platine) und weitere 3,3 V separat für Sensoren. Die Eingangsspannung beträgt 6 V bis 14 V, was einer Lithium-Polymer-Batterie mit zwei bis drei „Bänken“ (2s-3s) entspricht.

Die Kommunikation mit einem PC erfolgt über einen Funkkanal oder USB. Um die Entwicklungszeit zu verkürzen, haben wir das fertige 868 MHz
Radiocraft -Funkmodul mit einer Leistung von 25 mW verwendet.
Das Funkmodul ist mit einer Chipantenne auf der Platine sowie einem Anschluss zum Anschließen einer externen Antenne ausgestattet. Um den externen Antennenanschluss zu verwenden, müssen Sie jedoch mit einem Lötkolben arbeiten. Es wird angenommen, dass der Chipbenutzer über genügend Chipantennen verfügt. Um den PC über Funk mit dem Copter zu verbinden, müssen Sie das im Kit enthaltene wechselseitige USB-Modem verwenden.

WS2812B RGB-gesteuerte LEDs dienen als Anzeigen für verschiedene Ereignisse. Es ist möglich, zusätzliche LEDs anzuschließen, außer denen auf der Platine.

Motordrehzahlregler können einem Strom von 20 A standhalten und aktiv bremsen, was sich positiv auf die Dynamik der Steuerung des Hubschraubers auswirkt.
Die Versorgungsspannung liegt innerhalb von 2s-3s LiPo-Batterien. Die Regler sind über UART und nicht über ein PWM-Signal mit dem AP verbunden. Dies hat einen guten Effekt auf die Störfestigkeit. Die Größe der Regler ist im Vergleich zur ersten Version aufgrund kompakterer Gehäuse elektronischer Komponenten geringer. Darüber hinaus haben wir Komponenten in beide Richtungen installiert, wodurch wir auch die Größe der Platine reduzieren konnten.

Jetzt befinden sich auf der Platine „menschliche“ Befestigungslöcher für die einfache Montage am Rahmen.
Es gibt nützlichere Anschlüsse. Jetzt müssen Sie die Drähte der Motoren nicht mehr auf die Platine löten. Erweiterungsmodule werden über zwei Anschlüsse oben auf der Platine angeschlossen, und Sie können die Modulposition aufgrund der unterschiedlichen Anzahl der Pins und des Designs des Anschlusses selbst nicht verwechseln.
TE Micro-MaTch-Steckverbinder werden zum Schutz vor mechanischen Beschädigungen ausgewählt. Im Gegensatz zu 2,54-mm-Stiften können sie nicht so leicht beschädigt werden, wenn sie fallen gelassen oder falsch behandelt werden. Sie können Module auch über ein Verlängerungskabel anschließen, damit das Modul beispielsweise über den Copter ausgeführt werden kann. Die folgenden Schnittstellen sind an diese Anschlüsse angeschlossen: UART, SPI, I2C, mehrere GPIOs, ein Signal zum Anschließen zusätzlicher gesteuerter LEDs und eine Stromversorgung von 3,3 V und 5 V. Der logische Pegel der Schnittstellen beträgt standardmäßig 3,3 V, kann jedoch bei Bedarf auf 5 V geändert werden.

Die Schaltfläche wird vom Benutzer programmiert oder standardmäßig zum Ausführen des Skripts verwendet.
Ein wenig über die Softwarekomponente der Plattform. Die Firmware des STM32F4-Autopiloten-Mikrocontrollers ist in C ++ geschrieben und läuft unter RTOS
NuttX . Die Firmware ist geschlossen, aber der Benutzer kann seinen Code in der Skriptsprache
Lua schreiben.
Im Allgemeinen haben wir aus mehreren Skriptsprachen ausgewählt: Python, JavaScript (
IoT.js ) und Lua. Die Standard-Python-Implementierung ist unter MK aufgrund ihrer zu großen Größe schwierig zu verwenden. Wir haben die Option mit MicroPython in Betracht gezogen, sie hat jedoch aufgrund der Möglichkeit des direkten Zugriffs auf Assembler-Anweisungen nicht funktioniert. Und wir möchten dem durchschnittlichen Benutzer keinen Zugriff darauf gewähren. JavaScript verfügt über redundante Funktionen und müsste funktionieren, um den Überschuss zu entfernen. Lua ist eine sehr beliebte Sprache, die mit C ++ leicht erweiterbar ist und über für uns geeignete Implementierungen verfügt.
Das Skript kann Steueralgorithmen oder nur eine Folge von Aktionen, Empfangen und Verarbeiten von Daten von Sensoren, Nutzlastmanagement usw. enthalten. Im Allgemeinen wird eine breite Palette von Interaktionsfunktionen mit einem fliegenden Roboter bereitgestellt, die für Forschungs-, Wettbewerbs- oder Amateuraufgaben verwendet werden können. Das Skript kann mit einer speziellen Anwendung geschrieben und auf den Copter hochgeladen werden. Sie können jedoch auch Code mit
Google Blockly generieren.
Sie können das Skript über ein USB-Kabel oder einen Funkkanal herunterladen. Die Anwendung auf dem PC zeigt Telemetrieinformationen an, mit denen Sie den Status des Kopters beurteilen können. Und natürlich gibt es Steuerungen und Einstellungen für den Roboter.
Der Rahmen besteht derzeit durch Fräsen von Platten aus Kohlefaser oder Glasfaser. Es besteht aus wenigen Teilen und verfügt über ein Batteriefach.
Optional können Sie das Chassis und den Schraubenschutz anbringen. Jetzt in der Entwicklung eines Rahmens aus Kunststoff, der mit Injektionstechnologie hergestellt wird.

4. Wir erweitern die Funktionalität mit Modulen
Wie oben erwähnt, kann die Karte mithilfe von Plug-Ins erweitert werden. Die Hauptmodule sind folgende:
Das Navigationsmodul ist ein Empfänger für ein eigenes Positionierungssystem für Ultraschall in Innenräumen.
GPS-Modul - Satellitenpositionierung auf der Straße. Es hat auch ein Magnetometer an Bord zur Kursorientierung.
ToF-Modul - empfängt Informationen von mehreren
ToF- Abstandssensoren, die in verschiedene Richtungen gerichtet sind, wodurch Hindernisse erkannt werden können.
Lademodul - ausgestattet mit elektromagnetischer Lasterfassung und LEDs für Anzeige- und Lichteffekte.
Das Marvelmind-Modul ist ein Adapter für das Marvelmind-Positionierungssystem.
Das OpenMV-Modul ist ein Adapter für die Kamera für Computer Vision
OpenMV .
Sonarmodul - bietet die Möglichkeit, die Höhe mithilfe eines Ultraschallsensors zu ermitteln.
WiFi-Modul - Fügt eine WiFi-Schnittstelle hinzu.
Bluetooth-Modul - Fügt eine Bluetooth-Schnittstelle hinzu.
Natürlich sind viele andere Module möglich, die wir in Zukunft erstellen möchten.
5. Praktische Anwendung und zukünftige Pläne
Promo-Video Geoscan PioneerWir haben den Pionier mehrfach an verschiedene Bildungseinrichtungen geliefert. Sie wurden auf der Grundlage der ersten Version des Boards erstellt, sodass die Lieferungen eher experimenteller Natur waren. Trotzdem war der Hubschrauber als Baugruppendesigner und zum Unterrichten von Pilotenfähigkeiten gut geeignet.

Während der
Aeronet 2016- Konferenz fanden
Pilotwettbewerbe unter Beteiligung von Pioneers in Alferievo statt.
Wie der fliegende Roboter Pioneer beim
Robofiniste Festival of Robotics
auffiel . Es gibt einen Test mit einem Flug von acht, den der Copter tatsächlich erfolgreich bewältigte. Das System arbeitete auf der Basis der Navigation durch Ultraschall.

Es wurde eine Plattform mit einem sicheren Raum in Form eines Rahmens mit einem Gitter geschaffen, auf dem alle Besucher des Festivals die Möglichkeit hatten, den Hubschrauber zu steuern. Gleichzeitig erlaubte das Steuerungssystem nicht, den Hubschrauber aus der zulässigen Zone herauszunehmen.
Heute arbeiten wir an der Produktion der ersten Charge von Pioneers, entwickeln neue Erweiterungsmodule, entwerfen einen Kunststoffrahmen für das Formen und schließen die Entwicklung unseres Ultraschallnavigationssystems ab. Eine Präsentation unseres Pioniers ist ebenfalls geplant. Informationen zu Ort und Zeit finden Sie auf der Geoscan-Website.