Jump to content

[Aufbau] Autonomous Vehicles


AuronX

Recommended Posts

Hallo,

 

ich möchte langsam anfangen mein aktuelles Projekt zu dokumentieren.

 

Ich habe ein altes Chassis von einem "Pajero" RC-Auto. Da ich inzwischen auch mein erstes Equipment für selbständiges Fahren habe (Distance IR, Servo) habe ich begonnen Steuerungssoftware für selbiges Fahrzeug zu schreiben.

 

Da ich eher aus dem Software-Engineering Umfeld und weniger aus der Hardware-Ecke komme, versuche ich meinen Fokus darauf zu halten, dass die entstehende C#-Bibliothek möglichst allgemein eingesetzt werden kann. Das heißt ich möchte alle Komponenten zur Steuerung des Fahrzeuges leicht austauschbar gestalten.

 

Welche (nicht GUI-) Komponenten gibt es bisher?

  • Eine Klasse zur Repräsentation radialer Distanz-Messungen (Screenshot enthält Visualisierung dieser Daten ^^)
  • Eine Steuerung um mithilfe eines Servos und eines Distance-IR ebensolche Daten zu erfassen
  • Eine sehr simple Motorsteuerung basierend auf der Distanz zum nächsten Hindernis

 

Aber genug der Worte...

Den Code für alle Interessierten gibt es hier: GitHub

 

Ich hänge schonmal einen ersten Screenshot meines Test-Fensters an (alles was dort zu sehen ist gab es aber vorher schon bei anderen zu sehen :D)

 

Bilder vom Chassis gibt es dann später noch ^^

Test-Form.PNG.22f9d965101c778186c3d2493577323f.PNG

Link to comment
Share on other sites

Da ich per PM schonmal nach der Stromversorgung gefragt wurde heir einfach die erten Fotos und Erläuterungen.

 

Die Stromversorgung erfolgt über ein 7,2 V NiMH Akku wie er im Modellbau üblich ist. Da ich weder das Kabel meines ESC, noch das Kabel meines Akku zerschnippeln wollte habe ich mir einfach eine Verlängerung gebaut, von der dann eine Leitung für das Servo-Brick abgeht. Alles keine Hexerei, das kann selbst ich :D

 

Wenns nochmal echte Neuigkeiten gibt mache ich vielleicht auch ein Video, aber erstmal habe ich noch andere technische Schwierigkeiten...

 

Viele Grüße

Jan

stromversorgung.thumb.jpg.44edacb0ecffe0665486d9572efc0cc9.jpg

chassis.thumb.jpg.b47a5f0baf8509348670fcd3fc979254.jpg

Link to comment
Share on other sites

  • 2 weeks later...

Es stellt sich heraus, dass volle Akkus den Motor ziemlich schnell laufen lassen. Auch bei geringster Stufe ist dem Fahrtenregler kein langsamer Motorlauf zu entlocken ^^ Mit leeren Akkus läuft das besser. Werde versuchen mir ne Softwarelösung einfallen zu lassen, sonst muss ich das anders hinbekommen (ESC oder Motor tauschen).

 

Simples Video gibts bald ^^

Link to comment
Share on other sites

Damit es mal was zu sehen gibt:

 

 

Habe das Video mit meinem Handy erstellt, aber man sieht das wesentliche ^^

 

Grundsätzlich befolgt das Auto bisher nur folgende einfache Regeln:

- wenn der Abstand groß genug ist fahr los

- wenn er viel zu klein ist, fahr zurück

- dazwischen bleib stehen

 

Aktuelle Probleme:

- Funktioniert nur bei geringen Geschwindigkeiten zuverlässig (insbesondere da der ESC den Motor jeweils ausrollen lässt wenn man Stillstand verlangt, also keine Bremse)

- Geschwindigkeit ist stark abhängig von Spannung des Akkus (und bei vollem Akku ist auch die geringste Geschwindigkeit zu hoch -.-)

 

Werde mir also noch Gedanken über das Geschwindigkeitsmanagement machen müssen, möglicherweise werd ich auch mal versuchen die Geschwindigkeit (also Radumdrehungen) zu messen.

 

Was ich auch schon absehen kann: Den Distanzsensor wie geplant regelmäßig schwenken zu lassen, so wie es ja auch viele andere hier machen, wird noch eine Herausforderung, da dort die Daten jeweils deutlich verzögerter verfügbar sind.

 

Ist auf jeden Fall spannend und macht Spaß ^^

 

@The_real_black: (Falls du mitliest) Bin schon auf ein wenig live-action von deinem Robo gespannt ^^ (Du planst ja auch mit Distanz-IR + Servo)

Link to comment
Share on other sites

@AuronX: Ich lese natürlich mit ^^ Bei mir dauert es noch ein wenig ich muss erst die Datenhaltung optimieren und einige Hilfsklassen entwickeln bevor ich den Bot alleine Laufen lasse.  (und die Chibis2.0 oder WLan Extentions müssen auch wieder verfügbar werden ich hab leider keine bestellt gehabt.)

 

Im Moment läuft er an der (USB)Leine und per Joysick gesteuert ganz gut. 

Link to comment
Share on other sites

  • 2 months later...

Bisher nur Servo-Brick und Distance IR Bricklet.

Das Servo-Brick steuert Motor, Lenkung und ggf. einen weiteren Servo für ein "Rundum-Sicht"-Distanz-Bricklet.

Das Distance IR schaut im Moment nur nach vorn.

 

Was den Code angeht habe ich damals vergessen zu erwähnen, dass der auf den von mir veränderten TF-Bindings beruht. Dort sind Callbacks mit .NET-Events umgesetzt und ich kann mir den Position-Callback des Servo an verschiedenen Stellen besorgen.

 

Allerdings ist das Projekt bei mir gerade eingeschlafen weil mein Fahrtenregler an Altersschwäche gestorben ist. Werde da aber weitermachen, habe auf der SOftwareseite auch noch einige Sachen vor die den Code hübscher machen ^^

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...