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

相关推荐
zhangfeng11332 小时前
`transformers` 的 `per_device_train_batch_size` 不支持小于 1 的浮点数值,llamafactory 支持
人工智能·算法·batch
Predestination王瀞潞2 小时前
1.3.1 AI->Tesseract OCR Engine标准(HP、Google):Tesseract OCR Engine
人工智能·ocr
Fleshy数模2 小时前
基于PyTorch的食品图像分类:数据增强与调优实战
人工智能·pytorch·分类
岁岁种桃花儿2 小时前
AI超级智能开发系列从入门到上天第十篇:SpringAI+云知识库服务
linux·运维·数据库·人工智能·oracle·llm
小马_xiaoen2 小时前
2026 AI 开发新风向:Skills 安装量 Top 10 深度解析
人工智能·skill
Surmon2 小时前
AI 代替不了这样的你
人工智能·ai编程
j_xxx404_2 小时前
蓝桥杯基础--时间复杂度
数据结构·c++·算法·蓝桥杯·排序算法
ZGi.ai2 小时前
一个 LLM 网关需要做哪些事? 多模型统一接入的工程设计
人工智能
FL16238631292 小时前
C#版winform实现FaceFusion人脸替换
人工智能