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

视觉slam--三维刚体运动

线性代数

向量的反对称矩阵

对于三维向量 a = [a₁, a₂, a₃]ᵀ,可以定义一个对应的反对称矩阵 a∧(记作 [a]×):

 外积与矩阵乘法的等价性

欧拉角的奇异性--万向死锁

现象

第二个轴旋转\pm 90度,会导致第三个旋转轴和恶原始坐标轴的第一个旋转轴重合,导致第一次旋转与第三次旋转都使用了同一个轴进行旋转,也就是本质上旋转三次,但是只在两个自由度上旋转。

eg:

如下图,第二次的绕Y转90度之后,X就变到了初始坐标系下的Z轴方向上,第三次的绕X轴旋转,本质上还是绕空间中的这个坐标系的初始坐标的Z轴的自由度旋转。丢失了一个自由度。

丢失一个自由度会导致什么问题

(1)旋转耦合

自由度丢失,导致第三次旋转的效果丢失,在最终的旋转矩阵中没有表现出来,也导致旋转矩阵中第一次旋转和第二次旋转的旋转角耦合,无法分离出角度。

(2) 控制指令冲突

  • 如果系统试图调整航向(ψ),实际会影响横滚(ϕ),反之亦然。

  • 示例(无人机)

    • 飞控发送“增加航向角”指令,但实际可能同时改变横滚角,导致机体失控

解决方案

(1) 使用四元数(Quaternion)
  • 优势:四元数通过4D空间描述旋转,无奇异性问题,适合连续旋转和插值(如球面线性插值SLERP)。

  • 转换方法:欧拉角可转换为四元数处理,但需注意归一化和插值路径。

http://www.xdnf.cn/news/955765.html

相关文章:

  • java教程笔记(十四)-线程池
  • DAY 44 训练
  • RK3588开发笔记-wifi6 SDIO接口rtl8822cs调试笔记
  • Mysql故障排插与环境优化
  • ESP32-S3 IDF V5.4.1 LVGL 9.2.0 fatfs
  • RabbitMQ优先级队列的使用
  • 掌握业务三板斧:目标、过程、成果
  • 视频监控管理平台EasyCVR接入RTMP推流后FLV格式流高延时问题解决方案
  • 会计 - 股份支付
  • 六、接口关联
  • 对云边协同技术的理解
  • Python 协程全解析:async/await、asyncio.run、协程 vs 多线程、I/O 密集首选协程
  • EasyExcel读取csv文件乱码
  • 在 JavaScript中编写 Appium 测试(入门)
  • 【后端】单点登录
  • BI系统帮助企业释放数据价值
  • 技术突破与落地应用:端到端 2.0 时代辅助驾驶TOP10 论文深度拆解系列【第二篇(排名不分先后)】
  • Zabbix 高可用架构部署方案(2最新版)
  • DAY 45 超大力王爱学Python
  • JAVA实战开源项目:经方药食两用服务平台 (Vue+SpringBoot) 附源码
  • day030-Shell自动化编程-函数
  • Ubuntu Linux环境查看服务器资源,查询CPU,内存,环境变量等命令
  • 标注工具核心代码解析——load_image【canvas.py]
  • NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
  • 深度解析:DDoS攻击及其防御策略
  • 【深度解析】以太坊中的挖矿难度调整机制:从动态调节到“冰河时代”的倒计时
  • FOPLP vs CoWoS
  • 二、ROS2完成Docker容器和宿主机通信,使用ros2 topic list看到,但是无法echo
  • 驭码 CodeRider 2.0 产品体验:智能研发的革新之旅
  • OceanBase 桌面版