Mündəricat:
- Addım 1: Tələblər
- Addım 2: Hardware Build
- Addım 3: Robotu hərəkət etdirən proqram
- Addım 4: İnsanın hərəkətini tanıyan proqram
- Addım 5: Kamera, İşıqlar, Klaviatura, Cədvəl, Ekran
- Addım 6: Proqramı əldə edin
Video: Şahmat Robotu Raspberry Pi Lynxmotion AL5D Qol: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
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
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
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
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ə:
LEGO və Raspberry Pi ilə hazırlanmış Şahmat Robotu: 6 addım
LEGO və Raspberry Pi ilə hazırlanmış Şahmat Robotu: Bu şahmat robotu ilə dostlarınızı heyrətləndirin! Əgər əvvəllər LEGO robotları hazırlamısınızsa və ən azı kompüter proqramlaşdırma və Linux haqqında ilkin məlumatlara sahibsinizsə qurmaq çox çətin deyil. Robot öz hərəkətlərini edir və vizual tanıma istifadə edir
Danışılan Şahmat Adları: 7 addım (şəkillərlə)
Danışılan Söz Şahmat Parçaları: Səsimi istifadə edərək çox şəxsi şahmat parçaları hazırladım. Hər bir parça adını söyləyərkən etdiyim səsin formasına əsaslanır. Tam bir set deyil, çünki qarşı tərəf də eyni şəkildə deyil, rəqibimin səsi ilə edilməlidir
Sadə Arduino Şahmat Saatı: 5 addım
Sadə Arduino Şahmat Saatı: Arduino ilə Şahmat Saatı etməyi düşündüyümdə məqsəd, sinifdən istifadə etmədən sadə proqramlaşdırma və AVR reyestri ilə işləmək idi. İstifadə olunan baza Arduino Reference idi. Ən çətin şey, yalnız zaman sayğacını idarə etmək idi
Rəqəmsal Şahmat - Şahmat Oyununuzu Onlayn izləyin: 5 addım
Rəqəmsal Şahmat - Şahmat Oyununuzu Onlayn İzləyin: Gəncliyimdən bəri çox şahmat oynayıram və internetdə kompüterlərə və ya canlı rəqiblərə qarşı şahmat oynamaq üçün çoxlu sayda veb saytları olduğu üçün heç vaxt bir sayt tapmamışam. əslində oynadığınız şahmat oyununuzu izləyir
[Arduino Robotu] Bir Motion Capture Robotu Necə Hazırlanır - Başparmak Robotu - Servo Motor - Mənbə Kodu: 26 Adım (Şəkillərlə birlikdə)
[Arduino Robotu] Bir Motion Capture Robotu Necə Hazırlanır | Başparmak Robotu | Servo Motor | Mənbə Kodu: Başparmak Robotu. MG90S servo motor potensialiometrindən istifadə olunub. Çox əyləncəli və asandır! Kod çox sadədir. Cəmi 30 sətirdir. Bir hərəkətə bənzəyir. Hər hansı bir sualınız və ya geribildiriminizi bildirin! [Təlimat] Mənbə Kodu https: //github.c