Software Beschreibung:
- · Python Code: Dies ist die codierung plattform verwendet in diesem projekt. Der gesamte Roboter ist in Python-Sprache auf Python Idle codiert.
- · Open Cv : Dies ist eine Bildverarbeitungsbibliothek, die verwendet wird, um dem Roboter die Vision des Schachbretts zu geben.
- · Pyfirmata: Dies wird verwendet, um Arduino in Python-Sprache zu codieren. Grundsätzlich verbindet dies Arduino mit Python Idle anstelle von Arduino Ide.
Concepts for Autonomous Chess playing Robotic Arm: Working of robotic Arm involves series of concepts and mechanisms:
1. Forward Kinematics : Angesichts der Winkel des Servomotors befasst sich die Vorwärtskinematik mit dem Finden der gewünschten Position des Endeffektors.(dh angesichts der Servowinkel wie theta_1, theta_2 und theta_3 hilft die Vorwärtskinematik, X-, Y- und Z-Koordinaten oder die Position des Endeffektors zu finden).Dies wird auch verwendet, um zu überprüfen, ob Winkel, die durch inverse Kinematik erhalten werden, korrekt sind oder nicht. Das Video befindet sich im Ordner „Videos“ dieser Zip-Datei.
2. Inverse Kinematik: Angesichts der X-, Y- UND Z-Koordinaten des Endeffektors befasst sich die inverse Kinematik mit dem Finden der gewünschten Winkel der Servos, um den gewünschten Ort zu erreichen. (zum Beispiel: Zum Aufnehmen eines Objekts, das an der Position (X, Y, Z) platziert ist, kann eine inverse Kinematik verwendet werden, um dieses bestimmte Objekt zu erreichen und zu greifen. Das Video befindet sich im Ordner „Videos“ dieser Zip-Datei.
3. Kinematische Diagramme : Dies sind die Diagramme, die verwendet werden, um die Gleichungen der Vorwärts- und inversen Kinematik abzuleiten und zu lösen. Ich habe ein kinematisches Diagramm für einen 3DOF-Gelenkmanipulator gelöst.
4. Denavit-Hartenberg-Parameter : Dies ist eine Methode, um die Vorwärtskinematik einfach durch Erstellen einer Parametertabelle zu lösen.
5. Rotationsmatrizen und Verschiebungsvektoren : Diese werden zum Auffinden einer homogenen Transformationsmatrix und auch zum Konvertieren von Kamerakoordinaten in Roboter-Grundrahmenkoordinaten verwendet.
6. Bildverarbeitung: Dies wird verwendet, um dem Roboter eine Vorstellung davon zu geben, was auf dem Schachbrett passiert, z. B. ob der Zug gespielt wird oder nicht oder ob der Zug von Weiß oder Schwarz gespielt wird.
Schritt für Schritt Arbeiten des Roboterarms:
· Schritt 1: Erste Eingabe vom Spieler wird gegeben, ob er schwarz oder weiß will. Wenn der Spieler Weiß wählt, nimmt der Roboterarm die schwarze Farbe an und die schwarze Farbe wird als Eingabe angegeben und umgekehrt, wenn der Spieler Schwarz wählt, wählt der Spieler hier Weiß
· Schritt 2: Das Spiel beginnt. Sobald das Spiel beginnt, beginnt die Bildverarbeitung zu prüfen, ob Weiß den Zug gespielt hat. Die Bewegungserkennung wird durch einfache Subtraktion von zwei Bildern erkannt, von denen das erste das Originalbild und das zweite das neue Bild ist, das aufgrund von Positionsänderungen der Teile an Bord gebildet wird. Wenn die Subtraktion nichts ergibt, bedeutet dies, dass kein Zug gespielt wird. Wenn die Subtraktion zu einer Matrix ungleich Null führt, wird move von White gespielt. Dies lässt Roboter verstehen, wenn Bewegung gespielt wird oder nicht.
· Schritt 3: Angenommen, Weiß spielt hier move E4. Bewegung wird durch Bildverarbeitung erkannt. Dann holt robot den Zug aus seinem von mir erstellten Schacheröffnungswörterbuch und spielt den Zug dann entsprechend ab. Das Wörterbuch ist wie { „e5“: Koordinaten }. Daraus erhält der Roboter die gewünschten Koordinaten und nimmt dann durch inverse Kinematik den Bauern vom e7-Quadrat auf und platziert ihn auf dem e5-Quadrat. So funktioniert das Kommissionieren und Platzieren von Teilen.
· Schritt 4: Dieser ganze Prozess wiederholt sich immer wieder, es sei denn, das Spiel kommt zum Abschluss. Der gesamte Roboter wird von Arduino pro mini gesteuert, das die Motoren steuert und mit der erforderlichen PWM versorgt.
Fazit: Der Roboter erkennt erfolgreich die gespielten Züge und nimmt auch erfolgreich die Schachfiguren auf und platziert sie mittels Bildverarbeitung genau und präzise auf dem Schachbrett.
ArbeitsVideo: Fühlen Sie sich frei, das Arbeitsvideo dieses Projekts unten zu überprüfen 🙂