PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Lego Mindstorms NXT, fertige Beispiele?


AtTheDriveIn
2008-04-15, 18:38:50
Also folgendes: Meine Hochschule bietet einen Kurs an, in dem man Schulkinder Informatik-Themen anhand von Lego Mindstorms-NXT näher bringen soll.

Ich finde das ist eine verdammt spannende Geschichte und hab mich da gleich mal angemeldet.

Die Tage bekomme ich einen NXT-Kasten nach hause und bin gerade im Netz auf der Suche nach vielleicht schon fertigen Programmpaketen, beispielsweise eine Priority-Queue. Meine Themengedanken drehen sich zur Zeit um den Dijkstra-Algorithmus... :)

Hat jemand da was an der Hand?


btw: Ich weiß das es möglich ist eine Java-VM auf dem Ding laufen zu lassen und so Javaprogramme zu nutzen, das ist aber hier nicht gesucht.

rotalever
2008-04-15, 18:53:54
Schau dir mal die Sprache NXC an (einfach bei Google suchen). Das ist so C ähnlich.

Was willst du da mit Dijkstra anfangen?

Funky Bob
2008-04-15, 19:00:27
Auch ne schöne Sprache für das Lego Mindstorms isIn dem Zusammenhang ist das Microsoft Robotics Studio ganz interessant:
http://en.wikipedia.org/wiki/Robotics_Studio
Ist kostenlos erhältlich.

AtTheDriveIn
2008-04-15, 19:09:44
Ich suche nicht irgendwelche Programmierumgebungen/Sprachen von externen Firmen oder dergleichen, sondern fertige Programme bzw. Funktionen die in der grafischen Programmieroberfläche, die Lego den Mindstorms beilegt, geschrieben/zusammengeklickt worden sind.


Auf Tools/Sprachen von Dritten will ich nur zurückgreifen wenn mit der NXT-Software etwas nicht möglich ist.

muhschrott
2008-04-15, 20:12:09
suchst sowas?
http://mynxt.matthiaspaulscholz.eu/de/index.html

AtTheDriveIn
2008-04-15, 22:04:00
suchst sowas?
http://mynxt.matthiaspaulscholz.eu/de/index.html


Auf der Seite finde ich nur Beispielroboter, darum geht es mir in erster Linie nicht.

rotalever
2008-04-16, 16:23:04
Die Standardumgebung zum Programmieren der Roboter wo man Zusammenklickt ist aber auf lange Sicht Müll...
Aber immernoch die Frage, was soll so ein Roboter mit Dijkstra?

Aen-Die
2008-04-16, 16:33:31
Die Standardumgebung zum Programmieren der Roboter wo man Zusammenklickt ist aber auf lange Sicht Müll...
Aber immernoch die Frage, was soll so ein Roboter mit Dijkstra?

Er soll Kindern Informatik näherführen, glaubste das gelinkt durch verwirrenden c quellcode ;-). Erklär du mal nem 12 jährigen mädchen, was ein Pointer ist :biggrin:

Btw, nettes Projekt. Was ähnliches gabs bei uns auch, jedoch noch mit den alten legokästen. Ich sag dir, die software ist ein graus! Läuft auch nirgends ordentlich ;D

AtTheDriveIn
2008-04-16, 16:49:49
Die Standardumgebung zum Programmieren der Roboter wo man Zusammenklickt ist aber auf lange Sicht Müll...
Aber immernoch die Frage, was soll so ein Roboter mit Dijkstra?

ähh :ugly:
Das sind Schulkinder einer 6ten Klasse an einem Gymnasium. Informatik Newbies³. Es geht auch nicht darum denen höhere Programmierung beizubringen, sondern nur ein Thema aus der Informatik näher zubringen. Das ganze Thema muss dazu noch kindgerecht verpackt werden, also nix mit C und Konsorten.

Dijkstra -> kürzester Pfad in einem Graph. Was ein fahrtüchtiger Roboter damit anfangen kann, sollte eigentlich klar sein.

Er soll Kindern Informatik näherführen, glaubste das gelinkt durch verwirrenden c quellcode ;-). Erklär du mal nem 12 jährigen mädchen, was ein Pointer ist :biggrin:

Btw, nettes Projekt. Was ähnliches gabs bei uns auch, jedoch noch mit den alten legokästen. Ich sag dir, die software ist ein graus! Läuft auch nirgends ordentlich ;D
hab sowas schon von Komilitonen gehört die das im letzten Jahr gemacht haben...
Ich hoffe ich krieg den Kasten die Tage, dann kann ich es selbst beurteilen. :)

rotalever
2008-04-16, 17:28:28
ähh :ugly:
Das sind Schulkinder einer 6ten Klasse an einem Gymnasium. Informatik Newbies³. Es geht auch nicht darum denen höhere Programmierung beizubringen, sondern nur ein Thema aus der Informatik näher zubringen. Das ganze Thema muss dazu noch kindgerecht verpackt werden, also nix mit C und Konsorten.

Dijkstra -> kürzester Pfad in einem Graph. Was ein fahrtüchtiger Roboter damit anfangen kann, sollte eigentlich klar sein.

Zum Programmieren: Spätestens etwas kompliziertere Programme sind in diesen ganzen Klick-Umgebungen immer extrem unübersichtlich und in einer "normalen" Sprache nur paar Zeilen. Insbesondere wenn man sich Sachen merken muss (Stichwort variablen). So kompliziert ist das auch gar nicht, da muss man nicht Pointer oder sowas machen. Da gibt es eine Handvoll Befehle um z.B. Motoren zu starten oder Sensor-Werte abzufragen. Dann braucht man halt noch if-else, und while und ein bisschen Variablen und das wars. Aber ich sehe schon, lieber Klicki-Bunti und sich dann ärgern ;)

Mir ist bewusst was Dijkstra ist.. Was der Roboter damit soll ist mir nicht klar..

Zudem: Du sagst, dass diese Menschen nicht Fähig sind eine vernünftige Programmiersprache zu lernen und dann sollen sie Dijkstra implementieren?:|


edit: Was sich eher anbietet ist so etwas wie Tiefensuche => Labyrinth.

AtTheDriveIn
2008-04-16, 17:45:28
Zum Programmieren: Spätestens etwas kompliziertere Programme sind in diesen ganzen Klick-Umgebungen immer extrem unübersichtlich und in einer "normalen" Sprache nur paar Zeilen. Insbesondere wenn man sich Sachen merken muss (Stichwort variablen). So kompliziert ist das auch gar nicht, da muss man nicht Pointer oder sowas machen. Da gibt es eine Handvoll Befehle um z.B. Motoren zu starten oder Sensor-Werte abzufragen. Dann braucht man halt noch if-else, und while und ein bisschen Variablen und das wars. Aber ich sehe schon, lieber Klicki-Bunti und sich dann ärgern ;)

Mir ist bewusst was Dijkstra ist.. Was der Roboter damit soll ist mir nicht klar..

Zudem: Du sagst, dass diese Menschen nicht Fähig sind eine vernünftige Programmiersprache zu lernen und dann sollen sie Dijkstra implementieren?:|

Die "Klicki-Bunti Oberfläche" wird genutzt, das ist so vorgegeben von der Schule.

Ich glaube du verkennst auch die Situation. Die sollen kein if-then-else oder Variablentypen können, du musst sowas für Kinder(die kennen ja nichtmal Variablen in der Mathematik) nun mal abstrahieren, sonst wird das gar nix und 90% verliert das Interesse nach wenigen Minuten.
Es gilt aber die Schüler bei der Stange zu halten und für Informatik zu begeistern, daher redet man bei Variablen in der Legosprache auch von "Koffern", denn das man in einem Koffer etwas "reinlegen" kann weiß jedes Kind. Die Mindstorms-macher haben sich bei der Sache schon was gedacht.
Wenn ich einige Übereifrigen dann am Ende verrate, das man eigentlich nicht Koffer dazu sagt sondern... dann reicht das völlig.


Zu Dijkstra: Es reicht wenn ich den Dijkstra implementiere und den Kinder zur Verfügung stelle, als quasi "Zauberkasten" der nur den nächsten Knoten/Kante ausspuckt zu dem es gehen soll. Dann müssen die Kinder nur noch sicherstellen das der Roboter mit seinen Sensoren die richtige Kante erkennt und ihr folgt bis der neue Knoten auftaucht.

Das ganze ist noch in der Planungsphase, vielleicht mache ich auch was ganz anderes, vielleicht Pledge-Algorithmus, mal schaun. Das entscheide ich/meine Kollegen wenn wir den NXT Kasten haben und etwas Erfahrungen gesammelt haben.

Was ich jetzt suche sind fertige Funktionen in der Grafischen-Programmiersprache. Eine funktionierende Vorrangwarteschlange würde mir bei Dijkstra nämlich schon sehr helfen und ich müsste nicht alles von vorne machen. Ob es dann am Ende klappt sei erstmal dahingestellt.

Coda
2008-04-16, 18:45:01
Kann man für die grafische Programmiersprache keine Module in der nicht-grafischen machen? Ich kenne Mindstorms nicht.

AtTheDriveIn
2008-04-16, 19:03:17
Kann man für die grafische Programmiersprache keine Module in der nicht-grafischen machen? Ich kenne Mindstorms nicht.

An so was habe ich auch schon gedacht, das wäre natürlich eine extrem schicke Sache...

LordZed
2008-04-18, 11:26:59
Wir haben in der Berufsschule selber mit dem NXT gearbeitet. In der beim NXT mitgelieferten Oberfläche und Bauanleitung sind genug Beispiele dabei um Kindern die Informatik näher zu bringen.
Da sind auch viele Beispiele enthalten bis hin zu einem Roboter mit "Schlagarm" der einen Ball anhand seiner Farbe unterscheidet (bzw. der Farbhelligkeit) und nur den dunkleren von beiden wegkickt.
Wirst du sehen wenn du den Kasten hast. Da sind echt schon in der Programierumgebung von Lego viele Beispiele mit drin!

Aen-Die
2008-04-18, 11:55:17
du kannst auch für simple aufgaben ruhig ne halbe std ansetzen. Gerade am anfang! und ne einführung müßt ihr ja auch noch machen. Von daher geht die Zeit schnell vorbei.

rotalever
2008-04-18, 12:35:48
Kann man für die grafische Programmiersprache keine Module in der nicht-grafischen machen? Ich kenne Mindstorms nicht.
Also beim alten geht das wahrscheinlich noch. Da sind die abgespeicherten Dateien einfach Text-Dateien mit einer Firmeneigenen Sprache. Den Syntax kann man sicher irgendwie verstehen.
Bei den neuen (NXT) handelt es sich aber um Binärdateien, glaube kaum, dass man da so einfach was rausholen kann.