مكعب روبيك في الوقت الحقيقي معصوب العينين باستخدام Raspberry Pi و OpenCV: 4 خطوات
مكعب روبيك في الوقت الحقيقي معصوب العينين باستخدام Raspberry Pi و OpenCV: 4 خطوات
Anonim

هذا هو الإصدار الثاني من أداة مكعب روبيك المصممة لحل معصوب العينين. تم تطوير الإصدار الأول بواسطة javascript ، يمكنك رؤية المشروع RubiksCubeBlindfolded1

بخلاف الإصدار السابق ، يستخدم هذا الإصدار مكتبة OpenCV لاكتشاف الألوان وإدخال المدخلات ، ويوفر تقنية تصور أفضل.

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

أنا أستخدم مكعبًا غير لاصق ، وهذا يحتاج إلى التعرف المخصص ومعظم رموز المصدر المفتوح غير مدعومة. لقد استخدمت هذا المصدر المفتوح الذي طورته Kim Koomen والذي يحدد المساحات الثابتة في إطار الكاميرا لاكتشاف الألوان الصحيحة لمشروع cube faces qbr

الخطوة 1: المكونات المطلوبة

  • فطيرة التوت
  • كاميرا ويب

أو يمكنك استخدام الكمبيوتر المحمول الخاص بك

الخطوة 2: التبعيات

  • بايثون 3
  • مكتبة numpy
  • مكتبة OpenCV

sudo apt-get install python3-opencv

حزمة RubiksBlindfolded

pip3 $ قم بتثبيت RubiksBlindfolded

الخطوة 3: الاستعدادات

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

قم بتحديث وظيفة get_color_name (hsv) في colordetection.py

يستخدم كود المصدر الأصلي حزمة kociemba لحل المكعب ، وهو يحل من خلال إيجاد الخطوات العكسية لأي تدافع. في هذا الإصدار ، استخدمت حزمة الحل الخاصة بي المسماة RubiksBlindfolded والتي تم نشرها على PyPI. انظر الوصف لمعرفة كيفية استخدامه RubiksBlindfolded

الخطوة 4: الاستخدام

إستعمال
إستعمال
إستعمال
إستعمال

بعد تثبيت جميع التبعيات وضبط الكاميرا ، حان الوقت لتشغيل البرنامج النصي معصوب العينين

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

لإجراء المسح ، اضغط على مفتاح المسافة لحفظ العرض ومفتاح ESC بعد الانتهاء

ثانيًا ، يمكنك رؤية تسلسلات الحل على وحدة التحكم ، والتحقق من التكافؤ لإخبارك إذا كنت بحاجة إلى تطبيق خوارزمية التكافؤ أم لا

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

يمكنك رؤية ألوان المخزن المؤقت الحالي التي تتغير ديناميكيًا بواسطة مفاتيح الأسهم. تمثل الألوان الرمادية المكعب المستهدف ، واللون الوردي يمثل وجه التبديل

مصدر الرمز

github.com/mn-banjar/blindfolded2