当前位置: 首页 > 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.dtcms.com/a/264253.html

相关文章:

  • 基于SpringBoot + HTML 的网上书店系统
  • 转录组分析流程(六):列线图
  • Kafka 生产者和消费者高级用法
  • c++学习(八、函数指针和线程)
  • EasyExcel实现Excel复杂格式导出:合并单元格与样式设置实战
  • web开发,旅游景点管理系统推荐算法版本demo,基于asp.net,mvc,c#,sql server
  • 编写shell脚本扫描工具,扫描服务器开放了哪些端口(再尝试用python编写一个)
  • Set和Map的解析与应用场景
  • OSPF虚拟链路术语一览:快速掌握网络路由
  • 【字符串方法】split使用介绍
  • Android NDK探索之旅(一)
  • 中心效应:多中心临床试验的关键考量
  • 【科研绘图系列】基于R语言的复杂热图绘制教程:环境因素与染色体效应的可视化
  • 图神经网络(篇二)-基础知识
  • MySQL处理并发访问和高负载的关键技术和策略
  • 设置linux静态IP
  • 创建和连接Vue应用程序实例
  • AI的未来:人类会被取代,还是变得更强大?
  • Go语言的Map
  • 【仿muduo库实现并发服务器】Poller模块
  • Adobe AI高效设计秘籍与创新思维进阶
  • WebSocket扫盲
  • 7 项目立项管理
  • MYSQL-JAVAweb1
  • 华为设备 QoS 流分类与流标记深度解析及实验脚本
  • Ubuntu+Nginx+php+SQLite3+typecho手动搭建个人博客
  • 什么是消息队列?
  • 21.合并两个有序链表
  • android RecyclerView隐藏整个Item后,该Item还占位留白问题
  • 变幻莫测:CoreData 中 Transformable 类型面面俱到(七)