diff options
| author | Gustav Sörnäs <gusso230@student.liu.se> | 2019-11-28 15:40:15 +0100 |
|---|---|---|
| committer | Albin <albwa833@student.liu.se> | 2019-11-29 11:39:22 +0100 |
| commit | 8979aecffd0ab85e1b23428cbef073f4c1ba7f36 (patch) | |
| tree | 877cfdabeaef185f0fa27f863511513a57c31e9c /Kod | |
| parent | 603a0f3dec6953c1dd008687bfda5d49508dd413 (diff) | |
| download | tfyy51-8979aecffd0ab85e1b23428cbef073f4c1ba7f36.tar.gz | |
Anpassa car.constant vid nytt varv
Diffstat (limited to 'Kod')
| -rw-r--r-- | Kod/bilbana/yc4/do_car.m | 7 | ||||
| -rw-r--r-- | Kod/bilbana/yc4/do_gov.m | 46 |
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 |
