Java Lejos NXT Strategie unterbrechen, wenn Kollision droht

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
 
Könnte man nicht einfach den LineFollower immer wieder abfragen lassen , ob er selbst noch aktiv ist? Wenn dem nicht so ist, soll er geschlossen werden?

Ansonsten den Thread einfachh stoppen, hierbei würde ich aber meinen das er sich immer zu Ende rechnet.
 
Zurück
Oben