Open Source im professionellen Einsatz
Linux-Magazin 03/2006

US-Tüftler bringt Linux-Roboter ins Web

Mr. Roboto

Für die Konstruktion eines Roboters sind tief greifendes technisches Know-how und viel Geld nötig? Falsch. Michael Shiloh beweist mit einem kleinen Roboter auf Linux-Basis das Gegenteil. Neugierige dürfen den Mini-Roboter über eine SSH-Verbindung in Shilos Wohnung probefahren.

947

Wenn in der Wohnung von Michael Shiloh im US-Bundesstaat Kalifornien die Elektromotoren des kleinen vierrädrigen Gefährts anspringen und die Spanplatten des Chassis zu vibrieren beginnen, weiß Shiloh nicht, was passiert. Zumindest weiß niemand, was genau passiert. Außer vielleicht der Benutzer, der sich über die Webseite Linuxrobots.org [1] eingeloggt und dem Roboter (Abbildung 1) per WLAN programmierte Bewegungen eingespeist hat.

Abbildung 1: Open House: Die Wohnung von Michael Shiloh dient als Spielwiese für den per Internet steuerbaren Kleinroboter - eine Webcam überträgt die Fahrt. (Bild: © Peter Kaminsky)

"Die Programmierung ist recht einfach", erzählt Michael Shiloh (Abbildung 2), der den Roboter konstruiert hat. Aber gekonnte Fahrmanöver durch Flur und Wohnzimmer sind selten. "Ich höre, wie der Motor startet, auf niedriger Drehzahl bleibt und wieder stoppt", beschreibt er Versuche derzeit typischer Besucher, die eine Runde drehen wollen. Die Leute sind in Eile, vermutet er, oder sie erwarten einen Joystick für die Steuerung.

Shiloh selbst ist seit seiner Kindheit von Elektronik fasziniert. Einen alten Elektronikkatalog hat er als Junge immer wieder durchgeblättert. Erst als er Anfang der 60er Jahre als Neunjähriger von Israel in die USA umzog, gelangten ausgemusterte Elektronikbauteile in seine Reichweite. Der eigene Roboter blieb lange ein Traum. Später im Berufsleben ist der Elektroingenieur mit industriellen Robotern in Kontakt gekommen.

Einen Roboter in der Wohnung zu halten, den fremde Leute herumfahren lassen, mag seltsam anmuten. Shiloh versteht das als Teil seines Projekts. Der Roboter profitiert von Open-Source-Komponenten - und neben den Quellen der Programmierung und Konstruktion hat Shiloh konsequent auch den Zugang zur Maschine offen gestaltet. Und er lässt sich gerne überraschen, was als Nächstes passiert. Von manchen Fahrversuchen ist er regelrecht fasziniert. "Kürzlich hat jemand ein Programm geschrieben, das versucht meinen Roboter tanzen zu lassen", freut er sich.

Abbildung 2: Michael Shiloh präsentiert den Linux-Roboter bei einer Veranstaltung [5] in San Francisco. (Bild: © Scott Beale (Laughing Squid))

Shiloh hat Mitte der 90er Jahre die Künstlergruppe Survival Research Labs [2] für sich entdeckt, die Maschinen für spektakuläre Darbietungen einsetzt. Eine wichtige Erkenntnis aus dieser Zeit: Eine Maschine braucht keinen praktischen Nutzen, um interessant zu sein. Nach diesem Prinzip funktioniert auch Michaels Robot: Die Besucher dürfen ihn durch die Gegend kurven oder kreisen lassen, ganz nach Gusto und Programmiergeschick.

Fahrt aufnehmen

Um Michaels Robot in Bewegung zu setzen, braucht es kein Informatikstudium, nur etwas Programmierverständnis. Wer sich per SSH-Login auf »robot@robots.linuxrobots.org« einloggt, gibt als Benutzername und Passwort jeweils »robot« ein und landet auf dem Linux-Prompt des Gefährts. Von dort ins Verzeichnis »/src« wechseln - schon finden sich einige vorgefertigte C-Programmdateien zum sofortigen Ausführen.

Editieren und Rekompilieren ist erlaubt, eigene Kreationen sind erwünscht, »vi« steht für diesen Zweck als Editor bereit. Über eine auf dem Roboter befestigte Webcam [3] sind Fahrt und Kapriolen der Maschine zu sehen. Bei größerem Andrang von Testpiloten neigt das System jedoch schnell zur Überlastung .

Listing 1 etwa beschreibt den Code, den es für eine Kreisbewegung braucht. Nett wäre es, würden die Besucher vor dem Ausloggen dann noch den Motor abschalten, fügt Shiloh an. Und: Die Nachtruhe wird eingehalten. Fernfahrer aus Deutschland sollten daher die Zeitverschiebung beachten, sonst finden sie ihr Gefährt schlafend vor.

Listing 1:
Kreisfahrt

01 #include "librobot.h"
02 
03  int main( int argc, char* argv[] )
04  {
05  robot_libInit();
06 
07  robot_controlMotors(70, -70);
08  return 0;
09  }

Fertigbau-Anleitung

Die Materialien - Controller, Fotozellen, Sensoren und Motoren - stammen aus den Regalen des Elektrofachhandels und dem Baumarkt. Säge, Holzbohrer und Heißklebepistole dienten als Werkzeuge. Die Kommunikation von PC und Roboter-Elektronik erfolgt über ein USB-Interface. Den Linux-Treiber dafür gibt es fertig dazu. Auf eine Festplatte hat der Tüftler zugunsten von Gewicht und Stromaufnahme verzichtet. Das abgestrippte Gentoo-Linux läuft auf einer Compactflash-Karte. Ein VIA-Epia-Board ME600 dient als Herzstück. Signale von der Außenwelt erhält das Gefährt per WLAN-Karte im PCI-Slot des Boards. Die Teileliste ist unter [4] zu finden.

Zwei fertige Module übernehmen die Steuerung der beiden Motoren und die Anbindung des USB-Interface an den Rechner. Das eine Modul bietet darüber hinaus vier analoge und je zwei digitale Eingänge und Ausgänge. Das Kabelgewirr auf der Oberseite (Abbildung 3) besteht hauptsächlich aus den Leitungen zu den vier Fotozellen, die mit den analogen Eingängen verbunden sind. Die Sensoren sind seitlich angebracht, reagieren auf veränderte Lichtquellen und erlauben es, den Roboter in hell beleuchteten Regionen zu manövrieren.

Abbildung 3: Kabelführung - leicht gemacht für den, der Isolierband zur Hand hat. Form follows Function in Reinkultur. (Bild: © Scott Beale (Laughing Squid))

Eine Bibliothek für die Ansteuerung der Module lag den integrierten Boards schon bei. Mit einem einfachen Wrapper ist es dem Linux-Fan gelungen, auch die spezifischen Komponenten des Roboters zu kontrollieren. Shiloh hat dafür die Bezeichnung »librobot« gewählt, obwohl es gar keine richtige Bibliothek ist, wie er zugibt. Interessierte Besucher finden die Quellen dafür auf der Compactflash-Karte des Roboters.

Energie für Motoren, Controller und Computer liefern zwei 12-Volt-Batterien. Den anfänglichen Versuch, für das komplette Gefährt eine Batterie zu verwenden, musste Shiloh verwerfen. Drehten die Motoren hoch, fehlte dem Rechner der Saft, was zu einem ungewollten Reboot des PC führte. Jetzt versorgt ein Akku Motor und Steuerungsmodule, ein zweiter den Rechner.

Der Zusammenbau folgte eher pragmatischen als planerischen Regeln. Die Plattform besteht aus Pressspan, die Achsenaufhängungen mit den Motoren ebenfalls, Hartschaumplatten dienen für den größten Teil der übrigen Konstruktion als Grundlage. Heißkleber hält die Einzelteile zusammen. Die Konstruktion findet Shiloh selbst etwas abenteuerlich. Aber wichtiger als Perfektion sei es ihm gewesen, schnell ein fahrbereites Gefährt zu konstruieren.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Linux-Roboter gewinnt DARPA Robotics Challenge

    Der DRC-Hubo des koreanischen Teams Kaisthat im Finale des DARPA Robotics Challenge triumphiert.

  • Nao-Roboter eröffnen Linuxtag

    Tanzend begann heute morgen der Linuxtag 2012 in Berlin. Fünf Nao-Roboter der französischen Firma Aldebaran Robotics legten mit einer musikalischen Choreographie vor, ehe Nils Magnus vom Linuxtag e.V, Ulrich Nierhoff (Messe Berlin) und Staatsekretär Andreas Statzkowski die Besucher begrüßten.

  • Nao-Roboter

    Ende April ließ das Unternehmen Aldebaran Robotics auf seinen Developer Days den 57 Zentimeter großen humanoiden Roboter Nao aufs menschliche Publikum los, mehrheitlich Open-Source-Entwickler. Sie überschütteten den mit 25 Freiheitsgraden und Kinderblick ausgestatteten Autonomen mit Sympathie.

  • Mechanischer Diener

    Alltägliche, für uns Menschen banale Handreichungen entpuppen sich in der Robotik oft als höchst komplexe Vorgänge. Wer die Geheimnisse der Roboter-Programmierung selbst ergründen möchte, findet mit dem neuen Bausatz Asuro des Deutschen Zentrums für Luft- und Raumfahrt ein günstiges Einstiegsmodell.

  • Keine Science Fiction: Iron Man, Robonauten, Linux-Desktops auf der ISS

    Die NASA will ihre Laptops an Bord der ISS auf Linux umstellen, einen Linux-Roboter ins All bringen - und Linus Torvalds arbeitet angeblich an einer Iron-Man-Variante. Das berichtet zumindest der Blogger Steven J. Vaughan-Nichols.

comments powered by Disqus

Ausgabe 04/2017

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.