summaryrefslogtreecommitdiffstats
path: root/Kod/bilbana
diff options
context:
space:
mode:
authorGustav Sörnäs <gusso230@student.liu.se>2019-11-19 16:22:33 +0100
committerGustav Sörnäs <gusso230@student.liu.se>2019-11-19 16:22:33 +0100
commit0e1a9de685c999fdd0e5252c741cef9d06b16451 (patch)
tree7135ea5577c495a14c3296ba1921f3f5a30d880b /Kod/bilbana
parent7daa1a34224a5b0fe3f765393ba777d62aadecf5 (diff)
downloadtfyy51-0e1a9de685c999fdd0e5252c741cef9d06b16451.tar.gz
NOT WORKING seg_len and track_len
Diffstat (limited to 'Kod/bilbana')
-rw-r--r--Kod/bilbana/yc4/choose_position.m8
-rw-r--r--Kod/bilbana/yc4/detect_missed.m4
-rw-r--r--Kod/bilbana/yc4/get_aprox_v.m11
-rw-r--r--Kod/bilbana/yc4/get_seg_constant.m6
-rw-r--r--Kod/bilbana/yc4/main.m6
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