0

目前,我们正在我们的一个项目中使用 BNO055。由于硬件设置中的空间限制,IMU 放置在直流电机旁边。由于电机振动,我们正在对从此 ( https://github.com/adafruit/Adafruit_BN ... awdata.ino) 脚本读取的四元数值应用低通滤波器。我们已将 5 Hz 设置为滤波器的截止频率。我们还在 Sorbotane(阻尼材料)上放置了 IMU,以最大限度地减少振动。但是,我们仍然在销售方向上的错误。

从软件和硬件的角度来看,可以做些什么来减少电机振动对 IMU 的影响?任何输入都受到高度赞赏。

4

1 回答 1

1

Motor vibration may not be the only problem here. Orientation estimation can go wrong due to multiple factors like,

  1. Bias due to incorrect calibration. Keep the sensor level and idle. Make sure Gyroscope reads close to (0,0,0) on average. Accelerometer should read either (0,0,9.81) or (0 0 -9.81) m/s^2 depending on the convention.
  2. Bias due to temperature changes. Even a 10 deg change in PCB temperature can change the bias in Gyro by 0.3 dps (according to the datasheet)
  3. Motor noise. Seems like you have already tried reducing this one.

If none of them work, you could try implementing your own Kalman or complementary filter based on the raw data from Gyro, Accel and mag. This way you can be sure about calibration process, estimator gains, how the estimator works.

If implementing Kalman filter is difficult, you could try this AHRS filter block/algorithm given here, https://in.mathworks.com/help/nav/ref/ahrsfilter-system-object.html

于 2021-09-23T14:04:41.877 回答