Entdecken Sie unsere
Ressourcen

Übung: Ausweichen vor komplexen Hindernissen

Material :

  • 1 Roboter mindestens
  • 1 Computer/Roboter
  • Flache Umgebung

Einstellungen :

  • Überwachtes Lernen - Vermeidung von Hindernissen (komplex)

Dauer :

1,5 Stunden (2*45 min)

Alter :

8 Jahre und älter

Empfohlen zum Entdecken durch Manipulation

Bringen Sie Ihrem Roboter bei, auf bestimmte Situationen zu reagieren!

In dieser Aktivität lernen Sie, wie Sie die AlphAI-Software und das neuronale Netz einrichten, um Mbot in einer einfachen Umgebung zu betreiben.

Material

Für die Durchführung dieser Aktivität müssen Sie eine kleine quadratische Arena zusammenbauen:

Wir empfehlen Ihnen, unsere individuelle Arena zu verwenden, die Sie auf unserer Website oder bei unseren Händlern finden.
Sie können auch Ihre eigene Arena erstellen. Dazu benötigen Sie eine saubere, ebene Fläche (z. B. einen Tisch), die von Zäunen umgeben ist, die sich farblich vom Boden unterscheiden und stark genug sind, um den Roboter aufzuhalten.

Konfiguration

Die Konfiguration der Software kann manuell oder automatisch erfolgen. Um sie automatisch zu konfigurieren : Einstellungen > Beispielparameter laden > Überwachtes Lernen - Hindernisvermeidung (einfach). Die Konfiguration kann auch manuell erfolgen, indem Sie den nebenstehenden Anweisungen folgen.

  • Sensoren > Ultraschall und Bewegungserkennung
  • Aktionen > Vorwärtsgehen , Drehen , Rückwärtsgehen beim Drehen
  • KI > Lernart "Überwachtes Lernen", Algorithmus "Neuronales Netz", Lerngeschwindigkeit "0.02", Mittlere Neuronenschichten: 15.
  • Visualisierung > Wählen Sie: "Animation", "Verbindungen", "Synapsenaktivität", "Eingabe-/Ausgabewerte".

Ultra-Schallsensor - Konzept

Während der ersten Aktivität (einfache Hindernisvermeidung) stellten wir am Ende fest, dass der Roboter die Wand vor ihm nicht erkannte, wenn sie sich diagonal vor ihm befand. Der Sender des Ultraschallsensors funktioniert nämlich so, dass er eine Ultraschallwelle aussendet, die von der Wand abprallt und zum Empfänger zurückkehrt.
Der Ultraschallsensor berechnet also die Entfernung des gegenüberliegenden Objekts anhand der Zeit, die die Welle benötigt, um den Empfänger zu erreichen.

Wenn sich das Objekt jedoch diagonal befindet, ist der Weg der ausgesendeten Welle viel größer und die berechnete Entfernung ist absurd. Der Roboter sitzt also an der Wand fest und kann sich nicht vorwärts bewegen, da die vorherrschende Aktion, wenn er kein Hindernis sieht, "Vorwärts" ist.

‍Weiterführende Links

‍DerUltraschallsensor misst die Zeit, die die Welle braucht, um zum Empfänger zurückzukehren. Die Geschwindigkeit ist gleich der Entfernung geteilt durch die Zeit V=d/t, also ist die Entfernung die Geschwindigkeit mal die Zeit d=V×t. Der Sensor weiß, wie schnell sich die Welle ausbreitet (mit Schallgeschwindigkeit ~330 m/s), und er weiß auch, wann er die Welle ausgesendet hat. Er muss diesen Wert nur noch durch 2 teilen, da die Ultraschallwelle den Weg vom Sensor zum Objekt zweimal zurücklegt, einmal vom Sender zum Objekt und ein zweites Mal vom Objekt zum Empfänger.

‍Berechnungder Entfernung für einen Ultraschallsensor: (V×t)/2

Training

Das Lernen des Roboters für diese Aktivität ist etwas komplexer

↪Lo_Cf_200D↩Avancer

Räumen Sie alle Gegenstände vor dem Roboter beiseite und drücken Sie den Pfeil "⇧" auf Ihrer Tastatur oder klicken Sie auf die Aktion "Vorwärts" auf der rechten Seite des Bildschirms.















= Vorwärts











Drehen

Platziere ein Objekt vor dem Roboter und drücke den Pfeil "⇦ oder ⇨" auf deiner Tastatur oder klicke auf die Aktion "Nach rechts abbiegen" auf der rechten Seite des Bildschirms.

Screenshot - mBot - A1 - 2b













=Drehen








Beim Drehen rückwärts gehen

Erster Schritt: Aktivieren Sie den Radblockiersensor

Lernmodus deaktivieren

Stellen Sie den Roboter an die Wand

Klicken Sie mehrmals auf vorwärts, bis der Radblockiersensor aktiviert wird.

Schritt 2: Berühren Sie den Roboter nicht mehr.

Dritter Schritt: Aktivieren Sie den Lernmodus

Vierter Schritt: Klicken Sie auf Rückwärts, wenn Sie nach links oder rechts abbiegen.

NB: Sie müssen darauf achten, dass Sie vor dem Drücken von "Rückwärts drehen" nur 1 rechte oder linke Seite auswählen. Andernfalls weiß der Roboter nicht, welche Seite er wählen soll, was die Klarheit des Verständnisses der Übung beeinträchtigt.

↪LO_CF_200D↩ÇAYST!

‍IhrRoboter ist trainiert! Drücken Sie nun die Leertaste oder klicken Sie unten links auf dem Bildschirm auf "autonom" und lassen Sie den Roboter sich frei in der Arena bewegen und auf Hindernisse in seinem Weg reagieren.

Verständnis

Bewegungserkennung

Um das Problem mit dem Ultraschallsensor zu lösen, haben wir einen neuen Sensor hinzugefügt: Es handelt sich um einen Blockadedetektor. Mithilfe dieses Sensors kann die Software feststellen, ob der Roboter blockiert ist oder nicht. Dazu analysiert der Sensor die berechnete Distanz des Ultraschalls. Wenn diese über mehrere Aktionen hinweg gleich bleibt, wird der Sensor aktiviert und der Roboter versteht, dass er blockiert ist.

Der Roboter ist nicht blockiert,
der Sensor zeigt "1" an

Der Roboter bleibt hängen, aber der Sensor zeigt immer noch "1" an

Wenn nach mehreren Aktionen der vom Ultraschall berechnete Wert identisch ist, zeigt der Sensor "0" an.

Zustandsgrafik

Das erste, was einem beim Start dieser Aktivität auffällt, ist eine auf den ersten Blick sehr komplexe Grafik. Diese Grafik wird als "Zustandsraum" bezeichnet. Diese Grafik zeigt die Entscheidungen, die der Roboter in Abhängigkeit von seinem "Zustand" trifft. 

Jeder der Sensoren dieser Aktivität wird in der Grafik dargestellt :

Ordinatenachse = Ultraschallsensor.

Abszissenachse = Blockiersensor.

Der Zustand des Roboters wird durch ein kleines Quadrat dargestellt. Zum besseren Verständnis versuchen Sie, Ihre Hand zum Roboter hin und von ihm weg zu bewegen, das kleine Quadrat wird sich auf der Ordinatenachse bewegen.

Wenn wir den Roboter gegen ein Objekt blockieren und dann einige Male vorwärts fahren, wird der Sensor für blockierte Räder aufleuchten und das Quadrat wird sich auf der Abszissenachse bewegen.

‍Endlichstehen die Farben für jede der möglichen Aktionen mit dem Roboter (gelb = vorwärts, grün = rechts abbiegen ...).

Während des Trainings haben Sie festgestellt, dass sich die Farbe des Graphen ändert, wenn Sie eine Aktion ausführen. Da Farben Aktionen repräsentieren, bedeutet dies, dass die Aktion, die der Roboter wählt, durch seinen "Zustand" im Zustandsgraphen definiert wird.

‍‍

Beispiel

↪Lo_Cf_200D↩Hierist der Erfahrungsspeicher leer. Die im Graphen vorhandenen Farben wurden daher zufällig ausgewählt. 

Im autonomen Betrieb würde der Roboter nach rechts rückwärts fahren, bis er stecken bleibt, und dann nach links rückwärts fahren, bis er wieder frei ist.

Hier haben wir ihm beigebracht, ohne Hindernis vorwärts zu gehen und vor einem Hindernis nach rechts abzubiegen.

Im autonomen Modus fährt der Roboter vorwärts, bis er auf ein Hindernis trifft, um dann nach rechts abzubiegen, bis er sich von dem Hindernis entfernt hat.

↪Lo_Cf_200D↩Defi

Autonom, wie würde der Roboter in diesen verschiedenen Anordnungen reagieren (ohne Berücksichtigung des aktuellen Zustands des Roboters im Zustandsraum) :

KNN-Algorithmus

Deaktivieren Sie den "Autonomen Modus" und den "Lernmodus", indem Sie erneut auf die entsprechenden Schaltflächen klicken :

Der KNN-Algorithmus (K nearest neighbours) auch bekannt als Algorithmus der K nächsten Nachbarn, ist ein einfacher zu verstehender Algorithmus der künstlichen Intelligenz.

Diese Aktivität läuft auf die gleiche Weise ab wie die letzte (Hindernisse vermeiden - komplex) und dient dazu, das Gleiche zu tun, aber sie tut es auf eine andere Art und Weise. Sie werden bemerkt haben, dass der Zustandsgraph nicht auf die gleiche Weise eingefärbt wurde. Während der Zustandsgraph eine Weile brauchte, um sich zu bilden, und die Farben nicht sofort festgelegt wurden, wird hier die Grenze der Färbung direkt und auf einmal gezogen, sobald man auf eine Aktion klickt.

In diesem Algorithmus wandert der Roboter in einem Raum...

Und jeder Datenpunkt, den der Roboter lernt, wird in demselben Raum gespeichert.

Um eine Entscheidung zu treffen, wählt der Roboter nur den Datenpunkt aus, der seiner Position im Raum am nächsten liegt.

Der Algorithmus der K nächsten Nachbarn ist viel einfacher zu verstehen und ermöglicht es uns Nutzern, eine geringere Menge an Daten zu liefern, um die KI zu betreiben, die Fehlerquote ist deutlich geringer.

Wie bereits gesagt, bilden sich die Farben sofort, die Farben stellen nur den Umfang dar, in dem im Vergleich zu den anderen Datenpunkten die Position des Roboters näher an diesem Punkt liegen wird.

Beispiel: Hier befindet sich der Roboter näher an dem Quadrat, das der Aktion links abbiegen entspricht, autonom würde der Roboter also nach links abbiegen.

‍Rückruf: Im Algorithmus der neuronalen Netze, um eine Entscheidung zu treffen, führte der Roboter diese Berechnung durch

‍Ausgabe= Eingabe * Verbindung + Schräglage

Verwandte Studiengänge