Aus Linux-Magazin 06/2005

Workshop: Roboter-Bausatz für Linux-Tüftler

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.

Autonome Staubsauger, Drink-Butler oder Roboter-Hunde sind in Japan nicht ungewöhnlich. Wenn es nach der Industrie geht, sollen Roboter künftig in die Haushalte und Büros auf der ganzen Welt einziehen und ungeliebte Arbeiten übernehmen. In der Praxis sind die mechanischen Dienstleister noch weit davon entfernt, im Haushalt wirklich mit anzupacken – die Elektronik beschäftigt sich vor allem damit, den Roboter im Gleichgewicht zu halten oder Gegenstände überhaupt zu erkennen. Was für uns Menschen banal erscheint, etwa eine Tasse Kaffee servieren, ist für den Roboter und seine Konstrukteure ein komplexes Problem.

Wer hinter die Kulissen der Roboter-Entwicklung blicken und die Funktionsweise von Robotern verstehen möchte, musste bislang tief in die Tasche greifen: Speziell für Lernzwecke entwickelte Roboterarme kosten gleich mehrere hundert Euro und lassen sich meist nur in ungebräuchlichen Hochsprachen programmieren. Das ist für Schulen und Privatpersonen nur selten erschwinglich.

Mini-Roboter zum Mini-Preis

Eine Alternative kommt aus den Schullabors des Deutschen Zentrums für Luft- und Raumfahrt (DLR,[1]) in Oberpfaffenhofen: Mit knapp 50 Euro ist der Bausatz für den Asuro (Abbildung 1) im Vergleich mit anderen Lernrobotern von Lego oder Fischertechnik sehr günstig. Allerdings fügt sich der Asuro auch nicht in ein Baukastensystem ein, sondern ist ein Einzelprodukt.

Der Bausatz ist vollständig, für den Zusammenbau benötigen Sie lediglich ein wenig Werkzeug, Klebstoff und vier Mignon-Akkus. Zum Lieferumfang (siehe Abbildung 2) gehören zusätzlich eine CD mit Windows- und Linux-Software sowie ein sehr ausführliches Handbuch im PDF-Format. Damit ist der Bausatz für Schüler genauso geeignet wie für Erwachsene, die sich mit Robotik beschäftigen wollen.

Kommunikation per Infrarot

Die kleine Platine, in Abbildung 2 links neben dem Tischtennisball zu sehen, ist ein Infrarot-Transceiver für die serielle Schnittstelle. Wer einen Rechner ohne RS-232 besitzt, benötigt noch den optional angebotenen USB-Transceiver für rund 20 Euro – dabei handelt es sich um einen einfachen USB-Seriell-Konverter plus IR-Transceiver.

Das Herz des Asuro ist ein 8-Bit-RISC-Prozessor von Atmel (siehe Kasten “Atmel AT Mega 8L”). Um Kurven auch ohne gelenktes Rad fahren zu können, betreibt der Roboter seine Motoren mit gepulster Versorgungsspannung unabhängig voneinander mit variabler Geschwindigkeit (PWM, siehe Kasten “Pulsweitenmodulation für den Antrieb”). Über die serielle Infrarot-Kommunikationseinheit erhält der Asuro seine Programme und kommuniziert mit dem PC. Sechs kleine Taster an der Frontseite des Robots dienen als Kollisionssensoren und lassen sich über eine Widerstandskaskade einzeln erkennen.

Mechanische Arbeiten

Das 76 Seiten starke Handbuch auf der mitgelieferten CD enthält eine gute Anleitung für den Zusammenbau, an die Sie sich unbedingt halten sollten. Insgesamt gliedert sich der Aufbau in drei Phasen: Mechanische Vorarbeiten, Aufbau der Roboter-Schaltung und Zusammenbau des IR-Transceivers.

Zu Beginn löten Sie die vier Messingachsen in die entsprechenden Schlitze der Platine; die längeren Messingstäbe bilden, wie Abbildung 3 zeigt, die Antriebsachse, die anderen beiden tragen das zweite Zahnrad des Getriebes.

Prinzipiell lassen sich die Achsen auch einkleben, dann können Sie jedoch deren Lage nachträglich nicht mehr ohne weiteres korrigieren. Damit die Achsen das Lötzinn besser annehmen, entfetten Sie sie zunächst mit Alkohol und rauen jene Bereiche mit feinem Schmirgelpapier an, in denen Sie die Achse später mit der Platine verlöten.

Die Achsen müssen Sie so ausrichten, dass die Zahnräder des Getriebes gut ineinander greifen und trotzdem leichtgängig laufen. Für die erste Anprobe reicht es, die Achsen mit wenig Lötzinn nur am Ende an die Platine anzupunkten, sodass sie sich mit ein wenig Kraftaufwand bewegen lassen. Ist das Messing wieder abgekühlt, stecken Sie die Zahnräder des Getriebes auf.

Abbildung 1: Der Lernroboter Asuro wurde in den Schullabors des DLR entwickelt. Mit zwei Motoren, sechs Kollisions-Sensoren und diversen Fotozellen hilft er die Grundlagen der Robotik zu verstehen.

Abbildung 1: Der Lernroboter Asuro wurde in den Schullabors des DLR entwickelt. Mit zwei Motoren, sechs Kollisions-Sensoren und diversen Fotozellen hilft er die Grundlagen der Robotik zu verstehen.

Abbildung 2: Der Asuro-Bausatz besteht aus über 150 Einzelteilen. Mit nur 50 Euro ist der Lernroboter deutlich billiger als die Konkurrenzprodukte von Lego oder Fischertechnik.

Abbildung 2: Der Asuro-Bausatz besteht aus über 150 Einzelteilen. Mit nur 50 Euro ist der Lernroboter deutlich billiger als die Konkurrenzprodukte von Lego oder Fischertechnik.

Kleine Zahnradkunde

Der Bausatz enthält vier Zahnräder, die kaum voneinander zu unterscheiden sind. Bei der Identifikation helfen die mitgelieferten Räder: Die Zahnräder der Antriebsachse lassen sich mit nur ganz geringem Spiel in die Räder stecken. Auf die anderen beiden Zahnräder kleben Sie später die schwarz-weiß unterteilten runden Aufkleber aus dem Bausatz. Mit Hilfe diese Schwarz-Weiß-Segmente misst der Roboter seine Geschwindigkeit und die Fahrstrecke.

Haben Sie die Zahnräder, wie in Abbildung 3 zu sehen, auf die Achsen gesteckt, richteten Sie die Achsen aus. Biegen sie sich auf der einen Seite auseinander, während sich die Zahnräder auf der anderen Seite kaum berühren, ist das ein Indiz dafür, dass Sie zwei gleiche Zahnräder auf die Achsen für Antrieb und Getriebe gesteckt haben.

Sitzt alles korrekt, verlöten Sie die Achsen in dieser Position – nehmen Sie aber erst die Zahnräder wieder herunter, damit sie nicht verschmoren. Die Zahnräder der beiden Achsen in der Nähe der Motoren werden nun wie zuvor beschrieben beklebt, für den Anfang reicht der Aufkleber mit vier Segmenten.

Dann punkten Sie die Achsen zunächst am Platinenrand mit Lötzinn an. Beim flächigen Anlöten der Achsen von innen nach außen ist darauf zu achten, dass sie sich nicht wieder verstellen.

Mit den zwei getrennt angetriebenen Rädern kann sich der Roboter beliebig bewegen. Damit er nicht nach vorn umkippt, schneiden Sie den mitgelieferten Tischtennisball an der Schweißnaht wieder auf und kleben eine Hälfte wie im Handbuch angegeben direkt auf die Platine – allerdings erst dann, wenn der Roboter komplett bestückt und die Motoren montiert sind.

Abbildung 3: Beim Zusammenbau des Getriebes werden die Messingachsen erst nur angepunktet, dann ausgerichtet und erst danach verlötet. Die Zahnräder, die mit nur geringem Spiel in die Räder passen, sind für die Antriebsachse bestimmt.

Abbildung 3: Beim Zusammenbau des Getriebes werden die Messingachsen erst nur angepunktet, dann ausgerichtet und erst danach verlötet. Die Zahnräder, die mit nur geringem Spiel in die Räder passen, sind für die Antriebsachse bestimmt.

Abbildung 4: Die rote LED auf der Unterseite der Platine liegt direkt auf, während die beiden transparenten Fototransistoren etwas abstehen. Über die Reflexion auf dem Untergrund kann der Roboter eine dunkle Linie verfolgen.

Abbildung 4: Die rote LED auf der Unterseite der Platine liegt direkt auf, während die beiden transparenten Fototransistoren etwas abstehen. Über die Reflexion auf dem Untergrund kann der Roboter eine dunkle Linie verfolgen.

Elektronik

Beim Aufbau der Roboter-Elektronik sollten Sie besonders sorgfältig arbeiten, um nicht versehentlich einen der Halbleiter zu verpolen. Wenn Sie sich strikt an das Handbuch halten, bereitet die spätere Inbetriebnahme keine Probleme.

Ein im Bausatz vorgesehenes Beispiel für das Navigieren ist, dass der Roboter eine Leitlinie auf einem Tisch oder auf dem Boden erkennt und verfolgt. Dafür verwendet Asuro zwei Fototransistoren und eine rote LED, die Sie auf die Unterseite der Platine löten. Dabei liegt die rote LED (siehe Abbildung 4) direkt auf der Platine auf, während die Fototransistoren nur bis zu den Verbreiterungen an den Anschlussbeinen eingeschoben und angelötet sind.

Listing 1:
Kollisionsprogramm

01 #include "asuro.h"
02
03 void main(void)
04 {
05   int i;
06   Init();
07   while (1)
08   {
09     if (PollSwitch()>0)
10     {
11       MotorDir(RWD,RWD);
12       MotorSpeed(120,120);
13       StatusLED (RED);
14       BackLED(ON,ON);
15       for (i=0; i<250; i++)
16       {
17         Sleep (216);
18       }
19       MotorDir(RWD,FREE);
20       for (i=0; i<150; i++)
21       {
22         Sleep (216);
23       }
24     }
25     else
26     {
27       MotorDir(FWD,FWD);
28       MotorSpeed(120,120);
29       StatusLED (GREEN);
30     }
31   }
32 }

Für den ersten Funktionstest des Asuro bestücken Sie den Prozessor (IC1) und den AND-Gatter (IC3) noch nicht. Nach dem Einschalten sollten die beiden roten LEDs am Heck des Roboters leicht glimmen, andernfalls schalten Sie den Roboter wieder aus und begeben sich auf Fehlersuche. Dabei hilft das Handbuch der CD weiter.

Anschließend setzen Sie den Prozessor und den Gatter-IC in die Sockel, wobei Sie unbedingt auf die richtige Polung achten müssen. Haben Sie den Prozessor falsch herum eingesetzt, brennt er unweigerlich durch und Sie müssen bei Arexx[2] einen neuen AT Mega 8L mit vorinstalliertem Bootloader bestellen. Gleiches gilt, wenn Sie das Akkupack falsch anschließen, der Roboter ist nicht gegen Verpolung geschützt.

Abbildung 5: Für den Datenaustausch mit dem Roboter genügt ein einfaches serielles Terminalprogramm wie zum Beispiel Minicom. Die Kommunikationsdaten für den Asuro lauten 2400 Baud, 8N1.

Abbildung 5: Für den Datenaustausch mit dem Roboter genügt ein einfaches serielles Terminalprogramm wie zum Beispiel Minicom. Die Kommunikationsdaten für den Asuro lauten 2400 Baud, 8N1.

Abbildung 6: Das Oszillogramm eines langsam drehenden Asuro-Motors. Durch die Pulsweitenmodulation entstehen steile Rechtecksignale mit erheblicher Restwelligkeit. Ohne verdrillte Motoranschlusskabel würde der Asuro massiv Störungen abstrahlen.

Abbildung 6: Das Oszillogramm eines langsam drehenden Asuro-Motors. Durch die Pulsweitenmodulation entstehen steile Rechtecksignale mit erheblicher Restwelligkeit. Ohne verdrillte Motoranschlusskabel würde der Asuro massiv Störungen abstrahlen.

IR-Transceiver

Der serielle Infrarot-Transceiver besteht nur aus rund zwei Dutzend Bauteilen und lässt sich ohne großen Aufwand zusammenbauen. Er übernimmt die Kommunikation mit dem AT Mega 8L, etwa um eine neue Firmware einzuspielen oder einzelne Befehle an den Roboter abzusetzen.

Abbildung 7: Auf der Roboter-CD liefert der Hersteller ein grafisches Flash-Programm für den Asuro mit, hier ist ein gerade laufender Flash-Vorgang zu sehen.

Abbildung 7: Auf der Roboter-CD liefert der Hersteller ein grafisches Flash-Programm für den Asuro mit, hier ist ein gerade laufender Flash-Vorgang zu sehen.

Pulsweitenmodulation für
den Antrieb

Der Antrieb besteht beim Asuro aus zwei herkömmlichen Gleichstrommotoren, die jeder für sich über eine Untersetzung ein Rad antreiben. Um die Geschwindigkeit einzustellen, könnte die Roboter-Elektronik die Betriebsspannung der Motoren über einen herkömmlichen Längsregler einstellen – mit dem Nachteil, dass die überschüssige Spannung in Wärme umgewandelt würde.

Die Asuro-Entwickler wählten die Pulsweitenmodulation als Ausweg. Hier wird die volle Betriebsspannung mehrmals pro Sekunde angelegt und wieder abgeschaltet, de facto werden die Motoren also an einer Rechteckspannung betrieben. Über die Dauer der Impulse, also die Pulsweite, kann der Prozessor die effektive Drehgeschwindigkeit des Motors steuern – bei sehr niedrigen Drehzahlen könnte man sogar das Ruckeln der Motoren sehen.

Der Nachteil der Pulsweitenmodulation ist die Störstrahlung, die von den steilen Flanken der Rechtecksignale (Abbildung 6) ausgeht. Um die Abstrahlung möglichst niedrig zu halten, müssen Sie daher die Anschlusskabel beider Motoren sorgfältig miteinander verdrillen.

Für den Datenaustausch verwenden Sie ein herkömmliches serielles Terminalprogramm wie zum Beispiel Minicom (Abbildung 5). Mit dem Befehl »minicom -s « startet Minicom direkt mit dem Setup-Dialog, in dem Sie die serielle Schnittstelle, 2400 Baud bei 8 Datenbits, ein Stopp-Bit und keine Parität einstellen und unter dem Menüpunkt »Save setup as dfl« in der Datei »/etc/minirc.dfl« als Standard speichern.

Drücken Sie nun zur Probe einige Tasten: Die entsprechenden Zeichen sollten jetzt als Ausgabe im Terminalfenster zu sehen sein. Ist dies nicht der Fall oder erscheinen unerwartete Zeichen, halten Sie ein Blatt Papier als Reflektor etwa zehn Zentimeter über den IR-Transceiver. Funktioniert es dann immer noch nicht, justieren Sie über den Trimmer TR1 die Frequenz.

Nach dem erneuten Einschalten des Roboters startet der werksseitig einprogrammierte Selbsttest. Er prüft nacheinander alle Komponenten. Asuro versucht eine Verbindung zum IR-Transceiver des PC aufzubauen. Im Minicom-Fenster können Sie den Selbsttest verfolgen. Ist er erfolgreich durchlaufen, montieren Sie die Räder und den halben Tischtennisball. Treten Fehler auf, müssen Sie die Anleitung zu Rate ziehen.

Atmel AT Mega 8L

Beim AT Mega 8L handelt es sich um einen mit 8 MHz getakteten Mikrocontroller aus Atmels 8-Bit-RISC-Familie. Der 16-MHz-Variante fehlt lediglich das L am Ende der Typenbezeichnung.

Der Befehlssatz des AT Mega 8L umfasst 130 Assembler-Befehle, die der Prozessor meist innerhalb eines Taktes abarbeiten kann. Neben der Recheneinheit sind auf dem Prozessor noch 8 KByte Flash-Programmspeicher, 1 KByte SRAM sowie ein 512-Byte-EEPROM eingebaut.

Der AT Mega 8L des Asuro-Bausatzes ist bereits werksseitig mit einem Bootloader beschrieben, der 1 KByte des Flashspeichers belegt. Ein 10-Bit-A/D-Wandler mit sechs oder acht Kanälen ist ebenso mit an Bord wie 23 einzeln ansteuerbare I/O-Leitungen.

Weitere Informationen zur CPU liefert das rund 300 Seiten starke Datenblatt von[4].

Unter Linux gibt es eine Vielzahl an Entwicklungs- und Programmierwerkzeugen für die Atmel-Mikrocontroller, etwa die Binutils[5], den GNU-C-Compiler[6] und die AVR-Library[7] nebst Dokumentation[8]. Auf[9] finden Sie eine Übersicht, welche Versionen der jeweiligen Programme zusammenarbeiten.

Den Selbsttest macht der Roboter übrigens nur so lange, bis Sie Ihre eigene Firmware aufspielen. Eine Kopie liegt zur Sicherheit auf der CD und heißt »SelfText.hex«.

Entwicklungshilfe

Für Linux-Bastler sind Atmel-Prozessoren deshalb so interessant, weil sie sich ohne spezielle Programmieradapter beschreiben lassen und weil alle wichtigen Programme unter Linux zur Verfügung stehen, angefangen von der Flash-Software bis hin zum C-Compiler .

Auf der Asuro-CD liefert der Hersteller die beiden Programme »asuroflash« und »asurocon« mit, beide Dateien liegen im Verzeichnis »linux/tools« der CD-ROM. Sinnvollerweise kopieren Sie die Programme nach »/usr/local/bin« und machen sie ausführbar.

Bei »asuroflash« handelt es sich um ein grafisches Flash-Programm, Abbildung 7 zeigt einen gerade laufenden Flash-Vorgang. Die Einstellungen speichert das Programm in der Datei »AsuroFl.ini«. Das Programm »asurocon« ist für die Kommandozeile gedacht. Haben Sie bereits einmal »asuroflash« benutzt, sodass es seine Konfigurationsdatei »AsuroFL .ini« gespeichert hat, beginnt »asurocon« sofort und ohne Rückfrage mit dem Schreibvorgang.

Auch den Compiler mit den zugehörigen Paketen liefert der Hersteller als RPM-Pakete auf der Asuro-CD mit; die Installationsreihenfolge lautet »avr-binutils«, »avr-gcc«, »avr-libc« und nach Bedarf noch »avr-gcc-c++«. Auch die Dokumentation zur den AVR-Tools liegt als RPM-Paket auf der CD.

Abbildung 8: Das Buch "Mehr Spaß mit Asuro" enthält eine Erweiterungsplatine für zwei Ultraschall-Sensoren (vorne, mit Gitter). Es erscheint zeitgleich mit dieser Ausgabe des Linux-Magazins.

Abbildung 8: Das Buch “Mehr Spaß mit Asuro” enthält eine Erweiterungsplatine für zwei Ultraschall-Sensoren (vorne, mit Gitter). Es erscheint zeitgleich mit dieser Ausgabe des Linux-Magazins.

USB-IR-Transceiver

Für Computer ohne oder mit bereits belegten seriellen Schnittstellen hat Arexx einen USB-IR-Transceiver entwickelt, den die Distributoren für rund 20 Euro zusätzlich anbieten. Die Schaltung besteht aus dem USB-Seriell-Konverter FT232BM der Firma FTDI, der sich beim Kernel als »USB Serial Converter« zu erkennen gibt. Dementsprechend müssen in der Kernelkonfiguration die beiden Punkte »USB Serial Converter support« und »USB FTDI Single Port Serial Driver« aktiviert sein.

Ob der Kernel den USB-Seriell-Konverter korrekt erkannt hat, können Sie mit dem Befehl »cat /proc/tty/driver/usb-serial«, wie in Abbildung 9 gezeigt, überprüfen.

Sofern Ihre jeweilige Distribution nicht automatisch Devices für den USB-Seriell-Konverter anlegt oder bereits besitzt, müssen Sie das Device per »mknod /dev/usb/ttyUSB0 c 188 0« anlegen – maximal kann es 16 USB-Serial-Devices geben.

Für die Anwendungsprogramme wie zum Beispiel Minicom unterscheidet sich ein USB-Seriell-Konverter nicht von einer herkömmlichen seriellen Schnittstelle, vom Namen einmal abgesehen.

Käferdomteur in C

Die Programmierung des Atmel AT Mega 8L erfolgt in C, wobei das Entwicklungs-Kit bereits fertige Funktionen zur Steuerung des Asuro enthält. Beispielprogramme liefert der Hersteller auf der CD im Verzeichnis »Asuro_src« mit, darunter den Selbsttest als fertiges Hex-File und im Quellcode. Für Ihre eigenen Programme sollten Sie die Datei »test.c« sowie das zugehörige »Makefile« als Grundgerüst verwenden.

Das Handbuch gibt für Neulinge eine kurze Einführung in C und erläutert anschließend die Funktionen der Asuro-C-Bibliothek. Listing 1 verwendet einige Funktionen der Bibliotheken für ein Kollisionsprogramm: Der Roboter fährt so lange geradeaus, bis einer der Fronttaster K1 bis K6 ein Hindernis berührt. Dann setzt Asuro kurz zurück, dreht sich um 90 Grad und fährt weiter.

Die Funktion »Init()« in Zeile 6 bringt den Mikrocontroller in den Grundzustand. In der Endlosschleife ab Zeile 7 werden mit der Funktion »PollSwitch()« alle sechs Taster an der Vorderseite des Roboters abgefragt. Ist mindestens ein Taster gedrückt, liefert die Funktion einen Wert größer null – der Roboter ist gegen ein Hindernis gefahren.

Buch zum Asuro

Mit Erscheinen dieses Ausgabe des Linux-Magazins ist Band 1 des Buches “Mehr Spaß mit Asuro” erhältlich; ob Sie das Buch über die Distributoren aus Tabelle 1 beziehen können, war bei Redaktionsschluss noch unklar. Auf der Arexx-Website[2] finden Sie in jedem Fall Informationen zum Vertrieb.

Die Asuro-Väter erklären in dem Buch auf rund 120 Seiten die Funktionsweise der Schaltungen und zeigen tiefer gehende Möglichkeiten zur C-Programmierung. Außerdem stellen sie Aufgaben zur Mechanik, Elektronik und Programmierung – die Lösungen dazu sind ebenfalls abgedruckt.

Als spezielles Schmankerl gibt es obendrein eine Erweiterungsplatine, mit der Sie einen Ultraschall-Sensor nachrüsten können (Abbildung 8). Ende 2005 soll der zweite Band der Asuro-Reihe in den Handel kommen – dafür ist ein LCD-Display als Erweiterungsschaltung geplant.

Abbildung 9: Der USB-IR-Transceiver besteht aus einem USB-Seriell-Konverter und einem nachgeschalteten seriellen IR-Transceiver, wie er dem Asuro beiliegt.

Abbildung 9: Der USB-IR-Transceiver besteht aus einem USB-Seriell-Konverter und einem nachgeschalteten seriellen IR-Transceiver, wie er dem Asuro beiliegt.

Motorsteuerung und Verzögerungstechnik

Der Block von Zeile 10 bis 24 enthält das Rückwärtsfahrprogramm: Zunächst werden beide Motoren auf Rückwärtsfahren geschaltet, dann die Geschwindigkeit gewählt, die zweifarbige Status-LED neben dem Mikrocontroller auf Rot um- und die beiden LEDs an der Rückseite des Roboters eingeschaltet. Der Wert »120« bei der Fahrgeschwindigkeit ist willkürlich gewählt, möglich sind Werte zwischen »0« und »255«, wobei sich der Motor erst ab »60« zu drehen beginnt.

Die Zeilen 15 bis 18 definieren die Zeit, die der Roboter rückwärts fährt. Der Aufruf »Sleep(216)« lässt den Roboter 216 Takte bei 72 kHz verharren, das sind drei Millisekunden, wobei die For-Schleife diese Anweisung 250-mal abarbeitet, der Roboter fährt also eine dreiviertel Sekunde rückwärts.

In Zeile 19 hält der rechte Motor an, er geht in den Freilauf über, während der linke Motor weiter rückwärts dreht – der Roboter fährt nach rechts. Nach rund einer halben Sekunde ist der If-Block abgearbeitet, die Kollisionstaster an der Vorderseite des Roboters dürften nun nicht mehr gedrückt sein. Falls doch, fährt Asuro weiter rückwärts.

Der Else-Abschnitt von Zeile 26 bis 30 ist für die Vorwärtsfahrt zuständig: Die Status-LED wird auf Grün geschaltet und beide Motoren drehen vorwärts. Die Rücklichter des Roboters bleiben dabei eingeschaltet. Wenn Sie die Rücklichter wieder ausschalten wollen, fügen Sie in den Else-Block von Zeile 26 bis 30 den Aufruf »BackLED(OFF,OFF);« ein.

Tabelle 1:
Bezugsquellen

 

Distributor

Conrad Electronic

www.conrad.de

ELV

www.elv.de

Farnel

www.farnel.com]

Roboter

Artikel-Nr.

191164

68-597-60

8092575

Bezeichnung

Asuro Roboter

Asuro Miniroboter

Asuro Roboter Kit

Preis

ca. 50 Euro

ca. 50 Euro

ca. 50 Euro 1

USB-IR-Modul

Artikel-Nr.

191142

68-597-61

9032118

Bezeichnung

USB IR Asuro

USB-Adapter

USB Module f. Asuro

Preis

ca. 20 Euro

ca. 20 Euro

ca. 20 Euro

1 Mengenrabatt ab 10 Stück

 

 

Asuro-Bibliothek

Insgesamt stellt die Asuro-Bibliothek ein Dutzend vorgefertigte Funktionen zur Verfügung, mit denen sich Sensoren, LEDs, die Motoren und die Kommunikation mit dem PC steuern lassen. Das »Makefile« des Testprogramms »test.c« übersetzt das Programm mit Hilfe des AVR-GCC-Compilers und legt es mundgerecht im Intel-Hex-Format auf der Festplatte des Entwicklungsrechners ab. Von hier aus überträgt es zum Beispiel »asuroflash« zum Roboter.

Für die Datenübertragung müssen der Roboter und der IR-Transceiver Sichtkontakt haben, die Distanz sollte nicht mehr als einen halben Meter betragen. Zum Einspielen einer neuen Firmware wird Asuro zunächst ausgeschaltet, dann in »asuroflash« der Flash-Vorgang gestartet und erst jetzt der Roboter wieder eingeschaltet.

Der Bootloader prüft, ob eine neue Firmware angeboten wird, und überschreibt automatisch die vorhandene. Meldet das Flash-Programm »ASURO ready to start!!«, ist die Übertragung abgeschlossen und der Loader startet beim nächsten Einschalten die neue Firmware.

Fazit

Der Einstieg in die Robotik fällt mit dem Asuro nicht schwer: Das vorzügliche Handbuch erlaubt es auch Ungeübten, den Roboter ohne große Probleme aufzubauen. Die Linux-Programmsammlung auf der CD ist vollständig und erspart die Internetrecherche nach den richtigen Versionen der einzelnen Bibliotheken und Programme.

Die Asuro-Bibliothek ist ebenfalls gelungen, die wenigen, aber leistungsfähigen Funktionen machen den Einstieg in die C-Programmierung sehr leicht, ohne dabei den Weg für eigene Entwicklungen zu verbauen.

Mit Asuro kann man auch den Informatikunterricht an Schulen und in der Ausbildung praxisnah und lebendig gestalten. An dem regen Erfahrungsaustausch der stetig wachsenden Gemeinde der Asturisten können Sie sich unter[3] beteiligen. (jlu/mdö)

Infos

[1] DLR: [http://www.dlr.de]

[2] Arexx: [http://www.arexx.com]

[3] Erfahrungsaustausch zu Asuro: [http://www.roboternetz.de]

[4] Datenblatt des Atmel AT Mega 8: [http://www.atmel.com/dyn/products/product_card.asp?part_id=2004]

[5] Binutils: [http://ftp.gnu.org/gnu/binutils]

[6] GCC: [http://gcc.gnu.org/mirrors.html]

[7] AVR-Libc: [http://savannah.nognu.org/downloads/avrlibc]

[8] AVR-Libc User Manual: [http://savannah.nognu.org/downloads/avrlibc]

[9] Versionsübersicht: [http://winavr.sourceforge.net/package.html]

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben