ich habe mir das für meinen roboter so vorgestellt..
es gibt eine haupt do..loop schleife.. in dieser werden sensorwerte ausgelesen und danach durch if-abfragen benutzt..
dann gibt es noch einige zähl-variablen (siehe weiter unten), die NACH diesen if abfragen auf 0 gesetzt werden...
dann gibt es noch subroutinen in denen die ausweichalgorithmen stehen, zu beginn jeder subroutine wird der zähler um 1 erhöht (k=k+1)
dann kommt das eigentliche ausweichen
und am ende dieser subroutine wird geprüft ob der zählerstand 10 (oder so) erreicht wurde..
eckt der roboter nirgends an und kommt nach dem ausweichen wieder in die hauptschleife mit geradeausfahrt -- > also kein eintreten eines weiteren if-falles, dann wird der zähler ja auf null zurückgesetzt..
bleibt der bot allerdings hängen und der zähler hat keine möglichkeit auf null gesetzt zu werden da immer schon vorher in die subroutine gesprungen wird, wird der zähler also immer größer..
bei zählerstand =10 könnte man aus dieser ausweich-subroutine in eine anti-dead-lock-sub-sub-routine springen...-> der bot fährt rückwärts, dreht sich in die andere richtung , piepst, etc..
meint ihr das ist ein guter ansatz???
Lesezeichen