diff options
| author | Gustav Sörnäs <gusso230@student.liu.se> | 2019-11-05 16:47:39 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gusso230@student.liu.se> | 2019-11-05 16:47:39 +0100 |
| commit | ebc64de9876ebac534fa3724cb3b9709361602b1 (patch) | |
| tree | 2adec4061792c035dde5b31acdfec92ec2e02756 /Kod/bilbana/yc4 | |
| parent | a170c1524a18fda8cda5a9a322063449a672b36a (diff) | |
| download | tfyy51-ebc64de9876ebac534fa3724cb3b9709361602b1.tar.gz | |
Fusk-merge branch 'get_position'
Diffstat (limited to 'Kod/bilbana/yc4')
| -rw-r--r-- | Kod/bilbana/yc4/get_position.m | 15 | ||||
| -rw-r--r-- | Kod/bilbana/yc4/main.m | 14 |
2 files changed, 19 insertions, 10 deletions
diff --git a/Kod/bilbana/yc4/get_position.m b/Kod/bilbana/yc4/get_position.m index 9f70347..72fa866 100644 --- a/Kod/bilbana/yc4/get_position.m +++ b/Kod/bilbana/yc4/get_position.m @@ -1,6 +1,13 @@ -function [ output_args ] = get_position( v_prev_cycle, prev_p, delta_t ) -%UNTITLED Summary of this function goes here -% Detailed explanation goes here - +function [ position ] = get_position( aprox_v, prev_p, delta_t) +%GET_POSITION: Uppskattar position utifrån förra positionen och hastigheten +%{ +Använder s = v*t för att beräkna skillnaden i strecka sedan förra cykeln. +v är just nu medelhastigheten för nuvarande segment förra cykeln. +dt är just nu samma tic toc som checkar att cykeln inte var mer än 0.1 s. +%} +v = aprox_v; +dt = delta_t; +dp = v*dt; +position = prev_p + dp; end diff --git a/Kod/bilbana/yc4/main.m b/Kod/bilbana/yc4/main.m index 85f7be3..f8522a2 100644 --- a/Kod/bilbana/yc4/main.m +++ b/Kod/bilbana/yc4/main.m @@ -18,7 +18,7 @@ initialize_counters(2) config_IOs -load('X:\Git\yc4_2019\Kod\bilbana\files\Bana1.mat') +load('bilbana\files\Bana1.mat') start_race(1) % start_race(2) @@ -91,19 +91,21 @@ while 1 if car1.running == true [car1.new_lap, car1.new_check_point, car1.time] = get_car_position(1); end - if car2.running == true - % [car2.new_lap, car2.new_check_point, car2.time] = get_car_position(2); + %{ + if car2.running == true + [car2.new_lap, car2.new_check_point, car2.time] = get_car_position(2); end + %} %% CHECK LAP AND CHECKPOINT (CAR 1) - if car1.running == true + if car1.running == true %% CALC POSITION (CAR 1) if car1.lap ~= 0 if car1.lap > 1 last_seg_times1 = car1.seg_times(car1.lap - 1, 1:9); aprox_v = get_aprox_v(car1.segment, last_seg_times1); - car1.position = get_position(aprox_v, car1.position, delta_t); + car1.position = get_position(aprox_v, car1.position, delta_t) end end if car1.new_check_point == true @@ -260,7 +262,7 @@ matlabclient(3); %% DISPLAY GRAPHS if car1.running == true - graphs(car1.lap_times, 13, car1.seg_times, 1); + graphs(car1.lap_times, 14.25, car1.seg_times, 1); end %{ |
