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

مشروع BricKuber - روبوت حل Raspberry Pi Rubiks Cube: 5 خطوات (بالصور)
مشروع BricKuber - روبوت حل Raspberry Pi Rubiks Cube: 5 خطوات (بالصور)

فيديو: مشروع BricKuber - روبوت حل Raspberry Pi Rubiks Cube: 5 خطوات (بالصور)

فيديو: مشروع BricKuber - روبوت حل Raspberry Pi Rubiks Cube: 5 خطوات (بالصور)
فيديو: ТОП-10 проектов Arduino всех времен 2024, يونيو
Anonim
Image
Image

يمكن لـ BricKuber حل مكعب روبيك في أقل من دقيقتين تقريبًا.

BricKuber هو روبوت مفتوح المصدر لحل مكعبات روبيك يمكنك بناءه بنفسك

أردنا بناء روبوت حل مكعب روبيك باستخدام Raspberry Pi. بدلاً من السعي وراء السرعة ، ذهبنا بكل بساطة: إذا كان لديك Raspberry Pi ومجموعة BrickPi ومجموعة LEGO Mindstorms EV3 أو NXT القياسية ، فيجب أن تكون قادرًا على اتباع خطواتنا بسهولة. البرنامج مكتوب بلغة برمجة بايثون. يمكنك رؤية جميع الكود المصدري على جيثب هنا.

الخلفية بدأ مكعب روبيك مؤخرًا في العودة. تم اختراعها في عام 1974 ، وهي اللعبة الأكثر مبيعًا في العالم. لكن حلها يتطلب التفكير والجهد والمهارة… فلماذا لا تدع الروبوت يفعل ذلك؟ في هذا المشروع ، نأخذ Raspberry Pi و BrickPi ومجموعة من LEGO Mindstorms ونبني روبوتًا لحل مكعبات روبيك. ما عليك سوى وضع مكعب روبيك غير محلول في المحلل وتشغيل برنامج الثعبان وسيتم حل مكعب روبيك! يستخدم المشروع Pi لحل مكعب روبيك مباشرة. يأخذ BrickPi3 مكعب روبيك الذي لم يتم حله ويلتقط Raspberry Pi صورة لكل جانب من جوانب مكعب روبيك باستخدام كاميرا Raspberry Pi. ينشئ Pi خريطة نصية لمربعات الألوان توضح مكان وجودها على المكعب. عندما يتم تعيين المكعب بشكل كامل ، يستخدم Pi مكتبة الثعبان "kociemba" لتخطيط الحركات اللازمة لحل مكعب روبيك. يتم أخذ هذه المعلومات بواسطة Pi و BrickPi3 لحل مكعب روبيك باستخدام محركات LEGO. النتيجة: مكعب روبيك محلول.

الخطوة 1: الأدوات والمواد

بنائها
بنائها
  • BrickPi3 - سنستخدم BrickPi للتحكم في محركات LEGO التي تحل محلل مكعب روبيك.
  • Raspberry Pi - سيقوم Pi بالمعالجة والتقاط الصور وقيادة BrickPi.
  • كاميرا Raspberry Pi - ستلتقط كاميرا Pi صورة لمكعب روبيك الذي لم يتم حله.
  • كابل إيثرنت - ستحتاج إلى توصيل جهازك بالإنترنت. إذا كنت تريد القيام بذلك عبر شبكة wifi ، فلا بأس بذلك أيضًا!
  • Raspbian for Robots SD Card - البرنامج الذي يدير Raspberry Pi. يأتي هذا مع معظم البرامج اللازمة لهذا البرنامج التعليمي. يمكنك أيضًا تنزيل البرنامج مجانًا.
  • مجموعة LEGO Mindstorms EV3 (31313) - ستحتاج إلى كومة من LEGO ومحركين كبيرين ومحرك مؤازر واحد ومستشعر الموجات فوق الصوتية.
  • مكعب روبيك - وجدنا واحدًا يدور بحرية تامة هنا. يمكنك استخدام أي مكعب روبيك بحجم 9 × 9 × 9 تقريبًا.

الخطوة 2: قم ببنائه

بنائها
بنائها
بنائها
بنائها

بناء Solver

هذا التصميم مستوحى من تصميم MindCub3r لـ LEGO EV3. لبناء BricKuber ، ابدأ ببناء MindCub3r. يمكن العثور على تعليمات بناء LEGO الكاملة هنا.

يحتوي تصميم أداة حل مكعب روبيك على ثلاثة أجزاء متحركة رئيسية. الأول هو مهد يحمل مكعب روبيك. والثاني هو العتاد ، وهو ذراع يستخدم لقلب مكعب روبيك.

أخيرًا ، نضيف ذراع الكاميرا. في التصميم الأصلي لشركة MindCubr ، حمل هذا مستشعر اللون EV3 فوق مكعب روبيك. في تصميمنا المعدل ، فإنه يحمل كاميرا Raspberry Pi فوق مكعب روبيك. نستخدم محركي LEGO Mindstorms للتعامل مع المكعب: الأول يجلس أسفل المهد لتدوير المكعب ، والثاني يحرك ذراع ناقل الحركة لتدوير المكعب على محور معاكس.

قم بتجميع وحدة البناء BrickPi3

يمكنك العثور على تعليمات التجميع الخاصة بـ BrickPi3 هنا. سنحتاج إلى تجميع العلبة وإرفاق BrickPi3 و Raspberry Pi وكاميرا Raspberry Pi وإضافة بطاقة SD وإضافة البطاريات. لتسهيل إعداد البرنامج ، يأتي Raspbian for Robots مع معظم البرامج التي ستحتاجها بالفعل. ستحتاج إلى بطاقة SD سعة 8 جيجابايت على الأقل ، وستحتاج إلى توسيع القرص ليلائم الحجم الكامل لبطاقة SD.

إرفاق BrickPi3

نضيف BrickPi3 إلى مجموعة LEGO. استخدمنا "أجنحة" LEGO EV3 لدعم BrickPi3 وجعلها متساوية مع جسم BricKuber. هذه خطوة جيدة لإضافة بطاريات 8XAA إلى حزمة الطاقة وإرفاق حزمة الطاقة BrickPi3 بمجموعة LEGO. بالنسبة للبرمجة ، يمكنك تشغيل BrickPi3 عبر طاقة USB إلى Raspberry Pi ، ولكن لنقل المحركات ، ستحتاج إلى توفير الطاقة باستخدام Power Pack.

قم بتوصيل المحركات بوحدة BrickPi3

قم بتوصيل محرك Shuffler بمنفذ المحرك “MD”. قم بتوصيل محرك المهد بمنفذ "MA" على وحدة BrickPi3. قم بتوصيل محرك مستشعر الكاميرا بمنفذ "MC" (هذا هو المحرك الأصغر الذي يشبه المؤازرة). على الرغم من أننا لن نحرك الكاميرا ، فقد ترغب في ضبط موقع الكاميرا باستخدام المحركات.

إرفاق كاميرا Raspberry Pi

باستخدام دعم LEGO Camera ، قم بتوصيل الكاميرا. يجب أن تناسب العدسة السوداء الصغيرة للكاميرا بين دعامتي شعاع LEGO. ثبت الكاميرا في مكانها في دعامات LEGO ببعض الأشرطة الكهربائية. هذا هو الوقت المناسب للتأكد من أن الكاميرا في وضع يمكنها من التقاط مكعب روبيك بالكامل. يمكنك التقاط صورة اختبارية باستخدام أمر raspistill

raspistill -o cam.jpg

تأكد من أن المكعب في منتصف الصورة جيدًا.

الخطوة 3: قم بإعداد البرنامج

يمكنك استخدام أي إصدار من Raspbian أو Raspbian for Robots ، وهي صورتنا المخصصة التي تأتي مع BrickPi3 مثبتًا بالفعل. إذا كنت تستخدم إصدارًا قياسيًا من Raspbian ، فيمكنك تثبيت مكتبات BrickPi3 باستخدام الأمر

sudo curl -kL dexterindustries.com/update_brickpi3 | سحق

ستقوم هذه الخطوة بتثبيت جميع المكتبات اللازمة لتشغيل BrickPi3 على صورة Raspbian الخاصة بك. تخطي هذه الخطوة إذا كنت تستخدم Raspbian for Robots: تم تثبيت BrickPi3 بالفعل.

أخيرًا ، قم بتثبيت جميع تبعيات المشروع باستخدام الأمر:

sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | سحق

في هذه الخطوة ، ستحتاج BrickPi3 إلى الاتصال بالإنترنت. هناك عدد من المكتبات التي يعتمد عليها المشروع ، بما في ذلك بعض المكتبات المهمة من تأليف Daniel Walton (@ dwalton76) على Github ، والتي تُستخدم في حل مكعب روبيك.

الخطوة 4: حل مكعب روبيك

حل مكعب روبيك
حل مكعب روبيك
حل مكعب روبيك
حل مكعب روبيك
حل مكعب روبيك
حل مكعب روبيك

ضع مكعب روبيك غير محلول في المهد. قم بتشغيل الأمر

sudo python ~ / Dexter / BrickPi3 / Projects / BricKuber / BricKuber.py

سيقوم الروبوت بتحويل المكعب إلى كل وجه وستلتقط الكاميرا 6 صور ، واحدة من كل جانب من جوانب المكعب. سيحدد Raspberry Pi تكوين المكعب من الصور الست. سيتم تمرير تكوين Cube إلى مكتبة kociemba Python لإيجاد حل فعال. أخيرًا ، سينفذ الروبوت الحركات لحل مكعب روبيك!

الخطوة 5: كود المصدر

يمكن العثور على جميع الكود المصدري لـ BricKuber في مستودع جيثب مفتوح المصدر لدينا هنا.

يستخدم هذا المشروع حزم البرامج التالية التي تم تثبيتها بواسطة الأمر

موصى به: