Mündəricat:

Şahmat Robotu Raspberry Pi Lynxmotion AL5D Qol: 6 addım
Şahmat Robotu Raspberry Pi Lynxmotion AL5D Qol: 6 addım

Video: Şahmat Robotu Raspberry Pi Lynxmotion AL5D Qol: 6 addım

Video: Şahmat Robotu Raspberry Pi Lynxmotion AL5D Qol: 6 addım
Video: Chinese chess robot - Rearrange 5 chess experiment . 2024, Noyabr
Anonim
Image
Image

Bu şahmat robotunu yaradın və hamını məğlub etdiyini görün!

Qolun necə qurulacağına dair təlimatları izləyə bilsəniz və ən azı kompüter proqramlaşdırma və Linux haqqında ilkin biliklərə sahibsinizsə qurmaq olduqca asandır.

Ağ oynayan insan hərəkət edir. Bu vizual tanıma sistemi tərəfindən aşkar edilir. Robot sonra fikirləşir və sonra hərəkət edir. Və s …

Bəlkə də bu robotdakı ən yeni şey, hərəkətin tanınması kodudur. Bu görmə kodu bir çox başqa şəkildə qurulmuş şahmat robotları üçün də istifadə edilə bilər (məsələn, mənim şahmat robotum LEGO quruluşu kimi).

İnsanın hərəkəti bir görmə sistemi ilə tanındığından xüsusi bir şahmat taxtası aparatına (qamış açarları və ya hər hansı bir şeyə) ehtiyac yoxdur.

Mənim kodum şəxsi istifadə üçün əlçatandır.

Addım 1: Tələblər

Hardware Build
Hardware Build

Bütün kodlar, başqa şeylər arasında bir Raspberry Pi üzərində işləyəcək Python -da yazılmışdır.

Raspberry Pi, Raspberry Pi Foundation tərəfindən hazırlanmış kiçik, ucuz (təxminən 40 dollar) bir lövhəli kompüterdir. Orijinal model, robototexnika kimi istifadə üçün satıldığından daha çox populyarlaşdı

Robotum Raspberry Pi istifadə edir və robot qolu bir dəstdən hazırlanmışdır: Lynxmotion AL5D. Kit, servo idarəetmə lövhəsi ilə birlikdə gəlir. (Yeni verdiyim link RobotShop -un ABŞ saytına aiddir; ölkəniz üçün sayt səhifələrinin sağ üst tərəfindəki bayraqlardan birini vurun, məsələn Böyük Britaniya).

Ayrıca masa, kamera, işıqlandırma, klaviatura, ekran və işarə cihazına (məsələn, siçan) ehtiyacınız olacaq. Əlbəttə ki, şahmat parçaları və lövhə. Sonrakı addımlarda bütün bunları daha ətraflı təsvir edirəm.

Addım 2: Hardware Build

Hardware Build
Hardware Build

Daha əvvəl də qeyd etdiyim kimi, görmə kodunun ürəyi müxtəlif quruluşlarla işləyəcək.

Bu quruluşda Lynxmotion, AL5D robot kol dəsti istifadə olunur. Kitə, qolundakı mühərrikləri idarə etmək üçün istifadə olunan SSC-32U servo nəzarətçi lövhəsi daxildir.

AL5D -ni seçdim, çünki qol təkrar dəqiq hərəkətlər etməli və sürüşməməlidir. Qapıçı parçaların arasına girə bilməli və qolu lövhənin ən ucuna çata bilməlidir. Hələ aşağıda ətraflı şəkildə bəzi dəyişikliklər etməliydim.

İstifadə etdiyim Raspberry Pi, Raspberry Pi 3 Model B+-dır. Bu, USB bağlantısı ilə SSC-32U lövhəsi ilə danışır.

EDIT: Raspberry Pi 4 artıq mövcuddur. Sizə lazım olacaq:

  • 15W USB-C enerji təchizatı-rəsmi Raspberry Pi USB-C Güc Təchizatını tövsiyə edirik
  • Əməliyyat sistemini quraşdıran proqram NOOBS ilə yüklənmiş bir microSD kartı (Raspberry Pi ilə birlikdə əvvəlcədən yüklənmiş bir SD kartı alın və ya kartı özünüz yükləmək üçün NOOBS yükləyin)
  • Klaviatura və siçan (daha sonra bax)
  • Raspberry Pi 4 -ün mikro HDMI portu vasitəsilə ekrana qoşulmaq üçün kabel

Robot qoluna daha çox çatmağım lazım idi, buna görə RobotShop -dan satın alınacaq əlavə Lynxmotion hissələri istifadə edərək bəzi kiçik dəyişikliklər etdim:

1. 4.5 düymlük borunu 6 düymlük bir boru ilə əvəz etdi-Lynxmotion hissəsi AT-04, məhsul kodu RB-Lyn-115.

2. Əlavə bir yay dəsti istifadə etməyə çalışdım, ancaq aşağıda 3 -cü maddəni tətbiq edərkən bir cütə qayıtdım

3. Hündürlüyü 1 düymlük boşluqdan istifadə edərək genişləndirin-Lynxmotion hissəsi HUB-16, məhsul kodu RB-Lyn-336.

4. Əlimdə olan bəzi ehtiyat LEGO parçaları və elastik bantlarla bağlanan ehtiyat tutacaqları istifadə edərək tutucunun genişliyini artırın (!) Bu, parçaları qaldırarkən elastikliyi təmin etdiyi üçün çox yaxşı işləyir.

Bu dəyişiklikləri yuxarıdakı şəkildəki sağda görə bilərsiniz.

Şahmat taxtasının üstündə bir kamera var. Bu, insanın hərəkətini təyin etmək üçün istifadə olunur.

Addım 3: Robotu hərəkət etdirən proqram

Bütün kodlar Python 2 -də yazılmışdır. Şahmat fiqurlarını hərəkət etdirmək üçün müxtəlif mühərrikləri düzgün hərəkət etdirmək üçün tərs kinematik koda ehtiyac var. Motorları iki ölçüdə hərəkət etdirməyi dəstəkləyən Lynxmotion kitabxana kodundan istifadə edirəm və öz kodumla 3 ölçü, tutucu bucaq və tutucu çənə hərəkəti üçün əlavə etdim.

Beləliklə, parçaları hərəkətə gətirəcək, parçaları götürəcək, qala, dəstəkləyərkən və s.

Şahmat mühərriki hər insanı məğlub edə biləcək Stockfishdir! "Stockfish, dünyanın ən güclü şahmat mühərriklərindən biridir. Həm də ən yaxşı insan şahmat qrossmeysterlərindən qat -qat güclüdür."

Şahmat mühərrikini idarə edən, bir hərəkətin etibarlı olduğunu təsdiq edən kod ChessBoard.py

Bununla əlaqə qurmaq üçün https://chess.fortherapy.co.uk saytından bəzi kodlardan istifadə edirəm. Kodum (yuxarıda) bundan sonra interfeys yaradır!

Addım 4: İnsanın hərəkətini tanıyan proqram

Bunu Chess Robot Lego quruluşum üçün Təlimatlandırmada ətraflı təsvir etdim - buna görə də burada təkrarlamağa ehtiyac yoxdur!

"Qara" parçalarım əvvəlcə qəhvəyi rəngdə idi, amma onları mat qara rəngə boyadım ("yazı taxtası boyası" ilə), bu da alqoritmin daha dəyişkən işıqlandırma şəraitində daha yaxşı işləməsini təmin edir.

Addım 5: Kamera, İşıqlar, Klaviatura, Cədvəl, Ekran

Kamera, İşıqlar, Klaviatura, Masa, Ekran
Kamera, İşıqlar, Klaviatura, Masa, Ekran
Kamera, İşıqlar, Klaviatura, Masa, Ekran
Kamera, İşıqlar, Klaviatura, Masa, Ekran

Bunlar Şahmat Robotu Lego quruluşumdakı kimidir, buna görə də onları burada təkrarlamağa ehtiyac yoxdur.

Bu dəfə fərqli və əhəmiyyətli dərəcədə daha yaxşı bir dinamikdən, RPi -yə USB ilə bağladığım bir Lenrui Bluetooth dinamikindən istifadə etdim.

Amazon.com, amazon.co.uk və digər satış yerlərində mövcuddur.

Həm də indi fərqli bir kamera - HP Webcam HD 2300 istifadə edirəm, çünki əvvəlki kameranın etibarlı davranmasını təmin edə bilmədim.

Şahmat taxtası parçaların rəngindən çox uzaq bir rəngə sahib olduqda alqoritmlər daha yaxşı işləyir! Robotumda parçalar ağ və qəhvəyi rəngdədir və şahmat taxtası əllə hazırlanmışdır və "qara" və "ağ" kvadratlar arasında az fərq olan açıq yaşıldır.

Alqoritmlərin quraşdırılması üçün kameranın müəyyən bir istiqamətinə ehtiyac var. Bir probleminiz varsa aşağıda şərh edin. Qol məhduddur və buna görə kvadrat ölçüsü 3,5 sm olmalıdır.

Addım 6: Proqramı əldə edin

1. Balıq balığı

Raspi -ni RPi -də işləsəniz, Stockfish 7 mühərrikindən istifadə edə bilərsiniz - pulsuzdur. Sadəcə qaç:

sudo apt-get stockfish yükləyin

2. ChessBoard.py Bunu buradan alın.

3. https://chess.fortherapy.co.uk/home/a-wooden-chess… əsasında hazırlanmış kod Kodumla birlikdə gəlir.

4. Python 2D Ters Kinematika kitabxanası -

5. Yuxarıdakı bütün kodları çağıran və robotun hərəkət etməsini təmin edən kodum və görmə kodum. Bunu əvvəlcə YouTube kanalıma abunə olaraq, sonra bu Təlimatlandırmanın yuxarısındakı "Sevimlilər" düyməsini basaraq və bu Təlimata bir şərh yazaraq bunu məndən alın və mən cavab verəcəm.

Tövsiyə: