Sonntag, 30. Dezember 2012

Immer Schneller


Immer Schneller


Heute haben wir unsere Texte über den 3D-Drucker verglichen und verbessert. Was vor allem herausgekommen ist, ist dass diese Technik sehr neu ist, und es deswegen viele Wiedersprüche gibt. Allgemein kann man die unterschiedlichen Verfahren gut verstehen, wenn man aber in der Tiefe gehen will, kann man keine hundertprozentig richtigen Informationen finden. Dieses Problem  kommt vor allem wegen der starken Konkurrenz die zwischen den Produzenten wirkt. Jede Firma will unbedingt seine Drucker, bzw. sein Verfahren verkaufen. Vielen Subjektiven Informationen und Webseiten sind deswegen entstanden. Außerdem haben wir eine Methode gefunden, um gleichzeitig mehrere Motoren bewegen zu können. Die Zeit, um einen Lego-Stein zu platzieren, wurde damit stark verringert. Wir haben auch ein Menü hergestellt, mit welchem man die gewünschte Figur und die gewünschte Farbe wählen kann.

Donnerstag, 27. Dezember 2012

Initialisierung in (Java)


Initialisierung in (Java)
 

Die Motoren der NXTs können die zugeführte Energie im Verhältnis zur Schwierigkeit des Rotierens anpassen. In der Tat, wenn man einem Motor befiehlt, zwei Rotationen pro Sekunde zu machen, wird er alles probieren um es zu schaffen. Er wird also, wenn nötig die zugeführte Energie stark erhöhen. Für die Initialisierung ist diese Fähigkeit nicht erforderlich, sogar nicht gewünscht. Man hat aber nicht gefunden, wie diese Fähigkeit auf einem „remoted“-NXT abzustellen. Man hat also die Initialisierung nicht mit der „Master-Slave“-Methode machen können. Heute hat man also die Initialisierung mithilfe einfacher Nachrichten zwischen den beiden NXTs programmiert. Am Ende der Initialisierung beendet man das Programm des zweiten NXT und der erste übernimmt dann die Kontrolle über den zweiten. Außerdem haben wir uns geeinigt, wie wir den „3D-Drucker“-Teil unserer schriftlichen Arbeit machen werden.
 
 

Montag, 24. Dezember 2012

Die Vererbung


Die Vererbung


Heute, haben wir Probleme mit der Vererbung der Verbindung zwischen den NXTs gehabt. Bisher besteht unser Programm aus drei Methoden. Die erste, wo die Initialisierung und die Verbindung gemacht werden. Die zweite, setPiece(); ist die Methode, die für jeden Lego-Stein eines Objektes wiederholt wird. Die dritte ist unser bisher einzige Figur: „Eiffelturm“. In dieser Methode definiert man alle Variablen (x, y, z, Farbe usw.) und ruft für jeden Stein die setPiece() Methode auf. Das Problem war, dass die Verbindung nicht automatisch in den anderen Methoden vererbt wurde! Man hat aber die Lösung gefunden, indem man die Verbindung wie eine einfache Variable selber vererbt hat. Das einzige Problem, das bleibt, ist die Initialisierung. Wir haben keine „Class“ gefunden, die die Kraft konstant behält. Wenn ein Motor auf einem Hindernis stößt, wird der NXT die zugeführte Energie erhöhen, um die Geschwindigkeit konstant zu halten. Es ist für die Initialisierung sehr schlecht, da wir die Motoren bis an den Anschlag drehen lassen, und diese dann die Kraft aufs Maximum erhöhen und alles zerstören. Außerdem hat man Informationen über 3D-Drucker gesammelt.

Samstag, 22. Dezember 2012

Der Sklave und der Meister


Der Sklave und der Meister
 

Nein, man spricht nicht von der Beziehung zwischen Baptiste und Maxence, sondern von der Methode, um Daten zwischen zwei NXTs auszutauschen. In der Tat, hat man eine supere Lösung gefunden. Bisher haben wir zu kompliziert gedacht. Heute, haben wir probiert die Bluetooth-Verbindung auf einem NXT zu programmieren (Meister) und auf dem anderen gar nichts (Sklave). Erstaunlicherweise hat das funktioniert ! Man schreibt nämlich das Programm als ob es nur ein NXT geben würde. Der Meister fragt um eine Verbindung, und sobald die Verbindung gemacht ist, kann er die Motoren und die Sensoren vom „remoted-“ NXT wie seine eigenen kontrollieren. Man hat dann mit der Programmierung der Initialisierung begonnen. Man hat so gut gearbeitet, dass man fast einen Lego-Stein platzieren kann. Die Motivation ist dabei !

Samstag, 15. Dezember 2012

Neue Räder & Kommunikation


Räder & Kommunikation


Heute haben wir das Reibsystem des roten Hauptgestelles ersetzt. Vorher Rollte das Gestell auf Zahnrädern, was immer große Vibrationen bewirkte und die Genauigkeit verringerte. Danach montierten wir eine Gleitschiene, was aber viel Reibung ergab und die Bewegung bremste. Letztlich haben wir die Schiene durch Räder ersetzt. Das Gewicht liegt jetzt nur auf den Rädern und die Zahnräder finden nur beim Antrieb Anwendung.

Wir haben auch an der Kommunikation zwischen den zwei NXTs gearbeitet. Wie man aber ein NXT als Fernbedienung braucht, ohne immer Nachrichten auszutauschen, haben wir noch nicht gefunden.


Neue Räder & Kommunikation

Sonntag, 9. Dezember 2012

Hello World (java)

Hello World (java)


Heute, trotz dem Schnee, haben wir uns mit unserer Maturaarbeit beschäftigt. Wir haben nicht ohne Probleme auf unseren Laptops LeJOS installiert sowie als Plugin von Eclipse initialisiert. Die Firmware wurde auch auf den NXTs hinuntergeladen. Natürlich haben wir dann mithilfe des Programmes „Hello World“ unsere Installation überprüft.
Das grösste Problem für unsere Arbeit ist die Kommunikation zwischen den beiden NXTs. Wir haben also mit viel Glück erfahren, dass es mit Java (bzw. LeJOS) möglich war, eine dauernde Verbindung zu erstellen. Wenn wir es richtig verstanden haben, wäre es möglich beide NXTs zu verbinden, sodass einer der „Master“ und der andere der „Slave“ wäre. Damit würde der Master dauernd auf alle Elementen (Motoren, Sensoren usw.) Zugriff haben. Wir haben aber leider noch nicht verstanden wie man diese Technik programmiert.
lejos.sourceforge.net
 

Samstag, 1. Dezember 2012

Die Endbearbeitungen


Die Endbearbeitungen


Heute haben wir die Eiffelturm-Herausforderung erfolgreich gelöst. Wir waren aber ziemlich lang daran, da das Programm sehr langsam reagierte. Die Eiffelturm-Herausforderung gelöst zu haben, heißt noch lange nicht, dass der Drucker einen Eiffelturm bauen kann. Theoretisch könnte er das, leider bleiben noch einige Ungenauigkeiten zu lösen. Wir wissen beispielsweise nicht, warum er immer Mühe hat, den vierte Lego-Stein des Eiffelturms richtig zu platzieren. Es ist sicher nicht ein Programmier-Fehler, da es nur mit diesem Stein passiert. Wir haben unzählige Male die Initialisierung neu programmiert, um einen perfekten Anfang zu haben, es hat aber nicht gereicht. Außerdem, haben wir die Zange verstärkt. Nun geht die Zange nicht mehr kaputt, wie sie das zuvor oftmals tat. Wir haben zusätzlich das Programm so erweitert, dass man für jede Figur die Farbe wählen kann.