Përmbajtje:

Roboti i shahut Raspberry Pi Lynxmotion AL5D Krah: 6 hapa
Roboti i shahut Raspberry Pi Lynxmotion AL5D Krah: 6 hapa

Video: Roboti i shahut Raspberry Pi Lynxmotion AL5D Krah: 6 hapa

Video: Roboti i shahut Raspberry Pi Lynxmotion AL5D Krah: 6 hapa
Video: Chess Robot Raspberry Pi and Robot Arm 2024, Korrik
Anonim
Image
Image

Ndërtoni këtë robot shahu dhe shihni se mundi të gjithë!

Prettyshtë shumë e lehtë për tu ndërtuar nëse mund të ndiqni udhëzimet se si të ndërtoni krahun dhe nëse keni të paktën një njohuri elementare të programimit kompjuterik dhe Linux.

Njeriu, duke luajtur bardhë, bën një lëvizje. Kjo zbulohet nga sistemi i njohjes vizuale. Roboti pastaj mendon dhe pastaj bën lëvizjen e tij. Dhe kështu me radhë…

Ndoshta gjëja më e re në këtë robot është kodi për njohjen e lëvizjes. Ky kod vizioni është gjithashtu i përdorshëm për robotët e shahut të ndërtuar në shumë mënyra të tjera (siç është roboti im shahu me ndërtim LEGO).

Për shkak se lëvizja e njeriut njihet nga një sistem vizioni, nuk nevojitet asnjë pajisje speciale e tabelës së shahut (të tilla si çelsat e kallamishteve, apo çfarëdo).

Kodi im është i disponueshëm për përdorim personal.

Hapi 1: Kërkesat

Ndërtimi i harduerit
Ndërtimi i harduerit

I gjithë kodi është shkruar në Python, i cili do të funksionojë, ndër të tjera, në një Raspberry Pi.

Raspberry Pi është një kompjuter i vogël, i lirë (rreth 40 dollarë) me një bord të zhvilluar nga Fondacioni Raspberry Pi. Modeli origjinal u bë shumë më i popullarizuar nga sa ishte parashikuar, duke u shitur për përdorime të tilla si robotika

Roboti im përdor Raspberry Pi, dhe krahu robot është ndërtuar nga një çantë: Lynxmotion AL5D. Kompleti vjen me një bord kontrollues servo. (Lidhja që sapo kam dhënë është për faqen e RobotShop në SHBA; klikoni në njërin nga flamujt në krye të djathtë të faqeve të faqeve të tyre për vendin tuaj, p.sh. MB).

Ju gjithashtu do të keni nevojë për një tavolinë, një aparat fotografik, ndriçim, një tastierë, ekran dhe pajisje drejtuese (p.sh. miun). Dhe sigurisht, pjesë shahu dhe një tabelë. Unë i përshkruaj të gjitha këto gjëra në mënyrë më të detajuar në hapat pasues.

Hapi 2: Ndërtimi i harduerit

Ndërtimi i harduerit
Ndërtimi i harduerit

Siç kam treguar më parë, zemra e kodit të vizionit do të funksionojë me një larmi ndërtimesh.

Ky model përdor një çantë krahu robotike nga Lynxmotion, AL5D. Përfshirë me komplet është një bord servo kontrollues SSC-32U, i cili përdoret për të kontrolluar motorët në krah.

Zgjodha AL5D sepse krahu duhet të jetë në gjendje të bëjë lëvizje të përsëritura të sakta dhe të mos largohet. Grabitësi duhet të jetë në gjendje të kalojë midis pjesëve dhe krahu duhet të jetë në gjendje të arrijë në anën e largët të tabelës. Ende më duhej të bëja disa modifikime siç përshkruhen më poshtë.

Raspberry Pi që përdor është një Raspberry Pi 3 Model B+. Kjo flet me bordin SSC-32U përmes një lidhje USB.

EDIT: Raspberry Pi 4 tani është në dispozicion. Ju do të keni nevojë:

  • Një furnizim me energji USB-C 15W-ne rekomandojmë Furnizimin me energji Raspberry Pi USB-C
  • Një kartë microSD e ngarkuar me NOOBS, programin që instalon sistemin operativ (blini një kartë SD të para-ngarkuar së bashku me Raspberry Pi tuaj, ose shkarkoni NOOBS për të ngarkuar një kartë vetë)
  • Një tastierë dhe mi (shiko më vonë)
  • Një kabllo për t'u lidhur me një ekran përmes portit mikro HDMI të Raspberry Pi 4

Më duhej të arrija më tej në krahun e robotit, kështu që bëra disa modifikime të vogla në të, duke përdorur pjesë shtesë të Lynxmotion të cilat mund të blihen nga RobotShop:

1. Zëvendësoi tubin 4.5 inç me një 6 inç-pjesa Lynxmotion AT-04, kodi i produktit RB-Lyn-115.

2. Provova duke përdorur një grup shtesë burimesh, por u ktheva në një palë kur zbatova pikën 3 më poshtë

3. Zgjatni lartësinë duke përdorur një ndarës 1 inç-pjesa Lynxmotion HUB-16, kodi i produktit RB-Lyn-336.

4. Zgjatni shtrirjen e kapëses duke përdorur jastëkë rezervë të kapur të bashkangjitur me disa pjesë këmbimi LEGO që kisha dhe breza elastikë (!) Kjo funksionon shumë mirë, pasi prezanton fleksibilitet kur ngrini copa.

Këto modifikime mund të shihen në imazhin e mësipërm në të djathtë.

Ekziston një aparat fotografik i montuar mbi tabelën e shahut. Kjo përdoret për të përcaktuar lëvizjen e njeriut.

Hapi 3: Softueri që lëviz robotin

I gjithë kodi është i shkruar në Python 2. Kodi i kinematikës së kundërt është i nevojshëm në mënyrë që të lëvizin motorët e ndryshëm në mënyrë të drejtë, në mënyrë që pjesët e shahut të mund të zhvendosen. Unë përdor kodin e bibliotekës nga Lynxmotion i cili mbështet lëvizjen e motorëve në dy dimensione dhe i kam shtuar atij me kodin tim për 3 dimensione, kënd mbërthyes dhe lëvizje të nofullës shtrënguese.

Pra, ne pastaj kemi kodin i cili do të lëvizë copa, do të marrë pjesë, kështjellë, do të mbështesë kalimtarin, etj.

Motori i shahut është Stockfish - i cili mund të mposhtë çdo njeri! "Stockfish është një nga motorët më të fortë të shahut në botë. Alsoshtë gjithashtu shumë më i fortë se mjeshtërit më të mirë të shahut njerëzor."

Kodi për të drejtuar motorin e shahut, vërtetoni që një lëvizje është e vlefshme, dhe kështu me radhë është ChessBoard.py

Unë përdor një kod nga https://chess.fortherapy.co.uk për t'u ndërlidhur me atë. Kodi im (lart) pastaj ndërlidhet me atë!

Hapi 4: Softueri që njeh lëvizjen e njeriut

Unë e kam përshkruar këtë në detaje në Instructable for my Chess Robot Lego build - kështu që nuk kam nevojë ta përsëris këtu!

Pjesët e mia "të zeza" fillimisht ishin ngjyrë kafe, por unë i pikturova ato me ngjyrë të zezë mat (me "bojë dërrasë të zezë"), gjë që e bën algoritmin të funksionojë më mirë në kushte më të ndryshueshme ndriçimi.

Hapi 5: Kamera, Dritat, Tastiera, Tabela, Ekrani

Kamera, Dritat, Tastiera, Tabela, Ekrani
Kamera, Dritat, Tastiera, Tabela, Ekrani
Kamera, Dritat, Tastiera, Tabela, Ekrani
Kamera, Dritat, Tastiera, Tabela, Ekrani

Këto janë të njëjta si në Robotin tim të Chess Robot Lego, kështu që nuk kam nevojë t'i përsëris këtu.

Përveç se këtë herë kam përdorur një altoparlant të ndryshëm dhe dukshëm më të mirë, një altoparlant Lenrui Bluetooth, të cilin e lidh me RPi me USB.

E disponueshme nga amazon.com, amazon.co.uk dhe shitore të tjera.

Gjithashtu unë tani jam duke përdorur një aparat të ndryshëm - një HP Webcam HD 2300, pasi nuk kam arritur që kamera e mëparshme të sillet me besueshmëri.

Algoritmet funksionojnë më mirë nëse tabela e shahut ka një ngjyrë që është shumë larg ngjyrës së pjesëve! Në robotin tim, pjesët janë të bardha dhe kafe, dhe tabela e shahut është punuar me dorë në kartë, dhe është një ngjyrë jeshile e lehtë me pak ndryshim midis shesheve "të zezë" dhe "të bardhë".

Algoritmet kanë nevojë për një orientim të veçantë të kamerës për të hipur. Ju lutemi komentoni më poshtë nëse keni ndonjë problem. Krahu ka shtrirje të kufizuar, dhe kështu madhësia katrore duhet të jetë 3.5 cm.

Hapi 6: Marrja e Softuerit

1. Peshku aksionesh

Nëse drejtoni Raspbian në RPi tuaj, mund të përdorni motorin Stockfish 7 - është falas. Thjesht vrapo:

sudo apt-get install stockfish

2. ChessBoard.py Merre këtë nga këtu.

3. Kodi i bazuar në https://chess.fortherapy.co.uk/home/a-wooden-chess… Vjen me kodin tim.

4. Biblioteka Python 2D Inverse Kinematics -

5. Kodi im i cili thërret të gjithë kodin e mësipërm dhe që e bën robotin të bëjë lëvizjet, dhe kodin tim të vizionit. Merrni këtë nga unë duke u regjistruar së pari në kanalin tim në YouTube, pastaj duke klikuar në butonin "E preferuar" pranë pjesës së sipërme të këtij Instructable dhe më pas duke postuar një koment në këtë Instructable, dhe unë do të përgjigjem.

Recommended: