Verwenden eines Xbox-Controllers zum Fliegen eines Quadrocopters

8

Ich habe also einen Quadrocopter, der mit einer Fernbedienung geliefert wird, aber ich beabsichtige, bestimmte Änderungen am Copter vorzunehmen, z. B. die Installation einer Kamera, eines mechanischen Manipulators und anderer zufälliger Änderungen. Die mit dem Copter gelieferte Fernbedienung ist nicht flexibel genug, um solche Funktionen zu unterstützen, und es fehlen außerdem weitere Tasten.

Ich habe mich gefragt, ob ich den Quadrocopter irgendwie so programmieren könnte, dass er auf meinen Xbox-Controller reagiert. Ich hatte vor, die Bluetooth-Verbindung meines Laptops zu verwenden, um mit dem Hubschrauber zu sprechen. Der an den Computer angeschlossene Xbox-Controller wird dann zur Steuerung des Quadrocopters verwendet. Meine Frage ist also, wie genau programmiere ich den Controller? Wie mache ich das alles möglich?

Ich verstehe, dass diese Frage wirklich vage ist und dass es zu viele Optionen gibt, aber ich brauche Hilfe, um das herauszufinden.

Chandough
quelle
Wir verwenden Playstation-Controller, um alle unsere Laptops zu steuern. Das ist durchaus plausibel.
Josh Vander Hook
Die Bluetooth-Reichweite ist hier der Hauptbeschränkungsfaktor.
Octopus

Antworten:

9

Ja, im Allgemeinen ist diese Idee durchaus plausibel. Die Methode wird jedoch spezifisch für Ihr Setup sein. Das heißt, das Betriebssystem, das Sie auf Ihrem Steuercomputer verwenden, und der integrierte Controller, den Sie verwenden. In unserem Labor verwenden wir einen Ardupilot Mega als Onboard-Controller für einige unserer Quadrotoren. Um dieses Problem zu lösen, habe ich die Linux-Joystick-API verwendet , um die Daten vom Xbox-Controller (oder einem PS3-Controller) abzurufen. Ich kann diese Daten dann an ein Arduino senden, mit dem ich den RC-Empfänger ersetzt habe, oder ich kann sie über Xbee mithilfe des Mavlink-Protokolls direkt an den Ardupilot senden . Wenn Sie mehr Details zu Ihrem Setup bereitstellen können, kann ich möglicherweise eine detailliertere Antwort geben.

DaemonMaker
quelle
5

Das ist eigentlich einfach!

  1. (ROS + Joy-Paket) - http://www.ros.org

  2. XBee (wie von @DaemonMaker erwähnt)

  3. Ein einfaches Programm, das die joy_node-Veröffentlichungen nimmt und über XBee versendet. Dies kann so einfach rostopic echo /joy >> /dev/ttyS0oder so sein, je nachdem, wie viel Kontrolle Sie über das empfangende Ende haben.

Hinweis: Wir verwenden Playstation-Controller für alle unsere Roboter. Sehr empfehlenswert.

Josh Vander Hook
quelle
4

Xbox- und PS3-Controller sind zwar sehr vielseitig, aber vergessen Sie nicht die Reichweite.

Bluetooth war nur für Nahbereichsoperationen bis zu etwa 10 m (33 Fuß) für Geräte der Klasse 2 (Xbox- und PS3-Controller mit Sendern der Klasse 2) und 100 m (330 Fuß) für Geräte der Klasse 1 vorgesehen. Fluggeräte können mit Sicherheit sehr schnell darüber hinausgehen, und Sie riskieren, die Kontrolle zu verlieren.

Sie sind besser dran, wenn Sie ein RC-Radio verwenden. Obwohl sie den gleichen Teil des HF-Spektrums (2,4 GHz) nutzen, haben RC-Funkgeräte normalerweise mehr Leistung und sind bei gutem Wetter für ein paar Kilometer geeignet. Sie können RC-Controller mit 8 Kanälen und mehr erhalten, wodurch die Anzahl der gesteuerten Geräte flexibler wird.

Tintenfisch
quelle
0

Ich weiß, dass es keine sofort einsatzbereite Software ist, aber wenn Sie sich für Programmierung interessieren, empfehle ich Ihnen, in die Spielebibliothek GLFW3 zu schauen. Es ist die beste Bibliothek, die in Spielen und OpenGL verwendet wird, und Sie haben viele Funktionen zur Steuerung aller Eingabegeräte . Es hat wahrscheinlich auch Bindungen für Ihre Lieblingssprache

Shahbaz
quelle
0

Ich habe eine Website gefunden, die WLAN verwendet, wenn dies beim Quadcopter helfen würde. endurance-rc.com Sie haben einige nette Anwendungen. Ich habe eine Anfrage über ihre E-Mail-Kette gestellt.

user8999
quelle