Beispiel #1
0
def runProcess(queue, vehicleData, sensor, sensorSettings, egoSensor,
               egoSensorSettings, predictor, predictorSettings, egoPredictor,
               egoPredictorSettings, extraInfo):
    sensorData = applySensor(vehicleData, 'ego', sensor, sensorSettings,
                             egoSensor, egoSensorSettings)
    predTime, predID = applyPredictor(vehicleData, sensorData, 'ego', 0.5, 1.5,
                                      predictor, predictorSettings,
                                      egoPredictor, egoPredictorSettings)
    queue.put([predTime] + extraInfo)
Beispiel #2
0
truthVehID = paramTruth["Colliding Vehicle"].tolist()

for predind in range(len(trajectory1Predictors)):
    trajectoryPredictor = trajectory1Predictors[predind]
    trajectorySettings = trajectory1Settings[predind]
    egoPredictor = ego1Predictors[predind]
    egoSettings = ego1Settings[predind]

    pred = []
    predVehID = []
    for simIndex in range(nsims):
        inFile = vehicleFolder + "/" + simName + "/" + np.str(simIndex +
                                                              1) + ".csv"
        vData = pd.read_table(inFile, sep=',')
        sensor1Data = applySensor(vData, vehicleIDtoSeek, sensor1,
                                  sensor1Settings, egoSensor1,
                                  egoSensor1Settings)

        predCollision, predictVehID = applyPredictor(vData, sensor1Data, 'ego',
                                                     2.5, 3.5,
                                                     trajectoryPredictor,
                                                     trajectorySettings,
                                                     egoPredictor, egoSettings)
        pred += [predCollision]
        predVehID += [predictVehID]

    result = scorePredictions(truth,
                              truthVehID,
                              pred,
                              predVehID,
                              display=False)
# # 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)
from subprocess import call as terminalCall
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)
Beispiel #5
0
    # 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.],
#                                 Sensors.IdealSensor, [])
#        sensorTable = pd.concat([startTable, sensorTable])
        
        sensorTable.drop('y', axis=1, inplace=True)
        sensorTable.drop('angle', axis=1, inplace=True)
        sensorTable.columns = ['Time','Sender.ID','Position','Speed','Acceleration']
        sensorTable['Time.Sent'] = sensorTable['Time']
        outFile = outputFolder+"/"+outputName+"/"+np.str(simIndex+1)+".csv"
        sensorTable.to_csv(outFile, index = False)
    print "option complete"
Beispiel #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)
Beispiel #7
0
        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)
truth = paramTruth["Collision Time"].tolist()
truthVehID = paramTruth["Colliding Vehicle"].tolist()
                               
for predind in range(len(trajectory1Predictors)):
    trajectoryPredictor = trajectory1Predictors[predind]
    trajectorySettings = trajectory1Settings[predind]
    egoPredictor = ego1Predictors[predind]
    egoSettings = ego1Settings[predind]
    
    pred = []
    predVehID = []
    for simIndex in range(nsims):
        inFile = vehicleFolder+"/"+simName+"/"+np.str(simIndex+1)+".csv"
        vData = pd.read_table(inFile, sep=',')
        sensor1Data = applySensor(vData, vehicleIDtoSeek, sensor1,
                            sensor1Settings, egoSensor1, egoSensor1Settings)
                                  
        predCollision, predictVehID = applyPredictor(vData, sensor1Data,
                                                     'ego', 2.5, 3.5,
                                                     trajectoryPredictor,
                                                     trajectorySettings,
                                                     egoPredictor,
                                                     egoSettings)
        pred += [predCollision]
        predVehID += [predictVehID]
        
    result = scorePredictions(truth, truthVehID, pred, predVehID,
                              display=False)    
    results.add(['DSRC',trajectoryNames[predind]]+result)

for predind in range(len(trajectory2Predictors)):