Dorad's Life

既然选择了远方,便只顾风雨兼程!

0%

ZED-F9PK4 RTK GNSS模块使用指南

ZED-F9PK4模块

一、 基准站配置

1. 硬件连接与软件初始化

将USB-TTL模块与ZED-F9P连接,最好是接入J1接口,即右侧接口。

打开u-center软件,配置端口和波特率,连接ZED-F9P模块。

2. 模块初始化——恢复出厂设置

UBX —> CFG ­­—> CFG —> Revert to default configuration

选择所有devices并点击 Send

恢复出厂设置

【注】模块初始化后,默认为移动站配置。

3. 设置模块端口输出

UBX —> CFG ­­—> PRT

端口配置:

  • J1(UART1)接口(即电脑端)波特率使用38400,输入输出协议使用UBX+NMEA+RTCM3

  • J2(UART2**)接口(即LORA模块端)波特率使用19200输入输出协议使用RTCM3,同时LORA模块需要同步将波特率设置为19200**(需要和空中传输速率一致或小于空中发射速率),否则可能发送接收出错。

根据上述参数进行设置,并点击Send,下图设置。

串口输出配置

【注】经此配置后,UART2仅输出RTCM3差分信号。

4. 配置消息输出

UBX —> CFG ­­—> MSG

轮流选择 F5-* RTCM3.3 1005~1230,

消息输出类型

勾选UART1/UART2/SP1,并Send。

消息输出串口配置

【注】该步骤主要是定义模块在每个串口输出的数据。

5. 设置GPS基站观测

UBX —> CFG ­­—> TMOD3

配置观测时间和要求的坐标精度, 如下图所示。

具体参数可以根据需要自行设定。

观测时间和精度设置

6. 查看运行状态

UBX —> NAV ­­—> SVIN

观测状态

如上图所示,可以查看基准站的运行情况,如观测时间、是否收敛。

可使用 View -> Message -> RTCM3中查看RTCM协议接受情况,当1005-1230全部为黑色(而非灰色)时,表明该基站已收敛,可用于流动站RTK差分。

差分信号状态

7. 基准站外挂LORA模块

在ZED-F9P的UART2(即J2)挂载串口转LORA模块,进行广播传输。

串口配置(UBX —> CFG ­­—> PRT):

  • J1接口(即电脑端)波特率使用38400,输入输出协议使用UBX+NMEA+RTCM3

  • J2接口(即LORA模块端)波特率使用19200输入输出协议使用RTCM3,同时LORA模块需要同步将波特率设置为19200****,否则可能发送接收出错(此条非常关键)

移动站可以使用相同LORA模块作为从站,进行RTCM3差分信号接收。

二、 移动站配置(采用离线RTK模式)

1. 硬件链接

UART1 接入上位机(电脑端或linux主机),UART2接入串口转LORA模块。

2. 模块初始化——恢复出厂设置

UBX —> CFG ­­—> CFG —> Revert to default configuration

选择所有devices并点击 Send

恢复出厂设置

【注】模块初始化后,默认为移动站配置。

3. 上位机调试(U-Center)

U-Center设置端口号和波特率,连接上后,可查看模块定位信息。

Fix Mode 表示当前定位模式:

  • 3D:普通定位模式,无差分

  • 3D/DGNSS/Float:RTK差分定位,但还在定位中

  • 3D/DGNSS/Fix:RTK差分定位,已稳定。

4. 上位机调试(串口)

串口输出数据可以通过U-Center中UBX —> CFG ­­—> PRT进行修改,读取数据仅需要根据NMEA协议进行数据解析。

串口配置(UBX —> CFG ­­—> PRT):

  • J1接口(即电脑端)波特率使用38400,输入输出协议使用UBX+NMEA+RTCM3

  • J2接口(即LORA模块端)波特率使用19200输入输出协议使用RTCM3,同时LORA模块需要同步将波特率设置为19200****,否则可能发送接收出错(此条非常关键)

5. NMEA数据解析

参考NMEA协议。

关键信息:

  • GNRMC:推荐定位坐标,包含经纬度和定位模式

  • *GGA:GPS定位信息

  • *GSA:当前卫星信息

  • *GSV:可见卫星信息

  • *VTG:地面速度信息

  • *GLL:定位地理信息

移动站获取定位信息仅需根据NMEA协议,读取GNRMC进行解析即可。

NMEA协议参考:

三、 移动站配置(CORS网络RTK)

该方案只能在U-Center下进行调试。

数据逻辑为:

  • ZED-F9P通过串口与计算机连接,进行数据交互。使用协议:UBX、NMEA和RTCM3。其中UBX用于模块配置,NMEA输出定位信息,RTCM3用于输入CORS差分信号。

  • U-Center通过配置NTRIP Client从千寻服务端获取RTCM3差分信号,并通过串口传输到ZED-F9P模块,模块将根据差分信号进行RTK结算。实际就是通过网络传输了RTCM3协议数据,替换电台功能。

  • 另外U-Center的NTRIP Client可替换为其它NTRIP Client软件,将数据转发至串口,如:Lefebure NRTIP Client

  • 若是需要将ZED-F9P挂载到其它上位机,同样需要在其它上位机实现NTRIP Client这一套东西,通过串口将RTCM3数据发送到ZED-F9P模块内,实现RTK定位。

下面讲述千寻CORS在U-Center软件中的配置方案。

1. 硬件链接

将USB-TTL模块与ZED-F9P连接,最好是接入J1接口,即右侧接口。

打开u-center软件,配置端口和波特率,连接ZED-F9P模块。

2. 模块初始化——恢复出厂设置

为了确保不相关参数被篡改,先将模块恢复出厂设置。

UBX —> CFG ­­—> CFG —> Revert to default configuration

选择所有devices并点击 Send

恢复出厂设置

【注】模块初始化后,默认为移动站配置。

3. 配置NTRIP Client

打开 Receiver -> NTRIP Client

NTRIP Client配置

打开对话框,并按下图配置千寻CORS差分账号,账号及密码见千寻FindCM控制台

端口号和挂载点可根据需要进行选择,对应不同的坐标系,区别详见千寻官网解释

NTRIP Client 千寻帐号配置

配置完成后,U-Center状态栏将出现NTRIP Client连接信息。

四、 坐标转换

该模块定位获取到的坐标为WGS 84坐标系,而国内坐标系进行了偏转,目前主流地图采用的坐标系为:

  • 百度地图:BD-09坐标系

  • 谷歌地图:WGS 84坐标系,中国区内采用GCJ02火星坐标系

  • 高德地图:GCJ02火星坐标系

  • OpenStreetMap:WGS 84坐标系

Python WGS 84/BD-09/GCJ02坐标相互转换:

https://github.com/wandergis/coordTransform_py

使用该模块时,如果需要GCJ02火星坐标系,则需要使用上述模块,将WGS 84坐标转换为GCJ02坐标。

五、 参考资料

  1. 如何使用ublox ZED-F9P 配置基准站、移动站+差分电台实现RTK定位

  2. ublox C94-M8P应用板使用配置方法

  3. Pyubx2, python解析UBX协议

  4. Pynmeagps, python 解析NMEA协议

  5. PyGPSClient, python 环境下的GPS控制软件

六、其它

  • 本文作者: Dorad
  • 本文链接: https://blog.cuger.cn/p/2295/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!