我们正在使用安装在车辆中的GPS跟踪设备,然后在我们的应用程序中显示运动。
我们遇到了一个小问题,但是车辆静止不动。

尽管静止不动,GPS设备仍会发送位置不同的信息,有时甚至会报告车辆正在行驶(每隔一段时间就会报告车辆行驶得非常快)。最终结果是在我们的应用程序中很难显示运动,更糟糕的是,关于车辆运动和静止不动的时间的错误计算(我们也进行了一些统计分析)。

我知道问题并不新鲜:当我不时地在十字路口停下来,检测到我现在正朝相反的方向行驶时,Android手机上的Google导航也遇到了麻烦(实际上, '静止不动)。

但是我们确实需要某种方法来告知车辆不动,尤其是长时间不动。

问题变得更加复杂在某些夜间被保留在车顶下的车辆中,由于信号较弱(导致GPS仍然足够强到可以定位),导致GPS失效。

我们可以检测出车辆的引擎已打开或关闭,但我们不能认为它没有在引擎关闭的情况下移动(有事故拖曳损坏的车辆...当然,还有一个潜在的盗窃案件也需要报告)。

解决此问题的最佳方法是什么?

编辑:

要添加更多信息,请执行以下操作:


GPS设备确实具有加速度计,但是仅返回二进制信息(移动/不移动),并且它对TOO敏感,或者仅仅是普通的没用。
我们确实可以使用卫星数量或质量之类的东西,但是我们不确定如何利用这些信息。因此,我的问题。 :)
问题不在于实时检测车辆是否在行驶。我们收集数据,然后进行一些统计分析并显示出来。我们确实显示了车辆的当前位置,但这并不重要。因此,基本上,我们需要能够通过查看历史数据来判断车辆是否在行驶。


评论

如果您的追踪器中集成了加速度计,则可以利用加速度计数据来检测车辆是否真的在移动,如果不动则可以关闭GPS跟踪。

您的GPS设备是否记录信号质量,卫星数量以及此类数据?另外,听起来您将“稍后显示运动...”,这样您是否可以确认这不是实时检测问题,而是稍后在处理过程中要过滤的内容?
我已编辑问题以提供更多信息。简而言之:加速度计表现得很疯狂,我们可以访问卫星计数或质量信息,但是我们不确定如何使用它们,是的,这不是实时检测问题。

在统计网站上,您会发现一些有关检测异常值和平滑的有用建议。

地理围栏-当车辆在区域中时(即车库,则不记录位置)-androidzoom.com/android_applications/geofencing

#1 楼

问题下方的注释提出了一些好处,尤其是在解释卫星数据质量(卫星数量,信号强度)方面,您可以在移动设备或服务器上使用此信息来过滤掉“错误的” GPS值。问题可分为两部分:1)如何定义伪造的GPS读数,以及2)如何定义静止状态。

让我们从几个参数开始:

stationary_speed =如果移动装置的速度比这慢,那么它是静止的
too_fast =如果移动装置的速度比这快,那么它给出了伪造的GPS读数

准确地计算这些速度非常棘手。假设您将速度计算为前一个读数(在t0处)和当前读数(在t1处)之间的/。如果时间增量很大,并且该单位绕一条曲线行驶,则实际行进距离将大于计算出的距离。另外,如果您连续得到两个虚假的读数,并且它们彼此之间足够接近,那么您将获得无法预测的结果。

一旦有了速度,只需将其与您的参数进行比较,以查看GPS读数是否虚假或设备是否静止。卡尔曼滤波器,但这可能涉及更多。

评论


GPS设备会在每个发送的数据包中返回大量数据,包括位置和当前速度。我们已经有一个适当的系统,如果速度低于某个特定值,我们会假设车辆没有在行驶,但是在某些情况下,车辆仍会以高于该阈值的速度发送数据,尽管仍然保持静止(请注意:速度不算太好,我们可以增加一个上限)。我不确定仅基于位置(而不是GPS读数)来计算速度是否是个好主意。

– Shaamaan
2012年10月9日在6:19



#2 楼

我们已经设法调整了运动传感器的数据。

使用运动传感器的数据,点火数据和GPS跟踪器报告的速度,我们应该能够清晰地判断车辆何时在行驶精度很高。

我们还研究了卫星的数量,但效果并不理想。虽然车顶下车辆的卫星数量较少,但仍然相对较高。 9-10是此类车辆的常用值,而在车顶下则降至7(但有时也可能会发出信号并上升)。毋庸置疑,事实证明,卫星数量少了有用。

评论


该信息对于确定错误数据仍然有用。我基于它做了很多“正确的”过滤。 9仍然很高,您确定芯片不会重复上一个众所周知的值吗,板上确实有此功能并且大多数时候都启用了。

– Glen Plas
2012年11月9日在8:23

主要的问题是将车辆存放在某种类型的棚屋中过夜。我不认为它会重复最后一次知道的位置,因为如果车辆进入/存放在混凝土车库(或其他坚固的车库)中,它们将完全消失。卫星的数量下降是一个指标,但似乎微不足道,事实证明,调整和使用运动传感器数据要容易得多。

– Shaamaan
2012年11月9日9:07



不在我跟踪的3000多辆汽车上,您需要用于修复的卫星数,而不是视线范围内的卫星数。当您的屋顶仍然可以让某些信号通过时,这些信号可能会保持很高。但是,该修复程序与Db增益值一起是一个很好的指标。

– Glen Plas
2012年11月9日下午13:53

我完全可以说,那是那些在车库里面/外面的。我也没有遭受蜘蛛问题的困扰,因为运动/非运动状态会捕获它。我同意传感器为您提供了更多的功能。

– Glen Plas
2012年11月9日13:56

我的同事很有可能是错误地设置了可见卫星的数量,而不是用于修复的数量(我看到的只是一张Excel表格,其中的数据带有手动填写的列标题)。 :P无论如何,正如我所写的那样,经过调整的运动传感器是我们解决这个问题的方法。

– Shaamaan
2012年11月9日在16:18

#3 楼

您可以使用用于进行最后修复的饱和度数,而不是视野中的饱和度数。例如。 View = 11,Fix = 5并使用最强饱和度信号的最大DB值。必须达到30Db以上才能获得良好的信号。

我们使用的设备具有移动/不移动的概念,传感器包括:加速度,振动,输入电压,输入信号(来自按键触点) ,GPS数据。要报告诸如开始/停止(基于事件)和方向/距离事件之类的位置,设备必须处于移动模式(这是可配置的倒数计数器)。

传感器可以组合使用。跟踪器确定不处于移动模式时,不报告方向/距离事件或计时器。当涉及的传感器停止报告时,计时器递减计数至零,然后生成一个停止事件+将该设备置于非移动模式。直到下一次。这样,您就可以分离出发动机的初始加速值,以将其“置于”运动模式,并为运动模式“保持”其单独的下限阈值,因为两者都是非常不同的加速模式。我们使用的方法将报告是否使用不良卫星数据获取了一个点,不确定您的硬件是否这样做。我们有一个SV_Position或SV_KeepAlive或SV_TimeAlive。由于GPS无法更新其表,也无法获得准确的定位结果,因此Keepalive将重复精确的最后一个值,甚至不会损坏。当您穿越隧道或有人将车停在车库中时,会看到TimeAlive。您要跟踪的资产是电压电源。例如。以12.30vv运行的设备是引擎未运行的汽车。如果您看到一个报告14.2v的发电机,则表明它正在旋转。对于24v车辆,也有类似的模式。

希望这能给您一些想法。这完全取决于硬件的性能。数据源从此处开始,之后的所有其余数据都保持原样。但是,我强烈建议您使用单位功能来进行质量区分,而不是在服务器端全部这样做(事后看来)。一旦您喜欢3000个单位,就需要一台功能强大的服务器来不断分析所有跟踪数据,因此您将意识到它无法扩展。

评论


我确实不得不评论收集电压的想法。太好了!我们在使用某些车辆时遇到了很多麻烦,我们不确定为什么。我们目前怀疑这可能是由于安装跟踪设备的技术专家的技能不佳而导致电压问题,尽管这也可能是破坏活动(是的,破坏活动;我们正在监控燃油水平和驾驶员不喜欢)。如果我们可以在跟踪设备上记录电压,那将极大地帮助您。 :)竖起大拇指! (我会给多个,但可悲的是,我不能...)

– Shaamaan
2012年10月11日7:22

它适用于在示踪单元之间没有电压调节器的所有车辆。从KCS的配置程序中检出此链接,这是我正在谈论的单元,只需运行它,看看您能在运动感测方面做些什么,您会感到惊讶。下载此版本,它是version9单元的最新软件。电压的想法是他们的。您会在此处看到一些不错的默认设置(卡车/汽车/汽车)

– Glen Plas
2012年10月11日7:27

饱和度数是一个糟糕的指标,您确实希望用于进行最后修复的饱和度数(即您所看的值,它不是当前情况指标),尽管饱和度数将使您能够确定绝对坏点,将无法帮助您解决灰色区域,例如质量中等的样品。您需要组合不同的传感器。实际上,计算速度的方法与GPS芯片已经完成的速度相同,而质量的高低也取决于您采集的样本数量(道路并非处处直达)及其精度。小鸡蛋问题

– Glen Plas
2012年10月11日7:34

#4 楼

使用GPS记录器跟踪踏板车时,我遇到了类似的问题。我所做的就是将GPS轨迹覆盖在道路图层上,并手动删除了十字路口或交通信号灯内或附近的错误位置。
我确定有自动化的工具可以解决这个问题,可能是交叉路口周围的缓冲区,并计算出该缓冲区的最小和最大时间。

评论


由于车辆在停放停车场或车库时不行驶时会出现问题,因此这根本没有用。 :(

– Shaamaan
2012年10月9日下午6:21

#5 楼

为此,本领域的术语是爬行。一种常见的方法是仅在距离上一个修复点10m的位置取样。例如,Garmin手持设备根据距离记录修复,而健身手表则根据时间记录修复。掌上电脑的爬行能力不是很高,但是手表却很。

评论


术语是多路径错误

–ruruskyi
2015年6月11日在13:25

#6 楼

计算GPS坐标当前和先前坐标之间的距离(您已经使用/传输到服务器的坐标)。
根据GPS设备的精度,您可以设置距离限制,例如车辆距先前定位设备100米将报告活动。
我们可以使用数学轻松地计算两个坐标之间的距离。

评论


我知道这个问题很老,这个答案很明智。但我确实非常清楚地记得,我们需要一定程度的准确性,不能依靠这种计算。原因是跟踪器经常用在农场设备中,可以缓慢而有意识地移动。还需要跟踪这些缓慢的运动,因此100m的“死区”无法很好地满足此要求。

– Shaamaan
20年9月3日在7:05