Sie sind auf Seite 1von 11

Paul

Matthias Scholz

Roboterwesen
bauen und programmie ren
Ein Einstieg in LEG O M IN D R M S NX T STO

Einleitung
Was du mir sagst, das vergesse ich. Was du mir zeigst, daran erinnere ich mich. Was du mich tun lsst, das verstehe ich. Kung Fu Tse

An wen Buch?

richtet sich

dieses

Dieses Buch ist eine Einfhrung in LEGO MINDSTORMS NXT. Es erschliet dem Leser von Grund auf den Bau und die Programmier ung von Robotern, die sich mit einem Set der zweiten Generation dieses Systems realisieren lassen. Es richtet sich somit vorrangig an drei Kreise von Lesern: Einsteiger in LEGO MINDSTORMS NXT, also Menschen , die sich das erste Mal mit dem System besch ftigen, weil sie zum Beispiel ein Set gekauft oder geschenkt beko mmen haben. Lehrerinnen und Lehrer, die nach einem Buch fr den Unterricht in ihrer naturwis sensch aftlich-technischen Klasse suchen, bei dem sie eines oder mehrere Sets aus der Reihe LEGO MINDSTORMS NXT nutzen wollen. Anwender von LEGO MINDSTORMS NXT, die bereits erste Erfahrunge n damit gesamme lt haben und jetzt nach einer Erweiteru ng ihrer Kenntnisse sowie nach neuen Konzepten und Ideen suchen, die sie mit ihrem Set umsetzen knnen. Fr all diese Gruppen ist das vorliegende Buch durch seinen didaktischen Aufbau, seine Mischung aus theoretischen und prak tische n Aspekten und seinem Fokus auf Roboter, die alle jeweils mit einem einzigen NXT-Set der Version 2 gebaut werden knnen, eine gute Wahl.

Was kann man von diesem Buch erwarten und was nicht?
Das vorliegende Buch soll den Leser in die Lage versetzen, mit LEGO MINDSTORMS NXT eigene fortg eschri ttene Roboter zu entwerfen, zu bauen und zu programmieren. Dazu werden ihm oder ihr nicht nur die entsprech enden theoretischen und praktische n Grundlage n vermittelt, sondern auch die Kenntnis und

11

Einleitung

das Verstndnis der wichtigen Bau- und Programmierkonzepte und deren Anwendung. Darber hinaus wird der aufmerksame Leser mit dem in diesem Buch vermittelten Handw erkszeug in der Lage sein, die nchsten Schritte auf dem Weg zur Erforschung des MINDSTORMS-Roboter-Universums selbststndig zu unternehmen und sich auch fortgeschri ttenen Themen zuzuwenden. Naturgem jedoch kann ein Einfhrung sbuch nicht alle Aspekte einer derart umfangreichen Plattform wie LEGO MINDSTORMS NXT abdecken, nicht nur aus Platzgr nde n, sonder n auch, weil dies einen Einsteiger berfordern wrde. Daher werden einige Aspekte in diesem Buch nicht behandelt, wie zum Beispiel die Fernsteuerung eines Roboters mittels Bluetooth oder Infrarot oder die Kommunikation von Robotern unterei nande r. Diese und weitere faszinierende Themen mssen einem etwaigen spteren Buch vorb ehalten bleiben. Auch kann dieses Buch keine Referenz oder ein Prog ramm ierhandbu ch fr die vom Set offiziell unters ttzte Sprache NXT-G sein, das smtliche Sprachkonstrukte abdeckt und vertieft behandelt. Hier muss auf andere spezialisierte Publikationen verwiesen werden, etwa das Buch Roboter programmieren mit NXT-G fr LEGO MINDSTORM S NXT von Daniel Braun aus demselben Verlag wie das vorliegende.

Voraussetzungen
Um Nutzen aus diesem Buch zu ziehen, muss ein Leser weder ber Vorkenn tnisse in der Robotik noch ber solche im Bereich der MINDSTORMS-Serie verfgen. Auch Programm ierkenntn isse werden nicht vorausgesetzt. Es ist zwar hilfreich, wenn ein Leser Erfahrungen in einem dieser Bereiche besitzt oder wenn er oder sie bereits einmal ein Set aus der TECHNIC-Reihe von LEGO gebaut hat, notwendig ist es fr das Verstndnis der einzelnen Kapitel aber nicht. Das vorliegende Buch fhrt all das schrittweise und von Grund auf ein, was ntig ist, um interessan te Roboter mit LEGO MINDSTORMS nicht nur zu bauen und zu programmieren , sonder n auch die wichtigen Konzepte zu verstehen, die diesem Set zugrunde liegen . Alles, was der Leser neben diesem Buch dazu bentigt, ist mindestens ein Set der Retail-Edition in Version 2.0 von LEGO MINDSTORMS NXT (Set #8547). Altern ativ knnen alle Modelle auch mit der Education -Edition (Set #9797) in Verbindung mit dem Resource-Set (Set #9648 ) gebaut werden. Da alle Bauanleitungen auf die Version 2 der Retail-Edition abgestimmt sind, wird an den Stellen, wo bei Verwendung der Educat ion-Edition abweichende Teile verwendet werden mssen, explizit darauf hin gewiesen.

12

Einleitung

Daneben ist fr die Progr ammi erung der Roboter auch ein Computer erforderlich, auf dem sich die im Set enthaltene LEGO MINDSTORMS NXT Software inst allieren lsst. Insb esondere muss der Computer dazu ber ein geeignetes Betriebssystem verfgen, das heit Windows XP, Windows Vista, Windows 7 oder Mac OSX.

Aufbaudes Buchs
Als Einfh rung in LEGO MINDSTORMS NXT, die den Leser von Grund auf in die Materie einfhrt und ihn dazu befhigen soll, nach Dur charbeiten der Kapitel selbstst ndig NXT-Roboter bauen und programmieren zu knnen, ist das vorliegende Buch als praktisches Lehrbuch strukturiert: Begin nend bei den Grundlagen werden im Verlauf des Buchs nacheinan der die verschiedenen Konzepte und Mglichkeiten des Sets in einer Mischung aus theoreti schen Erlu terungen und praktischen Anwendunge n eingefhrt . Dabei ist jedes Roboter-Kapitel in sich abgeschlossen in dem Sinn, dass der Leser an sei nem Ende einen voll funktion sfhigen Roboter gebaut und programmiert hat, was dem Leser ein eigenes Erfolgserlebnis bietet. Das Buch setzt dabei weniger auf die Vermittlung von mglichst erschpfender Theorie, sondern folgt der Erkenntn is, dass man das am besten lernt, was man im wahrsten Sinn des Wortes begriffen hat. Fr Roboter bedeutet das: was man selbst gebaut und zum Laufen gebracht hat. Das Buch richtet sich dabei an einem roten Faden aus, nmlich der Simu lation von Verhalten in mobilen mecha nische n Wesen. Innerhalb dieses allgemeinen Kontextes beschftigt sich jedes Kapitel mit einem bestimmten Aspekt der Robotik und setzt ihn mit dem jeweiligen Roboter um: von einfacher Fortbewegung ber die Wahrnehmung der Umgebung bis hin zu komplexen Verhaltensweisen, die beim Betrachter bereits die Illusion von denkende n Robotern erzeugen. Dabei nimmt im Verlauf des Buchs nicht nur die Komplexitt und Leistungsf higkeit der einzelne n Roboter stndig zu, sondern auch deren Vielfalt sowie die Anzahl der Themen aus der Robotik, die beleuchtet werden. Ich gehe davon aus, dass dadurch sowohl der Lerneffekt als auch der Spafaktor bis zum Schluss des Buchs erhalten bleiben. Es liegt nahe, dass bei diesem Ansatz jedes Kapitel auf die vorhergehenden aufbaut. Das Buch sollte daher von vorne nach hinten durchgearb eitet werden. Auch wenn es sich lohnt und von mir angeraten wird, muss dabei doch nicht jeder Roboter sofort wirklich gebaut werden. Es ist aber auf jeden Fall wichtig, die verwendeten neuen Pro grammierkonzepte zu studieren und zu verstehen, bevor man sich dem nchsten Kapitel zuwendet. Am Ende jedes Kapitels finden sich Anregungen und Aufgabenstellungen, die sowohl auf eigene weitere Gedanken zum behandelten Thema fhren als auch

13

Einleitung

nchste Schritte vorstellen, mit denen der Leser seinen gerade gebauten Roboter erweitern kann. In einem Anhang am Ende des Buches werden, wo es angemessen erscheint, zu diesen Anregungen Lsungsvo rschlge und -hinweise unterbreitet. Im ersten Kapitel werden die Grundl agen von LEGO MINDSTORMS NXT diskutiert: Der Leser erfhrt, worum es sich dabei berhaupt handelt, welche Komponenten das System hat und wozu diese gut sind. Kapitel 2 konzentriert sich auf das Thema Programmierung. Die offizielle, im Set enthaltene Software wird vorgestellt, die Entwicklungsumgebung erklrt und die grundl egenden Konzepte der Prog rammierspra che NXT-G eingefh rt. Das dritte Kapitel ist das erste Kapitel, in dem ein Roboter entworfen, gebaut und programmiert wird: Es handelt sich dabei um einen mobilen Roboter, der sich mittels eines Kettenantrie bs umherbewegt und ein erstes, ganz einfaches Verhalten zeigt. Der Leser lernt hier, die NXT-Motoren zu verwenden und ein erstes Roboterprogramm zu entwerfen und zu implementieren. Im Kapitel 4 bauen wir den ersten Roboter, der sich auf Rdern fortbewegt. Wir erlern en die Verwendung des ersten Sensors und damit eine einfache Interakti on mit der Umgebung. Auf der Seite der Programmierun g machen wir unter anderem erste Erfahrungen mit Variablen und mathematisch en Operationen. Im folgenden Kapitel lernt der Leser eine weitere Art der Fortbewegung fr Roboter kenn en, das Kriechen, und er nutzt das erste Mal die Berhrungssensor en, um Hindernisse zu erkennen und ihnen auszuwei chen. Kapitel 6 fhrt einen Automobil-hnlichen Roboter ein. Hier nutzt der Leser den Ultrasc hallse nsor zur berhru ngsfreien Wahrnehmun g von Objekten und implementie rt ein komplexes, stark strukturiertes Programm, in dem bereits die me isten wichtigen Konzepte der Software Verwendung finden. Im Kapitel 7 kon zentrieren wir uns auf die Fortbewegung auf Beinen und bauen einen sechsbeinigen Laufroboter. Im abschlieenden Kapitel 8 beschftigt sich der Leser eingehend mit der anspruchsvol len Theorie und Praxis des zweibeinigen Gehens. Wir bauen und programmieren einen Roboter, der nicht nur auf zwei Beinen umhergehen und sprechen kann, sondern auch ber eine Schussv orrichtung verfgt. Der anschlieende Ausblick gibt dem Leser noch einmal Anregungen fr die nchsten Schritte, die er im Anschluss an die Lektre des vorliegend en Buchs auf seinem weiteren Weg in die Welt der Robotik mit LEGO MINDSTORMS NXT unternehmen kann.

14

Einleitung

In den Anhnge n erhlt der Leser nicht nur Hinweise auf weitere leistungsfhige Programmier umgebungen, die ihm neben der offiziellen Software zur Verfg ung stehen, sondern auch zu Bchern und Webseiten, die eine berwltig ende Flle an Informatione n zum Thema LEGO MINDSTORMS NXT bieten. Auerdem findet er dort Hilfestellungen zu den Anregung en und Aufgaben in den einzelnen Kapiteln und eine bersicht ber weitere Arten von Sensoren, die frei erhltlich sind. Eine Auflistung von Fragen und Antworten zur Entwicklu ngsumgeb ung bietet dem Einsteiger Hilfes tellungen zu Probleme n bei der Erstellung von NXT-GProgrammen. Abgerun det wird das Buch mit einem umf angre ichen Glossar.

Erklrung verwendeten Bezeichnungen und Symbole der


Wo nicht explizit anderweitig vermerkt, bezieht sich der Term NXT-Set in den folgenden Kapiteln immer auf ein Set der Version 2.0 der Retail-Edition von LEGO MINDSTORMS NXT, also LEGO-Set #8547. In den Bauanleitunge n bezeichne n Ausdrcke der Form [Zahl]x an einem Bauteil, wie oft dieses Teil im jeweiligen Schritt zu verwenden ist. Bei Balken und Achsen wird zustzlich in kursiver Schrift die Lnge des Teils in Moduln angegeben:

Abb. 1: Ein Balken der Lnge 7M, der zweimal bentigt wird

Ein Rotationspfeil in einem Schritt deutet an, dass das Modell vor dem Anbringen der jeweiligen Bauteile in die entsprech ende Richtung gedreht werden muss:

Abb. 2: Eine horizontale Drehung des Modells

15

Einleitung

Ein Kreis in einem Schritt einer Bauanleitung markiert Stellen am Modell, in die ein bestimmt es Bauteil einzufgen ist. Dies wird nur dann verwendet, wenn es nicht anderweitig ersichtlich ist:

A bb. 3: Stelle, an der ein Teil (hier: ein Stecker) einzufgen ist

In den Programm ieranleitunge n sind alle Bezge auf Namen und Bezeichnungen, die der Leser in der Entwicklungsu mgebun g auf dem Bildschirm sehen kann, in KAPITLCHEN dargestellt.

Webseite zum Buch


Zum vorliegende n Buch gibt es eine begleit ende Webseite, die sich im Intern et unter http://www.robotorwesen.matthiaspaulscholz.eu fin det. Dort kann der Leser nicht nur die in den Kapiteln vorgestellten NXT-G-Programme herunterladen, sondern auch direkt den Autor kon taktieren. Auerdem finden sich dort die im Anhang aufgefhrte n Online-Links zur direkten Navigation. Die Seite wird regelmig mit Neuigkeiten, Errata und Bildern und Filmen ber die Roboter des Buches aktualisiert.

Verwendete Werkzeuge
Das Manuskri pt dieses Buches wurde mit Open Office 3.2 verfasst. Bei der Erstellung der virtuellen Robotermodelle kam MLCAD 3.3 zum Einsatz. Daraus wurden die Bilder und Bauanleitungen mit den Werkzeugen LPUB 4.0 und LDView 4.1 erzeugt. Fr die Bildbearbeitung und die Erzeugung der Screenshots wurden GIMP 2.6 und Paint.NET 3.5 verwendet. Die Diagramme zur Visualisier ung des Progr ammablaufs entstanden mit dem Werkzeug Magic Draw 16.

16

Einleitung

Danksagung
Ohne die Mithilfe vieler Menschen wre das vorliegende Buch nicht mglich gewesen. Mein Dank geht an meine freundliche, hilfsbereite und geduldige Lektorin Sabine Schulz vom mitp-Verlag und den engagi erten und aufmerksame n Korrektor Manfred Buchholz. Danken mchte ich auch dem Entwic klungsteam des LEGO Digital Designer sowie allen, die zu LDraw beigetrag en haben. Insbeso ndere mchte ich hier Michael Lachmann , Kevin Clague und Travis Cobbes erwhnen, die Autoren von MLCAD, LPUB beziehungs weise LDView, ohne deren fantastische Arbeit die Bilder und Bauanleitungen im Buch nicht mglich gewesen wren . Ein ganz besonderer und tief empfundene r Dank gebhr t THE LEGO Group fr die Entwicklu ng von MINDSTORMS und hier vor allem Steven Canvin (Captain, my Captain!) fr mittlerwei le mehr als fnf Jahre an enthusiastischer Un terst tzung fr mich und die ganze MINDSTORM S-Gemeind e. In dieser Zeit habe ich dort viele interessant e Mensche n kennen gelernt und aufreg ende Momente erlebt. Beides hat mein Leben sehr bereichert. Ich hoffe, dass noch eine Menge solcher Jahre folgen werd en.

17