summaryrefslogtreecommitdiffstats
path: root/Kod/bilbana
diff options
context:
space:
mode:
Diffstat (limited to 'Kod/bilbana')
-rw-r--r--Kod/bilbana/yc4/do_car.m52
-rw-r--r--Kod/bilbana/yc4/fit_percents.m2
-rw-r--r--Kod/bilbana/yc4/main.m5
3 files changed, 31 insertions, 28 deletions
diff --git a/Kod/bilbana/yc4/do_car.m b/Kod/bilbana/yc4/do_car.m
index cb3e934..ea7d901 100644
--- a/Kod/bilbana/yc4/do_car.m
+++ b/Kod/bilbana/yc4/do_car.m
@@ -98,45 +98,45 @@ if car.running == true
%% CHECK POINT
if car.new_check_point == true
- disp(car)
+ disp(car)
if car.new_lap == false % choose_position krachar vid nytt varv (seg 10)
- if car.lap ~= 0
+ if car.lap ~= 0
car.seg_times(car.lap, car.segment) = toc(car.seg_tic);
- end
-
- 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);
- forecast = lap_time_now + track_remaining/prev_seg_v;
-
- car.forecasts(car.lap, car.segment) = forecast;
-
+ end
+
+ 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.forecast_naive(car.lap, car.segment) = toc(car.seg_tic) / car.percents(car.segment)
+
car.segment = car.segment + 1;
car.seg_tic = tic;
-
- if car.automatic && car.lap > 2 % S�kerhetsmarginal (B�r vara 1?)
+
+ if car.automatic && car.lap > 2 % S�kerhetsmarginal (B�r vara 1?)
disp(car)
[new_position, seg_plus] = ...
- choose_position(car.position, car.segment, car.num, car.pos_at);
- if seg_plus ~= 0 && car.segment == 2
+ choose_position(car.position, car.segment, car.num, car.pos_at);
+ if seg_plus ~= 0 && car.segment == 2
disp('Hoppar �ver missad givare 1/2');
else
car.position = new_position;
car.segment = car.segment + seg_plus;
- end
- if seg_plus ~= 0 && car.segment ~= 2
- car.seg_times(car.lap, car.segment - seg_plus - 1) = 0;
- disp(car.seg_times(car.lap, :))
- disp(seg_plus)
- end
+ end
+ if seg_plus ~= 0 && car.segment ~= 2
+ car.seg_times(car.lap, car.segment - seg_plus - 1) = 0;
+ disp(car.seg_times(car.lap, :))
+ disp(seg_plus)
+ end
%car.miss_time = uint64(0);
- else
+ else
car.position = car.pos_at(car.segment);
%car.miss_time = uint64(0);
- end
+ end
end
end
diff --git a/Kod/bilbana/yc4/fit_percents.m b/Kod/bilbana/yc4/fit_percents.m
index ffdb9fc..7ccf0ba 100644
--- a/Kod/bilbana/yc4/fit_percents.m
+++ b/Kod/bilbana/yc4/fit_percents.m
@@ -8,4 +8,4 @@ for i = 1:length(percents)
new_p = old_p - (old_p + cur_p) / 2;
new_percents(i) = new_p;
end
-
+new_percents = new_percents * (1/sum(new_percents)) % normera
diff --git a/Kod/bilbana/yc4/main.m b/Kod/bilbana/yc4/main.m
index 2f45089..fbcdb6c 100644
--- a/Kod/bilbana/yc4/main.m
+++ b/Kod/bilbana/yc4/main.m
@@ -59,6 +59,8 @@ car1.miss_probability = 0.0;
car1.constant = 0.1;
car1.stop = false;
car1.governs = [];
+car1.forecasts = [];
+car1.forecasts_naive = [];
car2 = struct;
car2.num = 2;
@@ -79,7 +81,8 @@ car2.miss_probability = 0.05;
car2.constant = 0.1;
car2.stop = false;
car2.governs = [];
-
+car2.forecasts = [];
+car2.forecasts_naive = [];
boot1 = struct;
boot1.status = false;