从加速度计和陀螺仪(IMU)获取轨迹

时间:2017-02-11 13:48:33

标签: accelerometer gyroscope device-orientation kalman-filter

我很清楚this question的存在但我的不同。我也知道这种方法可能存在重大错误,但我也想从理论上理解配置。

我有一些基本问题,我很难清楚地回答这个问题。有很多关于加速度计和陀螺仪的信息,但我仍然没有找到一些基本属性的“从第一原理”的解释。

所以我有一个包含加速度计和陀螺仪的平板传感器。我现在还有一个磁力计。

  • 根据固定坐标系统,加速度计在每个时间t给出关于临时加速度矢量a =(ax,ay,az)的信息,以m / s ^ 2为单位。
  • 陀螺仪以deg / s为单位给出一个3D矢量,表示三个轴(Ox,Oy和Oz)的临时转速。根据这些信息,可以得到一个旋转矩阵,该矩阵对应于坐标系的无穷小旋转(根据前一时刻)。 Here是如何获得代表R的四元数的一些解释。

所以我们知道可以考虑到加速度是位置的二阶导数来计算无穷小运动。

想象一下,您的传感器已连接到您的手或腿上。在第一时刻,我们可以将其在3D空间中的点视为(0,0,0),并且初始坐标系也附加在该物理点上。因此,我们将第一次采取行动

r (1)= 0.5 a (0)dt ^ 2

其中 r 是无穷小运动向量, a (0)是加速度向量。

在以下每个步骤中,我们将使用计算

r (t + 1)= 0.5 a (t)dt ^ 2 + v (t)dt + r (t)的

其中 v (t)是以某种方式估算的速度向量,例如( r (t) - r (t-1))/ dt。

此外,在每次无限小运动后,我们都必须考虑来自陀螺仪的数据。我们将使用旋转矩阵旋转向量 r (t + 1)。

通过这种方式,可能会出现巨大误差,我将根据初始坐标系获得一些轨迹。

我的疑问是:

  1. 这个算法我原则上是否正确?如果没有,我错在哪里?
  2. 我非常感谢一些资源,其中包含一个不跳过第一条原则的工作示例。
  3. 我应该如何继续使用卡尔曼滤波器来获得更好的轨迹?我究竟以何种方式将所有IMU数据(加速度计,陀螺仪和磁力计)传递给卡尔曼滤波器?

1 个答案:

答案 0 :(得分:2)

您的概念框架是正确的,但方程需要一些工作。在平台框架中测量加速度,其可以非常快速地旋转,因此不建议将加速度集成在平台框架中并旋转位置变化。相反,加速度被转换成相对缓慢旋转的帧,并且在那里完成对速度变化和位置变化的积分。通常是本地级帧(例如,North-East-Down或Wander Aziumuth)或以地球为中心的帧(ECEF或ECI)。重力和科里奥利力必须包含在加速度中。

第一原则的衍生物可以在许多参考文献中找到,我最喜欢的一个是Titterton和Weston的Strapdown Inertial Navigation Technology。第3章给出了局部水平和地球固定框架中惯性导航方程的导数。

正如您在问题中所认识到的那样 - 初始速度是未知的整合常数。如果没有对初始速度进行一些估计,那么通过积分惯性数据得到的轨迹可能会非常错误。