علوم وتكنولوجيا

“تشارلي”: إبداع طالب في جامعة دمشق انتهى ببناء روبوت يتحدى الإنسان في الشطرنج !

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

 

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

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

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

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

روبوتات ليغو: من قال أن الروبوتات معقدة لهذه الدرجة؟

 

بدأ هادي بحل المشكلة بدءاً من تأمين القطع والمعدات اللازمة: فمع انتشار الأنظمة الروبوتية التي تقوم شركة “ليغو” بتصنيعها وتوفيرها. هادي تعلم كيفية تصميم وبرمجة الروبوتات اعتماداً على أنظمة LEGO Mindstorms عندما كان في السنة الدراسية الأولى، وشارك عدة مرات في مسابقاتٍ خاصة بروبوتات ليغو، سواء كمشاركٍ في الفرق، أو كمدرب. منذ أن تعرف هادي على روبوتات ليغو، وجد فيها متعةً حقيقية، وأصبح مشهوراً بين أصدقائه بالتصاميم الميكانيكية الرائعة التي يقوم بها. المتعة الحقيقية كانت دمج المعارف العلمية الهندسية التي يتلقاها نظرياً في الجامعة، مع النماذج التي يقوم بتركيبها.

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

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

الأمر لا يتعلق فقط بالهيكل الميكانيكي للنظام الروبوتي…

حتى الآن، لم يتم تنفيذ أي شيء! فما هي الوسيلة التي ستقوم بمسح رقعة الشطرنج وإرسال الحركة التي قام بها الإنسان؟ وكيف سيتم تأمين الربط بين المتحكم الخاص بالروبوت والنظام الحاسوبي الذي يجري عمليات التعرف واتخاذ القرار؟

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

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

هل وجدتم التفاصيل السابقة محيرة جداً؟ حسناً، سأقوم باختصار المشروع إلى ما يلي:

حاسوب يقوم بتفسير حركات الإنسان واتخاذ الحركة المناسبة للروبوت

هاتف ذكي يلتقط الصور بشكلٍ مستمر لتحديد أي حركة على الرقعة

نظام روبوتي ميكانيكي يتلقى الأوامر من الحاسوب وينفذ الحركات بناءً على خورازمية الحل

ميكانيكياً، تم استخدام القطع التي توفرها شركة ليغو (محاور، مسننات، قارنات، عواض…)

برمجياً، تم استخدام البيئات البرمجية التالية: Robot C، Matlab, Java

شاهد الفيديو

المصدر : عالم الإلكترون 

 

زر الذهاب إلى الأعلى