فهرست مطالب:

ربات هاوکینگ: 5 قدم
ربات هاوکینگ: 5 قدم

تصویری: ربات هاوکینگ: 5 قدم

تصویری: ربات هاوکینگ: 5 قدم
تصویری: هتل ها در شب ولنتاین( صدا کم😂) 2024, ممکن است
Anonim
Image
Image
ربات هاوکینگ خود را بسازید
ربات هاوکینگ خود را بسازید

ربات هاوکینگ یک پروژه Lego MINDSTORMS EV3 است که از مرحوم استفان هاوکینگ الهام گرفته شده است. استفن هاوکینگ شوخ طبعی خوبی داشت بنابراین مطمئن هستم که او این پروژه را تایید می کرد. ربات هاوکینگ می تواند با عبور از موانع ، به حرکات پاسخ دهد و سپس یکی از صدای معروف استفن هاوکینگ را بیان کرده و در جهت حرکت جسم حرکت می کند. از سنسور اولتراسونیک استفاده می کند که محیط خود را با حرکت سر جارو می کند.

مرحله 1: ربات هاوکینگ خود را بسازید

همه قطعات مورد نیاز در EV3 لگو MINDSTORMS اصلی قرار دارند به استثنای سنسور اولتراسونیک (چشم او) که باید جداگانه خریداری شود.

گام 2:

تصویر
تصویر

کد برای ربات هاوکینگ همه در پایتون 3 نوشته شده است. یک فایل تصویری قابل بوت برای اجرای پایتون در محیط لینوکس دبیان در ربات هاوکینگ از وب سایت ev3dev قابل بارگیری است. کد اجرای ربات هاوکینگ را می توانید از اینجا بارگیری کنید. تمام کدها در یک فایل کلاس قرار دارند ، بنابراین می توانید از روشهای موجود استفاده کنید یا حتی اگر دوست دارید آنها را تغییر دهید.

لطفاً این ویدیو را با دستورالعمل های دقیق نحوه تنظیم Debian Linux و Python3 در ربات خود مشاهده کنید. اگرچه این به طور خاص برای تنظیمات Mac است ، اما درک کلی از این فرآیند مفید خواهد بود.. این کار درجریان است سنسور اولتراسونیک گاهی اوقات غیرقابل اعتماد است و این نیاز به کد دقیق تری برای تشخیص "دورتر" دارد. من می خواهم مشارکت دیگران را برای کارآمدتر و کمتر مستعد خطا بودن کد ببینم.

مرحله 3: خودتان ساوت بایت هاوکینگ بسازید

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

شما به برنامه ای مانند Audacity نیاز دارید که روی بسیاری از سیستم عامل ها کار می کند تا صدا های مورد علاقه شما را انتخاب و قطع کند.

صدا را به عنوان یک فایل wav mono به عنوان SH6 ، SH7 ،… SH11 ، SH12 و غیره ذخیره کنید.

در زیر چند نمونه می بینید که من با توجه به روش فوق ایجاد کرده ام.

مرحله 4: نکات و ترفندها

نکات و ترفندها
نکات و ترفندها
نکات و ترفندها
نکات و ترفندها

ربات هاوکینگ دارای یک ماژول خودآزمایی است تا اطمینان حاصل شود که همه کابل ها متصل شده اند و قدرت باتری کافی است. اتصالات شل ، مفقود یا حتی آسیب دیده می توانند به راحتی ایجاد شوند. بنابراین این ماژول بسیار مفید است. روش 'checkConnection' فقط در صورت وجود اتصال برق بررسی می کند. هنوز باید مطمئن شوید که موتورها به پورت صحیح وصل شده اند.

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

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

ربات هاوکینگ به هیچ وجه بی نقص نیست و این یک نمونه اولیه است که از پیشرفت های بیشتر بهره مند خواهد شد. کد کاملاً کامنت گذاری شده است و باید بدانید که روشهای مختلف چه کاری انجام می دهند. بیت های مختلف با # توضیح داده شده است ، اگر # را جلوی "print" حذف کنید ، برنامه در حال اجرا خوانش ها و محاسبات مختلف سنسور را به شما نشان می دهد.

مرحله 5: پیشرفت ها ، به روز رسانی ها و ایده های آینده پیشنهاد شده

اکنون که ربات خود را با موفقیت ساخته اید ، می خواهید آن را به سطح بعدی برسانید. می توانید روش MotionDetector را بهبود بخشید. در حال حاضر اغلب اوقات به اشتباه خوانده می شود. شما می توانید قرائت های واقعی را با اظهار نظر در مورد disA و disB (در پایین بلوک متد) مشاهده کنید. خواندن اشتباه معمولاً از قرائت های دیگر متمایز است ، بنابراین می توانید الگوریتمی بنویسید که ربات را در پاسخ به خواندن اشتباه متوقف کند.

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

در مورد اطلاع رسانی روبات از محیط خود چطور؟ این را می توان با روش k-nearest همسایه یا احتمالاً یک شبکه عصبی انجام داد. آجر EV3 قدرت پردازش محدودی دارد اگرچه از Numpy پشتیبانی می کند. یک جایگزین می تواند BrickPi باشد که به شما امکان می دهد یک کتابخانه AI مانند Tensorflow را اجرا کنید ، اما قصد این راهنما استفاده از کیت Lego EV3 MINDSTORMS بدون نیاز به خرید قطعات اضافی گران قیمت به غیر از سنسور اولتراسونیک بود.

با این حال ، نزدیکترین همسایگان با روش یادگیری مجدد باید بر روی آجر EV3 کار کنند و این الگوریتم پیشنهادی است. یافتن یک برنامه کاربردی یا تشخیص هر گونه مشکل را به شما واگذار می کنم:

یادگیری تقویت برای ربات هاوکینگز

ایده این است که 7 قرائت USS در یک وکتور کدگذاری می شوند و 10 حرکت آخر سر برای ایجاد یک بردار متوالی از 70 مدخل استفاده می شود. اولین قرائت ها ناقص است ، بنابراین با صفر پر می شود. هر ورودی حاوی مقدار فاصله از USS است. این بردار حالت s است. این سیستم اجازه می دهد تا 1000 ورودی را وارد کنید. پس از آن قدیمی ترین ورودی جایگزین می شود و مدخل های سنی برای هر جفت s-r یک کاهش می یابد.

ربات نباید بیش از 10 سانتی متر به یک شی نزدیک شود. این پاداش منفی ایجاد می کند. برای سادگی؛ اقدامات خوب با 1 و برای کارهای بد با 0 پاداش می گیرند. به طور م thisثر ، این احتمال برای پاداش هر ترکیب عمل-حالت ایجاد می کند. ما از پاداش های تخفیف دار و سیاست حریص اپسیلون استفاده خواهیم کرد.

با این کار 3 جدول بزرگ (جایزه بازگشت) (s-r) برای هر سه عمل راست ، راست جلو و چپ ایجاد می شود-ممکن است برای هر عمل سرعت سریع و کند داشته باشید. سپس 6 عمل و 6 جدول s-r lookup خواهیم داشت.

هر بار که یک حالت جدید ثبت می شود با جداول مقایسه می شود ، فاصله اقلیدسی (یا اندازه مشابه) برای یافتن نزدیکترین همسایه استفاده می شود. این رتبه بندی نمی شود بلکه یک آستانه t تعیین می شود که وضعیت را بسیار مشابه می پذیرد ، وضعیت موجود را بازنویسی می کند و برای بالاترین پاداش به روز می کند و اقدامات مربوط به آن را انجام می دهد a. اگر مشابه نیست (d> t) یک جفت s-r جدید برای هر عمل وارد کنید a. اگر بین s for (برای همه آنها پاداش یکسانی وجود دارد) به طور تصادفی انتخاب کنید ، اما این امر رایج نیست و می توان آن را حذف کرد.

اگر t خیلی کوچک باشد ، حالتهای مشابه نادیده گرفته می شوند و هر حالت به عنوان یکتا دیده می شود. مقدار زیاد t به این معنی است که حتی حالتهای غیر متمایزی نیز با هم ترکیب شده اند که می تواند بر توانایی انتخاب اقدامات خوب تأثیر بگذارد. ممکن است بتوان از روشهای آماری برای تعیین بهترین t استفاده کرد.

این جدول چیزی شبیه به این است: شماره ورودی - بردار حالت - پاداش برای عمل 1 - پاداش برای عمل 2 - پاداش برای عمل 3.

من حدس می زنم که اجرای واقعی مشکل خواهد بود اما باید به اندازه تلاش باشد. موفق باشید!

توصیه شده: