Pixhawk mit Arduino Software verwenden

Hallo zusammen

Ich weiss nicht ob diese Frage schon einmal gestellt wurde, habe es jedenfalls nicht gefunden. Ich habe folgendes Problem:

Ich arbeite mich gerade in die Arduino-Software ein. Ich muss für meine Diplomarbeit ein Pixhawk-Controller mit Hilfe der Arduino-Software programmieren. Ich habe gesehen, dass im Arduino unter der Rubrik Board keine Auswahl des Pixhawks möglich ist. Besteht nun eine Möglichkeit diesen zu integrieren?

Vielleicht kennt auch jemand einen Link dazu?

Danke schon einmal.

NewRox:
Ich arbeite mich gerade in die Arduino-Software ein. Ich muss für meine Diplomarbeit ein Pixhawk-Controller mit Hilfe der Arduino-Software programmieren. Ich habe gesehen, dass im Arduino unter der Rubrik Board keine Auswahl des Pixhawks möglich ist. Besteht nun eine Möglichkeit diesen zu integrieren?

Was hat dieser Pixhawk-Controller mit Arduino zu tun?

Wenn ich Pixhawk mal googele finde ich die Seite https://store.3drobotics.com/products/3dr-pixhawk auf der steht:

Specifications Microprocessor:
32-bit STM32F427 Cortex M4 core with FPU
168 MHz/256 KB RAM/2 MB Flash
32 bit STM32F103 failsafe co-processor

Keiner dieser beiden STM-Controller wird von der Arduino-IDE unterstützt.

Der einzige ARM-kompatible Controller, den die Arduino-Software derzeitig unterstützt, ist der Arduino DUE mit einem Atmel SAM3X8E als Cortex-M3 kompatiblem Controller.

Hallo

Ich müsste an den Pixhawk noch weitere Sensoren anbringen und deren Signale über Arduino verarbeiten. Du hast natürlich recht, dass dies nicht geht, wenn Arduino diesen Controller gar nicht kennt.

Es wird zwar in absehbarer Zeit ein zweiter ARM (Cortex M0) mit dem Zero hinzukommen. Jedoch ist das ebenfalls nicht in der Leistungsklasse der M4.

Ich arbeite mich gerade in die Arduino-Software ein. Ich muss für meine Diplomarbeit ein Pixhawk-Controller mit Hilfe der Arduino-Software programmieren. Ich habe gesehen, dass im Arduino unter der Rubrik Board keine Auswahl des Pixhawks möglich ist. Besteht nun eine Möglichkeit diesen zu integrieren?

Das hört sich alles sehr konfus an. Zum einen wer setzt/schlägt einem die Arduino Software für solche Projekte vor? Das unter Boards kein Pixhawk zu finden ist, ist richtig und auch gut so. Es handelt sich nicht um eine angebotene Hardware Platform von Arduino. Unter der aktuellen 1.5.x wird er möglich sein, einen M4 als Board anzulegen. Das soll aber noch nicht heißen, dass du damit überhaupt was machen kannst. Die Libarys sind lediglich für die AVRs sowie dem einen ARM angepasst. Mit dem M4 dürfte fast nichts passen. Andere Register etc.

Und nur für diesen leicht erweiterten Texteditor lohnt sich das keinesfalls. Was du lesen solltest wäre

NewRox:
Hallo

Ich müsste an den Pixhawk noch weitere Sensoren anbringen und deren Signale über Arduino verarbeiten. Du hast natürlich recht, dass dies nicht geht, wenn Arduino diesen Controller gar nicht kennt.

Was für andere Sensoren? Die Informationen kommen einfach zu ungenau. I2C, SPI, ....?
Warum noch zusätzlichen einen Arduino?

http://www.unmannedtechshop.co.uk/media/wysiwyg/ExtraPhoto/pic_prod_pixhawk1.jpg
Der Pixhawk hat u.a. CAN, I2C sowie SPI herausgeführt. Sowas kannst du nutzten ohne zwingend einen Arduino dazwischen zu hängen.

NewRox:
Ich müsste an den Pixhawk noch weitere Sensoren anbringen und deren Signale über Arduino verarbeiten.

Wenn Du am Pixhawk Sensoren anbringst, dann landen die Signale der Sensoren als erstes mal im Pixhawk. Und dann müßtest Du diese Signale zunächst einmal "über Pixhawk verarbeiten".

Zu welchem Zeitpunkt da wie und wo und über ggf. welche Schnittstelle "Arduino" ins Spiel kommen soll, ist mir auch nach Deinem zweiten Posting in diesem Thread nicht einsichtig.

Zum einen wer setzt/schlägt einem die Arduino Software für solche Projekte vor?

Vorgeschlagen hat dies mein Dozent. Mir kam dies jedoch auch ziemlich komisch vor, warum er nicht gleich ein Arduino genommen hat, wenn dieses schon zur Software gehören würde. Er hat mir jedoch zu verstehen gegeben, dass die Dronen von 3DRobotics, welche ich habe, nicht mit einem Arduino-Board laufen würde. Die Variante mit der Arduino-Software den Pixhawk laufen zu lassen jedoch schon.

Was für andere Sensoren? Die Informationen kommen einfach zu ungenau. I2C, SPI, ....?
Warum noch zusätzlichen einen Arduino?

Es handelt sich um zwei Sonare, welche an den Seriellen Port angeschlossen werden. Das Ziel davon soll sein, dass der eine den Abstand zur Decke und der andere den Abstand zum Boden ermitteln soll. Mit der Software soll dann sichergestellt werden, dass der Copter nicht in die Decke fliegt aber auch nicht zu hart auf dem Boden aufschlägt.

Das Arduino wird benötigt um diese Software zu schreiben und auf den Copter zu laden.

Genau!

Der Pixhawk reagiert dann auf die Meldung und fliegt so höher oder tiefer. Die Sonare sind, wie du richtig festgestellt hast, eigentliche Ultraschallsensoren.

Soll es eher wie ein Abstandregler funktionieren also wenn er zu dicht an Boden oder Decke kommt
.
Also der Arduino muss hier erst eingreifen wenn ein definierter Abstand unterschritten wird?

Dies wird aber nur in einer bestimmten Steg bzw Sinkrate funktionieren.
Ich denke das es Grundsätlich machbar ist. Ich weiß nicht in wie weit man beim Misson Planner konfigurieren kann das man noch einen zusätzlichen Eingang einbringt um etwas auf den Throttle zu addieren bzw subtrahieren.
Ansonsten muss man den Wert der von der Funke kommt auslesen und mit Werten der Abstandsregelung manipulieren.
Du wirst hier einen PD-Regelung nutzten müssen.

Es ist machbar. Eine genauere Aufgabenbeschreibung wäre hier praktischer als das man sich hier alles zusammenreimen muss.

Gruß
DerDani

Also, ich probier einmal dies etwas genauer zu beschreiben:

Eine Drone wird mit einem Pixhawk ausgestattet. An diesen sollen an den seriellen Input-Pins zwei Sonare angeschlossen werden.

Das Ziel ist es, dass die Drone mit Hilfe dieser Sonare Hindernisse (Boden, Decke) erkennt und nicht in diese hinein fliegt. D.h. ist die Drone zu nahe an der Decke, soll sie nach unten fliegen und umgekehrt.

Mit der Software Arduino soll ermöglicht werden, dass die Drone entsprechend reagiert. Dazu sollen die Werte der Sonare ausgelesen werden. Mit dem programmierten Fuzzy-Regler werden die Daten verarbeitet und die Geschwindigkeit der Propeller entsprechend geregelt. Die Software Arduino wird nur zur Programmierung verwendet. Die ganze Regelung soll schlussendlich nur noch auf dem Pixhawk passieren.

Bezüglich Mission Planner: Dieser wird nur dazu verwendet um Wegpunkte anzugeben. Diesen müsste also nicht noch zusätzlich konfiguriert werden.