当前位置: 首页 > news >正文

使用D435i运行ORB-SLAM3时,纯视觉模式与视觉-惯性模式的位姿矩阵定义问题探讨

在使用D435i运行ORB-SLAM3时,纯视觉模式(不加入IMU)与视觉-惯性模式(加入IMU)得到的位姿矩阵相差一个绕X轴旋转90度的变换,这主要是由于两种模式的世界坐标系定义不同导致的。

1. 坐标系定义差异

  • 相机坐标系(D435i):Z轴向前(正前方),Y轴向下(垂直于地面),X轴向右(右手坐标系)。
  • IMU坐标系(D435i):与相机坐标系一致(Z向前、Y向下、X向右)。
  • 纯视觉模式(无IMU)
    ORB-SLAM3以第一帧的相机坐标系作为世界坐标系。此时,世界坐标系的Y轴向下(与相机坐标系一致)。
  • 视觉-惯性模式(有IMU)
    ORB-SLAM3以重力方向定义世界坐标系:Z轴向上(与重力方向相反)、X轴向右、Y轴向前。系统通过IMU的加速度计数据感知重力方向,并据此对齐世界坐标系。

2. 坐标系转换关系

  • 重力方向在D435i中的IMU坐标系测量值为(0, g, 0)
  • 为了将IMU坐标系转换到世界坐标系(Z向上),需要执行一个旋转:
    旋转矩阵 R = [1,  0,  0][0,  0,  1][0, -1,  0]
    

3. 位姿矩阵差异的来源

  • 在视觉-惯性模式中,ORB-SLAM3在初始化时应用上述旋转,将IMU数据转换到Z向上的世界坐标系。
  • 而纯视觉模式没有重力对齐,世界坐标系保持第一帧相机的Y轴向下的方向。
  • 因此,同一个相机位姿在两种模式下的表示不同。

4. 注意

  • 轨迹对齐
    若需比较两种模式的轨迹,先将纯视觉的轨迹左乘2中的旋转矩阵。

  • ORB-SLAM3配置
    检查相机-IMU外参(Tbc)是否设置正确。D435i的相机与IMU坐标系一致,外参旋转矩阵应为单位矩阵。

总结

差异的根本原因是世界坐标系的定义不同

  • 无IMU时:世界坐标系Y向下(与第一帧相机坐标系一致)。
  • 有IMU时:世界坐标系Z向上(重力对齐)。
http://www.lryc.cn/news/578706.html

相关文章:

  • CentOS系统新手指导手册
  • 半导体和PN结
  • JavaEE线程概念
  • 人工智能在人力资源领域的深度变革:从技术适配到价值重构
  • AngularJS 安装使用教程
  • 转录组分析流程(七):GSEA分析
  • CertiK《Hack3d:2025年第二季度及上半年Web3.0安全报告》(附报告全文链接)
  • eNSP实验一:IPv4编址及IPv4路由基础
  • 统计labelme标注的json文件中各类别的标注数量
  • 百度轮岗:任命新CFO,崔珊珊退居业务二线
  • 数据结构:递归:组合数(Combination formula)
  • sqlmap学习ing(2.[第一章 web入门]SQL注入-2(报错,时间,布尔))
  • 【C++】inline的作用
  • 《UE5_C++多人TPS完整教程》学习笔记40 ——《P41 装备(武器)姿势(Equipped Pose)》
  • SQL学习笔记6
  • Linux基本命令篇 —— grep命令
  • python训练day46 通道注意力
  • 【Python】断言(assert)
  • 【1.7 漫画Java核心并发编程】
  • 【Unity实战】UI按钮回调管理:职责分离与持久化策略
  • 基于开源AI智能名片链动2+1模式S2B2C商城小程序的抖音渠道力拓展与多渠道利润增长研究
  • react-别名路径配置
  • Git 运行.sh文件
  • Hadoop、Spark、Flink 三大大数据处理框架的能力与应用场景
  • SSVEP Next:现代化的 SSVEP 可视化 Web 快速实现
  • GPT-1论文阅读:Improving Language Understanding by Generative Pre-Training
  • OSPF虚拟链路术语一览:快速掌握网络路由
  • rocketmq 之 阿里云转本地部署实践总结
  • Rust 是什么
  • GPIO详解:不仅仅是输入输出那么简单