Мазмуну:

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

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

Video: Chess Robot Raspberry Pi Lynxmotion AL5D Arm: 6 Steps
Video: Lynxmotion AL5D Robotic Arm Playing Chess 2024, Ноябрь
Anonim
Image
Image

Бул шахмат роботун куруңуз жана анын бардыгын жеңгенин көрүңүз!

Эгерде сиз куралды кантип куруу боюнча көрсөтмөлөрдү аткарсаңыз жана жок дегенде компьютердик программалоо жана Linux боюнча башталгыч билимге ээ болсоңуз, куруу оңой.

Ак түстө ойноп жаткан адам бир кадам жасайт. Бул визуалдык таануу системасы аркылуу аныкталат. Робот кийин ойлонуп, анан кыймылын жасайт. Жана башка …

Балким, бул роботтогу эң жаңы нерсе - бул кыймылды таануу коду. Бул көрүнүш коду башка жолдор менен курулган шахмат роботтору үчүн да жарактуу (мисалы, менин шахмат роботум LEGO менен).

Адамдын кыймылы көрүү системасы тарабынан таанылгандыктан, шахмат тактасынын атайын жабдуулары (камыш өчүргүчтөрү же башка нерселер) кереги жок.

Менин кодум жеке колдонуу үчүн жеткиликтүү.

1 -кадам: талаптар

Аппараттык түзүлүш
Аппараттык түзүлүш

Бардык код Pythonдо жазылган, ал башка нерселер менен катар Raspberry Pi менен иштейт.

Raspberry Pi-Raspberry Pi Foundation тарабынан иштелип чыккан кичинекей, арзан (болжол менен $ 40) бир такталуу компьютер. Оригиналдуу модель күтүлгөндөн алда канча популярдуу болуп, робототехника сыяктуу колдонуу үчүн сатылган

Менин роботум Raspberry Pi колдонот жана роботтун колу комплекттен курулган: Lynxmotion AL5D. Комплект servo контроллер тактасы менен келет. (Мен азыр эле берген шилтеме RobotShopтун АКШ сайтына шилтеме жасоо; сиздин сайт үчүн беттериңиздин жогорку оң жагындагы желектердин бирин чыкылдатыңыз, мисалы, Улуу Британия).

Ошондой эле сизге стол, камера, жарык, клавиатура, экран жана көрсөтүүчү түзүлүш (мисалы, чычкан) керек болот. Жана, албетте, шахмат фигуралары жана тактай. Мен мунун баарын кийинки кадамдарда кененирээк сүрөттөйм.

2 -кадам: Аппараттык түзүлүш

Аппараттык түзүлүш
Аппараттык түзүлүш

Мен мурда айткандай, көрүү кодунун жүрөгү ар кандай түзүлүштөр менен иштейт.

Бул түзүмдө Lynxmotion, AL5D роботтук курал топтому колдонулат. Комплексте SSC-32U серво көзөмөлдөөчү такта бар, ал колдогу моторлорду башкаруу үчүн колдонулат.

Мен AL5D тандадым, анткени кол кайталанган так кыймылдарды жасай алышы керек жана кетпеши керек. Кармалоочу бөлүктөрдүн ортосуна кире алгыдай болушу керек жана колу тактанын ары жагына жетиши керек. Мен дагы эле төмөндө майда -чүйдөсүнө чейин кээ бир өзгөртүүлөрдү киргизүү керек болчу.

Мен колдонгон Raspberry Pi - бул Raspberry Pi 3 Model B+. Бул USB туташуусу аркылуу SSC-32U тактасы менен сүйлөшөт.

EDIT: Raspberry Pi 4 азыр жеткиликтүү. Сизге керек болот:

  • 15W USB-C электр менен камсыздоо-биз расмий Raspberry Pi USB-C Power Supply сунуштайбыз
  • MicroSD картасы NOOBS жүктөлгөн, бул операциялык системаны орнотуучу программа (Raspberry Pi менен бирге алдын ала жүктөлгөн SD картаны сатып алыңыз же картты өзүңүз жүктөө үчүн NOOBSти жүктөп алыңыз)
  • Баскычтоп жана чычкан (кийинчерээк караңыз)
  • Raspberry Pi 4 микро HDMI порту аркылуу дисплейге туташуу үчүн кабель

Мага роботтун колуна дагы жетүү керек болчу, ошондуктан RobotShopтон сатып алына турган кошумча Lynxmotion бөлүктөрүн колдонуп, ага бир аз өзгөртүүлөрдү киргиздим:

1. 4.5 дюймдук түтүктү 6 дюймга алмаштырды-Lynxmotion бөлүгү AT-04, продукт коду RB-Lyn-115.

2. Булактардын кошумча топтомун колдонуп көрдүм, бирок мен төмөндөгү 3 -пунктту ишке ашырганда бир жупка кайра бардым

3. 1 дюймдук аралыкты колдонуу менен бийиктиги кеңейтилди-Lynxmotion бөлүгү HUB-16, продукт коду RB-Lyn-336.

4. Мен ээ болгон кээ бир LEGO запастык бөлүктөрү жана ийкемдүү боолор менен тиркелген запастык кармагычтарды колдонуу менен туткунун жетүүсүн кеңейттим (!) Бул абдан жакшы иштейт, анткени ал бөлүктөрдү көтөрүүдө ийкемдүүлүктү киргизет.

Бул өзгөртүүлөрдү оң жактагы сүрөттө көрүүгө болот.

Шахмат тактасынын үстүнө орнотулган камера бар. Бул адамдын кыймылын аныктоо үчүн колдонулат.

3 -кадам: Роботту кыймылдаткан программа

Бардык код Python 2де жазылган. Шахмат фигураларын жылдыруу үчүн ар кандай моторлорду туура жылдыруу үчүн тескери кинематикалык код керек. Мен моторлорду эки өлчөмдө жылдырууну колдогон Lynxmotion китепканасынын кодун колдоном жана ага 3 өлчөмдүү, кармагыч бурчтуу жана жаак кыймылы үчүн өз кодум менен коштум.

Ошентип, бизде коддор бар, алар бөлүктөрдү жылдырат, даана алат, сепил, колдоо көрсөтөт ж.б.

Шахматтын мотору - Stockfish - ал бардык адамдарды жеңе алат! "Stockfish - дүйнөдөгү эң күчтүү шахмат кыймылдаткычтарынын бири. Ал ошондой эле эң мыкты адам шахмат гроссмейстерлеринен алда канча күчтүү".

Шахмат кыймылдаткычын айдоонун коду, кыймылдын жарактуу экенин ырастоо жана башкалар ChessBoard.py

Мен интерфейс үчүн https://chess.fortherapy.co.uk сайтынан кээ бир коддорду колдоном. Менин кодум (жогоруда) ошону менен интерфейс кылат!

4 -кадам: Адамдын кыймылын тааныган программа

Мен муну шахмат роботу Lego конструкциясында майда -чүйдөсүнө чейин сүрөттөп бергем - ошондуктан бул жерде кайталоонун кереги жок!

Менин "кара" бөлүктөрүм башында күрөң түстө болчу, бирок мен аларды кара түскө боёп койдум ("доскадагы боек" менен), бул алгоритм жарыктын өзгөрмөлүү шарттарында жакшыраак иштешин шарттайт.

5 -кадам: Камера, жарыктар, клавиатура, стол, дисплей

Камера, жарыктар, клавиатура, стол, дисплей
Камера, жарыктар, клавиатура, стол, дисплей
Камера, жарыктар, клавиатура, стол, дисплей
Камера, жарыктар, клавиатура, стол, дисплей

Булар менин Шахмат роботу Lego конструкциямдагыдай, ошондуктан бул жерде аларды кайталоонун кажети жок.

Бул жолу мен башка жана кыйла жакшыраак спикерди колдоном, Lenrui Bluetooth спикери, мен аны RPiге USB аркылуу туташтырам.

Amazon.com, amazon.co.uk жана башка соода түйүндөрүндө жеткиликтүү.

Ошондой эле мен азыр башка камераны колдонуп жатам - HP Webcam HD 2300, анткени мурунку камера ишенимдүү иштей алган жок.

Алгоритмдер эң жакшы иштейт, эгер шахмат тактайында фигуралардын түсүнөн алысыраак түстө болсо! Менин роботумда фигуралар ак жана күрөң түстө, ал эми шахмат тактасы картада колго жасалган, жана ачык жашыл түстө, "кара" менен "ак" чарчылардын айырмасы жок.

Алгоритмдерге тактайга камеранын өзгөчө багыты керек. Сураныч, эгер сизде көйгөй болсо, төмөндө комментарий бериңиз. Колдун мүмкүнчүлүгү чектелүү, андыктан чарчы өлчөмү 3,5 см болушу керек.

6 -кадам: Программаны алуу

1. Стокфиш

Эгерде сиз RPBиңизде Raspbian иштетсеңиз, Stockfish 7 кыймылдаткычын колдоно аласыз - бул бекер. Жөн эле чуркаңыз:

sudo apt-get stockfish орнотуу

2. ChessBoard.py Муну бул жерден алыңыз.

3. https://chess.fortherapy.co.uk/home/a-wooden-chess… негизинде түзүлгөн код Менин кодум менен келет.

4. Python 2D тескери кинематика китепканасы -

5. Жогорудагы бардык кодду чакырган жана роботту кыймылга келтирүүчү менин кодум жана менин көрүү кодум. Муну менин YouTube каналыма жазылуу менен алыңыз, андан кийин ушул Нускаманын үстүндөгү "Сүйүктүү" баскычын чыкылдатып, анан ушул Нускамага комментарий калтырыңыз, мен жооп берем.

Сунушталууда: