Sadržaj:

Šahovski robot Raspberry Pi Lynxmotion AL5D Ruka: 6 koraka
Šahovski robot Raspberry Pi Lynxmotion AL5D Ruka: 6 koraka

Video: Šahovski robot Raspberry Pi Lynxmotion AL5D Ruka: 6 koraka

Video: Šahovski robot Raspberry Pi Lynxmotion AL5D Ruka: 6 koraka
Video: Robotic arm test (Lynxmotion AL5B) 2024, Studeni
Anonim
Image
Image

Izgradite ovog šahovskog robota i vidite kako će pobijediti sve!

Prilično je jednostavno izgraditi ako možete slijediti upute o tome kako izgraditi ruku i ako imate barem elementarno znanje o računalnom programiranju i Linuxu.

Čovjek, igrajući bijelo, čini potez. To otkriva sustav vizualnog prepoznavanja. Robot tada razmišlja, a zatim se kreće. I tako dalje …

Možda najnovija stvar u ovom robotu je kôd za prepoznavanje poteza. Ovaj kôd vizije također se može koristiti za šahovske robote izrađene na mnoge druge načine (poput mog šahovskog robota s LEGO gradnjom).

Budući da ljudski potez prepoznaje sustav za vid, nije potreban nikakav poseban hardver za šahovsku ploču (poput trstičnih prekidača ili bilo čega drugog).

Moj kôd je dostupan za osobnu upotrebu.

Korak 1: Zahtjevi

Izgradnja hardvera
Izgradnja hardvera

Sav kôd je napisan na Pythonu, koji će, između ostalog, raditi na Raspberry Pi -u.

Raspberry Pi je malo, jeftino (oko 40 USD) jednokrilno računalo koje je razvila Zaklada Raspberry Pi. Izvorni model postao je daleko popularniji nego što se očekivalo, prodavajući se za namjene poput robotike

Moj robot koristi Raspberry Pi, a ruka robota izrađena je od kompleta: Lynxmotion AL5D. Komplet dolazi s pločom servo upravljača. (Veza koju sam upravo dao je na američku web stranicu RobotShopa; kliknite na jednu od zastavica u gornjem desnom kutu stranica njihove web stranice za vašu državu, npr. UK).

Također će vam trebati stol, kamera, osvjetljenje, tipkovnica, zaslon i pokazivački uređaj (npr. Miš). I naravno, šahovske figure i tabla. Sve ove stvari detaljnije opisujem u sljedećim koracima.

Korak 2: Izgradnja hardvera

Izgradnja hardvera
Izgradnja hardvera

Kao što sam ranije naznačio, srce koda vizije radit će s različitim nadogradnjama.

Ova konstrukcija koristi komplet robotskih ruku iz Lynxmotion -a, AL5D. U kompletu je i ploča za servo upravljač SSC-32U, koja se koristi za upravljanje motorima u ruci.

Odabrao sam AL5D jer ruka mora biti u stanju ponavljati točne pokrete i ne odmicati. Hvatač mora biti sposoban probijati se između komada, a ruka mora biti u mogućnosti doći do krajnje strane daske. Morao sam još napraviti neke izmjene kako je dolje navedeno.

Raspberry Pi koji koristim je Raspberry Pi 3 Model B+. Ovo razgovara sa pločom SSC-32U putem USB veze.

EDIT: Raspberry Pi 4 je sada dostupan. Trebat će vam:

  • Napajanje USB-C od 15 W-preporučujemo službeno napajanje Raspberry Pi USB-C
  • MicroSD kartica napunjena NOOBS-om, softverom koji instalira operativni sustav (kupite unaprijed učitanu SD karticu zajedno s Raspberry Pi-om ili preuzmite NOOBS da biste sami učitali karticu)
  • Tipkovnica i miš (vidi kasnije)
  • Kabel za povezivanje s zaslonom putem mikro HDMI priključka Raspberry Pi 4

Trebao sam daljnji zahvat na robotskoj ruci, pa sam je napravio neke manje izmjene, koristeći dodatne Lynxmotion dijelove koji se mogu kupiti u RobotShopu:

1. Zamijenjena je cijev od 4,5 inča sa cijelom od 6 inča-Lynxmotion dio AT-04, šifra proizvoda RB-Lyn-115.

2. Pokušao sam koristiti dodatni set opruga, ali vratio sam se na jedan par kada sam implementirao donju stavku 3

3. Povećali visinu razmakom od 1 inča-Lynxmotion dio HUB-16, šifra proizvoda RB-Lyn-336.

4. Prošireni doseg hvataljki pomoću rezervnih uložaka hvataljki pričvršćenih nekim rezervnim LEGO komadima koje sam imao i elastičnim trakama (!) Ovo funkcionira vrlo dobro jer uvodi fleksibilnost pri podizanju komada.

Ove se izmjene mogu vidjeti na gornjoj slici desno.

Iznad šahovske ploče postavljena je kamera. Ovo se koristi za određivanje kretanja čovjeka.

Korak 3: Softver koji pokreće robota

Sav kôd napisan je na Pythonu 2. Inverzna kinematička šifra potrebna je za pravilno kretanje različitih motora tako da se šahovske figure mogu pomicati. Koristim knjižnični kod iz Lynxmotion -a koji podržava pomicanje motora u dvije dimenzije i tome sam dodao svoj kôd za 3 dimenzije, kut hvataljke i kretanje čeljusti hvataljke.

Dakle, tada imamo kôd koji će pomicati komade, uzimati komade, zamak, podržavati en passant itd.

Šahovski motor je Stockfish - koji može pobijediti svakog čovjeka! "Stockfish je jedan od najjačih šahovskih motora na svijetu. Također je mnogo jači od najboljih ljudskih šahovskih velemajstora."

Kôd za pokretanje šahovske mašine, provjeru valjanosti poteza i tako dalje je ChessBoard.py

Za povezivanje s tim koristim neki kôd s https://chess.fortherapy.co.uk. Moj kôd (gore) tada se povezuje s tim!

Korak 4: Softver koji prepoznaje ljudski pokret

To sam detaljno opisao u uputama za moju Lego verziju šahovskog robota - pa ne moram to ponavljati ovdje!

Moji su "crni" komadi izvorno bili smeđi, ali obojala sam ih u mat crno ("bojom za ploču"), što čini da algoritam bolje radi u promjenjivijim uvjetima osvjetljenja.

Korak 5: Kamera, svjetla, tipkovnica, stol, zaslon

Kamera, svjetla, tipkovnica, stol, zaslon
Kamera, svjetla, tipkovnica, stol, zaslon
Kamera, svjetla, tipkovnica, stol, zaslon
Kamera, svjetla, tipkovnica, stol, zaslon

Oni su isti kao u mojoj Lego verziji šahovskog robota, pa ih ne moram ovdje ponavljati.

Osim što sam ovaj put upotrijebio drugačiji i znatno bolji zvučnik, Lenrui Bluetooth zvučnik, koji spajam na RPi putem USB -a.

Dostupno na amazon.com, amazon.co.uk i drugim prodajnim mjestima.

Također sada koristim drugu kameru - HP web kameru HD 2300 jer nisam mogao postići da se prethodna kamera pouzdano ponaša.

Algoritmi najbolje funkcioniraju ako šahovska ploča ima boju koja je daleko od boje figura! U mom robotu figure su prljavobijele i smeđe, a šahovska ploča ručno izrađena u kartonu i svijetlozelena je s malom razlikom između "crnih" i "bijelih" kvadrata.

Algoritmi trebaju posebnu orijentaciju kamere prema ploči. U nastavku napišite komentar ako imate problema. Ruka ima ograničen doseg, pa bi veličina kvadrata trebala biti 3,5 cm.

Korak 6: Dobivanje softvera

1. Stočna riba

Ako pokrećete Raspbian na svom RPi -u, možete koristiti Stockfish 7 engine - besplatan je. Samo trči:

sudo apt-get install stockfish

2. ChessBoard.py Preuzmite ovo odavde.

3. Kôd temeljen na https://chess.fortherapy.co.uk/home/a-wooden-chess… Dolazi s mojim kodom.

4. Python 2D inverzna kinematička knjižnica -

5. Moj kôd koji poziva sve gore navedene kodove i koji tjera robota na poteze, i moj kôd vida. Dobijte ovo od mene tako što ćete se najprije pretplatiti na moj YouTube kanal, zatim kliknuti na gumb "Omiljeno" pri vrhu ovog Instructable -a, a zatim objaviti komentar na ovom Instructable -u, i ja ću vam odgovoriti.

Preporučeni: