request.setInterval(5000);
request.setFastestInterval(2000);
mLocationClient.requestLocationUpdates(request, (LocationListener) this);
ارتباط سیستم با ماهواره بصورتی است که هر ۲ ثانیه اطلاعات خود را بروز رسانی می کند.
TextView tvSpeed = (TextView) findViewById(R.id.tv_speed);
tvSpeed.setText("سرعت شما m/s “+ location.getSpeed()+” می باشد.");
۳-۲-۴-۲-کنترلر تشخیص وضعیت حرکتی
کنترلر فازی
میانگین سرعت
حالت حرکت، پیاده یا سواره
واریانس
مسافت طی شده
شکل(۳-۴)- ورودی ها و خروجی سیستم فازی
رابطه (۳-۱)، مدل سیستم فازی استفاده شده در این برنامه، موتور استنتاج ضرب و فازی ساز منفرد و غیر فازی ساز میانگین مراکز می باشد.
(۳-۱)،
-
- خروجی قوانین، پیاده و یا سواره (پنج برابر با سواره و ده برابر پیاده)
-
- ورودی های این سیستم (سه ورودی: واریانس، مسافت طی شده، سرعت متوسط)
-
- درجه تعلق هر یک از ورودی ها
-
- مقداری که به بالاترین حد خود در نمودار می رسد.(بالاترین درجه تعلق)
-
- مقدار باز شدن دامنه فرکانسی در هر نمودار
در این مدل از سیستم فازی باید ابتدا برای کارمان، قوانینی وضع شود. این قوانین از محیط طبیعی و از زندگی های روزمره می باشند که بصورت ریاضی تعریف می شوند. یک پایگاه قواعد فازی [۵۰] از مجموعه ای از قواعد اگر-آنگاه فازی تشکیل می شود. پایگاه قواعد فازی از این نظر که سایر اجزاء سیستم فازی برای پیاده سازی این قواعد به شکل موثر و کارا استفاده می شوند، قلب یک سیستم فازی محسوب می شود]۱۰[.
با توجه به تست های انجام گرفته در پیوست (الف-۱)، همانطور که مشخص است، خروجی ها از سه جزء سرعت متوسط، مسافت طی شده و واریانس بدست آمده اند. با توجه به اینکه سرعت از طریق ماهواره مکان یاب در دسترس است و در برنامه تعریف شده بنابراین تنها کافی است تا آرایه ای بطول ۲۰ مقدار (این تعداد مقادیر برای آرایه به مقدار زمان سنجش بستگی دارد) در نظر گرفته شود و سرعت میانگین، مسافت طی شده و واریانس را از روی آن محاسبه کرد. همان طور که در شکل (۳-۴) مشخص است، سیستم فازی از سه ورودی مقدار دریافت می کند و پس از استنتاج آن ها که همان مجموع قوانین تعریف شده می باشد، خروجی مناسب را تحویل میدهد. خروجی یکی از دو حالت صفر و یا یک خواهد بود که نشان دهنده پیاده بودن و یا سواره بودن است.
۳-۲-۴-۲-الف-ورودی ها
-
- فرمول میانگین که در رابطه (۳-۲) نشان داده شده روش محاسبه میانگین سرعت می باشد. بدین صورت که آرایه ای ۲۰ تایی برای آن در نظر گرفته شده و vi، سرعت در هر لحظه بر تعداد مقدار آرایه مشخص شده می باشد. این رابطه، سرعت متوسط را پس از ۲۰ ثانیه در اختیار ما می گذارد که یکی از سه ورودی کنترلر فازی می باشد.
(۳-۲)،
در برنامه نوشته شده این مقدار سرعت متوسط بصورت زیر تعریف شده است.
Private Int max=20;
public SamplingResult compute() {
double totalDistance = 0.0;
double totalSpeed = 0.0;
double meanSpeed = 0.0;
double varianceSpeed = 0.0;
for (PointInfo pointInfo : pointList) {
totalSpeed += pointInfo.getSpeed(); }
meanSpeed = totalSpeed / max;
-
- یکی دیگر از ورودی های مورد نیاز، واریانس می باشد که این مقدار از طریق تقسیم مجموع (Vi- ) بر تعداد مقدار آرایه تعریف شده به توان ۲ می باشد. رابطه (۳-۳)، بدست آوردن مقدار واریانس را نشان می دهد.
(۳-۳)،
تقسیم مجموع ۱تا۲۰، تفریق سرعت متوسط از سرعت در هر لحظه بر تعداد مقدار آرایه، که این مقادیر را می توان برای بدست آوردن جواب استاندارد به توان دو رسانید. همچنین پیاده سازی این رابطه در برنامه بصورت زیر تعریف شده است.
max=20;
if(totalDistance == 0.0){