summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Kod/bilbana/files/Bana.matbin0 -> 1194 bytes
-rw-r--r--Kod/bilbana/files/Bana1.matbin1216 -> 0 bytes
-rw-r--r--Kod/bilbana/files/Bana2.matbin1202 -> 0 bytes
-rw-r--r--Kod/bilbana/yc4/do_boot.m12
-rw-r--r--Kod/bilbana/yc4/do_car.m3
-rw-r--r--Kod/bilbana/yc4/do_gov.m21
-rw-r--r--Kod/bilbana/yc4/main.m13
7 files changed, 29 insertions, 20 deletions
diff --git a/Kod/bilbana/files/Bana.mat b/Kod/bilbana/files/Bana.mat
new file mode 100644
index 0000000..8167d4f
--- /dev/null
+++ b/Kod/bilbana/files/Bana.mat
Binary files differ
diff --git a/Kod/bilbana/files/Bana1.mat b/Kod/bilbana/files/Bana1.mat
deleted file mode 100644
index e745c59..0000000
--- a/Kod/bilbana/files/Bana1.mat
+++ /dev/null
Binary files differ
diff --git a/Kod/bilbana/files/Bana2.mat b/Kod/bilbana/files/Bana2.mat
deleted file mode 100644
index 56d1acb..0000000
--- a/Kod/bilbana/files/Bana2.mat
+++ /dev/null
Binary files differ
diff --git a/Kod/bilbana/yc4/do_boot.m b/Kod/bilbana/yc4/do_boot.m
index 9c4930c..1049910 100644
--- a/Kod/bilbana/yc4/do_boot.m
+++ b/Kod/bilbana/yc4/do_boot.m
@@ -5,7 +5,7 @@ if car.running == true
%% BEFORE FIRST LAP
if car.lap == 0
t = toc(boot.time);
- if t > 0.6
+ if t > 0.7
car.constant = car.constant + 0.12;
disp('###')
disp(car.num)
@@ -15,7 +15,7 @@ if car.running == true
end
%% WHEN NEW LAP
if car.new_lap == 1
- car.constant = car.constant * 1.2;
+ car.constant = car.constant + 0.2;
disp('###')
disp(car.num)
disp(car.constant)
@@ -23,7 +23,7 @@ if car.running == true
%% First segment
if car.lap == 1 && car.segment == 1 || car.lap == 1 && car.segment == 2
t = toc(boot.time);
- if t > 0.8
+ if t > 1
car.constant = car.constant + 0.04;
disp('###')
disp(car.num)
@@ -51,9 +51,9 @@ if car.running == true
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 / car.ref_time;
- car.constant = car.constant + (forecast_ref_diff_rel * 0.15);
- car.constant = car.constant * 1.05; % kompensation för kall bana
+ 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)
diff --git a/Kod/bilbana/yc4/do_car.m b/Kod/bilbana/yc4/do_car.m
index 7728c28..cb3e934 100644
--- a/Kod/bilbana/yc4/do_car.m
+++ b/Kod/bilbana/yc4/do_car.m
@@ -98,6 +98,7 @@ if car.running == true
%% CHECK POINT
if car.new_check_point == true
+ disp(car)
if car.new_lap == false % choose_position krachar vid nytt varv (seg 10)
if car.lap ~= 0
car.seg_times(car.lap, car.segment) = toc(car.seg_tic);
@@ -192,7 +193,7 @@ if car.running == true && car.automatic == false
mult = 100;
max = 55;
div = 55;
- set_car_speed(car.num, mult * ((max - get_manual_speed(car.num)) / div));
+ set_car_speed(car.num, mult * ((max - get_manual_speed(car.num)) / div))
end
%% EXECUTE
diff --git a/Kod/bilbana/yc4/do_gov.m b/Kod/bilbana/yc4/do_gov.m
index 5f89c57..e0dc45d 100644
--- a/Kod/bilbana/yc4/do_gov.m
+++ b/Kod/bilbana/yc4/do_gov.m
@@ -4,8 +4,23 @@ function [ car ] = do_gov( car )
if car.new_lap
% TODO calculate stuff
elseif car.new_check_point && (car.segment == 5 || car.segment == 8)
- status = car.forecasts(car.lap, car.segment-1)/car.ref_time;
- car.constant = car.constant + (status - 1) * 0.08;
- car.governs(length(car.governs) + 1) = car.constant;
+ if true %car.lap == 1
+ status = car.forecasts(car.lap, car.segment-1)/car.ref_time;
+ car.constant = car.constant + (status - 1) * 0.08;
+ car.governs(length(car.governs) + 1) = car.constant;
+ end
+ %{
+ if car.lap > 1 && (car.segment == 5 || car.segment == 8)
+ car.lap_now = toc(car.lap_tic);
+ norm_const = 1/(sum(car.percents(1:9)));
+ norm_list = car.percents * norm_const;
+ sum_percent = sum(norm_list(1:car.segment));
+ exp_time = car.ref_time * sum_percent;
+
+ status = car.lap_now/exp_time;
+ car.constant = car.constant + (status - 1) * 0.08;
+ car.governs(length(car.governs) + 1) = car.constant;
+ end
+ %}
end
diff --git a/Kod/bilbana/yc4/main.m b/Kod/bilbana/yc4/main.m
index f589c29..2f45089 100644
--- a/Kod/bilbana/yc4/main.m
+++ b/Kod/bilbana/yc4/main.m
@@ -37,8 +37,7 @@ display.shm_interp.data = [];
display.last_send = tic;
display.send_interval = 0.5;
-load('bilbana\files\Bana1.mat')
-load('bilbana\files\Bana2.mat')
+load('bilbana\files\Bana.mat')
car1 = struct;
car1.num = 1;
@@ -50,15 +49,13 @@ car1.segment = 1;
car1.lap = 0;
car1.lap_times = [];
car1.seg_times = [];
-car1.seg_constant_list = []; % TODO
car1.position = 0;
car1.pos_at = [0.0 2.53 3.05 4.73 7.68 8.98 10.93 14.69 17.57 19.60];
car1.seg_len = [2.53 0.53 1.68 2.92 1.2 2.01 3.83 2.89 1.99];
-car1.percents = []; % TODO
+car1.percents = [0.088, 0.022, 0.102, 0.15, 0.058, 0.11, 0.212, 0.146, 0.113]; % TODO
car1.map = Bana1;
-car1.approximation = [];
+%car1.approximation = [];
car1.miss_probability = 0.0;
-car1.lap_constants = [1,1,1,1,1,1,1,1,1]; % TODO
car1.constant = 0.1;
car1.stop = false;
car1.governs = [];
@@ -79,9 +76,6 @@ car2.seg_len = [2.53 0.52 1.87 2.70 1.40 1.70 4.03 3.08 2.19];
car2.percents = [0.088, 0.022, 0.102, 0.15, 0.058, 0.11, 0.212, 0.146, 0.113];
car2.map = Bana2;
car2.miss_probability = 0.05;
-car2.seg_constant_list = []; % TODO
-car2.lap_constants = [1,1,1,1,1,1,1,1,1]; % TODO
-car2.seg_constant = 1;
car2.constant = 0.1;
car2.stop = false;
car2.governs = [];
@@ -307,7 +301,6 @@ while 1
end
end
-
%% END OF RACE
disp(highToc);
disp(car1);