필터 지우기
필터 지우기

What impact do the properties of the Sensor Fusion Toolbox IMU filter "complementaryFilter" have on the output?

조회 수: 1 (최근 30일)
I am trying to find the best settings to use with the complementaryFilter (and the other filters of that toolbox but we'll stick with the complementary filter for this question), but the settings seem to make minimal difference. I have been trying to work with the settings "AccelerometerGain", "MagnetometerGain", and "HasMagnetometer". In my testing, it seems that AccelerometerGain only makes a difference to the last two or three samples, and MagnetometerGain introduces a small amount of noise on the signal as it is increased. Setting MagnetometerGain or HasMagnetometer to 0 has a noticeable impact on the output (which is logical), but other than that the difference seems negligible other than possible affecting whether there is a small overshoot when there is a sudden change in orientation. I thought trusting the accelerometer or maybe magnetometer more might have an effect on drift or something. What impact is it meant to have? Is there anything that can be used to help reduce drift?
Below is an example of the code I have tried to use to test this, I have tried various combinations and scales (such as 0:0.01:0.1, and only changing the accelerometer)
FUSE = complementaryFilter('SampleRate',248.0159);
for n = 0.0:0.1:1
reset(FUSE);
FUSE.AccelerometerGain = n;
FUSE.MagnetometerGain = n;
test = FUSE(IMU(1).acc,IMU(1).gyro,IMU(1).mag);
test = conj(test(2000,:)).*test; %Rotates quaternion to the desired orientation based on a single frame of the signal
figure, plot(compact(test))
end

답변 (0개)

카테고리

Help CenterFile Exchange에서 Inertial Sensor Fusion에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by