generate_simulation(num_landmarks, x_min, x_max, orig_state=[5, 50, 0], threshold=None, number_of_steps=number_of_steps, f=f, Q=Q, R=R, step_size=3, additional_args=(w, delta_t), dim_state=3) # set up the Extended Kalman filter to use ExKF = ExtendedKalmanFilter(position_at_i[0], np.eye(3), dim_state=3, dim_z=2, Q=Q*Q_inflation, R=R) # set up the Ensemble Kalman filter to use EnsKF = EnsembleKalmanFilter(position_at_i[0], number_of_ensemble_members, dim_state=3, dim_z=2, Q=Q*Q_inflation, R=R, init_cov=init_cov) # set up the particle filter to use PF = ParticleFilter(number_of_particles, position_at_i[0], Q*Q_inflation, R, init_args=('gaussian', init_cov)) ex_prediction = [ExKF.state] ens_prediction = [EnsKF.state] pf_prediction = [PF.get_prediction()] plot_result, plot_prediction, plot_update = True, False, False do_ex, do_ens, do_pf = True, True, True folder = "../output/localization/" for i in range(1, number_of_steps+1): print("--> Doing step %d" % i) u = u_at_i[i] z = measurements_at_i[i] if do_ex: ExKF.predict(f, F, u, f_args=(w, delta_t), F_args=(w, delta_t))