
موقعیت یابی بهینه ربات متحرک با تلفیق GPS/INS و فیلتر کالمن توسعه یافته (EKF) در MATLAB
مقدمه
موقعیت یابی دقیق ربات های متحرک در کاربردهای مختلف مانند ناوبری خودکار، رباتیک صنعتی و کشاورزی هوشمند از اهمیت بالایی برخوردار است. سیستمهای ناوبری اینرسی (INS) به دلیل استفاده از سنسورهای شتابسنج و ژیروسکوپ، موقعیت پیوستهای ارائه میدهند، اما با خطای تجمعی (رانش یا drift) همراه هستند. از سوی دیگر، سیستم موقعیت یابی جهانی (GPS) دادههای مطلق و بدون رانش فراهم میکند، اما با نویز و قطعیهای احتمالی مواجه است. هدف این پروژه تلفیق دادههای GPS و INS با استفاده از فیلتر کالمن توسعه یافته (EKF) است تا دقت موقعیت یابی ربات بهبود یابد و خطای INS تصحیح شود. این پروژه بر سناریوی ناوبری دوبعدی (مختصات x و y) با دادههای مصنوعی متمرکز است که یک مسیر غیرخطی را نشان میدهد. سیستم، موقعیت و سرعت را تخمین میزند و کارایی الگوریتم EKF را در کاربردهای بلادرنگ در محیط نرم افزار MATLAB نشان میدهد.
هدف پروژه
هدف اصلی این پروژه بهبود دقت موقعیت یابی ربات متحرک با استفاده از تلفیق دادههای GPS (نویزی اما مطلق) و INS (پیوسته اما با رانش) از طریق فیلتر کالمن توسعه یافته است. این تلفیق باید خطای انباشتهشده INS را با کمک دادههای GPS تصحیح کند و تخمینی بهینه از موقعیت و سرعت ربات ارائه دهد. داده استفاده شده در این پروژه داده مصنوعی و فرضی می باشد.
روش کار
- شبیه سازی مسیر واقعی: تولید یک مسیر غیرخطی دوبعدی بهعنوان مرجع.
- دادههای GPS: شبیه سازی دادههای نویزی موقعیت با انحراف معیار مشخص (داده مصنوعی)
- دادههای INS: شبیه سازی موقعیت با نویز و رانش تجمعی.
- EKF: پیاده سازی الگوریتم فیلتر کالمن توسعه یافته برای تلفیق دادهها.
- تحلیل و نمایش: ارزیابی عملکرد با نمودارها، انیمیشن و تحلیل آماری.
جزئیات سناریو
طراحی مسیر و شرایط اولیه:
سناریوی این پروژه بر اساس یک مسیر غیرخطی دوبعدی طراحی شده است که حرکت یک ربات متحرک را در یک محیط فرضی شبیه سازی میکند. مسیر واقعی ربات با استفاده از معادلات
و
تعریف شده است که ترکیبی از حرکت خطی و نوسانات سینوسی را نشان میدهد. این انتخاب به منظور شبیه سازی حرکتی واقعگرایانه و پویا انجام شده است که چالشهای مختلفی مانند تغییرات سرعت و جهت را به سیستم ناوبری تحمیل میکند. زمان شبیه سازی 100 ثانیه با گام زمانی 0.1 ثانیه در نظر گرفته شده است، که منجر به تولید 1000 نمونه داده میشود. این شرایط اولیه امکان ارزیابی عملکرد سیستم در یک بازه زمانی طولانی و با تغییرات مداوم را فراهم میکند.
شبیهسازی دادههای ورودی
در این سناریو، دادههای ورودی شامل دو منبع اصلی هستند: سیستم GPS و سیستم INS. دادههای GPS با اضافه کردن نویز گاوسی با انحراف معیار 5 متر به موقعیت واقعی تولید شدهاند، که نشاندهنده عدم دقت معمول در اندازهگیریهای GPS در دنیای واقعی است. از سوی دیگر، دادههای INS از طریق انتگرالگیری سرعت واقعی با اضافه کردن نویز تصادفی (0.1 = σ متر بر ثانیه) و نرخ رانش ثابت (0.05 متر بر ثانیه) شبیه سازی شدهاند. این رانش بهصورت تجمعی با زمان افزایش مییابد و خطای موقعیت را بهسرعت تشدید میکند که یکی از چالشهای اصلی سیستمهای اینرسی است. هدف این شبیه سازی، ایجاد شرایطی است که در آن EKF بتواند با تلفیق این دو منبع ناقص، تخمینی بهینه ارائه دهد.
پیاده سازی و ارزیابی
پیاده سازی سناریو با استفاده از فیلتر کالمن توسعه یافته (EKF) انجام شده است که دادههای نویزی GPS و دادههای رانشی INS را تلفیق میکند. EKF با تعریف یک بردار حالت چهاربعدی
و ماتریسهای کوواریانس نویز فرآیند (Q) و مشاهده (R) عمل میکند. این الگوریتم در هر گام زمانی، ابتدا موقعیت و سرعت را پیشبینی کرده و سپس با استفاده از اندازهگیریهای GPS، تخمین را بهروزرسانی میکند. ارزیابی عملکرد سیستم از طریق انیمیشن ربات، شش نمودار تحلیلی و تحلیل آماری (میانگین و انحراف معیار خطاها) انجام شده است. این سناریو بهگونهای طراحی شده که تأثیر نویز و رانش را بهوضوح نشان دهد و توانایی EKF در تصحیح خطاها و ارائه تخمینی نزدیک به مسیر واقعی را مورد آزمایش قرار دهد.
جدول پارامترهای ورودی سناریو:

توضیحات جدول:
- پارامترهای زمانی: گام زمانی، زمان کل و تعداد گامها برای تعریف بازه شبیه سازی استفاده شدهاند.
- مسیر و سرعت واقعی: معادلات غیرخطی حرکت ربات را توصیف میکنند و بهعنوان مرجع برای مقایسه عمل میکنند.
- نویز و رانش: مشخصات نویز GPS و INS برای شبیه سازی شرایط واقعی تعیین شدهاند.
- پارامترهای EKF: بردار حالت، ماتریسهای کوواریانس و مدلها هسته الگوریتم تلفیق دادهها را تشکیل میدهند.
- سناریو: یک محیط دوبعدی با چالشهای نویز و رانش برای تست عملکرد EKF طراحی شده است.
خروجیها و نمودارها
در این بخش تمام خروجیهای پروژه شامل دیاگرام مفهومی، انیمیشن و نمودارهای تحلیلی توضیح داده شده و تحلیل میشوند.
دیاگرام مفهومی (Conceptual Diagram):

این دیاگرام در ابتدای اجرای برنامه نمایش داده میشود و ساختار سیستم را بهصورت بصری نشان داده و به درک جریان دادهها (انتقال از GPS و INS به EKF و سپس خروجی) نیز کمک میکند.
اجزاء دیاگرام:
- بلوک GPS (آبی): دادههای نویزی موقعیت
- بلوک INS (سبز): دادههای رانشی سرعت
- بلوک EKF (خاکستری): تلفیق و تصحیح دادهها
- بلوک خروجی (صورتی): موقعیت و سرعت دقیق
انیمیشن ربات متحرک (Mobile Robot Animation) :

در این شکل یک مثلث سبز (ربات) در فضای دوبعدی حرکت میکند و مسیر تخمینی EKF را دنبال میکند (شکل زوم شده).
اجزا:
- مسیر واقعی (خط آبی)
- دادههای GPS (نقاط قرمز)
- مسیر INS (خط سبز نقطهچین)
- مسیر EKF (خط سیاه)
- نقاط لحظهای: موقعیت واقعی (دایره آبی)، GPS (ستاره قرمز)، INS (مربع سبز)، EKF (مثلث سیاه)
تحلیل: انیمیشن نشان میدهد که ربات (EKF) به مسیر واقعی نزدیکتر است. نقاط قرمز پراکندهاند که نویز GPS را نشان می دهد و خط سبز نیز مسیر انحرافی است که همان رانش INS می باشد، اما ربات در مسیر سیاه پایدار است که موفقیت EKF را تأیید میکند.
نمودار تخمین موقعیت (Position Estimation):
![]() | ![]() |
در این شکل دو زیرنمودار مشاهده می شود که موقعیت x و y را در طول زمان نشان میدهند.
اجزا:
- خط آبی: موقعیت واقعی
- خط قرمز نقطهچین: GPS
- خط سبز نقطهچین: INS
- خط سیاه: EKF
این شکل نشان می دهد که GPS نوسانات زیادی دارد (نویز) ، INS در طول زمان از مسیر واقعی دور میشود (رانش) و EKF نیز به خط واقعی نزدیک بوده و نویز و رانش را کاهش میدهد که نشاندهنده تصحیح موفق خطای INS می باشد.
نمودار تخمین سرعت (Velocity Estimation):

در این شکل دو زیرنمودار برای سرعت xU و yU در طول زمان نشان داده می شود.
اجزا:
- خط آبی: سرعت واقعی
- خط سیاه: تخمین EKF
در این خروجی سرعت واقعی به دلیل مسیر غیرخطی نوسانات سینوسی دارد. در اینجا EKF این نوسانات را بهخوبی دنبال میکند، هرچند ممکن است خطاهای کوچکی به دلیل نویز فرآیند (Q) دیده شود. این نشان میدهد که EKF نهتنها موقعیت، بلکه سرعت را هم با دقت تخمین میزند.
نمودار مسیر دوبعدی (2D Trajectory) :
![]() | ![]() |
این شکل مسیر ربات در فضای x و y را نشان می دهد.
اجزا:
- خط آبی: مسیر واقعی را نشان می دهد.
- نقاط قرمز: GPS که پراکندهاند و انحراف زیادی دارند.
- خط سبز نقطهچین: INS که بهتدریج از مسیر واقعی دور میشود.
- خط سیاه: EKF که نزدیکترین مسیر به خط آبی را دنبال میکند و دقت بالای تلفیق را نشان میدهد.
نمودار خطا در طول زمان (Error Analysis):
![]() | ![]() |
این شکل خطای اقلیدسی برای GPS با خط قرمز ، INS با خط سبز و EKF با رنگ سیاه در طول زمان را نشان می دهد. در این شکل خطای GPS ثابت اما پرنوسان است که نشان دهنده نویز تصادفی می باشد. همچنین خطای INS بهصورت نمایی افزایش مییابد که به دلیل رانش است. خطای EKF نیز کم و پایدار بوده که نشاندهنده موفقیت در کاهش نویز و رانش است.
نمودار پراکندگی خطا (Error Scatter):

در این شکل سه زیرنمودار داریم که پراکندگی خطاها را نشان میدهند. مشخص است که GPS پراکندگی یکنواخت و بالایی دارد و INS به دلیل رانش با طول زمان به سمت بالا منحرف میشود و EKF نیز پراکندگی کمی نزدیک به صفر دارد که دقت بالای آن را تأیید میکند.
هیستوگرام خطا (Error Histogram):

در این شکل سه زیرنمودار که توزیع آماری خطاها را نشان میدهند. در اینجا GPS به دلیل نویز زیاد توزیع گاوسی پهن یا کشیدگی دارد، اما INS به دلیل رانش (drift) توزیع کشیده به سمت راست دارد و EKF نیز توزیع باریک و نزدیک به صفر دارد که دقت و پایداری آن را نشان میدهد.
تحلیل آماری و انحراف معیار خطاها :

این شکل میانگین و انحراف معیار خطاهای موقعیتیابی برای سه روش مختلف (GPS، INS و EKF) را محاسبه و نمایش میدهد.
عملکرد GPS: میانگین خطای 6.19 متر با انحراف معیار 3.19 متر نشان میدهد که دادههای GPS دقت متوسطی دارند. خطای GPS ناشی از نویز گاوسی (σ = 5m) است که به مسیر واقعی اضافه شده است. این نویز برخلاف INS ، باعث نوسانات تصادفی میشود اما خطا با زمان افزایش نمییابد.
عملکرد INS: میانگین خطای 117.86 متر و انحراف معیار 105.45 متر بسیار بالا هستند، که نشاندهنده ضعف شدید INS در موقعیتیابی بهتنهایی است. این خطاها به دلیل رانش تجمعی
ایجاد شدهاند که با زمان بهصورت نمایی رشد میکند. انحراف معیار بالا نیز نشان میدهد که خطاها پراکندگی زیادی دارند و در طول زمان بسیار نامنظم میشوند.
عملکرد EKF: میانگین خطای 2.01 متر و انحراف معیار 1.08 متر نشاندهنده موفقیت چشمگیر EKF در تلفیق دادههای GPS و INS است. EKF توانسته نویز GPS را کاهش دهد و رانش INS را تصحیح کند، بهطوری که تخمین نهایی بسیار نزدیک به مسیر واقعی است. انحراف معیار کم نیز پایداری و قابلیت اطمینان تخمین EKF را تأیید میکند. به طور کلی روش EKF با تلفیق دادهها، بهترین عملکرد را ارائه میدهد و خطایی بسیار کم (حدود 2 متر) با پراکندگی ناچیز دارد که هدف اصلی پروژه (تصحیح خطای INS با GPS) را محقق کرده است.
نتیجه گیری و جمع بندی
موقعیت یابی دقیق ربات های متحرک، مانند ربات های چرخدار یا پهپادها، یکی از نیازهای اساسی در کاربردهایی نظیر ناوبری خودکار، نظارت و اتوماسیون صنعتی است. سیستم موقعیت یابی جهانی (GPS) اطلاعات موقعیت مطلق را فراهم میکند، اما در محیطهای شهری یا سرپوشیده با نویز و قطعی سیگنال مواجه میشود. سیستم ناوبری اینرسی (INS) موقعیت را بهصورت پیوسته از طریق انتگرالگیری سرعت تخمین میزند، اما به دلیل نقصهای سنسور، با گذشت زمان دچار رانش (drift) میشود. این پروژه با هدف بهبود دقت موقعیت یابی ربات متحرک، از تلفیق دادههای GPS و INS با استفاده از فیلتر کالمن توسعه یافته (EKF) بهره میبرد که ابزاری قدرتمند برای مدیریت سیستمهای غیرخطی و دادههای نویزی است. این پروژه با موفقیت نشان داد که تلفیق دادههای GPS و INS با استفاده از EKF میتواند دقت موقعیت یابی ربات متحرک را بهبود بخشد. همچنین انیمیشن و نمودارها بهخوبی این موفقیت را بهصورت بصری و کمی تأیید میکنند. این روش میتواند در کاربردهای واقعی مانند ربات های خودران یا پهپادها استفاده شود.
نتایج کلیدی:
- تصحیح خطای INS: رانش INS با کمک دادههای GPS محدود شد.
- کاهش نویز GPS: روش EKF نوسانات GPS را فیلتر کرد.
- دقت بالا: تخمین EKF به مسیر واقعی بسیار نزدیک است.
پیشنهادات برای کار های آینده:
- تنظیم پارامترها: بهینه سازی Q و R برای شرایط خاص.
- دادههای واقعی: آزمایش با دادههای سنسورهای واقعی.
- قطعی GPS: شبیه سازی شرایط قطعی GPS برای ارزیابی عملکرد EKF در حالت INS تنها.




































هیچ نظری ثبت نشده است