一个用加速度计陀螺仪和磁电机定位的库
A library to get position with accelerometer gyro and magneto
我使用的传感器是加速度计+陀螺仪+磁电机(全部集成在一个芯片中)。我想知道是否有人知道可以帮助我从这些值中获取位置的库。
我的意思是从 0.0 (lat/long) 开始并更新值。如果没有图书馆,我仍在寻找链接以获取有关如何进行数学运算的线索。我看过类似 one or this 的帖子,但我没有找到我要找的东西。
谢谢
如果它可以帮助任何人,我已经找到了我正在寻找的确切主题。在这里:
https://lb.raspberrypi.org/forums/viewtopic.php?t=127930
[编辑]
想法是这样的:
算法 2 :
我找到了两个方法,不知道哪个更好,
Accroll = atan2( accy / (accy^2 + accz^2) )
Accpitch = atan2( accx / (accx^2 + accz^2) )
来源:http://franciscoraulortega.com/pubs/Algo3DFusionsMems.pdf
Accroll = atan2(accy, accz)
Accpitch = atan2( -accx, sqrt(accy^2 + accz^2) )
来源:https://www.nxp.com/files-tatic/sensors/doc/app_note/AN3461.pdf
第 10 页
算法 3
我觉得应该是像这样的互补滤镜吧:
用陀螺仪数据计算俯仰和横滚:
Gyrpitch = gyrox * dt;
Gyrroll = gyroy * dt;
计算滤波后的俯仰和横滚:
pitch = Gyrpitch * 0.98 + Accpitch * 0.02;
roll = Gyrroll * 0.98 + Accroll * 0.02;
算法一
XH = mx cos(pitch) + my sin(pitch) sin(roll) + mz sin(pitch) cos(roll)
YH = my cos(roll) + mz sin(roll)
yaw = atan2(−YH / XH)
其中:m:磁力计数据
来源:http://franciscoraulortega.com/pubs/Algo3DFusionsMems.pdf
我使用的传感器是加速度计+陀螺仪+磁电机(全部集成在一个芯片中)。我想知道是否有人知道可以帮助我从这些值中获取位置的库。
我的意思是从 0.0 (lat/long) 开始并更新值。如果没有图书馆,我仍在寻找链接以获取有关如何进行数学运算的线索。我看过类似
谢谢
如果它可以帮助任何人,我已经找到了我正在寻找的确切主题。在这里:
https://lb.raspberrypi.org/forums/viewtopic.php?t=127930
[编辑]
想法是这样的:
算法 2 :
我找到了两个方法,不知道哪个更好,
Accroll = atan2( accy / (accy^2 + accz^2) )
Accpitch = atan2( accx / (accx^2 + accz^2) )
来源:http://franciscoraulortega.com/pubs/Algo3DFusionsMems.pdf
Accroll = atan2(accy, accz)
Accpitch = atan2( -accx, sqrt(accy^2 + accz^2) )
来源:https://www.nxp.com/files-tatic/sensors/doc/app_note/AN3461.pdf 第 10 页
算法 3
我觉得应该是像这样的互补滤镜吧:
用陀螺仪数据计算俯仰和横滚:
Gyrpitch = gyrox * dt;
Gyrroll = gyroy * dt;
计算滤波后的俯仰和横滚:
pitch = Gyrpitch * 0.98 + Accpitch * 0.02;
roll = Gyrroll * 0.98 + Accroll * 0.02;
算法一
XH = mx cos(pitch) + my sin(pitch) sin(roll) + mz sin(pitch) cos(roll)
YH = my cos(roll) + mz sin(roll)
yaw = atan2(−YH / XH)
其中:m:磁力计数据 来源:http://franciscoraulortega.com/pubs/Algo3DFusionsMems.pdf