TCCSimulator - Dokumentation


(_Einleitung_) (_Aufgabe_) (_Arbeitsweise_) (_Download_)

 

 

Einleitung


Das Programm "TCCSimulator" (Tennis Court Cleaning Simulator entstand im Rahmen der Lehrveranstaltung Wissensbasierte Fuzzy-Systeme. Die Applikation wurde ausschließlich in der Programmiersprache Java (Release 1.3.1 von Sun) geschrieben und sollte somit ohne Probleme unter den Betriebssystemen Windows 95/98/ME, Windows NT/2000, Linux und Unix lauffähig sein.

Für die Implementierung des Wissensbasierten Fuzzy-Systems habe ich das NRC FuzzyJ Toolkit verwendet. Diese Bibliothek bietet bereits die grundlegende Funktionalität, um solche Fuzzy-Systeme in der Programmiersprache Java zu realisieren. Dieses Toolkit ist ausgesprochen leistungsfähig und hat sich wunderbar in meine Applikation einbinden lassen. Außerdem stand dazu eine wirklich ungemein detailierte und ausgezeichnete Dokumentation (sowohl Java-Documentation als auch allgemeine Dokumentationen) zur Verfügung. Weitere Informationen zum FuzzyJ Toolkit finden sie unter der folgenden Adresse: FuzzyJ Toolkit.

Autor:
Jörg Hentschel (htw9928) eMail

 


(_Einleitung_) (_Aufgabe_) (_Arbeitsweise_) (_Download_)

 

 

Aufgabe des Programms


Die Vision

Mit Hilfe dieser Applikation soll es (zur Zeit natürlich nur rein virtuell) einem autonomen Roboter möglich sein, die Linien eines Sandtennisplatzes zu finden, zu verfolgen und in einem möglichst kurzem Weg alle Linien mindestens einmal abzufahren, um somit diese Linien zu reinigen.


>>>


Die Herangehensweise

Dieses Programm wird diese Aufgabe lösen, indem es versucht den Roboter mit Hilfe eines Wissensbasierten Fuzzy-Systems steuert. Der Hauptsensor soll dabei eine Kamera Darstellen (in diesem Fall mit einer Auflösung von 15x15 Pixeln). Weiter Sensoren könnten Infrarot-Sensoren sein, um Kollisionen mit Wönden oder anderen Gegenständen (z.B. Tennisnetz) zu vermeiden - dies ist hier aber außer Acht gelassen worden, da es in erster Linie um die Steuerung des autonomen Roboters mit einem Fuzzy-System ging.

Die Voraussetzungen

 


(_Einleitung_) (_Aufgabe_) (_Arbeitsweise_) (_Download_)

 

 

Arbeitsweise
Die Augen des Roboters


Wie schon oben erwähnt wird der Roboter seine Informationen von einem Kamerabild der Größe 15x15 Pixel erhalten. Dabei unterteilt sie diese Kamerabild nochmals in 9 Abschnitte, die jeweils 5x5 Pixel groß sind. Aus diesen Abschnitten, kann man dann mit Hilfe des Fuzzy-Systems eine relativ genaue Aussage über die Position des Roboters und dessen nächsten Schritt machen. Diese 9 Abschnitte werden zu 9 linguistischen Inputvariablen für das Fuzzy-System. Hier ein Bild:

 

 

Arbeitsweise
Die Fuzzy-Variablen


Zur Lösung des Problems habe ich folgende Fuzzy-Variablen verwendet:

Hier das Diagramm mit den Ausprägungen (Zugehörigkeitsfunktionen) der Fuzzy-Variablen mm_xx[0..8]:

Die einzelnen Ausprägungen bedeuten im einzelnen:

 

Hier das Diagramm mit den Ausprägungen (Zugehörigkeitsfunktionen) der Fuzzy-Variablen mm_xDir und mm_yDir:

Die einzelnen Ausprägungen bedeuten im einzelnen:

 

Hier das Diagramm mit den Ausprägungen (Zugehörigkeitsfunktionen) der Fuzzy-Variablen mm_st[0] und mm_status:

Die einzelnen Ausprägungen bedeuten im einzelnen:

 

 

Arbeitsweise
Algorithmus des Fuzzy-Systems


Mit Hilfe der erstellten Fuzzy-Variable, dessen Ausprägungen und den erstellten Regeln kann nun folgender Algorithmus durchlaufen werden:

 


(_Einleitung_) (_Aufgabe_) (_Arbeitsweise_) (_Download_)

 

 

Download


TCCSimulator download TCCSimulator.zip (ca. 1,08 MB)
TCCSimulator Quellcodes download TCCSimulator-Src.zip (ca. 1,07 MB)

 


(_Einleitung_) (_Aufgabe_) (_Arbeitsweise_) (_Download_)