summaryrefslogtreecommitdiffstats
path: root/Kod/bilbana
diff options
context:
space:
mode:
authorAlbin <albwa833@student.liu.se>2019-11-28 20:54:05 +0100
committerAlbin <albwa833@student.liu.se>2019-11-29 11:39:24 +0100
commit9b02850daa38eb209345882396f0fbbca7f0baab (patch)
treebdcc14bf4fcdf345c19c15a5cc8856a5b614bd0b /Kod/bilbana
parentd178a9de2ede3f11b990fc08dd4054513b7d2d8d (diff)
downloadtfyy51-9b02850daa38eb209345882396f0fbbca7f0baab.tar.gz
get_aprox_v kompenserar för riktigt långsamt seg 1 varv 1
Diffstat (limited to 'Kod/bilbana')
-rw-r--r--Kod/bilbana/files/Bana.matbin1189 -> 1186 bytes
-rw-r--r--Kod/bilbana/yc4/do_car.m2
-rw-r--r--Kod/bilbana/yc4/get_aprox_v.m17
3 files changed, 11 insertions, 8 deletions
diff --git a/Kod/bilbana/files/Bana.mat b/Kod/bilbana/files/Bana.mat
index 0a4b650..722afd9 100644
--- a/Kod/bilbana/files/Bana.mat
+++ b/Kod/bilbana/files/Bana.mat
Binary files differ
diff --git a/Kod/bilbana/yc4/do_car.m b/Kod/bilbana/yc4/do_car.m
index 04c0f55..e627a93 100644
--- a/Kod/bilbana/yc4/do_car.m
+++ b/Kod/bilbana/yc4/do_car.m
@@ -73,7 +73,7 @@ if car.running == true
%% CALC POSITION
if car.automatic && car.lap > 1
% car.last_seg_times = car.seg_times(car.lap - 1, 1:9);
- aprox_v = get_aprox_v(car.segment + detect_missed(car.position, car.segment, car.num, car.pos_at), car.lap, car.seg_times, car.num, car.seg_len);
+ aprox_v = get_aprox_v(car.segment + detect_missed(car.position, car.segment, car.num, car.pos_at), car);
car.position = get_position(aprox_v, car.position, t);
if detect_missed( car.position, car.segment, car.num, car.pos_at)
disp('Miss?');
diff --git a/Kod/bilbana/yc4/get_aprox_v.m b/Kod/bilbana/yc4/get_aprox_v.m
index 737dfac..a458f0f 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, lap, seg_times, track, seg_len)
+function [v] = get_aprox_v(cur_seg, car)
%GET_APROX_V Tillf�llig? Beh�vs f�r att testa get_position. Ger
%medelhastigheten f�r nuvarande segment p� f�rra varvet.
%{
@@ -6,18 +6,21 @@ cur_seg: Nuvarande segment
last_seg_times: 1x9 vektor med f�rra varvets segmenttider
%}
% seg_len = [];
-
+lap = car.lap;
if cur_seg > 9
cur_seg = cur_seg - 9;
end
-
+%% Kompensera för väldigt långsamt segment 1 första varvet
+if cur_seg == 1 && lap == 2
+ v = car.seg_len(1)/0.78*car.seg_times(1,9)
+ return
+end
+%% Sätt v
while lap > 0
lap = lap - 1;
- if seg_times(lap, cur_seg) ~= 0
- v = seg_len(cur_seg) / seg_times(lap, cur_seg);
+ if car.seg_times(lap, cur_seg) ~= 0
+ v = car.seg_len(cur_seg) / car.seg_times(lap, cur_seg);
return
end
end
-disp('bara nollor?');
-
end