X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=dsl%2Fruntime%2Fspecs%2Fwander.tdsl;h=f7e369763915da373d8fec579292f7a16aad6f28;hb=HEAD;hp=a51a0649f44c5593432bf709007f0976a894efa2;hpb=16aef029cf49685c60c422d36b54d459355e832c;p=des2015.git diff --git a/dsl/runtime/specs/wander.tdsl b/dsl/runtime/specs/wander.tdsl index a51a064..f7e3697 100644 --- a/dsl/runtime/specs/wander.tdsl +++ b/dsl/runtime/specs/wander.tdsl @@ -1,29 +1,162 @@ Acceleration 1000 -Speed 250 -Behaviour Wander +Speed 150 + +Behaviour Drive take control: action: left motor forward right motor forward wait forever - -Behaviour StayInFieldBoth - take control: (&& Light on left Light on right) + +Behaviour Wander + take control: action: - left motor backward with speed 1000 acceleration 10000 - right motor backward with speed 250 acceleration 10000 - wait 1000 ms + left motor forward + right motor forward + wait 2000 ms + turn randomly 0 to 45 degrees + left motor forward + right motor forward + wait 2000 ms + Behaviour StayInFieldL take control: Light on left action: - turn right 90 with speed 100 acceleration 10000 + turn right exactly 60 degrees + wait 500 ms + Behaviour StayInFieldR take control: Light on right action: - turn left 90 with speed 100 acceleration 10000 + turn left exactly 60 degrees + wait 500 ms + Behaviour StayInFieldB take control: Distance dangerous at back action: - wait 750 ms - -Mission stayinfield using Wander StayInFieldL StayInFieldR StayInFieldB StayInFieldBoth and stops when Color is Cyan \ No newline at end of file + left motor forward + right motor forward + wait 1000 ms + +Behaviour GreenLake + take control: (&& (|| Color is Green Color is Yellow) not flag set GreenLake) + action: + measure Lake + set flag GreenLake + +Behaviour BlueLake + take control: (&& Color is Blue not flag set BlueLake) + action: + measure Lake + set flag BlueLake + +Behaviour RedLake + take control: (&& Color is Red not flag set RedLake) + action: + measure Lake + set flag RedLake + +Behaviour MeasureRock + take control: (&& Distance dangerous at front not flag set Measured) + action: + measure Rock + set flag Measured + +Behaviour AvoidL + take control: Touched on left + action: + left motor forward + right motor backward + +Behaviour AvoidR + take control: Touched on right + action: + right motor forward + left motor backward + +Behaviour PushL + take control: Touched on left + action: + right motor forward + left motor forward with speed 50 acceleration 1000 + +Behaviour PushR + take control: Touched on right + action: + left motor forward + right motor forward with speed 50 acceleration 1000 + +Behaviour PushB + take control: (&& Touched on left Touched on right) + action: + set flag Pushing + left motor forward + right motor forward + wait forever + +Behaviour StopPushing + take control: (&& not Touched on left not Touched on right flag set Pushing) + action: + left motor backward + right motor backward + wait 1000ms + turn left exactly 180 degrees + set flag Pushed + +Behaviour FoundLineL + take control: (&& (|| not flag set LeftLine not flag set RightLine) Light on left not Light on right Color is Black) + action: + left motor backward with speed 75 acceleration 1000 + right motor backward with speed 75 acceleration 1000 + wait 1000 ms + set flag LeftLine + +Behaviour FoundLineR + take control: (&& (|| not flag set LeftLine not flag set RightLine) Light on right not Light on left Color is Black) + action: + left motor backward with speed 75 acceleration 1000 + right motor backward with speed 75 acceleration 1000 + wait 1000 ms + set flag RightLine + +Behaviour FollowLGood + take control: (&& flag set LeftLine Light on left) + action: + left motor forward with speed 75 acceleration 1000 + right motor backward with speed 60 acceleration 1000 + +Behaviour FollowLBad + take control: (&& flag set LeftLine not Light on left) + action: + left motor forward with speed 75 acceleration 1000 + right motor forward with speed 100 acceleration 1000 + +Behaviour FollowRGood + take control: (&& flag set RightLine Light on right) + action: + right motor forward with speed 75 acceleration 1000 + left motor backward with speed 60 acceleration 1000 + +Behaviour FollowRBad + take control: (&& flag set RightLine not Light on right) + action: + right motor forward with speed 75 acceleration 1000 + left motor forward with speed 100 acceleration 1000 + +Behaviour FoundParkingSpace + take control: (&& (|| flag set LeftLine flag set RightLine) Color is White) + action: + set flag Parked + +Mission FindAndMeasureRocks + using Drive StayInFieldR StayInFieldL StayInFieldB AvoidL AvoidR MeasureRock + and stops when flag set Measured +Mission FindAndMeasureLakes + using Drive StayInFieldR StayInFieldL StayInFieldB AvoidL AvoidR GreenLake RedLake BlueLake + and stops when (&& flag set GreenLake flag set RedLake flag set BlueLake) +Mission PushRocks + using Drive PushL PushR PushB StayInFieldR StayInFieldL StayInFieldB StopPushing + and stops when flag set Pushed +Mission Park + using Drive FoundLineL FoundLineR FollowLBad FollowLGood FollowRBad FollowRGood StayInFieldB FoundParkingSpace + and stops when flag set Parked \ No newline at end of file