وحدة 4 / 9

دمج أجهزة الاستشعار وتكامل بيانات إنترنت الأشياء

المكاسب:

  • القدرة على إنشاء منطق الدمج (مرشح التكامل/Kalman) الذي يجمع بين بيانات IMU والمشفر وبيانات مستشعر المسافة مع الذكاء الاصطناعي
  • القدرة على تكوين وتفسير تدفقات بيانات إنترنت الأشياء والقياس عن بعد المستندة إلى MQTT بمساعدة الذكاء الاصطناعي
  • القدرة على اكتشاف وتصحيح مشكلات ضوضاء المستشعر والمعايرة ومزامنة الوقت في مخرجات الذكاء الاصطناعي

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

لماذا الاستشعار الانصهار؟

يحتوي كل مستشعر على "منطقة تردد جيدة". الغرض من الدمج هو استخدام كل حساس في المنطقة التي يكون فيها قويا ودعمه مع الآخر في المنطقة التي يكون فيها ضعيفا.

الاستشعار

نقطة قوية

الضعف

جيروسكوب

السرعة الزاوية قصيرة المدى، والاستجابة السريعة

الانجراف مع مرور الوقت

مقياس التسارع

مرجع المنحدر طويل المدى (الجاذبية)

اهتزاز/ضوضاء عند الحركة

التشفير

موقع عالي الدقة

خطأ الانزلاق/رد الفعل العكسي

نظام تحديد المواقع

الموقف المطلق

التردد المنخفض، الضوضاء، لا داخلي

يؤدي الاعتماد على مستشعر واحد إلى ضعف هذا المستشعر في النظام. على سبيل المثال، يجمع برنامج Fusion بين زاوية الجيروسكوب السريعة ولكن المنجرفة مع المرجع البطيء ولكن الثابت لمقياس التسارع، مما ينتج عنه زاوية سريعة وخالية من الانجراف.

مرشح تكميلي

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

# مرشح تكميلي: تقدير الألم (درجة الصوت) # alpha ~ 0.98 : أكثر للجيروسكوب، أقل لمقياس التسارع (درجة / ثانية) Accelerator_ange : الزاوية المحسوبة من مقياس التسارع (بالدرجات) dt : فترة أخذ العينات (ثانية) """ gyro_pac = السابق + gyro_speed * dt # دمج الجيروسكوب return alpha * gyro_pace + (1 - alpha) * Acceleration_angle# منطق التحقق: جيروسكوب نقي (انجرافات) إذا كانت ألفا = 1، # إذا كانت ألفا = 0 مقياس تسارع خالص (صاخب) فإن القيمة المتوسطة توازن بين الاثنين.

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

نصيحة: عند طباعة مرشح متكامل للذكاء الاصطناعي، تأكد من السؤال عن كيفية قياس dt. تأتي معظم الأخطاء من افتراض أن dt ثابت ولكن في الواقع يختلف وقت الدورة. قم بقياس dt الحقيقي باستخدام millis()/timestamp، ولا تكتب ثوابت.

منطق تصفية كالمان

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

  1. التنبؤ: التنبؤ بالموقف القادم وعدم يقينه بنموذج النظام.
  2. التحديث: قم بوزن القياس الجديد مقابل موثوقية القياس (كسب كالمان) وقم بتصحيح التقدير.

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

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

تدفق بيانات إنترنت الأشياء: MQTT والقياس عن بعد

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

import json, timeimport paho.mqtt.client as mqttclient = mqtt.Client()client.connect("broker.local", 1883, keepalive=60)def telemetry_broadcast(درجة الحرارة, درجة الحرارة,اهتزاز_rms): message = { "ts": time.time(), # timestamp - شرط المزامنة "pain_deg": round(pain, 2), "temperature_c": round(temperature, 1), "vibration_rms": round(temperature_rms, 3), "unit": {"pain": "deg", "temperature": "C", "vibration": "mm/s"} }client.publish("machine/line1/sensor", json.dumps(message), qos=1)# qos=1: تم التسليم مرة واحدة على الأقل. استخدام qos=0 (قد يتم فقدانه) في البيانات الهامة.

هناك قراران هندسيان مهمان هنا: (1) وضع الطابع الزمني (ts) لكل رسالة - يتم أخذ عينات من أجهزة استشعار مختلفة في أوقات مختلفة، والمزامنة ممكنة فقط مع الطابع الزمني؛ (2) مستوى جودة الخدمة - تستخدم البيانات الهامة qos=1 على الأقل (يتم تسليمها مرة واحدة على الأقل)، وتسمح qos=0 بفقدان الرسالة.

الضوضاء والمعايرة والتزامن

بغض النظر عن مدى جودة عملية الدمج، هناك ثلاث مشاكل في الإدخال تشوه النتيجة:

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

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

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

ضعيف: "احسب الزاوية من بيانات IMU." (أي مرشح؟ يتم التعامل مع الانجراف؟ كيف dt؟ غير واضح.)قوي: "ادمج بيانات مقياس التسارع والجيروسكوب من MPU6050 مع عامل التصفية المتكامل وتقدير زاوية الملعب. احسب dt من الطابع الزمني الحقيقي، لا تفترض ثابتًا. قم بتعيين ألفا كمعلمة (افتراضي 0.98). احسب زاوية مقياس التسارع باستخدام tane2. قم بالتصفية ككتابة كفئة، احتفظ بالسابق الزاوية، أضف مرشحًا أوليًا متوسطًا اختياريًا للضوضاء."

حالة صغيرة

يريد مهندس الروبوتات سيلين مرشحًا تكميليًا من الذكاء الاصطناعي لتقدير الزاوية على روبوت التوازن ذي العجلتين. يعطي الذكاء الاصطناعي رمزًا نظيفًا، لكن الروبوت يميل ببطء إلى جانب واحد. يتحقق Selin من dt: يفترض الكود أن dt ثابت بمقدار 0.01 ثانية، في حين يختلف وقت الدورة بسبب القياس عن بعد عبر البلوتوث. عندما يتم حساب dt من الطابع الزمني الحقيقي، يقل الانجراف ولكنه لا يختفي تمامًا. ثم ينظر إلى معايرة مقياس التسارع؛ حتى عندما يكون المستشعر ثابتًا، هناك إزاحة قدرها 2 درجة. عندما أقوم بإزالة إزاحة المعايرة، يقف الروبوت في وضع مستقيم. وأخيرًا، لاحظ أنه يستخدم qos=0 عند بث القياس عن بعد عبر MQTT ويزيده إلى qos=1 لبيانات الزاوية الحرجة. قام الذكاء الاصطناعي بتسليم هيكل اندماجي في دقائق؛ لكن التحقق الذي أجراه المهندس اكتشف ثلاث مشكلات خاصة بالنظام: المتغير dt، وإزاحة المعايرة، وجودة الخدمة.

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

  • بافتراض أن dt ثابت، في حين أن زمن الدورة يختلف (انجرافات الاندماج).
  • دمج أجهزة الاستشعار دون معايرتها (الإزاحة المنهجية).
  • محاولة محاذاة أجهزة الاستشعار بسرعات مختلفة دون ختم زمني.
  • ترك قيمة العينة للذكاء الاصطناعي دون قياس تباينات Kalman Q/R من الضوضاء الحقيقية.
  • السماح بفقدان الرسائل باستخدام qos=0 على بيانات إنترنت الأشياء المهمة.
  • إعطاء البيانات الصاخبة الخام للدمج دون تصفية مسبقة.

باختصار

  • يستخدم فيوجن كل حساس في منطقة التردد حيث يكون قويا ويعوض ضعفه.
  • المرشح التكميلي بسيط. ينشئ توازن الجيروسكوب والتسارع مع ألفا.
  • يقوم مرشح كالمان بنماذج الضوضاء بشكل احتمالي؛ Q/R يأتي من النظام الحقيقي.
  • في القياس عن بعد MQTT، يعد الطابع الزمني وجودة الخدمة المناسبة قرارات هندسية حاسمة.
  • تحدد الضوضاء والمعايرة ومزامنة الوقت جودة الاندماج.
  • يتم قياس dt من الوقت الحقيقي؛ يتم التحقق من المعايرة وجودة الخدمة دون ترك الأمر للذكاء الاصطناعي.

مهمة التطبيق

بالنسبة إلى IMU (بيانات الجيروسكوب الحقيقية أو المحاكية + بيانات مقياس التسارع)، اطلب من الذكاء الاصطناعي إنشاء عامل التصفية المتكامل والتأكد من حساب dt من الطابع الزمني الحقيقي. بعد ذلك: (1) جرب ألفا لـ 0.90 و0.98 و1.0 ولاحظ توازن الانحراف والضوضاء، (2) أضف إزاحة ثابتة متعمدة (خطأ في المعايرة) إلى المستشعر وانظر كيف ينجرف مخرج الدمج، (3) قم بتحويل البيانات إلى مخطط MQTT JSON وأضف الطابع الزمني وحقول الوحدة. لاحظ قيمة ألفا التي تعطي النتيجة الأكثر توازنًا لبياناتك ومدى تشويه إزاحة المعايرة للإخراج.