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

Walking Strandbeest و Java / Python والتحكم في التطبيق: 4 خطوات (بالصور)
Walking Strandbeest و Java / Python والتحكم في التطبيق: 4 خطوات (بالصور)

فيديو: Walking Strandbeest و Java / Python والتحكم في التطبيق: 4 خطوات (بالصور)

فيديو: Walking Strandbeest و Java / Python والتحكم في التطبيق: 4 خطوات (بالصور)
فيديو: Тео Янсен: Мои творения, новая форма жизни 2024, يوليو
Anonim

اتبع المزيد من قبل المؤلف:

دراسة تجريبية للحركة التوافقية البسيطة
دراسة تجريبية للحركة التوافقية البسيطة
دراسة تجريبية للحركة التوافقية البسيطة
دراسة تجريبية للحركة التوافقية البسيطة

مجموعة Strandbeest هذه عبارة عن عمل DIY يعتمد على Strandbeest الذي اخترعه ثيو يانسن. مندهشًا من التصميم الميكانيكي العبقري ، أريد تزويده بقدرة كاملة على المناورة ، وبعد ذلك ، ذكاء الكمبيوتر. في هذا الدليل ، نعمل على الجزء الأول ، القدرة على المناورة. نحن نغطي أيضًا الهيكل الميكانيكي لجهاز الكمبيوتر بحجم بطاقة الائتمان ، حتى نتمكن من اللعب برؤية الكمبيوتر ومعالجة الذكاء الاصطناعي. من أجل تبسيط أعمال البناء والتأثير ، لم أستخدم اردوينو أو كمبيوتر قابل للبرمجة مماثل ، وبدلاً من ذلك ، أقوم ببناء وحدة تحكم في أجهزة البلوتوث. يتم التحكم في وحدة التحكم هذه ، التي تعمل كمحطة تتفاعل مع الأجهزة الروبوتية ، بواسطة نظام أكثر قوة ، مثل تطبيق هاتف android أو RaspberryPi ، وما إلى ذلك. يمكن أن يكون التحكم إما التحكم في واجهة مستخدم الهاتف المحمول ، أو التحكم القابل للبرمجة بلغة Python أو Java. SDK واحد لكل لغة برمجة هو مصدر مفتوح متوفر في

نظرًا لأن دليل مستخدم mini-Strandbeest واضح إلى حد ما في شرح خطوات البناء ، في هذا التوجيه ، سنركز على أجزاء المعلومات التي لم يتم تناولها عادةً في دليل المستخدم ، والأجزاء الكهربائية / الإلكترونية.

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

اللوازم

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

(1) 1x طقم ستراندبيست القياسي (https://webshop.strandbeest.com/ordis-parvus)

(2) محرك 2x DC مع صندوق تروس (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

(3) وحدة تحكم بلوتوث 1x (https://ebay.us/Ex61kC؟cmpnId=5338273189)

(4) 1x LiPo Battery (3.7V ، اختيارك للقدرة في mAh)

(5) مسامير خشبية 12x M2x5.6mm

(6) قضيب الكربون أو الخيزران بقطر 2 مم

طباعة ثلاثية الأبعاد للأجزاء التالية:

(1) 1x جسم الروبوتات الرئيسي

(تنزيل ملف تصميم الطباعة ثلاثية الأبعاد باستخدام وحدة تحكم البلوتوث فقط)

(ملف تصميم طباعة ثلاثية الأبعاد مع تنزيل إضافي لبرنامج OrangePi Nano)

(2) 2x Drive Shaft flange (تنزيل ملف تصميم طباعة ثلاثية الأبعاد)

(3) تركيبات نظام الطاقة 2x (تنزيل ملف تصميم طباعة ثلاثية الأبعاد)

آحرون:

هاتف أندرويد. انتقل إلى متجر Google playstore ، يرجى البحث في M2ROBOTS وتثبيت تطبيق التحكم.

في حالة صعوبة الوصول إلى متجر Google playstore ، قم بزيارة صفحتي الرئيسية الشخصية للتعرف على طريقة تنزيل التطبيق البديلة

الخطوة 1: تنظيم الأجزاء

تنظيم الأجزاء
تنظيم الأجزاء
تنظيم الأجزاء
تنظيم الأجزاء
تنظيم الأجزاء
تنظيم الأجزاء
تنظيم الأجزاء
تنظيم الأجزاء

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

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

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

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

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

الخطوة 2: النقاط الجديرة بالاهتمام أثناء التجميع الميكانيكي

نقاط جديرة بالاهتمام أثناء التجميع الميكانيكي
نقاط جديرة بالاهتمام أثناء التجميع الميكانيكي
نقاط جديرة بالاهتمام أثناء التجميع الميكانيكي
نقاط جديرة بالاهتمام أثناء التجميع الميكانيكي
نقاط جديرة بالاهتمام أثناء التجميع الميكانيكي
نقاط جديرة بالاهتمام أثناء التجميع الميكانيكي

يحتوي mini-Strandbeest على دليل مستخدم جيد إلى حد ما. يجب أن يكون من السهل اتباع الدليل وإكمال التجميع. سأتخطى هذا المحتوى وأسلط الضوء على بعض النقاط المثيرة للاهتمام التي تستحق اهتمامنا.

في الشكل 1 ، أحد جوانب الفتحة التي تحمل أصابع مطاطية هو زاوية 90 درجة ، في حين أن الجانب الآخر به منحدر 45 درجة ، وهو ما يسمى رسميًا بالشطب. يوجه هذا المنحدر إصبع القدم المطاطي ليتناسب مع القدم البلاستيكية. جرب تثبيت أصابع القدم من الجانب المشطوب ، انظر الشكل 2 ، ثم جرب الجانب الآخر. الفرق ملحوظ جدا. الجانب الأيمن من الشكل 3 هو الساعد في Stranbeest لدينا. إنه مشابه جدًا للكرنك في المحرك ، محرك السيارة ، محرك الدراجة النارية ، وكلها تشترك في نفس الهيكل. في Strandbeest ، عندما يدور الكرنك ، فإنه يدفع القدمين للتحرك. بالنسبة للمحرك ، فإن حركة المكبس هي التي تدفع الكرنك للدوران. يؤدي هذا الفصل البالغ 120 درجة في الدائرة أيضًا إلى محرك أو مولد ثلاثي الطور ، الطاقة الكهربائية 120 درجة عن بعضها ، كما هو موضح في الشكل 4. بمجرد تجميع الأجزاء الميكانيكية للأجسام الجانبية اليمنى واليسرى ، نبدأ الآن في العمل على الأجزاء التي نضيفها إلى Strandbeest ، انظر الشكل 5. الشكل 6 هو الخطوة التي نستخدم فيها مشبك المحرك المطبوع ثلاثي الأبعاد لربط المحرك بالهيكل المطبوع ثلاثي الأبعاد. في هذه الخطوة ، تتمثل الحيلة في عدم إحكام ربط أي من المسامير اللولبية قبل ضبط موضع المحرك بحيث يكون السطح الجانبي للهيكل هو نفس سطح المحرك. بمجرد أن نكون راضين عن المحاذاة ، يمكننا تشديد جميع البراغي. ننتقل إلى الشكل 7 ، فنحن نعمل على تركيب وصلة شفة ، وربط خرج المحرك بالكرنك. يعد تثبيت جانب المحرك أكثر صعوبة من اتصال جانب الكرنك ، انظر الشكل 8. لذلك نقوم بتوصيل الحافة الجانبية للمحرك أولاً. بمجرد تثبيت أداة اقتران الشفة لكلا المحركين ، كما هو موضح في الشكل 9 ، نستخدم قطعتين من قضبان الكربون بقطر 2 مم لتوصيل الهيكل وهيكل المشي الأيسر / الأيمن. هذا يحدث في الشكل 10. في المجموع ، نستخدم 3 قطع من قضبان الكربون لربط هذه الكيانات. لكن في هذه الخطوة ، نربط اثنين فقط من هذه ، لأننا نحتاج إلى تدوير الكرنك وتناسب الاتصال بين الحافة والكرنك. إذا تم وضع 3 قطع من قضبان الكربون في مكانها ، فسيكون من الصعب ضبط الموضع النسبي وتوصيلها. أخيرًا ، لدينا النظام الميكانيكي المجمع النهائي ، في الشكل 11. الخطوة التالية ، لنعمل على الإلكترونيات.

الخطوة الثالثة: التوصيل الكهربائي

الربط الكهربائي
الربط الكهربائي
الربط الكهربائي
الربط الكهربائي
الربط الكهربائي
الربط الكهربائي

تحتاج جميع الأنظمة الإلكترونية إلى مصدر طاقة. يمكننا وضع بطارية من خلية واحدة في مكان مناسب ، على سبيل المثال ، أسفل لوحة الدوائر في الشكل 1. تعد قطبية مصدر الطاقة أمرًا بالغ الأهمية لدرجة أنه يستحق شخصية مخصصة للمناقشة. يوضح الشكل 2 اتصال البطارية. في لوحة التحكم ، يتم تمييز القطبية بعلامة "+" و "GND" ، انظر الشكل 3. عند نفاد طاقة البطارية ، يتم استخدام كابل USB لإعادة شحن البطارية ، انظر الشكل 4. سيتم إيقاف تشغيل مؤشر LED الذي يشير إلى "عملية إعادة الشحن" تلقائيًا عندما تمتلئ البطارية مرة أخرى. الخطوة الأخيرة هي توصيل منافذ المحرك بموصلات المحرك في لوحة التحكم. توجد 3 موصلات للمحرك ، موضحة بالرقم 16 في الشكل 3. في الشكل 5 ، المحرك الأيسر متصل بالموصل الموجود في أقصى اليسار المسمى بـ PWM12 ، والمحرك الأيمن متصل بالموصل الأوسط. في الوقت الحالي ، فإن تحويل الخزان (مركبة القيادة التفاضلية) إلى اليسار يتم ترميزه بشكل صارم كتقليل لطاقة إدخال المحرك المتصلة بمنفذ المحرك PWM12. لذلك يجب أن يقود المحرك المتصل بمنفذ PWM12 القدم اليسرى. سأقوم لاحقًا بتحويل جميع وظائف الخلط لتكون قابلة للتكوين بواسطة المستخدم. من خلال تبديل خيار موصل المحرك ، أو عكس اتجاه موصل المحرك ، يمكننا إصلاح المشكلة مثل تحريك Strandbeest للخلف عندما يُطلب منك التحرك للأمام ، وتحويل الاتجاه الخاطئ ، وتذكر أن محرك التيار المستمر يغير اتجاه دورانه إذا كان سلك الإدخال متصلة بقوة التحكم بالترتيب العكسي.

الخطوة 4: إعدادات التطبيق والتشغيل

إعدادات التطبيق والتشغيل
إعدادات التطبيق والتشغيل
إعدادات التطبيق والتشغيل
إعدادات التطبيق والتشغيل
إعدادات التطبيق والتشغيل
إعدادات التطبيق والتشغيل
إعدادات التطبيق والتشغيل
إعدادات التطبيق والتشغيل

نقوم أولاً بتنزيل تطبيق android من متجر Google Play ، انظر الشكل 1. يحتوي هذا التطبيق على الكثير من الوظائف الأخرى التي لا يمكننا تغطيتها في هذه التعليمات ، سنركز فقط على الموضوعات ذات الصلة المباشرة بـ Strandbeest.

قم بتشغيل وحدة تحكم البلوتوث للأجهزة ، وسوف تظهر في قائمة أجهزة الاكتشاف. سيؤدي النقر لفترة طويلة إلى نقلنا إلى ميزة التنزيل عبر الهواء ليتم "تعليماتها" لاحقًا. قبل أن نضغط وبدء التحكم ، دعنا نقوم ببعض التكوينات أولاً عن طريق النقر فوق "إعدادات" في الزاوية اليمنى العليا. في الشكل 2 ، يكون مخفيًا تحت رمز…. يوضح الشكل 3 فئات إعداد متعددة. يتم وضع هذه الإعدادات ، التي تم تكوينها في التطبيق ، موضع التنفيذ بثلاث طرق: 1) تؤثر بعض الإعدادات فقط على تشغيل التطبيق ، مثل العمليات الحسابية للحصول على أمر التحكم في طاقة كل محرك من أمر التوجيه والخانق. إنهم يعيشون في التطبيق. في بعض التعليمات اللاحقة ، سوف نوضح كيف نستبدلها ببرامج Python / Java الخاصة بنا. 2) يتم إرسال بعض الإعدادات إلى الأجهزة كجزء من بروتوكول التحكم في الهواء ، مثل التبديل بين التحكم المباشر (المؤازرة تدور بالضبط الزاوية المطلوبة) وتطير عن طريق التحكم في الأسلاك (تعمل وحدة وظيفة وحدة التحكم المستقلة المضمنة في المؤازرة القناة وفقًا لأمر المستخدم والموقف الحالي) 3) سيتم إرسال بعض الإعدادات إلى الذاكرة غير المتطايرة في وحدة تحكم الأجهزة. ومن ثم ستتبع الأجهزة هذه الإعدادات في كل مرة يتم تشغيلها دون تكوينها. مثال على ذلك هو اسم بث البلوتوث الخاص بالجهاز. يحتاج هذا النوع من الإعدادات إلى دورة طاقة حتى يتم تفعيلها. الفئة الأولى التي نتعمق فيها هي "الإعدادات العامة" في الشكل 4. تحدد "وظيفة التحكم في التطبيق" في الشكل 5 الدور الذي يلعبه هذا التطبيق ، وهو وحدة تحكم للجهاز عبر اتصال مباشر بالبلوتوث ؛ جسر على الإنترانت / الإنترنت للتحكم في التواجد عن بعد ؛ وما إلى ذلك ، بعد ذلك ، تخبر الصفحة "نوع HW" في الشكل 6 التطبيق أنك تعمل مع مركبة القيادة التفاضلية ، لذلك يجب تحديد وضع "الخزان". لدينا 6 مخرجات PWM متوفرة في المجموع. بالنسبة إلى Strandbeest ، نحتاج إلى تكوين القناة من 1 إلى 4 وفقًا للشكل 7. يتم تشغيل كل قناة PWM في أحد الأوضاع التالية: 1) أجهزة عادية: أجهزة التحكم عن بعد التي يتم التحكم فيها بواسطة إشارة PWM من 1 إلى 2 مللي ثانية 2) مؤازرة عكسية: ستعكس وحدة التحكم تحكم المستخدم في إخراجها 3) دورة عمل محرك التيار المستمر: تيار مستمر يمكن تشغيل المحرك أو بعض الأجهزة الكهربائية الكهربائية في وضع دورة العمل ، 0٪ إيقاف تشغيل ، 100٪ قيد التشغيل دائمًا. 4) عكس دورة عمل محرك التيار المستمر: مرة أخرى ، ستعكس وحدة التحكم تحكم المستخدم في إخراجها نظرًا لأننا نستخدم محرك DC ونعتني باتجاه دوران المحرك بترتيب توصيل أسلاك الأجهزة ، فسنختار "دورة عمل محرك DC" للقناة 1 إلى 4 ، انظر الشكل 8. نحتاج أيضًا إلى دمج قناتين PWM في جسر H واحد ، وذلك لتمكين التحكم ثنائي الاتجاه. هذه الخطوة موضحة في الشكل 9. في أسلوب "2 PWM إلى 1 H-bridge" ، يتم استخدام القناة 1 و 3 و 5 للتحكم في كلتا القناتين المرتبطين. إنه يقدم حاجة لإعادة تعيين عنصر التحكم في دواسة الوقود ، والتحكم من أعلى لأسفل في عصا التحكم من القناة الافتراضية 2 إلى القناة 3. ويتم تحقيق ذلك في إعدادات الشكل 10. كما هو مبين في الشكل 11 ، يتم تكوين كل قناة لتأخذ مصدر إدخال تعسفي واحد.

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

العمل المستقبلي: في التعليمات التالية ، سنقوم بتغطية واجهة البرمجة الخاصة به تدريجيًا ، واختيار لغتك المفضلة Java أو Python للتفاعل مع Strandbeest ، ولم نعد نقرأ حالة strandbeest من شاشة الهاتف المحمول. سنبدأ أيضًا في البرمجة في كمبيوتر RaspberryPi من نوع Linux لمزيد من موضوعات البرمجة المتقدمة ، انظر الشكل الأخير. تحقق من https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ للحصول على الأجزاء الميكانيكية للطباعة ثلاثية الأبعاد و https://github.com/xiapeiqing/m2robots.git لـ SDK وكود المثال إذا كنت تريد البدء على الفور. اسمحوا لي أن أعرف ما هي لغة البرمجة التي تريدها إذا لم تكن Java أو Python ، يمكنني إضافة إصدار جديد من SDK.

استمتع بالقرصنة وابق على اطلاع بالتعليمات التالية.

موصى به: