بررسی علل چپ کردن خودرو فصل4

خرید بک لینک

فصل چهارم :

 

 

 

 

 

 

تشریح  گام به گام عملیات شبیه سازی

 

 

 

 

 

 

 

 

 

 

 

 

 

برنامه ای که برای انجام این شبیه سازی مورد استفاده قرار گرفته متشکل از 17 فایل به صورت Matlab function و یا script file  می باشد . همانگونه که در فصل 2 دیدیم شبیه سازی  مدل سه درجه آزادی خودرو شامل دینامیک yaw  و roll می باشد . برای حل انتگرال ها از روش ذوذنقه ای استفاده شده است . برای مشاهده پاسخ های مطلوب زمان نمونه برداری باید 0.001 ثانیه در نظر گرفته شود .

آرایش و طرح کلی شبیه سازی خودرو :

شبیه سازی با فایل «Main.m  » آغاز می گردد . نوع خودرو , مانور فرمان ,  فرم سرعت و تغییر ویژگی توسط کاربر تعیین می شود .

فایل «garage.m » شامل ویژگی های انواع خودروها می باشد .فرم فرمان در function فایل«steer_profile.m » آمده. در فایل «Velocity.m » نوع و شکل سرعت برای مانور مورد نظر آمده . فایل «property_changer.m» ویژگی های خودرو را تغییر می دهد تا هنگامی که اتفاق بلند شدن جفت چرخ را در فایل «two_wheel_lift_detector» بیابد. در فایل «simulation.m» برای حل معادلات حرکت و تعیین حالات دینامیکی  از روش انتگرال گیری عددی استفاده شده است . هنگامی که نیروی جانبی مورد نیاز باشد  فایل                              « RubberandString.m » اجرا می شود . در این فایل انواع مختلفی از مدل های تایر مانند Pacejka و مدل خطی وجود دارد .

ترتیب اجرا و نحوه عملکرد شبیه سازی :

شبیه سازی با فایل «Main.m» آغاز می گردد. (شکل 1-4 ) . در قسمت (1) ویژگی مورد نظر انتخاب می شود . یعنی اینکه می خواهیم چه چیزی را شبیه سازی کنیم . با انتخاب کدهای 0,100,1,2 با توجه به توضیحات بالای دستور (description هایی که با رنگ سبز مشخص شده اند ) انتخاب لازم را انجام می دهیم .

در قسمت (2) نوع شبیه سازی یعنی حالت پایدار و یا لحظه ای را انتخاب می کنیم . برای انتخاب نوع خودرو و اختصاص دادن متغیر­(car) ونیز انتخاب  نوع مانور فرمان که از کاراکتر های رشته ای (حروف) استفاده می کنیم , باید نام مورد نظر را درون  ('  ') قرار دهیم .

شکل 1-4

 

در شکل زیر که ادامه دستورات قبل می باشد در ابتدا در قسمت (5) پروفیل سرعت را انتخاب می کنیم . در خط 36 تا 42 دستور if اجرا می شود .

در خط 46 و 47 دو متغیر نامگذاری می شوند . در قسمت (6) تعداد چرخ های بالا رفته برای شناسایی چپ شدن به کار رفته است . در قسمت (7) نوع مدل تایر برای انجام شبیه سازی مورد استفاده قرار گرفته است .

در خط 54 , 55 و 56 به ترتیب زمان پایان شبیه سازی , زمان نمونه برداری و متغیر NN که تعداد دفعات اجرای حلقه مشخصی را تعیین می کند .

در سطر 58, 59  و 60  فراخوانی function  فایل (garage.m)  صورت گرفته است . با قرار دادن سه نقطه در انتهای یک خط برنامه می توانیم ادامه آن را در سطر بعد بنویسیم همانگونه که برای فراخوانی این تابع مورد استفاده قرار گرفته است .

شکل 2-4

 

قبل از ادامه تشریح این فایل سراغ تابع فراخوانی شده می رویم .

شکل 3-4

همانگونه که مشاهده می کنید شروع برنامه از سطر 53 می باشد . قبل از آن مجموعه ای از comment ها برای توضیح مقادیر خروجی فایل ارایه شده است . همیشه باید توجه داشته باشیم که در یک function file شروع برنامه باید با عبارت function باشد . در سمت چپ تساوی پس از کلمه function عبارات درون کروشه مقادیر خروجی تابع می باشند . در صورتی که فقط یک خروجی داشته باشیم نیازی به قرار دادن آن درون کروشه نداریم . پس از تساوی نام فایل و عبارت درون پرانتز مربوط به ورودی تا بع می باشد . در صورتی که بیش از یک ورودی داشته باشیم آنها را با کاما از هم تفکیک می کنیم .

در سطر 56 تابع switch  که توضیح آن در فصل قبل آمد وظیفه تعویض خودروها را بر عهده دارد . پس از پایان اجرای این فایل اجرای عملیات شبیه سازی به فایل Main.m برمی گردد . به سطر 61 .

شکل 4-4

در سطر 61 تابع «disp» برای نمایش عبارت درون پرانتز مورد استفاده قرار گرفته است. در سطر 63 عبارت del که مخفف دلتا یا زاویه ورودی فرمان به خروجی یک  function file  با نام steer_profile با ورودی های داده شده , نسبت داده شده است .

شکل 5-4

در سطر 8 این فایل حلقه for و در سطر 20 عبارت منطقی if که در فصل قبل توضیح داده شد به کار رفته است .

شکل 6-4 

در سطر های 66 تا 68 سختی پیچشی برای جلو وعقب و نیز سختی پیچشی کلی آمده است . در سطر 70 برای محاسبه مرکز roll با توجه به مرکز جرم فایل roll_center_height.m فراخوانی شده است .

شکل 7-4 

در این فایل همان گونه که مشاهده می شود پس از تعیین ارتفاع مرکز roll کوتاهتر برای تعیین محل دقیق مرکز جرم ازدستور if و  فرمول هایی که مشاهده می کنید استفاده شده است .

شکل 8-4 

در شکل زیر از دستور switch برای انتخاب ویژگی مورد نظر استفاده شده است . ویژگی (0) به معنی عدم تغییر ویژگی های سابق, (100) به معنی استفاده از ویژگی های اسمی خودرو و جستجو برای یافتن لحظه بلند شدن چرخ . خود این دو برای اجرا نیاز به فراخوانی function file با نام No_change  دارند .عبارت QQ=length(a) برای تخصیص یک عدد که در اینجا طول بردار a را خواسته , به QQ برای تعیین دفعات تکرار حلقه , به کار رفته است .

شکل 9-4 

ویژگی (1) برای شبیه سازی تاثیر جابجایی وزن قسمت جلو و عقب به کار می رود . و ویژگی (2) برای شبیه سازی تاثیر جابجایی ارتفاع مرکز ثقل به کار رفته است .

در زیر فایل هایی که در شکل قبل با رنگ قرمز برجسته شده اند را مورد بررسی قرار داده ایم

شکل 10-4

 

شکل 11-4

 

شکل 12-4

حال به ادامه برنامه در فایل Main.m می پردازیم . در سطر 74 اجرای فایل initial_variables درخواست شده است .

شکل 13-4 

در این فایل مقادیر اولیه به متغیر های مورد نیاز نسبت داده شده است .در شکل زیر 15سطر از 101 سطر آن آمده است .

شکل 14-4

پس از اجرای این فایل ادامه برنامه را در فایل Main .m خواهیم داشت .

شکل 15-4 

 

در سطر 76 شروع اجرای حلقه ای را داریم که در انتهای این فایل پایان می یابد . این حلقه به اندازه QQ بار تکرار می شود .  flag یا پرچم می تواند مقدار 0 یا 1 به معنی درست یا نادرست بگیرد . «flag=0» که در سطر 77 آمده در سطر 88 در حلقه while مورد استفاده قرار گرفته است . speed و accel که در سطرهای 90 و 92 آمده متغیر هایی هستند که در فایل Velocity.m برای تعیین نوع پروفیل

شکل 16-4 

سرعت به کار می روند . در سطر 94 فراخوانی فایل صورت گرفته است .

در این فایل سه پروفیل برای سرعت که در نظر گرفته شده پروفیل پله ای (step) , سراشیبی یا سربالایی (ramp) و سرازیری (coast down) که با دستور switch انتخاب می گردند . پس از اجرای این فایل اجرای برنامه در فایل Main.m در سطر 95 ادامه می یابد .

شکل 17-4 

در سطر 97 فایل اصلی شبیه سازی که در فصل های گذشته به طور مفصل در مورد آنها بحث شده بود , اجرا خواهد شد . سطر های 101 تا 109 برای تکمیل حلقه های قبلی نوشته شده اند. سطر 111 برای اجرای فایل مربوط به نمایش نمودارها به کار رفته است .

در شکل زیر فایل simulation_switch

ما را در سایت مکانیک دنبال می‌کنید

برچسب: نویسنده: ارشک بازدید: 382 تاريخ: شنبه 2 ارديبهشت 1391 ساعت: 18:02

صفحه بندی

آرشیو مطالب

خبرنامه