جلسة ميدان علوم الحاسوب
الخلفية
خلال صيف 2020، التحقت بمقرر CSCI370 أو “هندسة البرمجيات المتقدمة” كجزء من برنامج البكالوريوس في علوم الحاسوب في كلية كولورادو للمعادن. CSCI370 هو مقرر يجعل الطلاب يصممون، ينفذون، ويوثقون حلولاً برمجية لشركة. يسمح للطلاب بتطبيق معرفتهم المكتسبة من المقررات على مشاكل علوم الحاسوب الواقعية. يمكنك معرفة المزيد عن المقرر هنا.
في المقرر، يمكنك اختيار المشروع/الشركة التي ستعمل عليها. قدم المقرر ملفات PDF تفصل كل مشروع وشركة. في النهاية قررت العمل على مشروع نشرته شركة تسمى Lunar Outpost بعنوان Real Time Wheel Slip Detection and Error Corrections for Enhanced Lunar Navigation. بما أن الاسم طويل، دعونا نسمي المشروع بـ “كشف انزلاق العجلات”.
المشكلة
شركة Lunar Outpost هي شركة ناشئة تسعى لإنشاء مركبات قمرية ذاتية القيادة. على القمر، هناك الكثير من الغبار القمري المعروف بأنه يسبب الكثير من انزلاق العجلات. هذا غير مثالي لأن انزلاق العجلات يمكن أن يتسبب في فقدان الأنظمة الذاتية لموقعها الحقيقي في العالم. على الأرض، يتم حل ذلك باستخدام بيانات نظام تحديد المواقع (GPS) لتصحيح أي إزاحة ناتجة عن انزلاق العجلات. لكن المشكلة في الـ GPS هي أنه يعمل فقط بوجود أكثر من 30+ قمر صناعي ملاحية تدور باستمرار حول الأرض في مدار وتُرسل إشارات فريدة تسمح للكمبيوترات بحساب موقعها. ولكن على القمر، لا يوجد حالياً نظام GPS. لذا يجب استخدام طريقة أخرى غير الـ GPS لاكتشاف انزلاق العجلات. يمكن الاطلاع على تقرير أكثر تفصيلاً لمشكلة المشروع هنا.
الزملاء
لم يكن هذا المشروع بسيطًا، لذا كان لابد من إنجازه ضمن فريق. يتكون الفريق من خمسة طلاب من كلية كولورادو للمعادن:
- Mehmet Yilmaz (أنا)
- Kane Bruce
- Braedon O’Callaghan
- Liam Dempsey
- Kevin Grant
يتطلب المشروع منا معرفة بعض ROS، C++، Python، Linux، Raspberry Pi، وArduino. معظمنا كان لديه خبرة في واحدة أو أكثر من هذه التقنيات لكنني كنت الوحيد الذي لديه خبرة في ROS لأنني استخدمته في مادة الروبوتات المتمركزة على الإنسان (CSC470) خلال فصل ربيع 2020. وبسبب ذلك، في البداية، ساعدت الجميع على التعرف على ROS وكيفية التطوير باستخدامه.
التحديات
في هذا المشروع كان هناك الكثير من التحديات. لكن أكبر تحدٍ واجهناه هو عدم توفر روبوت حقيقي للاختبار. كان ذلك بسبب COVID الذي جعل كل شيء عن بُعد ومنعنا من العمل في مختبر/مباني Lunar Outpost. وبالتالي اضطررنا لاستخدام المحاكاة.
كما اطلعنا على بعض الأبحاث الأكاديمية من مختبر الملاحة بجامعة WVU للحصول على فكرة عن كيفية حل مشكلة انزلاق العجلات لحالة استخدام Lunar Outpost. وهذا، بالنسبة لنا كطلاب جامعيين في السنة الثانية والثالثة، كان أصعب مما توقعنا.
تحدٍ آخر واجهناه هو كمية الوقت المتاح للعمل على هذا المشروع. CSCI370 هو مقرر يمتد لشهر واحد. لكن المشكلة نفسها مشكلة ضخمة تحاول العديد من الشركات والأكاديميين حلها وتحسينها منذ عقود. لذا فإن شهرًا واحدًا بعيد كل البعد عن كفاية الوقت لحل هذه المسألة. ومع ذلك، بالرغم من كل هذه التحديات، استمرينا وتأكدنا من إكمال المشروع.
الخاتمة
في هذه المشاركة، كنت أود أن أقدم شرحًا أكثر تفصيلاً لحلولنا. وكذلك تقديم خاتمة مناسبة تشرح ما اكتشفناه والنتائج النهائية. لكن للأسف، أنا وزملائي وقعنا على اتفاقية عدم إفشاء (NDA) التي تمنعنا من مشاركة أي معلومات سرية حول هذا المشروع. جميع المعلومات التي قدمتها أعلاه عامة ويمكن الوصول إليها عبر الإنترنت.
خلال هذا المشروع، تعلمنا حقًا كيفية استخدام ROS وإنشاء محاكيات باستخدام ROS وGazebo. كما اكتسبنا فهمًا أفضل في مجال البحث عن كشف انزلاق العجلات. كما كان لنا شرف لقاء بعض الأكاديميين/الباحثين من مختبر الملاحة بجامعة WVU.
مع كل هذا، يجب أن أقول إن هذا المشروع مكنني من تولي دور قيادي في الفريق، والعمل كمعلم لمساعدة زملائي على فهم ROS بشكل أفضل، وقد زودني بمزيد من الخبرة في ROS وGazebo وPython. كما عرّفني على مشكلة انزلاق العجلات، وهي مشكلة لم أكن على علم بها حتى عملت على هذا المشروع. بشكل عام، أنا ممتن لأن Lunar Outpost خصص وقتًا من جدولهم المزدحم، خاصةً خلال COVID، للسماح لنا بالعمل على هذا المشروع. وأنا أيضًا ممتن لوجود زملاء رائعين عملوا بجد على هذا المشروع.