Ejemplo n.º 1
0
"""

simulatorFolder = '../../../simulator'
outputFolder = '../Results/RR'
parametersFile = 'simParameters.csv'
numsims = 5000


import sys,os
sys.path.append(os.path.realpath(simulatorFolder))
from OwnSim import RoadMap
from OwnSim import Simulator

from subprocess import call as terminalCall
if os.name == 'posix': # unix
    terminalCall(['mkdir','-p',os.path.realpath(outputFolder)])
else:
    terminalCall(['mkdir',os.path.realpath(outputFolder)], shell=True)

import pandas as pd
params = pd.read_csv(parametersFile)

# setup
roads = {'main':(0.,2.,1300.,2.), 'oncoming':(1300.,5.2,0.,5.2),
         'overtaking':(0.,5.2,1300.,5.2)}
roadMap = RoadMap(roads, [])

class Output:
    def __init__(self, colnames):
        self.df = None
        self.colnames = colnames
# # each parameter must have same number of options
    for maxCommunicationRange in l_maxCommunicationRange[1:]:
        options += [[letter,maxCommunicationRange,l_noiseLevel[0],l_angle[0]]]
    for noiseLevel in l_noiseLevel[1:]:
        options += [[letter,l_maxCommunicationRange[0],noiseLevel,l_angle[0]]]
    for angle in l_angle[1:]:
        options += [[letter,l_maxCommunicationRange[0],l_noiseLevel[0],angle]]
    for k in range(len(l_angle)):
        options += [[letter,l_maxCommunicationRange[k],l_noiseLevel[k],l_angle[k]]]

for option in options:
    letter, maxCommunicationRange, noiseLevel, angle = option
    simName = "inter1l/" + letter
    outputName = "inter1l/" + letter
    outputName = outputName + "_" + str(int(maxCommunicationRange))
    outputName = outputName + "_" + str(noiseLevel) + "_" + str(angle)
    terminalCall(['mkdir','-p',outputFolder+"/"+outputName])

    for simIndex in range(nsims):
        
        inFile = inputFolder+"/"+simName+"/"+np.str(simIndex+1)+".csv"
        vdata = pd.read_table(inFile, sep=',')
        
        sensorTable = applySensor(vdata, vehicleIDtoSeek, sensorToUse,
                                  [noiseLevel,
                                   maxCommunicationRange, 0., angle],
                                   sensorToUse, [noiseLevel, 100., 0., 1.])
        
        outFile = outputFolder+"/"+outputName+"/"+np.str(simIndex+1)+".csv"
        sensorTable.to_csv(outFile, index = False)
Ejemplo n.º 3
0
for option in options:
    RSUspacing, commdist = option
    RSUx = np.arange(np.random.uniform(-RSUspacing,0), trackLength+RSUspacing,
                     RSUspacing)
    #RSUarray = list(([RSUx[i],-3.2,np.pi/2] for i in range(len(RSUx))))
    #RSUarray += list(([RSUx[i],10.2,-np.pi/2] for i in range(len(RSUx))))
    RSUarray = list(([unitx, 2., np.pi] for unitx in RSUx))
    RSUarray += list(([unitx, 5.2, 0] for unitx in RSUx))
    
    # create folder for results
    outputName = "V2Ilong"
    outputName = outputName + "_" + str(int(RSUspacing))
    outputName = outputName + "_" + str(int(commdist))
    if os.name == 'posix': # unix
        terminalCall(['mkdir','-p',outputFolder+"/"+outputName])
    else:
        terminalCall(['mkdir',os.path.realpath(outputFolder+"/"+outputName)], shell=True)

    for simIndex in range(nsims):
        
        inFile = inputFolder+"/"+np.str(simIndex+1)+".csv"
        vdata = pd.read_table(inFile, sep=',')
        
        sensorTable = applySensor(vdata, 'Passing', Sensors.RSUarray,
                                  [RSUarray, 0., 0., commdist],
                                  Sensors.RSUarray, [RSUarray, 0., 0., commdist])
#        sensorTable = applySensor(vdata, 'Passing', Sensors.DSRC,
#                                  [0., commdist, 0.], Sensors.IdealSensor, [])
#        startTable = applySensor(vdata.iloc[:3],'Passing', Sensors.DSRC,
#                                 [0.,590.,0.],
Ejemplo n.º 4
0
        if errtype == KeyboardInterrupt:
            self.fil.write('\n natural exit')
        else:
            self.fil.write(str(traceback))
            print errval
        self.fil.close()


if __name__ == '__main__':

    folder = "."
    if len(sys.argv) > 1:
        folder = sys.argv[1]

    if folder != "." and not os.path.isdir(folder):
        terminalCall(['mkdir', os.path.realpath(folder)],
                     shell=os.name != 'posix')

    radarFilename = folder + "/radar.csv"
    lidarFilename = folder + "/lidar.dat"
    dsrcFilename = folder + "/dsrc.txt"
    basicFilename = folder + "/basiclog.txt"

    with Radar(radarFilename) as radar,\
         BasicLog(basicFilename) as basiclog:
        print("All sensors initialized")

        startingtime = time.time()
        radar.start(startingtime)
        # lidar.start(startingtime)
        # dsrc.start(startingtime)
        basiclog.start(startingtime)
Ejemplo n.º 5
0
3/28/16
"""

simulatorFolder = '../../../simulator'
outputFolder = '../Results/RR'
parametersFile = 'simParameters.csv'
numsims = 5000

import sys, os
sys.path.append(os.path.realpath(simulatorFolder))
from OwnSim import RoadMap
from OwnSim import Simulator

from subprocess import call as terminalCall
if os.name == 'posix':  # unix
    terminalCall(['mkdir', '-p', os.path.realpath(outputFolder)])
else:
    terminalCall(['mkdir', os.path.realpath(outputFolder)], shell=True)

import pandas as pd
params = pd.read_csv(parametersFile)

# setup
roads = {
    'main': (0., 2., 1300., 2.),
    'oncoming': (1300., 5.2, 0., 5.2),
    'overtaking': (0., 5.2, 1300., 5.2)
}
roadMap = RoadMap(roads, [])

Ejemplo n.º 6
0
from applySensor import applySensor
#from constants import VState

inputFolder = os.path.realpath("Results")
outputFolder = os.path.realpath("Sensor Results")

nsims = 30
sensorToUse = Sensors.DSRC
#sensorToUse = Sensors.FrontRadar
vehicleIDtoSeek = 'ego'

for moveType in ['rtest']:
    for noiseLevel in [0., 1.]:
        simName = "rearEnd/" + moveType
        outputName = "rearEnd/" + moveType
        outputName = outputName + "_" + str(noiseLevel)
        terminalCall(['mkdir', '-p', outputFolder + "/" + outputName])

        for simIndex in range(nsims):

            inFile = inputFolder + "/" + simName + "/" + np.str(simIndex +
                                                                1) + ".csv"
            vdata = pd.read_table(inFile, sep=',')

            sensorTable = applySensor(vdata, vehicleIDtoSeek, sensorToUse,
                                      [noiseLevel, 200., 0.], sensorToUse,
                                      [noiseLevel, 200., 0.])

            outFile = outputFolder + "/" + outputName + "/" + np.str(
                simIndex + 1) + ".csv"
            sensorTable.to_csv(outFile, index=False)