Величина вектора сигнала - акселерометр MPU6050

Я создаю своего рода шагомер на браслете с акселерометром MPU6050, и для этого я полагаюсь на следующий код https://github.com/Perseus14/Pedometer/blob/master/Pedometer.ino . Мне удалось заставить код работать, но я сомневаюсь в следующем расчете, сделанном в алгоритме:

int mag = sqrt (pow (x - угол_x, 2) + pow (y - угол_y, 2) + pow (z - угол_z, 2)); (А)

В этой строке кода, которую я помещаю, он вычисляет вектор величины сигнала, но чтобы сделать этот расчет, x, y и z эквивалентны уже полученным предыдущим углам, а angle_x, angle_y, angle_z уравновешивают текущие. Мой вопрос связан с этим вычитанием значений, потому что формула для вычисления вектора величины знака выглядит следующим образом:

int mag = sqrt (pow (x, 2) + pow (y, 2) + pow (z, 2)); (Б)

Кто-нибудь может понять, почему значения были вычтены в первой формуле (A) перед вычислением вектора величины сигнала?

Спасибо!


person Darlan Candiotto    schedule 12.09.2020    source источник


Ответы (1)


Я думаю, что это используется для расчета вариации ускорения... И это в основном производная.

Когда вы вычисляете положение, вы получаете скорость. Когда вы вычисляете скорость, вы получаете ускорение.

(Учитывая, что постоянная времени равна 1).

person Túlio Rossi    schedule 04.10.2020