Beispiel #1
0
def uncertainTurn(alpha):  # in degrees
    global particles
    alpha = alpha % 360
    if alpha <= 180:
        rm.turn_left(interface, motors, alpha)
    else:
        rm.turn_right(interface, motors, 360 - alpha)
    sigma_g = np.sqrt(alpha) * stdev_g
    new_particles = []
    for p in particles:
        g = random.gauss(0, sigma_g)
        new_particles.append((p[0], p[1], p[2] + alpha + g, p[3]))
    particles = new_particles
Beispiel #2
0
def uncertainTurn(alpha):  # in degrees
    global particles
    alpha = alpha % 360
    if alpha <= 180:
        rm.turn_left(interface, motors, alpha)
    else:
        rm.turn_right(interface, motors, 360 - alpha)
    sigma_g = np.sqrt(alpha) * stdev_g
    new_particles = []
    for p in particles.data:
        g = random.gauss(0, sigma_g)
        new_particles.append((p[0], p[1], p[2] + alpha + g, p[3]))
    particles.data = new_particles
    sonar_reading = sonar_measurement()
    particles.update(sonar_reading)
    particles.draw()