Acceleration 1000 Speed 150 Behaviour Drive take control: action: left motor forward right motor forward wait forever Behaviour Wander take control: action: 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 exactly 60 degrees wait 500 ms Behaviour StayInFieldR take control: Light on right action: turn left exactly 60 degrees wait 500 ms Behaviour StayInFieldB take control: Distance dangerous at back action: left motor forward right motor forward wait 1000 ms Behaviour GreenLake take control: (&& Color is Green not flag set GreenMeasured) action: measure Lake set flag GreenLake Behaviour BlueLake take control: (&& Color is Blue not flag set BlueMeasured) action: measure Lake set flag BlueLake Behaviour RedLake take control: (&& Color is Red not flag set RedMeasured) 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 PushL take control: Touched on left action: right motor forward left motor backward Behaviour PushR take control: Touched on right action: left motor forward right motor backward 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: set flag Pushed Mission FindAndMeasureLakes using Wander StayInFieldR StayInFieldL StayInFieldB GreenLake RedLake BlueLake and stops when (&& flag set GreenLake flag set RedLake flag set BlueLake) Mission FindAndMeasureRocks using Wander StayInFieldR StayInFieldL StayInFieldB MeasureRock and stops when flag set Measured Mission PushRocks using Wander PushL PushR PushB StopPushing StayInFieldR StayInFieldL StayInFieldB and stops when flag set Pushed