توضیحات
در سیستمهای چندعاملی مانند ناوگان ماهوارهها، ارتباط میان عاملها هم پرهزینه است و هم در برابر حمله آسیبپذیر. این پروژه یک کنترلر شمول دوبخشی (Bipartite Containment) را در متلب پیادهسازی میکند که ارتباط را فقط در لحظات لازم برقرار میکند و در بازههای حملهی منع سرویس (DoS) نیز با یک جبرانساز، پیروها را در محدودهی رهبران نگه میدارد.
توضیحات
شبیهسازی کنترل شمول دوبخشی کاملاً توزیعشده با تحریک رویدادی (Event-Triggered Bipartite Containment) سیستمهای چندعاملی تحت حمله DoS و اغتشاش خارجی در متلب
عنوان اصلی مقاله:
Event-Triggered Fully Distributed Bipartite Containment Control for Multi-Agent Systems Under DoS Attacks and External Disturbances
این شبیهسازی بر اساس مقالهی نشریهی IEEE Transactions on Circuits and Systems I: Regular Papers (سال 2025) با کد .m در MATLAB پیادهسازی شده است. همراه فایلها یک گزارش فارسی ۶ صفحهای قرار دارد که خطبهخط کد را با معادلات مقاله تطبیق میدهد.
ترجمه تخصصی چکیده
این پژوهش الگوریتم کنترل شمول دوبخشی را برای سیستمهای چندعاملیای بررسی میکند که در معرض حملات DoS و اغتشاشهای خارجی قرار دارند. اغتشاشها توسط مجموعهای از سیستمهای برونزای غیرخطی با شرط لیپشیتس یکطرفه (One-Sided Lipschitz) تولید میشوند. برای تخمین حالتهای ناشناختهی سیستم و اغتشاشهای خارجی، مجموعهای از ناظرهای حالت غیرمتمرکز و ناظرهای اغتشاش پیشنهاد شده است. سپس یک پروتکل کنترلی کاملاً توزیعشده بهکار گرفته میشود تا نیازی به استفاده از اطلاعات سراسری نباشد. برای کاهش اثرات نامطلوب حملات DoS، یک جبرانساز حمله معرفی شده است. افزون بر این، سازوکارهای تحریک رویدادی پویا و عاری از رفتار زنو (Zeno-free) ارائه شدهاند که به ارتباط پیوستهی عاملهای همسایه نیاز ندارند و منابع ارتباطی محدود را حفظ میکنند. در پایان، سیستمهای پرواز ماهوارهای برای نشان دادن امکانپذیری طرح کنترلی طراحیشده بهکار رفتهاند.
توضیحات شبیهسازی کنترل شمول دوبخشی با تحریک رویدادی در متلب
در این پروژه شش ماهوارهی مدلشده با معادلات حرکت نسبی (معادلهی ۶۴ مقاله) شبیهسازی شدهاند: چهار پیرو و دو رهبر. گراف ارتباطی علامتدار است، یعنی برخی ارتباطها همکاری و برخی رقابت را نشان میدهند. هدف این است که پیروها در پوش محدب (Convex Hull) رهبران و قرینهی آنها قرار بگیرند.
هر پیرو دو ناظر دارد: ناظر حالت غیرمتمرکز (State Observer) که حالت خودش را تخمین میزند و ناظر اغتشاش (Disturbance Observer) که اغتشاش وارد بر آن را تخمین میزند. ورودی کنترل از تخمین اغتشاش و خطای شمول ساخته میشود و بهرهی آن با یک قانون تطبیقی (Adaptive Law) تنظیم میشود، بنابراین نیازی به اطلاعات سراسری گراف نیست. ارتباط میان عاملها فقط وقتی برقرار میشود که شرط تریگر پویا برقرار شود.
در شش بازهی زمانی (۱۵ تا ۲۰، ۳۰ تا ۳۶، ۴۱ تا ۵۰، ۵۴ تا ۶۴، ۷۲ تا ۸۰ و ۸۸ تا ۹۸ ثانیه) حملهی DoS ارتباط را قطع میکند و در این بازهها جبرانساز حمله جای اطلاعات همسایهها را میگیرد.
علاوه بر شبیهسازی مقاله، کد امکان انتخاب هر چهار نوع تابع غیرخطی اغتشاش (شکل ۱ مقاله) را با تغییر پارامتر nonlin_idx در فایل parameters.m دارد. نتایج نمایشدادهشده در این صفحه برای حالت پیشفرض (nonlin_idx = 4) است.
موضوعات مورد بررسی در پروژه
- کنترل شمول دوبخشی (Bipartite Containment) روی گراف علامتدار با چهار پیرو و دو رهبر
- ناظر حالت غیرمتمرکز و ناظر اغتشاش برای هر پیرو (معادلات ۷ و ۸)
- پروتکل کنترل کاملاً توزیعشده با پارامتر تطبیقی α (معادلات ۱۳ و ۱۸)
- تحریک رویدادی پویا با متغیر کمکی Υ و بررسی شرط تریگر (معادلات ۱۴ و ۱۵ و ۲۰ و ۲۱)
- مدلسازی حملهی DoS و جبرانساز حمله (معادلات ۱۸ تا ۲۱)
- اغتشاشهای تولیدشده توسط سیستم برونزای غیرخطی با چهار حالت تابع غیرخطی (معادلهی ۴)
- حل LMI برای محاسبهی بهرهی کنترل با YALMIP و SeDuMi (معادلات ۳۳ و ۳۴)
- شمارش تعداد تریگرهای هر پیرو و رسم فاصلهی بین لحظات تریگر
مشخصات فنی پروژه
نرمافزار مورد استفاده:
MATLAB (تستشده با 2025b) + جعبهابزارهای YALMIP و SeDuMi. کد به Simulink یا جعبهابزار دیگری نیاز ندارد.
بخشهای اصلی مدل:
main.m: فایل اجرایی. حل LMI، شرایط اولیه، حل معادلات با روش رانگ-کوتا مرتبهی چهار (گام ۰٫۰۰۱ ثانیه، مدت شبیهسازی ۱۰۰ ثانیه)، بررسی شرط تریگر و رسم شکلهاparameters.m: ماتریسهای سیستم، گراف ارتباطی، زمانهای حمله و ضرایبsolve_lmi.m: حل LMI با YALMIP و SeDuMisatellite_kinetic.mوvirtual_leader_kinetic.m: دینامیک پیروها و رهبرانobserver.mوdisturbance.m: ناظر حالت، ناظر اغتشاش و سیستم برونزای اغتشاشcontrol_input.mوcontainment_error.m: ورودی کنترل، قانون تطبیقی و خطای شمولtrigger_condition.mوsample_errors.m: شرط تحریک رویدادی و نمونهبرداریis_dos.m،satellite_agent.m،total_equations.mوunpack_states.m: حملهی DoS، جبرانساز و ساخت معادلات کل سیستم
این شبیهسازی برای چه کسانی مناسب است؟
این پروژه برای پژوهشگران و علاقهمندان به حوزههای زیر کاربرد دارد:
- کنترل هماهنگ و کنترل شمول سیستمهای چندعاملی
- کنترل رویدادمحور (Event-Triggered Control) و کاهش بار ارتباطی
- امنیت سایبری سیستمهای کنترلی و مقابله با حملهی DoS
- پرواز در آرایش (Formation Flying) ماهوارهها
- طراحی ناظر حالت و ناظر اغتشاش و حل LMI با YALMIP
فایلهای موجود در پروژه
پس از خرید، فایلهای زیر در اختیار شما قرار میگیرد:
main.mو ۱۴ فایل.mدیگر شاملparameters.m،solve_lmi.m،is_dos.m،disturbance.m،observer.m،satellite_kinetic.m،virtual_leader_kinetic.m،satellite_agent.m،total_equations.m،trigger_condition.m،control_input.m،containment_error.m،sample_errors.mوunpack_states.m- جعبهابزارهای YALMIP و SeDuMi
- گزارش فارسی (۶ صفحه)
- نمودارهای خروجی (پنج شکل)
نتایج قابل مشاهده
با اجرای main.m نتایج زیر استخراج میشود. نتایج مربوط به حالت nonlin_idx = 4 است.
شکل ۱ — مسیر حالتهای عاملها و بازههای حمله DoS
- حالتهای پیروها و رهبران (و قرینهی رهبران) در شش مؤلفهی حالت رسم میشوند و بازههای حمله با نوار خاکستری مشخص است.
- پیروها پس از حدود ۲۰ ثانیه در پوش رهبران قرار میگیرند و این وضعیت در بازههای حمله هم حفظ میشود.

مسیر حالتهای پیروها و رهبران در کنترل شمول دوبخشی با تحریک رویدادی تحت حمله DoS در متلب
✅ شکل ۴ مقاله: مسیر حالتهای عاملها
شکل ۲ — حالتهای پیروها و تخمین آنها
- حالت واقعی هر پیرو در کنار تخمین ناظر حالت رسم شده است.
- تخمینها پس از چند ثانیه بر حالتهای واقعی منطبق میشوند.

حالت واقعی و تخمین ناظر حالت چهار پیرو در شبیهسازی کنترل شمول دوبخشی متلب
✅ شکل ۵ مقاله: حالتهای پیروها و تخمین آنها
شکل ۳ — اغتشاشها و تخمین آنها
- اغتشاش خارجی هر پیرو و تخمین ناظر اغتشاش رسم شده است.
- ناظر اغتشاش پس از چند ثانیه اغتشاش سینوسی را دنبال میکند.

اغتشاش خارجی و تخمین ناظر اغتشاش پیروها در شبیهسازی متلب
✅ شکل ۶ مقاله: اغتشاشها و تخمین آنها
شکل ۴ — پارامتر تطبیقی α
- پارامتر α هر پیرو در ابتدای شبیهسازی تا حدود ۳ بالا میرود و سپس در محدودهی حدود ۰٫۱۵ تا ۰٫۳ باقی میماند.

پارامتر تطبیقی آلفا برای چهار پیرو در کنترل رویدادمحور شمول دوبخشی در متلب
✅ شکل ۷ مقاله: پارامتر تطبیقی α
شکل ۵ — فاصلهی بین لحظات تریگر
- فاصلهی بین لحظات تریگر هر پیرو رسم میشود. این فاصلهها در همهی عاملها مثبت و کمتر از ۶ ثانیه است.
- تعداد تریگرهای هر چهار پیرو در پایان اجرا در پنجرهی فرمان چاپ میشود (معادل جدول I مقاله).

فاصله بین لحظات تریگر چهار پیرو در تحریک رویدادی پویا تحت حمله DoS در متلب
✅ شکل ۸ مقاله: فاصلهی بین لحظات تریگر
علاوه بر این، تمامی متغیرهای اصلی سیستم در محیط شبیهسازی قابل اندازهگیری و تحلیل بوده و کاربر میتواند با تغییر پارامترهای سیستم، مطالعات تکمیلی مورد نیاز خود را انجام دهد.
پرسشهای متداول
با چه نسخهای از MATLAB اجرا میشود؟
کد با MATLAB 2025b تست شده است. با نسخههای جدیدتر هم باید اجرا شود، اما نسخههای قدیمیتر تست نشدهاند.
به چه جعبهابزارهایی نیاز دارد؟
فقط به YALMIP و SeDuMi برای حل LMI نیاز دارد که همراه فایلها قرار دارند. Simulink لازم نیست.
چطور پروژه را اجرا کنم؟
فایل main.m را باز و اجرا کنید. مسیر YALMIP و SeDuMi خودکار اضافه میشود و پنج شکل و تعداد تریگرها بهصورت خودکار تولید میشود.
آیا نتایج دقیقاً با مقاله یکی است؟
شکلهای ۴ تا ۸ مقاله بازتولید شدهاند و رفتار آنها با مقاله مطابقت دارد. تعداد تریگرها هممرتبهی جدول I مقاله است، ولی برابر آن نیست (جزئیات در بخش «نکات مهم»).
آیا میتوان اغتشاش غیرخطی دیگری را آزمود؟
بله. با تغییر nonlin_idx در parameters.m میتوان هر یک از چهار حالت تابع غیرخطی شکل ۱ مقاله را اجرا کرد.
گزارش شامل چه مواردی است؟
گزارش فارسی هر فایل کد را خطبهخط با معادلات مقاله تطبیق میدهد و نتایج شبیهسازی را شرح میدهد.
مزایای پروژه
- کد ماژولار با فایل اجرایی واحد
main.mو برچسب شمارهی معادلههای مقاله روی خطوط کد - مدلسازی کامل حملهی DoS در شش بازه همراه با جبرانساز حمله
- شرط تریگر پویا که ارتباط را فقط در لحظات لازم برقرار میکند و شمارش تریگرها برای هر پیرو
- امکان اجرای چهار حالت تابع غیرخطی اغتشاش با تغییر یک پارامتر
- گزارش فارسی که کد را با معادلات مقاله تطبیق میدهد
نکات مهم
- چند پارامتر در مقاله ذکر نشده است و در کد مقدار گرفتهاند: مقدار اولیهی پارامتر تطبیقی α، متغیر Υ و حالت اغتشاش و تخمین آن، و کرانهای α که بین ۰٫۱۵ و ۳ تنظیم شده است.
- مقاله مشخص نمیکند که α و Υ در حالت عادی و حالت حمله مشترکاند یا جدا. در کد مشترک در نظر گرفته شدهاند. همچنین نمونهی خطای شمول در لحظهی شروع و پایان هر حمله دوباره گرفته میشود که در مقاله به آن اشاره نشده است.
- جواب LMI یکتا نیست. در شبیهسازی از بهرههای K1 و K2 و K3 ارائهشده در مقاله استفاده شده است. LMI نیز حل میشود و شدنی بودن آن در پنجرهی فرمان نمایش داده میشود.
- تعداد کل تریگرها در اجرای MATLAB 2025b برابر ۴۵۳ بود، در حالی که مقاله ۴۰۱ گزارش کرده است. این عدد به جزئیات عددی (نحوهی بررسی شرط تریگر و مقادیر اولیه) حساس است و در اجراهای مختلف ما بین ۳۷۹ تا ۴۶۱ تغییر کرد.
- در این پروژه فقط شکلهای ۴ تا ۸ مقاله و تعداد تریگرها (جدول I) بازتولید شدهاند. شکلهای ۹ تا ۱۷ و جدولهای II تا IV مقاله در پروژه وجود ندارند، اما کد امکان اجرای چهار حالت غیرخطی را دارد.
- این شبیهسازی برای اهداف آموزشی و پژوهشی مناسب است.
شاید به موارد زیر نیز علاقهمند باشید:
- Event-triggered Control for Multi-Agent Systems
- Consensus of linear multi-agent systems via event-triggered control
- Fuzzy Adaptive Distributed Event-Triggered Consensus Control of Uncertain Nonlinear Multiagent Systems
شبیهسازی کنترل شمول دوبخشی کاملاً توزیعشده با تحریک رویدادی سیستمهای چندعاملی تحت حمله DoS و اغتشاش خارجی در متلب
طبق توضیحات فوق توسط کارشناسان سایت متلبی تهیه شده است و به تعداد محدودی قابل فروش میباشد.
سفارش انجام پروژه مشابه
درصورتیکه این محصول دقیقاً مطابق خواسته شما نمیباشد،
با کلیک بر روی کلید زیر پروژه دلخواه خود را سفارش دهید.







نقد و بررسیها
هنوز بررسیای ثبت نشده است.