betriebpraktikanten
Class ConstraintPropagiser

java.lang.Object
  extended by betriebpraktikanten.ConstraintPropagiser

public class ConstraintPropagiser
extends java.lang.Object

Startklasse, hier werden alle notwendigen Objekte eingebunden.

Author:
lars

Constructor Summary
ConstraintPropagiser()
           
 
Method Summary
static boolean isDebug()
          globales Debug-Flag
static void main(java.lang.String[] args)
          Hier geht's los!
(package private) static void noSolution()
          Gibt die Nichtlösbarkeit bekannt und beendet das Programm
static void paintField(java.util.Iterator<javax.vecmath.Point2i> vectorIter, java.util.Iterator<java.lang.Float> angleIter, java.lang.String name, java.awt.Point position)
          Zeichnet das Spielfeld mit den aktuell noch möglichen Roboterpositionen und Richtungswinkeln.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConstraintPropagiser

public ConstraintPropagiser()
Method Detail

isDebug

public static boolean isDebug()
globales Debug-Flag


paintField

public static void paintField(java.util.Iterator<javax.vecmath.Point2i> vectorIter,
                              java.util.Iterator<java.lang.Float> angleIter,
                              java.lang.String name,
                              java.awt.Point position)
                       throws java.io.IOException
Zeichnet das Spielfeld mit den aktuell noch möglichen Roboterpositionen und Richtungswinkeln.

Parameters:
vectorIter - Zu zeichnende Positionen
angleIter - Zu zeichnende Winkel
name - Name des Fensters
position - Position des Fensters (oben links entspricht 0;0)
Throws:
java.io.IOException

noSolution

static void noSolution()
Gibt die Nichtlösbarkeit bekannt und beendet das Programm


main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Hier geht's los!
  1. Ausdrücke + Constrains einlesen
  2. Ausdrücke auswerten und für das spätere Benutzen bekannt machen
  3. C0 bestimmen
  4. Cn bestimmen --> (x,y) wird eingeschränkt, (theta)-Contraints werden zwischengespeichert
  5. Zentroid bestimmen --> festes (x,y), um (theta) einzuschränken
  6. Cn bestimmen(2) --> (theta) wird eingeschränkt (mit festem (x,y))
  7. Den Durchschnitt aller (theta) bestimmen
  8. Finale Pose ausgeben

Parameters:
args - Erwartet den Namen der Ausdrücke (args[0]) und Constraint-Datei (args[1]). Falls nicht angegeben wird ein Default-Wert benutzt (src/config/expressions.config + src/config/constraints.config)
Throws:
java.io.IOException