From 58c9b535208c3dc0945d0b4657f93dccf5474fbc Mon Sep 17 00:00:00 2001 From: Albin Date: Thu, 7 Nov 2019 15:46:09 +0100 Subject: =?UTF-8?q?get=5Fnew=5Fv=20fungerar=20f=C3=B6r=20b=C3=A5da=20bilar?= =?UTF-8?q?na=20nu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Kod/bilbana/yc4/get_aprox_v.m | 19 +++++++++---------- Kod/bilbana/yc4/get_new_v.m | 7 ++++--- 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 -- cgit v1.2.1