Orodha ya maudhui:

Chess Robot Raspberry Pi Lynxmotion AL5D Arm: Hatua 6
Chess Robot Raspberry Pi Lynxmotion AL5D Arm: Hatua 6

Video: Chess Robot Raspberry Pi Lynxmotion AL5D Arm: Hatua 6

Video: Chess Robot Raspberry Pi Lynxmotion AL5D Arm: Hatua 6
Video: Chess Robot Raspberry Pi and Robot Arm 2024, Novemba
Anonim
Image
Image

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

Ujenzi wa Vifaa
Ujenzi wa Vifaa

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

Ujenzi wa Vifaa
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

Kamera, Taa, Kinanda, Jedwali, Onyesho
Kamera, Taa, Kinanda, Jedwali, Onyesho
Kamera, Taa, Kinanda, Jedwali, Onyesho
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: