Tartalomjegyzék:
- 1. lépés: Követelmények
- 2. lépés: A hardver felépítése
- 3. lépés: A robotot mozgató szoftver
- 4. lépés: A szoftver, amely felismeri az ember mozgását
- 5. lépés: Kamera, fények, billentyűzet, asztal, kijelző
- 6. lépés: A szoftver beszerzése
Videó: Sakkrobot Raspberry Pi Lynxmotion AL5D Kar: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Építsd meg ezt a sakkrobotot, és nézd meg, hogyan ver mindenkit!
Elég könnyű felépíteni, ha követi a kar felépítésére vonatkozó utasításokat, és ha legalább elemi ismeretekkel rendelkezik a számítógépes programozásról és a Linuxról.
A fehérrel játszó ember mozog. Ezt a vizuális felismerő rendszer észleli. A robot ekkor elgondolkodik, majd megmozdul. Stb …
Talán a legújszerűbb dolog ebben a robotban a mozgásfelismerés kódja. Ez a látáskód használható sok más módon épített sakkrobotok esetében is (például a LEGO építésű sakkrobotom).
Mivel az emberi lépést látórendszer ismeri fel, nincs szükség speciális sakktábla hardverre (például nádkapcsolókra vagy bármi másra).
A kódom személyes használatra elérhető.
1. lépés: Követelmények
Az összes kód Pythonban van írva, amely többek között Raspberry Pi -n is fut.
A Raspberry Pi egy kicsi, olcsó (körülbelül 40 dollár) egylapos számítógép, amelyet a Raspberry Pi Foundation fejlesztett ki. Az eredeti modell a vártnál sokkal népszerűbb lett, és olyan célokra értékesítették, mint a robotika
A robotom Raspberry Pi -t használ, és a robotkar egy készletből épül fel: Lynxmotion AL5D. A készlet szervo vezérlőpanelt tartalmaz. (Az imént megadott link a RobotShop amerikai webhelyére mutat; kattintson az egyik zászlóra az Ön országának megfelelő oldalak jobb felső sarkában (pl. Egyesült Királyság).
Szüksége lesz asztalra, kamerára, világításra, billentyűzetre, képernyőre és mutatóeszközre (pl. Egér) is. És persze sakkfigurák és tábla. Mindezeket részletesebben leírom a következő lépésekben.
2. lépés: A hardver felépítése
Amint korábban jeleztem, a látáskód szíve különféle konstrukciókkal fog működni.
Ez a konstrukció a Lynxmotion, az AL5D robotkar készletét használja. A készlethez tartozik az SSC-32U szervo vezérlőkártya, amely a karban lévő motorok vezérlésére szolgál.
Azért választottam az AL5D -t, mert a karnak képesnek kell lennie ismételt pontos mozdulatok elvégzésére, és nem sodródhat le. A markolónak képesnek kell lennie a darabok közé kerülni, a karnak pedig el kell érnie a tábla túlsó oldalát. Még módosítanom kellett az alábbiakban részletezettek szerint.
Az általam használt Raspberry Pi egy Raspberry Pi 3 B+modell. Ez USB-kapcsolaton keresztül beszél az SSC-32U kártyával.
EDIT: A Raspberry Pi 4 már elérhető. Szüksége lesz:
- 15 W-os USB-C tápegység-a hivatalos Raspberry Pi USB-C tápegységet ajánljuk
- MicroSD-kártya NOOBS-szal, az operációs rendszert telepítő szoftverrel (vásároljon előre feltöltött SD-kártyát a Raspberry Pi-vel együtt, vagy töltse le a NOOBS-t, hogy saját maga töltsön be egy kártyát)
- Billentyűzet és egér (lásd később)
- Kábel, amely a Raspberry Pi 4 mikro HDMI portján keresztül csatlakoztatható a kijelzőhöz
Szükségem volt további nyúlásra a robotkaron, ezért kisebb módosításokat végeztem rajta, további Lynxmotion alkatrészek használatával, amelyek megvásárolhatók a RobotShop -tól:
1. A 4,5 hüvelykes csövet 6 hüvelykesre cserélte-Lynxmotion AT-04 alkatrész, RB-Lyn-115 termékkód.
2. Próbáltam további rugókészletet használni, de visszatértem egy párhoz, amikor megvalósítottam az alábbi 3. pontot
3. Meghosszabbította a magasságot 1 hüvelykes távtartóval-Lynxmotion HUB-16 alkatrész, RB-Lyn-336 termékkód.
4. Meghosszabbította a markolat elérését a tartalék LEGO darabok által rögzített tartalék fogópárnák és rugalmas szalagok (!) Segítségével. Ez nagyon jól működik, mivel rugalmasságot nyújt a darabok emelésekor.
Ezek a módosítások a jobb oldali képen láthatók.
A sakktábla fölé kamera van felszerelve. Ez határozza meg az ember mozgását.
3. lépés: A robotot mozgató szoftver
Minden kód Python 2 -ben van írva. Inverz kinematikai kódra van szükség a különböző motorok helyes mozgatásához, hogy a sakkfigurák mozgathatók legyenek. A Lynxmotion könyvtári kódját használom, amely támogatja a motorok kétdimenziós mozgatását, és ehhez hozzáadtam a saját kódomat a 3 dimenziókhoz, a fogószöghez és a fogópofa mozgásához.
Tehát van egy kódunk, amely darabokat mozgat, darabokat vesz, kastélyt, támogatást és így tovább.
A sakk motorja Stockfish - amely minden embert meg tud verni! "A Stockfish a világ egyik legerősebb sakkmotorja. Sokkal erősebb is, mint a legjobb emberi sakknagymesterek."
A sakkmotor hajtására, a lépés érvényesítésére vonatkozó kód, és így tovább, a ChessBoard.py
A https://chess.fortherapy.co.uk webhelyről származó kódot használok az interfészhez. A kódom (fent) akkor kapcsolódik ehhez!
4. lépés: A szoftver, amely felismeri az ember mozgását
Ezt részletesen leírtam az Instructable for My Chess Robot Lego konstrukcióban - tehát nem kell itt megismételnem!
A "fekete" darabjaim eredetileg barna színűek voltak, de matt feketére festettem őket ("táblafestékkel"), ami miatt az algoritmus jobban működik változó fényviszonyok mellett.
5. lépés: Kamera, fények, billentyűzet, asztal, kijelző
Ezek ugyanazok, mint a Sakk Robot Lego konstrukciómban, így itt nem kell ismételnem őket.
Kivéve, hogy ezúttal más és lényegesen jobb hangszórót használtam, egy Lenrui Bluetooth hangszórót, amelyet USB -n keresztül csatlakoztatok az RPi -hez.
Kapható az amazon.com, az amazon.co.uk és más üzletekben.
Továbbá most egy másik kamerát használok - egy HP Webcam HD 2300 -at, mivel nem tudtam rávenni az előző kamerát a megbízható viselkedésre.
Az algoritmusok akkor működnek a legjobban, ha a sakktábla színe messze van a darabok színétől! Az én robotomban a darabok törtfehér és barna színűek, a sakktábla kézzel készített, kartonból készült, világos zöld színű, kevés különbséggel a "fekete" és "fehér" négyzetek között.
Az algoritmusoknak szükségük van a kamera meghatározott tájolására. Kérjük, írjon megjegyzést alább, ha problémája van. A kar korlátozottan elérhető, így a négyzetméretnek 3,5 cm -nek kell lennie.
6. lépés: A szoftver beszerzése
1. Állományhal
Ha Raspbian -ot futtat RPi -jén, használhatja a Stockfish 7 motort - ingyenes. Csak fuss:
sudo apt-get install stockfish
2. ChessBoard.py Ezt innen szerezze be.
3. A kód a https://chess.fortherapy.co.uk/home/a-wooden-chess… alapján jön.
4. Python 2D Inverse Kinematics könyvtár -
5. Az én kódom, amely meghívja a fenti kódot, és a robotot mozgatja, és a látás kódom. Szerezze meg ezt tőlem úgy, hogy először feliratkozik a YouTube -csatornámra, majd rákattint a "Kedvenc" gombra ennek az utasításnak a tetején, majd megjegyzést tesz közzé az utasításban, és válaszolok.
Ajánlott:
Egyedi, 3D nyomtatható fogszabályozók tervezése kar sérülés esetén: 8 lépés (képekkel)
Hogyan tervezzünk egyedi, 3D nyomtatható fogszabályzókat a kar sérüléseihez: Keresztbe tettem a webhelyemen a piper3dp.com oldalon. Hagyományosan a törött csontok öntvényei nehéz, szilárd, nem lélegző vakolatból készülnek. Ez kényelmetlenséget és bőrproblémákat okozhat a betegnek a gyógyulási folyamat során, például viszketést, kiütéseket és
Sakkrobot LEGO -val és Raspberry Pi -vel: 6 lépés
Sakkrobot LEGO -val és Raspberry Pi -vel készült: Lepje meg barátait ezzel a sakkrobottal! Nem túl nehéz építeni, ha korábban már készített LEGO robotokat, és rendelkezik legalább elemi ismeretekkel a számítógépes programozásról és a Linuxról. A robot saját mozdulatait végzi, és vizuális felismerést használ
Forrasztóállomás 3. kar: 3 lépés
Forrasztóállomás 3. kar: Az ebay szemét frissítése
A Lázár -kar: 10 lépés
A Lázár Kar: Szeretném kezdeni azzal, hogy köszönöm, hogy érdeklődik a projektem iránt. A nevem Chase Leach, és a WBASD S.T.E.M. rangidős tagja vagyok. Akadémia. Ez a projekt a Butwin Elias Tudományos és Technológiai Díj 2019-2020 pályázatának benyújtása. A Laz
Asztali szokatlan hullámzó felfújható kar csapkodó csőember: 4 lépés (képekkel)
Asztali szokatlan hullámzású felfújható kar csapkodó csőember: Mindig asztali méretű "Wacky Waving Inflatable Arm Flailing Tube Man" -t akartam építeni, más néven Tube man, más néven Skydancer, Air táncos … Ez a projekt visszaindult 2013 -ban bemutattam az első durva prototípust, amelyet szellemesen készítettek