예제 #1
0
def generateDataPoint1(nP, resampleRate, numIterations, headless):
    ret = []
    m = Map(imagePath, scale=100, sampleResolution=26)
    d = Drone(m)
    pf = ParticleFilter(m, d, numParticles=nP, resampleRate=resampleRate)
    pf.calculateLikelihood()

    for i in range(numIterations):
        dp = d.generateRandomMovementVector_map()
        d.move(dp)
        pf.fullUpdate(dp)

        # ret.append(pf.averageParticleDistance(d.pos))
        ret.append(pf.numParticlesClusteredAroundGroundTruth(d.pos))

        if not headless:
            m.clearImage()
            pf.drawParticles()
            util.drawCircle(m.image, m.positionToPixel(d.pos))
            m.show()
            key = cv.waitKey(0)

    return ret