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

查看:106
本文介绍了从加速度计和陀螺仪 (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 的四元数.莉>
  • 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.5a(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.5a(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 数据(加速度计、陀螺仪和磁力计)传递给卡尔曼滤波器?

推荐答案

你的概念框架是正确的,但方程需要一些工作.加速度是在平台框架中测量的,它可以旋转得非常快,因此不建议在平台框架中集成加速度并旋转位置变化.相反,加速度被转换成一个相对缓慢的旋转坐标系,并在那里完成对速度变化和位置变化的整合.通常是局部坐标系(例如 North-East-Down 或 Wander Aziumuth)或以地球为中心的坐标系(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天全站免登陆