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 /*wait 500 ms right motor forward left motor forward wait 500ms*/ Behaviour PushR 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 PushB take control: (&& Touched on left Touched on right) action: set flag Pushing left motor forward right motor forward wait 10000 ms 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