جلسة ميدانية في علوم الحاسوب
الخلفية
خلال صيف 2020، أخذت CSCI370 أو “هندسة البرمجيات المتقدمة” كجزء من برنامج دراستي الجامعية في علوم الحاسوب في مدرسة كولورادو للمناجم. CSCI370 هو دورة تجعل الطلاب يقومون بتصميم وتنفيذ وتوثيق حلول متعلقة بالبرمجيات لشركة ما. يسمح للطلاب بتطبيق معرفتهم من المقررات الدراسية على مشاكل علوم الحاسوب في العالم الحقيقي. يمكنك معرفة المزيد عن الدورة هنا.
في الدورة، يمكنك أن تقرر أي مشروع/شركة ستعمل عليها. قدمت الدورة ملفات PDF توضح كل مشروع وشركة. في النهاية، قررت العمل على مشروع نشرته شركة تسمى Lunar Outpost بعنوان الكشف عن انزلاق العجلات في الوقت الحقيقي وتصحيحات الأخطاء لتحسين الملاحة القمرية. نظرًا لأن الاسم طويل، دعنا نعطي المشروع اسمًا مستعارًا هو “كشف انزلاق العجلات”.
المشكلة
Lunar Outpost هي شركة ناشئة تحاول إنشاء مركبات قمرية ذاتية القيادة. على القمر، هناك الكثير من الغبار القمري المعروف بأنه يسبب الكثير من انزلاق العجلات. هذا ليس مثاليًا لأن انزلاق العجلات يمكن أن يتسبب في فقدان الأنظمة الذاتية لموقعها الحقيقي في العالم. على الأرض، يتم حل هذه المشكلة باستخدام بيانات GPS لتصحيح أي انزلاق ناتج عن انزلاق العجلات. لكن المشكلة مع GPS هي أنه يعمل فقط بوجود 30+ من الأقمار الصناعية للملاحة تدور باستمرار حول الأرض في مدار وتبث إشارات فريدة تسمح لأجهزة الكمبيوتر بحساب موقعها. لكن على القمر، لا يوجد حاليًا ما يسمى GPS. مع العلم بذلك، يجب استخدام طريقة أخرى غير GPS لاكتشاف انزلاق العجلات. يمكن الاطلاع على تقرير أكثر تفصيلًا عن مشكلة المشروع هنا.
الزملاء
لم يكن هذا المشروع مشروعًا بسيطًا، لذا كان يجب أن يتم في فريق. كان الفريق يتكون من خمسة طلاب آخرين من مدرسة كولورادو للمناجم:
- محمد يلمز
- كين بروس
- بريدون أوكالاغان
- ليام ديمبسي
- كيفن غرانت
كان المشروع يتطلب منا معرفة بعض ROS وC++ وPython وLinux وRaspberry Pi وArduino. كان لدى معظمنا خبرة في واحدة أو أكثر من هذه التقنيات، لكنني كنت الوحيد الذي لديه خبرة في ROS حيث استخدمت ROS في صف الروبوتات المتمحورة حول الإنسان (CSC470) خلال فصل الربيع 2020. بسبب ذلك، ساعدت في البداية في إطلاع الجميع على ROS وكيفية التطوير له.
التحديات
في هذا المشروع، كانت هناك الكثير من التحديات. لكن أكبر تحدٍ واجهناه هو عدم وجود وصول إلى روبوت حقيقي للاختبار. كان ذلك بسبب COVID الذي جعل كل شيء عن بُعد ومنعنا من العمل في مختبرات/مباني Lunar Outpost. بسبب ذلك، كان علينا استخدام المحاكيات.
أيضًا، قمنا بمراجعة بعض الأبحاث الأكاديمية من مختبر الملاحة في WVU للحصول على فكرة عن كيفية حل مشكلة انزلاق العجلات لحالة استخدام Lunar Outpost. والتي، بالنسبة لنا، كطلاب جامعيين في السنة الثانية والثالثة، كانت أكثر صعوبة مما توقعنا.
تحدٍ آخر واجهناه هو مقدار الوقت الذي كان لدينا للعمل على هذا المشروع. CSCI370 هي دورة مدتها شهر واحد. لكن المشكلة نفسها هي مشكلة ضخمة تحاول العديد من الشركات والأكاديميين حلها/تحسينها منذ عقود. لذا، شهر واحد بعيد عن كونه كافيًا لحل هذه المشكلة. لكن، على الرغم من كل هذه التحديات، استمرينا في العمل وتأكدنا من تقديم النتائج.
الخاتمة
في هذا المنشور، كنت سأحب أن أقدم شرحًا أكثر تفصيلًا عن حلولنا. بالإضافة إلى تقديم خاتمة مناسبة تشرح ما اكتشفناه والنتائج النهائية. لكن للأسف، أنا وزملائي جميعًا وقعنا على اتفاقية عدم الإفصاح (NDA) التي تمنعنا من مشاركة أي شيء سري حول هذا المشروع. كل المعلومات التي قدمتها أعلاه هي معلومات عامة ويمكن الوصول إليها من الإنترنت.
خلال هذا المشروع، تعلمنا حقًا كيفية استخدام ROS وإنشاء محاكيات باستخدام ROS وGazebo. كما اكتسبنا فهمًا أفضل في مجال البحث عن كشف انزلاق العجلات. كما كان لدينا شرف الاجتماع مع بعض الأكاديميين/الباحثين من مختبر الملاحة في WVU.
مع العلم بكل هذا، يجب أن أقول إن هذا المشروع أتاح لي أن أتولى دور القيادة في الفريق، وأكون معلمًا لمساعدة زملائي في فهم ROS بشكل أفضل، وقدم لي المزيد من الخبرة في ROS وGazebo وPython. كما أتاح لي التعرف على مشكلة انزلاق العجلات، وهي مشكلة لم أكن على علم بها حتى العمل على هذا المشروع. بشكل عام، أنا ممتن لأن Lunar Outpost خصصت وقتًا من جدولها المزدحم، خاصة خلال COVID، للسماح لنا بالعمل على هذا المشروع. أنا أيضًا ممتن لوجود زملاء رائعين عملوا بجد على هذا المشروع.