设备倾斜时的加速度

电器工程 加速度计 数学 物理 陀螺仪 磁力计
2022-01-07 14:45:23

我目前正在开发使用始终在线的 3D 加速度计(使用刻度 +-2g)和 3D 陀螺仪(使用刻度 +-250g)-传感器的设备。

我可以读取每个可能的向量 (X,Y,Z) 及其加速度 (g's) 和角速率 (dps) 以及设备当前所在的角度。但我的问题是,当设备倾斜时(不倾斜时为 0g),加速度介于(向下)0g->-1g 或(向上)0g->1g 之间,具体取决于设备当前的角度。下面是希望清除这个想法的图片。

希望这会有所帮助

该设备将位于汽车中,并应在汽车减速(刹车)时测量加速度。但是,如果设备已经倾斜,加速度计将测量倾斜导致的一些加速度,这使得很难判断设备是否真的有一些加速度,或者仅仅是导致加速度的倾斜。

当设备没有倾斜且在平面上时,X 和 Y 轴产生 0g,Z 轴产生 1g。如果向上倾斜,倾斜会导致 X 轴读数接近 1g,向下倾斜时会导致 -1g。当设备与原始位置成 90* 度时,达到 +-1g

我一直在思考如何消除倾斜引起的加速度,只测量设备的实际加速度,但我无法用我可以产生的以下数据来解决这个问题。

基本上我认为,即使传感器像图片一样倾斜,我也只能测量 X 轴加速度(图片)。

由于我的英语技能和我试图解释我的问题的方式,希望这条消息不会太难理解。

4个回答

只是一个解决方案的草图。

考虑所有 3 个轴。

无论倾斜如何,重力引起的加速度始终为 1G,作为 X、Y、Z 的矢量和,无论倾斜如何。您可以将静止或稳定运动的加速度想象为半径为 1G 的球体上的一个点。(如果您完全水平,该点将是 (0, 0, -1) 即在您的正下方)。

由于制动而产生的加速度会使球体本身变形;X,Y,Z 的向量和将不再是 1G。

所以

$$A = \sqrt{X^2 + Y^2 + Z^2}$$

为您提供总加速度。如果它等于 G,你就处于静止状态;否则你正在加速,$A\$ 是 G 和真实加速度的向量和。

您现在必须找到真正的加速度,它通常是向前(或向后)方向的向量,它解释了 \$A\$ 和 G 之间的差异。您需要从 \$A\ 中减去 G 球体上的某个点$,找到一个(希望是唯一的解决方案)向量,它只有一个 X(前向/后向)分量。那是你的加速度。(我将把三角学作为一个简单的谜题,希望这个想法很清楚)。

除非你也在转弯或打滑,所以你需要方向盘和 ABS 的输入来确定;这变成了一个数据融合问题。这种方法将提供加速度的估计。要检查和完善该估计,请将其与其他(也是不可靠的)数据源结合起来,如 Phil Frost 的回答,使用卡尔曼滤波器。

您的主要错误是没有将加速度视为单个向量。当汽车静止时,该向量将始终向上 1 g。不要只看原始加速度计数据的 X 分量。做真正的矢量数学。

但我的问题是,当设备倾斜时(不倾斜时为 0g),加速度介于(向下)0g->-1g 或(向上)0g->1g 之间。

不,这就是重点。您所说的对于加速度计输出的 X 分量可能是正确的,但对于汽车静止时的加速度则不是这样。

理想的测量加速度始终是汽车的实际加速度(相对于地球),加上 1 g 重力加速度。后者总是在向上的方向。如果您知道汽车的方向,那么您可以减去由于重力而产生的 1 g,以找到您实际寻找的加速度。

请注意,此类读数存在相当大的误差,尤其是来自廉价 MEMS 传感器的读数。虽然您应该能够很好地了解诸如急加速或急刹车之类的短期事件,但这些数据还远远不够好,最多只能进行几秒钟以上的惯性导航。

正如其他答案所述,加速度计提供了一个三维矢量,该矢量是由于发动机、制动器或其他作用在汽车上的力而导致的汽车上的重力和其他加速度的总和。然后,您的目标是从加速度计的输出中减去重力加速度,以找到剩余的其他力。

为了获得最佳精度,您不能假设重力相对于加速度计总是“向下”。例如,汽车可能在山上。您的所有计算都必须使用三维矢量数学来完成,并且您必须对汽车的方向进行一些估计,以便知道要减去的重力矢量的方向。

卡尔曼滤波器是这里常用的方法这个想法是获取所有可能改变汽车方向的数据,然后对测量结果进行加权平均,将其与您对作用于汽车的物理知识相结合,得出对汽车的概率估计汽车的新方向以及“向下”的方式。

您拥有的数据越多,您可以越准确地模拟汽车的物理特性,这种估计就会变得越准确。

例如,如果您有一个陀螺仪并且您测量汽车向上倾斜,您可以预测重力矢量将向汽车后部旋转。在短期内,比如当汽车刚刚开始上山时,这可以帮助重力矢量迅速采取正确的方向。

您可能还假设汽车平均不会制动或加速。因此,加速度计的低通滤波输出可能会用于估计“向下”方向。这提供了不受惯性漂移影响的长期测量。

结合来自加速度计和陀螺仪的数据来估计重力方向,因此提供了比单独测量更准确的估计。

您可以进一步结合您对车辆可能运行范围的了解。例如,汽车不能在太陡峭的山坡上行驶或下山,因此当加速度计指示如此极端的角度时,您可能会减轻它的重量,假设它的大部分输出是由于刹车或发动机,而不是重力。

你知道如果司机踩刹车,这将移动加速度矢量,你可以从估计的“向下”分量中减去它。

或者,如果您有 GPS 和地图数据,您可能会根据位置对汽车的坡度进行估计。如果您有高精度数据,您可能会准确地知道车辆在哪个山坡上。如果您只有低准确度的数据,这仍然很有用。例如,如果汽车在堪萨斯州,则不太可能上山。如果汽车在旧金山,则更有可能是山丘,您可能会减轻加速度计的重量。

如果您有关于油耗和速度的数据,并且知道上坡时会消耗更多的燃油,您可以使用它来根据燃油效率估计汽车是向上还是向下倾斜。

等等。你知道的越多,你的估计就越好。

您需要一种融合算法并使用 3D 加速度计、3D 陀螺仪和 3D 磁传感器。通过这种融合算法,您可以获得姿态,地球重力有助于作为参考来检测地平线 - 俯仰/偏航/滚动角。另外两个传感器磁力/陀螺仪有助于过滤掉动态运动。因为你的车也会左转/右转,..离心力会增加。一旦你有了姿态,你就可以减去引力矢量并分解所有三个轴上的合成加速度。