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.