MIRO - منصة روبوت داخلية مفتوحة

أريد أن أتحدث عن عملي ومشروعنا المشترك للحيوانات الأليفة - روبوت داخلي متنقل يعتمد على مجموعة من لوحات ARDUINO للمعالجات الدقيقة (ATMEGA328 - كما ترى بشكل أفضل) و ESP8266 و Raspberry Pi. اتصلت به أنا وأصدقائي MIRO - من "Mobile Intelligent RObot".

صورة

جدول المحتويات: الجزء 1 ، الجزء 2 ، الجزء 3 ، الجزء 4 ، الجزء 5 .

أنا رئيس مركز التدريب والبحوث للروبوتات في جامعة ولاية باسيفيك وفي الوقت نفسه لدينا المستكشف الصغير المحلي EastMaker. كان مركز جامعتنا في وجود للعام الخامس. بشكل رسمي ، نحن وحدة هيكلية في الجامعة تضم متجهين رئيسيين للنشاط (بشكل غير متوقع): أكاديمي وعلمي. يرتبط النشاط العلمي حتى الآن بشكل أساسي بنظم الأمتعة المتاحة - أنظمة الملاحة والاتصالات الخاصة بالروبوتات الموجودة تحت الماء. حتى قبل ظهور مركزنا ، كان مختبر التقنيات والأنظمة الذكية (LITiS) موجودًا في قسم هندسة الحوسبة ، وهو مختبر مشترك مع معهد مشكلات التكنولوجيا البحرية ، فرع الشرق الأقصى التابع لأكاديمية العلوم الروسية. ولا يزال موجودا. عندما تم إنشاء المركز ، أصبح رئيس هذا المختبر هو المشرف العلمي ، وأصبح مركز الروبوتات قاعدة موارد لـ LITiS.

العنصر الثاني من النشاط هو التعليم. يتم بناء العملية التعليمية في المركز كجزء من أنشطة المشروع للطلاب وأطفال المدارس (نشرك أطفال المدارس في عدد من المشاريع). كل من الطلاب الجامعيين وطلاب الدراسات العليا في جميع المجالات الفنية تقريباً يعملون في مشاريع.

صورة

صورة

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

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

  • أساسيات تكنولوجيا المعالجات الدقيقة.
  • أجهزة استشعار بسيطة (مبادئ التشغيل ، ميزات الاستخدام) ؛
  • أساسيات تقنيات معالجة المواد (الطحن ، القطع بالليزر ، الطباعة ثلاثية الأبعاد) ؛
  • سيناريوهات التحكم والخوارزميات البسيطة من مجال الروبوتات المتنقلة.

ثم بدا لي صحيحًا تمامًا أن الهدف من هذه الدورة يجب أن يكون نوعًا من روبوت ARDUINO غير المكلف.

بدأنا ننظر إلى ما هو في السوق. واكتشفوا الغرابة التالية. كانت هناك روبوتات ARDUINO ومجموعات جيدة حقًا. في كثير من الأحيان مكلفة للغاية. لكن عادة ما يكون لديهم اثنين من السلبيات الكبيرة:

  • استخدام مكواة "أصلية" معينة (غالبًا ما تستخدم نفس ARDUINO ، ولكن في نسخة المؤلف ، تتضمن شراء اللوحات بشكل خاص من مصنع واحد) ؛
  • نقص المواد التعليمية (هذا شيء مثير للاهتمام بشكل عام - يصنع الناس مجموعات ومجموعات ممتازة من أجل التعليم ، لكن لا يهتمون مطلقًا بإطلاق الأشياء الأساسية: الكتيبات والدروس والمصنفات (إذا لزم الأمر)).

منذ ما يقرب من أربع سنوات ، ظهر ميرو. ولكن ظهرت للتو. بمرور الوقت ، تغير منطق هذا المشروع تمامًا.

في البداية ، أنشأنا مجمع تعليمي يعتمد على الروبوت الخاص بنا. ولم يكن هناك ESP و Raspberry Pi هناك. كان هناك ARDUINO وحدة بلوتوث. ها هي العربة الأولى:

صورة

مع هذه العربة ، عرفنا ما يجب القيام به مع الطلاب. حسنًا ، حتى في مهرجان ROBOMECH الذي نظمناه في خاباروفسك ، قاموا بتجميع كرة قدم صغيرة للزوار.

صورة

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

صورة

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

في هذا الوقت تقريبًا ، غمر السوق قرارات مختلفة حول هذا الموضوع. وقد أصبحت قدرات ATMEGA328 في مجال الروبوتات الحقيقية ، حتى بالنسبة للتعليم ، غير ذات أهمية كبيرة. ثم وُلد مفهوم الروبوت الداخلي MIRO الجديد ، وهو حل مفتوح للنماذج الأولية السريعة للروبوتات المحمولة داخل المباني وخارجها مع أجهزة وظيفية بما فيه الكفاية تسمح لك بالغطس في OpenCV و ROS وجميع أنواع IOT.

لذلك ، جوهر مفهوم اليوم ميرو.

أولاً ، MIRO هو روبوت صغير للهواتف المحمولة ، مفتوح المصدر تمامًا (حتى المكونات واللوحات التسلسلية الجاهزة المستخدمة - إذا لم توفر الشركة المصنعة المصدر ، فلن يكون لدينا أي منهما) ، موزعة تحت رخصة CC Attribution Share Alike 4.0.

يتكون جسم الروبوت من خلال الطباعة ثلاثية الأبعاد والليزر. بعد الإصدار الأول من الروبوت ، في محاولة لخفض التكلفة ، لم نرغب عمومًا في استخدام الطباعة ثلاثية الأبعاد في تكنولوجيا الإنتاج. ولكن بعد أن عانت من المواد الورقية في الإصدار الثاني ، تخلت تمامًا عن فكرة خفض التكاليف بما يضر بالجودة والوظائف. واليوم ، تم الانتهاء من MIRO بنسبة 90 ٪ باستخدام الطباعة ثلاثية الأبعاد. أكثر موثوقية ميكانيكيا وممتعة للاستخدام. الطموح الوحيد الذي دعمناه في عملية تصميم أجزاء الجسم هو سهولة الطباعة. كنت أرغب في تجنب الدعم المعقد والأقسام "الملتوية" - حتى نحصل على نتيجة جيدة حتى على طابعة ثلاثية الأبعاد رخيصة. بالنظر إلى المستقبل ، أقول إننا حققنا ذلك - لقد أثبتت طباعة عنصر التحكم دون أي تعديلات على السلع الاستهلاكية المطلقة ANET A6.

ميرو لديه بعض وحدات.

صورة

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

ثانياً ، MIRO هي أدوات برمجية مطورة:

  • واجهة برمجة تطبيقات الروبوت لـ ATMEGA328 مع مكتبة تواصل مع Raspberry Pi (لا تزال قيد التطوير) أو مع مضيف عبر UART (لكنها جاهزة).
  • أمثلة للدروس والبرامج من أبسط دورات المحركات إلى الرؤية الفنية مع نقل دفق الفيديو أو نتائج معالجة الفيديو إلى مضيف. في المستقبل القريب ، تقدم مجموعة من الأمثلة تحت ROS.
  • صور Raspbian الجاهزة مع المكتبات والبرامج المثبتة مسبقًا ، والأجهزة الظاهرية لـ VirtualBox أيضًا مع برامج التطوير المثبتة مسبقًا.

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

في الوقت الحالي ، في الاختبار التجريبي ، موقع لديه القدرة على نشر مشاريعه لـ MIRO. حتى الآن ، لا يمكن استضافة سوى الملفات الصغيرة هناك ، لكن بمرور الوقت ، أعتقد أننا سننطلق.

الآن ستكون هناك سلسلة من المقالات حول MIRO ، والتي سأتحدث عنها بمزيد من التفصيل ، مع كل التفاصيل.

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

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

سيتم نسخ بعض المواد من سلسلة المقالات بتعليماتي من المستودعات ، ولكن في بعض الأماكن ستكون أكثر تفصيلاً.

اليوم ، دعنا نذهب على أجهزة الروبوت.

يعتمد روبوت MIRO على مجموعة من ثلاثة أنظمة شهيرة للمعالجات الدقيقة:

  • ARDUINO (استنادًا إلى Atmel ATMEGA328 ، AVR core)
  • ESP8266
  • توت العليق بي (النسخة التي ليست مهمة الآن).

يتم تشغيل روبوت MIRO بواسطة بطارية ذات جهد مصنّف مقداره 7.4 فولت (Li-Ion 2S). للحصول على 5 فولت المطلوبة من قبل معظم أجهزة المعالج الدقيق في الروبوت ، يتم استخدام محول LM2596S.

بشكل قياسي ، يتم التحكم في جميع أجهزة الاستشعار والمحركات بواسطة ATMEGA328.

يسمح ESP8266 بالبرمجة اللاسلكية لشريحة ATMEGA328 من بيئة ARDUINO IDE ، كما أنه بمثابة جسر SERIAL-WIFI يسمح بتبادل البيانات باستخدام المنفذ التسلسلي ATMEGA328 (UART) لاسلكيًا باستخدام بروتوكول TELNET. من الواضح ، يتم توصيل ATMEGA328 و ESP8266 عبر خطوط RX / TX.

بالإضافة إلى ذلك ، لتنفيذ شريحة ATMEGA328 لاسلكيًا ، فإن خط RESET من هذه الشريحة متصل بخط GPIO2 من متحكم ESP8266.

وبالتالي ، حتى بدون Raspberry Pi ، يحتوي MIRO على بنية متطورة ومريحة للتطوير.

في التكوين الأساسي للروبوت مع الوحدة الأمامية SENS1 ، يتم توصيل أجهزة الاستشعار والأجهزة التالية إلى متحكم ATMEGA328:

  1. أجهزة الاستشعار الرقمية عداد المسافات (اليسار واليمين عجلة)
  2. سائق من محركات اليسار واليمين على رقائق L9110S
  3. مستشعر الخط بالموجات فوق الصوتية HC-SR04
  4. مستشعرات الضوء المضاد للضوء (اليسار واليمين)
  5. باعث الصوت بيزو
  6. المصابيح للضوء الأمامي (اليسار واليمين)
  7. مجسات الخط (اليسار واليمين والوسط)
  8. كاميرا إمالة محرك سيرفو

الأجهزة 3-7 اختيارية ويمكن استبدالها بأي أجهزة استشعار أو أجهزة. يمكنك تصميم وصنع الوحدة الأمامية الخاصة بك مقابل الوحدة النمطية المقترحة (يطلق عليها SENS1 في المستندات) مع المهام والأجهزة الخاصة بك.

الأجهزة 1 و 2 و 8 إلزامية لعمل الروبوت ولا تتضمن إيقاف التشغيل. إنه أمر مفهوم - من دون سائقي السيارات ، لن يكون الروبوت قادرًا على الحركة ، وبدون أجهزة استشعار قياس المسافات ، لا يمكنك قول أي شيء عن طبيعة حركة الروبوت ولن تتمكن من التحكم بدقة في حركته. حسنًا ، قد يكون تعليق الكاميرا (إذا كنت تستطيع تسميته) جزءًا لا يتجزأ أيضًا.

يتم توصيل Raspberry Pi بجهاز ATMEGA328 عبر I2C (TWI). يتم توصيل كاميرا Raspberry Pi Camera v1.3 بلوحة Raspberry Pi.

أريد الانتباه إلى المكونات التسلسلية المستخدمة الآن في MIRO. في الأساس ، ركزنا على منتج صيني روسي واحد (في خريطة الإنتاج ، في قائمة المكونات التسلسلية ، يمكنك رؤية اسم الشركة). وقد تم ذلك جزئيا عن قصد. الصينيون لديهم الكثير من وحدات من مكبرات الصوت ، صفارات وغيرها من السلع الاستهلاكية. هؤلاء الرجال يمثلون على الأقل بعض العلامات التجارية مع تسميات التسمية. ويمكنك على الأقل الإشارة بطريقة ما إلى أن قطعة الحديد يجب أن تكون في عقدة واحدة أو أخرى من الروبوت. على الرغم من أنها تبيع نفس السلع الاستهلاكية مقابل القليل من المال. نظرت إليهم عن كثب وأعجبتني وكأنها شركة روسية. والرسالة التي ينشرونها على موقعه على شبكة الإنترنت ، ألهم الأمل في أن الرجال "لكل شيء جميل". في الواقع ، على ما يبدو ، كل شيء ليس جيدًا. لا يتحمل مخطط الدوائر على الأقل على لوحة UNO + WiFi الخاصة بهذه الشركة المصنعة أي نقد.

صورة

أنها ليست كاملة وتنفيذها مع العديد من الأخطاء. وفقا لذلك ، لم نتمكن من تحديد جميع مكونات اللوحة ، ما هو متصل.

في اللوحة نفسها ، قام المصممون بخياطة خطأ / ميزة واحدة عديمة الفائدة: دائرة واحدة لإعادة ضبط ATMEGA328 و ESP8266. هذا يعني أنه من المستحيل تنظيم البرامج الثابتة اللاسلكية ATMEGA328 عبر ESP8266 - عندما يحاول ESP8266 إعادة تعيين ATMEGA ، فإنه يسحب خط إعادة التعيين. في الوقت نفسه ، تحتوي اللوحة على زر منفصل لإعادة ضبط ESP وزر إعادة الضبط العام لجميع وحدات التحكم في وقت واحد. علاوة على ذلك ، فإن مفتاح DIP لـ 8 خطوط ملحوم على السبورة. والمفتاح الثامن لا يشارك. في النهاية ، كسرت خط إعادة ضبط ESP وجعلت من الممكن توصيله بدائرة إعادة الضبط الشائعة باستخدام هذا المفتاح الثامن باستخدام سلك التركيب. أي إذا تم إيقاف تشغيل المفتاح 8 ، فيمكن إعادة ضبط ESP فقط عن طريق الضغط على زر ESP RESET ، ولا تؤدي إشارة على خط RST المشترك أو الضغط على زر إعادة الضبط العام إلى إعادة ضبط ESP. عندما يكون المفتاح قيد التشغيل ، يعود كل شيء إلى الحالة كما كان قبل تعديل اللوحة.
يبقى لمعرفة كيفية كسر دائرة إعادة الضبط. لقد وجدت الحل الأكثر ألم.

  1. لحام الصمام الثنائي D3 بالقرب من الموصل لتوصيل هوائي خارجي.
  2. لحام مكثف بين الساق من الصمام الثنائي ملحوم (3.3V على ذلك) والأرض.

الآن ، عندما تضغط على زر إعادة الضبط ، لا تتم إعادة ضبط ESP.

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

هناك حل بديل - المعتاد Arduino UNO ومثل بطاقة التوسع (أو شيء من هذا القبيل).

صورة

ولكن هنا هو غير مريح إلى حد ما مع البرامج الثابتة ESP. ومع ذلك ، تعتبر البرامج الثابتة ESP في دورها الحالي في MIRO إجراء نادرًا إلى حد ما.

حسنًا ، على أي حال ، تحتاج إلى توصيل GPIO2 ESP8266 بخط إعادة تعيين وحدة التحكم ATMEGA328 من أجل البرامج الثابتة اللاسلكية. يمكنك اختيار GPIO آخر ، ولكن GPIO2 هو الذي تم تسجيله في كود MIRO (أو سيتعين تصحيح الرمز). في البداية ، بدافع الخبرة ، اختاروا أول شيء جاء ، كما يقولون ، - GPIO0. لكنهم أدركوا بسرعة خطأهم - بالنسبة للبرامج الثابتة ESP ، كان لا بد من فك وصلة المرور هذه أو فكها ، لأنه تم استخدام خط GPIO0 في ESP في إجراء البرنامج الثابت.

استنتاج عام: عند تجميع MIRO ، يمكنك استخدام أي بطاقات من أي الشركات المصنعة التي تتيح لك تلبية متطلبات نظام التبديل.

يتم تقديم مخطط الدائرة الكامل للروبوت MIRO في أحد المستودعات المذكورة.

على الفور سؤال عادي. هل هناك أي حلول مماثلة في السوق؟ بالطبع هناك. لكن مكلفة. وبالمناسبة ، لاحظ الرجال الذين نشروا سلسلة من المقالات هنا حول عربة ROS أيضًا عدم وجود حل "حديدي" يمكن الوصول إليه بشكل أو بآخر. سيكون أمرا رائعا إذا جسد المؤلفون أنا ونتائجهم على MIRO.

الآن ، بشكل عام ، حول الخطط. لتنمية كل شيء وكل شيء قبل الإصدار الثالث ، تلقى المشروع دعم الدولة. التمويل. وهي صندوق النهوض بالابتكار. الذي شكرا جزيلا له. بدون هذه الأموال ، ربما تركناه معنا وبجودة مختلفة تمامًا. أريد حقًا أن يصبح الروبوت منصة للنماذج الأولية والتدريب والتجارب ، والتي ستضع الأساس لبعض التفاعلات الحقيقية لـ CMIT (FabLabs ، الخارقة) في بلدنا. أصبحت نقطة غريبة من الجهود المشتركة ، حيث تصبح مساهمة كل منها ميزة للجميع. أفهم بوضوح أنني أعتمد على وحدات الفرق التي ستصبح مثيرة للاهتمام. ولكن حتى مثل هذا التفاعل سيكون نجاحًا. لقد شجعتني كثيراً الطريقة التي ظهر بها في الغرب - كما هو الحال في مكان فارغ عملياً ومبادرة عدد قليل من الملل ، ولد نظام بيئي ضخم. ماذا لو كان يعمل؟ هناك الكثير من النقاط لتطبيق الجهد في ذلك.

خريطة طريق التطوير الحالية ، كما أراها ، تقع على لوحة kanban على GitHub .

قمنا أيضًا بتطوير بعض سياسات تطوير المشروع. أي منصة تنطوي على قيود معينة ، "الأعلام". بدونها ، يتحول كل شيء إلى فوضى ، ولا ينشأ النظام الأساسي ، وإذا حدث ، فهو لا يعيش طويلاً. على نفس GitHub هو مستند ، يشبه بيان تطوير النظام الأساسي. بمرور الوقت ، سيتغير هذا الأمر بشكل شبه مؤكد - ستعمل التجربة ببساطة على ضبط مدى ملاءمة الجميع (المستخدمين والمطورين).

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

شكرا لكم جميعا على اهتمامكم وسيسعدني أن لدي أسئلة ومبادرات بناءة تساعد في تطوير المشروع.

سيتم تخصيص المادة التالية لميكانيكا وتصميم وتصنيع الهيكل.

بعض الصور من الروبوتات.

صورة

صورة

صورة

ملاحظة: على طول الطريق ، رافق المشروع أشخاص مقربون وعزيزون لي ، والذين أصبحوا في فترات زمنية مختلفة جزءًا من الفريق وساعدوا في تطوير المشروع. اختلفت مساراتنا المهنية مع شخص ما ، لكن لا يسعني إلا ملاحظة مساهمتهم. دع أسماءهم لا تقول شيئًا تقريبًا لأي شخص ، لكنني آمل أن يسعدوا. هذا هو يفغيني ليدكوف ، الذي يعمل الآن في FEFU في مديرية البرامج التعليمية ، الذي كتب أول خطة عمل لما لم يكن في الأساس بعد ، وأغرق المشروع بكل قلبه. و Pavel Efimov ، الذي انتقل أيضًا إلى FEFU ، إلى مختبر الروبوتات ، الذي كان له علاقة مباشرة أو غير مباشرة بالمشروع. وبير دامبايف ، الذي عاد إلى وطنه في أولان أودي ، ويقوم الآن بتعليم الأطفال إلى مركز الأطفال الذي أنشأه. وعدد قليل من الرجال الذين قاموا بعملهم بشكل جيد.

Source: https://habr.com/ru/post/ar472380/


All Articles