Die Frist für diese Aufgabe ist festgelegt auf: 25.06.2022 10:22:59
1. Auftrag: Ellipse
Eine Ellipse ist eine Menge von Punkten, deren Summe der Abstände von den beiden Brennpunkten F1 und F2 gleich ist.
Obrázok: Elipsa, vytvoril Ag2gaeh, CC BY-SA 4.0
Wir können also auf einfache Weise eine Ellipse mit einem Bleistift zeichnen: Befestigen Sie die Schnur an den Punkten F1 und F2 und halten Sie die Schnur immer gerade.
Aufgabe der Hasen: Baue einen Roboter, der sich entlang einer Ellipse bewegen kann. Die Schnur wird in den Brennpunkten befestigt, sie wird begradigt und frei am Roboter befestigt, so dass sie seine Bewegung begrenzt. Der Roboter versucht, sich vorwärts zu bewegen, aber wenn dies nicht möglich ist, ermöglicht er das notwendige Abbiegen nach links oder rechts. Ist ein Differentialgetriebe hilfreich?
Aufgabe der Tiger: Baue einen Roboter, Achte darauf, dass der Bleistift/Kugelschreiber sehr nahe an dem Punkt angebracht ist, der die Saite spannt. Der Roboter stoppt, wenn die Ellipse gezeichnet ist, und meldet, wie stark die Form der Ellipse zu den Seiten verlängert ist (d. h. wie stark sie nicht kreisförmig ist).
2. Auftrag: Lernender Roboter
Was einen Roboter zu einem Roboter macht, ist, dass er geändert werden kann, um (zumindest ein bisschen) verschiedene Dinge auszuführen. Auch Robotern, die immer das Gleiche tun (zum Beispiel ein Auto lackieren), kann eine neue Abfolge oder Abfolge beigebracht werden. Wir haben verschiedene Möglichkeiten, die Roboter dazu zu bringen, etwas Neues zu lernen. Eine Möglichkeit besteht darin, dass der Ingenieur ein neues Programm in den Roboter eingibt. Eine andere Möglichkeit ist, dass ein Operator dem Roboter zeigt - mit einer Konsole, einem Joystick oder ähnlichem - einige neue Bewegungen. Und die fortschrittlichste Methode besteht darin, einen Roboter zu haben, der selbst lernen kann.
Aufgabe der Hasen: Baue einen einfachen Roboter mit mindestens zwei Sensoren. Jeder der Sensoren unterscheidet zwischen zwei verschiedenen Werten – zum Beispiel: ein Hindernis wird erkannt vs. Hindernis ist zu weit entfernt, ein anderes Beispiel: schwarze Linie sehen oder schwarze Linie nicht sehen. Nach dem Start des Programms befindet sich der Roboter in der Lernphase: Vor einem Tonsignal bringt ein Bediener den Roboter in eine bestimmte Situation – zum Beispiel: Der Lichtreflexionssensor sieht die Linie und der Abstandsmesssensor erkennt kein Hindernis und teilt dem Roboter mit einer Taste (Links-/Rechtspfeil oder beides) mit, was in dieser bestimmten Situation passieren soll (Roboter soll nach links/rechts abbiegen oder anhalten). Nach jeder solchen neuen Situation bietet das Programm an, eine neue zu lernen oder die Lernphase zu beenden. In Situationen, die nicht auf diese Weise angegeben wurden, bewegt sich der Roboter geradeaus. Nach Abschluss des Lernvorgangs platziert der Bediener den Roboter dort, wo das erlernte Verhalten aktiviert werden soll, und drückt zum Starten einen Knopf. Lassen Sie Ihren Roboter mindestens drei verschiedene Verhaltensweisen lernen: zum Beispiel einer Linie am rechten Rand folgen, einer Linie am linken Rand folgen, Hindernissen ausweichen und Ähnliches.
Beispiel: Ein Roboter hat zwei Sensoren: Lichtsensor zur Linienverfolgung und Abstandssensor zum Erkennen von Hindernissen. Der Bediener platziert den Roboter so, dass der rechte Sensor die Linie sieht, und markiert diese Situation als „nach rechts bewegen“. Als nächstes platziert der Bediener den Roboter mit dem rechten Sensor auf der Linie und markiert „nach rechts bewegen“. Ergebnis: Der Roboter hat gelernt, einer Linie zu folgen. Ein weiterer Versuch mit demselben Roboter und Programm: Der Bediener platziert den Roboter vor einem Hindernis und markiert „nach rechts bewegen“. Ergebnis: Roboter hat gelernt, Hindernissen auszuweichen.
Daten, die sich der Roboter gemerkt hat (eine Möglichkeit):
zu Beginn des Lernens: nach dem Lernen im Fall 1: nach dem Lernen im Fall 2:
L R D Aktion
----------------------------------------------------------------------------------------------
0 0 0 vorwärts vorwärts vorwärts
0 0 1 vorwärts vorwärts rechts
0 1 0 vorwärts rechts vorwärts
0 1 1 vorwärts vorwärts vorwärts
1 0 0 vorwärts links vorwärts
1 0 1 vorwärts vorwärts vorwärts
1 1 0 vorwärts vorwärts vorwärts
1 1 1 vorwärts vorwärts vorwärts
L - linker Liniensensor, R - rechter Liniensensor, D - Abstandssensor.
Aufgabe der Hasen: Baue einen einfachen Roboter mit mindestens drei Sensoren. Jeder der Sensoren unterscheidet zwischen zwei oder ein paar (3,4,...?) verschiedenen Werten. Nach dem Start des Programms kann der Roboter über BT gesteuert werden: Er bewegt sich vorwärts und dreht oder stoppt auf Fernanforderung. Immer wenn der Roboter eine Anfrage erhält, ermittelt er alle Sensorwerte und fügt eine in diesem bestimmten Slot der Frequenztabelle hinzu. Die Lernphase dauert entweder eine bestimmte Zeit oder wird vom Bediener auf andere Weise beendet. Das erlernte Verhalten wird dann schließlich aktiviert: Der Roboter erhält wiederholt Messwerte von allen Sensoren und verwendet die Häufigkeitstabelle, um in jedem Moment die nächste Aktion auszuwählen: Verwenden der Aktion mit dem höchsten Wert, dh der Aktion, die der Bediener in diesem speziellen Fall angefordert hat sensorische Situation am häufigsten. Anmerkung: Bei Bedarf können Sie den Lernprozess verbessern (z. B. 10 addieren, wenn der Bediener eine Aktion anfordert, und andernfalls dreimal pro Sekunde 1 addieren - abhängig von den aktuellen sensorischen Messwerten) - nutzen Sie Ihre Kreativität.
Der Roboter hat drei Ultraschallsensoren – einen nach vorne gerichtet, einen nach links und einen nach rechts. Im ersten Versuch steuert der Bediener den Roboter so, dass er den Konturen des Hindernisses im Uhrzeigersinn folgt, im zweiten Versuch lernt der Roboter, den Konturen gegen den Uhrzeigersinn zu folgen, im dritten Versuch der Roboter lernen, einem Hindernis zu folgen.
Daten, an die sich der Roboter erinnert, wenn das Lernen abgeschlossen ist - im Fall 1 (eine Möglichkeit):
Sensoren aktion
---------------------------------------------
L R M vorwärts links rechts
---------------------------------------------
0 0 0 1 0 5
0 0 1 1 3 1
0 1 0 2 1 0
0 1 1 0 4 1
1 0 0 0 0 0
1 0 1 0 0 0
1 1 0 0 0 0
1 1 1 0 0 0
Video: Der Roboter lernt zuerst, Zählern zu folgen, dann lernt er, Objekte zu schieben. Es wird dasselbe Programm verwendet, was sich geändert hat, ist nur die Eingabe des Bedieners. Quelle: Bayessche Programmierung.