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. 结论公式

相关推荐
Coffeeee2 分钟前
帮你快速理解AI Agent之我想招个Android实习生
android·人工智能·agent
小月土星6 分钟前
JavaScript 递归入门:从 1 到 n 求和,再到数组扁平化
javascript·算法·面试
新新技术迷9 分钟前
AI聊天自动跟随滚动,附回到底部按钮
人工智能
先锋部队9 分钟前
用Web Worker解析AI返回的大文本不卡UI
人工智能
把你拉进白名单13 分钟前
8.OpenClaw源码解析——三层洋葱重试
人工智能·llm·agent
用户6324150317815 分钟前
拖文档进AI对话框解析,前端要处理哪些脏活
人工智能
姗姗来迟了22 分钟前
AI回答里的引用来源卡片,前端怎么做
人工智能
用户71062077334023 分钟前
Codex-端口配置错误排查案例(stream disconnected before completion)
人工智能
IT_陈寒1 小时前
JavaScript的默认参数挖坑实录,我掉进去了
前端·人工智能·后端
米小虾2 小时前
多Agent系统编排详解:从架构设计到代码实现
人工智能·agent