Software Description:
- · Python Idle : aceasta este platforma de codificare utilizată în acest proiect. Întregul Robot este codificat în limbajul Python pe Python Idle.
- · Open Cv : aceasta este o bibliotecă de procesare a imaginilor utilizată pentru a oferi robotului viziunea tablei de șah.
- · Pyfirmata: acesta este folosit pentru a codifica Arduino în limbajul Python. Practic, acest lucru conectează Arduino la Python Idle în loc de Arduino Ide.
Concepts for Autonomous Chess playing Robotic Arm: Working of robotic Arm involves series of concepts and mechanisms:
1. Forward Kinematics : Având în vedere unghiurile servomotorului, cinematica înainte se ocupă de găsirea poziției dorite a Efectorului final.(adică având în vedere unghiurile servo, cum ar fi theta_1, theta_2 și theta_3 cinematică înainte ajută la găsirea X, Y și Z coordonatele sau poziția efectorului final).Acest lucru este, de asemenea, utilizat pentru a verifica dacă unghiurile obținute prin cinematica inversă sunt corecte sau nu. Videoclipul este furnizat în dosarul „Videoclipuri” al acestui fișier zip.
2. Cinematica inversă: având în vedere coordonatele X, Y și Z ale efectorului final, cinematica inversă se ocupă cu găsirea unghiurilor dorite ale Servo-urilor pentru a ajunge la locația dorită. (de exemplu : pentru alegerea unui obiect care este plasat în poziție (X, Y, Z) cinematica inversă poate fi utilizată pentru a ajunge la acel obiect și a-l apuca. Videoclipul este furnizat în dosarul „Videoclipuri” al acestui fișier zip.
3. Diagrame cinematice: acestea sunt diagramele utilizate pentru a deriva și rezolva ecuațiile cinematice înainte și invers. Am rezolvat diagrama cinematică pentru un Manipulator articulat 3dof.
4. Parametrii Denavit-Hartenberg: aceasta este o metodă de a rezolva cu ușurință cinematica înainte, făcând un tabel de parametri.
5. Matrici rotative și Vectori de deplasare : Acestea sunt utilizate în găsirea matricei de transformare omogene și, de asemenea, pentru Conversia coordonatelor camerei în coordonate ale cadrului de bază al roboților.
6. Procesarea imaginilor: acest lucru este folosit pentru a oferi viziunea robotului asupra a ceea ce se întâmplă pe tabla de șah, cum ar fi dacă mișcarea este jucată sau nu sau dacă mișcarea este jucată de alb sau negru.
pas cu pas de lucru de braț Robotic:
· Pasul 1: prima intrare de la player-ul este dat dacă vrea negru sau alb. Dacă jucătorul alege alb, atunci brațul Robotic ia culoarea neagră și culoarea neagră este dată ca intrare și invers dacă jucătorii aleg Negru Să presupunem că jucătorul alege alb aici
· Pasul 2: Începe jocul. De îndată ce începe jocul, procesarea imaginilor începe să verifice dacă albul a jucat mișcarea. Detectarea mișcării este detectată prin scăderea simplă a două imagini prima este imaginea originală și a doua este noua imagine formată la schimbările de poziție a pieselor la bord. Dacă scăderea nu are ca rezultat nimic care înseamnă că nu se joacă nicio mișcare. Dacă scăderea are ca rezultat o matrice diferită de zero, atunci mutarea este redată de alb. Acest lucru permite robotului să înțeleagă dacă mutarea este redată sau nu.
· pas 3: Să presupunem că joacă alb muta E4 aici. Mutarea este detectată prin procesarea imaginilor. Apoi robotul preia mutarea din Dicționarul de deschidere a șahului pe care l-am creat și apoi joacă mișcarea în consecință. Dicționarul este ca {„E5”: coordonate }. Din aceasta robotul obține coordonatele dorite și apoi prin cinematică inversă preia pionul din pătratul e7 și îl plasează la pătratul E5. Acesta este modul în care funcționează alegerea și plasarea pieselor.
· Pasul 4: Întregul proces continuă să se repete, cu excepția cazului în care jocul ajunge la concluzie. Întregul Robot este controlat de Arduino Pro mini, care controlează și furnizează PWM necesar motoarelor.
concluzie: robotul detectează cu succes mișcările jucate și, de asemenea, preia și plasează cu succes piesele de șah cu precizie și precizie pe tabla de șah folosind procesarea imaginilor.
WorkingVideo: Simțiți-vă liber pentru a verifica video de lucru al acestui proiect de mai jos 🙂