summaryrefslogtreecommitdiffstats
path: root/Kod
diff options
context:
space:
mode:
authorDavid Thorén <davth346@student.liu.se>2019-11-27 13:03:58 +0100
committerDavid Thorén <davth346@student.liu.se>2019-11-27 13:03:58 +0100
commit484d7bfd8c9d20ef2ff1555ffcc905e747d111ea (patch)
tree5874117ff91b2d9a460b327041342a7c6667ab40 /Kod
parent6d397e0826d9d09cd7a6973513d38cd993bd2779 (diff)
downloadtfyy51-484d7bfd8c9d20ef2ff1555ffcc905e747d111ea.tar.gz
fix
Diffstat (limited to 'Kod')
-rw-r--r--Kod/bilbana/files/Bana2.matbin1216 -> 1207 bytes
-rw-r--r--Kod/bilbana/yc4/do_car.m11
-rw-r--r--Kod/bilbana/yc4/do_gov.m9
-rw-r--r--Kod/bilbana/yc4/fit_percents.m11
-rw-r--r--Kod/bilbana/yc4/setup_car.m17
5 files changed, 46 insertions, 2 deletions
diff --git a/Kod/bilbana/files/Bana2.mat b/Kod/bilbana/files/Bana2.mat
index f9369e4..743de15 100644
--- a/Kod/bilbana/files/Bana2.mat
+++ b/Kod/bilbana/files/Bana2.mat
Binary files differ
diff --git a/Kod/bilbana/yc4/do_car.m b/Kod/bilbana/yc4/do_car.m
index a6240ec..cf534fa 100644
--- a/Kod/bilbana/yc4/do_car.m
+++ b/Kod/bilbana/yc4/do_car.m
@@ -92,8 +92,15 @@ if car.running == true
car.seg_times(car.lap, car.segment) = toc(car.seg_tic);
end
- seg_time = car.seg_times(car.lap, car.segment);
- car.forecasts(car.lap, car.segment) = seg_time / car.percents(car.segment);
+ seg_time = car.seg_times(car.lap, car.segment)
+ lap_time_now = toc(car.lap_tic)
+ % s = vt
+ % v = s/t
+ % t = s/v
+ prev_seg_v = car.seg_len(car.segment) / toc(car.seg_tic)
+ track_remaining = car.pos_at(length(car.pos_at)) - car.pos_at(car.segment + 1)
+
+ car.forecasts(car.lap, car.segment) = lap_time_now + track_remaining/prev_seg_v
car.segment = car.segment + 1;
car.seg_tic = tic;
diff --git a/Kod/bilbana/yc4/do_gov.m b/Kod/bilbana/yc4/do_gov.m
new file mode 100644
index 0000000..d38336a
--- /dev/null
+++ b/Kod/bilbana/yc4/do_gov.m
@@ -0,0 +1,9 @@
+function [ car ] = do_gov( car )
+%UNTITLED Summary of this function goes here
+% Detailed explanation goes here
+if car.new_check_point
+ status = car.forecasts(car.lap, car.segment-1)/car.ref_time;
+ car.constant = car.constant + (status - 1) * 0.01;
+ disp(car.constant);
+end
+
diff --git a/Kod/bilbana/yc4/fit_percents.m b/Kod/bilbana/yc4/fit_percents.m
new file mode 100644
index 0000000..ffdb9fc
--- /dev/null
+++ b/Kod/bilbana/yc4/fit_percents.m
@@ -0,0 +1,11 @@
+function [ new_percents ] = fit_percents( percents, lap_time, seg_times )
+%FIT_PERCENTS Summary of this function goes here
+% Detailed explanation goes here
+new_percents = [];
+for i = 1:length(percents)
+ old_p = percents(i);
+ cur_p = seg_times(i) / lap_time;
+ new_p = old_p - (old_p + cur_p) / 2;
+ new_percents(i) = new_p;
+end
+
diff --git a/Kod/bilbana/yc4/setup_car.m b/Kod/bilbana/yc4/setup_car.m
new file mode 100644
index 0000000..1ab75e0
--- /dev/null
+++ b/Kod/bilbana/yc4/setup_car.m
@@ -0,0 +1,17 @@
+function [] = setup_car(car, track)
+%UNTITLED2 Summary of this function goes here
+% Detailed explanation goes here
+disp('J = Ja (automatiskt), M = Ja (manuellt), N = Nej');
+
+car.response = input('Vill du köra bil 1? [N] ', 's');
+if car.response == 'J'
+ car.running = true;
+ car.automatic = true;
+elseif car.response == 'M'
+ car.running = true;
+ car.automatic = false;
+else
+ car.running = false;
+end
+end
+