Lego NXT
-
Hallo
Ich interessiere mich in letzter Zeit sehr für Roboter.
Deswegen wollte ich mir den Lego Mindstorm NXT 2.0 kaufen.
Da er aber teuer ist wollte ich zuerst nachfragen ob sich dies wirklich lohnt.
Ist es besser wenn ich die Roboter alleine herstelle ? (keine Ahnung wie, aber ich kanns noch lernen)
Wo sind den die Grenzen von Lego ?
Kann man eine eigene KI einbauen ?Gruss
(Sorry falls ich im falschem Forum schreibe)
-
Hi,
KI ist seit Jahren nicht mehr ein Forschungs-punkt. Es wurde quasi "aufgegeben". Ein Freund von mir hatte den NXT, er meinte der war verdammt geil; schau aber nochmal auf Ebay & co., bevor du dir überhastet irgendein Teil für 300€ kaufst.
Was das Programmieren angeht, wird der AFAIK in einem von Legotm erstellten Skript programmiert (besser gesagt schätze ich das
).
MfG
-
Da er aber teuer ist wollte ich zuerst nachfragen ob sich dies wirklich lohnt.
Rein wirtschaftlich und finanziell wird sich so etwas natürlich nie lohnen, du zahlst hier eben für die Einfachheit, die Aufmachung, die gute Zugänglichkeit, die Marke Lego, schnelle Erfolge und für die Vereinfachung der Programmierung über spezielle BASIC artige Programmiersprachen, möglicherweise auch noch durch grafische Hilfsmittel, in dem man das Programm in einer extra entwickelten IDE einfach wie in einem Baukasten durch Symbole zusammenklickt (nichtsdesto trotz kannst du aber auch richtige Programmiersprachen einsetzen, aber das war ja nicht das Thema, sondern die Frage war, wofür du bezahlst).
Objektiv betrachtet brauchst du neben der eigentlichen Hardware (Fahrzeug, Roboterarm etc.) für einen Roboter schließlich nur einen Mikrocontroller mit dem du diverse Sensoren ausliest und Schrittmotoren usw. ansteuerst.
All das ist auch deutlich günstiger zu haben.
Z.b. käme hier als fix und fertig Lösung auch der Asuro des DLR in Frage, der kostet nur 50 €.
http://de.wikipedia.org/wiki/ASUROEinen Roboter selber herzustellen ist theoretisch auch möglich.
Die Frage ist nur, was willst du wirklich alles selber machen?
Wenn du auch noch den Schaltplan selbst entwickeln willst, wo du dann den Mikrocontroller und viele weitere IC Bauteile drauflötest, dann wird das schon ne halbe Diplomarbeit. Sprich, das kannst du ohne Ahnung eigentlich vergessen, zumal du dann auch keine Funktionsgarantie hast, daß deine selbstentwickelte Schaltung dann auch wirklich funktioniert.Wesentlich einfacher als ne Schaltung selbst zu entwickeln ist es aber, wenn du eine fertige Mikrocontrollerexperimentierplatine verwendest, z.B. den Arduino und an diesen dann einfach die Mechanik, Sensoren, Motoren usw. selbst anschließt.
Handwerkliches Geschick zum Zusammenbau der Mechanik (die Modellbauabteilung sollte hier mit Einzelteilen wie Zahnräder, Schrittmotoren usw. auch helfen können) und Grundlagen in der Elektronikentwicklung wirst du dann aber immer noch brauchen, so dass auch dies ein eher schwieriger Weg ist, bevor du überhaupt mal zum Programmieren kommst, aber dieser Weg hat im Gegensatz zur selbst entwickelten Platine wenigstens den Hauch einer Chance realisiert zu werden und flexibler bist du auch.
Es kommt halt auf dich selbst und deine Kenntnisse an und was du dir zutraust.Du hast also folgende drei Möglichkeiten:
1. Kauf einer Fix & Fertig Lösung. Lego Mindstorm (teuer) oder Asuro (günstig).
2. Bau eines eigenen Roboters auf der Basis von fertigen µC-Experimentierplatinen und Modellbauteilen für die Mechanik (Lego dürfest du dafür auch verwenden können)
3. Kompletter Selbstbau von allem. Hier ist zu beachten, daß du dich dann auch um die Schnittstellen kümmern müßtest. Wenn du den Robotoer z.B. über USB programmieren willst, dann wäre auch da Arbeit notwendig. IMO ist das als Anfänger nicht zu realisieren.
Lösung 2 ist beim gegebenen Arbeitsaufwand sicher am flexibelsten, zumal du auch die modernsten und leistungsfähigsten Mikrocontroller einsetzen könntest, während du beim LEGO System halt dich mit dem µC zufrieden geben mußt, der im NXT 2 verbaut ist.
Manchmal ist es aber auch sinnvoller sich einfach erstmal nur mit Mikrocontrollern allgemein zu beschäftigen, wozu es obige Mikrocontrollerexperimentierplatinen gibt.
Roboter kannst du dann immer noch später bauen, wenn du dich mit µC einigermaßen auskennst.
Ich persönlich würde diesen Weg wählen.
Meine zweite Wahl wäre, wenn es unbedingt ein Roboter sein muss, dann würde ich den Asuro vom DLR nehmen, der reicht zum lernen völlig aus und ist deutlich günstiger zu haben.Hier gibt's übrigens einen Überblick über aller fix und fertig Roboterlösungen:
http://www.roberta-home.de/sites/default/files/Vergleich Roboter-Systeme v-1.1.pdf
-
Hacker schrieb:
KI ist seit Jahren nicht mehr ein Forschungs-punkt. Es wurde quasi "aufgegeben".
Klar, wenn du KI als "80er-Jahre-Mainstream-Medien-KI" definierst, bestimmt.
Wenn du hingegen Machine Learning und verwandte Themen dazuzählst (wie jeder, der sich mit dem Thema etwas seriöser befasst), dann explodiert das in den letzten Jahren gerade wieder ziemlich.
-
nman schrieb:
explodiert das in den letzten Jahren gerade wieder ziemlich.
Findest du? Soweit ich gelesen habe, ist es in der "Branche" in den Letzten Jahren recht ruhig, da die Menschen die Hoffnung auf einen Roboter, der menschliches Verhalten aufweist, aufgegeben haben (oder so ähnlich).
-
Hacker schrieb:
Findest du? Soweit ich gelesen habe, ist es in der "Branche" in den Letzten Jahren recht ruhig, da die Menschen die Hoffnung auf einen Roboter, der menschliches Verhalten aufweist, aufgegeben haben (oder so ähnlich).
Das ist ja auch eine lustige Definition von KI. Lies lieber mal ein paar Wikipedia-Artikel oä. zum Thema, die sollten auch für Anfänger verständlich sein und ein paar Missverständnisse ausräumen.
Und wenn du dann Fragen hast, stellst du sie in einem frischen Thread, dann braucht der OP hier sich nicht mit Offtopic-Unterhaltungen herumschlagen.
-
@rambatz
vielen Dank für die ausführliche Antwort.Hacker schrieb:
Findest du? Soweit ich gelesen habe, ist es in der "Branche" in den Letzten Jahren recht ruhig, da die Menschen die Hoffnung auf einen Roboter, der menschliches Verhalten aufweist, aufgegeben haben (oder so ähnlich).
Soll das heißen dass Commander Data oder ein Terminator wird nie entwickelt werden ?
Einen Roboter entwickeln der sich durch Künstliche Intelligenz selbst verbessern kann wird für mich wohl leider nicht möglich sein.
Ehrlich gesagt würde es mir ein wenig Angst machen.
Ich werde zuerst ein wenig mit ASURO üben und dann selber versuchen einen Roboter zu entwickeln der mir den Rücken kratzen kann...Danke nochmals für die Antworten !
-
Hacker schrieb:
Was das Programmieren angeht, wird der AFAIK in einem von Legotm erstellten Skript programmiert (besser gesagt schätze ich das
).
Nicht unbedingt, gibt auch alternative Programmiersprachen, wie du das bereits aus der Wikipedia erfahren kannst:
http://de.wikipedia.org/wiki/NXT#Alternative_ProgrammiersprachenIch hatte mein Projekt damals mit NXC programmiert. Das ist ein C Dialekt und war damals ziemlich buggy, ist nun aber schon ein paar Jahre her. Die haben sich hoffentlich seither verbessert.
Der NXT ist ziemlich genial für "einfache" Sachen. Mit Lego Technik dazu gemischt, kann man bereits sehr viel erreichen. Wir hatten damals verschiedene Projekte gehabt und verfolgt, war ziemlich witzig. Auf YouTube findet man ebenfalls verschiedene Projekte, welche auf dem NXT oder seinem Vorfahren aufbauen. Ein bekannter Vertreter dürfte die Autofabrik sein:
http://www.youtube.com/watch?v=GQ3AcPEPbH0Grüssli
-
nman schrieb:
Hacker schrieb:
Findest du? Soweit ich gelesen habe, ist es in der "Branche" in den Letzten Jahren recht ruhig, da die Menschen die Hoffnung auf einen Roboter, der menschliches Verhalten aufweist, aufgegeben haben (oder so ähnlich).
Das ist ja auch eine lustige Definition von KI. Lies lieber mal ein paar Wikipedia-Artikel oä. zum Thema, die sollten auch für Anfänger verständlich sein und ein paar Missverständnisse ausräumen.
Soo ein Anfänger bin ich auch nicht, ich weiß zumindest das KI definitiv viele andere Sachen umfasst (wie das eigene Erledigen von Aufgaben, Schach spielen, usw.)- ich meinte nur, da der NXT wie ein Mensch aussieht, versucht unser TE ihn zum kleinen Bruder zu erziehen
-
Hacker schrieb:
Soo ein Anfänger bin ich auch nicht
Doch und zwar in jeder Hinsicht.
-
Dravere schrieb:
Der NXT ist ziemlich genial für "einfache" Sachen. Mit Lego Technik dazu gemischt, kann man bereits sehr viel erreichen. Wir hatten damals verschiedene Projekte gehabt und verfolgt, war ziemlich witzig. Auf YouTube findet man ebenfalls verschiedene Projekte, welche auf dem NXT oder seinem Vorfahren aufbauen. Ein bekannter Vertreter dürfte die Autofabrik sein:
http://www.youtube.com/watch?v=GQ3AcPEPbH0Der Trick besteht darin, Legotechnik einfach mit richtigen Elektronikbauteilen und einem µC zu kombinieren, das kommt deutlich günstiger.
Und von den ganzen Lego+Elektronikbausteinkombinationen dürfte man, wegen der mechanischen Anbringung lediglich den Schrittmotor in so einer Kombination benötigen.
Kleinkram, wie Photosensoren, LEDs usw. kann man auch einfach selber an Legobausteine ankleben oder auf andere Weise befestigen.
Möglichkeiten gibt's da ja genug, von nem Gummi, Klebeband, Schnur bis zu Ausnutzung der Löcher in Legotechnikbausteinen gibt's da viele Möglichkeiten.Man kann also sehr viel Geld sparen, wenn man alles, was den NXT ausmacht auf simpelste Legotechnik Bausteine reduziert und dann für den elektronischen Rest richtige Hardware verwendet.
Beispiel als Vergleich:
Eine Fotodiode kostet im Elektronikladen ca. 80 Cent
die gleiche Sensorfähigkeit in einem LegoMindstorm Sensorbaustein verbaut
kostet als so ein LegoMindstorm Baustein sicher mehr als 5 €.Da kann man also sehen, wieviel man sparen kann, wenn man eigene Elektronik verbaut.
Von wirklichem Wert sind somit lediglich die normalen mechanischen Legotechnik Bausteine zum Verbinden. Mit denen kann man sich wirklich viel Arbeit sparen und durch vielseitige Kombinationsmöglichkeiten verschiedenen Dinge bauen.
Ähnliches mit Holz & Co zu erreichen ist viel aufwendiger.
-
Wie wäre es mit dem c't Bot?
-
@rambatz,
Das stimmt zwar teilweise. Du solltest aber nicht vergessen, dass die Bausteine meistens optimal verbaut sind. Ich nichts löten oder wegen Kompatibilität schauen muss. Für jemand mit zwei linken Händen und nicht so viel Erfahrung im Bereich von Elektrotechnik, ist der Kauf der fertigen Bausteinen womöglich besser.Zudem sind die Bausteine auch sehr robust. Einen μC oder selbst gebastelte Bausteine gehen dagegen sehr einfach kaputt. Erst recht in der Umgebung von Lego, wo man Dinge zusammendrückt. Auf einen NXT kannst du draufstehen, das würde ich bei einem μC nicht unbedingt wagen
Grüssli
-
Schau dir mal Tinkerforge an. Weit aus mächtiger und billiger.
http://www.tinkerforge.com/
-
Wie schon gesagt, spielt Lego seine Stärken eher im Bauen aus. Eine Form zu bauen, die dir den Rücken kraulen kann, wird mit anderen Robotersets vermutlich schwieriger sein und mehr Bastelarbeit erfordern.
Grenzen sind:
Genauigkeit:
Motoren:
-haben einen kleinen Spielraum, innerhalb dessen man die Achse bewegen kann (vielleicht 10°)
-haben theoretisch einen Sensor, der Änderungen von 1° der Drehachse (außer dem Spielraum) wahrnehmen kann, drehen sich aber teilweise unterschiedlich schnell, sodass schon einigermaßen genaues Geradeausfahren eine langsame Geschwindigkeit oder einen Regler oder eine Vorjustierung der PWM erfordert
-sind wegen ihrer Ausmaße (dank der inneren Übersetzung, die für die Messgenauigkeit erforderlich ist) und ihrer Form etwas ungeschickt zu verbauen
Lichtsensor:
-räumlich nicht beschränkt, d.h. für eine große Genauigkeit muss er nahe an die zu messende Oberfläche herangefahren werden
-rote Lampe -> rote Oberflächen werden (vermutlich) stärker wahrgenommen als blaue oder grüneFarbsensor: keine Erfahrung
Ultraschallsensor: relativ genau (1-2 cm Abweichung), aber nur, wenn er gerade auf eine harte Fläche ausgerichtet wird
Tastsensoren: gut, aber baulich etwas komplizierter, falls eine größere Tastfläche abgedeckt werden soll, da sie sich bei schrägem Druck nicht voll eindrücken
Schallsensor: keine Erfahrung
Größere Konstruktionen können bei nicht optimaler Verstrebung biegsam sein oder wackeln.
Die Zahl der Anschlüsse ist beschränkt, aber gegen Aufpreis durch Multiplexer erweiterbar, außerdem kann man sich Sensoren (Infrarot, Beschleunigung, Kompass, RFID, ...) dazukaufen.
Ein anderer Kritikpunkt sind die Kabel, die relativ steif sind und deshalb z.B. bei sich bewegenden Sensoren Probleme machen können.Der NXT-Stein hat IMHO folgende Daten:
64 KB RAM
256 KB Flash
4 MHz TaktWie schon verlinkt, kann er grafisch, aber auch in C-ähnlichen Sprachen, C, C++, Java, assemblerähnlichem Code o.ä. programmiert werden.
Für die Alternativkalkulation wäre auch das 100*64-Pixel-Display und die Bluetoothfähigkeit einzurechnen.
-
Studenttttt schrieb:
Schau dir mal Tinkerforge an. Weit aus mächtiger und billiger.
http://www.tinkerforge.com/[Ironie]Aber sicher doch,[/ironie] 22 € für nen Temperatursensor und dann braucht man ja noch immer das Masterbricket:
https://shop.tinkerforge.com/temperature-ir-bricklet.html
Das ist leider nichtmal für Firmen interessant, die etwas schnell als Prototyp zusammenstecken wollen um zu sehen ob es funktioniert, weil die Technik ja nicht ihnen gehört.
Normalerweise nimmt man einfach ein Breakboard und eine µC Experimentierplatine, das ist die einfachste und günstigste Variante.
Da braucht man dann auch nicht so ein überteuertes Modulstecksystem.Das kommt also bestennfals für Laien in Frage, die sich mit Elektronik absolut nicht auskennen, aber selsbt dann ist das Stecksystem nicht gegen den User gesichert.
Eine elektrische Ladung genügt und der Laie hat das Ding kaputt gemacht.
Wer's bruacht.
-
wxSkip schrieb:
Für die Alternativkalkulation wäre auch das 100*64-Pixel-Display und die Bluetoothfähigkeit einzurechnen.
Es gibt fertige Entwicklerboards mit integriertem Display.
Das kostet nur 25 €.
http://www.watterott.com/de/LPC-P1227-DEVELOPMENT-PROTOTYPE-BOARDCPU und RAM ist auch wesentlich besser:
45Mhz, 128 kB Flash, 8kB SRAMNe Lösung mit BT läßt sich sicher auch finden. (Hatte keine Zeit zum suchen)
Den Rest was man an Sensoren, Motoren usw. bruacht steckt/lötet man wie vorher beschrieben einfach dran.
Wer nur Stecken will, der nimmt ein Breadboard, dann spart man sich auch das löten.
http://de.wikipedia.org/wiki/Steckplatine
-
Oder diese Lösung als Beispiel:
Touchscreen als Display 54 €
http://www.watterott.com/de/28-TFT-Touch-Shield-for-Arduino
+Bluetooth 33,52 €
http://www.watterott.com/de/Bluetooth-Mate-SilverArduino mit integriertem µC 26 €
http://www.watterott.com/de/Arduino-Uno
-
Man kann nachher auch bei fritzing.org Platinen erstellen.