diff --git a/mr/ub9/loc_framework/ukf_correction.m b/mr/ub9/loc_framework/ukf_correction.m index b526e96..aaa2a1f 100644 --- a/mr/ub9/loc_framework/ukf_correction.m +++ b/mr/ub9/loc_framework/ukf_correction.m @@ -9,7 +9,9 @@ for i =1:size(X,2) Z(:,i)= measurement(X(:,i)); end -[expX,covX]=ukf_estimate_normal( X, w ); +expX=pred_mean; +covX=pred_cov; +%[expX,covX]=ukf_estimate_normal( X, w ); [expZ,CovOfIn]=ukf_estimate_normal( Z, w ); CovOfIn = CovOfIn+Q; diff --git a/mr/ub9/loc_framework/ukf_estimate_normal.m b/mr/ub9/loc_framework/ukf_estimate_normal.m index d59915a..47fa26d 100644 --- a/mr/ub9/loc_framework/ukf_estimate_normal.m +++ b/mr/ub9/loc_framework/ukf_estimate_normal.m @@ -20,7 +20,7 @@ for i =1:n cov = cov+ w(i)*(S(:,i)-mu)*(S(:,i)-mu)'; end - + % YOUR CODE END HERE: diff --git a/mr/ub9/loc_framework/ukf_sigma_points.m b/mr/ub9/loc_framework/ukf_sigma_points.m index a185737..afda9c4 100644 --- a/mr/ub9/loc_framework/ukf_sigma_points.m +++ b/mr/ub9/loc_framework/ukf_sigma_points.m @@ -24,6 +24,11 @@ w(1)=1/3; w(2:n)=(1-w0)/(2*nx); +if (sqrtm(cov)^2 ~= cov) + cov + sqrtm(cov)^2 +end + RootN= sqrt(nx/(1-w0))*sqrtm(cov); for i =1:nx