الروبوت يحل مكعب روبيك في ثانية واحدة. روبوت يسجل رقما قياسيا جديدا لأسرع وقت في حل مكعب روبيك

17.02.2019

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

سر النجاح

مثل جميع أجهزة مماثلةيستخدم روبوت Katz وDi Carlo كاميرا (في هذه الحالة PlayStation 3 Eye) تلتقط صورًا لجميع جوانب المكعب وتنقلها إلى جهاز كمبيوتر. باستخدام برنامج min2phase (يعتمد العمل على خوارزمية هربرت كوتزمبا ثنائية المرحلتين)، يتعرف على الألوان في أجزاء من الثانية، ويختار حل مثاليالمهام ويعطي الأمر للروبوت. تسمح محركات Kollmorgen ServoDisk خفيفة الوزن للغاية ووحدة التحكم المخصصة بذلك الذكاء الاصطناعياقلب جانبًا واحدًا من مكعب روبيك بزاوية 90 درجة في 10 مللي ثانية. بافتراض أنه يمكن حل اللغز خلال 19-23 حركة، يجب على روبوت كاتز ودي كارلو حل المكعب في 0.25 ثانية. ومع ذلك، في الواقع تقوم الآلة بحركة واحدة كل 15 مللي ثانية، وبالتالي تستغرق العملية بأكملها 0.38 ثانية.

Speedcubing و speedcubers

دعونا نتذكر أن مكعب روبيك تم اختراعه على يد النحات المجري ومدرس الهندسة المعمارية إرنو روبيك في عام 1974. وقد مر أكثر من 30 عامًا منذ ذلك الحين، لكن اللغز لا يزال يحقق نجاحًا كبيرًا. اليوم هناك مسابقات خاصة ل تجميع عالي السرعةمكعب روبيك: يُطلق على المشاركين اسم مكعبات السرعة، وتسمى العملية نفسها بمكعب السرعة (من الكلمة الإنجليزية speedcubing). في سبتمبر 2017 رقم قياسي جديد المثبتة الأمريكي باتريك بونس البالغ من العمر 15 عامًا. لقد حل اللغز في 4.69 ثانية، وقام بـ 17 حركة.

وتقام أيضًا مسابقات مماثلة بين الروبوتات. حتى وقت قريب، كان يعتبر بطل غير رسمي لSpeedcubing

15 أكتوبر 2014 الساعة 12:57 مساءً

MindCub3r باللغة الروسية - صنع روبوت يمكنه حل مكعب روبيك (تم تحديث المقالة)

  • DIY أو افعلها بنفسك

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

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

يمكنك قراءة المزيد عن LEGO MINDSTORMS EV3 على هذا الموقع.

وهذا ما يجب أن ننتهي إليه:

MindCub3rيمكن بناؤها من واحد طقم ليغومايندستورمز EV3 (31313، الإصدار المنزلي).

ستحتاج أيضًا إلى تعليمات التجميع و برمجة، تم تطويره من قبل مؤلفي المشروع.

رسالة مهمة!!!

في أول أمس، أعلن مؤلف المشروع على حسابه على الفيسبوك أنه قام بتصحيح البرنامج الخاص بالروبوت الخاص به، وهو الآن يعمل مع البرنامج الثابت "القياسي" لـ "الطوب" 1.06N. وقد ظهرت هذه المعلومات أيضًا بالفعل على الصفحة الرئيسية للمشروع، وهي أرشيف MindCub3r-v1p1a.zip الذي يحتوي، من بين أمور أخرى، على نسخة محدثةالبرنامج متاح بالفعل للتنزيل. لا يزال تنزيل مجموعة مستشعر الألوان وتثبيتها مطلوبًا.

تم تصحيح نص المقال الإضافي لأخذه بعين الاعتبار أحدث التغييراتعلى موقع المشروع!

عرض أو تنزيل تعليمات تجميع MindCub3r.
قم بتنزيل البرنامج الثابت (في وقت كتابة EV3-Firmware-V1.06H.bin) الخاص بالطوب من موقع LEGO MINDSTORMS الرسمي.
قم بتنزيل أرشيف MindCub3r-v1p1a.zip مع ملفات المشروع (MindCuber-v1p1.ev3، وautorun.rtf، وmc3solver-v1p1.rtf).
نحتاج أيضًا إلى البرامج الثابتة لمستشعر الألوان الذي نأخذه. بيت القصيد هو أن الإعدادات القياسيةلا يكتشف هذا المستشعر الألوان بشكل صحيح وضع RGB.

بعد تجميع الروبوت وتنزيل كل ما تحتاجه على جهاز الكمبيوتر الخاص بك، يمكنك البدء في إعداده.

إذا لم تقم بعد بتحديث البرنامج الثابت الخاص بالطوب، فقم أولاً بالتثبيت نسخة جديدةالبرمجيات الرئيسية العواصف الذهنية تحجب EV3:

1. قم بتشغيل برنامج LEGO MINDSTORMS EV3؛
2. اختر أدوات - تحديث البرامج الثابتة;

"منظر"، ابحث عن الملف الذي تم تنزيله مسبقًا EV3-البرامج الثابتة-V1.06H.binوانقر "يفتح";

« الملفات المتوفرةبرنامج مدمج"يختار EV3-البرامج الثابتة-V1.06Hوانقر "تحميل". نحن في انتظار انتهاء التنزيل؛

5. أعد تشغيل الوحدة الرئيسية (أطفئها ثم أعد تشغيلها مرة أخرى).

3. في مربع الحوار الذي يظهر، انقر فوق "منظر"، ابحث عن الملف الذي تم تحميله مسبقًا ColorSensorRGB-v1.00.ev3bوانقر "يفتح";

4. في مربع الحوار في الجدول "حدد الكتل لاستيرادها"يختار ColorSensorRGB-v1.00.ev3bوانقر "يستورد".

5. لإكمال التثبيت، أغلق مربع الحوار واخرج من برنامج LEGO MINDSTORMS EV3.

الآن اللحظة الأكثر أهمية هي تحميل برنامج الروبوت في القالب:
1. قم بفك ضغط الأرشيف الذي تم تنزيله مسبقًا MindCub3r-v1p1a.zip;

2. قم بتشغيل برنامج LEGO MINDSTORMS EV3؛
3. اختر ملف - مشروع مفتوح، ابحث عن الملف MindCub3r-v1p1.ev3، الذي تم فك ضغطه من أرشيف MindCub3r-v1p1.zip وانقر فوق "فتح"؛

4. بعد فتح المشروع، قم بتحميله في "الطوب". نحن نقوم بالتحميل، ولكن نحن لا نطلق!!!

5. دعنا نذهب إلى أدوات - متصفح الذاكرة (Ctrl+I);

6. حدد (تمييز) في علامة التبويب "وحدة"أو "بطاقة الذاكرة"ملف المشروع "MindCub3r-v1p1";
7. انقر "تحميل";

8. ابحث عن الملف mc3solver-v1p1.rtf "يفتح";
9. اضغط مرة أخرى "تحميل"بعد التأكد من أن مجلد المشروع "MindCub3r-v1p1" لا يزال محددًا؛
10. ابحث عن الملف تثبيتMC3-v1p1.rbf، تم تفريغها من أرشيف MindCub3r-v1p1a.zip وانقر فوق "يفتح";

ملاحظة: يحتوي الملف mc3solver-v1p1.rtf على ملحق النص .rtf. الرجاء عدم محاولة فتح هذا الملف باستخدام محرر نصوص.

11. أغلق مربع الحوار، ثم اخرج من البرنامج وأعد تحميل الوحدة.

الخطوة الأخيرة هي تثبيت تطبيق MC3 Solver على الوحدة الرئيسية:

1. قم بتشغيل الكتلة:

2. ابحث عن مجلد المشروع في علامة التبويب الثانية MindCub3r-v1p1(في كتلة الذاكرة أو على بطاقة SD):

3. حدد ملف InstallMC3-v1p1 وانقر عليه زر الوسطوحدة لتثبيت:

4. في علامة التبويب الثالثة نتحقق من التوفر التطبيق المثبت MC3 حلالا v1p1:


5. أعد تشغيل الكتلة.

6. في علامة التبويب الثالثة من الكتلة، قم بتشغيل تطبيق “MC3 Solver v1p1” لبدء تشغيل برنامج mc3solver-v1p1.rtf:

الجميع! MindCub3r جاهز للاستخدام!

7. قم بتشغيل البرنامج في علامة التبويب الأولى أو الثانية من الكتلة:

بعد بدء البرنامج، سيطلب منك الروبوت إدخال مكعب ("إدراج مكعب") وسيبدأ في مسحه باستخدام مستشعر الألوان.
بعد المسح، سوف يفكر الروبوت لفترة وجيزة ويبدأ في التجميع.
سيتم تمييز الحل الناجح للمشكلة بالتناوب البهيج للمكعب.

وهنا، في الواقع، عملية عمل الروبوت:

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

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

الروبوت يحل مكعب روبيك بشكل مستقل تمامًا!

الوقت المقدر:

مسح المكعب: دقيقة واحدة
حل الحساب: 20 - 40 ثانية
أمر الحركة: 1 – 5 دقائق. متوسط ​​4.5 دقيقة
متوسط الوقت الكلي: 6 دقائق

قم بتنزيل البرنامج الثابت والتصميم الكامل مع الوصف!

تعليمات:

اقرأ كل شيء في هذه الصفحة.

بدء تشغيل برنامج المعايرة.

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

تسلق المكعب ودع Twister يقوم بإمالة حلوله.

تصميم:

قطع قطعة من الورق المقوى الرفيع مقاس 70 × 70 مم وقطع الزوايا مقاس 8 × 15 مم.
ضعه على القرص الدوار بحيث يكون المكعب على سطح مستو. من المهم أن ينقلب المكعب بسهولة على السطح عند إمالته.

توصيل الأسلاك بالطريقة الآتية:
1 - اللمس - حساس اللمس
2 - حساس الضوء أو حساس الألوان HiTechnic
3- حساس بالموجات فوق الصوتية
- محرك دوار
ب - المقلب - الذراع، المحرك
ج - الضوء - لون حساس المحرك

مكعب روبيك

لسوء الحظ، الأصفر و أبيضلا يوفر مكعب روبيك القياسي قراءات من مستشعر الضوء.
إذا لم يكن لديك مستشعر الألوان، فستحتاج إلى استبدال بعض ألوان المكعب.

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

جزء مهم:

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

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

إذا كان المكعب صلبًا، يمكنك تشحيمه برذاذ السيليكون. بعد التشحيم، تحتاج إلى العمل مع المكعب لعدة دقائق.

تأكد من أن آلية الدوران مستوية قبل بدء البرنامج.

تأكد من سحب ذراع الإمالة بالكامل قبل بدء البرنامج.

ينبغي تجنب مصدر الضوء القوي مباشرة فوق الروبوت.

معايرة

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

اختبار المكعب

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

اختبار اللون(فقط للاستخدام مع المستشعر)

يعرض هذا البرنامج التكلفة الحالية لمستشعر الضوء. استخدامه لاختبار مجموعة الألوان الخاصة بك.

مستشعر الألوان هاي تكنيك

يتطلب البرنامج الثابت LEGO MINDSTORMS NXT الإصدار 1.05 أو الأحدث.
راجع تعليمات البناء المنفصلة الخاصة بمستشعر اليد المزود بمستشعر الألوان.

الملفات ذات الامتداد . آر إكس إي الملفات القابلة للتنفيذ، والتي ينبغي تنزيلها على الطوب باستخدام برنامج LEGO Mindstorms:
- يخلق مشروع جديد(ملف/جديد)
- انقر على زر "نافذة NXT".
- حدد علامة تبويب الذاكرة
- انقر فوق الزر "تنزيل".

الملفات ذات الامتداد . تحسين جدولة الموارد هي ملفات الصوتويجب تحميله بنفس طريقة تحميل ملفات rxe.

حجم برنامج Tilttwister كبير جدًا. إذا كنت تواجه مشكلة في تحميل Tiltedtwister.rxe، فجرب ما يلي:
- حذف الآخرين ملفات البرنامجوالملفات الصوتية وما إلى ذلك لتحرير المساحة.
- تحديث البرامج الثابتة NXT. أنا أستخدم NXT المدمج 1.05 وأنا محتار. يمكنك التنزيل والتثبيت باستخدام البرامج الثابتة LEGO العواصف الذهنية NXTبرمجة.
- إلغاء تجزئة NXT نظام الملفات. (مركز قيادة Bricx / مستكشف NXT / إلغاء التجزئة)

مصدر

الملفات ذات الامتداد . يمكن تحرير Nxc وتجميعه باستخدام BricxCC (http://bricxcc.sourceforge.net).

استكشاف الأخطاء وإصلاحها

شاهد عرض NXT وهي تقوم بمسح الوجوه. عند استخدام مستشعر الضوء، فإنه يعرض التكلفة. إذا كنت تستخدم اللون، يقوم المستشعر بإخراج ثلاث قيم لكل عملية مسح. هذه هي قيمة قراءة الألوان RGB.

عندما تتحقق من أن كل شيء يستحق العناء، فإنها تقرر الألوان. تقول الشاشة: "استقر مع الزهور".

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

بعد ذلك، يبدأ في تنفيذ القرارات التي تشير إلى عدد القرارات المتبقية التي تظهر على الشاشة.

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

حظ سعيد!

بن كاتز / يوتيوب

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

تم اختراع مكعب روبيك في عام 1974، لكن اللغز لا يزال يحظى بشعبية كبيرة. يُطلق على الأشخاص المهتمين بحل مكعبات روبيك بسرعة عالية اسم مكعبات السرعة، وتسمى العملية نفسها بمكعبات السرعة. سجل اليوم ينتمي إلى الأمريكي لوكاس إيتر، الذي في نوفمبر 2015 تم جمعهااللغز في 4.904 ثانية. وتقام أيضًا مسابقات مماثلة بين الروبوتات: حتى الآن، كان الروبوت الخاص بالمهندسين من شركة Infeon يعتبر "البطل" غير الرسمي. وفي عام 2016، تمكن من حل مكعب روبيك في 0.637 ثانية. ومع ذلك، قام كاتز ودي كارلو الآن بتطوير روبوت أدى إلى تحسين نتيجة حامل الرقم القياسي السابق بنسبة 40 بالمائة.

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


لتسريع العملية، استخدم كاتز محركات Kollmorgen ServoDisk، التي تتمتع بنسبة عالية جدًا من عزم الدوران إلى القصور الذاتي. بالإضافة إلى ذلك، قام المهندس ببناء وحدة تحكم خاصة تسمح لك بتدوير جانب مكعب روبيك 90 درجة خلال 10 مللي ثانية فقط. شريطة أن يتم إكمال اللغز في 19-23 حركة في المتوسط، يجب أن يحل روبوت كاتز ودي كارلو المشكلة في 0.25 ثانية. ومع ذلك، في الواقع، تستغرق العملية 0.38 ثانية، نظرًا لأن الآلة حاليًا تقوم بحركة واحدة كل 15 مللي ثانية.

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


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

كريستينا أولاسوفيتش