对于Jacobian矩阵的理解GVINS

理解GVINS中的jacobians设置

在GNSS处理的阶段 由于涉及了误差函数residual,同时,我们也了解到jacobians矩阵是误差函数对于待优化的变量求导后得到的矩阵
可以理解为:误差函数对于位姿、待估计优化变量得到的雅可比矩阵 ,决定着下一步骤最优迭代估计的方向。

所以在GVINS的个人jacobians矩阵推倒的理解如下:

上面的图片为根据GNSS的pseudorange待估计的(待优化的变量)因为是伪距和doppler共同估计 所以 此时的待估计优化参数有位置、速度、钟差、钟漂等

下图是对于估计的伪距的计算,最终估计的伪距通过psr_estimated 表示。
残差是通过下面这行给出的:
通过对residual函数的每个待优化的变量分别求导,得出jacobians的矩阵。

矩阵的设置如下:J_Pi 矩阵设置成为<2,7>表示residual为2维度,而7表示待估计的优化变量是7维度。

通过:J_Pi.topLeftCorner<1, 3>() = -rcv2sat_unit.transpose() * R_ecef_local * pr_weight * ratio;表示:将Jacobians矩阵的左上角<1,3>1行3列的元素填满为rcv2sat_unit.transpose() * R_ecef_local * pr_weight * ratio。
rcv2sat_unit.transpose() * R_ecef_local * pr_weight * ratio实则为residual(Pseudorange)对于Pi求导的结果

同理J_Pi.bottomLeftCorner<1, 3>() = (sv_vel-V_ecef).transpose() * unit2rcv_pos * R_ecef_local * dp_weight * ratio;实则表示对于residual[2]也就是residual(DopplerVelocity对Pi求导的结果)

其中residual[2]的设置为: residuals[1] = (dopp_estimated + obs->dopp[freq_idx]*wavelength) * dp_weight;

而J_Pi.bottomLeftCorner<1, 3>()填入的数值 正好是对residual[2]求导的结果:(sv_vel-V_ecef).transpose() * unit2rcv_pos *

R_ecef_local * dp_weight * ratio;

接下来的

cpp 复制代码
if (jacobians[1])
        {
            Eigen::Map<Eigen::Matrix<double, 2, 9, Eigen::RowMajor>> J_Vi(jacobians[1]);
            J_Vi.setZero();
            J_Vi.bottomLeftCorner<1, 3>() = rcv2sat_unit.transpose() * (-1.0) * 
                R_ecef_local * dp_weight * ratio;
        }

同样能理解:为residual(2维度向量)对待优化变量的求导,其中这个待优化变量选择的是9维度表示------待优化变量中包括velocity(3),bias_gyro(3)bias_acce(3),而对于residual求导也就是velocity会存在数值,我进行求导后,推导出来的结果和J_Vi.bottomLeftCorner<1, 3>()赋值的结果相同为:rcv2sat_unit.transpose() * (-1.0) *

R_ecef_local * dp_weight * ratio;这是对residul(DopplerVelocity求导的结果)

接下来的Jacobian赋值同理,作者真的很强,能够独立推导residual的待优化变量求导 我向大佬学习。

相关推荐
愚公搬代码7 小时前
【愚公系列】《AI+直播营销》015-直播的选品策略(设计直播产品矩阵)
人工智能·线性代数·矩阵
paixingbang10 小时前
2026短视频矩阵服务商评测报告 星链引擎、河南云罗、数阶智能
大数据·线性代数·矩阵
scott19851210 小时前
NVIDIA GPU内部结构:高性能矩阵乘法内核剖析
线性代数·矩阵·gpu·nvidia·cuda
AI科技星14 小时前
能量绝对性与几何本源:统一场论能量方程的第一性原理推导、验证与范式革命
服务器·人工智能·科技·线性代数·算法·机器学习·生活
sunfove15 小时前
上帝的乐谱:从线性代数视角重构傅里叶变换 (FT) 的数学表达式
线性代数·机器学习·重构
victory04312 天前
pytorch 矩阵乘法和实际存储形状的差异
人工智能·pytorch·矩阵
AI科技星2 天前
引力与电磁的动力学耦合:变化磁场产生引力场与电场方程的第一性原理推导、验证与统一性意义
服务器·人工智能·科技·线性代数·算法·机器学习·生活
todoitbo2 天前
从零搭建鲲鹏 HPC 环境:从朴素矩阵乘法到高性能实现
线性代数·矩阵·鲲鹏·昇腾
lingzhilab2 天前
零知IDE——基于STMF103RBT6结合PAJ7620U2手势控制192位WS2812 RGB立方体矩阵
c++·stm32·矩阵
你要飞2 天前
Part 2 矩阵
笔记·线性代数·考研·矩阵