Բովանդակություն:
- Քայլ 1: Պահանջներ
- Քայլ 2: Սարքաշարի կառուցում
- Քայլ 3. Softwareրագրակազմը, որը շարժում է ռոբոտին
- Քայլ 4: Softwareրագրակազմ, որը ճանաչում է մարդու քայլը
- Քայլ 5: Տեսախցիկ, լույսեր, ստեղնաշար, սեղան, էկրան
- Քայլ 6: ingրագրակազմի ձեռքբերում
Video: Chess Robot Raspberry Pi Lynxmotion AL5D Arm: 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Կառուցեք այս շախմատային ռոբոտը և տեսեք, թե ինչպես է այն հաղթում բոլորին:
Բավականին հեշտ է կառուցել, եթե կարողանաք հետևել թև կառուցելու հրահանգներին և եթե ունեք համակարգչային ծրագրավորման և Linux- ի առնվազն տարրական գիտելիքներ:
Մարդը, սպիտակ խաղալով, քայլ է կատարում: Սա հայտնաբերվում է տեսողական ճանաչման համակարգով: Այնուհետև ռոբոտը խորհում է, իսկ հետո կատարում իր քայլը: Եվ այլն…
Այս ռոբոտի թերևս ամենավեպը շարժման ճանաչման կոդն է: Տեսողության այս ծածկագիրը կարող է օգտագործվել նաև շատ այլ եղանակներով կառուցված շախմատային ռոբոտների համար (օրինակ ՝ իմ շախմատային ռոբոտը LEGO կառուցվածքով):
Քանի որ մարդու քայլը ճանաչվում է տեսողության համակարգով, շախմատի տախտակի հատուկ սարքավորումներ (օրինակ ՝ եղեգի անջատիչներ կամ որևէ այլ բան) անհրաժեշտ չեն:
Իմ կոդը հասանելի է անձնական օգտագործման համար:
Քայլ 1: Պահանջներ
Ամբողջ ծածկագիրը գրված է Python- ում, որը, ի թիվս այլ բաների, կաշխատի Raspberry Pi- ով:
Raspberry Pi- ն փոքր, էժան (մոտ $ 40) մեկ տախտակ ունեցող համակարգիչ է, որը մշակվել է Raspberry Pi Foundation- ի կողմից: Օրիգինալ մոդելը շատ ավելի հայտնի դարձավ, քան ենթադրվում էր ՝ վաճառվելով ռոբոտաշինության համար
Իմ ռոբոտը օգտագործում է Raspberry Pi, իսկ ռոբոտի ձեռքը կառուցված է հավաքածուից ՝ Lynxmotion AL5D: Հավաքածուն գալիս է servo վերահսկիչ տախտակով: (Հղումը, որը ես պարզապես տվել եմ, RobotShop- ի ԱՄՆ կայքն է. Կտտացրեք ձեր երկրի կայքի էջերի վերևի դրոշներից մեկի վրա, օրինակ ՝ Միացյալ Թագավորություն):
Ձեզ նույնպես պետք է սեղան, տեսախցիկ, լուսավորություն, ստեղնաշար, էկրան և մատնանշող սարք (օրինակ ՝ մկնիկ): Եվ, իհարկե, շախմատի խաղաքարեր և տախտակ: Այս բոլոր բաները ես ավելի մանրամասն նկարագրում եմ հետագա քայլերում:
Քայլ 2: Սարքաշարի կառուցում
Ինչպես արդեն նշեցի, տեսողության կոդի սիրտը կաշխատի տարբեր կառուցվածքներով:
Այս կառուցվածքում օգտագործվում է Lynxmotion- ի, AL5D- ի ռոբոտային ձեռքի հավաքածու: Հավաքածուի հետ ներառված է SSC-32U servo վերահսկիչ տախտակը, որն օգտագործվում է թևի շարժիչները վերահսկելու համար:
Ես ընտրեցի AL5D- ն, քանի որ թևը պետք է կարողանա կրկնվող ճշգրիտ շարժումներ կատարել և չշեղվել: Գրավողը պետք է կարողանա կտորների միջև ընկնել, իսկ ձեռքը ՝ տախտակի հեռավոր կողմը: Ես դեռ պետք է որոշ փոփոխություններ կատարեի, ինչպես նկարագրված է ստորև:
Raspberry Pi- ն, որն օգտագործում եմ, Raspberry Pi 3 մոդել B+է: Սա խոսում է SSC-32U տախտակի հետ USB միացման միջոցով:
Խմբագրել. Raspberry Pi 4 -ն այժմ հասանելի է: Ձեզ անհրաժեշտ կլինի.
- 15W USB-C սնուցման աղբյուր-խորհուրդ ենք տալիս պաշտոնական Raspberry Pi USB-C սնուցման աղբյուր
- NOOBS- ով բեռնված microSD քարտ, օպերացիոն համակարգը տեղադրող ծրագրակազմ (գնեք նախապես բեռնված SD քարտ ՝ ձեր Raspberry Pi- ի հետ միասին, կամ ներբեռնեք NOOBS ՝ ինքնուրույն քարտ տեղադրելու համար)
- Ստեղնաշար և մկնիկ (տես ավելի ուշ)
- Մալուխ ՝ էկրանին միացնելու համար Raspberry Pi 4 -ի միկրո HDMI պորտի միջոցով
Ինձ ավելի շատ անհրաժեշտ էր ռոբոտի թևը, այնպես որ ես մի փոքր փոփոխություններ կատարեցի դրանում ՝ օգտագործելով լրացուցիչ Lynxmotion մասեր, որոնք կարելի է գնել RobotShop- ից.
1. 4.5 դյույմանոց խողովակը փոխարինեց 6 դյույմով-Lynxmotion մաս AT-04, ապրանքի կոդը ՝ RB-Lyn-115:
2. Փորձեցի օգտագործել զսպանակների լրացուցիչ հավաքածու, բայց վերադարձա մեկ զույգի, երբ կիրառեցի ստորև բերված 3 -րդ կետը
3. Երկարացրեք բարձրությունը ՝ օգտագործելով 1 դյույմ հեռավորություն-Lynxmotion մաս HUB-16, ապրանքի կոդը ՝ RB-Lyn-336:
4. Երկարացրեք բռնակին հասնելու հնարավորությունը `օգտագործելով պահեստային բարձիկներ, որոնք ամրացված են իմ ունեցած LEGO որոշ պահեստամասերի և առաձգական ժապավենների (!) Սա շատ լավ է աշխատում, քանի որ ճկունություն է ներդնում կտորներ բարձրացնելիս:
Այս փոփոխությունները կարելի է տեսնել աջ կողմում գտնվող վերևի պատկերում:
Շախմատի տախտակի վերևում տեղադրված է տեսախցիկ: Սա օգտագործվում է որոշելու մարդու քայլը:
Քայլ 3. Softwareրագրակազմը, որը շարժում է ռոբոտին
Ամբողջ ծածկագիրը գրված է Python 2 -ում: Տարբեր շարժիչները ճիշտ տեղաշարժելու համար անհրաժեշտ է հակադարձ կինեմատիկայի ծածկագիր, որպեսզի շախմատի խաղաքարերը տեղաշարժվեն: Ես օգտագործում եմ Lynxmotion- ի գրադարանային ծածկագիրը, որն աջակցում է շարժիչների շարժումը երկու հարթության վրա և դրան ավելացրել եմ իմ սեփական ծածկագրով `3 հարթության, բռնակման անկյունի և բռնակով ծնոտի շարժման համար:
Այսպիսով, մենք ունենք կոդ, որը կտեղափոխի կտորներ, կվերցնի կտորներ, ամրոց, կաջակցի և փոխանցում և այլն:
Շախմատային շարժիչը Stockfish- ն է, որը կարող է հաղթել ցանկացած մարդու: «Ստոկֆիշը աշխարհի ամենաուժեղ շախմատային շարժիչներից մեկն է: Այն նաև շատ ավելի ուժեղ է, քան շախմատի լավագույն մարդկային գրոսմայստերները»:
Շախմատային շարժիչ վարելու, վավերացնելու, որ քայլը վավեր է և այլն, ChessBoard.py- ն է:
Ես դրան միանալու համար օգտագործում եմ https://chess.fortherapy.co.uk- ի որոշ ծածկագիր: Իմ ծածկագիրը (վերևում) այնուհետև միջամտում է դրան:
Քայլ 4: Softwareրագրակազմ, որը ճանաչում է մարդու քայլը
Ես դա մանրամասն նկարագրել եմ Instructable for my Chess Robot Lego կառուցվածքում, այնպես որ ես կարիք չունեմ այստեղ կրկնելու:
Իմ «սև» կտորներն ի սկզբանե դարչնագույն էին, բայց ես դրանք ներկեցի սև -մուգ («գրատախտակի ներկով»), ինչը ստիպում է ալգորիթմն ավելի լավ աշխատել ավելի փոփոխական լուսավորության պայմաններում:
Քայլ 5: Տեսախցիկ, լույսեր, ստեղնաշար, սեղան, էկրան
Սրանք նույնն են, ինչ իմ Chess Robot Lego- ի կառուցվածքում, այնպես որ ես կարիք չունեմ դրանք այստեղ կրկնելու:
Բացառությամբ, որ այս անգամ ես օգտագործեցի մեկ այլ և զգալիորեն ավելի լավ բարձրախոս ՝ Lenrui Bluetooth բարձրախոս, որը RPi- ին միացնում եմ USB- ով:
Հասանելի է amazon.com, amazon.co.uk և այլ վաճառակետերից:
Բացի այդ, ես այժմ օգտագործում եմ այլ տեսախցիկ `HP Webcam HD 2300 HP, քանի որ ես չէի կարող ստիպել, որ նախորդ տեսախցիկը իրեն հուսալի պահի:
Ալգորիթմներն ավելի լավ են աշխատում, եթե շախմատային տախտակն ունի գույն, որը շատ հեռու է խաղաքարերի գույնից: Իմ ռոբոտում խաղաքարերը սպիտակ են և շագանակագույն, իսկ շախմատային տախտակը ձեռքով պատրաստված է քարտով և բաց կանաչ է ՝ փոքր տարբերությամբ «սև» և «սպիտակ» քառակուսիների միջև:
Ալգորիթմներին անհրաժեշտ է տեսախցիկի որոշակի կողմնորոշում `տախտակ նստելու համար: Խնդրում ենք մեկնաբանել ստորև, եթե խնդիր ունեք: Ձեռքը սահմանափակ հասանելիություն ունի, ուստի քառակուսի չափը պետք է լինի 3,5 սմ:
Քայլ 6: ingրագրակազմի ձեռքբերում
1. Թռչնամիս
Եթե Raspbian- ը գործարկում եք ձեր RPi- ով, կարող եք օգտագործել Stockfish 7 շարժիչը `անվճար է: Պարզապես գործարկեք.
sudo apt-get տեղադրել stockfish
2. ChessBoard.py Ստացեք սա այստեղից:
3. Կոդ ՝ հիմնված https://chess.fortherapy.co.uk/home/a-wooden-chess… Գալիս է իմ ծածկագրով:
4. Python 2D հակադարձ կինեմատիկայի գրադարան -
5. Իմ կոդը, որը վկայակոչում է վերը նշված բոլոր ծածկագրերը և որոնք ստիպում են ռոբոտին կատարել շարժումները, և իմ տեսողության կոդը: Ստացեք սա ինձանից ՝ նախ բաժանորդագրվելով իմ YouTube ալիքին, այնուհետև կտտացնելով «Սիրված» կոճակին ՝ այս հրահանգի վերևում, այնուհետև մեկնաբանություն տեղադրելով այս հրահանգին, և ես կպատասխանեմ:
Խորհուրդ ենք տալիս:
Servo Robot Arm: 4 քայլ
Servo Robot Arm. Սա պարզ սերվո -ռոբոտի բազուկ է, որն ունակ է վերցնել իրերը և տեղադրել դրանք նշանակված տարածքում: Այս նախագիծը իր ժամանակի մեծ մասը կպահանջի հավաքման համար ՝ կարևորության շնորհիվ ՝ համոզվել, որ թևը կայուն է և ունակ է առաջադրանքներ կատարել
Double Micro Servo Robot Arm: 10 քայլ
Double Micro Servo Robot Arm. Այս ձեռնարկում դուք կկատարեք կրկնակի servo ռոբոտի բազուկ, որը կառավարվում է բութ մատով:
ARM ROBOT MEXICANO ՝ 4 քայլ
ARM ROBOT MEXICANO: DESING ARM ROBOT WELD: p
UStepper Robot Arm 4: 5 քայլ
UStepper Robot Arm 4. Սա իմ Robotic թևի 4 -րդ կրկնությունն է, որը ես մշակել եմ որպես ծրագիր մեր uStepper stepper կառավարման տախտակի համար: Քանի որ ռոբոտն ունի 3 սլաք շարժիչ և միացման սերվո (հիմնական կազմաձևում), այն չի սահմանափակվում uStepper- ով
DIY Arduino Robotic Arm, Քայլ առ քայլ ՝ 9 քայլ
DIY Arduino Robotic Arm, Քայլ առ քայլ. Այս ձեռնարկը սովորեցնում է ձեզ, թե ինչպես ինքնուրույն կառուցել ռոբոտ -բազուկ