جدول المحتويات:

هوكينج بوت: 5 خطوات
هوكينج بوت: 5 خطوات

فيديو: هوكينج بوت: 5 خطوات

فيديو: هوكينج بوت: 5 خطوات
فيديو: Genshin Impact Summon "glitch" | سر الحصول على شخصيات 4 و 5 ستار 2024, يوليو
Anonim
Image
Image
قم ببناء روبوت هوكينغ الخاص بك
قم ببناء روبوت هوكينغ الخاص بك

The Hawking Bot هو مشروع Lego MINDSTORMS EV3 مستوحى من الراحل ستيفن هوكينج. كان ستيفن هوكينغ يتمتع بروح الدعابة لذلك أنا متأكد من أنه كان سيوافق على هذا المشروع. يمكن لروبوت هوكينغ أن يتنقل في طريقه حول العقبات ويستجيب للحركات ثم ينطق بأحد مقاطع الصوت الشهيرة لستيفن هوكينغ ويتحرك في اتجاه الكائن المتحرك. يستخدم مستشعر الموجات فوق الصوتية الذي يقوم بمسح بيئته بحركة رأس كاسحة.

الخطوة 1: قم ببناء روبوت هوكينغ الخاص بك

جميع القطع المطلوبة موجودة في مجموعة EV3 Lego MINDSTORMS الأساسية باستثناء مستشعر الموجات فوق الصوتية (عينه) الذي يجب شراؤه بشكل منفصل.

الخطوة 2:

صورة
صورة

تمت كتابة كود Hawking Bot بلغة python 3. يمكن تنزيل ملف صورة قابل للتمهيد لتشغيل python في بيئة Debian Linux على Hawking Bot من موقع الويب ev3dev. يمكن تنزيل الكود الخاص بتشغيل Hawking Bot من هنا. يتم تضمين جميع التعليمات البرمجية في ملف فئة بحيث يمكنك استخدام الأساليب الموجودة أو حتى تعديلها إذا أردت.

يرجى مشاهدة هذا الفيديو مع إرشادات مفصلة حول كيفية إعداد Debian Linux و Python3 على الروبوت الخاص بك. على الرغم من أن هذا مخصص بشكل خاص لإعداد Mac ، إلا أنه سيظل من المفيد الحصول على فهم عام للعملية.. هذا هو التقدم في العمل لا يمكن الاعتماد على المستشعر بالموجات فوق الصوتية في بعض الأحيان وهذا يتطلب رمزًا أكثر ذكاءً لاكتشاف "القيم المتطرفة". أود أن أرى مساهمات من الآخرين لجعل الكود أكثر كفاءة وأقل عرضة للخطأ.

الخطوة 3: اصنع مقاطع صوت هوكينغ الخاصة بك

حسنًا ، الآن تريد الحصول على بعض الاقتباسات الشهيرة أو مجرد بعض الأقوال البسيطة من الأستاذ هوكينج. هناك الكثير من مقاطع الفيديو حيث يمكنك سماعه يتحدث ثم هناك محاضراته التي تعد كنزًا دفينًا من الحكمة والقطع الصوتية المفيدة.

أنت بحاجة إلى برنامج مثل Audacity والذي يعمل على العديد من المنصات لاختيار مقاطع الصوت المفضلة لديك وقصها.

احفظ مقطع الصوت الخاص بك كملف wav mono كـ SH6 ، SH7 ، … SH11 ، SH12 وما إلى ذلك.

تجد أدناه بعض العينات التي قمت بإنشائها وفقًا للطريقة المذكورة أعلاه.

الخطوة 4: النصائح والحيل

النصائح والحيل
النصائح والحيل
النصائح والحيل
النصائح والحيل

يأتي Hawking Bot مع وحدة فحص ذاتي للتأكد من توصيل جميع الكابلات وأن طاقة البطارية كافية. يمكن أن تحدث الوصلات المفكوكة أو المفقودة أو التالفة بسهولة. لذا فإن هذه الوحدة مفيدة للغاية. تتحقق طريقة "checkConnection" فقط من وجود توصيل كهربائي. لا يزال يتعين عليك التأكد من توصيل المحركات بالمنفذ الصحيح.

تعد حركة رأس الضرب ضرورية لروبوت هوكينغ لمسح تضاريسه والعثور على أطول مسار دون عائق أمامه. تحتاج الكابلات إلى مساحة كافية لاستيعاب حركات الرأس ؛ لذلك يُنصح بربطهما معًا كما هو موضح في الصورة.

يعمل هوكينج بوت بشكل أفضل مع العوائق الكبيرة وعلى سطح مستو وسلس. يعتبر السجاد أكثر صعوبة بالنسبة للمحركات وقد تضطر إلى ضبط الإعدادات لضبط سلوك الأسطح المختلفة.

لا يعد Hawking Bot مثاليًا بأي حال من الأحوال ، وهذا نموذج أولي سيستفيد من المزيد من التحسينات. تم التعليق على الكود بالكامل ويجب أن يكون من السهل عليك معرفة ما تفعله الطرق المختلفة. تم التعليق على وحدات البت المختلفة باستخدام # ، إذا قمت بإزالة # أمام "طباعة" ، فسيعرض لك البرنامج قيد التشغيل قراءات وحسابات أجهزة الاستشعار المختلفة.

الخطوة 5: التحسينات والتحديثات والأفكار المستقبلية المقترحة

الآن وبعد أن نجحت في بناء الروبوت الخاص بك ، فأنت تريد نقله إلى المستوى التالي. يمكنك تحسين طريقة MotionDetector. في الوقت الحالي في كثير من الأحيان تحصل على قراءة خاطئة. يمكنك رؤية القراءات الفعلية عن طريق إلغاء التعليق disA و disB (في أسفل كتلة الطريقة). عادةً ما تبرز القراءة الخاطئة عن القراءات الأخرى ، لذا يمكنك كتابة خوارزمية لإيقاف استجابة الروبوت لقراءة خاطئة.

ربما تريد السيطرة الكاملة على الروبوت والتحكم عن بعد في وظائفه المختلفة. يمكنك القيام بذلك عبر البلوتوث وكتابة برنامج Android للتواصل مع الروبوت. ومع ذلك ، فإن الطريقة الأسهل بكثير تتمثل في العثور على مكان يتولى فيه مستشعر الأشعة تحت الحمراء السيطرة على هوكينغ بوت.

ماذا عن جعل الروبوت يتعرف على بيئته؟ يمكن تحقيق ذلك من خلال نهج k-الأقرب أو ربما شبكة عصبية. يتمتع الطوب EV3 بقدرة معالجة محدودة على الرغم من أنه يدعم Numpy. سيكون البديل هو BrickPi الذي يسمح لك بتشغيل مكتبة AI مثل Tensorflow ولكن القصد من هذا الدليل هو استخدام مجموعة Lego EV3 MINDSTORMS دون الحاجة إلى شراء العديد من القطع الإضافية باهظة الثمن بخلاف المستشعر فوق الصوتي.

ومع ذلك ، يجب أن يعمل نهج التعلم الخاص بإعادة المعلومات مع أقرب جيران على وحدة EV3 وهذه هي الخوارزمية المقترحة. أترك الأمر لك للعثور على تطبيق عملي أو اكتشاف أي مشاكل:

التعلم المعزز لـ Hawkings Bot

الفكرة هي أن 7 قراءات USS مشفرة في متجه واستخدام آخر 10 انقباضات رأسية لإنشاء متجه متسلسل من 70 إدخالاً. القراءات الأولى غير مكتملة لذلك سيتم ملؤها بالأصفار. يحتوي كل إدخال على قيمة المسافة من USS. هذا هو متجه الحالة s. يسمح النظام بـ 1000 إدخال. بعد ذلك ، سيتم استبدال الإدخال الأقدم وسيتم تقليل الإدخالات العمرية لكل زوج من s-r بواحد.

يجب ألا يقترب الروبوت أكثر من 10 سم من الجسم. هذا يخلق مكافأة سلبية. للبساطة؛ تُكافأ الأفعال الجيدة بالرقم 1 والأخرى السيئة بالرقم 0. وهذا يخلق بشكل فعال احتمالًا للمكافأة لكل مجموعة عمل وحالة. سوف نستخدم المكافآت المخفضة وسياسة الجشع من إبسيلون.

يؤدي هذا إلى إنشاء 3 جدول كبير للمكافأة (s-r) لجميع الإجراءات الثلاثة اليمنى ، والأمامية واليسرى مباشرة - قد يكون من الممكن الحصول على سرعات سريعة وبطيئة لكل إجراء. سيكون لدينا بعد ذلك 6 إجراءات و 6 جداول بحث s-r.

في كل مرة يتم فيها تسجيل حالة جديدة يتم مقارنتها بالجداول ، يتم استخدام المسافة الإقليدية (أو مقياس مشابه) للعثور على أقرب جار. لن يتم ترتيب هذا ، بل يتم تعيين حد t لقبول الحالة على أنها متشابهة جدًا ، والكتابة فوق الحالة الحالية والتحديث للحصول على أعلى مكافأة وتنفيذ الإجراء المرتبط أ. إذا لم يكن مشابهًا (d> t) ، أدخل زوجًا جديدًا من s-r لكل إجراء a. إذا كان هناك ارتباط بين الإجراءات لـ s-r (لديهم جميعًا نفس المكافأة) فاختر عشوائيًا ولكن هذا ليس شائعًا ويمكن حذفه.

سيتعين على t تحديده تجريبيًا ، إذا كانت t صغيرة جدًا ، فسيتم تجاهل الحالات المتشابهة وسيتم اعتبار كل حالة فريدة. تعني a كبيرة جدًا أنه حتى الحالات غير المتشابهة يتم تجميعها معًا مما قد يؤثر على القدرة على اختيار الإجراءات الجيدة. قد يكون من الممكن استخدام الأساليب الإحصائية لتحديد أفضل ر.

يبدو الجدول شيئًا كالتالي: رقم الإدخال - متجه الحالة - المكافأة على الإجراء 1 - المكافأة على الإجراء 2 - المكافأة على الإجراء 3.

أعتقد أن التنفيذ الفعلي سيكون صعبًا ولكن يجب أن يكون أقل جهدًا. حظا طيبا وفقك الله!

موصى به: