فهرست مطالب:

ربات شطرنج Raspberry Pi Lynxmotion AL5D بازو: 6 مرحله
ربات شطرنج Raspberry Pi Lynxmotion AL5D بازو: 6 مرحله

تصویری: ربات شطرنج Raspberry Pi Lynxmotion AL5D بازو: 6 مرحله

تصویری: ربات شطرنج Raspberry Pi Lynxmotion AL5D بازو: 6 مرحله
تصویری: Color-Picking Robot Arm 2024, نوامبر
Anonim
Image
Image

این ربات شطرنج را بسازید و ببینید همه را شکست می دهد!

اگر می توانید دستورالعمل های مربوط به نحوه ساخت بازو را دنبال کنید ، و اگر حداقل دانش اولیه ای در زمینه برنامه نویسی کامپیوتر و لینوکس دارید ، ساخت آن بسیار آسان است.

انسان ، سفید بازی می کند ، حرکتی انجام می دهد. این توسط سیستم تشخیص بصری تشخیص داده می شود. سپس ربات تأمل می کند و سپس حرکت خود را انجام می دهد. و غیره…

شاید جدیدترین چیزی که در این ربات وجود دارد کد تشخیص حرکت است. این کد بینایی همچنین برای روبات های شطرنج ساخته شده به روش های دیگر (مانند ربات شطرنج من با ساخت LEGO) قابل استفاده است.

از آنجا که حرکت انسان توسط یک سیستم بینایی تشخیص داده می شود ، هیچ سخت افزار مخصوص صفحه شطرنج (مانند سوئیچ های نی یا هر چیز دیگر) مورد نیاز نیست.

کد من برای استفاده شخصی در دسترس است.

مرحله 1: الزامات

ساخت سخت افزار
ساخت سخت افزار

تمام کد در پایتون نوشته شده است ، که در کنار سایر موارد ، روی Raspberry Pi نیز اجرا می شود.

Raspberry Pi یک رایانه کوچک و ارزان قیمت (حدود 40 دلار) است که توسط بنیاد Raspberry Pi توسعه یافته است. مدل اصلی بسیار بیشتر از آنچه پیش بینی می شد محبوب شد و برای مواردی مانند روباتیک فروخته شد

ربات من از Raspberry Pi استفاده می کند و بازوی ربات از یک کیت ساخته شده است: Lynxmotion AL5D. این کیت دارای برد کنترل سروو است. (پیوندی که به تازگی داده ام مربوط به سایت RobotShop در ایالات متحده است ؛ روی یکی از پرچم ها در بالا سمت راست صفحات سایت آنها برای کشور خود ، به عنوان مثال انگلستان کلیک کنید).

همچنین به یک میز ، دوربین ، نور ، صفحه کلید ، صفحه نمایش و دستگاه اشاره (مانند ماوس) نیاز دارید. و البته مهره های شطرنج و یک تخته. همه این موارد را در مراحل بعدی با جزئیات بیشتری شرح می دهم.

مرحله 2: ساخت سخت افزار

ساخت سخت افزار
ساخت سخت افزار

همانطور که قبلاً اشاره کردم ، قلب کد بینایی با ساختارهای مختلف کار می کند.

این ساخت از یک کیت بازوی روباتیک از Lynxmotion ، AL5D استفاده می کند. همراه با کیت یک برد کنترل سروو SSC-32U وجود دارد که برای کنترل موتورهای بازو استفاده می شود.

من AL5D را انتخاب کردم زیرا بازو باید بتواند حرکات دقیق و مکرری انجام دهد و دور نشود. چنگ زن باید بتواند بین قطعات قرار بگیرد و بازو باید بتواند به قسمت دور تخته برسد. من هنوز نیاز به اصلاحاتی دارم که به شرح زیر است.

رزبری پای من از رزبری پای 3 مدل B+استفاده می کنم. این از طریق اتصال USB با برد SSC-32U صحبت می کند.

ویرایش: Raspberry Pi 4 در حال حاضر در دسترس است. شما نیاز دارید:

  • منبع تغذیه USB-C 15 واتی-ما منبع تغذیه رسمی Raspberry Pi USB-C را توصیه می کنیم
  • یک کارت حافظه microSD با NOOBS ، نرم افزاری که سیستم عامل را نصب می کند (یک کارت SD از پیش بارگذاری شده به همراه رزبری پای خود بخرید ، یا NOOBS را بارگیری کنید تا خودتان یک کارت بارگیری کنید)
  • صفحه کلید و ماوس (بعداً ببینید)
  • کابل برای اتصال به صفحه نمایش از طریق درگاه میکرو HDMI رزبری پای 4

من نیاز به دسترسی بیشتر به بازوی ربات داشتم ، بنابراین با استفاده از قطعات اضافی 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: نرم افزاری که ربات را حرکت می دهد

تمام کد در پایتون 2 نوشته شده است. برای حرکت دادن صحیح موتورهای مختلف به گونه ای که بتوان مهره های شطرنج را جابجا کرد ، به کدهای سینماتیکی معکوس نیاز است. من از کد کتابخانه Lynxmotion استفاده می کنم که از حرکت موتورها در دو بعد پشتیبانی می کند و با کد مخصوص من برای سه بعدی ، زاویه گیر و حرکت فک گیر به آن اضافه شده است.

بنابراین ، ما کد داریم که قطعات را جابجا می کند ، قطعات را می گیرد ، قلعه را پشتیبانی می کند ، و غیره.

موتور شطرنج Stockfish است - که می تواند هر انسانی را شکست دهد! "ماهی ماهی یکی از قوی ترین موتورهای شطرنج در جهان است. همچنین بسیار قوی تر از بهترین استادان شطرنج انسان است."

کد رانندگی موتور شطرنج ، تأیید صحت حرکت و موارد دیگر ChessBoard.py

برای ارتباط با آن از برخی کدهای https://chess.fortherapy.co.uk استفاده می کنم. کد من (بالا) سپس با آن ارتباط برقرار می کند!

مرحله 4: نرم افزاری که حرکت انسان را تشخیص می دهد

من این را به طور مفصل در دستورالعمل ساخت لگو شطرنج شطرنج خود توضیح داده ام - بنابراین نیازی به تکرار آن در اینجا ندارم!

قطعات "مشکی" من در ابتدا قهوه ای بودند ، اما آنها را سیاه مات (با "رنگ تخته سیاه") رنگ آمیزی کردم ، که باعث می شود الگوریتم در شرایط متغیرتر نور بهتر کار کند.

مرحله 5: دوربین ، چراغ ها ، صفحه کلید ، میز ، صفحه نمایش

دوربین ، چراغ ، صفحه کلید ، میز ، صفحه نمایش
دوربین ، چراغ ، صفحه کلید ، میز ، صفحه نمایش
دوربین ، چراغ ، صفحه کلید ، میز ، صفحه نمایش
دوربین ، چراغ ، صفحه کلید ، میز ، صفحه نمایش

اینها مانند ساخت بازی Chego Robot Lego من هستند ، بنابراین نیازی به تکرار آنها در اینجا ندارم.

با این تفاوت که این بار از بلندگوی متفاوت و به مراتب بهتر ، بلندگوی بلوتوث Lenrui استفاده کردم که با USB به RPi متصل می کنم.

در دسترس از amazon.com ، amazon.co.uk و سایر رسانه ها.

همچنین من اکنون از دوربین دیگری استفاده می کنم - HP Webcam HD 2300 ، زیرا نمی توانم دوربین قبلی را به طور قابل اعتماد رفتار کنم.

الگوریتم ها بهترین کار را می کنند اگر صفحه شطرنج دارای رنگی باشد که فاصله زیادی با رنگ مهره ها دارد! در ربات من ، مهره ها سفید و قهوه ای هستند ، و صفحه شطرنج به صورت کارتی کارتی است و به رنگ سبز روشن با کمی تفاوت بین مربع های "سیاه" و "سفید" است.

الگوریتم ها جهت سوار شدن به جهت خاصی از دوربین نیاز دارند. لطفاً در صورت داشتن مشکل در زیر نظر دهید. بازو دارای محدودیت دسترسی است ، بنابراین اندازه مربع باید 3.5 سانتی متر باشد.

مرحله 6: به دست آوردن نرم افزار

1. ماهی قرمز

اگر Raspbian را روی RPi خود اجرا می کنید ، می توانید از موتور Stockfish 7 استفاده کنید - رایگان است. فقط بدو:

sudo apt-get install stockfish

2. ChessBoard.py این را از اینجا دریافت کنید.

3. کد بر اساس https://chess.fortherapy.co.uk/home/a-wooden-chess… همراه با کد من.

4. کتابخانه Python 2D Inverse Kinematics -

5. کد من که تمام کد بالا را فراخوانی می کند و باعث می شود ربات حرکات را انجام دهد ، و کد بینایی من. ابتدا با عضویت در کانال YouTube من ، سپس روی دکمه "مورد علاقه" در بالای این دستورالعمل کلیک کنید و سپس نظر خود را در این دستورالعمل ارسال کنید ، از من دریافت کنید ، و من پاسخ خواهم داد.

توصیه شده: