Description du logiciel:
- i·* Python Idle: C’est la plate-forme de codage utilisée dans ce projet. Le robot entier est codé en langage Python sur Python Idle.
- ·Open Cv: Il s’agit d’une bibliothèque de traitement d’images utilisée pour donner au Robot la vision de l’échiquier.
- ·Pyfirmata: Ceci est utilisé pour coder Arduino en langage Python. Fondamentalement, cela connecte Arduino à Python Idle au lieu d’Arduino Id.
Concepts for Autonomous Chess playing Robotic Arm: Working of robotic Arm involves series of concepts and mechanisms:
1. Forward Kinematics : Compte tenu des angles de la cinématique avant du servomoteur, il s’agit de trouver la position souhaitée de l’effecteur terminal.(c’est-à-dire compte tenu des angles d’asservissement tels que theta_1, theta_2 et theta_3, la cinématique directe aide à trouver les coordonnées X, Y et Z ou la position de l’effecteur terminal).Ceci est également utilisé pour vérifier si les angles obtenus par cinématique inverse sont corrects ou non. La vidéo est fournie dans le dossier « Vidéos » de ce fichier zip.
2. Cinématique inverse: Étant donné les coordonnées X, Y ET Z de l’effecteur terminal, la cinématique inverse consiste à trouver les angles souhaités des Servos pour atteindre l’emplacement souhaité. (par exemple: Pour choisir un objet placé à la position (X, Y, Z), une cinématique inverse peut être utilisée pour atteindre cet objet particulier et le saisir. La vidéo est fournie dans le dossier « Vidéos » de ce fichier zip.
3. Diagrammes cinématiques: Ce sont les diagrammes utilisés pour dériver et résoudre les équations de la cinématique directe et inverse. J’ai résolu un diagramme cinématique pour un manipulateur articulé 3DOF.
4. Paramètres de Denavit-Hartenberg: Il s’agit d’une méthode permettant de résoudre facilement la cinématique directe en créant une table de paramètres.
5. Matrices de Rotation et Vecteurs de Déplacement : Ceux-ci sont utilisés pour trouver une matrice de transformation homogène et également pour convertir les coordonnées de la caméra en coordonnées du cadre de base des robots.
6. Traitement d’image: Ceci est utilisé pour donner au Robot une vision de ce qui se passe sur l’échiquier, comme si le mouvement est joué ou non ou si le mouvement est joué par du blanc ou du noir.
Fonctionnement pas à pas du Bras robotisé:
· Étape 1: La première entrée du joueur est donnée s’il veut du noir ou du blanc. Si le joueur choisit le blanc, le bras robotique prend la couleur noire et la couleur noire est donnée en entrée et vice versa si les joueurs choisissent le noir supposons que le joueur choisisse le blanc ici
·Étape 2: Le jeu commence. Dès que le jeu commence, le traitement de l’image commence à vérifier si white a joué le coup. La détection de mouvement est détectée par simple soustraction de deux images la première est l’image d’origine et la seconde est la nouvelle image formée aux changements de position des pièces à bord. Si la soustraction n’entraîne rien, cela signifie qu’aucun mouvement n’est joué. Si la soustraction donne une matrice non nulle, le mouvement est joué par white. Cela permet au robot de comprendre si le mouvement est joué ou non.
· Étape 3: Supposons que les jeux blancs déplacent E4 ici. Le déplacement est détecté par traitement d’image. Ensuite, le robot récupère le mouvement de son dictionnaire d’ouverture d’échecs que j’ai créé, puis joue le mouvement en conséquence. Le dictionnaire est comme {« e5 »:coordonnées}. À partir de cela, le Robot obtient les coordonnées souhaitées, puis par Cinématique inverse, ramasse le pion du carré e7 et le place au carré e5. C’est ainsi que fonctionne la cueillette et le placement des pièces.
· Étape 4: Tout ce processus ne cesse de se répéter à moins que le jeu ne se termine. L’ensemble du robot est contrôlé par Arduino pro mini qui contrôle et fournit le PWM nécessaire aux moteurs.
Conclusion: Le robot détecte avec succès les mouvements joués et ramasse et place les pièces d’échecs avec précision et précision sur l’échiquier à l’aide d’un traitement d’image.
Vidéo de travail: N’hésitez pas à consulter la vidéo de travail de ce projet ci-dessous:)