فهرست مطالب:
- مرحله 1: الزامات
- مرحله 2: ساخت سخت افزار
- مرحله 3: نرم افزاری که ربات را حرکت می دهد
- مرحله 4: نرم افزاری که حرکت انسان را تشخیص می دهد
- مرحله 5: دوربین ، چراغ ها ، صفحه کلید ، میز ، صفحه نمایش
- مرحله 6: به دست آوردن نرم افزار
تصویری: ربات شطرنج Raspberry Pi Lynxmotion AL5D بازو: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
این ربات شطرنج را بسازید و ببینید همه را شکست می دهد!
اگر می توانید دستورالعمل های مربوط به نحوه ساخت بازو را دنبال کنید ، و اگر حداقل دانش اولیه ای در زمینه برنامه نویسی کامپیوتر و لینوکس دارید ، ساخت آن بسیار آسان است.
انسان ، سفید بازی می کند ، حرکتی انجام می دهد. این توسط سیستم تشخیص بصری تشخیص داده می شود. سپس ربات تأمل می کند و سپس حرکت خود را انجام می دهد. و غیره…
شاید جدیدترین چیزی که در این ربات وجود دارد کد تشخیص حرکت است. این کد بینایی همچنین برای روبات های شطرنج ساخته شده به روش های دیگر (مانند ربات شطرنج من با ساخت 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 من ، سپس روی دکمه "مورد علاقه" در بالای این دستورالعمل کلیک کنید و سپس نظر خود را در این دستورالعمل ارسال کنید ، از من دریافت کنید ، و من پاسخ خواهم داد.
توصیه شده:
ربات شطرنج ساخته شده با LEGO و Raspberry Pi: 6 مرحله
ربات شطرنج ساخته شده با LEGO و Raspberry Pi: دوستان خود را با این ربات شطرنج شگفت زده کنید! اگر قبلاً ربات های LEGO ساخته اید و حداقل دانش اولیه ای در زمینه برنامه نویسی کامپیوتر و لینوکس دارید ، ساختن آن چندان دشوار نیست. این ربات حرکات خود را انجام می دهد و از تشخیص بصری استفاده می کند
ربات شادی (Robô Da Alegria) - ربات منبع باز 3D چاپ شده ، ربات Arduino !: 18 مرحله (همراه با تصاویر)
ربات شادی (Robô Da Alegria) - ربات منبع باز سه بعدی ، ربات قدرتمند Arduino!: جایزه اول در مسابقه چرخ های دستورالعمل ، جایزه دوم در مسابقه دستورالعمل های آردوینو و دومین مسابقه در طراحی برای کودکان. با تشکر از همه کسانی که به ما رای دادند! روبات ها به همه جا می رسند. از کاربردهای صنعتی تا
شطرنج دیجیتال - بازی شطرنج خود را بصورت آنلاین دنبال کنید: 5 مرحله
شطرنج دیجیتال - بازی شطرنج خود را بصورت آنلاین دنبال کنید: من از جوانی شطرنج زیادی بازی می کنم و از آنجا که وب دارای تعداد زیادی وب سایت برای بازی شطرنج در برابر رایانه ها یا حریفان زنده است ، من هرگز یکبار وب سایت پیدا نکردم که بازی شطرنج شما را که در واقع در آن بازی می کنید دنبال می کند
ربات متعادل کننده / ربات 3 چرخ / ربات STEM: 8 مرحله
ربات متعادل کننده / ربات 3 چرخ / ربات STEM: ما یک ربات متعادل کننده و 3 چرخ ترکیبی برای استفاده آموزشی در مدارس و برنامه های آموزشی بعد از مدرسه ساخته ایم. این ربات بر اساس Arduino Uno ، یک سپر سفارشی (تمام جزئیات ساخت ارائه شده است) ، یک باتری لیتیوم یون (همه ساخت
نحوه ساخت ربات کنترل شده توسط بازو با استفاده از Nrf24l01 Arduino: 3 مرحله (همراه با تصاویر)
نحوه ساخت روبات ردیابی تحت کنترل از طریق Nrf24l01 آردوینو: دستور & quot؛ چگونه می توان بازوی گریپر را با ربات کنترل شده از طریق Nrf24l01 Arduino کنترل کرد & quot؛ نحوه ساخت سه درجه بازوی چنگال آزادی نصب شده بر روی ویلرهای ردیابی که توسط ماژول L298N دو موتوره با استفاده از MEG رانده می شود را توضیح می دهد