عن المشروع
SNGNav هي بنية ملاحة تعتمد أولاً على العمل دون اتصال بالإنترنت ومبنية لـ Flutter، مصممة للعمل بموثوقية في الظروف المتدهورة مثل فقدان GPS، أو فشل الشبكة، أو الطقس القاسي. تدمج المنظومة الحساب الميت (dead reckoning) مع فلترة Kalman لضمان استمرارية الموقع أثناء فقدان الإشارة، وتدعم MBTiles لعرض الخرائط دون اتصال، وتوفر توجيهاً مزدوجاً عبر OSRM أو Valhalla — سواء عبر استضافة ذاتية أو نقاط نهاية عامة. يتضمن الكشف عن المخاطر الجوية تنبيهات عن الجليد الأسود وتنبيهات ما قبل الرحلة مستمدة من JMA و MET Norway و NWS. يعمل النظام على Linux desktop (x64) ويحتوي على دعم تجريبي لـ ARM64 عبر Yocto/QEMU، رغم أن رندرة GL لا تزال محجوبة في المصدر (flutter#183495). تتوفر تراكبات السلامة متوافقة مع ASIL-QM، وهي للعرض فقط، وتظهر فوق جميع طبقات واجهة المستخدم أثناء الظروف الخطرة. يتكون المشروع من 36 حزمة pub.dev ذات إصدارات مستقلة، بما في ذلك وحدات لبيانات الأساطيل القائمة على الموافقة، والبيئات المحاكية، وتكوين المزود عبر Dart defines. بينما يوفر flutter_map أساس رندرة البلاطات (tile rendering)، يضيف SNGNav طبقات من المرونة: دمج المستشعرات، ومسارات قادرة على العمل دون اتصال، وتحمل الأخطاء القائم على السيناريوهات. تحاكي ملفات العرض العواصف الثلجية، والملاحة في الأنفاق، ومخاطر الطرق. لم يتم التحقق من النشر على الأجهزة الحقيقية (مثل Raspberry Pi). يسمح التكوين بتبديل المزودين دون تغييرات في الكود. يتطلب وضع عدم الاتصال إعداد MBTiles يدوياً؛ بينما يعود مصدر البلاطات الافتراضي إلى OSM عبر الإنترنت. يقوم CI الآن باختبار جميع الحزم الـ 36 عبر كل فرع، مع أكثر من 3,181 اختباراً ناجحاً اعتباراً من أغسطس 2026. النظام غير مخصص لاستبدال الملاحة التجارية ولكن لخدمة الحالات الحدية حيث يفشل الاتصال — مستهدفاً المطورين الذين يبنون أنظمة حرجة للسلامة للسائقين في البيئات القاسية.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.