وحدة 7 / 9

التصميم القائم على النموذج والمحاكاة

المكاسب:

  • القدرة على بناء نموذج معادلة تفاضلية لنظام باستخدام الذكاء الاصطناعي ومحاكاته بلغة بايثون
  • القدرة على تفسير نتائج المحاكاة (استجابة الخطوة، الاستقرار) بمساعدة الذكاء الاصطناعي
  • القدرة على تطبيق نظام التحقق من حدود افتراضات النموذج ومدى توافقها مع النظام الحقيقي

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

ما هو النموذج وماذا يهمله؟

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

إنه في النموذج

غالبا ما يتم إهمالها

الكتلة، القصور الذاتي، المقاومة، الحث

الاحتكاك غير الخطي، رد فعل عنيف

المعادلات الديناميكية الأساسية

التشبع، المنطقة الميتة

مستشعر / مشغل مثالي

ضجيج القياس، والتأخير

المعلمات الثابتة

المعلمات التي تتغير مع درجة الحرارة

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

بناء ومحاكاة نموذج محرك DC

تتم كتابة نموذج بسيط لحالة الفضاء لمحرك DC مع السرعة الزاوية للحالة ω والتيار i. يستطيع الذكاء الاصطناعي إعداد هذه المعادلات ومحاكاتها في لغة بايثون باستخدام scipy:

استيراد numpy كـ npfrom scipy.integrate importsolve_ivpimport matplotlib.pyplot as plt# معلمات محرك DC (قيم العينة - يجب أن تؤخذ من ورقة البيانات الفعلية)J = 0.01 # القصور الذاتي (kg*m^2)b = 0.1 # الاحتكاك اللزج (N*m*s)K = 0.01 # ثابت المحرك (Nm/A و V*s/rad)R = 1.0 # المقاومة (أوم)L = 0.5 # الحث (H)def motor_dynamigi(t, x, V): """x = [omega, i]. V = الجهد المطبق.""" omega, i = x domega = (K * i - b * omega) / J # معادلة ميكانيكية di = (V - R * i - K * omega) / L # إرجاع المعادلة الكهربائية [domega, di]# 12 محاكاة بإدخال خطوة V (التحقق):omega_ss_theoretical = K * V / (R * b + K ** 2)print(f"السرعة النهائية للمحاكاة: {omega[-1]:.2f} rad/s")print(f"الحالة النظرية المستقرة: {omega_ss_theoretical:.2f} rad/s")

يعد خط التحقق من الصحة هنا أمرًا بالغ الأهمية: فنحن نقارن سرعة الحالة المستقرة التي حققتها المحاكاة مع الصيغة النظرية المشتقة يدويًا (K·V/(R·b+K²)). فإذا تطابق الاثنان، تزداد ثقتنا في المحاكاة؛ إذا لم تتطابق، فهناك خطأ إما في المعادلة أو في الكود. ابحث عن نقطة التجزئة المستقلة لكل محاكاة ينتجها الذكاء الاصطناعي.

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

استجابة الخطوة والاستقرار

السلوكيات الأساسية التي ستقرأها من المحاكاة:

  • وقت الصعود: الوقت الذي يستغرقه المخرج للوصول إلى جزء معين من الهدف.
  • التجاوز: مقدار ما يتجاوز الهدف.
  • وقت الاستقرار: الوقت الذي يستغرقه ليصبح دائمًا في النطاق المستهدف.
  • الثبات: هل تبقى الاستجابة محدودة أم تنمو إلى ما لا نهاية؟

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

import numpy as np# مثال: معاملات متعددة الحدود المميزة [1, a2, a1, a0]معاملات = [1, 3, 3, 1]roots = np.roots(coefficiency)print("Poles:", roots)stable = np.all(np.real(roots) < 0)print("هل النظام مستقر؟", مستقر) # all هل الأجزاء الحقيقية سلبية؟

التحقق من النموذج (التحقق من الصحة)

لا يكفي بناء نموذج ومحاكاته؛ عليك أن تثبت أن النموذج يمثل الواقع. خطوات التحقق:

  1. توفير التحليلات: قارن مع الضوابط المستقلة مثل قوانين الحالة المستقرة والحفظ.
  2. مصدر المعلمة: هل معلمات النموذج (J، K، R...) تم قياسها بالفعل/ورقة بيانات أم تقدير؟
  3. المقارنة التجريبية: إذا أمكن، قم بقياس الاستجابة الخطوة للنظام الحقيقي وقم بتراكبها مع استجابة النموذج.
  4. الحساسية: ما مدى تغير النتيجة عند تغيير المعلمات بنسبة ±20% (ما مدى حساسية النموذج)؟
  5. نطاق الصلاحية: في أي نطاق للسرعة/الحمل/درجة الحرارة يكون النموذج صالحًا، وأين يتعطل؟
تنبيه: معلمات النموذج (القصور الذاتي، الاحتكاك، ثابت المحرك) التي يقدمها الذكاء الاصطناعي تكون دائمًا قيم العينة/العنصر النائب. لا تقم بتحويل نتائج المحاكاة إلى "واقع" دون استبدالها بورقة البيانات أو قياسات نظامك الحقيقي. الجسر بين "الأعمال في المحاكاة" و"الأعمال في الميدان" هو دقة المعلمة والتحقق من صحتها.

موجه ضعيف / موجه قوي

ضعيف: "اكتب محاكاة محرك." (أي نموذج؟ المعلمات؟ التحقق؟ يظهر رسم لا معنى له.) قوي: "قم ببناء نموذج مساحة الحالة (يشير إلى السرعة الزاوية والتيار) لمحرك DC. قم بمحاكاة استجابة خطوة 12 فولت باستخدام vescipysolve_ivp. حدد المعلمات كمتغيرات في البداية (J، b، K، R، L) حتى أتمكن من وضع قيمي الحقيقية. اكتب أيضًا الصيغة النظرية لـ سرعة الحالة المستقرة "حتى أتمكن من التحقق من المحاكاة. احسب وقت الصعود والتجاوز ووقت الاستقرار من استجابة الخطوة."

حالة صغيرة

يقوم مهندس البحث والتطوير نيل بتصميم النظام قبل تصميم وحدة تحكم لمحور تحديد المواقع الجديد. قام الذكاء الاصطناعي ببناء نموذج محرك DC وإضافة وحدة تحكم PID؛ تعطي المحاكاة استجابة لطيفة وغير مبالغ فيها. ولكن عندما قارن نيل سرعة الحالة المستقرة مع الصيغة النظرية، وجد فرقًا بنسبة 15%: يختلف ثابت محرك العينة K الذي يستخدمه الذكاء الاصطناعي عن المحرك الحقيقي. عند وضع قيم ورقة البيانات، تتناسب المحاكاة مع النظرية. ثم يقوم بقياس الاستجابة الخطوة للمحرك الحقيقي ويغطيها بمخرجات النموذج؛ يتناسب النموذج بشكل جيد مع المنطقة السريعة، ولكنه ينحرف عند السرعة المنخفضة، لأن النموذج يهمل الاحتكاك الساكن. يلاحظ نيل هذا الحد: النموذج موثوق به عند السرعات العالية، وليس عند السرعات المنخفضة جدًا. يقوم بتصميم وحدة التحكم وفقًا لذلك. تم إنشاء نموذج الذكاء الاصطناعي والمحاكاة بسرعة؛ لكن التحقق من صحة المعلمة والمقارنة التجريبية كشف للمهندس عن الحد الحقيقي لصلاحية النموذج.

الأخطاء الشائعة

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

باختصار

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

مهمة التطبيق

اختر نظامًا ديناميكيًا بسيطًا (محرك DC، مخمد الزنبرك الشامل، دائرة RC). اطلب من الذكاء الاصطناعي إنشاء نموذج حالة-مساحة أو معادلة تفاضلية ومحاكاة استجابة الخطوة في بايثون، وتأكد من طلب حالة نظرية ثابتة/نقطة تجزئة تحليلية. بعد ذلك: (1) قارن نتيجة المحاكاة بالقيمة النظرية لمعرفة ما إذا كانت متوافقة، (2) قم بتغيير المعلمة بمقدار ± 20% وانظر مدى تغير النتيجة (الحساسية)، (3) اكتب تأثيرين فيزيائيين على الأقل يهملهما النموذج وفي أي منطقة تشغيل سيكونان مهمين. صف نطاق صلاحية النموذج الخاص بك في جملة واحدة.