diff options
| author | Albin <albwa833@student.liu.se> | 2019-11-17 15:48:54 +0100 |
|---|---|---|
| committer | Albin <albwa833@student.liu.se> | 2019-11-17 15:48:54 +0100 |
| commit | 4b90b0aceebafe19c975d8d049bd96f918eb9196 (patch) | |
| tree | d7401f9a34b8dbe5007422ac6e25edd4b55fdc99 /Kod/bilbana | |
| parent | 6b017efb3d0339c88bc1c72e0f7c0057a67080bb (diff) | |
| download | tfyy51-4b90b0aceebafe19c975d8d049bd96f918eb9196.tar.gz | |
Fix #62
Diffstat (limited to 'Kod/bilbana')
| -rw-r--r-- | Kod/bilbana/yc4/do_car.m | 15 | ||||
| -rw-r--r-- | Kod/bilbana/yc4/get_seg_constant.m | 4 | ||||
| -rw-r--r-- | Kod/bilbana/yc4/main.m | 6 |
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; |
