我正在使用MPU6050加速度计在手镯上创建一种计步器,为此,我依赖以下代码https://github.com/Perseus14/Pedometer/blob/master/Pedometer.ino。我设法使代码正常工作,但是我对算法中的以下计算有疑问:
int mag = sqrt(pow(x-angle_x,2)+ pow(y-angle_y,2)+ pow(z-angle_z,2)); (A)
在我输入的这行代码中,他计算信号幅度的矢量,但为了进行此计算,x,y和z等于已经获得的先前角度,而angle_x,angle_y,angle_z平衡当前角度。我的问题与这种值的减法有关,因为计算符号幅度矢量的公式如下:
int mag = sqrt(pow(x,2)+ pow(y,2)+ pow(z,2)); (B)
有人能理解为什么在计算信号幅度矢量之前在第一个公式(A)中减去了值吗?
谢谢!
答案 0 :(得分:1)
我想这是用来计算加速度变化的蜂...从根本上说是推导性的。
推导位置时会得到速度。 当推导速度时,就会得到加速度。
(考虑时间常数为“ 1”)。