Schon mal vorab, ich beschäftige mich relativ mit dem Lego Mindstorms und entsprechend enthusiastisch bin ich auch.
Da die bisherigen Schreiber eher auf den RCX eingegangen sind, werde ich mich an den neueren Systemen orientieren (übrigens kam der RCX vor dem Mindstorms Droid Developer-Kit). Der NXT ist der Nachfolger des RCX und der EV3 der Nachfolger des NXTs. Dabei gab es aber immer mal wieder kleinere Zwischengenerationen, die ich nicht empfehle.
Oberflächlich mag der Mindstorms eher für Kinder aussehen. Er hat "coole Farben", ein "cooles Design" und eine Bildchensoftware zum Programmieren (die auf LabView basiert). Die Kabel sind nicht mit anderen Systemen kompatibel und die Sensoren usw. sind alle schon vorgefertigt. Tasten, Lautsprecher, Bluetooth Modul, USB Anschlüsse usw. sind schon integriert und können nicht falsch angeschlossen werden.
Allerdings sind NXT und EV3 open-source. Das heißt, dass jeder in die Dokumentation und in die Firmware gucken kann. Es gibt z.B. ein Hardware Developerkit, in dem die Pinbelegung der Sensoren und Motoren steht. NXT und EV3 Kabel haben nämlich 5 Adern, die sowohl analoge Messungen, als auch Kommunikation über I2C und beim EV3 UART zulassen. Ich habe zum Beispiel schon einen Arduino Uno als Anschlusserweiterung an den EV3 und NXT angeschlossen (http://de.tinypic.com/view.php?pic=2...8#.VC3fr_l_vHs und http://de.tinypic.com/view.php?pic=2...8#.VC3fnvl_vHs).
Es gibt zahlreiche Anwendungserweiterungen, die es einem einfach machen, den EV3 und den NXT über das Visual Studio fernzusteuern. Damit kann der Roboter als "Sensor-und Motorschnittstelle" für den Computer agieren. Besonders empfehlen kann ich dabei die MonoBrick Communication Library: http://www.monobrick.dk/.
Wenn man die Programme direkt auf dem EV3 laufen lassen möchte ist das auch kein Problem. Es gibt bereits zahlreiche alternative Firmwares, die von einer MicroSD Karte gebootet werden können und einem erlauben, den EV3 in textbasierenden Programmiersprachen wie Java (LeJOS: http://www.lejos.org/) und C# (MonoBrick Firmware) zu programmieren. Es gibt inzwischen sogar eine Debian Distribution mit dem Namen EV3DEV, die selbstständig auf dem EV3 läuft.
Den NXT kann man auch in Java (LeJOS NXJ), C (NXC) und sogar Lua programmieren. Für LeJOS NXJ muss allerdings eine neue Firmware auf den NXT geladen werden.
Um den EV3 mit dem Internet zu verbinden (oder unter EV3DEV eine Tastatur zu verwenden) hat der EV3 einen USB-Host-Anschluss. Es werden jedoch nicht alle W-Lan Adapter von allen Firmwares unterstützt.
Für den NXT gibt es übrigens auch Metallbaukästen (Tetrix und Matrix). Die sind allerdings noch teurer als der Mindstorms ohnehin schon ist. Für fast alle Projekte sollte allerdings das Plastik ausreichen.
Kritiker des EV3s finden das Prinzip, MicroSD Karten für Firmwares zu verwenden, zu umständlich. Außerdem verlangen sie noch nach einer "einfachen" Art, den EV3 zu programmieren. Für die Programmierung mit C# benötigt man zum Beispiel das "überladene" Visual Studio mit einer Template oder das Xamarin Studio mit einem Plugin.
Um wieder zum Roboternetz zurückzukommen:
Inzwischen gibt es viele Möglichkeiten, NXT und EV3 in einem Roboternetz zu verwenden. Ein interessantes Projekt in die Richtung ist übrigens http://siouxnetontrack.wordpress.com/. Der NXT hat eine Bluetooth und eine USB Schnittstelle (und über langsame Sensoren auch Wifi usw.). Der EV3 hat einen Infrarotsensor, der Befehle von einer Fernbedienung empfangen kann (das Protokoll ist frei verfügbar) und er kann das Signal orten. Außerdem hat er einen USB Slave Anschluss damit man ihn an den Computer anschließen kann, auch Bluetooth (aber inkompatibel mit dem NXT) und wie schon erwähnt kann man über USB Wifi Dongles und USB zu LAN Adapter anschließen. Ganz interessant ist hierbei sicherlich auch der Daisy-Chaining Modus, mit dem man bis zu 4 EV3s über USB miteinander verbinden kann und dadurch vom Master auf die I/O Ports aller anderen EV3s zugreifen kann.
Lesezeichen