使用IMU(惯性测量单元)数据采集测量振动

IMU传感器采集到的高频数据保存到闪存日志,这些数据可以在飞行后使用数据的快速傅里叶变换(FFT)生成的图表进行分析,以诊断振动问题。

FFT 将数据从时域转换到频域。换句话说,随着时间的推移(即飞行)记录的加速度计数据可以转换成显示振动频率的图表。 这些图表的一个常见特征是螺旋桨“叶片通过频率”(叶片与机臂交叉的频率)的尖峰,这会导致飞机加速。 FFT有以下局限性:

采样率通常与飞控是陀螺仪更采集率相同。例如,如果你在MPU9250传感器上使用INS_FAST_SAMPLE(Pixhawk飞控),那么将以8KHz采样。如果你不使用快速采样率,那么通常也会使用1KHz的采样率。


飞行前的设置


飞行和飞行后分析



高级配置和分析


下面的两张图来自同一次飞行的PixRacer飞控数据。右边的Accel[0]是InvenseSense IMU,显示的频率高于左侧较慢的 IMU。


日志消息内容

批量采样涉及两种类型的闪存日志消息,ISBH 和 ISBD。


使用 pymavlink 分析

pymavlink是一个面向开发者的工具,它支持图形FFT数据。

pbarker@bluebottle:~/rc/ardupilot(fastest-sampling)$ ~/rc/pymavlink/tools/mavfft_isb.py /tmp/000003.BIN
Processing log /tmp/000003.BIN
.Skipping ISBD outside ISBH (fftnum=0)

Skipping ISBD outside ISBH (fftnum=0)

Skipping ISBD outside ISBH (fftnum=0)

Skipping ISBD outside ISBH (fftnum=0)

Skipping ISBD outside ISBH (fftnum=0)

Skipping ISBD outside ISBH (fftnum=0)

...............................
32560s messages  48433 messages/second  1904039 kB/second
Extracted 10 fft data sets
Sensor: Gyro[0]
Sensor: Accel[0]


此输出显示 mavfft_isb.py 从单个 IMU 多轴飞行器日志中提取数据。

这个多轴飞行器清楚地显示了 80Hz 范围内的振动。


这个多轴飞行器清楚地显示了 80Hz 范围内的旋转振动。



登录后回复