Obsah:
- Krok 1: Požiadavky
- Krok 2: Zostava hardvéru
- Krok 3: Softvér, ktorý presúva robota
- Krok 4: Softvér, ktorý rozpoznáva ľudský pohyb
- Krok 5: Fotoaparát, svetlá, klávesnica, stôl, displej
- Krok 6: Získanie softvéru
Video: Šachový robot Raspberry Pi Lynxmotion AL5D Rameno: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
Postavte tohto šachového robota a uvidíte, že porazí každého!
Postavenie je veľmi jednoduché, ak sa budete riadiť pokynmi na stavbu ramena a ak máte aspoň základné znalosti o počítačovom programovaní a Linuxe.
Človek, ktorý hrá biely, urobí pohyb. Toto je detekované systémom vizuálneho rozpoznávania. Potom robot uvažuje a potom sa pohne. A tak ďalej …
Snáď najaktuálnejšou vecou v tomto robote je kód na rozpoznávanie pohybov. Tento kód videnia je použiteľný aj pre šachové roboty postavené mnohými inými spôsobmi (napríklad môj šachový robot so stavbou LEGO).
Pretože pohyb človeka je rozpoznaný systémom videnia, nie je potrebný žiadny špeciálny hardvér na šachovnici (napríklad jazýčkové spínače alebo čokoľvek).
Môj kód je k dispozícii na osobné použitie.
Krok 1: Požiadavky
Celý kód je napísaný v Pythone, ktorý pobeží okrem iného na Raspberry Pi.
Raspberry Pi je malý, lacný (asi 40 dolárov) jednodoskový počítač vyvinutý Raspberry Pi Foundation. Pôvodný model sa stal oveľa obľúbenejším, ako sa očakávalo, a predával sa na použitie ako robotika
Môj robot používa Raspberry Pi a rameno robota je vyrobené zo súpravy: Lynxmotion AL5D. Súprava sa dodáva s doskou na ovládanie serva. (Odkaz, ktorý som práve uviedol, je na webovú stránku RobotShop v USA; kliknite na jeden z vlajok v pravom hornom rohu stránok týchto stránok pre vašu krajinu, napr. Spojené kráľovstvo).
Budete tiež potrebovať stôl, fotoaparát, osvetlenie, klávesnicu, obrazovku a ukazovacie zariadenie (napr. Myš). A samozrejme, šachové figúrky a doska. Všetky tieto veci podrobnejšie popíšem v nasledujúcich krokoch.
Krok 2: Zostava hardvéru
Ako som už naznačil, jadro kódu videnia bude fungovať s rôznymi zostavami.
Táto zostava používa súpravu robotického ramena od spoločnosti Lynxmotion, AL5D. Súčasťou súpravy je doska servoovládača SSC-32U, ktorá slúži na ovládanie motorov v ramene.
Vybral som si AL5D, pretože rameno musí byť schopné vykonávať opakované presné pohyby a neodpadávať. Drapák sa musí dostať medzi figúrky a rameno musí dosiahnuť na vzdialenejšiu stranu dosky. Stále som potreboval vykonať určité úpravy, ako je uvedené nižšie.
Raspberry Pi, ktorý používam, je Raspberry Pi 3 Model B+. Rozhovor s doskou SSC-32U prebieha prostredníctvom pripojenia USB.
EDIT: Raspberry Pi 4 je teraz k dispozícii. Budete potrebovať:
- 15W napájací zdroj USB-C-odporúčame oficiálny napájací zdroj Raspberry Pi USB-C
- Karta microSD nabitá systémom NOOBS, softvérom, ktorý inštaluje operačný systém (kúpte si vopred načítanú kartu SD spolu s Raspberry Pi alebo si stiahnite NOOBS a načítajte kartu sami)
- Klávesnica a myš (pozri neskôr)
- Kábel na pripojenie k displeju prostredníctvom portu micro HDMI Raspberry Pi 4
Potreboval som ďalší dosah na rameno robota, a tak som na ňom vykonal niekoľko drobných úprav pomocou ďalších dielov Lynxmotion, ktoré je možné kúpiť v obchode RobotShop:
1. Vymenená 4,5-palcová trubica za 6 palcovú-časť Lynxmotion AT-04, kód produktu RB-Lyn-115.
2. Skúšal som pomocou ďalšej sady pružín, ale vrátil som sa k jednému páru, keď som implementoval položku 3 nižšie
3. Predĺžte výšku pomocou 1-palcového rozpery-časť Lynxmotion HUB-16, kód produktu RB-Lyn-336.
4. Predĺžte dosah chápadla pomocou náhradných uchopovacích podložiek pripevnených o niektoré náhradné diely LEGO, ktoré som mal, a gumičiek (!) Toto funguje veľmi dobre, pretože prináša flexibilitu pri zdvíhaní dielov.
Tieto úpravy môžete vidieť na obrázku vyššie vpravo.
Nad šachovnicou je namontovaná kamera. Toto sa používa na určenie pohybu človeka.
Krok 3: Softvér, ktorý presúva robota
Celý kód je napísaný v jazyku Python 2. Na správne presunutie rôznych motorov je potrebný inverzný kinematický kód, aby bolo možné pohybovať šachovými figúrkami. Používam kód knižnice od Lynxmotion, ktorý podporuje pohyb motorov v dvoch dimenziách a pridal som k tomu svoj vlastný kód pre 3 rozmery, uhol uchopenia a pohyb čeľuste chápadla.
Takže potom máme kód, ktorý bude presúvať figúrky, brať figúrky, hrad, podporovať ich a podobne.
Šachovým motorom je Stockfish - ktorý dokáže poraziť každého človeka! "Stockfish je jedným z najsilnejších šachových motorov na svete. Je tiež oveľa silnejší ako najlepší ľudskí šachoví veľmajstri."
Kód na ovládanie šachového motora, overenie platnosti ťahu a podobne je ChessBoard.py
Na prepojenie s tým používam nejaký kód z https://chess.fortherapy.co.uk. Môj kód (vyššie) s tým potom spolupracuje!
Krok 4: Softvér, ktorý rozpoznáva ľudský pohyb
Podrobne som to popísal v zostave Instructable for my Chess Robot Lego - takže to tu nemusím opakovať!
Moje „čierne“kúsky boli pôvodne hnedé, ale namaľoval som ich matnou čiernou („tabuľovou farbou“), vďaka čomu algoritmus funguje lepšie za premenlivejších svetelných podmienok.
Krok 5: Fotoaparát, svetlá, klávesnica, stôl, displej
Sú rovnaké ako v mojej stavbe Chess Robot Lego, takže ich tu nemusím opakovať.
Až na to, že tentokrát som použil iný a výrazne lepší reproduktor, Bluetooth reproduktor Lenrui, ktorý k RPi pripájam pomocou USB.
K dispozícii na amazon.com, amazon.co.uk a ďalších predajniach.
Teraz tiež používam iný fotoaparát - webovú kameru HP Webcam HD 2300, pretože som nemohol dosiahnuť, aby sa predchádzajúci fotoaparát správal spoľahlivo.
Algoritmy fungujú najlepšie, ak má šachovnica farbu, ktorá má ďaleko od farby figúrok! V mojom robote sú figúrky sivobiele a hnedé a šachová doska je ručne vyrobená z karty a je svetlozelená s malým rozdielom medzi „čiernym“a „bielym“štvorcom.
Algoritmy vyžadujú konkrétnu orientáciu kamery na dosku. Ak máte problém, komentujte nižšie. Rameno má obmedzený dosah, a preto by mala mať veľkosť štvorca 3,5 cm.
Krok 6: Získanie softvéru
1. Stockfish
Ak na svojom RPi spustíte Raspbian, môžete použiť engine Stockfish 7 - je to zadarmo. Proste bež:
sudo apt-get install stockfish
2. ChessBoard.py Získajte to odtiaľto.
3. Kód založený na https://chess.fortherapy.co.uk/home/a-wooden-chess… Dodáva sa s mojím kódom.
4. Knižnica inverznej kinematiky Python 2D -
5. Môj kód, ktorý vyvolá všetok kód uvedený vyššie a ktorý prinúti robota vykonať pohyby, a môj kód videnia. Získajte to odo mňa tak, že sa najskôr prihlásite na odber môjho kanála YouTube, potom kliknete na tlačidlo „Obľúbené“v hornej časti tohto Pokynu a potom uverejníte komentár k tomuto Pokynu a ja odpoviem.
Odporúča:
Robotické rameno s uchopovačom: 9 krokov (s obrázkami)
Robotické rameno s drapákom: Zber citrónovníkov je považovaný za ťažkú prácu, kvôli veľkej veľkosti stromov a tiež kvôli horúcemu podnebiu v oblastiach, kde sú vysadené citrónové stromy. Preto potrebujeme niečo iné, čo by pomohlo poľnohospodárskym pracovníkom dokončiť prácu viac
3D robotické rameno s krokovými motormi ovládanými Bluetooth: 12 krokov
3D robotické rameno s Bluetooth ovládanými krokovými motormi: V tomto tutoriáli uvidíme, ako vytvoriť 3D robotické rameno s krokovými motormi 28byj-48, servomotorom a 3D tlačenými časťami. Doska s plošnými spojmi, zdrojový kód, elektrická schéma, zdrojový kód a množstvo informácií sú uvedené na mojej webovej stránke
Šachový robot vyrobený z LEGO a Raspberry Pi: 6 krokov
Šachový robot vyrobený z LEGO a Raspberry Pi: Ohromte svojich priateľov týmto šachovým robotom! Nie je ťažké zostaviť, ak ste predtým vyrobili roboty LEGO a ak máte aspoň základné znalosti o počítačovom programovaní a Linuxe. Robot robí vlastné pohyby a používa vizuálne rozpoznávanie
ROBOTICKÁ RAMENO Xbox 360 [ARDUINO]: RAMENO AXIOM: 4 kroky
ROBOTICKÁ RÁMČKA Xbox 360 [ARDUINO]: RAMENO AXIOM:
Ako zostaviť pôsobivé drevené robotické rameno (časť 1: Robot na sledovanie línií)-na základe mikro: Bit: 9 krokov
Ako zostaviť pôsobivé drevené robotické rameno (časť 1: Robot na sledovanie línií)-na základe mikro: Bit: Tento drevený chlapík má tri podoby, je veľmi odlišný a pôsobivý. Potom sa do toho dostaneme jeden po druhom