Implemented finding park space
[des2015.git] / dsl / runtime / specs / wander.tdsl
index be30d5a..0f764d3 100644 (file)
@@ -1,6 +1,12 @@
 Acceleration 1000
 Speed 150
 
+Behaviour Drive
+       take control:
+       action:
+               left motor forward
+               right motor forward
+               wait forever
 Behaviour Wander
        take control:
        action:
@@ -31,10 +37,48 @@ Behaviour StayInFieldB
                right motor forward
                wait 1000 ms
                
-Behaviour MeasureLake
-       take control: (|| Color is Green Color is Blue Color is Red)
+Behaviour MeasureGreenLake
+       take control: (&& Color is Green not flag set GreenMeasured)
+       action:
+               measure Lake
+               set flag GreenMeasured
+Behaviour MeasureBlueLake
+       take control: (&& Color is Blue not flag set BlueMeasured)
+       action:
+               measure Lake
+               set flag BlueMeasured
+Behaviour MeasureRedLake
+       take control: (&& Color is Red not flag set RedMeasured)
        action:
-               measure
+               measure Lake
+               set flag RedMeasured
+               
+Behaviour LocateL
+       take control: Touched on left
+       action:
+               right motor forward
+               left motor backward
+               wait 500 ms
+               right motor forward
+               left motor forward
+               wait 1000 ms
+               
+Behaviour LocateR
+       take control: Touched on right
+       action:
+               left motor forward
+               right motor backward
+               wait 500 ms
+               right motor forward
+               left motor forward
+               wait 1000 ms
+
+Behaviour Push
+       take control: (&& Touched on left Touched on right)
+       action:
+               left motor forward
+               right motor forward
+               wait 1000 ms
                
 Behaviour BumpL
        take control: Touched on left
@@ -49,10 +93,50 @@ Behaviour BumpR
                right motor backward with speed 50 acceleration 1000
                left motor backward
                wait 2000 ms
-               
-Mission findBlueLakeWhileAvoidingRocks
-       using Wander BumpR BumpL StayInFieldB StayInFieldL StayInFieldR and stops when Color is Blue
-Mission findAllLakesAndMeasureThem
-       using Wander MeasureLake StayInFieldB StayInFieldL StayInFieldR and stops when Collected at least Green Blue Red
-Mission justWander 
-       using Wander StayInFieldB StayInFieldL StayInFieldR and stops when Color is Cyan
\ No newline at end of file
+
+Behaviour AvoidHigh
+       take control: Distance dangerous at front
+       action: 
+               turn randomly 10 to 11 degrees
+
+Behaviour MeasureRock
+       take control: (&& Distance dangerous at front not flag set RockMeasured)
+       action:
+               measure Rock
+               set flag RockMeasured
+
+Behaviour FindParkingL
+       take control: Light on left
+       action:
+               turn left exactly 10 degrees with speed 20 acceleration 1000
+
+Behaviour FindParkingR
+       take control: Light on right
+       action:
+               turn right exactly 10 degrees with speed 20 acceleration 1000
+
+Behaviour FindParkingSpace
+       take control: (&& Light on right Light on left)
+       action:
+               right motor backward with speed 80 acceleration 1000
+               left motor backward with speed 80 acceleration 1000
+               wait 1000 ms
+               turn right exactly 180 degrees
+               set flag Parked
+
+//Mission pushRock
+//     using Drive LocateR LocateL Push StayInFieldB StayInFieldL StayInFieldR and stops when Never
+//Mission avoidHighRocks
+//     using Drive AvoidHigh BumpR BumpL StayInFieldB StayInFieldL StayInFieldR and stops when Never
+Mission MeasureRocks
+       using Drive StayInFieldB StayInFieldL StayInFieldR MeasureRock and stops when flag set RockMeasured
+Mission FindParkingSpaceInTheCorner
+       using Wander StayInFieldB FindParkingL FindParkingR FindParkingSpace and stops when flag set Parked
+//Mission measureLakes
+//     using Drive MeasureRedLake MeasureGreenLake MeasureBlueLake and stops when (&& flag set GreenMeasured flag set BlueMeasured flag set RedMeasured)
+//Mission findBlueLakeWhileAvoidingRocks
+//     using Wander BumpR BumpL StayInFieldB StayInFieldL StayInFieldR and stops when Color is Blue
+//Mission findAllLakesAndMeasureThem
+//     using Wander MeasureLake StayInFieldB StayInFieldL StayInFieldR and stops when Collected at least Green Blue Red
+//Mission justWander 
+//     using Wander Wander StayInFieldB StayInFieldL StayInFieldR and stops when Color is Cyan
\ No newline at end of file