Мелодия ahrsfilter параметры для уменьшения ошибки оценки
tune( корректирует свойства filter,sensorData,groundTruth)ahrsfilter объект фильтра, filter, чтобы уменьшить ошибку кватернионного расстояния среднеквадратичного значения (RMS) между данными слитого датчика и истинностью земли. Функция использует значения свойств в фильтре в качестве начальной оценки для алгоритма оптимизации.
tune(___, определяет конфигурацию настройки на основе config)tunerconfig объект, config.
ahrsfilter для улучшения оценки ориентацииЗагрузка записанных данных датчиков и данных о истинности земли.
ld = load('ahrsfilterTuneData.mat'); qTrue = ld.groundTruth.Orientation; % true orientation
Создание arhsfitler объект.
fuse = ahrsfilter;
Запалите данные датчика с помощью фильтра, не настроенного по умолчанию.
qEstUntuned = fuse(ld.sensorData.Accelerometer, ...
ld.sensorData.Gyroscope, ld.sensorData.Magnetometer);Создать tunerconfig объект. Настройка ahrsfilter объект для улучшения оценки ориентации на основе конфигурации.
config = tunerconfig('ahrsfilter');
tune(fuse,ld.sensorData,ld.groundTruth,config); Iteration Parameter Metric
_________ _________ ______
1 AccelerometerNoise 0.1345
1 GyroscopeNoise 0.1342
1 MagnetometerNoise 0.1341
1 GyroscopeDriftNoise 0.1341
1 LinearAccelerationNoise 0.1332
1 MagneticDisturbanceNoise 0.1324
1 LinearAccelerationDecayFactor 0.1317
1 MagneticDisturbanceDecayFactor 0.1316
2 AccelerometerNoise 0.1316
2 GyroscopeNoise 0.1312
2 MagnetometerNoise 0.1311
2 GyroscopeDriftNoise 0.1311
2 LinearAccelerationNoise 0.1300
2 MagneticDisturbanceNoise 0.1292
2 LinearAccelerationDecayFactor 0.1285
2 MagneticDisturbanceDecayFactor 0.1285
3 AccelerometerNoise 0.1285
3 GyroscopeNoise 0.1280
3 MagnetometerNoise 0.1279
3 GyroscopeDriftNoise 0.1279
3 LinearAccelerationNoise 0.1267
3 MagneticDisturbanceNoise 0.1258
3 LinearAccelerationDecayFactor 0.1253
3 MagneticDisturbanceDecayFactor 0.1253
4 AccelerometerNoise 0.1252
4 GyroscopeNoise 0.1247
4 MagnetometerNoise 0.1246
4 GyroscopeDriftNoise 0.1246
4 LinearAccelerationNoise 0.1233
4 MagneticDisturbanceNoise 0.1224
4 LinearAccelerationDecayFactor 0.1220
4 MagneticDisturbanceDecayFactor 0.1220
5 AccelerometerNoise 0.1220
5 GyroscopeNoise 0.1213
5 MagnetometerNoise 0.1212
5 GyroscopeDriftNoise 0.1212
5 LinearAccelerationNoise 0.1200
5 MagneticDisturbanceNoise 0.1190
5 LinearAccelerationDecayFactor 0.1187
5 MagneticDisturbanceDecayFactor 0.1187
6 AccelerometerNoise 0.1187
6 GyroscopeNoise 0.1180
6 MagnetometerNoise 0.1178
6 GyroscopeDriftNoise 0.1178
6 LinearAccelerationNoise 0.1167
6 MagneticDisturbanceNoise 0.1156
6 LinearAccelerationDecayFactor 0.1155
6 MagneticDisturbanceDecayFactor 0.1155
7 AccelerometerNoise 0.1155
7 GyroscopeNoise 0.1147
7 MagnetometerNoise 0.1145
7 GyroscopeDriftNoise 0.1145
7 LinearAccelerationNoise 0.1137
7 MagneticDisturbanceNoise 0.1126
7 LinearAccelerationDecayFactor 0.1125
7 MagneticDisturbanceDecayFactor 0.1125
8 AccelerometerNoise 0.1125
8 GyroscopeNoise 0.1117
8 MagnetometerNoise 0.1116
8 GyroscopeDriftNoise 0.1116
8 LinearAccelerationNoise 0.1112
8 MagneticDisturbanceNoise 0.1100
8 LinearAccelerationDecayFactor 0.1099
8 MagneticDisturbanceDecayFactor 0.1099
9 AccelerometerNoise 0.1099
9 GyroscopeNoise 0.1091
9 MagnetometerNoise 0.1090
9 GyroscopeDriftNoise 0.1090
9 LinearAccelerationNoise 0.1090
9 MagneticDisturbanceNoise 0.1076
9 LinearAccelerationDecayFactor 0.1075
9 MagneticDisturbanceDecayFactor 0.1075
10 AccelerometerNoise 0.1075
10 GyroscopeNoise 0.1066
10 MagnetometerNoise 0.1064
10 GyroscopeDriftNoise 0.1064
10 LinearAccelerationNoise 0.1064
10 MagneticDisturbanceNoise 0.1049
10 LinearAccelerationDecayFactor 0.1047
10 MagneticDisturbanceDecayFactor 0.1047
11 AccelerometerNoise 0.1047
11 GyroscopeNoise 0.1038
11 MagnetometerNoise 0.1036
11 GyroscopeDriftNoise 0.1036
11 LinearAccelerationNoise 0.1036
11 MagneticDisturbanceNoise 0.1016
11 LinearAccelerationDecayFactor 0.1014
11 MagneticDisturbanceDecayFactor 0.1014
12 AccelerometerNoise 0.1014
12 GyroscopeNoise 0.1005
12 MagnetometerNoise 0.1002
12 GyroscopeDriftNoise 0.1002
12 LinearAccelerationNoise 0.1002
12 MagneticDisturbanceNoise 0.0978
Плавите данные датчика с помощью настроенного фильтра.
qEstTuned = fuse(ld.sensorData.Accelerometer, ...
ld.sensorData.Gyroscope, ld.sensorData.Magnetometer);Сравните характеристики настроенных и не настроенных ошибок службы управления правами.
dUntuned = rad2deg(dist(qEstUntuned, qTrue)); dTuned = rad2deg(dist(qEstTuned, qTrue)); rmsUntuned = sqrt(mean(dUntuned.^2))
rmsUntuned = 7.7088
rmsTuned = sqrt(mean(dTuned.^2))
rmsTuned = 5.6033
Визуализация ошибок по времени.
N = numel(dUntuned); t = (0:N-1)./ fuse.SampleRate; plot(t, dUntuned, 'r', t, dTuned, 'b'); legend('Untuned', 'Tuned'); title('ahrsfilter - Tuned vs Untuned Error') xlabel('Time (s)'); ylabel('Orientation Error (degrees)');

filter - Объект фильтраahrsfilter объектОбъект фильтра, указанный как ahrsfilter объект.
sensorData - Данные датчикаtableДанные датчика, указанные как table. В каждой строке данные датчика указываются следующим образом:
Accelerometer - Данные акселерометра, заданные как вектор скаляров в м2/с 1 на 3.
Gyroscope - данные гироскопа, заданные как вектор скаляров 1 на 3 в рад/с.
Magnetometer - Данные магнитометра, заданные как вектор скаляров в мкТ 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.