реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Оценка линейного перемещения с помощью акселерометра, интегрирование данных акселерометра во время разгона
Aner
сообщение Jul 3 2015, 10:36
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



У меня крен начинало колбасить, если проц STM32F417(427) считал, пробросил на комп все нормуль оказалось. Причина в плохой либе для малых углов была для этих процев.
Принципы объединяющих фильтров, не совсем, свои недостатки есть. Без кватернионов, математикой игрался долго, рамоздко, отказался. Вектор ускорения затрагивает почти все, редко когда линейный, отсюда доп нестабильность, нужно что то думать с адаптацией.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jul 3 2015, 11:26
Сообщение #17





Guests






И как же это лодки, авианосцы, подводные аппараты, да и летающая братия определяются?
Коптеры.. - вот нашли забаву.
Go to the top of the page
 
+Quote Post
Aner
сообщение Jul 3 2015, 11:47
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (TSerg @ Jul 3 2015, 15:26) *
И как же это лодки, авианосцы, подводные аппараты, да и летающая братия определяются?
Коптеры.. - вот нашли забаву.

Вы не думаете, что вы флудите тут?
Go to the top of the page
 
+Quote Post
serjj
сообщение Jul 3 2015, 12:16
Сообщение #19


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Цитата
Вектор ускорения затрагивает почти все, редко когда линейный, отсюда доп нестабильность, нужно что то думать с адаптацией.

Я имею в виду определенные позиции. Вот например: поворот в горизонтальной плоскости, т.е. изменение угла рыскания, проекции гравитационного вектора на оси связанной системы координат не изменяется, направление g совпадает с осью z. А выход акселерометра по осям x и y в таком случае выступают скорее как шумовой процесс. Если магнетометра нет, то в такой ситуации рыскание измеряется только с помощью гироскопа, следовательно вероятна большая погрешность такого измерения, особенно если процесс изменения угла рыскания медленный и долгий, тогда в моем понимании ошибка будет максимальная (гироскоп эффективнее для быстрых изменений углов + ошибка гироскопа растет со временем). Аналогично и с креном, когда дифферент равен +-90 (g направлена по оси x для любого крена). В итоге 6D система всегда имеет ограничения, такие положения, в которых невозможно определить все углы Эйлера. Вектор магнитного поля имеет сильную составляющую перпендикулярную гравитационному вектору, поэтому, когда мы подключаем магнетометр, мы можем закрыть "пробелы" 6D системы с помощью измерений дополнительных измерений.

Т.е. если для 6D системы существуют физические сингулярные положения, обусловленные индеферентностью поля для некоторых вращений в некоторых положениях, то для 9D сингулярности суть результат неудачного математического аппарата, т.е. углов Эйлера. И когда мы переводим фильтр в кватернионную математику никаких сингулярных проблем больше нет. Но в 6D даже с кватернионами все равно останутся физические ограничения.

Правильно ли я рассуждаю?
Go to the top of the page
 
+Quote Post
Aner
сообщение Jul 3 2015, 13:38
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



У меня гироскоп только вертикалью и занимался, пока не было приязки к магнитоментру. Все равно кватернионы приходится считать по всем трем осям матрицой. В 6D с кватернионами все равно останутся физические ограничения - это да.
Go to the top of the page
 
+Quote Post
MrAlex
сообщение Aug 31 2015, 13:26
Сообщение #21


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 15-10-10
Из: г. Москва
Пользователь №: 60 179



[quote name='serjj' date='Jul 3 2015, 15:16' post='1349315'

Т.е. если для 6D системы существуют физические сингулярные положения, обусловленные индеферентностью поля для некоторых вращений в некоторых положениях, то для 9D сингулярности суть результат неудачного математического аппарата, т.е. углов Эйлера. И когда мы переводим фильтр в кватернионную математику никаких сингулярных проблем больше нет. Но в 6D даже с кватернионами все равно останутся физические ограничения.

Правильно ли я рассуждаю?
[/quote]

Отнюдь.
То что подразумевают под 6D и 9D всего лишь количество измерительных осей датчиков.
В реальности у тела всего 6 координат. 3 из них ориентация и 3 положение центра масс.
6D измеряет 2 угла ориентации, а так называемый 9D 3.
И углы Эйлера и кватернионы однозначно описывают положение ориентации.
Интегрирование углов Эйлера, для особых случаев, требует больших затрат чем интегрирование кватерниона. В механических системах применяется дополнительная рамка устраняющая блокировку поворота.
Физические ограничения это только точность измерения.
Go to the top of the page
 
+Quote Post
VNS
сообщение Sep 18 2015, 09:04
Сообщение #22


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 15-04-13
Из: Казахстан, г. Алматы
Пользователь №: 76 504



Цитата(Aner @ Jul 3 2015, 16:38) *
У меня гироскоп только вертикалью и занимался, пока не было приязки к магнитоментру. Все равно кватернионы приходится считать по всем трем осям матрицой. В 6D с кватернионами все равно останутся физические ограничения - это да.

Нужно проверить акселерометр на стенде в режимах "нуля", отсутствие ускорения по трём координатам, и калиброванных смещений по координатам. Стенд должен иметь виброизоляцию от сейсмики. Если этого не сделано, то Вы работаете вслепую из-за возможной преднамеренной "модификации" поставщиком акселерометров в сторону значительного ухудшения их характеристик.
Go to the top of the page
 
+Quote Post
Corner
сообщение Mar 18 2016, 17:09
Сообщение #23


Профессионал
*****

Группа: Участник
Сообщений: 1 072
Регистрация: 11-12-12
Пользователь №: 74 815



Одним акселерометром получается весьма неточно. А вот 4 по сторонам треугольной равнобокой пирамиды с хорошей базой и калибровкой, дают уже весьма неплохие результаты. Но.... фильтровать надо результат преобразования в проекции, посчитанный по системе уравнений для всей схемы.
Go to the top of the page
 
+Quote Post
bbb
сообщение Mar 18 2016, 19:39
Сообщение #24


Местный
***

Группа: Участник
Сообщений: 335
Регистрация: 29-01-16
Пользователь №: 90 261



Цитата(serjj @ Jun 25 2015, 13:12) *
Всем доброго.
Есть идея определять вектор перемещения твердого тела, имеющего 6 степеней свободы с помощью акселеромета. Если точнее, то определять проекцию вектора на плоскость OXY (в инерциальной Земной системе координат) в период разгона объекта. Т.е. есть следующие условия: линейное ускорение порядка g, объект может поворачиваться или вращаться вокруг своих осей, время измерения - секунды (пока идёт разгон).

Моя идея была следующая. С помощью fusion фильтра получаю набор Эйлеровых параметров Q = [q0 q1 q2 q3], т.е. кватернион, который задаёт мгновенное радиальное положение объекта. Далее усреднённый вектор данных акселерометра, асс, измеренного в связанной системе координат, преобразую в вектор acci относительно Земной системы координат:
acci = (Q * [0 acc]) *conj(Q), выкидываю acci(0) (переход от кватерниона к вектору) и acci(3) (z составляющая), а далее численное интегрирование два раза, чтобы получить искомое перемещение. Чтобы понять разгоняемся мы или нет, при интегрировании к модулю вектора ускорения применяется некоторый порог.

С получением acci особых проблем не возникло, но вот дальше пока не очень понятно. Проверял идею пока только "на столе", т.е. с STMовской отладкой, он что-то мереет, но это точно не то, что я ожидаю. При интегрировании за dt взял период сэмплирования акселерометра, ~10 мс (это же период обновления fusion фильтра). Скорость уверено уходит за 10 м/с. Есть предположение, что подход должен таки работать при длительном (относительно перида сэмплирования, т.е секунды) и резком разгоне (т.е. линейное ускорение порядка g). При первом рассмотрении гугл говорит, что таки да для малых движений (например смартфон в руках человека) алгоритм врёт и очень сильно. Плюс даже если он не врёт сначала, то обязательно начнёт врать потом (т.к. скорость уйдёт). Но вот как будет для обозначенных мною условий? Есть ли у кого какие прогнозы и может быть кто нибудь поделится опытом по оценке векторов линейных движений (с угловыми вроде бы разобрался)? Или может быть это все от лукавого и магнетометр + априорная скорость наше всё?

Зы: поставить дополнительно измеритель скорости не предлагать) для решения задачи есть два датчика от ST - гироскоп и акселерометр+магнетометр.

Зыы: еще заметил такую интересность, алгоритм как-то реагирует на разгон, но совершенно не хочет на торможение, т.е. не сбрасывает скорость после остановки.


Из-за дискретности процесса измерения ускорения и погрешности акселлерометра даже за короткое время может накопится большая погрешность.
Это и без симуляторов/эмуляторов очевидно.
Ничего у Вас не получится.

Go to the top of the page
 
+Quote Post
Aner
сообщение Mar 19 2016, 12:41
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (bbb @ Mar 18 2016, 23:39) *
Из-за дискретности процесса измерения ускорения и погрешности акселлерометра даже за короткое время может накопится большая погрешность.
Это и без симуляторов/эмуляторов очевидно.
Ничего у Вас не получится.

Это не верно в корне. Поскольку вы не оперируете величинами, процентными соотношениями а только эмоциями ... короткое время, большая погрешность.
Дискретность процесса определяет приемлемые границы величин, выдаваемые мемсами.

Короме того на точность, погрешность влияют и многие другие факторы. Все они описаны и даны методы борьбы. Например если у вас питание 3.3V, а гир L3G4200D, имеет нулевой баланс, по всем осям, всех 3 усилителей только при 3.0V а, а при 3.3V приходится вводить коррекцию, причем плохо то, что она разная для каждого чипа. Но введя ее вы получите точный результат, не используя внешнего стабилизатора 3.0V.

Поскольку у процев тех же STM32F4..F7 достаточная считалка, то большая погрешность не накапливается. За исключением каких то крайних случаев, типа резких толчков, нескольких скачков, ...которые тоже определяются. Но это как правило за пределами эксплуатации. Мне удалось получить неплохие результаты, и устройство в серии. Все получается и не только у меня одного. Можно конечно все совершенствовать до бесконечности, но при разработке также важен процесс и ее окончания.
Go to the top of the page
 
+Quote Post
bbb
сообщение Mar 19 2016, 12:57
Сообщение #26


Местный
***

Группа: Участник
Сообщений: 335
Регистрация: 29-01-16
Пользователь №: 90 261



Цитата(Aner @ Mar 19 2016, 15:41) *
Это не верно в корне. Поскольку вы не оперируете величинами, процентными соотношениями а только эмоциями ... короткое время, большая погрешность.

Какими эмоциями.
Хотите чтобы я доказывал, что 2 х 2 = 4?
Нет. Спасибо. Я пас. Мне и без симулятора ясно, что 2х2=4.


Цитата(Aner @ Mar 19 2016, 15:41) *
Мне удалось получить неплохие результаты, и устройство в серии. Все получается

Ну и? Огласите результаты.
Проверить качество Вашего решения очень просто.
Просто поставьте Ваш определитель перемещения путем двойного интегрирования ускорения на стол. И скажите мне: за какое время он показывает перемещение 1 метр при этом оставаясь стоять на столе на том же самом месте?

Сообщение отредактировал bbb - Mar 19 2016, 13:00
Go to the top of the page
 
+Quote Post
Aner
сообщение Mar 19 2016, 13:36
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (bbb @ Mar 19 2016, 16:57) *
Какими эмоциями.
Хотите чтобы я доказывал, что 2 х 2 = 4?
Нет. Спасибо. Я пас. Мне и без симулятора ясно, что 2х2=4.

Ну и? Огласите результаты.
Проверить качество Вашего решения очень просто.
Просто поставьте Ваш определитель перемещения путем двойного интегрирования ускорения на стол. И скажите мне: за какое время он показывает перемещение 1 метр при этом оставаясь стоять на столе на том же самом месте?

Какими эмоциями, какими эмоциями ... да всё теми же зелеными.

...э .. не читаем что я написал что ли ... или просто не в теме. ... какого такого еще ... путем двойного интегрирования ускорения
Не показывает мой никаких перемещений хоть за несколько сек, хоть за часы, дни оставаясь стоять на столе на том же самом месте.
Go to the top of the page
 
+Quote Post
bbb
сообщение Mar 19 2016, 14:12
Сообщение #28


Местный
***

Группа: Участник
Сообщений: 335
Регистрация: 29-01-16
Пользователь №: 90 261



Цитата(Aner @ Mar 19 2016, 16:36) *
Не показывает мой никаких перемещений

А тема называется "Оценка линейного перемещения с помощью акселерометра"
Go to the top of the page
 
+Quote Post
Aner
сообщение Mar 19 2016, 14:19
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (bbb @ Mar 19 2016, 18:12) *
А тема называется "Оценка линейного перемещения с помощью акселерометра"

ну и где тут про ... путем двойного интегрирования ускорения?
Go to the top of the page
 
+Quote Post
bbb
сообщение Mar 19 2016, 14:31
Сообщение #30


Местный
***

Группа: Участник
Сообщений: 335
Регистрация: 29-01-16
Пользователь №: 90 261



Вы не знаете что перемещение - это двойной интеграл от ускорения?

Тогда о чем вообще с Вами можно говоррить?
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th July 2025 - 23:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01504 секунд с 7
ELECTRONIX ©2004-2016