diff options
| author | Gustav Sörnäs <gusso230@student.liu.se> | 2019-11-19 16:22:33 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gusso230@student.liu.se> | 2019-11-19 16:22:33 +0100 |
| commit | 0e1a9de685c999fdd0e5252c741cef9d06b16451 (patch) | |
| tree | 7135ea5577c495a14c3296ba1921f3f5a30d880b /Kod/bilbana | |
| parent | 7daa1a34224a5b0fe3f765393ba777d62aadecf5 (diff) | |
| download | tfyy51-0e1a9de685c999fdd0e5252c741cef9d06b16451.tar.gz | |
NOT WORKING seg_len and track_len
Diffstat (limited to 'Kod/bilbana')
| -rw-r--r-- | Kod/bilbana/yc4/choose_position.m | 8 | ||||
| -rw-r--r-- | Kod/bilbana/yc4/detect_missed.m | 4 | ||||
| -rw-r--r-- | Kod/bilbana/yc4/get_aprox_v.m | 11 | ||||
| -rw-r--r-- | Kod/bilbana/yc4/get_seg_constant.m | 6 | ||||
| -rw-r--r-- | Kod/bilbana/yc4/main.m | 6 |
5 files changed, 11 insertions, 24 deletions
diff --git a/Kod/bilbana/yc4/choose_position.m b/Kod/bilbana/yc4/choose_position.m index cd18f85..874f223 100644 --- a/Kod/bilbana/yc4/choose_position.m +++ b/Kod/bilbana/yc4/choose_position.m @@ -1,16 +1,14 @@ -function [new_position, seg_plus] = choose_position(position,segment, track) +function [new_position, seg_plus] = choose_position(position,segment, track, track_len) %CHOOSE_POSITION Välj vad position ska vara % Kör endast vid ny indata. Kollar om indatan är rimlig eller om någon % givare missats. Sedan väljs position efter vilken givare det var som % passerades. seg_plus anger om och med hur mycket car.segment bör % justeras för att kompensera efter missad givare. -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]; pos_c = position; %% Vilken givare ligger närmast pos_c? near = []; for i = 1:length(track_len) - diff = abs(track_len(track, i) - pos_c); + diff = abs(track_len(i) - pos_c); if i == 1 near = [i, diff]; else @@ -22,7 +20,7 @@ end disp(near); %% Beräkning av passerad givare seg_plus = max(0, near(1) - segment) -new_position = track_len(track, segment + seg_plus); +new_position = track_len(segment + seg_plus); end diff --git a/Kod/bilbana/yc4/detect_missed.m b/Kod/bilbana/yc4/detect_missed.m index fb80d1c..087a750 100644 --- a/Kod/bilbana/yc4/detect_missed.m +++ b/Kod/bilbana/yc4/detect_missed.m @@ -1,9 +1,7 @@ function [out] = detect_missed( position, segment, track) %DETECT_MISSED Retunerar true om position ligger utanför nuvarande segment % -track_len = [2.53 3.05 4.73 7.68 8.98 10.93 14.96 17.57 19.60; - 2.53 3.05 4.92 7.60 8.84 10.65 14.68 17.76 19.95]; -a = track_len(track, segment); +a = track_len(segment); out = a <= position; end diff --git a/Kod/bilbana/yc4/get_aprox_v.m b/Kod/bilbana/yc4/get_aprox_v.m index 1867565..737dfac 100644 --- a/Kod/bilbana/yc4/get_aprox_v.m +++ b/Kod/bilbana/yc4/get_aprox_v.m @@ -1,21 +1,12 @@ -function [v] = get_aprox_v(cur_seg, lap, seg_times, track) +function [v] = get_aprox_v(cur_seg, lap, seg_times, track, seg_len) %GET_APROX_V Tillf�llig? Beh�vs f�r att testa get_position. Ger %medelhastigheten f�r nuvarande segment p� f�rra varvet. %{ cur_seg: Nuvarande segment last_seg_times: 1x9 vektor med f�rra varvets segmenttider %} -seg_len1 = [2.53 0.53 1.68 2.92 1.2 2.01 3.83 2.89 1.99]; -seg_len2 = [2.53 0.53 1.87 2.68 1.24 1.81 4.03 3.09 2.19]; - % seg_len = []; -if track == 1 - seg_len = seg_len1; -else - seg_len = seg_len2; -end - if cur_seg > 9 cur_seg = cur_seg - 9; end diff --git a/Kod/bilbana/yc4/get_seg_constant.m b/Kod/bilbana/yc4/get_seg_constant.m index 9f4dd1d..1ce861b 100644 --- a/Kod/bilbana/yc4/get_seg_constant.m +++ b/Kod/bilbana/yc4/get_seg_constant.m @@ -1,4 +1,4 @@ -function [out] = get_seg_constant(position, lap_constants, track) +function [out] = get_seg_constant(position, lap_constants, track, track_len) %GET_SEG_CONSTANT Avgör vilken seg_constat som ska användas utifån %nuvarande position. %{ @@ -6,10 +6,8 @@ position - Position i meter från start lap_constants - De seg_constants som ska användas detta varv 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) + if position >= track_len(i) seg_constant_num = i; end end diff --git a/Kod/bilbana/yc4/main.m b/Kod/bilbana/yc4/main.m index 885d518..11d4cad 100644 --- a/Kod/bilbana/yc4/main.m +++ b/Kod/bilbana/yc4/main.m @@ -51,7 +51,8 @@ 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.pos_at = [0.0 2.53 3.05 4.73 7.68 8.98 10.93 14.69 17.57]; +car1.seg_len = [2.53 0.53 1.68 2.92 1.2 2.01 3.83 2.89 1.99] car1.map = Bana1; car1.approximation = []; car1.miss_probability = 0.0; @@ -68,7 +69,8 @@ car2.lap = 0; car2.lap_times = []; car2.seg_times = []; 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.pos_at = [0.0 2.53 3.05 4.92 7.60 8.84 10.65 14.68 17.76]; +car2.seg_len = [2.53 0.53 1.87 2.68 1.24 1.81 4.03 3.09 2.19]; car2.map = Bana2; car2.miss_probability = 0.1; car2.seg_constant_list = []; % TODO |
