Descrizione del software:
- i· * Python Idle: Questa è la piattaforma di codifica utilizzata in questo progetto. Tutto il robot è codificato in linguaggio Python su Python Idle.
- · Open Cv: Questa è una libreria di elaborazione delle immagini utilizzata per dare al Robot la visione della scacchiera.
- · Pyfirmata: Questo è usato per codificare Arduino in linguaggio Python. Fondamentalmente questo collega Arduino a Python Idle invece di Arduino Ide.
Concepts for Autonomous Chess playing Robotic Arm: Working of robotic Arm involves series of concepts and mechanisms:
1. Forward Kinematics : Dati gli angoli del servomotore, la cinematica in avanti si occupa di trovare la posizione desiderata dell’effettuatore finale.(cioè dati gli angoli servo come theta_1, theta_2 e theta_3 La cinematica in avanti aiuta a trovare le coordinate X, Y e Z o la posizione dell’effettuatore finale).Questo è anche usato per verificare se gli angoli ottenuti dalla cinematica inversa sono corretti o meno. Il video è fornito nella cartella “Video” di questo file zip.
2. Cinematica inversa: date le coordinate X, Y E Z dell’effettuatore finale, la cinematica inversa si occupa di trovare gli angoli desiderati dei Servi per raggiungere la posizione desiderata. (ad esempio: per raccogliere un oggetto che è posto in posizione (X, Y, Z) La cinematica inversa può essere utilizzata per raggiungere quel particolare oggetto e afferrarlo. Il video è fornito nella cartella “Video” di questo file zip.
3. Diagrammi cinematici: Questi sono i diagrammi utilizzati per derivare e risolvere le equazioni della cinematica in avanti e inversa. Ho risolto il diagramma cinematico per un manipolatore articolato 3DOF.
4. Parametri Denavit–Hartenberg: Questo è un metodo per risolvere facilmente la cinematica in avanti creando una tabella di parametri.
5. Matrici rotazionali e vettori di spostamento : Questi sono utilizzati per trovare la matrice di trasformazione omogenea e anche per convertire le coordinate della telecamera in coordinate del telaio di base dei robot.
6. Elaborazione delle immagini: Questo è usato per dare visione Robot di ciò che sta accadendo sulla scacchiera come se mossa è giocato o no o se mossa è giocato da bianco o nero.
Passo dopo passo di lavoro del braccio robotico:
· Passo 1: Primo ingresso dal giocatore è dato se vuole nero o bianco. Se il giocatore sceglie il bianco, il braccio robotico prende il colore nero e il colore nero viene dato come input e viceversa se i giocatori scelgono il nero supponiamo che il giocatore scelga il bianco qui
· Step2: Inizia il gioco. Non appena inizia il gioco, l’elaborazione delle immagini inizia a verificare se white ha giocato la mossa. Il rilevamento del movimento viene rilevato dalla semplice sottrazione di due immagini prima è l’immagine originale e la seconda è la nuova immagine formata ai cambiamenti di posizione dei pezzi a bordo. Se la sottrazione si traduce in nulla che significa nessuna mossa viene riprodotto. Se la sottrazione si traduce in una matrice diversa da zero, lo spostamento viene riprodotto da white. Ciò consente al Robot di capire se la mossa viene riprodotta o meno.
· Passo 3: Supponiamo che i giochi bianchi spostino E4 qui. Move viene rilevato dall’elaborazione delle immagini. Quindi robot recupera la mossa dal suo dizionario di apertura degli scacchi che ho creato e quindi riproduce la mossa di conseguenza. Il dizionario è come {“e5”: coordinate }. Da questo il Robot ottiene le coordinate desiderate e quindi dalla cinematica inversa preleva il pedone dal quadrato e7 e lo posiziona al quadrato e5. Ecco come funziona la raccolta e il posizionamento del pezzo.
· Fase 4: L’intero processo continua a ripetersi a meno che il gioco non arrivi alla conclusione. L’intero robot è controllato da Arduino pro mini che controlla e fornisce PWM necessario ai motori.
Conclusione: Il robot rileva con successo le mosse giocate e anche con successo raccoglie e posizionare i pezzi degli scacchi con precisione e precisione sulla scacchiera utilizzando l’elaborazione delle immagini.
WorkingVideo: Sentiti libero di controllare il video di lavoro di questo progetto qui sotto 🙂