LEGO Mindstorms NXT Programmiersprachen im Überblick
Transcription
LEGO Mindstorms NXT Programmiersprachen im Überblick
Lernen mit Robotern LEGO Mindstorms NXT Programmiersprachen im Überblick LEGO Mindstorms NXT Programmiersprachen im Überblick Impressum Ausgabe September 2010 Copyright © 2004-2009 by Fraunhofer-Institut Intelligente Analyse- und Informationssysteme (IAIS) Autoren Thorsten Leimbach, Sebastian Trella Projektgruppe Ansgar Bredenfeld, Thorsten Leimbach (Leitung), Sebastian Trella, Beate Jost Adresse Initiative Roberta Fraunhofer-Institut Intelligente Analyse- und Informationssysteme Schloss Birlinghoven, 53754 Sankt Augustin Internet: www.roberta-home.de www.roberta-home.eu E-Mail: [email protected] Warenzeichen LEGO® und Mindstorms™ sind eingetragene Warenzeichen der Firma The LEGO Group. Microsoft®, Windows® und Internet Explorer® sind eingetragene Warenzeichen der Firma Microsoft Corporation. fischertechnik® ist ein eingetragenes Warenzeichen der Firma fischertechnik GmbH. Java™ ist eingetragenes Warenzeichen der Firma SUN Microsystems Inc. LabVIEW ist ein Produkt der Firma National Instruments. Roberta® ist eingetragenes Warenzeichen der Fraunhofer-Gesellschaft. Förderung Das Projekt Roberta – Mädchen erobern Roboter wurde von 2002 – 2007 gefördert vom Bundesministerium für Bildung und Forschung. Das Projekt Roberta – Goes EU wurde von 2005 – 2008 von der EU gefördert. Die Roberta-Reihe Die Roberta-Reihe Roberta Die »Roberta Reihe« dokumentiert das Roberta-Konzept. Beides wurde vom Fraunhofer IAIS (ehemals AIS) zusammen mit PartnerInnen entwickelt und vom Bundesministerium für Bildung und Forschung gefördert. Zum Roberta-Konzept gehören: • Ein Konzept für Roboterkurse, die gleichermaßen für Mädchen und Jungen interessant sind. Roberta-Kurse werden von geschulten Roberta-Teacher durchgeführt. Die Schulung von Lehrkräften (und anderen), die Roberta-geben dürfen, ist integraler Bestandteil des Roberta-Konzeptes.. • Lehr- und Lernmaterialien, die in der Roberta-Reihe zusammengefasst sind, mit deren Hilfe geschulte Roberta-Teacher Roberta-Kurse durchführen können. Die Materialien enthalten insbesondere didaktische Hinweise zur gendergerechten Gestaltung von Roboter-Kursen. • Ein Netzwerk regionaler Roberta-Zentren, das den RobertaKursleiterInnen einerseits im RobertaRegioZentrum »vor Ort« Unterstützung bietet, zum Beispiel durch den Verleih von Roboterbaukästen, und andererseits den – auch überregionalen – Erfahrungsaustausch ermöglicht. Die grundlegenden Entwicklungsarbeiten wurden im Projekt »Roberta – Mädchen erobern Roboter« durchgeführt. Da die Erfahrungen gezeigt haben, dass sich auch Jungen in gendergerechtem Unterricht positiv wieder finden, hat Fraunhofer IAIS beschlossen, »Roberta – Mädchen erobern Roboter« unter dem Titel »Roberta – Lernen mit Robotern« weiterzuentwickeln. Fortsetzung nächste Seite LEGO Mindstorms NXT Programmiersprachen im Überblick Die Roberta-Reihe, Fortsetzung Roberta Reihe Wegen neuerer Entwicklungen auf dem (Roboter-) Baukastenmarkt wurde Band 1 der Roberta-Reihe aufgeteilt in einen Grundlagenteil und mehrere baukastenbezogene Teile. Viele Details, Beispiele, Experimente und die ausführlichen Bauanleitungen wurden auf CDROM ausgelagert. Zusätzlich zu Band 1 - Grundlagen gibt es Band 1 - RCX für Lego Mindstorms RCX und Band 1 - NXT für Lego Mindstorms NXT. 1: Roberta – Grundlagen Dieser Band enthält Grundlagen zur Planung und Durchführung von Roberta-Kursen. Dazu gehören insbesondere didaktische Hinweise zur gendergerechten Kurs-Gestaltung. Das Buch führt in die Robotik ein, stellt unterschiedliche Baukästen vor und zeigt Möglichkeiten der Programmierung für die Steuerung der Roboter auf. 1 RCX: Roberta – Grundlagen und Experimente für Lego Mindstorms RCX (mit CD-ROM) Dieser Band bietet eine Fülle von Experimenten, detaillierte Bauanleitungen, Tipps und Tricks zur Vermeidung bzw. Lösung technischer Probleme mit den Roboter-Baukästen (LEGO Mindstorms Robotics Invention System). Zu allen Experimenten finden sich auf der CD-ROM Programmierbeispiele in RIS und NQC (NotQuiteC) 1 NXT: Roberta – Grundlagen und Experimente für Lego Mindstorms NXT (mit CD-ROM) Dieser Band bietet eine Fülle von Experimenten, detaillierte Bauanleitungen, Tipps und Tricks zur Vermeidung bzw. Lösung technischer Probleme mit den Roboter-Baukästen (LEGO Mindstorms NXT). Zu allen Experimenten finden sich auf der CD-ROM Programmierbeispiele in der Education Software und NXC (Not eXactly C) Fortsetzung nächste Seite Die Roberta-Reihe Die Roberta-Reihe, Fortsetzung Roberta Reihe 2: Roberta – Der Simulator RobertaSim (mit CD-ROM) Die Software simuliert LEGO Mindstorms Roboter (der Serie Robotics Invention System 2.0). Sie ermöglicht einen virtuellen Roboter in den gewohnten Programmiersprachen (RIS/RCX Code und NQC) zu programmieren. Das zu erwartende Verhalten des realen Roboters kann auf dem Bildschirm in Echtzeit verfolgt werden, wobei die Bedienung des virtuellen Roboters der des realen nachempfunden ist. In Vorbereitung ist die Erweiterung für Mindstorms NXT. Nur noch online für zertifizierte Roberta-Teacher erhältlich! 3 RCX: Roberta – Programmieren mit Java und C Band 3 RCX ergänzt die in Band 1 - RCX vorgestellten Programmiermöglichkeiten (mit RIS und NQC) um Java und C. Dabei werden insbesondere die Installation der entsprechenden Programmierumgebung erklärt, der Umgang mit ihr erläutert sowie Besonderheiten beschrieben. 3 NXT: Roberta – Programmieren mit Java Band 3 - NXT ergänzt die in Band 1 - NXT vorgestellten Programmiermöglichkeiten (mit NXT-G und NXC) um Java. Dabei werden neben den Grundlagen der objektorientierten Programmierung insbesondere auch auf die Umsetzung von Java auf das LEGO Mindstorms NXT System mit leJOS behandelt. Die Beschreibung reicht von der Installation von leJOS bis zur Umsetzung größerer Experimente unter leJOS. Fortsetzung nächste Seite LEGO Mindstorms NXT Programmiersprachen im Überblick Die Roberta-Reihe, Fortsetzung Roberta Reihe 5: Roberta – Anleitung zur Schulung von Roberta-Coaches (mit CD-ROM) Dieser Band richtet sich speziell an Roberta-Coaches und unterstützt sie bei der Vorbereitung von Schulungen für Lehrkräfte, Erzieherinnen und andere, die Roberta-Kurse durchführen wollen. Ziel und Inhalt einer Schulung für RobertaTeacher werden erklärt, Grundsätze von Roberta-Kursen erläutert und der Zertifizierungsprozess für regionale RobertaZentren, Roberta-Coaches und Roberta-KursleiterInnen beschrieben. Dieser Band ist nicht öffentlich erhältlich. 6: »Roberta im Rettungsdienst« Dieser Band gibt Tipps, Hinweise und Anregungen für die Konstruktion und die Programmierung von Robotern, die beim RoboCupJunior Wettbewerb in der Disziplin RoboRescue eingesetzt werden können. Die Aufbaubeschreibung einer Rescue-Arena ist ebenso enthalten wie die Regeln des RoboRescue-Wettbewerbes. Mit Hilfe der in dem Band genannten Adressen kann jederzeit auf den aktuellen Stand der Regeln und die Bedingungen für eine Anmeldung zum Wettbewerb zugegriffen werden. 7: »Roberta – you can dance!« Dieser Band vermittelt eine strukturierte Vorbereitung für Schülerinnen und Schüler, die in der Disziplin RoboDance eines RoboCupJunior Wettbewerbes teilnehmen möchten. Er beinhaltet auch vorbereitende Aufgaben sowie Erfahrungsberichte von Roberta-Dance Teams. Das Projekt Roberta Das Projekt Roberta Das Projekt Roberta Das Projekt wurde entwickelt zur Steigerung des Anteils von Frauen in technischen Fächern und Berufen und zum Abbau des Mangels an technischen Fachkräften. Damit diese Ziele erreicht werden können, muss das Interesse von Mädchen für Informatik und Technik frühzeitig geweckt und ihr Verständnis für technische Systeme gefördert werden. Roberta gehört zum Bereich „Ausbildungsrobotik“ des Fraunhofer IAIS, in dem mobile Roboter und Roboterbaukästen für die Ausund Weiterbildung sowie zielgruppenspezifische Lehr- und Lernmaterialien entwickelt werden. Das Projekt wurde vom Bundesministerium für Bildung und Forschung von November 2002 bis Februar 2007 gefördert. Während in den ersten drei Jahren das Roberta-Konzept im Mittelpunkt stand, konzentrierten sich die Arbeiten im Jahr 2006 auf eine besondere Aktivität zur Stärkung des Mädchenanteils bei RobotikWettbewerben. Seit 2007 wurde Roberta thematisch erweitert, an neue Baukästen angepasst und über eine wachsende Anzahl von RobertaRegioZentren auch europaweit verbreitet. Zunächst wurden Lehr-Materialien für kurze „Schnupperkurse“ erarbeitet und Schulungen für Roberta-Teacher durchgeführt. Anschließend wurden schrittweise umfangreichere Kurse entwickelt, das Material sukzessive ergänzt und zur Verfügung gestellt. Die durchgeführten Kurse wurden von einer unabhängigen Begleitforschung evaluiert. Die Evaluierungsergebnisse flossen in die Weiterentwicklung der Materialien ein. Parallel dazu wurde aufgrund einer entsprechenden Nachfrage das Netzwerk, das zu Beginn aus vier RobertaRegioZentren bestand, ausgebaut (zurzeit 22 in Deutschland, Stand September 2010). Hinweis Roberta® ist ein eingetragenes Markenzeichen. Der Roberta Schriftzug und das Roberta Logo dürfen nicht ohne Zustimmung des Fraunhofer IAIS verwendet werden. Institutionen, die ein RobertaRegioZentrum gründen möchten, sowie Lehrkräfte und ErzieherInnen, die Roberta-Kurse durchführen möchten, dürfen den Namen verwenden, sofern sie vom Fraunhofer IAIS dazu autorisiert sind und eine entsprechende Lizenz erworben haben. LEGO Mindstorms NXT Programmiersprachen im Überblick Überblick – Programmiersprachen für Lego Mindstorms NXT Name Sprache Preis NXT-G 2.0 LabVIEW Education Edition Robolab 2.9 NXC leJOS RobotC GNAT GPL for NXT1 PBLua Graphisch Graphisch Graphisch C‐ähnlich Java‐Derivat C‐ähnlich Basic Lua Windows Windows, Mac OS, Linux Windows, Mac OS, Linux Siehe nächste Seite Betriebssystem Firmware Windows, MAC OS NXT‐Firmware Geeignte für Programmierumgebung Sprachumfang NXT‐Firmware X Schleifen „Switch‐Case Anweisung“ √ √ √ Trigonometrische Funktionen X Fließkomma Arithmetik X Bluetooth Verbindung Verbindung mit anderen Geräten Nein Verbindung von NXT zu NXT Ja Protokolle BT NXT‐Filesystem Zugriff Ja, eingeschränkt Integriertes Data Logging Ja RCX‐kompatibel 1 Windows, Mac OS NXT‐ Firmware Einsteiger Fortgeschrittene Einsteiger LEGO Mind‐ storms Eudcation / Retail NXT LabVIEW Robolab Felder (Array) „If‐Anweisung“ Windows, Mac OS Nein Angaben basierend auf Ada 2005 & SPARK √ √ √ √ √ √ X √ √ √ √ Ja Ja BT + I2C Ja Ja X Nein Nein ‐ Ja Ja Nein Ja Windows, Mac Windows, Mac OS, Linux, BSD OS, Linux NXT‐Firmware Java JVM NXT‐Firmware Geübte Geübte Einsteiger Fortgeschrittene Einsteiger u.a. Netbeans, Eclipse, u.a. Bricx Com‐ Javaeditor RobotC mand Center √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ Ja Ja BT + I2C Ja Ja, rudimentär Vorgänger: NBC Ja Ja BT + I2C + USB Ja Ja, rudimentär Ja, ältere Versionen Ja Ja BT + I2C Ja Ja Ja, ältere Versionen nxtOSEK NXT‐lua Fortgeschrittene Fortgeschrittene u.a. Netbeans, Eclipse √ √ √ √ √ √ Eclipse √ √ √ X √ √ Ja Ja Ja Ja BT BT + I2C Ja Ja Nein, nur manuell Nein, nur manuell Nein Nein Weiterführende Informationen NXT-G LEGO Mindstorms 8547 - 2. Generation LEGO Mindstorms 9797 (Schulversion) Preis Sofware inklusive Einzelplatzlizenz: Spielzeugladen Schullizenz: 75,80€356,88€- www.shop.lego-in-der-schule.de http://www.vs-moebel.de/56.0.html?&L=0&FL=10 Hersteller LEGO Education Community http://mindstorms.lego.com/ Tutorials http://www.debacher.de/wiki/NXT-G Literatur • The Lego Mindstorms NXT 2.0 Discovery Book, Laurens Valk, No Starch Press, 2010 • Roberta Grundlagen und Experimente: Mit CD-ROM. Roberta-Reihe Band 1 – NXT, Fraunhofer IRB Verlag, 2008 • Programmierung mit LEGO Mindstorms NXT, Kasten Bernds, Springer Verlag, 2010 LabVIEW LabVIEW Education Edition Preis Einzeplatz: 99€, 25 Plätze: 1450€ Hersteller National Instruments Community http://forums.ni.com/t5/LabVIEW/bd-p/170 Tutorial http://zone.ni.com/devzone/cda/tut/p/id/10243 Literatur Programmierung von LEGO MINDSTORMS NXT mit NI LabVIEW, Martin Engels, Hanser Fachbuch, 2010 Robolab 2.9 Tuffts University Preis Einzelplatz: 98€ Community http://www.ceeo.tufts.edu/robolabatceeo/ Literatur ROBOLAB Lehrerhandbuch Teil 1 +2, Mindstorms for Schools, Lego# 40305.230.007 Tutorial http://www.cipce.rpi.edu/programs/robotics/robolab/lesson2/lesso n2.html Fortsetzung nächste Seite Weiterführende Informationen Weiterführende Informationen, Fortsetzung NXC In der Entwicklungsumgebung bricxcc enthalten. Preis kostenlos Hersteller Open Source Community / Johen Hansen http://bricxcc.sourceforge.net/ Community http://sourceforge.net/tracker/?group_id=68600 Tutorial DE http://www.roberta-home.de/de/was-bietet-roberta/robertareihe/nxc-tutorial DE http://lukas.internet-freaks.net/robotic/nxttutorial.html EN http://bricxcc.sourceforge.net/nbc/nxcdoc/NXC_tutorial.pdf Literatur • Roboter programmieren mit NXC für LEGO MINDSTORMS NXT, Daniel Braun, Mitp-Verlag, 2010 • Roberta Grundlagen und Experimente: Mit CD-ROM. Roberta-Reihe Band 1 – NXT, Fraunhofer IRB Verlag, 2008 leJOS Preis kostenlos Hersteller http://lejos.sourceforge.net/ Community http://lejos.sourceforge.net/forum/ Tutorial http://lejos.sourceforge.net/nxt/nxj/tutorial/index.htm Installation Eclipse http://www.roberta-home.de/de/was-bietet-roberta/robertareihe/installationsanleitung-lejos-unter-eclipse Netbeans http://lejos.sourceforge.net/nxt/nxj/tutorial/Preliminaries/UsingNet beans.htm JavaEditor http://javaeditor.org/wiki/index.php/Configuration/de Literatur • Roberta - Programmieren mit Java: mit CD-ROM. RobertaReihe Band 3 – NXT, Fraunhofer IRB Verlag, 2009 • Programmierung mit LEGO Mindstorms NXT, Kasten Bernds, Springer Verlag, 2010 Fortsetzung nächste Seite LEGO Mindstorms NXT Programmiersprachen im Überblick Weiterführende Informationen, Fortsetzung GNAT GPL for NXT (ADA) Preis kostenlos Hersteller http://libre.adacore.com/libre/tools/mindstorms/ Tutorial http://www.slideshare.net/AdaCore/gnat-gpl-formindstorms?type=powerpoint Robot C In Deutschland zu beziehen bei Technik-LPE www.shop.lego-in-der-schule.de Preis: Einzelplatz: 75€, Download: 25€ Schullizenz: 330€ Hersteller Carnegie Mellon Robotics Academy Community http://www.robotc.net/ Tutorial http://www.robotc.net/teachingmindstorms/index.html Literatur http://carrot.whitman.edu/Past/Spring-2009-204/ PBlua Preis kostenlos Hersteller http://www.hempeldesigngroup.com/lego/pblua/ Community http://www.lua.org/ Tutorial http://mynxt.matthiaspaulscholz.eu/tools/Installing_pbLua.pdf Hinweis NXT Toolbox for MatLAB Toolkit der RWTH Aachen Preis kostenlos Hersteller http://www.mindstorms.rwth-aachen.de/ Tutorial http://www.mindstorms.rwth-aachen.de/trac/wiki/Documentation Weitere Programmiermöglichkeiten Weitere Programmiermöglichkeiten BrickOS (ehemals LegOS) – Programmierung in C bzw. C++ http://brickos.sourceforge.net/ DialogOS – Steuerung des Roboters per Sprache http://www.clt-st.de/produkte-losungen/dialogos/ Interactive C – Ursprünglich entwickelt für den MIT LEGO Robot Design Contest http://www.botball.org/ic http://www.newtonlabs.com/ic/ LegoKara http://www.swisseduc.ch/informatik/karatojava/legokara/ Microsoft Robotics Studio http://msdn.microsoft.com/de-de/library/bb483065.aspx MindSqualls – dient zur Erstellung von C#-Programmen, zur Fernsteuerung des NXT über eine Bluetooth-Verbindung http://www.mindsqualls.net nxtOSEK http://lejos-osek.sourceforge.net/whatislejososek.htm ROS http://www.ros.org/wiki/nxt LEGO Mindstorms NXT Programmiersprachen im Überblick Quellen http://www.teamhassenplug.org/NXT/NXTSoftware.html http://wiki.mindstormsforum.de/doku.php?id=robolab http://www.ceeo.tufts.edu/robolabatceeo/ http://www.botmag.com/articles/10-31-07_NXT.shtml http://www.robotc.net/forums/ https://www.ni.com/academic/education_edition/ http://en.wikipedia.org/wiki/Lego_Mindstorms#Programming_lang uages_2 http://www.hempeldesigngroup.com/lego/pblua/ http://www.mindstorms.rwth-aachen.de/ http://lejos.sourceforge.net/ http://en.wikipedia.org/wiki/Lego_Mindstorms