summaryrefslogtreecommitdiffstats
path: root/Kod/bilbana/yc4
diff options
context:
space:
mode:
authorAlbin <albwa833@student.liu.se>2019-11-07 15:46:09 +0100
committerAlbin <albwa833@student.liu.se>2019-11-07 15:46:09 +0100
commit58c9b535208c3dc0945d0b4657f93dccf5474fbc (patch)
treec2a507e1bb74cd45e93594461c882963b5d10c70 /Kod/bilbana/yc4
parentc397b26df1e6743c26eb9c96b442246ad5ee7d6e (diff)
downloadtfyy51-58c9b535208c3dc0945d0b4657f93dccf5474fbc.tar.gz
get_new_v fungerar för båda bilarna nu
Diffstat (limited to 'Kod/bilbana/yc4')
-rw-r--r--Kod/bilbana/yc4/get_aprox_v.m19
-rw-r--r--Kod/bilbana/yc4/get_new_v.m7
-rw-r--r--Kod/bilbana/yc4/main.m7
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