01 · 2025 — حتى الآن
روبوت منارة الحرمين
منصة ROS 2 التي يقوم عليها روبوت خدمي يخدم حجاج وزوار الحرمين الشريفين في مكة المكرمة والمدينة المنورة — ملاحة ذاتية، توثيق وشحن ذاتي، وخط معالجة حساسات يقوم عليه مساعد ذكاء اصطناعي على الشاشة يدعم نحو 25 لغة.
- ROS 2
- Nav2
- SLAM Toolbox
- C++
- Modbus / RS-485
- Point Cloud (PCL)
- REST / WebSocket
- systemd
المشكلة
الروبوت الخدمي الموجّه لحجاج وزوار المسجد الحرام والمسجد النبوي يحتاج أن يتحرك بشكل مستقل بمكان مزدحم ومتغيّر باستمرار، وأن يجد طريقه للشحن بنفسه دون مساعدة، وأن يبقى موثوقًا لساعات طويلة دون إشراف — بينما يتولى مساعد على الشاشة إجراء المحادثات الفعلية مع الزوار مباشرة. ولا شيء من هذا يعمل إذا كانت الروبوتيات تحته غير موثوقة.
ما الذي بنيته
بشركة SWB، أنا مسؤول عن الجانب الخاص بـ ROS 2 من الروبوت: الملاحة الذاتية ورسم الخرائط، درايفر محركات مبني من الصفر، نظام التوثيق والشحن الذاتي الذي أعدت كتابته بالكامل، وبنية الحساسات ولوحة التحكم التي يقوم عليها كل شيء آخر. المساعد الذكي على الشاشة — تفاعل صوتي بنحو 25 لغة مع إمكانية تحويل الأسئلة الأدق لشيخ مباشرة — تطبيق منفصل يعمل فوق هذه المنصة؛ دوري أنا هو الروبوت الذي يحملها.
كيف يعمل
- درايفر مخصص عبر Modbus/RS-485 لمحركي الروبوت من نوع BLDC، ينشر بيانات الحركة (odometry) وقياسات المحركات الحية، ونظام أعطال وتعافٍ بـ13 حالة خطأ.
- ملاحة ورسم خرائط ذاتيان عبر Nav2 وSLAM Toolbox، مُدارَين بنظام دورة حياة (lifecycle) يتيح للروبوت الانتقال بسلاسة بين حالات الخمول ورسم الخريطة والملاحة.
- نظام توثيق وشحن ذاتي أعدت كتابته بالكامل من الصفر، بأربع استراتيجيات توثيق قابلة للاختيار (من محاذاة بسيطة بالأشعة تحت الحمراء إلى أسلوب أكثر تطورًا بالتوجه نحو منارة إشارة)، مع منطق تعافٍ مضبوط وفق سلوك الروبوت الفعلي المقاس، لا المحاكاة فقط.
- خط معالجة حساسات يدمج بيانات جهازي ليزر (lidar) مع كاميرا عمق — كشف الأرضية، وفلترة جسم الروبوت نفسه من سحابة النقاط، وفلترة النقطة العمياء بجهاز الليزر السفلي.
- قاعدة بيانات إعدادات وآلة حالات تربط كل الأنظمة الفرعية معًا، إضافة إلى واجهة REST/WebSocket للمراقبة والتحكم عن بعد.
- يعمل كخدمة systemd مُشرَف عليها بإعادة تشغيل تلقائية محكومة، ويُبنى ويُنشر كحزم مرقّمة عبر تكامل مستمر (CI) بدل النشر اليدوي.
كيف تم اختباره
جرى التطوير بالتكرار على الروبوت الفعلي وليس المحاكاة فقط — خوارزمية التوثيق تحديدًا مرّت بعدة إعادات تصميم بسبب سلوك حقيقي على العتاد (انعكاس بإشارة دوران العجلة، أزمنة تعافٍ مقاسة فعليًا) قبل الاستقرار على الأسلوب الحالي، والمنصة تدعم الآن أكثر من نسخة عتاد بالميدان.
النتائج
- تعمل كأساس روبوتي لروبوت خدمي قيد الإنتاج الفعلي يخدم حجاج وزوار الحرمين الشريفين، ويستضيف مساعدًا ذكيًا على الشاشة يفهم ويجيب بنحو 25 لغة، مع إمكانية تحويل الأسئلة التي تحتاج تفصيلًا أكثر لشيخ مباشرة.
- نظام التوثيق والشحن الذاتي أعيدت كتابته بالكامل من الصفر وتم تحصينه عبر عدة جولات اختبار على العتاد الفعلي.
- بُني ونُشر كحزم مرقّمة عبر CI بدل سكربتات مؤقتة، على أكثر من نسخة عتاد للروبوت.
ما تعلمته
- نظام التوثيق كان الجزء الأصعب لأنه يلامس الواقع الفعلي مباشرة — خطأ بإشارة الدوران أو افتراض خاطئ بمدى المنارة الضوئية يبدو سليمًا على الورق، لكنه لا يظهر إلا بوضع الروبوت أمام محطة الشحن ومراقبة فشله.
- الفصل الواضح بين منصة الروبوتيات وتطبيق التفاعل على الشاشة — بحيث لا يحتاج الروبوت أن يعرف أكثر من 'إيقاف مؤقت' و'استكمال' — سمح لقطعتي عمل مختلفتين بالتقدم بشكل مستقل دون أن تعطّل إحداهما الأخرى.
دوري
مهندس روبوتات / ROS 2 — الملاحة الذاتية، التحكم بالمحركات، التوثيق والشحن الذاتي، وبنية الحساسات ولوحة التحكم التي يعمل الروبوت عليها. المساعد الذكي على الشاشة من بناء فريق منفصل.