blob: 10499102ba2d62a05c042d198816ca5629dda780 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
function [car, boot] = do_boot(car, boot)
%BOOT Summary of this function goes here
% Detailed explanation goes here
if car.running == true
%% BEFORE FIRST LAP
if car.lap == 0
t = toc(boot.time);
if t > 0.7
car.constant = car.constant + 0.12;
disp('###')
disp(car.num)
disp(car.constant)
boot.time = tic;
end
end
%% WHEN NEW LAP
if car.new_lap == 1
car.constant = car.constant + 0.2;
disp('###')
disp(car.num)
disp(car.constant)
end
%% First segment
if car.lap == 1 && car.segment == 1 || car.lap == 1 && car.segment == 2
t = toc(boot.time);
if t > 1
car.constant = car.constant + 0.04;
disp('###')
disp(car.num)
disp(car.constant)
boot.time = tic;
end
end
% ide höj carconstant så att den blir mer aggresivare ju längre tid som går t.ex efter 3.5 s
% if car.lap == 1 && car.segment == 1 || car.lap == 1 && car.segment == 2
% t = toc(boot.time);
% if t > 1.0
% car.constant = car.constant + 0.5;
% disp('###')
% disp(car.num)
% disp(car.constant)
% boot.time = tic;
% end
%
% end
%% END BOOTSTRAP
if car.segment > 3
disp(car.constant);
seg_time = car.seg_times(1, 3);
laptime_forecast = seg_time / 0.102;
forecast_ref_diff = laptime_forecast - car.ref_time;
forecast_ref_diff_rel = forecast_ref_diff / 20;%car.ref_time;
car.constant = car.constant + (forecast_ref_diff_rel * 0.5);
%car.constant = car.constant * 1.05; % kompensation för kall bana
boot.status = 0;
disp('END OF BOOTSTRAP')
disp(car.num)
disp(car.constant)
end
end
end
|