update with colors etc, we now need to test it on physical robots
[des2015.git] / dsl / runtime / src / nl / ru / des / MarsRover.java
index f5aee01..8561c0a 100644 (file)
@@ -1,5 +1,7 @@
 package nl.ru.des;
 
+import java.util.LinkedList;
+
 import lejos.hardware.ev3.EV3;
 import lejos.hardware.ev3.LocalEV3;
 import lejos.hardware.lcd.Font;
@@ -10,9 +12,11 @@ import lejos.hardware.sensor.EV3ColorSensor;
 import lejos.hardware.sensor.EV3TouchSensor;
 import lejos.hardware.sensor.EV3UltrasonicSensor;
 import lejos.robotics.SampleProvider;
+import lejos.robotics.subsumption.Arbitrator;
 
 public class MarsRover {
        public static final float SAMPLERATE = 100;
+       public static Arbitrator arb;
        
        @SuppressWarnings("resource")
        public static void main(String[] args) {
@@ -45,5 +49,16 @@ public class MarsRover {
 
                LCDPrinter.print("Initializing behaviours...");
                SensorCollector sensors = new SensorCollector(ultraSonic, color, leftTouch, rightTouch);
+               
+               LCDPrinter.print("Initializing color collector...");
+               ColorMemory colorMemory = new ColorMemory(color);
+               
+               Arbitrator a;
+               LinkedList<Mission> missions = Missions.getMissions(sensors, rightMotor, leftMotor, colorMemory);
+               for(Mission m : missions){
+                       LCDPrinter.print("Start " + m.name + " mission...");
+                       a = new Arbitrator(m.behaviours);
+                       a.start();
+               }
        }
 }
\ No newline at end of file