Per Joystick steuern?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo :lol:,
    Ich habe mit ein paar Freunden ein Projekt am laufen.
    Wir wollen einen Modellflieger über den Raspberry Pi mit Joysticks steuern.

    Es gibt nur ein paar unklarheite.
    Da ich neu im Thema "Raspberry Pi" bin weiß ich nicht genau was ich alles brauche.
    Ich habe java/c++/php Kenntnisse. Python könnte ich ja noch lernen wenn es nicht anders geht.

    Also meine Fragen wären:
    1.
    In den ganzen Tutorials "Wie man einen Motor per PI" kontrolliert wird immer nur erklärt, wie der motor von 0 auf 100 kommt. Also keine Zwischen stufen.

    2.
    Ist es überhaupt möglich ein Programm zu entwickeln, welches den PI zusendet, wie ich meinen Joystick bewege, diese Daten verarbeitet, und die Motoren danach ausführt?
    Wenn ja gibts da Ideen oder Anleitungen?

    Mfg CyLeK
    Sry, falls es im falschen berreich is.
    :danke_ATDE:

  • zu 1. wenn Du es schaffst einen Fahrtregler per GPIO mit dem RPi anzusteuern, bzw. mit einer PWM Steuerung oder einer D/A Wandlerschaltung die dann einen entsprechenden Transistor schaltet, könnte es vielleicht gehen.

    zu 2. für eine Drohne könnte man sowas bestimmt machen, aber bei einer Flugzeugsteuerung, welche ja ziemlich zeitkritisch ist, denke ich mal daß die Steuerung nicht schnell genug wird.

  • Ich hab mal ein Modul geschrieben, mit dem man recht einfach mit Python die Joypads abfragen kann.
    Vllt. kannst Du ja damit schonmal etwas anfangen.
    KLICK
    Die analoge Abfrage ist damit auch einfach möglich.
    Muss dann "nur noch" die Motorsteuerung programmiert werden.

    ...and write down with pencil&paper...
    Where can i download "pencil&paper" ?

  • Danke :))

    Zu zweitens von Fliegenhals
    Bist du dir sicher?
    Es gibt schon zig Autos die übers internet gesteuert werden (auch Pi). Gibts da sonst alternativen??

    LieberScholli
    Danke sehr freundlich von dir.
    Aber welche hardware teile benötigen wir noch
    mfg cylek

    #Edit das Joy-skript ist aber, dass man den Joystick beim Pi ansteckt oder?

    Einmal editiert, zuletzt von CyLek (2. Juni 2014 um 17:09)

  • Ich will Dir daß nicht ausreden, ist nur so ein Bauchgefühl. Die per RPi gesteuerten Modellautos bewegen i.d.R. nicht so schnell und verzögerte Lenkkomandos enden nicht so übel, wie bei einem Flugzeug. Ich vermute mal, daß es nur funktioniern kann, wenn das Flugzeug über eine autonome Steuerung ( Autopilot ) verfügt und sich selbst sicher in der Luft halten kann.

  • Der PI verfügt nur über einen einzigen PWM Port. Du müsstest also auf jedenfall einen A/D Wandler über zB I2C oder SPI anschließen um weitere PWM Ports zu kriegen.

    Aber ich muss mich meinen vorrednern anschließen: Für ein Flugzeug / Helikopter / was.auch.immer kommt es auf jede Millisekunde an, die Steuerung müsste also möglichst direkt und störungsfrei ablaufen.

    Inwiefern das nun Sinnvoll wäre ausgerechnet die Steuerung über einen RaspberryPI zu realisieren würde ich eher kritisch betrachten - wenn das Fluggerät aus gewisser Höhe abschmiert ist alles inkl. RPI schrott...

    Da würd ich lieber die paar Euro in eine vernünftige Modellbausteuerung investieren und den PI für andere Aufgaben verwende, wie zB Video-/Foto-Aufnahmen oder Positionsmeldung oder Steuerung irgendwelcher Gimmicks


    Es gibt genug Projekte die den RaspberryPI zum steuern irgendwelcher Fahrzeuge nutzen, also ist das im Grunde durch aus möglich - allerdings sind das (aus guen gründen) alles Boden-Fahrzeuge, nix was unselbstständig in der Luft unterwegs is :D


    Ein Fluggerät mit genügend Sensoren zu versehen sodass dieses Autonom selber fliegen kann erfordert schon ein bisschen mehr finanzielle Mittel - mal davon abgesehen das die ganzen Sachen auch ein gewissen Gewicht haben die von dem Fluggerät getragen werden muss...

  • Hallöle,

    irgendwie teile ich das Bauchweh von Fliegenhals und dem einen oder anderen hier.
    Mal abgesehen davon, dass ich es in meiner Jugend noch nicht mal mit der Fernbedienung in der Hand geschafft habe, meine Flieger vor Totalschäden zu bewahren: Schiff ist imho ok, Auto wird - je nach Geschwindigkeit - m.E. schon grenzwertig, Flieger ... ich weiss nicht.
    Was ich mir schon mal überlegt hatte war so ein kleiner, für den Innenbereich geeigneter Schraubhuber mit Funkfernsteuerung (nicht Infrarot!). Die gibts so um die 20 Tacken und ich glaube, dass es zwar komplexer sein mag, so ein Teil zu steueren, die Wahrscheinlichkeit eines Totalschadens bzw. Absturzes aber eher geringer ist als bei einem Flieger.

    Aber momentan hab' ich eh Land unter :s

    cheers,
    -ds-

  • Danke für die vielen Antworten.
    Zu @FliegeHals
    Ein Auto & Notpilot ist gerade in Arbeit.
    Ein Autopilot ist, dass der Quadrocopter (z.B der hier) in der luft auf mittlerem Motorenbetrieb schwebt. Die beiden hinteren Motoren werden mehr Leistung zugewisen, dass dich der Copter nach vorne neigt und nach vorne fliegt.

    Ein notpilot ist, wenn der Copter die verbindung verliert, werden alle programme abbgebrochen und die motoren werden auf halbe leistung gedreht, so dass er in der luft schwebt.

    Zu meigrafd
    Ein quadrocopter steht doch sehr stabil in der luft. mir wäre es persönlich egal, wenn eine ca. halbe sekunde verzögerung ist. Aber danke für den Tipp.

    Zu dbv
    Wie soll ich mit einen Quadrocopter rollen? xD

    Meine Pläne sind im Anhang.

    Nochmal zu meigrafd
    Sry ich bin neu in sachen Microcontroller. Was sind PWm ports? Muss ich die Motoren nicht + regler bei den Pins anstecken?
    Gewicht ca 6 kg ausgerechnet, aber mit 4 Brushless motoren und 2 akkus hält das denk ich mal.

    ""Gibt es noch Ideen zur Programmierung?"
    Wie immer Danke im Voraus.
    mfg CyLeK

  • Es gibt schon einige PiCopter Projekte (zB >dieser<)- aber bisher war nur die Rede von einem Modellflieger :)


    Über PWM kannst du quasi Analoge Signale schicken. Digital kennt nur 0 oder 1, also an oder aus. Aber über Analog kannst du auch Zustände zwischen 0 und 1023 festlegen ;)


  • Es gibt schon einige PiCopter Projekte (zB >dieser<)- aber bisher war nur die Rede von einem Modellflieger :)


    Über PWM kannst du quasi Analoge Signale schicken. Digital kennt nur 0 oder 1, also an oder aus. Aber über Analog kannst du auch Zustände zwischen 0 und 1023 festlegen ;)


    Wow Danke :DD
    Okay da kommt, mir gleich noch eine Frage in den Sinn. Da ich mich mit Python eher wenig auskenne möchte ich das gerne in C++ oder Java schreiben. Bei beiden habe ich eine APi gefunden um die GIO Pins zu steuern, aber wie führe ich C++ programme auf Linux aus. c ist ja grafisch.
    mfg cylek

  • C ist grafisch? :-/ Ich glaub eher dein IDE Programm womit du bisher C geschrieben hast, ist grafisch :)

    Aber ich sag mal so: ca. 40% der Linux Befehle sind in C bzw C#/C++ geschrieben :D
    Der Code wird dann halt vor dem ausführen compiliert aber schreiben kannste das i.d.R. auch weiterhin in deiner GUI :)

    Wie du GPIO letztlich in C ansprichst hängt davon ab für was du dich entscheiden wirst - I2C usw

    In anbetracht der Performance solltest du imho bei C bzw C++ bleiben, Java wäre für deinen Einsatzzweck glaub ich eher unpassend


    Über den Beispiel PiCopter-Link den ich oben nannte findest du C++ und Python Code den du dir ja mal angucken kannst

  • Danke :D
    Ich werde mich dann morgen Abend nochmal melden, da ich dann meinen neuen B Pi, und motoren + regler bekomme und mit Sicherheit noch Fragen habe :D.
    Bis dahin einen Schönen Abend noch.
    Mfg Cylek

  • Für dein Vorhaben könnte ein RaspberryPI Modell-A u.U. besser geeignet sein - der würde zudem auch weniger Strom verballern, zusätzlich könntest du das sogar noch optimieren indem du die Tuning Tipps von jar befolgst, damit kannst du dann nochmals Stromersparnisse rauskitzeln ;)


  • Für dein Vorhaben könnte ein RaspberryPI Modell-A u.U. besser geeignet sein - der würde zudem auch weniger Strom verballern, zusätzlich könntest du das sogar noch optimieren indem du die Tuning Tipps von jar befolgst, damit kannst du dann nochmals Stromersparnisse rauskitzeln ;)

    Danke ich denke sowiso, dass ich 2 Pi's einbaue, da bei den PiCopter Blog steht
    "Ich zitiere":

    Zitat

    It is very cool that the Raspberry Pi is working so well without a real time kernel. But it might start to get a bit tricky when running video recording on the Pi at the same time, as it might be taking too much resources from the flight control process.

    Also denke ich das ein kleiner B mit wenig Ram für die Webcams reicht und einen anderen für die Motoren.
    Achja, gibt es von der Programmierung, ausführung unterschiede zwischen A und B?
    Mfg CyLeK:danke_ATDE::rolleyes::angel:

    ##Edit:
    Ich sehe gerade, dass das A modell keine Lan Buchse hat. Die brauche ich aber, da ich einen kleinen Router habe, der über 3 Lan Buchsen und eine Usb buchse verfügt. In den USB port kommt ein Mobiler daten-stick und die lan ports werden per Kabel mit den Pi verbunden. Dann noch VPN einrichten, und die verbindung müsste klappen.
    Mfg CyLeK :angel:

    Einmal editiert, zuletzt von CyLek (3. Juni 2014 um 15:12)

  • Wofür brauchst du LAN oder gar VPN wenn das ding irgendwo in 20m Höhe herumfliegt? :-/
    Ich denke du solltest dein Konzept noch mal überarbeiten und wenn die Kommunikation nicht über RFM12B stattfinden soll lieber über GSM/UMTS/LTE oder WLAN drüber nachdenken - LAN wird dir imho kaum was bringen :D
    Für die Kommunikation zwischen den beiden PI's kannst du UART nutzen, das würde vollkommen reichen.

    Modell-A und Modell-B sind von der Software her identisch, der einzige Unterschied ist das Modell-A keinen USB-Chip und somit auch kein LAN hat und eben nur einen USB-Port der direkt mit dem SoC verbunden ist (da der extra USB-Chip fehlt)


  • Wofür brauchst du LAN oder gar VPN wenn das ding irgendwo in 20m Höhe herumfliegt? :-/
    Ich denke du solltest dein Konzept noch mal überarbeiten und wenn die Kommunikation nicht über RFM12B stattfinden soll lieber über GSM/UMTS/LTE oder WLAN drüber nachdenken - LAN wird dir imho kaum was bringen :D
    Für die Kommunikation zwischen den beiden PI's kannst du UART nutzen, das würde vollkommen reichen.

    Modell-A und Modell-B sind von der Software her identisch, der einzige Unterschied ist das Modell-A keinen USB-Chip und somit auch kein LAN hat und eben nur einen USB-Port der direkt mit dem SoC verbunden ist (da der extra USB-Chip fehlt)

    Hmm in wie Fern überarbeiten?
    Der Pi sollte nicht in meinen Wlan sein, sondern ein eigenes Mobilfunknetz an Board haben.
    Da ich die Adresse des Mobilfunknetz nicht erreichenwerde, nutze ich VPN.

    Also ich will nicht das der PI in meinen netzwerk hängt, sondern egal wo er ist ob in Kroation,italien, Afrika etc. Sobald er Internet hat, will ich eine Connection haben, und in steuern können.
    mfg cylek

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!