المحاكاة والسيناريوهات والقيادة الذاتية - طريقة SAE AutoDrive

التحديث: 20 مايو 2021
المحاكاة والسيناريوهات والقيادة الذاتية - طريقة SAE AutoDrive

المُقدّمة

تحدي SAE AutoDrive هو مسابقة تصميم جماعية لمدة 4 سنوات ، بمشاركة 8 فرق من الولايات المتحدة وكندا. الهدف الفني عالي المستوى للعام 3 من هذه المسابقة هو التنقل في دورة القيادة الحضرية في وضع القيادة الآلي كما هو موضح في SAE المستوى 4.

تتحدى MathWorks الفرق لاستخدام المحاكاة

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

في كل عام ، تتحدى MathWorks الفرق لاستخدام المحاكاة عبر تحدي المحاكاة. ستغطي هذه المدونة بإيجاز الفائزين بالمركزين الأول والثاني في تحدي 1 (جامعة تورنتو وجامعة كيترينج) وتصميم نظامهم وكيفية استخدامهم لأدوات MathWorks للمساعدة في تحقيق أهداف المنافسة الشاملة. تم الحكم على الفرق بناءً على كيفية استخدامهم للأدوات في الأداء:

  • اختبار إدراك الحلقة المفتوحة - تجميع البيانات لاختبار الحلقة المفتوحة ، وتقييم صحة الخوارزميات
  • اختبار عناصر التحكم في الحلقة المغلقة - تجميع سيناريوهات الحلقة المغلقة وتقييم أداء خوارزمية (خوارزم) الضوابط
  • إنشاء كود لخوارزميات الضوابط - إنشاء رمز للخوارزميات ، ودمج الكود المُنشأ في السيارة
  • الابتكار باستخدام أدوات MathWorks – تقنية/التكنلوجيا تختلف بشكل واضح عن الفئات الثلاث المذكورة أعلاه

جامعة تورنتو

فاز فريق الطلاب من جامعة تورنتو بأورونتو بالمركز الأول في التحدي.

اختبار إدراك الحلقة المفتوحة

كانت الخطوة الأولى لهذا الفريق هي تجميع البيانات لاختبار إدراك الحلقة المفتوحة. اختاروا اختبار خوارزمية دمج أجهزة الاستشعار. لتجميع البيانات التركيبية للاختبار ، استخدموا (DSD). يمكّنك هذا التطبيق من تصميم سيناريوهات القيادة الاصطناعية لاختبار قيادتك الذاتية. استخدم الفريق رادارًا و 3 كاميرات في خوارزميات اندماج المستشعر ، والتي تم تكوينها كما هو موضح في الشكل 1.

الشكل 1: مواقع أجهزة استشعار الفريق (© aUToronto)

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

تم استخدام كتلة قارئ السيناريو لقراءة معلومات السيناريو التي تم إنشاؤها باستخدام DSD. تم إرسال أوضاع الممثل كمدخلات إلى مولدات الكشف المتعددة. تم بعد ذلك حزم الاكتشافات لهذه المستشعرات المختلفة كمصفوفات رسائل ROS (نظام تشغيل الروبوت) متغيرة الحجم وإرسالها كرسائل ROS مخصصة إلى موضوعات ROS محددة (الشكل 2).

الشكل 2: نموذج Simulink لاختبار الحلقة المفتوحة (© aUToronto)

قارن الفريق الناتج من متتبع الأجسام الخاص بهم مع قيم الحقيقة الأرضية للمركبات. تم استخدام مقياس RMSE (خطأ مربع متوسط ​​الجذر) لتقييم الأداء.

اختبار ضوابط الحلقة المغلقة

كان التركيز الرئيسي للفريق على اختبار مخططهم المعدل لإمكانات جديدة مثل إعادة التوجيه لمناطق البناء والوقوف حول العوائق. تمت إعادة تصميم المخطط لاستخدام بنية شبكية حيث يتم تقليم الحواف من الخريطة للعثور على مسارات حول الكائنات حسب الضرورة (الشكل 3). تم استخدام DSD مرة أخرى لإنشاء سيناريوهات. كما أضيفت الحواجز وإشارات المرور إلى السيناريوهات.

الشكل 3: بنية شعرية لإيجاد المسار (© aUToronto)

قام الفريق بوضع نموذج لناشر إشارات المرور باستخدام Stateflow (الشكل 4). عندما تكون مركبة الأنا خارج نطاق إشارة المرور (> 50 مترًا) ، يتم نشر حالة غير معروفة. عندما تدخل الأنا داخل النطاق ، يتم نشر رسالة ضوء أحمر. تتحول الرسالة إلى الضوء الأخضر بعد توقف الأنا لمدة 5 ثوانٍ.

الشكل 4: تدفق الدولة إلى وحدة التحكم في النموذج (© aUToronto)

تم إطلاق وحدات التحكم والمخطط ونموذج السيارة ROS. إذا كان العائق على بعد 50 مترًا من سيارة الأنا ، فسيتم إرسال موضعه كرسالة ROS إلى نموذج Simulink (الشكل 5).

الشكل 5: المنطق لإرسال رسالة الموقع (© aUToronto)

توليد كود من خوارزميات الضوابط

أنشأ الفريق رمزًا لخوارزمية التعامل مع إشارة التوقف (الشكل 6). تم استخدام Simulink Coder لتحويل Stateflow إلى كود C++. مستقل وحدة تم إنشاؤه باستخدام وظيفة تعبئة التعليمات البرمجية. تم بعد ذلك دمج الوحدة التي تم إنشاؤها في قاعدة بيانات الفريق.

الشكل 6: إيقاف تدفق الضوء المنطقي للتحكم في الضوء (© aUToronto)

الابتكار باستخدام أدوات MathWorks - معايرة كاميرا Lidar

لتفسير الكائنات بدقة في المشهد باستخدام مدخلات من جهاز استشعار ليدار وكاميرا ، من الضروري دمج مخرجات المستشعر معًا. ومن ثم ، أجرى الفريق تحولا بين Lidar وكاميرا الفريق لعرض نقاط Lidar على صورة أو العكس من أجل اندماج المستشعر. بدلاً من استخدام قياسات اليد والكاميرات الدوارة حتى تبدو التوقعات جيدة ، استخدم الفريق أداة معايرة كاميرا Lidar المطورة حديثًا من صندوق أدوات معالجة Lidar. تقدر هذه الأداة مصفوفة تحويل جامدة تنشئ التطابق بين النقاط في المستوى ثلاثي الأبعاد والبكسل في مستوى الصورة

قاموا ببناء لوحة معايرة أكبر لأن لوحهم الحالي كان صغيرًا جدًا بالنسبة للأداة. تم استخدام أداة معايرة الكاميرا للحصول على المصفوفة الجوهرية للكاميرا الخاصة بهم. تم العثور على زوايا رقعة الداما في كل صورة وبيانات Lidar. تم العثور على مصفوفة التحويل الجامدة بين Lidar والكاميرا. تنتج هذه العملية تحويلًا يمكن استخدامه لعرض بيانات سحابة النقطة على الصور أو العكس. هذه الخطوات موضحة في الشكل 7.

الشكل 7: (أ) المصفوفة الجوهرية للكاميرا (ب) زوايا رقعة الشطرنج (ج) مصفوفة تحويل الليدار إلى الكاميرا (© aUToronto)

جامعة كيترينج

• فريق الطلاب من جامعة Kettering ، فاز بالمركز الثاني في التحدي.

اختبار إدراك الحلقة المفتوحة

استخدم الفريق Unreal Engine لإنشاء سيناريوهات مختلفة. تمت إضافة كاميرا إلى مركبة الأنا في Unreal باستخدام كتلة الكاميرا المحاكاة ثلاثية الأبعاد. تم استخدام نموذج Simulink لإجراء اكتشاف الممر باستخدام الصور غير الواقعية (الشكل 3). تشير المربعات الزرقاء إلى وظائف اكتشاف الحارة ويشير اللون الأصفر إلى المخرجات في كل خطوة. تظهر أرقام المخرجات هذه في الشكل 8.

الشكل 8: نموذج Simulink لاختبار الحلقة المفتوحة (© Kettering University)

الشكل 9: مخرجات اكتشاف المسار (© Kettering University)

اختبار ضوابط الحلقة المغلقة

يتكون تصميم نظام الفريق من جهازي حالة - طولية وجانبية. تم استخدام آلات الحالة هذه ، الموضحة في الشكل ، لنمذجة منطق اختيار وحدة التحكم بناءً على بيانات المستشعر وصنع القرار. تم ربطها واستخدامها لتمكين وتهيئة الأنظمة الفرعية لوحدة التحكم.

الشكل 10: آلات الدولة (© Kettering University)

تم إجراء عمليات محاكاة وحدة تحكم مجمعة ، مع نموذج Simulink في الشكل 11 ، للتحقق من عمل جميع وحدات تحكم الفريق. تم توفير مدخلات وحدات التحكم هذه باستخدام المنزلقات والمقاييس.

الشكل 11: نموذج Simulink لاختبار الحلقة المغلقة (© Kettering University)

تشتمل الأنظمة الفرعية للتحكم في آلة الحالة الطولية على جهاز التحكم في السرعة الطولي وكبح الطوارئ التلقائي (AEB). تم تحديد الدول من خلال ديناميكيات المركبات الطولية مثل التسارع ، والرحلات البحرية ، والتباطؤ ، والتوقف ، والانتظار.

تتضمن الأنظمة الفرعية لوحدة التحكم الخاصة بجهاز الحالة الجانبية نظام المساعدة في الحفاظ على المسار (LKA) ، وتغيير المسار ، وأجهزة التحكم في الانعطاف. تم تحديد الدول بناءً على ديناميكيات المركبات الجانبية (الشكل 12). تتم مناقشة السرعة الطولية وتغيير الممر ووحدات تحكم LKA أدناه.

الشكل 12: دول التحكم الجانبي (© جامعة كيترينج)

تحكم طولي

يوضح الشكل 13 نموذج Simulink المستخدم لنمذجة وحدة التحكم الطولية. كان يتألف من PID على أساس السرعة. اقتصرت معدلات عزم الدوران المرجعية والمخرجات على البقاء ضمن حدود تسارع وتيرة المنافسة. تمت تهيئة مدخلات النظام وتحريرها باستخدام أشرطة التمرير وتم استخدام نطاق لعرض البيانات. يوضح الشكل 14 مخرجات السرعة الطولية المستهدفة والفعلية.

الشكل 13: نموذج محاكاة وحدة التحكم الطولية (© Kettering University)

الشكل 14: مقارنات السرعة الطولية (© جامعة كيترينج)

تحكم تغيير المسار

استخدم جهاز التحكم في تغيير المسار الخاص بالفريق MPC التكيفي (نموذج التحكم التنبئي). تم إنشاء مسار مرجعي باستخدام الوظائف البارامترية ، مع مدخلات تغيير الحارة مثل سرعة السيارة وعرض الممر. كانت مخرجات وحدة التحكم عبارة عن موضع جانبي مرجعي و Yaw. تم استخدام نموذج 3DOF (درجة الحرية) لمحاكاة جسم السيارة. يوضح الشكل 15 نموذج Simulink المستخدم في المحاكاة. يوضح الشكل 16 مخرجات المحاكاة بمسارات مرجعية ومحاكاة لتغيير الحارات ، جنبًا إلى جنب مع المسارات التي تم الحصول عليها بعد الاختبار داخل السيارة.

الشكل 15: نموذج محاكاة وحدة التحكم في تغيير المسار (© Kettering University)

الشكل 16: مقارنات مسارات تغيير المسار (© جامعة كيترينج)

طراز السيارة

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

الشكل 17: (أ) مقارنات التسارع الجانبي (ب) مقارنات مع بيانات الاختبار (© جامعة كيترينج)

الابتكار باستخدام أدوات MathWorks - مدينة غير حقيقية

استخدم الفريق Unreal لاختبار الحلقة المغلقة لجميع وحدات التحكم الخاصة بهم. لقد أنشأوا مدينة غير حقيقية مع حركات المشاة وإشارات المرور التي يمكن التحكم فيها. تم إنشاء ممثلين قابلين للتخصيص وتم تخزين معلوماتهم مثل اسم الممثل ونوع الممثل وتفاصيل الممثل وتفاصيل الرسوم المتحركة والعلامات للوصول السريع. تم أيضًا إنشاء خريطة إشارات المرور جنبًا إلى جنب مع موقع الأضواء المسمى الشكل 18.

الشكل 18: خريطة إشارة مرور غير حقيقية (© جامعة كيترينج)

يوضح الشكل 19 بنية اتصالات نظام Simulink-Unreal. تم اتخاذ القرار للمشهد غير الواقعي ، والذي يتكون من موضع السيارة ، وحركة المشاة ، وحالة إشارات المرور وما إلى ذلك باستخدام Stateflow وإرسالها كمدخلات إلى وحدات التحكم (الشكل 20).

الشكل 19: هيكل اتصالات نظام محاكاة غير واقعي (© Kettering University)

الشكل 20: تدفق الدولة لاتخاذ القرار في مشهد غير واقعي (© جامعة كيترينج)

في الختام ، تمكنت فرق الطلاب من جامعة تورنتو وجامعة كيترينج من الاستفادة من MATLAB و Simulink لتصميم وبناء واختبار وتقييم خوارزميات الاندماج والتتبع والملاحة للاقتراب خطوة واحدة من بناء مركبة مستقلة من المستوى 4 SAE في محاكاة. قاموا بتأليف سيناريوهات معقدة مع إشارات المرور والجهات الفاعلة المتعددة في بيئات محاكاة مختلفة ، ودمجوا البيئات مع Simulink ، ونشروا واختبروا الخوارزميات التي اختاروها على هذه السيناريوهات. تم تصميم خوارزميات إدراك الحلقة المفتوحة والحلقة المغلقة واختبارها باستخدام Simulink ، وتم إنشاء رمز لهذه الأنظمة. قامت الفرق أيضًا بتصميم واختبار خوارزميات تحكم مختلفة باستخدام Simulink و Stateflow. تم استخدام أدوات MathWorks بشكل مبتكر وعلى نطاق واسع من قبل فرق البطولة هذه.