summaryrefslogtreecommitdiffstats
path: root/Kod/bilbana/yc4/do_car.m
diff options
context:
space:
mode:
authorAlbin <albwa833@student.liu.se>2019-11-29 11:35:42 +0100
committerAlbin <albwa833@student.liu.se>2019-11-29 11:39:26 +0100
commiteb9ecb33847612eca9d48dd3a88b4cf1396b70dd (patch)
tree0ee140f0286745ffb9c920f33a5f27e4b27bc45a /Kod/bilbana/yc4/do_car.m
parentaaaf94f0834c47cbed457b8b6ea4ab6aa18c2d72 (diff)
downloadtfyy51-eb9ecb33847612eca9d48dd3a88b4cf1396b70dd.tar.gz
Inför bp5
Diffstat (limited to 'Kod/bilbana/yc4/do_car.m')
-rw-r--r--Kod/bilbana/yc4/do_car.m35
1 files changed, 20 insertions, 15 deletions
diff --git a/Kod/bilbana/yc4/do_car.m b/Kod/bilbana/yc4/do_car.m
index 0aed013..92e4f8d 100644
--- a/Kod/bilbana/yc4/do_car.m
+++ b/Kod/bilbana/yc4/do_car.m
@@ -58,9 +58,9 @@ if car.running == true
if toc(car.seg_tic) > 9.0
set_car_speed(1, 0);
set_car_speed(2, 0);
- %disp(strjoin({'Avåkning bil', num2str(car.num)}));
- disp('J = Ja, N = Nej')
- car.response = input('Vill du fortsätta? [N] ', 's');
+ disp(strjoin({'Avåkning bil', num2str(car.num)}));
+ disp('(J = Ja, N = Nej)');
+ car.response = input('Vill du fortsätta? [N] ', 's');
if car.response == 'J'
car.seg_tic = tic;
else
@@ -76,11 +76,11 @@ if car.running == true
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 car.lap == 2 && car.segment < 4
- disp('####')
- disp(car.position)
+ % disp('####')
+ % disp(car.position)
end
if detect_missed( car.position, car.segment, car.num, car.pos_at)
- disp('Miss?');
+ % disp('Miss?');
%disp(toc(car.miss_time));
%if car.miss_time == 0
@@ -115,9 +115,9 @@ if car.running == true
track_remaining = car.pos_at(length(car.pos_at)) - car.pos_at(car.segment + 1);
car.forecasts(car.lap, car.segment) = lap_time_now + track_remaining/prev_seg_v;
- car.forecasts_naive(car.lap, car.segment) = toc(car.seg_tic) / car.percents(car.segment)
+ car.forecasts_naive(car.lap, car.segment) = toc(car.seg_tic) / car.percents(car.segment);
- car.segment = car.segment + 1;
+ car.segment = min(9, car.segment + 1);
car.seg_tic = tic;
if car.automatic && car.lap > 2 % S�kerhetsmarginal (B�r vara 1?)
@@ -127,7 +127,7 @@ if car.running == true
disp('Hoppar �ver missad givare 1/2');
else
car.position = new_position;
- car.segment = car.segment + seg_plus;
+ car.segment = min(9, car.segment + seg_plus);
end
if seg_plus ~= 0 && car.segment ~= 2
car.seg_times(car.lap, car.segment - seg_plus - 1) = 0;
@@ -147,7 +147,7 @@ if car.running == true
if car.new_lap == true
disp('NEW LAP')
beep;
- if car.lap == 0
+ if car.lap == 0
% dont save time for first lap
car.segment = 1;
car.lap = car.lap + 1;
@@ -191,14 +191,19 @@ end
%% CONTROLLER
if car.running == true && car.automatic == false
- mult = 100;
- max = 55;
- div = 55;
- set_car_speed(car.num, mult * ((max - get_manual_speed(car.num)) / div))
+ mult_ = 100;
+ max_ = 55;
+ div_ = 55;
+ set_car_speed(car.num, mult_ * ((max_ - get_manual_speed(car.num)) / div_))
end
%% EXECUTE
if car.running == true && car.automatic == true
- set_car_speed(car.num, car.u);
+ disp(strjoin({num2str(car.num), num2str(car.u), num2str(car.position)}))
+ if not(boot.status)
+ set_car_speed(car.num, max(car.u, 16));
+ else
+ set_car_speed(car.num, car.u);
+ end
end
end