Raspberry Pi: RC Autos mit PiCar selbst programmieren
Wer kennt sie nicht: Automodelle in verschiedenen Maßstäben und Ausführungen, auch RC Autos genannt, die mit einer mehr oder weniger aufwendigen Fernbedienung durch die Gegend gesteuert werden, bis irgendwann der Akku leer ist. In meinem Fall war es ein 20-Euro-Modell von einem chinesischen Hersteller. Irgendwann wurde mir persönlich allerdings der Funktionsumfang der Fernbedienung zu primitiv. Also kam ich auf die Idee für PiCar: einfach das ferngesteuerte Auto mit einem Raspberry Pi ausrüsten und damit nahezu unbegrenzte Möglichkeiten haben, da man immerhin mit vollwertigen Sprachen wie Python arbeiten kann.
Die Hardware
Zuerst jedoch musste ein essentielles Bauteil gekauft werden: das Motor Controller Board (MCB) von Ryanteck LTD. Dieses benötigt man, weil der Pi zu wenig Spannung und Stromstärke bietet, um zwei Motoren (Antrieb und Lenkung) des RC Autos zu versorgen. Das MCB wird einfach auf die GPIO-Pins des Pis aufgesteckt und dann über insgesamt vier Pins angesprochen. Erhält es das Kommando, Motor 1 mit Strom zu versorgen, dann schaltet es einfach von einer externen Stromquelle, z.B. Akku, zu und betreibt damit den Motor.
Nachdem das Board bei Ryanteck (einem Englischen Ein-Mann-Unternehmen) für rund 20 Euro in der fertig gelöteten Version inklusive Versand bestellt war, dauerte es etwa eine Woche, bis das Board angekommen war. Die Verkabelung war schnell erledigt. Beide Motoren wurden an den entsprechenden Anschlüssen verschraubt und die externe Stromquelle wurde ebenfalls angeschlossen. Jetzt musste nur noch ein USB-Akku für Handys an den Raspberry Pi geklemmt werden, um ihn unterwegs mit Strom zu versorgen.
Funktionsweise der Software
Die Programmierung war ebenfalls ziemlich simpel. Entwickelt wurde das PiCar Script komplett in Python; nur der Updater ist ein einfaches Shell-Skript. Angesprochen werden die GPIO-Pins mithilfe der Rpi.GPIO-Library. Für die Motoren sind die Pins 17, 18, 22 und 23 zuständig. Sobald einer dieser Pins als Output definiert wird, bekommt der entsprechende Motor Strom. Damit lässt sich das Fahrzeug recht einfach programmieren. Zurzeit liegt die Software in einer noch ein sehr früher Entwicklungsphase vor. Das Fahrzeug kann momentan über eine einfache Kommandozeile gesteuert werden. Um auch aus der Ferne steuern zu können, greift man auf den Pi mit Hilfe von SSH zu. Dann kann man ganz einfach das Programm starten und das Fahrzeug mit Befehlen wie „forwards“, „left backwards“ etc. steuern.
PiCar ausprobieren
Als Basisfahrzeug nutze ich derzeit ein ferngesteuertes Auto (Modell: Rastar Audi Q7) mit einem Preis von ca. 45€. Dieses hat insgesamt zwei Motoren: einen Antrieb auf der Hinterachse und einen weiteren Motor, welcher die Lenkung betätigt. Dabei handelt es sich nicht um einen Servo, sondern einen klassischen Motor, welcher die Vorderachse je nach Drehung nach recht oder links bewegt. Diese Ausstattung dürften die meisten günstigeren Ausführungen von ferngesteuerten Autos haben. Deswegen sollte das PiCar auf vielen verschiedenen Fahrzeugen verwendet werden können.
Ausblick auf das Projekt
Ziel ist es, die Software so weit zu entwickeln, dass sich das Fahrzeug entweder komfortabel manuell steuern lässt oder in Kombination mit Sensoren sich autonom fortbewegt. Für die manuelle Steuerung wird ist in Kürze die Umsetzung eines Moduls zum Streamen eines Kamerabildes integriert. Somit eignet sich ein mit PiCar ausgestattetes Fahrzeug dann in Maßen auch für den Einsatz als Erkundungsfahrzeug.
Wenn ich mit diesem Artikel euer Interesse wecken konnte, dann findet ihr im PiCar GitHub Repository die geschriebene Software zum herunterladen und weiterentwickeln! Um weiterhin über das Projekt informiert zu werden, folgt mir gerne als @picar_os auf Twitter!
4 Kommentare. Hinterlasse eine Antwort
Das Auto hat ja ziemlich kleine Motoren. Mein Biest ist etwas größer und da musste ich Fahrtregler einsetzen, weil das Board einfach zu heiß wurde: http://www.kammerath.net/motorsteuerung-mit-arduino.html
Hilft vielleicht Leuten, die sich direkt auf ein großes Auto gestürzt haben, so wie ich.
cool
ich bin dabei, ein Modellauto mit 4 gelenkten und angetriebenen Rädern zu bauen.
Die Mechanik steht. Ursprünglich wollte ich das Auto mit einer vorhanden Funke (DX/ Spektrum) steuern, über die Mischer kann ich aber nur 3 Lenkungen mit einem Ruder ansteuern.
Nun versuche ich, mit dem Raspi eine Funkfernsteuerung aufzubauen und bin auf Dein Projekt gestoßen.
Inzwischen ist Dein technischer Stand auch schon weiterentwickelt worden, könntest Du mir ein paar Infos geben?
Danke, Rüdiger
lennard hat recht