我们计划编写一个软件,每隔5秒左右跟踪一次Car的GPS位置,GPS信号强度,加速度计(X,Y,Z)和陀螺仪(X,Y,Z)。并将数据发送到服务器进行后期处理。服务器将确定什么是覆盖汽车的道路。所以这不是一个实时处理。它可能发生在后端(作为批处理过夜)
当GPS信号下降时,请说30秒。后处理应使用同时记录的其他传感器数据猜测lat和lon。所以我正在寻找一种解决方案来找到使用加速度计和陀螺仪传感器覆盖的速度或距离。
客户端可以是Android设备或Windows设备。后处理服务器只需要解析以CSV或任何其他格式发送的数据。
我发现了一些关于惯性导航系统和其他算法的文章和白皮书。并尝试实施其中一些。还是有其他更好的公式,就像我在下面找到的那样。
vel_new = vel_old + ( acc_old + ( (acc_new - acc_old ) / 2.0 ) ) * SAMPLING_TIME;
修改 除了所有传感器数据之外,我还将我感兴趣的特定城市地图的所有道路都存储为sqlgeography。因此,在我可以获得的大致位置的情况下,我会尝试找到他们本来可以到达的最近的道路,或者转向。
答案 0 :(得分:2)
这是一个经典问题:It won't work.答案是关于这个位置,但即使是速度也不会有效。
使用来自GPS的最后和第一个测量速度并在它们之间进行插值的启发式算法会更好,强制执行从地图中推导出的位置约束。
答案 1 :(得分:0)
我也在研究这个话题。我读过一篇论文,也许对你来说也是有益的。在本文中,通过使用与gps结合的加速度计和陀螺仪,解决方案变为现实。但我怀疑如何减去重力的影响来获得真正的加速度?如果您对本文有所了解,我希望您能与我分享。 paper