diff options
| author | Albin <albwa833@student.liu.se> | 2019-11-07 15:46:09 +0100 |
|---|---|---|
| committer | Albin <albwa833@student.liu.se> | 2019-11-07 15:46:09 +0100 |
| commit | 58c9b535208c3dc0945d0b4657f93dccf5474fbc (patch) | |
| tree | c2a507e1bb74cd45e93594461c882963b5d10c70 | |
| parent | c397b26df1e6743c26eb9c96b442246ad5ee7d6e (diff) | |
| download | tfyy51-58c9b535208c3dc0945d0b4657f93dccf5474fbc.tar.gz | |
get_new_v fungerar för båda bilarna nu
| -rw-r--r-- | Kod/bilbana/yc4/get_aprox_v.m | 19 | ||||
| -rw-r--r-- | Kod/bilbana/yc4/get_new_v.m | 7 | ||||
| -rw-r--r-- | Kod/bilbana/yc4/main.m | 7 |
3 files changed, 17 insertions, 16 deletions
diff --git a/Kod/bilbana/yc4/get_aprox_v.m b/Kod/bilbana/yc4/get_aprox_v.m index 41a3c9e..e402af6 100644 --- a/Kod/bilbana/yc4/get_aprox_v.m +++ b/Kod/bilbana/yc4/get_aprox_v.m @@ -1,4 +1,4 @@ -function [v] = get_aprox_v(cur_seg,last_seg_times) +function [v] = get_aprox_v(cur_seg,last_seg_times, track) %GET_APROX_V Tillfällig? Behövs för att testa get_position. Ger %medelhastigheten för nuvarande segment på förra varvet. %{ @@ -6,16 +6,15 @@ 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_len2 = [2.53 0.53 1.87 2.68 1.24 1.81 4.03 3.09 2.19]; -%v = last_seg_times(cur_seg)/seg_len(cur_seg); -v = seg_len1(cur_seg)/last_seg_times(cur_seg); +%v = seg_len1(cur_seg)/last_seg_times(cur_seg); -% switch(track) -% case 1 -% v = seg_len1(cur_seg)/last_seg_times(cur_seg); -% case 2 -% v = seg_len2(cur_seg)/last_seg_times(cur_seg); -% end +switch(track) + case 1 + v = seg_len1(cur_seg)/last_seg_times(cur_seg); + case 2 + v = seg_len2(cur_seg)/last_seg_times(cur_seg); +end end diff --git a/Kod/bilbana/yc4/get_new_v.m b/Kod/bilbana/yc4/get_new_v.m index 8c7d736..e722326 100644 --- a/Kod/bilbana/yc4/get_new_v.m +++ b/Kod/bilbana/yc4/get_new_v.m @@ -13,8 +13,9 @@ for i = 1:length(list) if list(i,1) > position new_v = list((i-1),4); break - end - elseif i == 80 + elseif i == length(list) new_v = list(80,4); -end + break + end end + diff --git a/Kod/bilbana/yc4/main.m b/Kod/bilbana/yc4/main.m index 01691ae..b3c2b56 100644 --- a/Kod/bilbana/yc4/main.m +++ b/Kod/bilbana/yc4/main.m @@ -16,13 +16,14 @@ hf=figure('position',[0 0 eps eps],'menubar','none'); initialize_counters(1) initialize_counters(2) + config_IOs load('bilbana\files\Bana1.mat') load('bilbana\files\Bana2.mat') start_race(1) -% start_race(2) +start_race(2) car1 = struct; car1.running = false; @@ -104,7 +105,7 @@ while 1 %% CALC POSITION (CAR 1) if car1.lap > 1 last_seg_times1 = car1.seg_times(car1.lap - 1, 1:9); - aprox_v = get_aprox_v(car1.segment, last_seg_times1); + aprox_v = get_aprox_v(car1.segment, last_seg_times1, 1); car1.position = get_position(aprox_v, car1.position, t); end if car1.new_check_point == true @@ -147,7 +148,7 @@ while 1 %% CALC POSITION (CAR 2 if car2.lap > 1 last_seg_times2 = car2.seg_times(car2.lap - 1, 1:9); - aprox_v = get_aprox_v(car2.segment, last_seg_times2); + aprox_v = get_aprox_v(car2.segment, last_seg_times2, 2); car2.position = get_position(aprox_v, car2.position, t); end if car2.new_check_point == true |
