summaryrefslogtreecommitdiffstats
path: root/Kod
diff options
context:
space:
mode:
authorGustav Sörnäs <gusso230@student.liu.se>2019-11-28 15:40:15 +0100
committerAlbin <albwa833@student.liu.se>2019-11-29 11:39:22 +0100
commit8979aecffd0ab85e1b23428cbef073f4c1ba7f36 (patch)
tree877cfdabeaef185f0fa27f863511513a57c31e9c /Kod
parent603a0f3dec6953c1dd008687bfda5d49508dd413 (diff)
downloadtfyy51-8979aecffd0ab85e1b23428cbef073f4c1ba7f36.tar.gz
Anpassa car.constant vid nytt varv
Diffstat (limited to 'Kod')
-rw-r--r--Kod/bilbana/yc4/do_car.m7
-rw-r--r--Kod/bilbana/yc4/do_gov.m46
2 files changed, 26 insertions, 27 deletions
diff --git a/Kod/bilbana/yc4/do_car.m b/Kod/bilbana/yc4/do_car.m
index 2a5c873..04c0f55 100644
--- a/Kod/bilbana/yc4/do_car.m
+++ b/Kod/bilbana/yc4/do_car.m
@@ -142,10 +142,9 @@ if car.running == true
%% NEW LAP
if car.new_lap == true
- disp('NEW LAP')
-
- car.lap_constants = gov_set(car.constant);
- % car.new_lap = false; %TODO remove
+ disp('NEW LAP')
+
+ car.lap_constants = gov_set(car.constant);
beep;
if car.lap == 0
% dont save time for first lap
diff --git a/Kod/bilbana/yc4/do_gov.m b/Kod/bilbana/yc4/do_gov.m
index 29d3b2e..c92017a 100644
--- a/Kod/bilbana/yc4/do_gov.m
+++ b/Kod/bilbana/yc4/do_gov.m
@@ -2,29 +2,29 @@ function [ car ] = do_gov( car )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
if car.new_lap
- % TODO calculate stuff
+ last_lap_time = car.lap_times(car.lap - 1);
+ time_diff = last_lap_time - car.ref_time; % diff >0 => car is too slow, go faster
+ car.constant = car.constant + (time_diff / car.ref_time) * 0.1;
elseif car.new_check_point && (car.segment == 5 || car.segment == 8)
- if true %car.lap == 1
- if car.lap == 1
- status = car.forecasts_naive(car.lap, car.segment-1)/car.ref_time;
- else
- status = car.forecasts(car.lap, car.segment-1)/car.ref_time;
- end
- car.constant = car.constant + (status - 1) * 0.08;
- car.governs(length(car.governs) + 1) = car.constant;
- end
- %{
- if car.lap > 1 && (car.segment == 5 || car.segment == 8)
- car.lap_now = toc(car.lap_tic);
- norm_const = 1/(sum(car.percents(1:9)));
- norm_list = car.percents * norm_const;
- sum_percent = sum(norm_list(1:car.segment));
- exp_time = car.ref_time * sum_percent;
-
- status = car.lap_now/exp_time;
- car.constant = car.constant + (status - 1) * 0.08;
- car.governs(length(car.governs) + 1) = car.constant;
- end
- %}
+ if car.lap == 1
+ status = car.forecasts_naive(car.lap, car.segment-1)/car.ref_time;
+ else
+ status = car.forecasts(car.lap, car.segment-1)/car.ref_time;
+ end
+ car.constant = car.constant + (status - 1) * 0.08;
+ car.governs(length(car.governs) + 1) = car.constant;
+ %{
+ if car.lap > 1 && (car.segment == 5 || car.segment == 8)
+ car.lap_now = toc(car.lap_tic);
+ norm_const = 1/(sum(car.percents(1:9)));
+ norm_list = car.percents * norm_const;
+ sum_percent = sum(norm_list(1:car.segment));
+ exp_time = car.ref_time * sum_percent;
+
+ status = car.lap_now/exp_time;
+ car.constant = car.constant + (status - 1) * 0.08;
+ car.governs(length(car.governs) + 1) = car.constant;
+ end
+ %}
end