sample_proposal.m
来自「FastSLAM1.0/2.0的仿真」· M 代码 · 共 25 行
M
25 行
function particle= sample_proposal(particle, z,idf, R, sampleproposal)
% Compute proposal distribution and then sample from it
xv= particle.xv;
Pv= particle.Pv;
% process each feature, incrementally refine proposal distribution
for i=1:length(idf)
j= idf(i);
[zpi,Hvi,Hfi,Qfi]= compute_jacobians(particle, j, R);
Qfi= inv(Qfi); % only need inverse below
vi= z(:,i)-zpi; vi(2)= pi_to_pi(vi(2));
Pv= inv(Hvi' * Qfi * Hvi + inv(Pv)); % proposal covariance
xv= xv + Pv * Hvi' * Qfi * vi; % proposal mean
particle.xv= xv;
particle.Pv= Pv;
end
% sample from proposal distribution
if sampleproposal==1, particle.xv= multivariate_gauss(xv,Pv,1); end
particle.Pv= zeros(3);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?