Startseite>RasPi in Mindstorms-Roboter einbauen
Aus Raspberry Pi Geek 01/2014

RasPi in Mindstorms-Roboter einbauen

© Vladislav Ociacia, Fotolia

PiBot

Marko Dragicevic

Der in vielen Lego-Mindstorms-Robotern genutzte NXT-Baustein lässt mit 48 MHz Taktfrequenz und 64 KByte RAM noch Wünsche offen. Tauscht man ihn jedoch gegen einen Raspberry Pi aus, ändert sich das Leistungsspektrum dramatisch.

README

Der BrickPi-Baustein ermöglicht den Einbau eines RasPis in Lego-Mindstorms-Roboter. Dieser Artikel zeigt, wie sich der Praxiseinsatz des BrickPis gestaltet, und gibt eine Einführung in dessen Programmierung.

Es wäre ein Fehler, die Mindstorms-Serie als Kinderspielzeug abzutun, nur weil Lego sie herstellt. So baute etwa Google-Gründer Larry Page während seiner College-Zeit einen funktionierenden Tintenstrahldrucker rein aus solchen Bauteilen. Weltweit erweitern Bastler die Möglichkeiten der Lego-Roboter, indem sie etwa mehrere NXT-Steuerbausteine miteinander koppeln oder sie via Bluetooth permanent mit einem PC verbinden, sodass sich dessen Speicherplatz mitnutzen lässt. Eine Londoner Doktorandin kombinierte gar Mindstorms-Elemente mit anderen Bauteilen sowie Komponenten aus einem 3D-Drucker zu einem funktionierenden Rasterkraftmikroskop.

Die erste Version von Mindstorms veröffentliche Lego bereits 1998. Damals stand dahinter noch ausschließlich das Ziel, Jugendlichen innerhalb des Schulunterrichts das Thema Robotik näherzubringen. Doch das System wurde schnell so populär, dass der Hersteller es schließlich in sein allgemeines Programm aufnahm. Auch an deutschen Universitäten sind inzwischen die Selbstbau-Roboter vielerorts Teil des Curriculums.

Die von Lego mitgelieferte grafische Programmiersprache ist dabei eher für die jüngeren Mindstorms-Fans von Interesse. Dank der Community stehen jedoch einige Alternativen zur Verfügung: Bei NXC handelt es sich beispielsweise um eine an C angelehnte Sprache, mit der sich auf dem PC Mindstorms-Programme schreiben und anschließend in einem grafischen Simulator ausprobieren lassen. Funktioniert der Code dort wunschgemäß, übersetzt die Software ihn in den Bytecode des NXT-Bausteins, sodass man die Anwendung auf einem echten Lego-Roboter nutzen kann.

Einen anderen Weg geht die Software leJOS: Sie ersetzt die Original-Mindstorms-Firmware durch eine alternative Variante samt Java-VM, wodurch sich diese moderne Programmiersprache direkt auf dem Roboter ausführen lässt. Lösungen für andere Sprachen gehen jedoch meist den Umweg, den Roboter via Bluetooth an einen PC zu koppeln, sodass dieser die Steuerung übernimmt. Als typisches Problem dabei gelten wackelige Verbindungen.

Die Vorteile der Mindstorms-Lösung liegen auf der Hardware-Seite: Auch ohne große Vorkenntnisse kommt man hier schnell zu Erfolgserlebnissen. Dabei kombiniert man die Bauteile durch einfaches Zusammenstecken – freilich nicht die dicken Klötze, die man noch aus dem Kindergarten kennt, sondern Steine aus den Serien Lego Technik und Lego System. Zusätzlich stehen Servomotoren und verschiedenste Sensoren (unter anderem für Geräusche, Farbe, Ultraschall, Berührungen, Temperatur) zur Verfügung. Diese dockt man an andere Bausteine an und verbindet deren Kabel mit den Buchsen eines zentralen, größer ausfallenden Bausteins, der CPU, Speicherplatz und Schnittstellen bereitstellt.

In den Jahren 2006 bis 2013 lieferte Lego als zentrales Bauteil den sogenannten NXT aus, dessen Technik etwas in die Jahre gekommen ist, der jedoch derzeit noch die größte Verbreitung aufweist. Seit September 2013 existiert als Nachfolger des NXT der EV3, auf den wir am Ende des Artikels noch zu sprechen kommen.

RasPi als Gehirn

Die Nachteile von Mindstorms sollte man jedoch nicht ignorieren: Für aufwendigere Projekte muss man umständliche Hacks in Kauf nehmen. Das Flashen der NXT-Firmware stellt dabei noch das kleinere Übel dar. Richtig unpraktisch wird es, wenn man zwangsweise einen PC mit Bluetooth-Verbindung hinzuschalten muss.

Wollte man stattdessen einen autonomen mobilen Roboter bauen, müsste dieser schon selbst über ausreichend Rechenkapazität verfügen. Deswegen wäre es besonders attraktiv, wenn sich ein RasPi auf die Mindstorms-Bausteine aufstecken ließe, der dann mit deren Sensoren und Motoren interagieren könnte. Genau dies ermöglicht der BrickPi.

Dabei verfügt ein RasPi gegenüber dem NXT nicht nur über ein Vielfaches an Rechenkapazität, RAM und Speicherplatz. Zusätzlich kann man sich auch via WLAN-Netzwerk darauf einloggen sowie jedwede Software und Bibliotheken in die eigenen Steuerprogramme einbinden, die beispielsweise Raspbian zur Verfügung stellt.

Den aus den USA stammenden BrickPi können Europäer gemäß dessen Hersteller Dexter Industries [1] über den französischen Online-Shop Génération Robots [2] bestellen. In anderen Ländern des Kontinents gibt es zwar ebenfalls Distributoren für Produkte dieses Unternehmens, doch zum Zeitpunkt unserer Recherchen führte der für den deutschsprachigen Raum zuständige Schweizer Distributor Educatec [3] jedoch nur andere von Dexter Industries angebotene Produkte im Programm, nicht aber den BrickPi.

Die Bestellung in Frankreich gestaltet sich trotzdem einfach: Auf der französischen Webseite kann man die Sprache bei Bedarf auch auf Deutsch umschalten. Die anschließende Lieferung erfolgte in unserem Fall innerhalb weniger Tage. Unser BrickPi kostete 90 Euro, hinzu kamen Versandkosten von rund 11 Euro.

Das Auslieferungsset (Abbildung 1) enthält zwei Acrylplatten, eine auf dem Arduino basierende Platine mit Anschlüssen für Sensoren und Motoren sowie diverse Schrauben und ein Batteriekabel. Der ebenfalls benötigte Raspberry Pi zählt nicht zum Lieferumfang. Er muss der neueren Revision 2 angehören, da nur diese über zwei Bohrungslöcher verfügt, mittels derer man den Minicomputer auf der unteren Acrylplatte festschraubt.

Abbildung 1: Der BrickPi kommt in Form von Einzelteilen.

Abbildung 1: Der BrickPi kommt in Form von Einzelteilen.

Die Befestigung der Arduino-Platine erfolgt lediglich dadurch, dass man diese wie ein Shield oberhalb des RasPi in dessen GPIO-Port einsteckt. Zwar hängt sie dort leicht schief, doch im Test kam es dadurch zu keinerlei Stabilitätsproblemen. Zum Schluss schraubt man noch die zweite Acrylplatte als Gehäuseoberseite an. Wie Sie am fertigen Baustein (Abbildung 2) sehen können, verfügen die Platten über Mindstorms-kompatible Löcher, sodass man den BrickPi ähnlich unkompliziert wie ein NXT einfach in einen Roboter einstecken kann.

Abbildung 2: Der zusammengesetzte Baustein: unten Pi, oben Arduino.

Abbildung 2: Der zusammengesetzte Baustein: unten Pi, oben Arduino.

Software-Setup

Der BrickPi benötigt als Betriebssystem eine angepasste Raspbian-Installation. Die dazu nötigen Änderungen können Sie zwar selbst vornehmen [4], doch findet sich auf der Website von Dexter Industries auch ein Link zu einer entsprechend vorbereiteten Image-Datei.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland