جدول المحتويات:
فيديو: روبوت فوضوي ذاتي التعلم: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
هل أنت مهتم بالتعلم الآلي ، والروبوتات التي تعمل بالذكاء الاصطناعي؟ لست بحاجة للعمل في جامعة فاخرة. هذا وصف لروبوتي الفوضوي. إنه روبوت بسيط للغاية لشرح كيفية استخدام كود التعلم الذاتي وكيفية تنفيذه في منصة اردوينو ، وفي هذه الحالة يكون Arduino مستحقًا. إنها منصة رخيصة جدا!
تعمل الشفرة على تطوير الروبوت بحيث يتعلم الروبوت الزحف. يحصل على ردود فعل من الفأر الذي يتم تجفيفه خلفه. الشفرة "وراثية". هذا يعني أنه يتم اختبار عدد من العناصر الفردية ويتم الاحتفاظ بأفضلها وسيكون لها أطفال. هذا يعني أن الكود يتطور بطريقة تطورية.
الخطوة 1: أجهزة AKA the Robot
انت تحتاج:
- 1 اردوينو ديو
- 8 ميكرورفوس
- 1 PS / 2 فأرة
- 1 مستوي شيفتر
- بعض المتغيرات لدرع المستشعر أو ما شابه ذلك ، لقد سئمت من درع المستشعر ولحمت درع المستشعر.
-أسلاك
-مصدر طاقة خارجي 5 فولت للمضاعفات
- بعض القطع المعدنية الخردة وبعض الصمغ وبعض الخيوط الفولاذية. وشريط!
لذا ضع المستحق على الأرض. ضع الماكينات في حلقة حولها. ضعهم مع الخردة المعدنية والغراء والخيط. هذا هو جزء الفوضى! نظرًا لأنه فوضوي في تصميمه ، لا يمكن التنبؤ به لتحديد كيفية التحرك لحمله على الزحف. هذا هو السبب في أن كود التعلم الذاتي هو السبيل للذهاب!
نصائح: استخدم بعض الأجزاء المعدنية الثقيلة إلى حد ما ، فهي تسهل على الروبوت الحركة.
قم بتوصيل الماكينات بالمستحق ، في حالتي فهي متصلة بـ D39 ، 41 ، 43 ، 45 ، 47 ، 49 ، 51 ، 53.
قم بتوصيل الماكينات بمصدر طاقة خارجي 5 فولت. لهذا الغرض ، قم ببناء نوع من الدرع ، أو استخدم درع مستشعر أو ما شابه. لا تقم بإطعام الماكينات من دبوس المستحقات 5 فولت ، فهذا لا يكفي ، سوف يحترق المستحق. لقد استخدمت لوحة نموذجية صغيرة لتوزيع 5 فولت على جميع الماكينات. تحتوي هذه اللوحة أيضًا على شيفتر المستوى لساعة الماوس وخطوط البيانات PS / 2. تقوم اللوحة أيضًا بتغذية الماوس بجهد 5 فولت. تذكر توصيل الأرض من الطاقة الخارجية بأرض اردوينو المستحقة! توضح الخطط كيفية توصيلها كلها.
قم بتوصيل PS / 2 بالطاقة (5V) والأرضي. قم بتوصيل الساعة وخط البيانات الخاص بـ PS / 2 بـ Due من خلال مفتاح تبديل المستوى. (يذهب وقت الاستحقاق 3.3 فولت ، PS / 2 يذهب 5 فولت). قم بتوصيل الساعة على D12 والبيانات على D13.
للحصول على تفاصيل حول بروتوكول PS / 2 ، يعد هذا تعليمات جيدة جدًا:
www.instructables.com/id/Optical-Mouse-Od…
مكتبة PS / 2 بواسطة jazzycamel التي استخدمتها:
الخطوة الثانية: الكود
في البداية دعني أقول: أنا لست مبرمجًا. بعض الأجزاء كبيرة جدًا ، يمكن للمبرمج الماهر بالطبع تقصيرها وهكذا وهكذا.
الكود هو التعلم الذاتي وهذا هو جوهر المشروع. هذا هو الجزء الممتع منه! هذا يعني أن الروبوت يتطور ويتحسن بشكل أفضل ، وفي هذه الحالة يتحسن في الزحف. الشيء المدهش في هذا هو أن الروبوت سوف يتطور إلى أي شيء تقوم بتغذيته. في هذه الحالة ، يسحب الماوس PS / 2 وكلما طالت مدة سحب الماوس ، زادت النقاط التي يحصل عليها.
هذا يعني أيضًا أنه يمكنك استخدام هذا الرمز لتدريب الروبوت الخاص بك على القيام بشيء آخر ، طالما تم قياسه وإعادته إلى الروبوت!
كما ترى في الصور ، يتم سحب الماوس على سلك رفيع. في البداية تم جره في كابل الفأرة. ومع ذلك ، فإن الكبل متصلب نوعًا ما ، لذلك تعلم الروبوت هز الماوس ، بدلاً من سحبه. أنتجت الاهتزاز نقاط عالية …
يستخدم الكود 50 فردًا. جوهر هذا هو مجموعة من 50 × 50 بايت.
الفرد هو صفيف من البايتات. عند استخدام الفرد لتشغيل الروبوت ، يتم إرسال هذا الفرد إلى وظيفة في الرمز تسمى "tolken".
في بداية السباق هناك 8 متغيرات m1 و m2 و m3 و m4 و m5 و m6 و m7 و m8 (واحد لكل مؤازر). في هذا الروبوت ، لديهم جميعًا قيم بداية ثابتة. في "tolken" يتم تحويل mś في حالة / حلقة التبديل اعتمادًا على قيم الفرد. على سبيل المثال ، القيمة "1" تنفذ ما يلي: m1 = m1 + m2.
إذا كان الفرد هو: 1 ، 2 ، 3 ، 0 ، 0 ، 0 ، 0….. فسيتم تحويل mś بالطريقة التالية:
م 1 = م 1 + م 2 ؛
م 1 = م 1 + م 3 ؛
م 1 = م 1 + م 4 ؛
Tolken هي قائمة من 256 عملية رياضية مختلفة ، لذا فإن كل قيمة ممكنة للمصفوفة الفردية تمثل تغييرًا رياضيًا لقيم m.
تتم عملية التوكن 4 مرات ، مع قراءة بين كل لفة ، مما يؤدي إلى توليد أربعة رموز مختلفة للمحرك لكل "م". أكواد الموتور هي القيم التي يتم إرسالها لاحقًا إلى الماكينات.
في كل خطوة من مراحل التطور ، تتنافس 4 أفراد في الزحف. سيكون أفضل فردين هما الوالدين لطفلين ، وسيحل الأطفال محل أسوأ اثنين من الأفراد. عندما يتم صنع الأطفال ، يتم استبدال "الكود الجيني" من أحد الوالدين مقابل شريحة من الوالد الآخر ، وهذا يخلق فردين جديدين.
إذا لم يعمل أي فرد على الإطلاق ، فستحدث طفرة في العناصر الفردية لتوليد أخرى جديدة.
يمكنك العثور على الكود على جيثب:
الخطوة 3: كيف تدربه؟
هذا هو الجزء الصعب. من أجل التدريب بشكل صحيح ، تحتاج إلى "إعادة ضبطه" بعد كل شوط. هذا يعني أنه يجب عليك وضعها في نفس الوضع في كل مرة.
لقد وضعت بعض نقاط الفحص داخل الكود للتأكد من أن الروبوت في موضع البداية.
لذا قم بمحاذاة الروبوت واتركه يعمل.
يختبر 4 أفراد ثم يختار أفضل 2 ليكونا آباء. بعد استبدال الأسوأ بالأطفال ، تطبع بعض البيانات عن أداء الأفراد. كما أنها تطبع مجموعة 50x50. من الحكمة نسخ هذا في ورقة Excel أو ما شابه ذلك. (أو اكتب بعض التعليمات البرمجية في المعالجة) إذا كانت عمليات إعادة التعيين المستحقة (يحدث هذا لأسباب مختلفة) فلن تفقد عملك التدريبي. يمكنك نسخ / لصق المصفوفة في الكود والاستمرار في التدريب حيث تركت.
تعلم الروبوت الخاص بي الزحف بعد بضع ساعات. قم بتنزيل الفيديو لرؤيته الزحف. لم يذهب في الاتجاه الذي اعتقدت أنه سيكون!
جرب أيضًا طوابق مختلفة! كان أداء الروبوت أفضل على سجادة من النايلون.
التحسينات الممكنة:
1. سيكون من الأفضل أن يكون لديك نانو منفصل لقراءة الماوس PS / 2 ، وإرسال المسافة المعالجة المنقولة عبر المسلسل إلى النانو. قراءة الماوس PS / 2 الخاص بي مهتزة بعض الشيء. هذا هو سبب قراءة الماوس / مسح أجزاء من الكود.
2. نوع من معدات الاختبار التي تسحب الروبوت إلى موضع البداية من شأنه أن يسرع التدريب.
3. أعتقد أنه من الحكمة تدريبه بشكل أبطأ قليلاً مما فعلت. التدريب الأبطأ يؤكد أنه يتم تدريبه "في الاتجاه الصحيح". يمكن أن يكون الأداء المتوسط للعديد من الاختبارات التجريبية طريقة ممكنة.
موصى به:
روبوت ذاتي التوازن - خوارزمية التحكم PID: 3 خطوات
روبوت التوازن الذاتي - خوارزمية التحكم PID: تم تصميم هذا المشروع لأنني كنت مهتمًا بمعرفة المزيد عن خوارزميات التحكم وكيفية التنفيذ الفعال لحلقات PID الوظيفية. لا يزال المشروع في مرحلة التطوير حيث لم تتم إضافة وحدة Bluetooth بعد والتي ستتم
روبوت ذاتي التوازن من ماجيكبيت: 6 خطوات
روبوت ذاتي التوازن من Magicbit: يوضح هذا البرنامج التعليمي كيفية صنع روبوت ذاتي التوازن باستخدام لوحة تطوير Magicbit. نحن نستخدم Magicbit كلوحة تطوير في هذا المشروع الذي يعتمد على ESP32. لذلك يمكن استخدام أي لوحة تطوير ESP32 في هذا المشروع
روبوت ذاتي التوازن بعجلتين: 7 خطوات
روبوت ذاتي التوازن بعجلتين: سيخضع هذا التوجيه لعملية التصميم والبناء لروبوت ذاتي التوازن. كملاحظة ، أريد فقط أن أقول إن الروبوتات ذاتية التوازن ليست مفهومًا جديدًا وقد تم بناؤها وتوثيقها من قبل الآخرين. أريد استخدام هذه الفرصة
HeadBot - روبوت ذاتي التوازن لتعلم وتوعية العلوم والتكنولوجيا والهندسة والرياضيات: 7 خطوات (بالصور)
HeadBot - روبوت ذاتي التوازن لتعلم وتوعية العلوم والتكنولوجيا والهندسة والرياضيات: Headbot - روبوت بطول قدمين وذاتي التوازن - هو من بنات أفكار فريق South Eugene Robotics (SERT ، FRC 2521) ، وهو فريق روبوتات تنافسي في المدرسة الثانوية في البداية مسابقة الروبوتات ، من يوجين ، أوريغون. يقوم روبوت التوعية هذا بإعادة
روبوت موازنة / روبوت ذو 3 عجلات / روبوت STEM: 8 خطوات
موازنة الروبوت / روبوت ذو 3 عجلات / روبوت STEM: لقد بنينا موازنة مجمعة وروبوت ثلاثي العجلات للاستخدام التعليمي في المدارس والبرامج التعليمية بعد المدرسة. يعتمد الروبوت على Arduino Uno ، وهو درع مخصص (يتم توفير جميع تفاصيل البناء) ، وحزمة بطارية Li Ion (جميعها