我只是刚开始使用IMU,我真的想研究自己的飞行控制器,但是一个问题总是浮现在脑海,我无法在任何地方找到答案,所以我在这里。

多个IMU是否将有助于提高四轴飞行器的稳定性?对所有多个IMU的值求平均值应该减少漂移,这是时间的函数,但是我没有IMU的经验,只是无法通过添加一个额外的IMU来弄清纠错的数量,这是否可以相加? ?或指数?

此问题也已发布在Electrical Engineering Stack Exchange网站上。

评论

请不要将同一问题交叉发布到多个Stack交换站点。选择一个看似最合适的一个,然后在必要时可以将其迁移到另一个。现在,这个问题在机器人技术和电气工程堆栈交换站点上都有答案。

向我道歉,因为我是栈交换的新手,并且不知道问题是否可以移植。

没问题,有效地使用堆栈交换绝对是您必须学习的技能,因此我们会尽力提供帮助。无论如何,欢迎并感谢您的提问。

#1 楼

多个IMU系统用于进行更精确的测量。但是,这些系统的主要目的是进行多次测量,并利用这些测量之间的差异来获得最准确的结果。机器人中使用多个传感器来测量不同的身体部位。为了使用不止一个IMU来提高测量精度,传感器的位置和融合方法很重要。如果将每个传感器放在同一位置或非常靠近,您可能不会看到太大的变化。但是,如果要为多旋翼飞机分别安装中心传感器和手臂传感器,则可以通过消除手臂振动(螺旋桨或电机振动)来提供绝缘。因此您进行了更精确的测量。

评论


$ \ begingroup $
如果没有精密的仪器,IMU的定位和融合将很难在家中完成。我对吗?
$ \ endgroup $
– Tanishq Jaiswal
17年5月8日在15:30

$ \ begingroup $
不,它不太复杂。您应该观察IMU的输出并决定如何减去/消除振动(融合)
$ \ endgroup $
– acs
17年5月8日在15:56

#2 楼

从概率角度来看,已经有人可以辩称,当将多个IMU堆叠在一起时,平均漂移的标准偏差会下降。但是,当赔率对您不利时,事情也会变得更糟(例如,不幸的是,两个IMU的漂移都完全相同)。

有很多方法可以使您受益更多而不是拥有多个IMU,而不仅仅是将它们堆叠在一起。如果将它们放置在人体的不同位置,那么最终得到的测量结果要多于系统状态(即,观察空间过大)。可以使用观察者(例如,使用卡尔曼滤波器)将这些不同的测量结果组合起来,以获得更加准确的结果。

示例:
在长度为$ r $的无重力环境中考虑2D摆。有两个IMU,分别位于$ r / 2 $和来自与钟摆相连的关节的$ r $。以$ r $衡量的向心加速度应该是以$ r / 2 $衡量的向心加速度的两倍(即$ r \ omega ^ 2 $而不是$ r \ omega ^ 2/2 $,其中$ \ omega $是摆的旋转速度)。如果不是,那么您就知道出了点问题。一点点聪明的观察(在大多数情况下)将帮助您找出错误。

评论


$ \ begingroup $
将IMU定位在不同位置是否需要精密的仪器?
$ \ endgroup $
– Tanishq Jaiswal
17年5月8日在15:38

$ \ begingroup $
至于硬件,困难仅在于知道将IMU确切放置在什么地方,因为这对您的模型很重要。通常,距离越远越好。不知道第二个IMU的位置将导致更多的不确定性。但是,从软件的角度来看,主要挑战可能更多:观察。
$ \ endgroup $
– JJM Driessen
17年5月8日在15:43

#3 楼

对于四轴飞行器,我认为多个imu的优势并不能证明这样做的合理性。您提到的偏差问题可能会减少,但是除非您可以保证零偏差,否则您仍然必须运行完全相同的偏差补偿算法(无论如何它们都已经相当成熟)。

您可以尝试通过平均获得收益多余的读数,但即使这样也不是不重要的,因为您必须考虑到由于传感器位置的不同而导致读数的差异。从理论上讲虽然直截了当,但仍需付出巨大的努力才能正确实现,而且会占用大量CPU周期。

对于一般机器人而言,在零件彼此相对运动的情况下,多个imu最有用(例如,在不同链接上带有传感器的机械臂)。一般将四旋翼飞机视为刚体;如果它不是刚性的,则需要努力使其变得刚性。