XBOX360 Controller

Fernsteueroptionen & Basisstation…

Grundüberlegung: Wie steuert man einen solchen Roboter?!

Aktuell nutze ich eine 8-Kanal Fernsteuerung auf 2.4GHz (Turnigy 9X). Standartsteuerung für (Flug-)Modelle, Steuerkreuz links, Steuerkreuz rechts, ein paar Schalter.

Turnigy 9X

Bei meinen Streifzügen durch das Web habe ich gesehen das einige Bastler zur Steuerung ihrer Fahrzeuge/Roboter keine normalen Fernsteuerungen einsetzen, sondern XBOX360 oder Playstation-Controller.

XBOX360 Controller

So ein Controller hat für meinen Robot einige Vorteile:

Ersteinmal die Steuerung des kompletten Fahrzeugs: Derzeit steuer ich die Kiste im “Panzermodus” mit einem Steuerkreuz der Fernsteuerung. Vorwärt/Rückwärts ist klar, bei Kurvenfahrt wird ein Rad beschleunigt und das andere gebremst. Diese Steuerung könnte ich bei einem XBOX-Controller schon einmal mit dem “Right Stick” erschlagen. (ich benenne das jetzt so wie auf dem obigen Bild zu sehen ist).

Dann soll die Kiste noch eine Kamera bekommen die frei schwenk- und neigbar ist. Dazu brauche ich also ein zweites “Steuerkreuz”. Mit der aktuellen Steuerung auch kein Problem, ist ja noch eines frei. Am XBOX-Controller würde ich wohl den “Left Stick” nehmen.

Sollten noch weitere schaltbare “Schweinereien” wie Blinker, Notaus, Streuwagen, Fegebürste, Hund, Katze, Maus kommen wäre das auch noch mit der aktuellen Steuerung lösbar (sind ja nur Schaltvorgänge). Wenn ich aber noch ein Steuerkreuz brauche wird das ganze ohne Doppelbelegung eng. Bei der XBOX-Steuerung wäre noch das “Directional pad” über.

Ein weiterer Vorteil des Controllers gegenüber der aktuellen Steuerung: Das Teil liegt verdammt besser in der Hand  😉

Allerdings bringt das alles auch Probleme:

  1. Der XBOX-Controller hat einen USB-Anschluss und ich möchte keinen PC für das ganze Projekt nutzen.
  2. Wie kommen die Steuersignale zum Robot? Bei der Modellbaufernbedienung gibt es einen kleinen Empfänger den man direkt mit dem Arduino des Robots verbinden kann. Bei der Controller-Lösung muss das Signal “irgendwie anders” zum Arduino gelangen.

Kaum ein Problem ohne Lösungen:

Der Robot sollte von Anfang an eine “Basis-Station” bekommen. Darin der Videomonitor für die Kamera und ein LCD-Display für die Telemetriedaten. Für die Telemetriedaten ist eine 2,4GHz Funkstrecke über zwei XBEE-Module vorgesehen. Um diese Basis-Station zu realisieren wird dort auch ein Arduino-Kontroller benötigt. Die XBEE-Funkstrecke ist bidirektional, das bedeutet ich bekomme nicht nur die Daten vom Robot, sondern sie kann auch die Steuersignale zum Robot schicken.

Problem 1 – Controler an die Basisstation verbinden: Dazu gibt es “USB-Host-Adapter” z.B. von Sparkfun. Mit der passenden Software können dort USB-Sticks, Kameras, Festplatten, und – Gamecontroller angeschlossen werden. Für den Adapter gibt es eine Arduino Softwarelibrary die so ziemliche alle erdenklichen Geräte ansteuern oder auslesen kann. Die Library unterstützt auch direkt den XBOX360-Controller. Perfekt! 😉

Sparkfun USB-Host-Shield

Problem 2 – Übertragung: Wie oben angerissen können die Steuersignale über die XBEE-Verbindung an den Robot übertragen werden. Allerdings muss ich da noch nach einer Failsafe Lösung suchen! Diese Rollstuhlantriebe haben massiv Kraft und die Kiste kann erheblichen Schaden anrichten. Die aktuelle Steuerung hat einen eingebauten Lösung. Dazu wird im Empfänger eine “Failsafe-Stellung” programmiert, welche ausgelöst wird wenn der Kontakt zum Sender unterbrochen wird.

 

Update

Offenbar kommt bald der “Arduino Esplora”, eine Art programmierbarer Controller mit diversen kleinen Gizmos.

Arduino Esplorer

Hier gibt es weitere Details: http://arduino.cc/en/Main/ArduinoBoardEsplora

Links:

USB-Host-Shield kaufen: http://www.watterott.com/de/SparkFun-USB-Host-Shield

USB-Host-Library: http://www.circuitsathome.com/arduino_usb_host_shield_projects

Ein Gedanke zu „Fernsteueroptionen & Basisstation…“

  1. Das schöne ist: die Joysticks bzw. Analogsticks haben mehrerer Stufen je nach dem wie stark man sie in eine bestimmte Richtung drückt, das gleiche gilt für die Trigger “LT” und “RT”. schöne möglichkeit das “Gas” zu steuern 😀

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">