SLAM中的非线性优-3D图优化之绝对位姿SE3约束四元数形式(十九)

本节开始展示四元数用以推导绝对位姿雅克比,这也将是绝对位姿理论部分的最后一节,理论后必接实战篇,让我们进入四元数推导的世界吧

完整版实现了在6.1 补充里的公式

完整版代码https://gitee.com/zl_vslam/slam_optimizer/blob/master/multi_sensor_slam/src/imu_factor_gtsam/run_gins_pre_integ_ch4.cc

注意这里的小旋转四元数可以参考《Quaternion Kinematics for Error-State Kalman Filter》式(193)的定义,表示符号略有差异

6. 代码实战证明

如图所示,可以看到雅克比为一个6x6的矩阵,其中右下角的3x3为单位矩阵,左上角为右雅克比的逆,之前多个章节都有过右雅克比矩阵的逆,再小角度残差作用下,近似为单位阵,因此上述推导中近似的单位矩阵是完全正确的,也从侧面说明了雅克比矩阵推导的正确性

6.1 补充

待使用的公式

证明,两个四元素的雅克比如下

代码已经过验证

复制代码
gtsam::Vector GPSPoseFactor::evaluateError(const gtsam::Pose3 &pose,
                                           boost::optional<gtsam::Matrix &> Jacobian) const
{
    gtsam::Pose3 delta_pose = measurement_.inverse()*pose;
    gtsam::Vector6 error = delta_pose.Logmap(delta_pose, Jacobian);
    
    if(Jacobian) {
        gtsam::Matrix6 jac;
        jac << gtsam::I_3x3, gtsam::Z_3x3, gtsam::Z_3x3, gtsam::I_3x3; // right
        *Jacobian = jac;
    }
    return error;
}

完整版实现https://gitee.com/zl_vslam/slam_optimizer/blob/master/multi_sensor_slam/src/imu_factor_gtsam/gps_factor.cc

7. 右雅可比矩阵

8. 右雅可比的逆

9. 小角度近似推导

9.1 小角度假设

9.2 对右雅克比矩阵的展开

9.3 对右雅克比矩阵的逆进行小角度展开

9.4 零阶近似

10. 近似误差分析

10.1 一阶近似的误差

10.2 零阶近似(单位矩阵)的误差

10.3 误差量级估计

11. 在优化问题中的影响

高斯-牛顿法中的更新公式:

12. 结论公式

相关推荐
leoZ2313 小时前
本地跑大模型实战(七):llama.cpp 性能调优,让推理更快更省
java·人工智能·spring·生成对抗网络·语言模型·自然语言处理·llama
To_OC3 小时前
我把《天龙八部》塞进向量数据库后,终于搞懂了 RAG 到底是个啥
人工智能·llm·agent
蜡台3 小时前
AI Agent(智能体)入门基础教程
人工智能
Akir.weiwen4 小时前
Token 层差异:从颜色值到语义状态的三层跃迁
人工智能·设计规范
迷迭香yy4 小时前
集合竞价数据挖掘实战:用Python构建开盘信号识别系统
人工智能·python·数据挖掘
大模型momo5 小时前
Spring AI 实战:多 Agent 协作实战 —— 分工拆解复杂旅游行程任务
人工智能·spring·ai·agent·旅游
小程故事多_805 小时前
从A2C、TRPO、PPO到GRPO,强化学习策略梯度算法完整演进与大模型落地实战解析
人工智能·算法
冬奇Lab5 小时前
开源项目第176期:Better Harness — 不审查 diff,审查工作流本身,给 AI 编程 Agent 的五维评估框架
人工智能·开源·agent
冬奇Lab5 小时前
代码库知识库系列(07):混合检索 BM25 + 向量——Q8 还是失败,而且总分退步了
人工智能
ajassi20005 小时前
AI语音智能体开发日记(十一)为智能设备“声”临其境——详解音频资源自动化生成流程
人工智能·ai·ai编程