Wesen

Die vorliegende Java Applikation entstand als Informatikprojekt an der Berner Fachhochschule für Technik und Architektur zwischen Mai und September 2001.

Der Simulator hat zum Ziel, die im Buch Künstliche Wesen, Verhalten kybernetischer Vehikel, von Valentin Braitenberg beschriebenen Wesen zu simulieren.

Möglich ist die Simulation der Wesen, welche im Buch als Wesen 1, 2a, 2b, 3a und 3b vorgestellt werden.

Es wurde nur ein Sensortyp (Lichtsensor) implementiert, d.h. Wesen 3c ist nur mit verschiedenen Lichtsensoren simulierbar.

Mein Beitrag war die Entwicklung des GUIs der Simulation.

Bedienung des Simulators

Nach dem Starten des Simulators erscheint ein Java-Fenster mit dem Simulator.

Simulationswelt beleben

Unterhalb der Symbolleiste befindet sich die weisse und noch unbevölkerte Simulationswelt. Mittels rechtem Mausklick erscheint ein Popupmenü (Objektauswahl), aus welchem man Wesen oder Aktoren (Stein, Licht) auswählen kann. Durch Einfaches anklicken eines Objekts mit der Maus wird das Objekt aktiv. Es kann nun bearbeitet werden. Zum verschieben eines Objektes reicht es, ein angeklicktes Objekt bei gedrückter Maustaste an seinen neuen Standort zu verschieben.

Menüleiste

In der Menüleiste befinden sich die Funktionen:

Datei   Neu   Neue Simulationswelt
   Öffnen...   Öffnet bestehende Simulationswelt mit Fileendung .ser
   Speichern / Speichern unter... Speichert Simulationswelt mit Fileendung .ser
   Beenden Beendet den Simulator
     
Bearbeiten   Löschen Ein angewähltes Objekt wird gelöscht
   Kopieren Ein angewähltes Objekt wird kopiert
   Einfügen Ein kopiertes Objekt wird im Simulator oben links eingefügt
     
Aktion Zurückstellen Alle Wesen kehren in ihre Ursprungspositionen zurück, die Reizungen werden beibehalten
   Einzelschritt Alle Wesen führen einen nächsten Schritt aus
   Start Eine fortlaufende Simulation aller Wesen wir gestartet
   Stop Eine fortlaufende Simulation aller Wesen wir gestoppt

Symbolleiste

Die Symbolleiste hat zusätzlich noch die beiden Funktionen:

Bewegungsspur   Die Bewegungsspur der Wesen kann während einer Simulation mit diesem Schalter ein- und ausgeschaltet werden
Winkel Die Ausrichtung eines angewählten Wesens kann verändert werden. 0 Grad ergibt eine Ausrichtung nach Osten (default), grössere Winkel drehen das Wesen in Gegenuhrzeigersinn. So ergibt ein Winkel von 90 Grad eine Ausrichtung nach Norden, 180 Grad eine nach Westen usw.

 

Erstellen von eigenen Wesen mittels XML

Mittels eines selbst erstellten XML-File kann ein eigenes Wesen kreiert werden. Im Unterverzeichnis .\Wesen18\wesen\Java\RobotData (Windows) oder ./Wesen18/wesen/Java/RobotData (Linux) befinden sich alle Wesen, welche zur Startzeit vom Simulator eingelesen werden. Ein in diesem Verzeichnis erstelltes Wesen (mit Fileendung .xml) erscheint nach dem Start des Simulators im Popupmenü zur Objektauswahl.

Folgende Elemente müssen im XML-File definiert werden:

Roboter

Attribute Beschreibung
reference Selbstgewählter, eindeutiger Identifier bestehend aus einem einzelnen Grossbuchstaben von A-Z
Text Selbstgewählter Name des Wesens, welcher in der Objektauswahl erscheint
Farbe Farbe des Wesens. Zur Verfügung stehen red, green, blue, yellow, black, ...

Motor

Vmax

Geschwindigkeitsmaximum, zwischen 0 und 1 wählbar

Vmin

Geschwindigkeitsminimum, zwischen 0 und 1 wählbar

Vstart

Startgeschwindigkeit, zwischen 0.1 und 1 wählbar

SensorLicht

Position

Position des Sensors, mögliche Werte 'R' (rechts vorne), 'L' (links Vorne)

Weite

Sichtweite des Sensors in Bildpunkten, ca. 100 ist empfohlen

Blickwinkel

Öffnungswinkel des Sensors in Grad, ca. 30 Grad sind empfohlen

MotorLinks

Art der Ansteuerung des linken Motors, mögliche Werte sind '+' (aktiver Sensor beschleunigt Wesen) oder '-' (aktiver Sensor bremst Wesen)

MotorRechts

Art der Ansteuerung des rechten Motors, mögliche Werte sind '+'  (aktiver Sensor beschleunigt Wesen) oder '-' (aktiver Sensor bremst Wesen)