ApartmentSimEnvironment UpdateCameraView /EyePosition:5 2 14 /LookAtPoint:3 0 12 AddCoroBot base1 /Position:3.5 0 12 /Orientation:0 0 0 AddSonarEntity sonar1 /Position:0 0.25 -0.1 /ParentEntity:base1 /Procedure_SensorNotify:proc_sonar1 AddCoroBot base2 /Position:2.5 0 12 /Orientation:0 30 0 AddSonarEntity sonar2 /Position:0 0.25 -0.1 /ParentEntity:base2 /Procedure_SensorNotify:proc_sonar2 FlushScript base1.Go(0.2) base2.Go(0.2) Procedure proc_sonar1 call action_logic(value, base1) End Procedure proc_sonar2 call action_logic(value, base2) End Procedure action_logic(sonar, base) d1 = sonar.DistanceMeasurements[60] d2 = sonar.DistanceMeasurements[120] d3 = sonar.DistanceMeasurements[180] if (d1 < 1.0 || d2 < 1.0) { base.Drive(-0.2, 0.2, -0.2, 0.2) wait 1000 base.Go(0.2) } else { if (d3 < 1.0) { base.Drive(0.2, -0.2, 0.2, -0.2) wait 1000 base.Go(0.2) } } End