raven16
Lieutenant
- Registriert
- Nov. 2008
- Beiträge
- 580
Hallo,
wir müssen einen Lego Roboter auf einer Line fahren lassen etc.
Zusammengefasst:
Wir haben derzeit einen Thread (StateMachine) für das Auslesen der Sensoren parallel neben einem weiteren Thread (Strategy Pattern) laufen, der entscheidet, wleche Strategie er verwenden soll, z.B.
StateMachine = Auf der Linie => Strategy Pattern = LineFollower
StateMachine = Nicht auf der Linie => StategyPattern = LineSearch
Wir würden gerne jetzt zu jeder Zeit, wenn die StateMachine = Kollision ist, die aktuelle Strategie (LineFollower oder LineSearch) unterbrechen/pausieren/ignorieren, denn dann soll ja SOFORT eine Kollision verhindert werden.
Der LineFollower beendet sich auch nicht sofort, wenn er von der Linie fährt, weil dann ja die Chance noch groß ist, dass er dort hin zurück findet.
Wir führen daher erst LineSearch aus, wenn LineFollower sich beendet, weil er zu keinem Ergebnis kommt.
Die Frage ist jetzt, wie baue ich es ein, dass die Kollisionsvermeidung sofort greift, wenn eine Kollision droht...
mfg
wir müssen einen Lego Roboter auf einer Line fahren lassen etc.
Zusammengefasst:
Wir haben derzeit einen Thread (StateMachine) für das Auslesen der Sensoren parallel neben einem weiteren Thread (Strategy Pattern) laufen, der entscheidet, wleche Strategie er verwenden soll, z.B.
StateMachine = Auf der Linie => Strategy Pattern = LineFollower
StateMachine = Nicht auf der Linie => StategyPattern = LineSearch
Wir würden gerne jetzt zu jeder Zeit, wenn die StateMachine = Kollision ist, die aktuelle Strategie (LineFollower oder LineSearch) unterbrechen/pausieren/ignorieren, denn dann soll ja SOFORT eine Kollision verhindert werden.
Der LineFollower beendet sich auch nicht sofort, wenn er von der Linie fährt, weil dann ja die Chance noch groß ist, dass er dort hin zurück findet.
Wir führen daher erst LineSearch aus, wenn LineFollower sich beendet, weil er zu keinem Ergebnis kommt.
Die Frage ist jetzt, wie baue ich es ein, dass die Kollisionsvermeidung sofort greift, wenn eine Kollision droht...
mfg