Inhaltsverzeichnis:
- Schritt 1: Das Flussdiagramm
- Schritt 2: BETEILIGTE WICHTIGSTE KOMPONENTEN:
- Schritt 3: MODUL V1:
- Schritt 4: MODUL V2:
- Schritt 5: BETROFFENE PROBLEME -
- Schritt 6: MODUL A1 und A2:
- Schritt 7: Link zu Videos:
Video: Selbstlaufender Roboter - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Was habe ich gemacht?
● Ein Bot, der trainiert werden kann, auf verschiedenen Oberflächen zu gehen (vorwärts zu gehen). Der Bot zeigt eine einfache Kreatur mit 4 „knielosen“Beinen, die Schwierigkeiten hat, sich vorwärts zu bewegen. Es weiß, dass es jedes der Beine nur auf 3 mögliche Arten ausrichten kann. Jetzt muss es die bestmöglichen Schritte finden, die es unternehmen kann, um in Bewegung zu bleiben. Da seine Bewegung auch von der Reibung mit der Oberfläche abhängt, glauben wir, dass es für jede andere Oberfläche, auf der es geht, unterschiedliche (nicht unbedingt einzigartige, aber höchstwahrscheinlich ähnliche) Schritte gibt, um seine Anstrengung beim Vorwärtskommen zu maximieren.
Was wird es verwendet?
● Es wird am besten verwendet, um die Laufmuster für einen KI-ROBOTER zu visualisieren.
Schritt 1: Das Flussdiagramm
Hier eine Aufschlüsselung des gesamten Projekts. Im Großen und Ganzen besteht das Projekt aus 2 Teilen Elektronik mit mechanischer Struktur des Roboters und der andere ist der Algorithmus, der über den PC läuft, und der Code, der über Arduino läuft.
Schritt 2: BETEILIGTE WICHTIGSTE KOMPONENTEN:
Elektronik
Arduino UNO (!)
Ultraschallsensor
Servomotor
Bluetooth-Modul
Codierung
Arduino-IDE
Teraterm
Jupyter-Notizbuch
Q-Lernalgorithmus
Schritt 3: MODUL V1:
Reinforcement Learning: Mit ANN (künstliches neuronales Netzwerk) wollten wir unseren Roboter trainieren und haben zwei mögliche Methoden entwickelt.
Einschränkungen: Jedes Bein (Servomotor) ist auf nur 3 mögliche Positionen von 60, 90 und 120 Grad beschränkt. Annahmen: Wir gehen davon aus, dass die Bot-Bewegung 4 Zustände darstellt (ein Zustand ist eine bestimmte Ausrichtung aller vier Servos), dh es wird 4 verschiedene Zustände des Roboters geben, die wir als 4 Schritte betrachten, bzw. uns einen Bewegungszyklus geben, in die der Bot ein Stück weit vorrücken wird. Dieser Zyklus wird endlos wiederholt, um den Bot in Bewegung zu halten.
Aber das einzige Problem war die Anzahl der zu bewertenden Iterationen - Wir haben 3 mögliche Orientierungen für jeden Motor und es gibt 4 verschiedene Motoren, was 3 ^ 4 = 81 Zustände ergibt, in denen der Roboter in einem einzigen Schritt oder Zustand existieren kann. Wir müssen 4 verschiedene Schritte ausführen, um eine komplexe Bewegung abzuschließen, was bedeutet, dass 81^4 = 43, 046, 721 mögliche Kombinationen auf maximale Effizienz für einen Bewegungszyklus überprüft werden müssen. Angenommen, es dauert 5 Sekunden, um einen einzelnen Zustand zu trainieren, es würde 6,8250 Jahre dauern, um das Training abzuschließen!
Schritt 4: MODUL V2:
Q-Lernalgorithmus
Ein Algorithmus für das frühe Verstärkungslernen, der entwickelt wurde, um Dinge mit endlichem Zustand zu trainieren und die kürzesten Wege zu finden. Quelle:
Mathematik des Algorithmus: Es gibt 81 mögliche Zustände für jeden Schritt, in dem sich der Bot befinden kann. Wir nennen diese Zustände als Zahlen von 1 bis 81 und jetzt möchten wir den Übergangswert wissen, d), während es sich von einem zufälligen Zustand s1 in einen anderen Zustand s2 bewegt (s1, s2 von diesen 81 Zuständen). Wir können es als eine Matrix mit 81 Zeilen und 81 Spalten sehen, wobei ein Element der Matrix gleich dem Wert der Entfernung ist, von der es sich entsprechend seiner Zeilen- und Spaltennummer bewegt hat. Diese Werte können positiv oder negativ sein, abhängig von der Aktion des Roboters im realen Wort. Jetzt werden wir eine geschlossene Schleife von Zuständen finden, bei der die zurückgelegte Entfernung immer positiv ist. Wir werden 81x81 Matrixwerte auswerten, die 81^2 = 6561 sind. Wenn wir jetzt 5 Sekunden brauchen, um diese Werte in der Matrix zu speichern, wird es Nehmen Sie nur 9.1125 Stunden, um eine ganze Matrix zu erstellen, und dann könnte eine Schleife von Schritten zur Maximierung der Bewegungseffizienz leicht herausgefunden werden.
Schritt 5: BETROFFENE PROBLEME -
- In einigen Staaten war die Botbewegung sehr ungleichmäßig und beeinflusste den Sensorwert des Ultraschalls, der Bot neigte sich und nahm Entfernung von einer entfernten Wand auf.
- Das Problem der Trennung vom Laptop und des Neustarts von Arduino war sehr irritierend.
- Den Roboterzug 5 Stunden lang ununterbrochen zu beobachten, war sehr erschöpfend.
Schritt 6: MODUL A1 und A2:
- Der mechanische Teil umfasst die Chassisplatte mit vier daran befestigten Servos. Wir haben Eiscreme-Sticks verwendet, um Beine zu machen.
- Unsere Hauptaufgabe - die Entfernung des Bots von seiner Ausgangsposition zu verfolgen.
- Unser erster Ansatz bestand darin, einen Gyrosensor zu verwenden und die Beschleunigung des Bots zu verwenden, wenn er sich bewegt, um seine Geschwindigkeit und anschließend seine Position zu extrahieren.
- Problem - Die Implementierung erwies sich als zu kompliziert! Alternative - Wir haben die Bewegung des Bots auf nur eine Dimension beschränkt und einen Ultraschallsensor verwendet, um den Abstand zu einer gerade vorausliegenden Wand zu messen.
- Das HC05-Bluetooth-Modul wurde während der Trainingsphase verwendet, um die Abstandsübergangsrate zwischen zwei Schritten an den PC zu übertragen und dort die Daten in einer Matrix zu speichern.
Schritt 7: Link zu Videos:
Babyschritte:
Trainingsaufnahme:
Fast geradeaus:
Video zum tanzenden Roboter:
Final Vide0:
Empfohlen:
Einen Roboter zur Hindernisvermeidung bauen – wikiHow
Wie man einen Hindernisvermeidungsroboter macht: Der Hindernisvermeidungsroboter ist ein einfacher Roboter, der von einem Arduino betrieben wird und was er tut, ist, dass er nur herumstreift und Hindernissen ausweicht. Er erkennt die Hindernisse mit einem HC-SR04 Ultraschallsensor, d. h. wenn der Roboter ein Objekt in der Nähe von
Einen intelligenten Roboter mit Arduino bauen – wikiHow
Wie man einen intelligenten Roboter mit Arduino macht: Hallo, ich bin Arduino-Hersteller und in diesem Tutorial werde ich Ihnen zeigen, wie man einen intelligenten Roboter mit Arduino macht, wenn Ihnen mein Tutorial gefallen hat, dann überlegen Sie, meinen Youtube-Kanal namens Arduino-Hersteller zu unterstützen
Einen humanoiden Roboter bauen – wikiHow
Wie man einen humanoiden Roboter baut: Hey Leute! Ich hoffe, Sie haben bereits meine vorherige anweisbare "Online-Wetterstation (NodeMCU)" und Sie sind bereit für einen neuen. Nach dem SMARS-Modellroboter, den wir beim letzten Mal zusammengebaut haben, geht es beim heutigen Projekt auch um das Lernen von Robotern und w
Roboter-Buggy bauen – wikiHow
Wie man einen Roboter-Buggy macht: Hallo !! In der heutigen Anleitung werde ich Ihnen beibringen, wie Sie Ihren eigenen Roboter-Buggy herstellen. Bevor wir auf die Spezifikationen und Dinge eingehen, die Sie dafür benötigen, ist ein Roboter-Buggy im Grunde ein programmierbares 3-Rad-Auto, das Sie steuern können
[Arduino-Roboter] Wie erstelle ich einen Motion-Capture-Roboter - Daumen Roboter - Servomotor - Quellcode: 26 Schritte (mit Bildern)
[Arduino-Roboter] Wie erstelle ich einen Motion-Capture-Roboter | Daumen Roboter | Servomotor | Quellcode: Thumbs Robot. Verwendet ein Potentiometer des Servomotors MG90S. Es macht sehr viel Spaß und ist einfach! Der Code ist sehr einfach. Es sind nur etwa 30 Zeilen. Es sieht aus wie ein Motion-Capture.Bitte hinterlassen Sie Fragen oder Feedback![Anleitung] Quellcode https://github.c