从加速度计和陀螺仪(IMU)获取轨迹 [英] Getting a trajectory from accelerometer and gyroscope (IMU)

查看:1932
本文介绍了从加速度计和陀螺仪(IMU)获取轨迹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我很清楚这个问题,但是我的会有所不同。我也知道这种方法可能会出现重大错误,但我想从理论上也了解配置。

I am well aware of the existence of this question but mine will differ. I also know that there could be significant errors with this approach but I want to understand the configuration also theoretically.

我有一些基本问题,我自己很难回答清楚地。关于加速度计和陀螺仪的信息很多,但我仍然找不到从第一原理开始对某些基本属性的解释。

I have some basic questions which I find hard to answer for myself clearly. There is a lot of information about accelerometers and gyroscopes but I still haven't found an explanation "from first principles" of some basic properties.

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

So I have a plate sensor that contains an accelerometer and gyroscope. There is also a magnetometer which I skip for now.


  • 加速度计在每次t中给出有关临时加速度矢量a =(ax,ay,az)的信息,单位为m / s ^ 2根据传感器的固定坐标系。

  • 陀螺仪给出以度/秒为单位的3D矢量,表示三个轴(Ox,Oy和Oz)的暂时旋转速度。从这一信息中,可以得到一个旋转矩阵,该矩阵对应于坐标系的无穷小旋转(根据前一力矩)。 这里解释了如何获取代表R的四元数。 li>
  • The accelerometer gives information in each time t about the temporary acceleration vector a = (ax, ay, az) in m/s^2 according to the fixed coordinate system to the sensor.
  • The gyroscope gives a 3D vector in deg/s which says the temporary speed of rotation of the three axes (Ox, Oy and Oz). From this information, one can get a rotation matrix that corresponds to an infinitesimal rotation of the coordinate system (according to the previous moment). Here is some explanation how to obtain a quaternion, that represents R.

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

So we know that the infinitesimal movement can be calculated considering that the acceleration is the second derivative of the position.

假设您的传感器连接到手或腿上。首先,我们可以将其在3D空间中的点视为(0,0,0),并且初始坐标系也附加在该物理点中。因此,对于第一步,我们将有

Imagine that your sensor is attached to your hand or leg. In the first moment we can consider its point in 3D space as (0,0,0) and the initial coordinate system also attached in this physical point. So for the very first time step we will have

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

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

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

where r is the infinitesimal movement vector, a(0) is the acceleration vector.

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

In each of the following steps we will use the calculations

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

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

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

where v(t) is the speed vector which will be estimated in some way, for example as (r(t)-r(t-1)) / dt.

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

Also, after each infinitesimal movement we will have to take into account the data from the gyroscope. We will use the rotation matrix to rotate the vector r(t+1).

这样,可能会有巨大的误差,根据初始坐标系的一些轨迹。

In this way, probably with tremendous error I will get some trajectory according to the initial coordinate system.

我的查询是:


  1. 我主要使用这种算法吗?如果不是,我在哪里错了?

  2. 我将不胜感激,并提供了一些工作示例,其中没有跳过第一个原理。

  3. 如何我应该继续使用卡尔曼滤波器来获得更好的轨迹吗?我究竟以什么方式将所有IMU数据(加速度计,陀螺仪和磁力计)传递给卡尔曼滤波器?


推荐答案

您的概念框架是正确的,但是等式需要一些工作。加速度是在平台框架中测量的,可以快速旋转,因此不建议将加速度积分到平台框架中并旋转位置变化。而是将加速度转换为相对缓慢旋转的框架,并在那里进行速度变化和位置变化的积分。通常是局部级别的帧(例如,东北偏北或漫游方位角)或以地球为中心的帧(ECEF或ECI)。加速度中必须包括重力和科里奥利力。

Your conceptual framework is correct, but the equations need some work. The acceleration is measured in the platform frame, which can rotate very quickly, so it is not advisable to integrate acceleration in the platform frame and rotate the position change. Rather, the accelerations are transformed into a relatively slowly rotating frame and the integration to velocity change and position change is done there. Typically a locally-level frame (e.g. North-East-Down or Wander Aziumuth) or an Earth-centered frame (ECEF or ECI). Gravity and Coriolis force must be included in the acceleration.

在许多参考文献中都可以找到第一性原理的派生,我的最爱之一是捷特(Titterton)和韦斯顿(Weston)的惯性导航技术。在第3章中给出了局部水平和地球固定框架中的惯性导航方程的推导。

Derivations from first principles can be found in many references, one of my favorites is Strapdown Inertial Navigation Technology by Titterton and Weston. Derivations of the inertial navigation equations in locally-level and Earth-fixed frames are given in Chapter 3.

正如您在问题中所认识的那样,初始速度是未知的积分常数。如果不对初始速度进行某种估计,则由于整合惯性数据而产生的轨迹可能是完全错误的。

As you've recognized in your question - the initial velocity is an unknown constant of integration. Without some estimate of initial velocity the trajectory resulting from integrating the inertial data can be wildly wrong.

这篇关于从加速度计和陀螺仪(IMU)获取轨迹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆