Lego Mindstorms unter LINUX


Lego Mindstorms wird mit einer Software ausgeliefert (NXT-G), die nur unter Windows XP oder Mac OS X lauffähig ist. Alle Versuche, sie unter LINUX zu betreiben sind gescheitert. Deshalb will ich in dieser Hausarbeit einige Auswege aufzeigen, um trotzdem mit Mindstorms noch Spaß zu haben. Auch wenn vielleicht keine Hardware der Trusted Computing Plattform Alliance verfügbar ist …

* 1: Technisches

* 1.1: Schritte

  1. USB Verbindung: Kabel in Computer stecken, NXT einschalten, dmesg, lsusb
  2. Programm kompilieren: ./nbc -T=NXT -O=file.rxe file.nxc
  3. Programm an NXT senden: sudo ./nbc -d file.rxe -b

Anmerkung:
-d = download, Datei an NXT senden
-b = binary, nicht nochmal kompilieren

als Bestätigung gibt es einen kurzen Pieps vom NXT

Alles in einem Befehl: nbc -d file.nxc

Anmerkung: der Quelltext „file.nxc“ wird kompiliert und an den NXT gesendet

* 1.2: Dateiendungen

.RXE


– Ausführbare Datei auf dem NXT-Brick
– enthält Bytecode, vergleichbar mit einer .EXE Datei unter MS-DOS
– wird sowohl von NXT-G als auch von NBC erzeugt

.NXC


– Sourcecode für NXC-Programme
– kann mit einem Texteditor bearbeitet werden

.RBT


– Sourcecode für NXT-G (Lego Software zur grafischen Programmierung)
– kann nicht mit einem Texteditor bearbeitet werden, sondern nur mit der NXT-G Umgebung geöffnet werden

.RSO


Sounddatei auf dem NXT-Brick

* 1.3: Sonstiges

  • nexttool als Root ausführen
  • t2n als root ausführen,
  • „sudo t2n -ls“ zeigt alle Dateien auf dem NXT an
  • Dateiübertragung mit „sudo t2n -put“ erzeugt Fehlermeldung
  • Bluetooth-Verbindung über nxtmanager hab ich nicht hinbekommen
  • Fernsteuerung mit nxttool

* 5: Fazit

Zumindest über USB kann das Mindstorms-Set ohne Probleme an einem Linux-PC verwendet werden. Das Programmpaket „NXC/NBC“ bietet alle nötigen Tools, um ein C-Programm zu kompilieren und auf den NXT-Brick zu übertragen.

Leider ist die Verfügbarkeit von entsprechenden C-Programmen im Internet Mangelware. Auf den offiziellen Lego-Mindstorms-Webseiten stehen allenfalls .rbt Programme zum Download bereit, die sich nicht mit dem NXC-Compiler öffnen lassen. Ein Archiv mit NXC-Programmen konnte ich im Internet leider nicht ausfindig machen. Lediglich ein Archiv mit Bauanleitungen ist verfügbar und im Literaturverzeichnis aufgeführt.

* 6: Literatur

[1] NXT Programming Software, http://www.teamhassenplug.org/NXT/NXTSoftware.html

[2] http://mindstorms.lego.com/en-us/Default.aspx

[3] http://en.wikipedia.org/wiki/Evolver_%28film%29

[4] Google Books Suche nach Büchern mit Vorschau, 2480 Treffer. Mit ein bisschen Glück sind vollständige Kapitel online abrufbar, http://books.google.com/

[6] http://mynxt.matthiaspaulscholz.eu/

[7] http://www.ortop.org/NXT_Tutorial/index.html

[8] http://robotics.benedettelli.com/

[9] http://extras.springer.com/2010/978-3-642-05469-3/
(Anmerkung: Zusatzmaterialen zu einem Buch, Bauanleitungen und Probekapitel)

[10] http://www.astolfo.com/

[11] Links: LEGO-Roboter und -Software, http://www.lehrer-online.de/499378.php

* 6.1: Podcasts

[11] Freibyte 17 ? Mindstorms Reloaded, http://www.ccc-fr.bplaced.net/?p=363

[12] Freibyte 11 ? LEGO Mindstorms, http://www.ccc-fr.bplaced.net/?p=229

[13] http://www.legoengineering.com/podcasts-submenuteachingresources-114.html

* 6.2: Wissenschaftliches

Quellen waren base-search.net und Google PDF Suche

[14] Björn Flintrop: Entwicklung einer graphischen Simulation von LEGO® MindstormsTM Robotern, Diplomarbeit 2004, 102 Seiten, http://opus.bibl.fh-koeln.de/volltexte/2005/124/pdf/diplom_flintrop.pdf

[15] Frank Zimmermann: Modellgetriebene Softwareentwicklung fur Lego NXT, 2008, 11 Seiten, https://www.econstor.eu/dspace/bitstream/10419/38598/1/588143243.pdf

[16] Susan B. Tse: MINDSTORMS Controls Toolkit — Hands-On, Project-Based Learning of Controls, Thesis 2009, 152 pages, http://pqdtopen.proquest.com/#viewpdf?dispub=1468281

[17] Robotics and design competitions in technical education, MP3 Audio, year 2006, http://smartech.gatech.edu/xmlui/bitstream/handle/1853/14142/4_15_06.mp3?sequence=1

[18] John Christopher Braly: The Development of a Low-Cost and Robust Autonomous Robot Colony Using LEGO® Mindstorms, Thesis 2003, 122 pages, http://repository.lib.ncsu.edu/ir/bitstream/1840.16/1208/1/etd.pdf

[19] Detailed Requirements for Robots in Autism Therapy, http://contentdm.lib.byu.edu/cgi-bin/showfile.exe?CISOROOT=/IR&CISOPTR=1038&filename=1041.pdf
(Anmerkung: Auf Seite 6 wird ein Mindstorms Roboter zur Autismus-Therapie vorgestellt, genannt „Trevor“)

[20] Arne Bernin: Entwicklung eines Compilers für eine C-ähnliche Programmiersprache für den LEGO Mindstorms NXT, Bachelorarbeit eingereicht im Rahmen der Bachelorprüfung im Studiengang Angewandte Informatik, 2006, 91 Seiten, http://users.informatik.haw-hamburg.de/~kvl/bernin/bachelor_bernin.pdf

[21] B.J.S. van Putten: Design of a maze solving robot using Lego MINDSTORMS, 2006, Bachelor final project, 36 pages, http://alexandria.tue.nl/repository/books/626828.pdf

[22] William Isaac McWhorter: The effectiveness of using Lego Mindstorms robotics activities to influence self-regulated learning in a university introductory computer programming course, Dissertation 2008, 153 pages, http://digital.library.unt.edu/ark:/67531/metadc6077/m1/1/high_res_d/dissertation.pdf

[23] Tim Rinkens: Einführung in die objektorientierte Programmierung in der gymnasialen Oberstufe mit Hilfe einer Java VM im Lego Mindstorms RCX, Schriftliche Hausarbeit vorgelegt im Rahmen der Ersten Staatsprüfung für das Lehramt für die Sekundarstufe II in Informatik, 2001, 87 Seiten, http://ddi.uni-paderborn.de/fileadmin/Informatik/AG-DDI/Arbeiten/Examensarbeiten/Rinkens_JavaVMimRCX.pdf

[24] David Mindell: LEGO Mindstorms — The Structure of an Engineering (R)evolution, December 2000, 44 pages, http://web.mit.edu/6.933/www/Fall2000/LegoMindstorms.pdf

[25] Christian Weddeling: Entwurf einer grafischen Entwicklungsumgebung zur Programmierung des LEGO Mindstorms RCX in LeJOS, Diplomarbeit 2007, http://ddi.uni-paderborn.de/fileadmin/Informatik/AG-DDI/Arbeiten/Diplomarbeiten/2007/Weddeling_LMPE.pdf#

[26] Jendrik Bertram: Re-Engineering eines LEGO Hochregallagers und Konzeption der Steuerung mit Hilfe von Mindstorms NXT-Modulen, Bachelorarbeit 2007, 75 Seiten, http://ddi.uni-paderborn.de/fileadmin/Informatik/AG-DDI/Arbeiten/Studienarbeiten/2007/2007_-_Jendrik_Bertram_-_HRL_mit_NXT.pdf

[27] Peter Munk und Philipp Hudelmaier: Entwicklung und Implementierung von Software für einen Karten-Misch-und-Ausgabe-Roboter, 50 Seiten, Studienarbeit 2010, http://nxtexas.googlecode.com/files/v11_Final.pdf
(Anmerkung: NXTexax, Pokerroboter wird vorgestellt. Dabei wird Poch als Vorläufer von Poker bezeichnet.)

[28] Claudia Frischknecht und Thomas Other: LEGO Mindstorms NXT — Next Generation, 91 Seiten, Semesterarbeit 2006, http://www.tik.ee.ethz.ch/tik/education/lectures/PPS/mindstorms/sa_nxt/download/sa-2006.18.pdf
(Anmerkung: Sensorkarte in einem Labyrinth erstellen, im Anhang ist der Sourcecode abgedruckt)

[29] Tora no Maki: LEGO Technic, 215 pages, http://www.isogawastudio.co.jp/legostudio/toranomaki/en/
(Anmerkung: OpenBook zum kostenlosen Download)

[30] http://www.tik.ee.ethz.ch/tik/education/lectures/PPS/mindstorms/
(Anmerkung: Mindstorms-Seite an der ETH Zürich)

[31] http://agrosy.informatik.uni-kl.de/schuelerkurse/material

* 6.3: Mindstorms an Schulen

[32] http://www.nxt-in-der-schule.de/

[33] http://www.lego-in-der-schule.de/

[34] Hochbegabte lernen professionelle IT-Welt kennen — DATEV-Informationsveranstaltung für Gymnasiasten der Metropolregion, http://www.datev.de/portal/ShowPage.do?pid=dpi&nid=96696

[35] http://www.hs-schleiden.de/
(Zitat: „Die Hauptschule Schleiden verfügt seit einem Monat über 7 Lego Mindstorm Roboter.“)

[36] http://www.roberta-home.de/

[37] http://agrosy.informatik.uni-kl.de/schuelerkurse/ausleihe/

* 6.4: Weblog

[37] The NXT Step, http://www.thenxtstep.blogspot.com/

[38] Die NXTe Ebene, http://dienxteebene.blogspot.com/
(Anmerkung: keine eigentständige Arbeit, sondern lediglich eine kommentierte Linksammlung)

[39] http://legoag.wordpress.com/
(Anmerkung: langweilig, zu wenig Postings)

[40] http://web.mac.com/NeXTSTORM/NeXTSTORM/AVOIDER.html

* 6.5: Webforen

[41] http://sourceforge.net/apps/phpbb/mindboards/

[42] http://www.mindstormsforum.de/

* 6.6: Linux spezifisch

[43] http://wiki.ubuntuusers.de/Mindstorms

[44] Using Lego Mindstorms NXT with Ubuntu Linux, http://ubuntudaily.blogspot.com/2011/03/using-lego-mindstorms-nxt-with-ubuntu.html

[45] LinuxUser 9/2007: Robotertraum —
Lego-Roboter per Bluetooth programmieren, http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2007/09/Robotertraum

[46] Linux & Bluetooth, 2 Seiten PDF, http://www1.inf.tu-dresden.de/~s3538579/robolab/linux.pdf

[47] Setting up the Lego programming environment in Linux, http://www.eggwall.com/2011/07/setting-up-lego-programming-environment.html

[48] http://wiki.zenerves.net/index.php/Nxt::usb

[49] http://wiki.ubuntuusers.de/udev

* 6.6.1: Compiler

[50] http://bricxcc.sourceforge.net/nbc/

* 6.6.2: Programm auf NXT übertragen

[48] Talk To NXT (t2n), http://www-verimag.imag.fr/~raymond/edu/lego/t2n/

[49] NXT-Manager, http://lukas.internet-freaks.net/robotic/nxtmanager.html

[51] http://sourceforge.net/projects/linxt/

[9] http://bricxcc.sourceforge.net/utilities.html
(Anmerkung: enthält die Programme NeXTTool, nxtcc, nxttools)

[10] http://www.hsg-kl.de/faecher/inf/msr/lego/linux/index.php
(Anmerkung: erläutert das Vermeiden von root-Rechten)

[11] http://edvowww.htlwrn.ac.at/cgi-bin/programmierblog/robo
(Anmerkung: Bedienung des nxt-managers wird erläutert)

* 6.7: Wikis

[52] http://lego.wikia.com/wiki/Mindstorms

[53] http://de.wikipedia.org/wiki/Lego_Mindstorms

[54] http://en.wikipedia.org/wiki/Lego_Mindstorms

[55] http://wiki.mindstormsforum.de/doku.php

* 6.8: Bauanleitungen / Building instructions

[56] http://www.active-robots.com/products/mindstorms4schools/building-instructions.shtml
Modelle: AlphaRex (Humanoid), Spike (Scorpian), RoboArm (Machine),
TriBot (Vehicle)

[57] http://mindstorms.lego.com/en-us/support/buildinginstructions/default.aspx
Modelle: Classic Clock, Alpha Rex, Music Player, T-56, Spike, Sound Bot, Tri Bot, Bonus Model #1 by Kirk Backstrom, Bonus Model #2 by Fay Rhodes, Bonus Model #3 by Laurens Valk, Bonus Model #4 by Philippe ?Philo? Hurbain, Bonus Model #6 by Matthias Paul Scholz, Bonus Model #7 by Fay Rhodes

[58] http://www.nxtprograms.com/index2.html
Modelle: Checkout Scanner, Multi-Bot, Baseball Game, Ball Shooter, Race Car, Steering Remote Control, 5 Button Remote Control, NXT Segway with Rider, Line Follower, Light Meter, Dial Remote Control, Mini Rover with 3-Button Remote, Forklift, Claw Striker, Guitar Challenge Game, Electric Guitar, Path Measurer, Five Minute Bot, Hammer Car, 2-Button Remote Control, 3-Motor Chassis, Explorer, Bumper Car, Castor Bot

[59] http://www.philohome.com/nxt.htm

[60] http://www.hitechnic.com/models
Modelle: HiTechnic IR RC Kart, HiTechnic HTWay, HiTechnic Trike Base, Ball Shooter

[61] http://tiltedtwister.com/
Modelle: Rubik Cube solver

[62] http://www.nxt-in-der-schule.de/downloads
Modelle: Spike, Roboterarm, Alpharex, Tribot, Easy-bot, Antriebskonstruktion für NXT-Roboter

[63] http://www.legoengineering.com/library/cat_view/30-building-instructions/38-nxt-based-creations.html
Modelle: Ultrasonic Touch Guitar, Clap On
Sound Display, Voting Booth, Tomb Raider, Things That Go Bump, Text Messenger, Snail Car, Smart House, Rotation Sensor Challenge, Square, Music Box, Mountain Rescue, Morse Code, Mini-Golf, Maze Competition, Line Follower, Light at the Beginning of the Tunnel, Going the Distance, Fan-Tastic, Echo Locator, Dancing Robot, Cross-Country Adventure, Crane with Rotation Sensor Joystick, Crane – NXT & RCX, Capture the Wind, Bulldozer, Amusement Park Ride, NXT Building Tips, NXT-A-Sketch, Light Sensor Arm, Constructopedia 2.1 | 15 Minute Building Projects, Constructopedia 2.1 | Front End Setup, Constructopedia 2.1 | Full Car Model, Constructopedia 2.1 | Ways to Attach NXT Motors, Constructopedia 2.1 | Simple Shapes and Structures, NXT Constructopedia – Beta 2.1, 9797 Basic Car Instructions

[64] http://us.mindstorms.lego.com/en-us/community/nxtlog/default.aspx
(Anmerkung: NXTlog, Offizielle Datenbank mit Bauanleitungen)

[65] http://mynxt.matthiaspaulscholz.eu/robots/index.de.html

[66] http://www.norgesgade14.dk/
Modelle: NXT Image Scanner, RFID Rover, Aerial Ropeway, NXT Plotter, YASB Spy Bot

* 6.9: Konkurrenten von Lego

[67] Mega Bloks, http://www.megabloks.com/
(Anmerkung: hervorheben möchte ich den Leopard 2 Panzer. Zitat „Excellent for social development, imaginative role-playing and sharpening of fine motor skills“)

[68] Best-Lock, http://www.best-lock.com/de/indexde.htm

* 6.10: Sonstiges

[69] Pediaphon: Text to speech Sprachsynthese online, http://www.pediaphon.org/~bischoff/radiopedia/index.html
(Anmerkung: Damit kann man sich Weblogs und PDF Dateien vorlesen lassen. Und zwar über die Zwischenablage.)

[70] http://tuxsucht.de/
(Anmerkung: Damit können Linux-Webseiten durchsucht werden).

* 6.12: Wettbewerbe / Fairs

[74] http://de.wikipedia.org/wiki/First_Lego_League

[75] http://www.legoworld.nl/

[76] http://www.bricking-bavaria.de/

[77] http://www.hands-on-technology.de/

[78] http://www.roboking.de/

[79] http://www.fanabriques.fr/expo.php?lang=de

* 6.13: Beispiele

[80] http://dienxteebene.blogspot.com/2010/07/riesiges-lego.html
(Anmerkung: riesiger Panzer)

[81] http://dienxteebene.blogspot.com/2010/09/mit-einem-android-handy-den-nxt-steuern.html
(Anmerkung: Mindstorms mit Android Handy Fernsteuern)

[82] Robot that sets dominoes, http://us.mindstorms.lego.com/en-us/Community/NXTLog/DisplayProject.aspx?id=78073314-4074-414e-9aac-56b62bfcbc6e

* 6.14: Rechtliches

[12] Rechtliche Informationen von LEGO zur Verwendung des Markennamens, http://aboutus.lego.com/de-de/corporate/fairplay.aspx

[13] Nutzerfragen – Persönliche Daten : LEGO : Abmahnung – Kanzlei Wilde Beuger & Solmecke Köln, http://www.youtube.com/watch?v=ktDMaXtXxnE
(Anmerkung: Lego Filme sind wegen Erschöpfungsgrundsatz legal)

[14] Zulässige Markennennung, http://www.xing.com/net/internetundrecht/online-recht-electronic-commerce-414/was-sollte-man-bei-stock-fotografie-beachten-13332068/

* 6.15: NXC Programmierung

[5] Daniele Benedettelli: Programmierung LEGO NXT Roboter mit NXC, deutsche Übersetzung vom 13. Dez 2010, 50 Seiten, http://www.roberta-home.de/sites/default/files/NXC-Tutorial_DE%20v1-8.pdf

[7] Daniele Benedettelli: Programming LEGO NXT Robots using NXC, 7. June 2007, 51 pages, http://bricxcc.sourceforge.net/nbc/nxcdoc/NXC_tutorial.pdf

[6] NXC für Einsteiger, http://www.debacher.de/wiki/NXC

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s