Model Predictive Control (MPC)
يخطط التحكم التنبؤي بالنموذج (MPC) تسلسلًا قصيرًا من الإجراءات باستخدام نموذج، وينفذ الإجراء الأول فقط، ثم يعيد التخطيط في كل خطوة. يتناول المكونات والاستخدامات والشيفرة.
التحكم التنبؤي بالنموذج (MPC) طريقة للتحكم تستخدم نموذجًا للنظام للتنبؤ بسلوكه خلال أفق زمني قصير في المستقبل، وتختار سلسلة الإجراءات التي تحقق هدفًا على أفضل وجه مع مراعاة القيود، وتنفذ الإجراء الأول فقط، ثم تكرر العملية كاملة عند الخطوة الزمنية التالية باستخدام قياسات حديثة. وتُسمى دورة التخطيط والتنفيذ وإعادة التخطيط هذه التحكم بالأفق المتحرك، وهي تتيح لوحدة التحكم استباق ما سيحدث بدلًا من الاستجابة للخطأ الحالي فحسب. نشأ MPC في تكرير النفط والمعالجة الكيميائية أواخر سبعينيات القرن العشرين، وكانت تقنية التحكم بالمصفوفة الديناميكية من Shell من أوائل تطبيقاته الصناعية، وهو يوجّه الآن الروبوتات والمركبات ذاتية القيادة وأنظمة التحكم بمناخ المباني.
مكوّنات وحدة تحكم MPC#
تجمع كل وحدة تحكم MPC أربعة مكونات:
- نموذج الديناميكيات: يتنبأ بالحالة التالية استنادًا إلى الحالة الحالية وإجراء ما، مثل كيفية تغير موضع السيارة واتجاهها عند زاوية توجيه معينة. ويمكن اشتقاقه من معادلات الفيزياء، أو من تحديد النظام باستخدام بيانات مسجلة، أو من شبكة عصبية مدرّبة على مسارات مسجلة.
- دالة التكلفة: تقيّم مساراً متنبأً به، وتعاقب عادةً الابتعاد عن الهدف واستهلاك الطاقة والتغيرات المفاجئة في عناصر التحكم.
- القيود: حدود يجب أن تلتزم بها كل خطة، مثل الحد الأقصى لعزم المحرك وحدود السرعة ومناطق حظر الاقتراب حول العوائق. ويُعد التعامل الصريح مع القيود الميزة الأساسية لـMPC مقارنةً بالتحكم التقليدي PID، الذي لا يستجيب للأخطاء إلا بعد ظهورها ولا يستطيع استباق حد ما.
- المحسّن: يبحث عن أفضل سلسلة إجراءات ضمن الأفق الزمني في كل خطوة تحكم.
يحدد النموذج مدى صعوبة التحسين. فالنموذج الخطي ذو دالة الكلفة التربيعية يتحول إلى مسألة تربيعية تنهيها محللات متخصصة في أجزاء من الثانية أو أقل، بينما تحتاج النماذج غير الخطية إلى محللات MPC غير خطية، تُقرن عادةً بـمرشح كالمان الموسع لتقدير الحالة، أو ببحث قائم على أخذ العينات. وفي كل خطوة تحكم، ينفذ المحسّن حلقة داخلية للتنبؤ بالخطط المرشحة وتحسينها، بينما تنفذ وحدة التحكم حلقة خارجية تطبق إجراءً واحدًا وتبدأ من جديد انطلاقًا من الحالة المقاسة حديثًا:
طول الأفق هو خيار الضبط الأساسي. فالأفق الأطول يتيح للمركبة الكبح مبكرًا قبل منعطف حاد، لكن كل خطوة إضافية تزيد الحسابات وتراكم خطأ تنبؤ النموذج، كما يجب أن ينتهي التحسين كله ضمن فترة تحكم واحدة.
الأفق المتحرك في الشيفرة#
يتحكم المقتطف أدناه بعربة يجب أن تصل إلى الموضع 5 وتتوقف، مع تسارع محدود بين -1 و1. وفي كل خطوة، يأخذ عينات من 500 خطة تسارع عشوائية، ويتنبأ بمسار كل خطة باستخدام ديناميكيات العربة، وينفّذ الفعل الأول من أقل الخطط تكلفة، ثم يعيد التخطيط انطلاقاً من الحالة الجديدة:
import numpy as np
rng = np.random.default_rng(0)
position, velocity, target = 0.0, 0.0, 5.0
dt, horizon = 0.1, 30
for _ in range(100):
# Sample 500 candidate plans of accelerations within the actuator limit of +/-1
plans = rng.uniform(-1, 1, size=(500, horizon))
# Predict every plan's trajectory with the cart's dynamics model
v = velocity + dt * plans.cumsum(axis=1)
p = position + dt * v.cumsum(axis=1)
# Cost: distance from the target at each step plus speed at the end of the horizon
cost = ((p - target) ** 2).sum(axis=1) + 10 * v[:, -1] ** 2
# Apply only the first action of the cheapest plan, then replan from the new state
velocity += dt * plans[cost.argmin(), 0]
position += dt * velocity
print(f"position: {position:.2f}, velocity: {velocity:.2f}")بعد 10 ثوانٍ من المحاكاة، تستقر العربة عند الموضع 5.04 وبسرعة 0.04. لا تكون أي خطة عشوائية جيدة بمفردها، لكن تنفيذ خطوة واحدة ثم إعادة التخطيط انطلاقًا من الحالة المقاسة يصحح الأخطاء باستمرار. ويسمى هذا النهج الإطلاق العشوائي، وهو أبسط أساليب عائلة MPC القائمة على أخذ العينات، التي تشمل أيضًا طريقة الإنتروبيا المتقاطعة والتحكم بتكامل مسار تنبؤ النموذج (MPPI)، الذي استخدمه باحثو Georgia Tech لقيادة سيارة رالي بمقياس خُمس على مسار ترابي.
MPC في المصانع والروبوتات والسيارات والمباني#
- صناعات المعالجة: تستخدم المصافي والمصانع الكيميائية ومحطات الطاقة MPC للحفاظ على درجات الحرارة والضغوط وجودة المنتجات قريبةً من الحدود التي تعظّم الإنتاجية، وهو المجال الذي بدأت فيه هذه الطريقة.
- الروبوتات ذات الأرجل: ركض الروبوت Cheetah 3 من MIT وحافظ على توازنه باستخدام MPC محدب أعاد حساب قوى رد الفعل الأرضية مرات عديدة في الثانية، ثم أصدرت MIT وحدة التحكم هذه لاحقًا بوصفها برمجيات مفتوحة المصدر لروبوتها Mini Cheetah.
- القيادة: تستخدم وحدات التحكم في تتبع المسار في السيارات ذاتية القيادة MPC لاتباع مسار مخطط بسلاسة ضمن حدود التوجيه والتسارع والراحة.
- المباني: تتنبأ وحدات التحكم بالتدفئة والتبريد بدرجات حرارة الغرف قبل ساعات استناداً إلى توقعات الطقس والإشغال، وتبرّد أو تدفّئ مسبقاً عندما تكون الطاقة أقل تكلفة.
MPC مقارنةً بالأساليب ذات الصلة#
- التحكم PID: تحسب وحدة تحكم PID خرجها استنادًا إلى الخطأ الحالي وتكامله ومعدل تغيره. وهي بسيطة ومنخفضة الكلفة، لكنها لا تتضمن نموذجًا للمستقبل ولا مفهومًا للقيود.
- المنظِّم التربيعي الخطي (LQR): يجد LQR قانون التغذية الراجعة الأمثل لنظام خطي ذي كلفة تربيعية على أفق لا نهائي، بصيغة مغلقة. أما MPC فيحل نسخة ذات أفق محدود آنياً، ما يتيح له فرض القيود والتعامل مع النماذج غير الخطية.
- التعلم المعزز: يتعلم التعلم المعزز سياسةً من الخبرة قبل النشر، وبعدها لا يتطلب اختيار الإجراء سوى تمريرة أمامية سريعة واحدة. أما MPC فيحل تحسينًا جديدًا أثناء التشغيل باستخدام نموذج صريح.
يتزايد التقارب بين النهجين. إذ يتعلم التعلم المعزز العميق القائم على النماذج نموذجًا للعالم ويخطط من خلاله باستخدام MPC، وتخطط أساليب مثل TD-MPC2 في فضاء كامن متعلَّم، بينما تقيّم دالة قيمة متعلَّمة ما يحدث بعد نهاية الأفق القصير. وتمثل نماذج الديناميكيات المتعلَّمة شكلًا من النمذجة التنبؤية، وتحدد دقتها خلال الأفق مدى التقدم الذي يستطيع المتحكم التخطيط له بفاعلية.
الإدراك في MPC#
لا يخطط متحكم MPC إلا بقدر جودة إدراكه، وفي نظام الذكاء الاصطناعي المادي، مثل روبوت يتحرك بين الناس، يجب أن تتضمن حالته مواقع الأشخاص واتجاهاتهم. وتوفر كاميرا تشغّل Ultralytics YOLO26 في وضع التتبع مربع إحاطة ومعرّف تتبع دائمًا لكل شخص في كل إطار. وعند دمج هذه المسارات مع تقدير العمق أو معايرة الكاميرا ومرشح كالمان، تتحول إلى مواضع العوائق وسرعاتها التي تتجنبها قيود وحدة التحكم.










