У меня есть акселерометр, подключенный к устройству, которое передает мгновенные значения ускорения в трех направлениях. Я пытался рассчитать расстояние для вертикального движения, используя эти значения в Excel (применяя двойное интегрирование), но почему-то это не работает должным образом.
Как можно было бы рассчитать пройденное расстояние по измеренному ускорению с помощью таблиц Excel?
Начинается с "=" = 0 и и путем отслеживания нескольких значений ускорения либо с временным интервалом, либо с фиксированными интервалами, , то можно получить позицию.... несколько. Со временем будет дрейфовать. Кроме того, ваше устройство вообще не может вращаться, иначе вам понадобится гироскоп, чтобы отслеживать это, а затем использовать тригонометрию, чтобы правильно ориентировать значения xy и z от акселерометра. Предполагая, что он всегда ориентирован так, что всегда идеальное вертикальное ускорение (если вы находитесь в транспортном средстве, которое всегда плоско, и в этом случае z не имеет значения, или вы находитесь на вертикальной направляющей),
Так же отсюда :
Краткий ответ: забудьте об этом.
Более длинный ответ: если вы не находитесь на идеально прямом рельсе, вы не добьетесь того, чего хотите, без (а) набора гироскопов; и (б) Гораздо более точные датчики, чем те, что у вас есть.
Акселерометры измеряют ускорение в фиксированной системе отсчета тела, тогда как вам нужно некоторое смещение в фиксированной системе отсчета земли.
Следовательно, вам нужно не только интегрировать акселерометры, но и повернуть их в рамку, закрепленную на земле, прежде чем выполнять интеграцию.
Это при условии идеальных датчиков. Датчики MEMS далеки от совершенства — я написал здесь пост о некоторых ошибках.
Рассмотрим две ошибки: 1. Смещение на акселерометре. 2. Ошибка начальной ориентации (наклона).
В дополнение к любому сигналу ускорения, интегрируйте смещение, и вы получите линейную ошибку со временем. Интегрируйте рампу, и вы получите квадратично возрастающую ошибку со временем. Это будет складываться очень, очень быстро.
Рассмотрим ошибку наклона. Теперь вы будете измерять часть вектора гравитации в прямом (или любом другом) направлении. Интегрируйте эту ошибку дважды, и вы получите ту же проблему, что и смещение.
Так что мой совет еще раз НЕ ДЕЛАЙТЕ! Найдите другой метод.
Кроме того, ознакомьтесь с этой книгой для более подробного проектирования или используйте любые датчики и алгоритмы, на которых работают эти ребята:
http://www.youtube.com/watch?v=6ijArKE8vKU
Если вы все еще хотите попробовать, используйте трапециевидный метод в Excel, это довольно просто. Здесь есть страница объяснения с образцом, но вот более полный способ:
1 Time [A] Acceleration [B] Velocity [C] Distance [D]
2 0 a(z) 0 0
3 1 a(z) =C2+(A3-A2)*(B2+B3)/2 =D2+(B3-B2)*(C2+C3)/2
4 2 a(z) =C3+(A4-A3)*(B3+B4)/2 =D3+(B4-B3)*(C3+C4)/2
5 3 a(z) =C4+(A5-A4)*(B4+B5)/2 =D4+(B5-B4)*(C4+C5)/2
6 4 a(z) =C5+(A6-A5)*(B5+B6)/2 =D5+(B6-B5)*(C5+C6)/2
7 5 a(z) =C6+(A7-A6)*(B6+B7)/2 =D6+(B7-B6)*(C6+C7)/2
8 6 a(z) =C7+(A8-A7)*(B7+B8)/2 =D7+(B8-B7)*(C7+C8)/2
9 7 a(z) =C8+(A9-A8)*(B8+B9)/2 =D8+(B9-B8)*(C8+C9)/2
10 8 a(z) =C9+(A10-A9)*(B9+B10)/2 =D9+(B10-B9)*(C9+C10)/2
11 9 a(z) =C10+(A11-A10)*(B10+B11)/2 =D10+(B11-B10)*(C10+C11)/2
12 10 a(z) =C11+(A12-A11)*(B11+B12)/2 =D11+(B12-B11)*(C11+C12)/2
... ... ... ...
Раскольников
Франциско
Франциско
Джон Алексиу