主要内容

模拟IMU测量介绍

方法模拟惯性测量单元(IMU)测量imuSensor系统对象。IMU可以包含多个单独的传感器,包括陀螺仪、加速计和磁强计。可以指定各个传感器的属性gyroparamsaccelparams,magparams,分别。

在下列图中,除非另有说明,仅显示x轴测量值。

默认参数

陀螺仪模型的默认参数模拟理想信号。给定正弦输入,陀螺仪输出应该完全匹配。

Params = gyroparams以正弦频率的采样率Fs生成N个样本%的Fc。N = 1000;Fs = 100;Fc = 0.25;t = (0:(1/Fs):(N-1)/Fs)).';acc = 0 (N, 3);angvel = 0 (N, 3);angvel(:,1) = sin(2*pi*Fc*t);imu = imussensor (“SampleRate”Fs,“陀螺”、参数);[~, gyroData] = imu(acc, angelel);图图(t, angvel(:,1),“——”, t, gyroData(:,1))“时间(s)”) ylabel (“角速度(rad/s)”)标题(“理想陀螺仪数据”)传说('x(基本真理)'“x(陀螺仪)'
参数:MeasurementRange: Inf rad/s分辨率:0 (rad/s)/LSB ConstantBias: [0 0 0] rad/s AxesMisalignment: [3x3 double] % nois密度:[0 0 0](rad/s)/√Hz biasstability: [0 0 0] rad/s RandomWalk: [0 0 0] (rad/s)*√Hz TemperatureBias: [0 0 0] (rad/s)/°C TemperatureScaleFactor:[0 0 0] %/°C AccelerationBias: [0 0 0] (rad/s)/(m/s²)

硬件参数调优

以下参数模型硬件的局限性或缺陷。有些可以通过校准进行校正。

MeasurementRange确定陀螺仪报告的最大绝对值。较大的绝对值为饱和值。通过将测量范围设置为小于正弦地真角速度振幅的值来显示这种效果。

imu = imussensor (“SampleRate”Fs,“陀螺”、参数);imu.Gyroscope.MeasurementRange = 0.5;% rad /秒[~, gyroData] = imu(acc, angelel);图图(t, angvel(:,1),“——”, t, gyroData(:,1))“时间(s)”) ylabel (“角速度(rad/s)”)标题(“饱和陀螺仪数据”)传说('x(基本真理)'“x(陀螺仪)'

决议影响数字测量的步长。使用此参数对模数转换器(ADC)的量化效应进行建模。通过将参数增加到比典型值大得多的值,可以看出这种效果。

imu = imussensor (“SampleRate”Fs,“陀螺”、参数);陀螺仪.分辨率= 0.5;% (rad / s) / LSB[~, gyroData] = imu(acc, angelel);图图(t, angvel(:,1),“——”, t, gyroData(:,1))“时间(s)”) ylabel (“角速度(rad/s)”)标题(“量化陀螺仪数据”)传说('x(基本真理)'“x(陀螺仪)'

AxesMisalignment是传感器轴上的倾斜量。这种倾斜通常发生在传感器安装到PCB上时,可以通过校准进行校正。这种效果可以通过稍微倾斜x轴和绘制x轴和y轴来显示。

imu = imussensor (“SampleRate”Fs,“陀螺”、参数);imu.Gyroscope.AxesMisalignment = [2 0 0];% %[~, gyroData] = imu(acc, angelel);图(t, angvel(:,1:2),“——”, t, gyroData(:,1:2))“时间(s)”) ylabel (“角速度(rad/s)”)标题(“陀螺仪数据不一致”)传说('x(基本真理)''y(基本真理)'...“x(陀螺仪)'y(陀螺仪)'

ConstantBias由于硬件缺陷,在传感器测量时发生。由于这种偏差不是由环境因素(如温度)引起的,因此可以通过校准进行校正。

imu = imussensor (“SampleRate”Fs,“陀螺”、参数);imu.Gyroscope.ConstantBias = [0.4 0 0];% rad /秒[~, gyroData] = imu(acc, angelel);图图(t, angvel(:,1),“——”, t, gyroData(:,1))“时间(s)”) ylabel (“角速度(rad/s)”)标题(“有偏陀螺仪数据”)传说('x(基本真理)'“x(陀螺仪)'

随机噪声参数调优

以下参数模拟传感器测量中的随机噪声。关于这些参数的更多信息可以在利用Allan方差分析惯性传感器噪声(传感器融合和跟踪工具箱)的例子。

NoiseDensity是传感器测量中的白噪声量。它有时被称为陀螺仪的角度随机游走或加速度计的速度随机游走。

rng (“默认”) imu = imsensor (“SampleRate”Fs,“陀螺”、参数);陀螺仪.噪声密度= 1.25e-2;% (rad / s) /√(赫兹)[~, gyroData] = imu(acc, angelel);图图(t, angvel(:,1),“——”, t, gyroData(:,1))“时间(s)”) ylabel (“角速度(rad/s)”)标题(“白噪声陀螺仪数据”)传说('x(基本真理)'“x(陀螺仪)'

BiasInstability是传感器测量中粉红色或闪烁噪声的数量。

imu = imussensor (“SampleRate”Fs,“陀螺”、参数);imu. gyroscope . biasstability = 2.2.0 -2;% rad /秒[~, gyroData] = imu(acc, angelel);图图(t, angvel(:,1),“——”, t, gyroData(:,1))“时间(s)”) ylabel (“角速度(rad/s)”)标题(“偏置不稳定性陀螺仪数据”)传说('x(基本真理)'“x(陀螺仪)'

随机散步为传感器测量中的布朗噪声量。陀螺仪有时称为速率随机游走,加速度计有时称为加速度随机游走。

imu = imussensor (“SampleRate”Fs,“陀螺”、参数);gyroscope . randomwalk = 9.1e-2;% (rad / s) * sqrt(赫兹)[~, gyroData] = imu(acc, angelel);图图(t, angvel(:,1),“——”, t, gyroData(:,1))“时间(s)”) ylabel (“角速度(rad/s)”)标题(“随机行走陀螺仪数据”)传说('x(基本真理)'“x(陀螺仪)'

环境参数调优

以下参数对传感器环境变化引起的噪声进行建模。

TemperatureBias是由于与默认工作温度的温差而增加到传感器测量值的偏置。大多数传感器数据表列出的默认工作温度为25摄氏度。通过将该参数设置为非零值并将工作温度设置为25摄氏度以上,可以显示出这种偏差。

imu = imussensor (“SampleRate”Fs,“陀螺”、参数);imu.Gyroscope.TemperatureBias = 0.06;% (rad/s)/(度C)imu。温度= 35;[~, gyroData] = imu(acc, angelel);图图(t, angvel(:,1),“——”, t, gyroData(:,1))“时间(s)”) ylabel (“角速度(rad/s)”)标题(“温度偏置陀螺仪数据”)传说('x(基本真理)'“x(陀螺仪)'

TemperatureScaleFactor是由于工作温度的变化而引起的传感器比例系数的误差。这导致了测量尺度上的误差;换句话说,较小的理想值比较大的理想值误差更小。这个误差可以用线性增加温度来表示。

imu = imussensor (“SampleRate”Fs,“陀螺”、参数);imu.Gyroscope.TemperatureScaleFactor = 3.2;% %/(℃)standardTemperature = 25;%摄氏度温度reslope = 2;%(度C)/秒温度=温标温度+温标温度;gyroData = 0 (N, 3);i = 1:N imu。温度=温度(i);[~, gyroData(i,:)] = imu(acc(i,:), angvel(i,:));结束图图(t, angvel(:,1),“——”, t, gyroData(:,1))“时间(s)”) ylabel (“角速度(rad/s)”)标题(“温度陀螺仪数据”)传说('x(基本真理)'“x(陀螺仪)'

AccelerationBias是由于线性加速度而增加到陀螺仪测量的偏置。这个参数是陀螺仪特有的。通过将参数设置为非零值并使用非零输入加速度来显示这种偏差。

imu = imussensor (“SampleRate”Fs,“陀螺”、参数);imu.Gyroscope.AccelerationBias = 0.3;% (rad / s) / (m / s ^ 2)Acc (:,1) = 1;[~, gyroData] = imu(acc, angelel);图图(t, angvel(:,1),“——”, t, gyroData(:,1))“时间(s)”) ylabel (“角速度(rad/s)”)标题(“加速度偏置陀螺仪数据”)传说('x(基本真理)'“x(陀螺仪)'

另请参阅

|||

Baidu
map