将用于 RTK 校正的 Trimble R8 基站与 BlueBoat 的船载 GPS 集成

我正在使用一艘配备有Cerulean Surveyor多波束回声测深仪的BlueBoat无人水面艇进行一个项目。为了实现多波束数据所需的高精度定位,我的目标是使用我们的Trimble R8 GNSS 作为基站,为BlueBoat的标准船载GPS 提供RTK校正。

我对一般工作流程的理解如下:

  1. 基站: 在已知点设置 Trimble R8,以生成和广播 RTCM 校正数据。
  2. 数据传输: 将 RTCM 数据从 R8 流式传输到 BlueBoat。我计划通过互联网使用 NTRIP 服务来实现这一点(将 R8 设置为 NTRIP 服务器/广播器,或使用第三方广播服务)。
  3. 漫游车(BlueBoat): 在 BlueBoat 上配置 BlueOS/ArduPilot 作为 NTRIP 客户端,连接到数据流以接收校正信息。
  4. GPS 注入: 使用 ArduPilotGPS_INJECT_TO 参数将传入的 RTCM 校正提供给主机载 GPS,使其能够实现“RTK 固定”解决方案。

我希望能从有类似经验的人那里获得一些指导。我的具体问题是:

  • 我对工作流程的理解是否正确,还是我遗漏了关键步骤?
  • 能否请哪位提供关于BlueOS和ArduPilot软件配置的更详细指导?特别是如何正确配置NTRIP客户端并确保参数GPS_INJECT_TO 按预期工作。
  • 连接这样的系统时,有哪些具体的硬件注意事项或潜在的陷阱需要注意?
  • 有没有人成功使用过专业级基站(例如 Trimble 或 Topcon)向标准的 BlueBoat GPS 提供修正数据?我很想听听你们的经验。

RTK 设置已在 BlueBoat 常见问题解答中介绍 - 您看过这些信息吗?

导航自动驾驶仪可以解析任何 NMEA 位置流。要接收来自联网设备的消息,只需将自动驾驶仪参数GPS_Type 配置为 NMEA,Serial2_Protocol 配置为 GPS,并确保没有其他串口协议设置为 GPS。最后,在自动驾驶仪固件的串口配置中,将串口 2 设置为:udpin:0.0.0.0:27000。然后将您的 UDP NMEA 流定向到 BlueBoat 的 IP 地址。请注意,导航需要以下 NMEA 消息:RMC、GGA、VTG 和 HDT。此方法使用 ArduPilot 驱动程序来解析 NMEA 消息——您也可以使用BlueOS 中的NMEA Injector,它支持的消息较少。如果使用串口连接将 NMEA 位置数据传输到导航仪的串口 3 或 4,请将相应的串口协议参数设置为 GPS 并重启自动驾驶仪。 NMEA 消息的发送频率应为 10Hz 或更高。

针对您的问题,首先您需要按照常见问题解答中的说明,在 BlueBoat 上配置 Trimble GPS,使其向自动驾驶仪发送位置信息。配置完成后,处理修正数据就非常简单了,只需安装相应的 BlueOS 扩展程序(名为 Ntrip),并将其配置为通过互联网接收修正数据(通过蜂窝调制解调器,或者您计划如何为系统提供互联网接入?)。

我不熟悉 GPS_INJECT_TO 参数——也许 Ntrip 扩展程序会用到它,但我认为你不需要直接修改它(如果它真的存在于 ArduRover 固件中的话)。

我能想到的唯一潜在问题是,如果您在 BlueBoat 上使用两个接收器来获取 GPS 航向测量值,则它们之间需要保持足够的距离,并且所有组件的位置都应记录在相关参数中。最近的默认参数更新设置了 INS 和默认 GPS 位置信息——您需要将额外的 GPS 位置配置为相对于船体中心(位于船体中间的水面点)的位置。

如果您遇到任何问题,请随时联系我们!很多用户似乎都在使用各种RTK GPS系统,而且没有遇到任何问题。我们正在评估各种方案,以便最终提供Blue Robotics的(低成本)解决方案。

我能否使用船上现有的 GPS,只用 1 个 R8 作为基站?