误差卡尔曼中的四元数运动学-第一章

本文深入探讨了四元数的定义,包括复数扩展与四元数空间结构,重点介绍了加减法、乘法、单位四元数、共轭、模长和逆运算等基本性质。此外,还涵盖了四元数在三维旋转表示、换向器、纯四元数运算、指数和对数等高级概念,以及在实际项目中的应用场景,如slam中的四元数表示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、四元数定义与性质

1.1 定义

四元数的定义繁多,由凯里迪克森创建的一种定义我认为是比较有吸引力的。首先我们有两个复数,A=a+bi,C=c+diA = a + bi, C = c + diA=a+bi,C=c+di. 现在增加一个自由度,令:Q=A+CjQ = A + CjQ=A+Cj. 同时令:k=ijk = ijk=ij, 这样就生成了四元数空间。

从公式1的定义中可知,实数、虚数、实虚数组合,都是属于四元数的子空间。

值得注意的是,不同的作者会定义不同的四元数,有的人把实数虚数的位置放得不一样。matlab中的四元数采用的是本文作者定义的方式。eigen中也是作者的这种定义方式。ros中的稍微有点不同,在官网上还做了说明:ROS uses quaternions to track and apply rotations. A quaternion has 4 components (x,y,z,w). That’s right, ‘w’ is last (but beware: some libraries like Eigen put w as the first number!)

1.1.1 其他四元数的表示

使用公式7所示的四元数,将实部和虚部分开。在slam中,我们使用四元数来表示三维旋转,所以一般的表示方法是(w,x,y,z)

1.2 四元数性质

  • 加减法
  • 乘法,公式13给了四元数相乘的结果。
  • 单位一
  • 共轭
  • 模长定义
  • 单位四元数,当为单位四元数时,共轭就是其逆

1.3 其他额外四元数性质

1.3.1 四元数换向器

// TODO

1.3.2 纯四元数的乘积

通过标准的乘积,去掉实数,然后假设两个相乘的纯四元数是一个,然后再假设他是一个单位四元数。最后推出来一个结论,不知道后面会不会有用。

纯虚四元数,就是“四元数可视化”中的那个三维球。

1.3.3 纯四元数的自然幂

也就是多次与自己的乘积;从theta的定义可以看出,它并不是表示旋转角度,它只是一个定义而已。

1.3.4 纯四元数指数

纯四元数的指数,与四元数的指数一样,都被定义成了幂级数。

纯四元数的指数,恰好是一个新的四元数。而且是一个单位四元数。

当角度趋近于0的时候,这个新四元数就是单位四元数

1.3.5

因为对于一般四元数来说,可以拆分成实部和虚部,然后进行计算。

1.3.6

单位四元数的对数是纯虚四元数

//TODO 公式49没太明白是怎么来的。

1.3.7

一般四元数的对数。构造单位四元数。

1.3.8

四元数的t次方,利用log和exp把t次方拿到外面去,利用单位四元数的对数,是纯虚四元数。
公式53又利用了纯虚四元数的指数。

有疑问的点

  • 1. 1.2.7章节,公式32,单位四元数都可以写成这种形式,但是求出来的theta角度,只有原始欧拉角的一半?这是为什么呢
    1. 有没有可能这个theta角,就跟你理解的不是一个,是的,不是那个角度。公式38对此有说明
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

手持电烙铁的侠客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值