compute_jacobians.m

来自「FastSLAM1.0/2.0的仿真」· M 代码 · 共 21 行

M
21
字号
function [zp,Hv,Hf,Sf]= compute_jacobians(particle, idf, R)

xv= particle.xv;
xf= particle.xf(:,idf);
Pf= particle.Pf(:,:,idf);

for i=1:length(idf)
    dx= xf(1,i)-xv(1);
    dy= xf(2,i)-xv(2);
    d2= dx^2 + dy^2;
    d= sqrt(d2);
    
    zp(:,i)= [d; pi_to_pi(atan2(dy,dx) - xv(3))]; % predicted observation
    
    Hv(:,:,i)= [-dx/d,  -dy/d,   0; % Jacobian wrt vehicle states
                 dy/d2, -dx/d2, -1];
    Hf(:,:,i)= [ dx/d,   dy/d; % Jacobian wrt feature states
                -dy/d2,  dx/d2];
    Sf(:,:,i)= Hf(:,:,i) * Pf(:,:,i) * Hf(:,:,i)' + R; % innovation covariance of 'feature observation given the vehicle'
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?