بناء Lodestar: كيف يقلب مراقب سلامة الملاحة خارج المقدِّر إلى RED ويعود إلى نقطة الانطلاق بدل المراوغة بإصلاح في فقاعة تشويش بلا GPS.
DronesRoboticsAutonomy

طائرتي المسيّرة تحافظ على انجراف 0.9% عبر فقاعة تشويش GPS. الكود الذي أفتخر به هو السطر الذي يرفض الطيران.

Ashutosh SinghalAshutosh Singhal3 يوليو 202613 min

لم أكن أتوقع أن أهم جزء في هذا المشروع هو الجزء الذي يستسلم.

كنت أحدّق في إعادة تشغيل لتحليق اصطناعي طوال الجزء الأكبر من بعد الظهر. طائرة مسيّرة تعبر مهمة مدتها 80 ثانية فوق مسار طوله 245.3 م. يثبت GPS خلال الثواني الـ18 الأولى، ثم ينقطع حين تدخل الطائرة فقاعة حرب إلكترونية مُحاكاة. على الشاشة، تتفرّع ثلاث مسارات من تلك اللحظة. أحدها، خط وردي ساطع، ينحرف نحو زاوية الخريطة ويواصل السير، واثقاً وخاطئاً تماماً، بينما تصرّ قراءة صغيرة بجواره على أن كل شيء على ما يرام.

ذلك الخط الوردي هو قياس المسافة البصري-القصوري (VIO) القياسي، ومشاهدة كذبه عليّ هي ما غيّر شكل ما كنت أبنيه بالكامل. كنت أفترض أن المشكلة الصعبة في الملاحة بلا GPS هي البقاء دقيقاً. ليست كذلك. المشكلة الصعبة هي أن تعرف، في اللحظة الوحيدة التي تهم، أنك لست كذلك.

في المجال الجوي بلا GPS، يكون الموضع الواثق لكنه خاطئ أخطر من اعتراف صادق بـ«لا أعرف».

هذه قصة بناء Lodestar، محرك سلامة الملاحة لدينا، وعن الأسبوع الذي قضيته في حل المشكلة الخاطئة قبل أن أفهم الصحيحة.

طاردت الدقة أسبوعاً قبل أن أفهم المشكلة الحقيقية

بدأت حيث يبدأ معظم الناس، أي بالمقدِّر. جعلت الحرب الإلكترونية GPS غير موثوق في الأماكن ذاتها التي باتت فيها الطائرات المسيّرة الذاتية مهمة الآن: المجال الجوي المتنازع عليه، حفر التعدين، الأنفاق، والأودية الحضرية. التشويش والتزييف في المجال الجوي المتنازع عليه يُبلَّغ عنهما على نطاق واسع الآن، بما يكفي لأن تتوقف الملاحة بلا GPS عن كونها فضولاً بحثياً وتصبح متطلباً صارماً. الإصلاح الواضح هو إضافة قياس المسافة البصري-القصوري، ودمج الكاميرا مع المستشعرات القصورية، والأمل أن يبقى الانجراف صغيراً.

فبنيت EKF حقيقياً لـVIO محكم الاقتران وقضيت أسبوعي الأول أجعله دقيقاً. المرشح نفسه، وثلاث تكوينات صادقة: خط أساس للملاحة التقديرية بوحدة IMU بلا أي رؤية على الإطلاق، وVIO قياسي يدمج كل معلم بصري يراه، ونسخة مدركة للسلامة أكثر حذراً بشأن المعالم التي تصدّقها. شغّلتها جميعاً مقابل حقيقة مرجعية يولّدها المحاكي بشكل مستقل عن كل مقدِّر، حتى لا يصحّح أيٌّ منها واجبه بنفسه. المهمة كلها مُبذَرة، قابلة لإعادة الإنتاج بايتاً ببايت، وهذا ما كان أهم مما أدركت آنذاك.

أرقام الدقة كانت جيدة حقاً. عبر فقاعة التشويش، يحتفظ المقدِّر المدرك للسلامة بـانجراف 0.92%، وخطأ نهائي قدره 2.26 م على ذلك المسار البالغ 245.3 م. أما الملاحة التقديرية، بالمقارنة، فتنفجر إلى انجراف 30.95% وخطأ نهائي قدره 75.92 م، وهو الفرق بين الهبوط على المنصة والهبوط في المحافظة المجاورة. سررت بنفسي يوماً تقريباً.

ثم شغّلت قافلة المركبات.

ما تفعله فقاعة التشويش بطائرة مسيّرة تثق بعيونها

أريد أن أكون صادقاً حول مدى اعتيادية مظهر تسليم GPS، لأن هذا هو الجزء الذي يعمل. عندما يسقط GPS عند t=18 ث، يعيد المرشح الوزن نحو المصدر البصري-القصوري بلا تغيير في الوضع، بلا إنذار، بلا درز ظاهر للمشغّل. التقدير يبقى متصلاً فحسب. لو كنت تطير المهمة لما شعرت باختفاء الأرضية.

لوحة Lodestar عند t=21 ث، لحظات بعد حرمان GPS داخل فقاعة الحرب الإلكترونية المُحاكاة بأسلوب R-330Zh: السلامة تقرأ GREEN، الانجراف 0.41 م، 358 معلماً بصرياً قابلاً للاستخدام، والمسار المقدَّر يجلس على الحقيقة المرجعية.
تسليم GPS عند t=21 ث. السلامة تثبت على GREEN، الانجراف 0.41 م مقابل الحقيقة المرجعية، و358 معلماً قابلاً للاستخدام يغذّي المقدِّر. هذا هو الجزء السهل، وهو الجزء الذي يعرضه الجميع في العروض التوضيحية.

إليكم ما استخففت به. طائرة مسيّرة تعمل بالرؤية لا تفشل بأن تسوء تدريجياً. تفشل بـالتشبث بالشيء الخطأ والإبلاغ عن موضع نظيف واثق ليس سوى هراء. المقدِّر لا يعرف أنه قد خُدع، لأن الآلية التي تحسب الموضع هي نفسها التي كان عليها أن تلاحظ أن الموضع خاطئ. كنت قد بنيت نظاماً كان دقيقاً حتى اللحظة التي أصبح فيها مخطئاً بشكل كارثي وصامت، ولم يكن لديّ طريقة للتمييز بينهما من الداخل.

تلك ليست مشكلة ضبط. لا يمكنك الضبط للخروج من نظام واثق بأنه مخطئ. احتجت شيئاً يجلس خارج المقدِّر تماماً.

القافلة التي علّمت مقدِّراً جيداً أن يكذب

بنيت سيناريو القافلة تحديداً لكسر عملي الخاص، وقد نجح. بين t=30 وt=43 يعبر عمود مركبات فسحةً منخفضة النسيج، نافثاً معالم زائفة تبدو، لواجهة VIO جائعة، تماماً كالمعالم الثابتة التي تريد تتبّعها. هذا هو فشل ORB-SLAM3 الموثَّق، ذاك الذي تتتبّع فيه الخوارزمية الشاحنة وتستنتج أن الطائرة المسيّرة واقفة ساكنة.

وقع VIO القياسي في الفخ بالكامل. في التشغيل المُبذَر نفسه، يتشبث بالمركبات المتحركة ويطير بعيداً، منتهياً عند انجراف 28.79% وخطأ نهائي قدره 70.61 م، مع ATE قدره 32.95 م وهو في الواقع أسوأ من عدم استخدام الرؤية أصلاً. ذاك كان الخط الوردي الذي كنت أشاهده. التفصيل القبيح أنه بينما كان يفشل، بدت ثقته الداخلية سليمة. كان المقدِّر متأكداً من نفسه. كان متأكداً من موضع ينجرف نحو حافة الخريطة.

Lodestar عند t=32 ث أثناء قافلة المركبات المتحركة: انخفضت السلامة إلى AMBER، عدّاد المعالم يقرأ 2 مع 10 مُقنَّعة، خطأ VIO القياسي ارتفع إلى 11.0 م بينما يحتفظ المسار المدرك للسلامة بانجراف 0.42 م.
القافلة عند t=32 ث. الإخفاء الدلالي رفض المركبات المتحركة (معلمان ثابتان مستخدمان، و10 مُقنَّعة)، لذا يثبت المسار المدرك للسلامة عند 0.42 م بينما يتسلق خطأ VIO القياسي إلى 11.0 م ويواصل. السلامة تُبلّغ بأمانة AMBER، لأنه حقاً لا توجد سوى معالم ثابتة قليلة للثقة بها.

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

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

لماذا لا يستطيع المقدِّر أن يصادق على نفسه فحسب؟

قضيت عدداً محرجاً من الساعات أحاول الإجابة عن ذلك بأرقام المقدِّر نفسها. أول فحص سلامة لي قرأ ببساطة عدم اليقين المُبلَّغ من المرشح، سيغما الموضع، واشترط عليه. إذا بدا التغاير ضيقاً، فَطِر. بدا معقولاً.

هدمتها القافلة. عندما تشبث VIO القياسي بالشاحنة، بقيت سيغما المُبلَّغة صغيرة. كان المرشح واثقاً تحديداً لأنه وجد شيئاً متسقاً ليتتبّعه. الاتساق كان كذبة، لكن التغاير لم يستطع معرفة ذلك، لأن التغاير بيان يصدره المقدِّر عن نفسه. كنت أطلب من الشاهد أن يصادق على شهادته الخاصة.

يجب ألا تعتمد الثقة على الشيء الموثوق به.

تلك الجملة أصبحت التصميم. إن مراقب سلامة الملاحة يعيش خارج المقدِّر عن قصد، ككود منفصل يجيب عن سؤال مختلف. ليس «ما موضعي»، الذي يجيب عنه EKF، بل «هل يمكن الوثوق بهذا الموضع الآن»، وهو ما يعجز EKF بنيوياً عن الإجابة عنه بخصوص نفسه. يدمج المراقب ثلاث إشارات في حالة GREEN أو AMBER أو RED بعتبات صارمة: عدد المعالم القابلة للاستخدام (GREEN عند 8 أو أكثر، RED دون 1)، سيغما الموضع (GREEN تحت 0.6 م، RED فوق 1.5 م)، وNIS الرؤية، اتساق الابتكار بكاي-تربيع الذي يلتقط تحديداً الحالة التي يكون فيها المقدِّر واثقاً وخاطئاً (GREEN تحت 7.0، RED فوق 30.0). لا يمكن للمقدِّر التلاعب برقم واحد، لأن اثنين من الثلاثة لا يأتيان أصلاً من تقييم المقدِّر الذاتي.

هذا ما أؤمن به الآن بقوة أكبر عن الاستقلالية الذاتية الحرجة للسلامة. VIO أفضل لا يصلح فشل الواثق-لكنه-خاطئ، لأن «هل هذا جدير بالثقة» سؤال مختلف عن «ما هذا،» ولا يمكنك الإجابة عن الأول بآلية أنتجت الثاني. الصناعة تواصل السباق لجعل المقدِّر أذكى. البنية المعمارية المستدامة ليست مقدِّراً أذكى. إنها مراقب مستعد لأن يلغيه.

سطر الكود الذي يرفض الطيران

اللحظة التي فهمت فيها فعلاً منتجي كانت النفق، وأتذكرها لأنها اللحظة التي يفعل فيها النظام أقل ما يمكن.

بين t=52 وt=66 تدخل المهمة نفقاً مظلماً وتنهار المعالم البصرية القابلة للاستخدام إلى ما يقارب الصفر. لا شيء لتراه. لا مقدِّر، مهما أُحسن ضبطه، يستطيع تصنيع موضع جدير بالثقة من مشهد لا يستطيع رصده. هذا ليس فشلاً لإصلاحه. إنه حقيقة يجب احترامها. أما VIO القياسي، الذي ما زال يحاول، فيتزحلق نحو موضع لا حق له في ادّعائه.

Lodestar يفعل شيئاً آخر. تموت المعالم، يتجاوز عدم يقين الموضع العتبة، وبعد 0.5 ثانية من RED المستدام يُثبّت المراقب الأمان الاحتياطي ويأمر بالعودة إلى نقطة الانطلاق عند t=52.5 ث. لا يراوغ بموضع. يعلن أن التقدير غير جدير بالثقة ويعيد التحكم إلى سلوك آمن، ويفعل ذلك بشكل حتمي، بلا نموذج في الحلقة يقرر شيئاً.

Lodestar عند t=54.5 ث في النفق المظلم: السلامة تقرأ RED، «الموضع غير جدير بالثقة»، عدّاد المعالم 0، خطأ VIO القياسي 35.2 م ومساره يطير خارج أعلى الخريطة، والجدول الزمني يُظهر إطلاق العودة إلى نقطة الانطلاق عند t=52.5 ث.
النفق عند t=54.5 ث. انهارت المعالم إلى 0، السلامة RED («الموضع غير جدير بالثقة»)، والعودة إلى نقطة الانطلاق قد أُطلقت بالفعل عند t=52.5 ث. VIO القياسي، ما زال واثقاً، طار إلى خطأ قدره 35.2 م. هذه هي نقطة المنتج كلها: الامتناع الصادق، لا الإصلاح الواثق.

أريد أن أكون حذراً بشأن الأرقام هنا، لأن الصدق هو العرض كله. عبر هذه المهمة المُبذَرة الواحدة، يرصد المراقب النفق غير القابل للرصد فعلاً 100% من الوقت ويُصدر إنذارات كاذبة على الساق السليمة بلا GPS بنحو 0.1% من الوقت، محتفظاً بـGREEN على 56.3% من التحليق المحروم. تلك نتائج هذه المهمة، إثبات أمين للفيزياء للآلية، لا ضماناً لاختبار تحليق في العالم المفتوح. الادعاء المستدام هو البنية: ثقة محسوبة خارج المقدِّر، RED مستدام حتى عودة إلى نقطة الانطلاق مُثبَّتة، امتناع صادق عن مشهد لا يستطيع أحد الملاحة فيه. الأمتار الدقيقة تخص هذا التشغيل. البنية المعمارية تخص كل تشغيل.

أغلى سطر كود في حزمة استقلالية ذاتية هو الذي يرفض الطيران.

ما وضعته في التقرير حتى لا يضطر أحد لأخذ كلامي على علاته

لم أرد أن يضطر أحد للثقة بلقطات الشاشة، لذا آخر ما بنيته هو الإيصال. نقرة واحدة تصدّر تقرير سلامة التحليق، JSON مع HTML قابل للطباعة، مع لوحة النتائج، والمقاييس الرئيسية، وصحة الامتناع، وزمن الأمان الاحتياطي، والجدول الزمني للأحداث، والجزء الذي أهمّني أكثر، إفصاح صريح عن النطاق لما هو بديل مؤقت (stub) مقابل ما هو مؤجَّل.

ذلك الإفصاح ليس إخلاء مسؤولية أدفنه. إنه ميزة. يصرّح التقرير بوضوح أن الواجهة البصرية بديل مؤقت، وأن دمج LiDAR قيد مدى مُحاكى لا عامل LiDAR حقيقي، وأن واجهة MAVLink وإنتاجية Jetson لم تُمارَسا هنا، وأن 30-45 إطاراً في الثانية على Jetson Orin NX 16 GB مواصفة عتاد مستهدف، لا نتيجة مقيسة. تحديثات انتشار EKF الـ16,000 في التقرير قيست على آلة العرض التوضيحي. معدل الإطارات لم يُقَس، والتقرير يقول ذلك بتلك الكلمات.

تقرير سلامة التحليق المصدَّر مع دمج LiDAR مفعّل: انجراف 0.01% للتشغيل المدرك للسلامة، 78.9% من التحليق عند GREEN، الأمان الاحتياطي «غير منطبق (LiDAR حافظ على السلامة)»، ولوحة نتائج مقابل حقيقة مرجعية مستقلة.
تقرير سلامة التحليق، مصدَّر مع دمج LiDAR مفعّل. مع قيد مدى LiDAR مُحاكى يثبّت النفق، يصبح المشهد قابلاً للرصد، ينخفض الانجراف إلى 0.01%، و78.9% من التحليق يثبت على GREEN، والمراقب لا يطلق الأمان الاحتياطي بشكل صحيح. التقرير صريح بأن هذا مقايضة، لا سحر.

تشغيل LiDAR هذا يستحق التوقف عنده لأنه حيث كانت كثير من العروض التوضيحية ستغش. فعّل LiDAR المُحاكى ويستعيد النفق: قيد المدى يثبّت الحل، تثبت السلامة، ولا يُطلق أمان احتياطي، لأن المشهد لم يعد غير قابل للرصد. سيكون من السهل إظهار ذلك التشغيل فقط وإعلان حل المشكلة. لكن التقرير يحمل أيضاً التكلفة التي تعترف بها صفحة الحل، تقريباً 250 إلى 400 غ من الحمولة و8 إلى 12 واط من القدرة. LiDAR مقايضة هندسية حقيقية بفاتورة SWaP-C حقيقية، لا فوزاً مجانياً، ويستحق المشتري أن يرى الفاتورة بجانب الفائدة.

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

ما أظل أعود إليه

انطلقت لبناء طائرة مسيّرة تبقى دقيقة عندما يموت GPS، وقد فعلت، في هذه المهمة، بأقل من واحد بالمئة من الانجراف. ما لم أتوقعه هو أن أخرج مقتنعاً بأن الدقة كانت النصف السهل.

الدقة سباق يستطيع أي أحد دخوله. الجميع في هذا المجال يجعل مقدِّره أضيق قليلاً، ومعالمه أكثف قليلاً، وخلفيته أذكى قليلاً، وكل ذلك عمل جيد. لكن لا شيء منه يجيب عن السؤال الذي يقتل فعلاً طائرة مسيّرة في فقاعة تشويش، وهو ليس «كم أنا مخطئ» بل «هل أنا في وضع لا أستطيع فيه معرفة كم أنا مخطئ». ذلك السؤال يجب أن يُطرح من خارج المقدِّر، بشيء مستعد أن يقول الشيء غير البراق ويستسلم عن التحكم.

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

يمكنك تشغيل الأمر كله بنفسك ومشاهدة الخط الوردي يطير بعيداً، ثم مشاهدة حالة RED تُطلق، على veriprajna.com/ar/demos/gps-denied-drone-autonomy. إنه مُبذَر، لذا سترى بالضبط ما رأيته.

وإذا كنت تفضّل رؤيته على قراءة وصفي له، فإليك الأمر كله يعمل من البداية إلى النهاية.

السؤال الذي لم أتوقف عن تقليبه هو هذا. إذا كان أغلى سلوك في حزمة استقلالك الذاتي هو رفض الفعل، فكم من ميزانية هندستك يذهب إلى الجزء الذي يستسلم، وكم إلى الجزء الذي لم يتعلم قط متى يفعل؟

أبحاث ذات صلة

منشور أيضًا على

More Articles

طائرة مسيّرة ذاتية القيادة ترسم خريطة نفق منجم مظلم بمسح استشعار لونه أزرق مخضرّ، تطير بلا GPS.
Artificial IntelligenceRobotics

جهاز تشويش بقوة 25 واط يهزم قمراً صناعياً بـ20,000 دولار. لهذا يجب أن تطير طائرتك المسيّرة بلا أبصار.

لم تعد الاستقلالية الذاتية للطائرات المسيّرة في بيئات انعدام GPS فضولاً دفاعياً منذ اليوم الذي حذفت فيه لجنة الاتصالات الفيدرالية (FCC) نصف قائمة الشراء لدى الجميع. وإليك ما يتطلّبه بناؤها فعلاً.

May 10, 202612 min read
طائرة مسيّرة تتنقّل ذاتيًا عبر بيئة محرومة من GPS، مع التركيز على الإدراك على متن الطائرة بدلًا من الاعتماد على الأقمار الصناعية.
Artificial IntelligenceDrones

طائرتك المسيّرة ليست ذاتية القيادة — إنها مجرد مؤتمتة في عالمٍ لم يحاول قتلها بعد

ما علّمني إياه بناء أنظمة ملاحة للبيئات المحرومة من GPS عن الفرق بين الاستقلالية الحقيقية والتمنّي المكلف

Feb 10, 202615 min read
بناء Tessera، بوابة استيعاب بموجب المادة 50 من قانون الاتحاد الأوروبي للذكاء الاصطناعي لموسيقى الذكاء الاصطناعي، علّمني أن الربط الصلب يُجرَّد بإعادة ترميز التواصل. الربط الناعم وحده ينجو.
Music TechC2PA

شركة تسجيل وسمت كتالوجها بـ C2PA لقانون الاتحاد الأوروبي للذكاء الاصطناعي. وشاهدت إعادة ترميز واحدة تجرّده كله.

بناء Tessera، بوابة استيعاب بموجب المادة 50 للصوت المولَّد بالذكاء الاصطناعي، علّمني أن الموعد النهائي ليس مشكلة علامة مائية. إنه مشكلة بقاء، والربط الناعم وحده ينجو منها.

Jul 9, 202613 min read

ابنِ ذكاءك الاصطناعي بثقة.

تعاون مع فريق يمتلك خبرة عميقة في بناء الجيل القادم من الذكاء الاصطناعي للمؤسسات. دعنا نساعدك على تصميم استراتيجية ذكاء اصطناعي جديرة بثقتك وبنائها وتطبيقها.

Veriprajna استشارات التقنيات العميقة متخصصة في بناء أنظمة الذكاء الاصطناعي الحرجة للسلامة في مجالات الرعاية الصحية والتمويل والقطاعات التنظيمية. تُقيَّم بنياتنا المعمارية وفق البروتوكولات المعتمدة مع توثيق شامل للامتثال.