文章目录
1. 旋转运动学
1.1 写在前面
这一块本来应该并不难,但是感觉深蓝学院的vio课程讲的有点粗略有点云里雾里的,也可能是我没理解清楚,所以按照自己的理解写了一部分内容。理解不当之处非常希望大家能指出,因为可能理解错了或者复杂了
图一:来自深蓝学院VIO课程
1.2 问题背景
问题背景:三维线性空间 中一个向量,我们可以使用这个向量r来表示一个质点(机器人)位置,当这个机器人运动时,现在我们要分析当我们站在原地不动(静止坐标系inertial frame)和站在转动的转盘上(转动坐标系body frame)时对这个运动的观测关系。
注意:这个并不是向量的坐标,只是向量的分量值。因为现在还没有在线性空间R^3中定义该线性空间的基呢,所以坐标也无从谈起,要讨论运动一定要放在某个坐标系(线性空间中的基向量矩阵)下才可以,所以下面开始定义坐标系。
1.3 定义描述问题的坐标系
如图一所示,设有固定坐标系inertial frame和运动坐标系body frame
设inertial frame的基向量矩阵为:,设body frame的基向量矩阵为: 。
现在定义了线性空间的两个基后,我们才可以设向量在相应的基下的坐标,其实也不是设的,是定义了基后算出来的。
设质量块在inertial frame下的坐标为:,在body frame下的坐标为:
同时因为inertial frame是全局固定坐标系,所以可以设,即单位矩阵,此时中向量在基下的坐标注意:(1)式中的等号只是在数值上相等,但是左边是坐标值,右边是向量的分量值。又因为R^3 是定义在数域R上的线性空间,R^3中向量的分量也是实数R,所以(1)式可以成立。
这里为什么啰嗦这么多呢,一是因为深蓝vio课程直接给出了结果,定义过程感觉有点模糊,可能大佬们已经很清楚了。二是在机器人学中的状态估计里面这部分内容区分了向量和向量在基下坐标的概念,所里这里理清了一点思路
1.4 问题求解
1.4.1 速度求解
现在用基和在其下对应的坐标表示,即 因为,body frame是随着时间的变化不断旋转的,其基向量矩阵即和中的坐标也是时间的函数。现在对式两端对时间t求导
这个表示的是角速度,
若用分别表示则(4)式可写作如下这个地方我学的时候感觉也有些忙模糊,对这个概念的理解还停留在小学。。。,现在在回来研究一下这个小学学过的内容~
1.4.2 何为角速度?
首先,借用深蓝学院vio课程中的推导内容初步理解一下角速度,如图二所示
图二:来自深蓝学院
也就是说,某一点绕某一个旋转轴做圆周运动时,
坐标变换的速度(即线速度)向量= 角速度向量 与坐标原点连线所得的向量
考察模长时,即线速度 = 角速度*半径
现在,我们把上述推导推广一下,即当某个坐标系(比如body frame)绕着角速度向量转动时,情况会怎样呢?
图三:来自手绘
如图三所示,当坐标系body绕着向量旋转时,各个基向量也是在绕着做圆周运动,类比上面的推导,现在我们可以定义角速度向量如下
当我们按照(5)式定义角速度时,我们可以得到线速度=角速度*半径,同时可以看到方向也是线速度的运动方向。
1.4.3 角速度总结
个人理解总结,欢迎讨论或者直接告诉我
通过1.4.1的推导,可以看到角速度就是描述旋转(圆周运动)的一个量。
比如说,我们说body frame相对于inertial frame在旋转,那你旋转总有个旋转轴吧,那么这个旋转轴的方向就是角速度向量的方向,而角速度向量的模长就是角速度的大小。
1.4.4 加速度求解
2. IMU测量模型及运动模型
2.1 加速度计和陀螺仪
加速度计和陀螺仪就是用来分别测量物体加速度和旋转角速度的,测量的方式多种多样,知道他俩能测就行了。