Я пытаюсь использовать свой акселерометр на своем мобильном устройстве (точнее, на смарт-часах), чтобы рассчитать скорость поворота руки человека.
Данные, возвращаемые акселерометром, находятся в .
Поскольку ускорение руки человека непостоянно, я не могу использовать уравнение v0 + at
для расчета скорости.
Я никогда не был хорош в физике, так как мне рассчитать скорость с различным ускорением?
Вам нужно интегрировать ускорение, чтобы получить скорость.
Есть несколько способов сделать это численно.
Я предполагаю, что вы получаете эти показания регулярно с интервалом в , Например или что-то вроде того.
О самом простом способе сделать это
куда это скорость во времени . но есть и более изощренные способы сделать это — я не буду их здесь повторять, но вы, возможно, захотите посмотреть на использование правила Симпсона, которое описано здесь .
Проблема усложняется тем, что скорость является трехмерной, поэтому вам необходимо интегрировать каждое из трех измерений x, y и z, разделенных.
Это зависит от того, как телефон дает вам информацию об ускорении, но если вы получите , а также через равные промежутки времени вы можете сделать следующее...
vx += ax * dt;
vy += ay * dt;
vz += az * dt;
если вы получаете ускорение в виде необработанного числа и угла, вам придется преобразовать, я думаю, полярные координаты в компоненты xyz, чтобы иметь возможность их сложить.
Общая скорость, дается, конечно,
Я бы, конечно, попробовал начать с
Curious One поднимает очень интересный вопрос о - лучший способ проверить это - закодировать и попробовать - встряхните телефон и посмотрите, возвращается ли скорость к нулю, когда он находится в состоянии покоя после встряхивания или перемещения....
... вы можете опубликовать свои результаты, если вы сделаете это и попробуете?
Еще одна проблема — скручивание телефона и скручивание акселерометра — это потребует от вас подумать об угловом ускорении и т. д., но основные принципы, изложенные здесь, будут такими же, если вам нужно подумать об углах.
Вот почему, когда вы хотите численно интегрировать вертикальное ускорение, вы должны вычесть 1 г из вертикального ускорения, которое вы измеряете с помощью акселерометра.
CuriousOne
тычж
CuriousOne
Том
CuriousOne
Том
CuriousOne
Том
CuriousOne