Das ist die Client-Anwendung für unsere LeJOS-Anwendung. Der Client kommuniziert über den TCP-Port 6789 mit dem Teil der Anwendung auf dem LeJOS. Der Teil der auf dem LeJOS läuft ist unter https://github.com/rudolfgrauberger/ki-lejos zu finden.
git clone https://github.com/rudolfgrauberger/ki-lejos-client.git
Hinweis: Es kann vorkommen, dass IntelliJ nicht direkt nach dem Öffnen damit anfängt die Maven-Abhängigkeiten zu aktualiseren, dann das Synchronisieren manuell anstoßen.
Einmal zu der Main.java-Datei navigieren und wie im Screenshot einmal das Ausführen.
Anschließend erscheint automatisch die Konfiguration (vgl. 1) und man kann wie gewohnt über die Schaltflächen (vgl. 2) das Programm ausführen oder Debuggen.
Bei dem Client haben wir die zwei Modi implementiert:
- Roboter
- Simulation
Die Simulation war besonders am Anfang, also beim Verständnis der Monte Carlo Lokalisation und bei den Berechnungen, sehr hilfreich. Anschließend mussten wir für den Roboter noch einige Anpassungen vornehmen, da die Sensoren hin und wieder falsche Werte zurückgeliefert haben.
public static boolean SIMULATE_MODE = true;
Hierbei wird an einer zufälligen Position in der Karte ein "Roboter" als grüner Punkt eingezeichnet. Außerdem werden die Steuer-Elemente zum Verbinden mit unserem Roboter abgeblendet.
public static boolean SIMULATE_MODE = false;
So sieht es dann im Client aus (leider kein Video, wie der Roboter sich tatsächlich dazu in der Welt bewegt hat)