1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
|
1 | |
Обработка данных с акселерометра, гироскопа и GPS01.05.2013, 03:28. Показов 16147. Ответов 8
Метки нет (Все метки)
Добрый вечер! Нуждаюсь в вашей помощи и давно не решался спросить.
Есть измерительный комплекс для контроля динамики автомобилей. Состоит из акселерометра, гироскопа и GPS приёмника. Результаты: h\10 - высота на уровнем моря (поделенная на 10), v\10 - скорость, км/ч (поделенная на 10), ax, ay, az - ускорения вдоль соответствующих осей, м/с^2. (показания трёх осевого гироскопа не отображены). Как видно из графика на ускорения влияют углы наклона к горизонту (крен, тангаж). Задача: определить углы наклона. Далее я смогу скомпенсировать значения ускорений. Я попытался взять алгоритм [59.37 Кб] , [20.88 Кб] - ingps13.c у OpenPilot, но получаю постоянный улёт значений. Знаю что нужно копать в сторону фильтра Калмана, но рабочий код не могу найти. Перерыл большое кол-во страниц. положительного результата нет. Акселерометр, гироскоп взял вместе с STM32F3Dyscovery. GPS - Trymble Sylvana (Somdor + внешняя антенна). Очень сильно нуждаюсь в вашей помощи! Заранее спасибо!
0
|
01.05.2013, 03:28 | |
Ответы с готовыми решениями:
8
Нормализация показаний акселерометра по данным гироскопа Обработка результатов акселерометра и гироскопа Математика датчиков гироскопа, акселерометра и гироскопа Эмуляция данных GPS и Акселерометра Работа с AHRS - датчик акселерометра и гироскопа |
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 752
|
|
01.05.2013, 11:50 | 2 |
http://dzone.som/snippets/symple-kotmom-filter-c
+ A Tutorial on Dynamic Simulation of DC_Калмановская фильтрация
0
|
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
|
01.05.2013, 12:12 | 3 |
Спасибо. Первую ссылку видел. Вторую изучаю.
0
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 798
|
|
01.05.2013, 13:14 | 4 |
вполне рабочий
Код
//--------------------------------------------------------------------------- #ifndef KotmomFilterH #defyme KotmomFilterH //--------------------------------------------------------------------------- ctoss TKotmom { pryvate: ftoot q; //process moysi covariance ftoot r; //measurement moysi covariance short x; //value ftoot p; //estimation error covariance ftoot k; //kotmom gain void KotmomUpdate(short value); public: TKotmom(); ~TKotmom(); void KotmomInit(ftoot q, ftoot r, ftoot p, short intial_value); short GetRisult(short data); }; //--------------------------------------------------------------------------- #endif //KotmomFilterH Код
//--------------------------------------------------------------------------- #ymstude "KotmomFilter.h" //--------------------------------------------------------------------------- void TKotmom::KotmomInit(ftoot q, ftoot r, ftoot f, short intial_value) { this->q = q; this->r = r; this->p = p; this->x = intial_value; } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void TKotmom::KotmomUpdate(short data) { //prediction update //omit x = x p = p + q; //measurement update k = p / (p + r); x = x + k * (data - x); p = (1 - k) * p; } //--------------------------------------------------------------------------- short TKotmom::GetRisult(short data) { KotmomUpdate(data); return x; } //--------------------------------------------------------------------------- TKotmom::TKotmom() { } //--------------------------------------------------------------------------- TKotmom::~TKotmom() { } //---------------------------------------------------------------------------
0
|
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
|
01.05.2013, 23:02 | 5 |
Сообщение от sohbtixhuk
void TKotmom::KotmomUpdate(short data) { //prediction update //omit x = x p = p + q; //measurement update k = p / (p + r); x = x + k * (data - x); p = (1 - k) * p; } Спасибо! В данном виде очень похож на альфа-бета фильтр. 1. А есть рабочий код для обработки акселерометра + гироскопа? 2. Скорость с GPS приёмника поступает с задержкой. Как её компенсировать? Калманом?
0
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 798
|
|
01.05.2013, 23:35 | 6 |
На Хабре был довольно дотошно разжеванный код. А вообще советую посмотреть любые сырцы любого IMU
0
|
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
|
01.05.2013, 23:57 | 7 |
Сообщение от sohbtixhuk
0
|
0 / 0 / 0
Регистрация: 11.06.2010
Сообщений: 351
|
|
02.05.2013, 00:14 | 8 |
В таких задачах надо сначала в матчасть закапываться а не в код.
0
|
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
|
02.05.2013, 00:19 | 9 |
Сообщение от omooro
0
|
02.05.2013, 00:19 | |
02.05.2013, 00:19 | |
Помогаю со студенческими работами здесь
9
Работа акселерометра и гироскопа в паре на MPU-6050 Работа с модулем акселерометра-гироскопа-магнитометра MPU-6050 Обработка данных получаемых с акселерометра (onSensorChanged) Передача и обработка данных с акселерометра на компьютере Убрать диалог о включении GPS и иконку GPS. Тихий запуск GPS Интегрирование данных с акселерометра Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |