summaryrefslogtreecommitdiffstats
path: root/Kod/bilbana
diff options
context:
space:
mode:
authorAlbin <albwa833@student.liu.se>2019-11-17 15:48:54 +0100
committerAlbin <albwa833@student.liu.se>2019-11-17 15:48:54 +0100
commit4b90b0aceebafe19c975d8d049bd96f918eb9196 (patch)
treed7401f9a34b8dbe5007422ac6e25edd4b55fdc99 /Kod/bilbana
parent6b017efb3d0339c88bc1c72e0f7c0057a67080bb (diff)
downloadtfyy51-4b90b0aceebafe19c975d8d049bd96f918eb9196.tar.gz
Fix #62
Diffstat (limited to 'Kod/bilbana')
-rw-r--r--Kod/bilbana/yc4/do_car.m15
-rw-r--r--Kod/bilbana/yc4/get_seg_constant.m4
-rw-r--r--Kod/bilbana/yc4/main.m6
3 files changed, 16 insertions, 9 deletions
diff --git a/Kod/bilbana/yc4/do_car.m b/Kod/bilbana/yc4/do_car.m
index d630ac5..bf2a767 100644
--- a/Kod/bilbana/yc4/do_car.m
+++ b/Kod/bilbana/yc4/do_car.m
@@ -8,8 +8,10 @@ car - En struct med data för en viss bil
car.automatic - Om bilen körs automatiskt eller inte
car.segment - Bilens nuvarande segment
car.lap - Bilens nuvarande varv
- car.lap_times - Bilens sparade varvtider (1 x n matris)
- car.seg_times - Bilens sparade segmentstier (n x m matris)
+ car.lap_times - Bilens sparade varvtider (1 x v matris)
+ car.seg_times - Bilens sparade segmentstier (v x 9 matris)
+ car.seg_constant_list = []; % TODO Sparar alla seg_constants som
+ använts (v x 9 matris)
car.position - Bilens nuvarande placering på banan i meter från
start/mål
car.seg_len - Banans längd från start till givarna (1 x 9 matris)
@@ -17,6 +19,9 @@ car - En struct med data för en viss bil
fil)
car.miss_probability - Sannorlikheten för artificiellt introducerade
missade givare
+ car.lap_constants = [1,1,1,1,1,1,1,1,1]; % TODO seg_constanst för
+ nuvarande varv. Skapas av gov_set() vid nytt varv
+
t - Längden (s) på nuvarande programcykel
display_data - Buffer med den data som ska skickas till displayen vid nästa
anrop
@@ -110,7 +115,7 @@ if car.running == true
%% NEW LAP
if car.new_lap == true
- lap_constants = gov_set(get_car_constant(car.num));
+ car.lap_constants = gov_set(get_car_constant(car.num));
car.new_lap = false; %TODO remove
beep;
if car.lap == 0
@@ -138,8 +143,8 @@ end
%% CALCULATE
if car.running == true && car.automatic == true
car.v = get_new_v(car.position, car.map);
- seg_constant = get_seg_constant(car.position, lap_constants, car.num);
- car.u = get_new_u(car.v, seg_constant, car.track_u_constant);
+ seg_constant = get_seg_constant(car.position, car.lap_constants, car.num);
+ car.u = get_new_u(car.v, seg_constant);
end
%% CONTROLLER
diff --git a/Kod/bilbana/yc4/get_seg_constant.m b/Kod/bilbana/yc4/get_seg_constant.m
index 2b481fa..9f4dd1d 100644
--- a/Kod/bilbana/yc4/get_seg_constant.m
+++ b/Kod/bilbana/yc4/get_seg_constant.m
@@ -9,8 +9,8 @@ track - den bana/bil som beräkningarna ska göras för
track_len = [0 2.53 3.05 4.73 7.68 8.98 10.93 14.96 17.57;
0 2.53 3.05 4.92 7.60 8.84 10.65 14.68 17.76];
for i = 1:length(track_len)
- if position > track_len(track, i)
- seg_constant_num = track_len(track, i);
+ if position >= track_len(track, i)
+ seg_constant_num = i;
end
end
out = lap_constants(seg_constant_num);
diff --git a/Kod/bilbana/yc4/main.m b/Kod/bilbana/yc4/main.m
index a1c33b7..e59acd2 100644
--- a/Kod/bilbana/yc4/main.m
+++ b/Kod/bilbana/yc4/main.m
@@ -47,12 +47,13 @@ car1.segment = 1;
car1.lap = 0;
car1.lap_times = [];
car1.seg_times = [];
+car1.seg_constant_list = []; % TODO
car1.position = 0;
car1.seg_len = [0.0 2.53 3.05 4.73 7.68 8.98 10.93 14.69 17.57];
car1.map = Bana1;
car1.approximation = [];
car1.miss_probability = 0.0;
-car1.seg_constant_list = []; %TODO
+car1.lap_constants = [1,1,1,1,1,1,1,1,1]; % TODO
car2 = struct;
car2.num = 2;
@@ -68,7 +69,8 @@ car2.position = 0;
car2.seg_len = [0.0 2.53 3.05 4.92 7.60 8.84 10.65 14.68 17.76];
car2.map = Bana2;
car2.miss_probability = 0.05;
-car2.seg_constant_list = []; %TODO
+car2.seg_constant_list = []; % TODO
+car2.lap_constants = [1,1,1,1,1,1,1,1,1]; % TODO
t = 0;
highToc = 0;