Implemented finding park space
[des2015.git] / dsl / runtime / specs / wander.tdsl
index d592a25..0f764d3 100644 (file)
@@ -98,13 +98,42 @@ 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 measureLakes
-       using Drive MeasureRedLake MeasureGreenLake MeasureBlueLake and stops when (&& flag set GreenMeasured flag set BlueMeasured flag set RedMeasured)
+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