summaryrefslogtreecommitdiffstats
path: root/Kod
diff options
context:
space:
mode:
Diffstat (limited to 'Kod')
-rw-r--r--Kod/bilbana/yc4/get_car_constant.m23
-rw-r--r--Kod/bilbana/yc4/get_new_u.m9
-rw-r--r--Kod/bilbana/yc4/get_new_v.m25
-rw-r--r--Kod/bilbana/yc4/get_track_u_constant.m3
-rw-r--r--Kod/bilbana/yc4/main.m1
5 files changed, 44 insertions, 17 deletions
diff --git a/Kod/bilbana/yc4/get_car_constant.m b/Kod/bilbana/yc4/get_car_constant.m
index 7f3aafb..eb3bd22 100644
--- a/Kod/bilbana/yc4/get_car_constant.m
+++ b/Kod/bilbana/yc4/get_car_constant.m
@@ -1,12 +1,21 @@
function [ car_constant ] = get_car_constant( in_pos, pos )
%GET_CAR_CONSTANT Summary of this function goes here
% Detailed explanation goes here
- switch(in_pos)
- case 1
- car_constant = 1;
- case 2
- car_constant = 1.2;
- end
- return
+
+%{
+GET_CAR_CONSTANT:
+car_constant: Påverkar new_u så att new_u tillsammans med track_u_constant motsvarar den hastighet som
+anges av new_v. car_constant ändras endast vid ny indata, vilket innebär att den är konstant under resterande
+cykler fram tills nästa givare passeras. Genom att jämföra positionen som fås av givarna med indatan kan programmet
+räkna ut felmarginalen som har uppstått och kalibrera car_constant new_u kan justeras med större
+precision.
+%}
+
+switch(in_pos)
+ case 1
+ car_constant = 1;
+ case 2
+ car_constant = 1.2;
+end
end
diff --git a/Kod/bilbana/yc4/get_new_u.m b/Kod/bilbana/yc4/get_new_u.m
index 39662b5..ee624fe 100644
--- a/Kod/bilbana/yc4/get_new_u.m
+++ b/Kod/bilbana/yc4/get_new_u.m
@@ -2,6 +2,13 @@ function [ new_u ] = get_new_u( new_v, car_constant, track_u_constant )
%GET_NEW_U Summary of this function goes here
% Detailed explanation goes here
-
+%{
+GET_NEW_U:
+new_u: Den spänning som ska appliceras beroende på vilken hastighet new_v anger. Ett högre new_v innebär
+ett högre new_u. De andra parametrarna som påverkar new_u är car_constant och track_u_constant, desto högre
+dessa värden dessa antar desto högre värde antar också new_u. new_u är programmets sista output, dess värde
+0 till 127 är det gaspådrag som appliceras på bilen.
+%}
+new_u = new_v*car_constant*track_u_constant;
end
diff --git a/Kod/bilbana/yc4/get_new_v.m b/Kod/bilbana/yc4/get_new_v.m
index a0aa19e..b357410 100644
--- a/Kod/bilbana/yc4/get_new_v.m
+++ b/Kod/bilbana/yc4/get_new_v.m
@@ -1,10 +1,21 @@
function [ new_v ] = get_new_v( old_v, speed_constant, target_diff, car_position_diff, agressiveness )
-%GET_NEW_V Summary of this function goes here
-% Detailed explanation goes here
- v = [35, 25, 30, 30, 40, 50, 45, 50, 35];
-
- new_v = v(old_v);
-
- return
+%GET_NEW_V Hastigheten som bilen ska få nästa cykel.
+%{
+Tar förra cykelns hastighet (old_ v) och lägger till eller drar
+av beroende på hur långt ifrån målet bilarna ligger (target_diff) och,
+om gemensam målgång är aktiverad, hur långt ifrån varandra bilarna är
+(car_position_diff). Beror också på agressiveness; högre agressiveness ger
+större skillnad mellan new_v och old_v medan ett lågt värde gör att new_v
+inte ändras särskilt mycket. new_v används sedan för att sätta new_u.
+Högre new_v ger högre new_u och lägre new_v ger lägre_u.
+%}
+
+%{
+GET_NEW_V:
+new_v: Den hastighet som bilen ska få nästa cykel.
+%}
+
+v = [35, 25, 30, 30, 40, 50, 45, 50, 35];
+new_v = v(old_v);
end
diff --git a/Kod/bilbana/yc4/get_track_u_constant.m b/Kod/bilbana/yc4/get_track_u_constant.m
index 3201f1b..50db463 100644
--- a/Kod/bilbana/yc4/get_track_u_constant.m
+++ b/Kod/bilbana/yc4/get_track_u_constant.m
@@ -1,7 +1,6 @@
function [ track_u_constant ] = get_track_u_constant( position )
%GET_TRACK_U_CONSTANT Summary of this function goes here
% Detailed explanation goes here
-
-
+track_u_constant = 1;
end
diff --git a/Kod/bilbana/yc4/main.m b/Kod/bilbana/yc4/main.m
index c8e1218..53c6f00 100644
--- a/Kod/bilbana/yc4/main.m
+++ b/Kod/bilbana/yc4/main.m
@@ -108,6 +108,7 @@ while 1
end
%% END OF PROGRAM
+disp(tocs);
disp(car1);
disp(car2);