コード例 #1
0
	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))