1.Aufgabe ![](pics/legostein_rechts.gif)
Die erste Aufgabenstellung bestand darin, einen Robotor zu konstruieren, der mittels eines Lichtsensors eine Strecke entlang einer schwarzen Linie abfährt. Am Ende dieser schwarzen Linie sollte der Robotor selbstständig umdrehen und den Rückweg antreten. Die Linie war vollständig durchgezogen und es befanden sich keine weiteren Hindernisse auf der Strecke. Die Aufgabe diente vielmehr sich mit dem Lego-Kasten und der Programmierung des RCX vertraut zu machen.
|
![Bild 1](pics/aufgabe01/1kl.jpg)
|
Umsetzung: Der Robo wird auf die Linie gesetzt und der Farbwert eingelesen. Dann setzt der Liniensuchalgorithmus ein, d.h. falls der Robo die Linie verlässt, "pendelt" er solange hin und her, bis er die Linie wiedergefunden hat. Falls dieser Vorgang nach einer bestimmten Zeit erfolglos war, dreht der Robo um 180° und fährt zurück.
Programmcode
|
2.Aufgabe ![](pics/legostein_rechts.gif)
|
Die zweite Aufgabe bestand darin, 2 Robotor zu bauen und zu programmieren, die miteinander kommunizieren. Dabei sollte der erste Robo eine schwarze Linie entlang fahren und die Bewegungen per Infrarot-Sensor dem zweiten übermitteln. Dieser zweite Robo befand sich neben der Strecke, empfing die Daten und zeichnete so mit einem Stift die Linie nach.
|
![Bild 2](pics/aufgabe02/1kl.jpg)
|
Umsetzung: Beide Robos sind annähernd baugleich - sie unterscheiden sich lediglich dadurch, dass der Linien abfahrende einen Lichtsensor trägt und der Linien nachzeichnende einen Stift. Zur Kommunikation steht die Infrarot-Schnittstelle und das "Serial"-Paket zur Verfügung. Der Linien abfahrende Robo sendet je immer ein byte Daten an den anderen Robo. Die nachgezeichnete Linie weist einige kleine Unregelmäßigkeiten auf, die allerdings zu vernachlässigen sind.
Programmcode
|
3.Aufgabe ![](pics/legostein_rechts.gif)
|
Bei der dritten Aufgabe sollte wieder nur ein Robo einen Parkour durchfahren. Der Robo orientierte sich wieder an einer schwarzen Linie, die allerdings diesmal nicht durchgängig war. Außerdem galt es weitere Hindernisse zu überwinden, wie z.B. eine Steigung und grüne oder silberne Pflaster, die die schwarze Linie unterbrachen. Da nur ein Robo erforderlich war, stand der zweite Lichtsensor zur Verfügung, der die Orientierung erleichtern sollte.
|
![Bild 3](pics/aufgabe03/3kl.jpg)
![Bild 4](pics/aufgabe03/4kl.jpg)
|
Umsetzung: Da die "Hindernisse" unterschiedliche Farben hatten, war es vorteilhaft, die Sensoren vorweg die Farbwerte einlesen zu lassen und Toleranzen festzulegen. Hierbei wäre es auch ratsam, BEIDE Sensoren zu kalibrieren, denn sie liefern augrund unregelmäßiger Lichteinflüsse nicht immer gleiche Werte. Die Steigung in dem Parkour war auch nicht zu unterschätzen, denn der Robo musste nicht nur hinauf, sondern auch hinunter fahren und sollte dabei den Linienverlauf nicht verlassen. Dazu diente ein Getriebe mit entsprechender Umsetzung. Wir entschieden uns ebenso für den Kettenantrieb für besseren Halt. Um den Linienverlauf in Kurven oder bei Unterbrechungen nicht zu verlieren, ließen wir den Robo in gewissen Abständen "pendeln" um die Linie wiederzufinden. Falls beim "Pendeln" keine Linie gefunden wurde, bewegte sich der Robo in die Ausgangslage, fuhr ein Stück geradeaus und begann erneut die Linie zu suchen.
Programmcode
|
4.Aufgabe ![](pics/legostein_rechts.gif)
|
Die letzte Aufgabe erforderte die erworbenen Kenntnisse der vorherigen Aufgaben. In dem bereits aus Aufgabe 3 bekanntem Parkour wurden kleine Dosen abgestellt, die von einem Robo eingesammelt und in einen gesonderten Bereich transportiert werden sollten. Hier wartet der zweite Robo auf ein Signal, dass die Dose abgestellt wurde und zum weiteren Transport bereit steht. Die Dosen werden nun vom zweiten Robo in einen weiteren gesonderten Bereich befördert, der sich auf einer anderen Ebene befindet. Somit gab es die weitere Schwierigkeit, den Höhenunterschied zu überwinden. Die Orientierung erfolgte erneut durch eine schwarze Linie, die diesmal wieder durchgezogen und auch nicht durch andere Hindernisse überklebt war.
|
![Bild 5](pics/aufgabe04/2kl.jpg)
![Bild 6](pics/aufgabe04/4kl.jpg)
|
Umsetzung: Da es sich um die letzte Aufgabe handelte, trafen alle bisherigen Probleme aus den anderen Aufgaben zusammen. Die Schwierigkeit lag nun dabei, alle Lösungen zu vereinen und dabei solide aber auch nicht zu langsame Roboter zu bauen. Denn diese finale Aufgabe wurde auch als ein Wettbewerb unter den Teams ausgetragen, wobei in erster Linie die Anzahl der erfolgreich transportierten Dosen und danach die Zeit als Kriterien galten. Da nur ein Robo die Steigung überwinden musste, konnte der andere auf Kettenantrieb verzichten und trug somit ein wenig zur Geschwindigkeitssteigerung bei. Ein viel größeres und unterschätztes Problem war die Feinabstimmung der Robos, wie beispielsweise die Übergabe oder das Einsammeln der Dosen. Hier erforderte es sehr viel Zeit und Probedurchläufe um alles genau abzustimmen.
Programmcode
|