Hallo,
ich habe folgendes Problem. Ich versuche 3 IR Sensoren mit Simulink für einen fahrenden Roboter in Betrieb zu nehmen und hab ein Problem bei der Logik.
Hier meine Logik
Code:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% S1 = Sensor mitte vorne
% S2 = Sensor links vorne
% S3 = Sensor links hinten
% S4 = Sensor rechts hinten
% S5 = Sensor rechts vorne
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [forward, right, left, backward] = Shieldbot(S1, S2, S3, S4, S5)
%% init
forward = 0;
right = 0;
left = 0;
backward = 0;
%% "intelligence"
if (S2 || S1 && S2)
right = 1;
elseif (S5 || S1 && S5)
left = 1;
else
forward = 1;
end
end
Das Problem ist wenn ich eine Ecke anfahre kann es passieren das ich dann zwischen left-right hin und her springe. Das bedeutet ich müsste etwas einbauen das wenn right = 1; ist für eine gewisse zeit left nicht ausgeführt werden kann. Für jede Hilfe wäre ich sehr dankbar.
Lesezeichen