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
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()