Orodha ya maudhui:
- Hatua ya 1: Mahitaji
- Hatua ya 2: Ujenzi wa Vifaa
- Hatua ya 3: Programu ambayo Inasonga Robot
- Hatua ya 4: Programu ambayo Inatambua Hoja ya Binadamu
- Hatua ya 5: Kamera, Taa, Kinanda, Jedwali, Onyesho
- Hatua ya 6: Kupata Programu
Video: Chess Robot Raspberry Pi Lynxmotion AL5D Arm: Hatua 6
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:49
Jenga roboti hii ya chess na uone ikiwa inapiga kila mtu!
Ni rahisi kujenga ikiwa unaweza kufuata maagizo ya jinsi ya kujenga mkono, na ikiwa una angalau ujuzi wa kimsingi wa programu ya kompyuta na Linux.
Binadamu, akicheza nyeupe, hufanya hoja. Hii hugunduliwa na mfumo wa utambuzi wa kuona. Kisha roboti inatafakari na kisha huhama. Nakadhalika …
Labda jambo la riwaya zaidi katika roboti hii ni nambari ya utambuzi wa hoja. Nambari hii ya maono pia inatumika kwa roboti za chess zilizojengwa kwa njia zingine nyingi (kama vile roboti yangu ya chess na ujenzi wa LEGO).
Kwa sababu hoja ya mwanadamu inatambuliwa na mfumo wa maono, hakuna vifaa maalum vya bodi ya chess (kama swichi za mwanzi, au chochote) kinachohitajika.
Nambari yangu ya nambari inapatikana kwa matumizi ya kibinafsi.
Hatua ya 1: Mahitaji
Nambari yote imeandikwa katika Python, ambayo itaendelea, kati ya mambo mengine, Raspberry Pi.
Raspberry Pi ni kompyuta ndogo, isiyo na gharama kubwa (karibu $ 40) ya bodi moja iliyoundwa na Raspberry Pi Foundation. Mtindo wa asili ulijulikana sana kuliko ilivyotarajiwa, kuuza kwa matumizi kama roboti
Roboti yangu hutumia Raspberry Pi, na mkono wa roboti umejengwa kutoka kwa kit: Lynxmotion AL5D. Kit huja na bodi ya mtawala wa servo. (Kiungo ambacho nimetoa tu ni kwa wavuti ya Amerika ya RobotShop; bonyeza moja ya bendera upande wa kulia juu ya kurasa zao za tovuti kwa nchi yako, mfano UK).
Utahitaji pia meza, kamera, taa, kibodi, skrini na kifaa cha kuonyesha (k.m panya). Na kwa kweli, vipande vya chess na bodi. Ninaelezea mambo haya yote kwa undani zaidi katika hatua zinazofuata.
Hatua ya 2: Ujenzi wa Vifaa
Kama nilivyoonyesha hapo awali, moyo wa nambari ya maono utafanya kazi na anuwai ya ujenzi.
Ujenzi huu hutumia kitanda cha mkono wa roboti kutoka Lynxmotion, AL5D. Pamoja na kit ni bodi ya mtawala wa SSC-32U servo, ambayo hutumiwa kudhibiti motors kwenye mkono.
Nilichagua AL5D kwa sababu mkono lazima uweze kufanya harakati sahihi mara kwa mara na usiondoke. Mnyang'anyi lazima aweze kupata kati ya vipande na mkono lazima uweze kufikia upande wa mbali wa bodi. Bado nilihitaji kufanya marekebisho kadhaa kama ilivyoonyeshwa hapa chini.
Raspberry Pi ninayotumia ni Raspberry Pi 3 Model B +. Hii inazungumza na bodi ya SSC-32U kupitia muunganisho wa USB.
BONYEZA: Raspberry Pi 4 sasa inapatikana. Utahitaji:
- Usambazaji wa umeme wa 15W USB-C - tunapendekeza Usambazaji rasmi wa Raspberry Pi USB-C
- Kadi ya MicroSD iliyobeba NOOBS, programu inayosakinisha mfumo wa uendeshaji (nunua kadi ya SD iliyokuwa imepakiwa mapema pamoja na Raspberry Pi yako, au pakua NOOBS kupakia kadi mwenyewe)
- Kibodi na panya (tazama baadaye)
- Cable kuungana na onyesho kupitia bandari ndogo ya Raspberry Pi 4 ya HDMI
Nilihitaji kufikia mkono wa roboti zaidi, kwa hivyo nilifanya marekebisho madogo kwake, nikitumia sehemu za Lynxmotion za ziada ambazo zinaweza kununuliwa kutoka RobotShop:
1. Ilibadilisha bomba la inchi 4.5 na inchi 6 moja - sehemu ya Lynxmotion AT-04, nambari ya bidhaa RB-Lyn-115.
2. Nilijaribu kutumia seti ya ziada ya chemchemi, lakini nikarudi kwa jozi moja wakati nilitekeleza kipengee 3 hapa chini
3. Kupanuliwa kwa urefu kwa kutumia spacer ya inchi 1 - sehemu ya Lynxmotion HUB-16, nambari ya bidhaa RB-Lyn-336.
4. Kupanua gripper kufikia kutumia pedi za gripper za vipuri zilizounganishwa na vipande kadhaa vya vipuri vya LEGO nilikuwa na bendi za kunyoosha (!) Hii inafanya kazi vizuri sana, kwani inaleta kubadilika wakati wa kuinua vipande.
Marekebisho haya yanaweza kuonekana kwenye picha hapo juu kulia.
Kuna kamera iliyowekwa juu ya bodi ya chess. Hii hutumiwa kuamua hoja ya mwanadamu.
Hatua ya 3: Programu ambayo Inasonga Robot
Nambari yote imeandikwa katika Python 2. Inverse kinematics code inahitajika ili kusonga motors anuwai kwa usahihi kama vile vipande vya chess vinaweza kuhamishwa. Ninatumia nambari ya maktaba kutoka Lynxmotion ambayo inasaidia kusonga motors kwa vipimo viwili na imeongeza kwa hiyo na nambari yangu mwenyewe ya vipimo 3, pembe ya gripper na harakati ya taya ya gripper.
Kwa hivyo, tunayo nambari ambayo itasonga vipande vipande, vipande vipande, kasri, msaada kwa mpitaji, na kadhalika.
Injini ya chess ni Stockfish - ambayo inaweza kumpiga mwanadamu yeyote! "Samaki wa samaki ni moja wapo ya injini kali za chess ulimwenguni. Pia ina nguvu zaidi kuliko mabwana bora wa chess wa kibinadamu."
Nambari ya kuendesha injini ya chess, thibitisha kuwa hoja ni halali, na kadhalika ni ChessBoard.py
Ninatumia nambari kadhaa kutoka kwa https://chess.fortherapy.co.uk kuungana na hiyo. Nambari yangu (hapo juu) kisha inaingiliana na hiyo!
Hatua ya 4: Programu ambayo Inatambua Hoja ya Binadamu
Nimeelezea hii kwa undani katika Inayoweza kufundishwa kwa ujenzi wangu wa Chess Robot Lego - kwa hivyo siitaji kuirudia hapa!
Vipande vyangu "vyeusi" hapo awali vilikuwa vya hudhurungi, lakini nilizipaka rangi nyeusi (na "rangi ya ubao"), ambayo inafanya algorithm ifanye kazi vizuri chini ya hali ya taa zaidi.
Hatua ya 5: Kamera, Taa, Kinanda, Jedwali, Onyesho
Hizi ni sawa na katika ujenzi wangu wa Chess Robot Lego, kwa hivyo siitaji kurudia hapa.
Isipokuwa kwamba wakati huu nilitumia spika tofauti na bora zaidi, spika ya Bluetooth ya Lenrui, ambayo ninaunganisha kwa RPi na USB.
Inapatikana kutoka amazon.com, amazon.co.uk na maduka mengine.
Pia sasa ninatumia kamera tofauti - HP Webcam HD 2300, kwani sikuweza kupata kamera iliyotangulia kuishi vizuri.
Algorithms hufanya kazi vizuri ikiwa chessboard ina rangi ambayo ni njia ndefu kutoka kwa rangi ya vipande! Katika roboti yangu, vipande ni nyeupe-nyeupe na hudhurungi, na bodi ya chess imetengenezwa kwa mkono katika kadi, na ni kijani kibichi na tofauti kidogo kati ya mraba "mweusi" na "mweupe".
Taratibu zinahitaji mwelekeo fulani wa kamera kupanda. Tafadhali toa maoni hapa chini ikiwa una shida. Mkono una ufikiaji mdogo, na kwa hivyo saizi ya mraba inapaswa kuwa 3.5 cm.
Hatua ya 6: Kupata Programu
1. samaki wa samaki
Ikiwa utaendesha Raspbian kwenye RPi yako unaweza kutumia injini ya Stockfish 7 - ni bure. Endesha tu:
Sudo apt-get kufunga samaki ya samaki
2. ChessBoard.py Pata hii kutoka hapa.
3. Nambari inayotegemea https://chess.fortherapy.co.uk/home/a-wooden-chess ……. Inakuja na nambari yangu.
4. Maktaba ya Python 2D Inverse Kinematics -
Nambari yangu ambayo inaleta nambari yote hapo juu na ambayo hupata roboti kufanya harakati, na nambari yangu ya maono. Pata hii kutoka kwangu kwa kwanza kujisajili kwenye kituo changu cha YouTube, kisha ubonyeze kitufe cha "Unayopenda" karibu na sehemu ya juu ya hii inayoweza kufundishwa na kisha utume maoni kwa anayeweza kufundishwa, nami nitajibu.
Ilipendekeza:
Chess Robot Iliyotengenezwa na LEGO na Raspberry Pi: 6 Hatua
Chess Robot Iliyotengenezwa na LEGO na Raspberry Pi: Shangaza marafiki wako na robot hii ya chess! Sio ngumu sana kujenga ikiwa umetengeneza roboti za LEGO hapo awali na ikiwa una ujuzi wa kimsingi wa programu ya kompyuta na Linux.Roboti inafanya harakati zake, na hutumia vitambulisho vya kuona
Pocket Chess: 4 Hatua
Pocket Chess: Ni chess! Mfukoni mwako. Mradi huu unakusudia kuunda kifaa kidogo ambacho kinaweza kuendesha michezo ndogo kama nyoka, pac-man, tetris na hata chess
Vipande vya Chess za Neno la Kuongea: Hatua 7 (na Picha)
Vipande vya Chess za Neno la Kuzungumza: Nilitengeneza vipande vya kibinafsi vya chess kwa kutumia sauti yangu. Kila kipande kinategemea umbo la sauti niliyoitoa wakati nikisema jina lake. Sio seti kamili, kwani upande mwingine unapaswa kufanywa vivyo hivyo, lakini kwa sauti ya mpinzani wangu.
Saa rahisi ya Chess ya Arduino: Hatua 5
Saa rahisi ya Chess ya Arduino: Wakati nilifikiria kufanya Saa ya Chess na Arduino, lengo lilikuwa kujenga kwa kutumia programu rahisi bila darasa la matumizi na kufanya kazi na rejista ya AVR. Msingi uliotumiwa ulikuwa Rejea ya Arduino. Jambo gumu zaidi ilikuwa kutumia kipima muda kutumia tu
Digital Chess - Fuatilia Mchezo wako wa Chess Mkondoni: Hatua 5
Digital Chess - Fuatilia Mchezo wako wa Chess Mkondoni: Nimekuwa nikicheza chess nyingi tangu nilipokuwa mchanga, na kwa kuwa wavuti ina tovuti nyingi za kucheza chess dhidi ya kompyuta au wapinzani wa moja kwa moja, sijawahi kupata tovuti ambayo inafuatilia mchezo wako wa chess ambao unacheza