Geçmiş GPS verileri kullanılarak yol planlaması yapılmıştır. GPS verilerinin eğrisi oluşturulurken sayısal integral alınmıştır. Ayrıca, grafikteki ani iniş çıkışlar hareketli ortalama kullanılarak sadeleştirilmiştir.
GPS verilerinin yüklenmesi
load('20201225-0800.mat') disp('GPS Log loaded.');
GPS Log loaded.
Yer değiştirmelerin hesaplanması
dS = distCalc(latitude, longitude);
Toplam mesafenin hesaplanması
S = zeros(size(dS)); tempSum = 0; for jj = 1:length(S) tempSum = tempSum + dS(jj); S(jj) = tempSum; end v = speedms * 3.6;
Grafik verileri
XData = S; YData = v(2:end); [XDataAvg, YDataAvg] = simpleavg(S,v(2:end),25);
Hız Planlaması
X = [3 7.4 64.5 80 160 180 188.2]; Y = [40 80 120 100 85 95 50]; n = length(X); XDataP = zeros(1,2*n-2); for jj = 1:(n-1) XDataP([2*jj-1 2*jj]) = [X(jj) X(jj)]; end XDataP = [0 XDataP X(end)]; YDataP = zeros(1,2*n); for jj = 1:n YDataP([2*jj-1 2*jj]) = [Y(jj) Y(jj)]; end
Planlanmış Süre
dX = diff([0 X]); T = dX ./ Y; totalTime = sum(T); disp(['Total time: ' num2str(totalTime, '%.2f') ' hours. ']); disp(['Avg. speed: ' num2str(X(end)/totalTime,'%.2f') ' km/h ']);
Total time: 2.08 hours. Avg. speed: 90.63 km/h
Radarlar
R = [38.7 77.5 88.8 107.5 120 140.4 150.2 171.8 177]; Limits = [120 82 82 82 82 82 82 82 82];
Grafikler
plotAllData(XData, YData, XDataAvg, YDataAvg, XDataP, YDataP, R, Limits);Fonksiyonlar için: https://drive.matlab.com/sharing/771804a4-9948-4b09-a080-72a87127d272
https://drive.matlab.com/sharing/771804a4-9948-4b09-a080-72a87127d272
https://drive.matlab.com/sharing/771804a4-9948-4b09-a080-72a87127d272
Hiç yorum yok:
Yorum Gönder