Вычисление скорости(да, с погрешностями, хотя бы для начала) с показаний акселерометра в виде G
- Войдите на сайт для отправки комментариев
Пт, 18/05/2018 - 00:18
Значит прикрутил я к Arduino Uno инерциальный измерительный модуль Polulu AltIMU 10 v4, через последовательный порт передал дефлотные значения, нарисовал графики по осям, и хочу перевести те значения в скорость(м/с), пожалуйста дайте мне правильное направления, а именно куда и как двигаться для достижения своих нужд, я понимаю что это бесмысленно пытаться делать что-то подобное, ибо погрешности, пренебрегайте этим, спасибо)
Сэр когда-нибудь слышал такое слово как "интеграл"?
слышал и работал с ними, ток в саму суть не углублялся
я тут наткнулся на ресурс/я в курсе что надо интегрировать, но каким образом не знаю/ http://www.chrobotics.com/library/accel-position-velocity / у меня датчик выдает значения в единице g в рамках от -16 до 16, можешь меня направить в правильное русло, ато я во всем этом уже совсем заблудился.
Направляю. Через равные малые промежутки получайте показания и накапливайте их сумму. Она и будет скорость с точностью до коэффициентов. Но затея скорей пустая, точности значения скорости не получить, будет дрейф значения из-за систематических погрешностей.
Delay у меня 70, и как понять сумму?
Т.е ты хочешь сказать, мне нужно суммировать накопленные значения в виде G, не представляю как из этого извлечь скорость в м/c
А есть у тебя пример подобной реализации?
//не представляю как из этого извлечь скорость в м/c
Я ж писал "с точностью до коэффициентов". Накопленая сумма будет пропорциональна скорости. А для м/с нужно коэффициент пропорциональности посчитать.
Имеется ли формула для этого подсчета?
Да имеется. В datasheet на ваш акселерометр. Называется чувствительность. Вольты пересчитываются в ускорение. Ускорение в скорость. Если единицы измерения не попутать, то получится.
Спасибо, сейчас попробую)
Что-то я не нашел ничего подобного,
https://www.pololu.com/file/0J703/LSM303D.pdf
У вас i2c интерфейс. Выдает не вольты а оцифрованное значение. Таблица 3, LA_So. В зависимости от установки диапазона выдает мили g на один разряд. Множите полученную цифру на этот коэффициент, получаете ускорение. В мили 9.8 м/с/с.
полученное значение на 9,8 м/c/c ?
Молодой человек. Над вами глумятся и совершенно справедливо.
Вы хоте получить "формулу" уравнения движения.
В общем случае - это сложная математическая задача с применением методов статистики, дифференциального исчисления, матриц, тригонометрии и еще черт-его-знает чего.
На сайте вашего "полулу" есть много программ для разных сред исполнения. В сети есть много вариантов для полетных контроллеров квадрокоптеров. В двух словах не рассказать об уравнениях движения твердого тела, центре скоростей, фильтре Калмана и т.д. и т.п.
--------
В очень ограниченном случае, если тело сохраняет ориентацию, то есть не поворачивается, можно просто интегрировать компоненты ускорения. В этом случае можно полагать неподвижные и подвижные орты совпадающими. Без фильтрации по априорной информации (типа фильтра Калмана) будет накапливаться ошибка. Ее можно "сбросить" кнопкой, указывающей что тело в "покое".
Численное интегрирование гуглите по названию. В "детском" случае такого грубого упрощения, можно интегрировать даже "прямоугольниками", хотя лучше - трапециями, вычислений на одно сложение больше. ;)
Окей, ясно спасибо
Почему сразу: глумятся? Как абсолютно точно сказал Влад для прямолинейного движения достаточно интегрирования и регулярного сброса в ноль в состоянии покоя.
Без фильтрации по априорной информации (типа фильтра Калмана) будет накапливаться ошибка.
Ошибка тут будет полюбому. Хоть с фильтром, хоть без. Сам метод интегрирования плох, он именно накапливает, даже мизерную ошибку. Потому определять скорость, а непреведи господи, координату по измереному ускорению избегают везде где можна. А если нельзя, на ПЛ например, то ставят гироскоп размером с автомобиль.
Логик! Ты вот умный ведь, да? Эта железка, про которую ТС спрашивал - она для квадрокоптеров. В ней трехосевой гироскоп, акселерометр и магнитометр, плюс датчик давления. Верю, что ты понимаешь: если все ее данные правильно обработать, то будет "и ванна и кофа и какава с чаем"?
То есть эта железка с обработкой даст все нужные показания для авионики: скорость векторно, углы курса тангажа и крена, скороподъемность и еще много полезного. А если добавить ГПС, то прям праздник начнется... ;)
И да, слово "интегрирование" в математике означает не только собственно интерграл по Риману, но и просто решение дифференциальных уравнений, причем как аналитически так и численно.
И да, "фильтр Калмана" это не способ фильтрации ;) ;) ;), а метод решения задачи определения состояния динамической системы по неполным, неточным, дискретным данным, с учетом априорной информации (типа закономерностей и ограничений системы).
То есть именно он и используется в полетном контроллере квадрокоптера и справляется с точным определением скорости и координаты.
(Квадрокоптер "Почты России" - не предлагать!)