Android上的DGPS更正

时间:2012-03-26 13:48:18

标签: android gps

我正在开发一个项目,旨在使用Android手机和附近工作站的GPS功能,使用RTK DGPS技术计算更精确度(cm)的定位。

到目前为止,我还没有看到有人说他们确实设法执行了类似的任务(除了@GPSmaster,who doesn't explain how),并且APK似乎没有提供来自除位置和NMEA消息更新之外的GPS芯片。如果可能的话,我需要伪距和载波相位。

我想知道是否:

  • 可以使用本机代码或其他较低级别的窥探来查找手机上的较低级别的挂钩;
  • 可以将RTCM校正发送到其中一个设备上的GPS芯片;

有什么想法吗?

7 个答案:

答案 0 :(得分:5)

一般而言,DGPS是一种通过抵消GPS信号上的大部分大气效应来提高实际位置精度的技术。在典型的直接GPS测量中,由于大气效应,在计算到卫星的范围内存在大约随机误差。这就是为什么留在固定位置收集数据的GPS接收器似乎在误差椭圆中漂移。对于同一区域内的两个接收站,大气效应几乎相同,并且它们将在其相似大小和方向的误差椭圆内并行漂移。如果两个接收器中的一个位于已知位置,则可以从已知站的真实位置获取其表观GPS位置的差异并绘制,以找到未知站的真实位置。

回到当天(大约1992年),当我们必须通过"后期处理完成DGPS"我们过去采用两个站点收集的原始NEMA数据匹配时间,计算基线向量并将其应用于已知点以找到未知点。我认为我们使用的NEMA数据仅记录到最近的10秒。数学并不是那么难。

我怀疑来自平板电脑的NEMA GPS消息[{http://developer.android.com/reference/android/location/GpsStatus.NmeaListener.html]可能通过互联网插座发送到智能手机(也有清晰的天空视图)然后,即使假定的互联网传输时间被忽略,它也可以计算差异并在几公里的距离内实现亚米级相对位置。即使平板电脑和智能手机都在应用广播DGPS调整,这项技术仍可能有效。

答案 1 :(得分:4)

不,Android应用程序获得对GPS设备的任何较低级别访问权限是不切实际的。这有几个原因:

  • 该应用程序没有其他方法可以通过基于Java的API访问GPS设备。禁止本机代码使用大多数设备,并且通常需要Java包装器来穿过Android传感器设备的沙箱。这构成了主要的安全概念。

  • 如果本机代码可以访问较低级别的GPS设备,则必须处理现在未被API抽象的几种不同的制造商协议。最好的机会是访问自定义NMEA代码,这些代码可能仍然存在设备相关的警告。

  • 即使可能进行较低级别的访问,也会失去WLAN和手机运营商等其他位置源的集成合并,这些位置源可能是在Java API下面但在NMEA协议之上的本机代码中合并的。

答案 2 :(得分:4)

随着Android 7.1的发布,来自GPS芯片的原始数据将可供开发人员使用。 (http://gpsworld.com/google-to-provide-raw-gnss-measurements/

其他人似乎做了类似于你想要完成的事情(http://gpsworld.com/innovation-precise-positioning-using-raw-gps-measurements-from-android-smartphones/

答案 3 :(得分:2)

嗯。你的机器人可能有这样一个垃圾GPS天线,达到厘米精度是不可能的。也许如果你平均数天的位置..通常DGPS支持没有公布,并没有很多芯片组支持它。上次我看到DGPS实现它涉及黑客实际的GPS芯片固件以增加支持。即使让A-GPS在随机芯片组上工作也是不确定的,因为它们可能不支持记录的辅助数据馈送方式。

答案 4 :(得分:1)

您可以通过自定义应用程序在欧洲使用DGPS校正来接收来自EGNOS增强卫星(http://egnos-portal.gsa.europa.eu/news/egnos-gets-invite-your-smartphone-11)的SISnet接收校正信号。但它确实需要订阅(对于公众来说还没有真正开放)SISnet来获取用于连接到其服务器的用户名和密码。您发布了一些有用的SDK。请记住,您仅限于C / A信号(伪距)并且您无法从智能手机内的那些廉价芯片获得相位数据(L1 / L2)。您需要一个精确的GNSS接收器,如Trimble BD910({{ 3}})能够访问GPS载波的L1载波相位信号。 GLONASS。然而,有更便宜的芯片支持SBAS,但没有一个芯片本身安装在手机中。

答案 5 :(得分:0)

它应该与硬件实现有关,而不是软件实现。

在现实中,GPS通常伴有Wi-Fi或3G,以帮助搜索当前位置。

答案 6 :(得分:0)

RTCM更正可以使用NTRIP 'provider'发送到您的Android手机。然后你需要将它应用到Android中的原始GPS。