Мелодия imufilter параметры для уменьшения ошибки оценки
tune( корректирует свойства filter,sensorData,groundTruth)imufilter объект фильтра, filter, чтобы уменьшить ошибку кватернионного расстояния среднеквадратичного значения (RMS) между данными слитого датчика и истинностью земли. Функция предохраняет данные датчика для оценки ориентации, которая сравнивается с ориентацией в истинной земле. Функция использует значения свойств в фильтре в качестве начальной оценки для алгоритма оптимизации.
tune(___, определяет конфигурацию настройки на основе config)tunerconfig объект, config.
imufilter для оптимизации оценки ориентацииЗагрузка записанных данных датчиков и данных о истинности земли.
ld = load('imufilterTuneData.mat'); qTrue = ld.groundTruth.Orientation; % true orientation
Создание imufilter объект и сплавить фильтр с данными датчика.
fuse = imufilter;
qEstUntuned = fuse(ld.sensorData.Accelerometer, ...
ld.sensorData.Gyroscope);Создать tunerconfig объект и настройка imufilter для улучшения оценки ориентации.
cfg = tunerconfig('imufilter');
tune(fuse, ld.sensorData, ld.groundTruth, cfg); Iteration Parameter Metric
_________ _________ ______
1 AccelerometerNoise 0.1149
1 GyroscopeNoise 0.1146
1 GyroscopeDriftNoise 0.1146
1 LinearAccelerationNoise 0.1122
1 LinearAccelerationDecayFactor 0.1103
2 AccelerometerNoise 0.1102
2 GyroscopeNoise 0.1098
2 GyroscopeDriftNoise 0.1098
2 LinearAccelerationNoise 0.1070
2 LinearAccelerationDecayFactor 0.1053
3 AccelerometerNoise 0.1053
3 GyroscopeNoise 0.1048
3 GyroscopeDriftNoise 0.1048
3 LinearAccelerationNoise 0.1016
3 LinearAccelerationDecayFactor 0.1002
4 AccelerometerNoise 0.1001
4 GyroscopeNoise 0.0996
4 GyroscopeDriftNoise 0.0996
4 LinearAccelerationNoise 0.0962
4 LinearAccelerationDecayFactor 0.0950
5 AccelerometerNoise 0.0950
5 GyroscopeNoise 0.0943
5 GyroscopeDriftNoise 0.0943
5 LinearAccelerationNoise 0.0910
5 LinearAccelerationDecayFactor 0.0901
6 AccelerometerNoise 0.0900
6 GyroscopeNoise 0.0893
6 GyroscopeDriftNoise 0.0893
6 LinearAccelerationNoise 0.0862
6 LinearAccelerationDecayFactor 0.0855
7 AccelerometerNoise 0.0855
7 GyroscopeNoise 0.0848
7 GyroscopeDriftNoise 0.0848
7 LinearAccelerationNoise 0.0822
7 LinearAccelerationDecayFactor 0.0818
8 AccelerometerNoise 0.0817
8 GyroscopeNoise 0.0811
8 GyroscopeDriftNoise 0.0811
8 LinearAccelerationNoise 0.0791
8 LinearAccelerationDecayFactor 0.0789
9 AccelerometerNoise 0.0788
9 GyroscopeNoise 0.0782
9 GyroscopeDriftNoise 0.0782
9 LinearAccelerationNoise 0.0769
9 LinearAccelerationDecayFactor 0.0768
10 AccelerometerNoise 0.0768
10 GyroscopeNoise 0.0762
10 GyroscopeDriftNoise 0.0762
10 LinearAccelerationNoise 0.0754
10 LinearAccelerationDecayFactor 0.0753
11 AccelerometerNoise 0.0753
11 GyroscopeNoise 0.0747
11 GyroscopeDriftNoise 0.0747
11 LinearAccelerationNoise 0.0741
11 LinearAccelerationDecayFactor 0.0740
12 AccelerometerNoise 0.0740
12 GyroscopeNoise 0.0734
12 GyroscopeDriftNoise 0.0734
12 LinearAccelerationNoise 0.0728
12 LinearAccelerationDecayFactor 0.0728
13 AccelerometerNoise 0.0728
13 GyroscopeNoise 0.0721
13 GyroscopeDriftNoise 0.0721
13 LinearAccelerationNoise 0.0715
13 LinearAccelerationDecayFactor 0.0715
14 AccelerometerNoise 0.0715
14 GyroscopeNoise 0.0706
14 GyroscopeDriftNoise 0.0706
14 LinearAccelerationNoise 0.0700
14 LinearAccelerationDecayFactor 0.0700
15 AccelerometerNoise 0.0700
15 GyroscopeNoise 0.0690
15 GyroscopeDriftNoise 0.0690
15 LinearAccelerationNoise 0.0684
15 LinearAccelerationDecayFactor 0.0684
16 AccelerometerNoise 0.0684
16 GyroscopeNoise 0.0672
16 GyroscopeDriftNoise 0.0672
16 LinearAccelerationNoise 0.0668
16 LinearAccelerationDecayFactor 0.0667
17 AccelerometerNoise 0.0667
17 GyroscopeNoise 0.0655
17 GyroscopeDriftNoise 0.0655
17 LinearAccelerationNoise 0.0654
17 LinearAccelerationDecayFactor 0.0654
18 AccelerometerNoise 0.0654
18 GyroscopeNoise 0.0641
18 GyroscopeDriftNoise 0.0641
18 LinearAccelerationNoise 0.0640
18 LinearAccelerationDecayFactor 0.0639
19 AccelerometerNoise 0.0639
19 GyroscopeNoise 0.0627
19 GyroscopeDriftNoise 0.0627
19 LinearAccelerationNoise 0.0627
19 LinearAccelerationDecayFactor 0.0624
20 AccelerometerNoise 0.0624
20 GyroscopeNoise 0.0614
20 GyroscopeDriftNoise 0.0614
20 LinearAccelerationNoise 0.0613
20 LinearAccelerationDecayFactor 0.0613
Снова слейте данные датчика с помощью настроенного фильтра.
qEstTuned = fuse(ld.sensorData.Accelerometer, ...
ld.sensorData.Gyroscope);Сравните характеристики ошибок RMS настроенного и не настроенного фильтра.
dUntuned = rad2deg(dist(qEstUntuned, qTrue)); dTuned = rad2deg(dist(qEstTuned, qTrue)); rmsUntuned = sqrt(mean(dUntuned.^2))
rmsUntuned = 6.5864
rmsTuned = sqrt(mean(dTuned.^2))
rmsTuned = 3.5098
Визуализация результатов.
N = numel(dUntuned); t = (0:N-1)./ fuse.SampleRate; plot(t, dUntuned, 'r', t, dTuned, 'b'); legend('Untuned', 'Tuned'); title('imufilter - Tuned vs Untuned Error') xlabel('Time (s)'); ylabel('Orientation Error (degrees)');

filter - Объект фильтраimufilter объектОбъект фильтра, указанный как imufilter объект.
sensorData - Данные датчикаtableДанные датчика, указанные как table. В каждой строке данные датчика указываются следующим образом:
Accelerometer - Данные акселерометра, заданные как вектор скаляров в м2/с 1 на 3.
Gyroscope - данные гироскопа, заданные как вектор скаляров 1 на 3 в рад/с.
Если установить Cost свойство входа конфигурации тюнера, configКому Custom, то можно использовать другие типы данных для sensorData ввод в зависимости от вашего выбора.
groundTruth - Данные о истинности основанияtimetableДанные истинности земли, указанные как table. Таблица имеет только один столбец Orientation данные. В каждой строке ориентация задается как quaternion объект или матрица поворота 3 на 3.
Функция обрабатывает каждую строку sensorData и groundTruth таблицы последовательно для вычисления оценки состояния и среднеквадратичной ошибки на основании истинности. Каждая строка sensorData и groundTruth таблицы должны соответствовать друг другу.
Если установить Cost свойство входа конфигурации тюнера, configКому Custom, то можно использовать другие типы данных для groundTruth ввод в зависимости от вашего выбора.
config - Настройка тюнераtunerconfig объектКонфигурация тюнера, указанная как tunerconfig объект.
[1] Аббиль, П., Коутс, А., Монтемерло, М., Нг, А. Я. и Трюн, С. Дискриминативная подготовка фильтров Калмана. В робототехнике: наука и системы, том 2, стр. 1, 2005.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.