1. 旋转运动学

1.1 写在前面

这一块本来应该并不难,但是感觉深蓝学院的vio课程讲的有点粗略有点云里雾里的,也可能是我没理解清楚,所以按照自己的理解写了一部分内容。理解不当之处非常希望大家能指出,因为可能理解错了或者复杂了
VIO:IMU传感器
图一:来自深蓝学院VIO课程

1.2 问题背景

问题背景:三维线性空间R3R^3 中一个向量r=(rx,ry,rz)r=(r_x,r_y,r_z),我们可以使用这个向量r来表示一个质点(机器人)位置,当这个机器人运动时,现在我们要分析当我们站在原地不动(静止坐标系inertial frame)和站在转动的转盘上(转动坐标系body frame)时对这个运动的观测关系。
注意:这个(rx,ry,rz)(r_x,r_y,r_z)并不是向量rr的坐标,只是向量rr的分量值。因为现在还没有在线性空间R^3中定义该线性空间的基呢,所以坐标也无从谈起,要讨论运动一定要放在某个坐标系(线性空间中的基向量矩阵)下才可以,所以下面开始定义坐标系。

1.3 定义描述问题的坐标系

如图一所示,设有固定坐标系inertial frame和运动坐标系body frame
设inertial frame的基向量矩阵为:Ei=(x,y,z)E_i=(x,y,z),设body frame的基向量矩阵为: Eb=(i,j,k)E_b=(i,j,k)
现在定义了线性空间R3R^3的两个基后,我们才可以设向量r=(rx,ry,rz)r=(r_x,r_y,r_z)在相应的基下的坐标,其实也不是设的,是定义了基后算出来的。
设质量块在inertial frame下的坐标为:ri=(xi,yi,zi)r_i=(x_i,y_i,z_i),在body frame下的坐标为:rb=(xb,yb,zb)r_b=(x_b,y_b,z_b)
同时因为inertial frame是全局固定坐标系,所以可以设Ei=(x,y,z)=IE_i=(x,y,z)=I,即单位矩阵,此时R3R^3中向量r=(rx,ry,rz)r=(r_x,r_y,r_z)在基Ei=(x,y,z)=IE_i=(x,y,z)=I下的坐标rx=xiry=yirz=yz(1)r_x=x_i \quad r_y=y_i \quad r_z=y_z \quad (1)注意:(1)式中的等号只是在数值上相等,但是左边是坐标值,右边是向量的分量值。又因为R^3 是定义在数域R上的线性空间,R^3中向量的分量也是实数R,所以(1)式可以成立。
这里为什么啰嗦这么多呢,一是因为深蓝vio课程直接给出了结果,定义过程感觉有点模糊,可能大佬们已经很清楚了。二是在机器人学中的状态估计里面这部分内容区分了向量和向量在基下坐标的概念,所里这里理清了一点思路

1.4 问题求解

1.4.1 速度求解

现在用基Ei,EbE_i,E_brr在其下对应的坐标表示rr,即 r=Eiri=Ebrb(2)r=E_ir_i=E_br_b \quad (2)ri=EiTEbrb=Ebrb=Ribrb(3)r_i=E_i^TE_br_b=E_br_b=R_{ib}r_b \quad (3)因为,body frame是随着时间的变化不断旋转的,其基向量矩阵即Eb=RibE_b=R_{ib}EbE_b中的坐标rbr_b也是时间的函数。现在对式ri=Ribrbr_i=R_{ib}r_b两端对时间t求导
ri=Ribrb+Ribrb=Rrbrb+w×Ribrb=Rrbrb+w×ri(4)\begin{aligned} r_i'&=R_{ib}r_b'+R_{ib}'r_b \\&=R_{rb}r_b'+w\times R_{ib}r_b \\ &=R_{rb}r_b'+w\times r_i \end{aligned} \quad (4)这个ww表示的是角速度,
若用vi,vbv_i,v_b分别表示ri,rbr_i',r_b'则(4)式可写作如下vi=Rrbvb+w×rbv_i=R_{rb}v_b+w\times r_b这个地方我学的时候感觉也有些忙模糊,对这个概念的理解还停留在小学。。。,现在在回来研究一下这个小学学过的内容~

1.4.2 何为角速度?

首先,借用深蓝学院vio课程中的推导内容初步理解一下角速度,如图二所示
VIO:IMU传感器
图二:来自深蓝学院
也就是说,某一点rr绕某一个旋转轴做圆周运动时,
坐标变换的速度(即线速度)向量= 角速度向量 ×\times rr与坐标原点连线所得的向量
考察模长时,即线速度 = 角速度*半径
现在,我们把上述推导推广一下,即当某个坐标系(比如body frame)绕着角速度向量ww转动时,情况会怎样呢?
VIO:IMU传感器
图三:来自手绘

如图三所示,当坐标系body绕着向量ww旋转时,各个基向量eie_i也是在绕着ww做圆周运动,类比上面的推导,现在我们可以定义角速度向量ww如下
ei=w×eiei=weisin(θ)(5)ei=wR\begin{aligned} e_i'&=w\times e_i \\|e_i'|&=|w|*|e_i|*sin(\theta) \quad(5)\\|e_i'|&=|w|*R \end{aligned}当我们按照(5)式定义角速度时,我们可以得到线速度=角速度*半径,同时可以看到eie_i'方向也是线速度的运动方向。

1.4.3 角速度总结

个人理解总结,欢迎讨论或者直接告诉我
通过1.4.1的推导,可以看到角速度就是描述旋转(圆周运动)的一个量。
比如说,我们说body frame相对于inertial frame在旋转,那你旋转总有个旋转轴吧,那么这个旋转轴的方向就是角速度向量的方向,而角速度向量的模长就是角速度的大小。

1.4.4 加速度求解

2. IMU测量模型及运动模型

2.1 加速度计和陀螺仪

加速度计和陀螺仪就是用来分别测量物体加速度和旋转角速度的,测量的方式多种多样,知道他俩能测就行了。VIO:IMU传感器

3. IMU误差模型

相关文章:

  • 2021-10-18
  • 2021-04-09
  • 2021-11-23
  • 2021-11-27
  • 2022-01-08
  • 2021-05-27
  • 2021-11-10
  • 2021-10-31
猜你喜欢
  • 2021-08-25
  • 2022-12-23
  • 2021-12-02
  • 2021-12-03
相关资源
相似解决方案