err += Sim.moveVehicleAlong('ego', egoSpeed * DELTAT) if leadSpeed > 0.: err += Sim.moveVehicleAlong('lead', leadSpeed * DELTAT) # check for ending of simulation if lanelength - max(leadLanePos, egoLanePos) < 10: # either vehicle is near the end of the road break if egoLanePos - leadLanePos > 100: # ego passed lead a while ago break if err > 0: break if err == 0: Sim.end() # save iteration information outputFile = outputFolder+'/'+options.outputName+'/'+str(iteration)+'.csv' output.columns = outputColumns output.to_csv(outputFile, sep=',',header=True,index=False) if params is None: params = params_iter else: params = params.append(params_iter) # finish step print "iteration "+str(iteration)+" : "+str(time.time()-starttime) iteration += 1 time.sleep(.05) else:
if Sim.getLaneInfo(leftLane)[0] - leftLanePos < leftDist: if leftLane[1]=='i': # ego entering intersection err += Sim.moveVehicleAlong('left',leftDist, '1o_1') elif leftLane[1]=='o': # remove or exit sim break #else: # err += Sim.moveVehicleAlong('left',leftDist, '1o_1') elif leftDist > 0.: err += Sim.moveVehicleAlong('left', leftDist) # check for ending of simulation if err > 0: break if err == 0: Sim.end() # save iteration information outputFile = outputFolder+'/'+options.outputName+str(iteration)+'.csv' output.columns = outputColumns output.to_csv(outputFile, sep=',',header=True,index=False) if params is None: params = params_iter else: params = params.append(params_iter) # finish step print "iteration "+str(iteration)+" : "+str(time.time()-starttime) iteration += 1 time.sleep(.05) else:
# -*- coding: utf-8 -*- """ Created on Tue Nov 17 20:13:37 2015 @author: motro """ from sumoMethods import Sumo configuration = 'emptyhighway' sim = Sumo(configuration, gui=True) sim.createVehicle('a','main_0',40) [lane,lanex,xy] = sim.getVehicleState('a') print 'a, 0: '+str(xy[0]) sim.createVehicle('b','main_0') [lane,lanex,xy] = sim.getVehicleState('b') print 'b, 0: '+str(xy[0]) sim.moveVehicleAlong('b',38) [lane,lanex,xy] = sim.getVehicleState('a') print 'a, 1: '+str(xy[0]) [lane,lanex,xy] = sim.getVehicleState('b') print 'b, 1: '+str(xy[0]) sim.end()