Program Beskrivelse:
- · Python Idle : dette er den kodningsplatform, der bruges i dette projekt. Hele Robot er kodet i Python sprog på Python tomgang.
- · Åbn Cv : dette er et Billedbehandlingsbibliotek, der bruges til at give robotten visionen om skakbrættet.
- · Pyfirmata: dette bruges til at kode Arduino i Python sprog. Dybest set forbinder dette Arduino til Python Idle i stedet for Arduino Ide.
Concepts for Autonomous Chess playing Robotic Arm: Working of robotic Arm involves series of concepts and mechanisms:
1. Forward Kinematics : I betragtning af vinklerne på servomotor fremad kinematik beskæftiger sig med at finde den ønskede Position af Sluteffektor.(dvs. givet servovinkler som theta_1, theta_2 og Theta_3 fremad kinematik hjælper med at finde koordinater, y OG Å eller position for sluteffektoren).Dette bruges også til at kontrollere, om vinkler opnået ved invers kinematik er korrekte eller ej. Videoen findes i denne lynlås filens “videoer” mappe.
2. Den inverse kinematik handler om at finde de ønskede vinkler på servoerne for at nå den ønskede placering. omvendt kinematik kan bruges til at nå det pågældende objekt og få fat i det. Videoen findes i denne lynlås filens “videoer” mappe.
3. Kinematiske diagrammer: disse er de diagrammer, der bruges til at udlede og løse ligningerne af fremad og omvendt kinematik. Jeg løste kinematisk diagram for en 3dof artikuleret Manipulator.
4. Denavit-Hartenberg parametre: dette er en metode til at løse fremad kinematik nemt ved at lave en Parameter tabel.
5. Rotationsmatricer og Forskydningsvektorer : Disse bruges til at finde homogen Transformationsmatrice og også til konvertering af kamerakoordinater til robotter base frame koordinater.
6. Billedbehandling: dette bruges til at give Robot vision om, hvad der sker på skakbræt som hvis move spilles eller ej, eller hvis move spilles af hvid eller sort.
trin for trin bearbejdning af robotarm:
· Trin 1: første indgang fra afspilleren gives, om han vil have sort eller hvid. Hvis spilleren vælger hvid, tager robotarmen sort farve, og sort farve gives som input og omvendt, hvis spillerne vælger sort Antag, at spilleren vælger hvid her
· Step2: spillet starter. Så snart spillet begynder, billedbehandling begynder at kontrollere, om hvid spillede farten. Detektion af bevægelse detekteres ved simpel subtraktion af to billeder, først er det originale billede, og for det andet er det nye billede dannet til ændringer i placeringen af stykker om bord. Hvis subtraktion resulterer i intet, der betyder, at der ikke spilles noget træk. Hvis subtraktion resulterer i en ikke-nul-matrice, spilles move af hvid. Dette lader Robot forstå, om move spilles eller ej.
· Trin 3: Antag hvide spiller flytte E4 her. Move registreres ved billedbehandling. Derefter henter robot flytningen fra sin skakåbningsordbog, jeg oprettede, og spiller derefter Flytningen i overensstemmelse hermed. Ordbogen er som { “e5”:koordinater }. Herfra får robotten de ønskede koordinater og henter derefter ved invers kinematik bonden fra E7-pladsen og placerer den på e5-pladsen. Sådan fungerer plukning og placering af stykke.
· Trin 4: Hele denne proces fortsætter med at gentage sig selv, medmindre spillet kommer til konklusion. Hele robotten styres af Arduino pro mini, som styrer og leverer nødvendige motorer til motorer.
konklusion: roboten registrerer med succes de spillede bevægelser og samler også skakbrikkerne nøjagtigt og præcist på skakbrættet ved hjælp af billedbehandling.
Arbejdevideo: du er velkommen til at tjekke arbejdsvideoen til dette projekt nedenfor:)