Skip to content

RTK GPS (PX4 集成)

实时载波相位差分定位 (RTK)能够提供厘米级的定位信息。 这一章节将介绍 RTK 是如何集成到 PX4 中的。

RTK

GNSS 的_使用说明_在 硬件部分 > RTK GPS. 多个移动的用户可以共用同一个差分基准站发播的差分修正信息,移动用户离差分基准站的距离越近,差分定位更精确。

综述

RTK是使用导航信号的载波相位来进行测距的,而不是使用导航信号所搭载的信息。 它依靠一个单一的参考基站站实时校正,这种校正可以与多个流动站一起工作。

PX4 配置 RTK 需要两个 RTK GPS 模块和一个数传。 固定在地面上的GPS模块称为_基站端_,搭载在无人机上的称为_移动端_。 基站端通过USB连接到_QGroundControl_,然后通过数传将RTCM校正传输给无人机(使用MavLink的GPS_RTCM_DATA消息)。 在自驾仪上,MAVLink消息包被解包得到RTCM的修正信息,并把这些信息发送给移动站,移动站结合修正信息最终解算得到 RTK 解。

数据链通常能够处理上行数据率为300字节每秒的数据(更详细的信息参考下面的上行数据速率章节)。

支持的 RTK GPS 模块

下面列举的这些设备是经过我们测试的可以在 用户手册 找到。

:::note 大多数设备都有两个变体, 一个基站和一个移动站。 确保选择正确的变体。

自动配置

PX4会自动设置GPS 模块,并通过UART或USB发送和接收正确的消息,具体取决于模块连接到 QGroundControl 还是飞控。

一旦飞控接收到GPS_RTCM_DATA MAVLink 消息,它就会自动将 RTCM 数据通过现有数据通道转发到连接的 GPS 模块(不需要专用的校正数据通道)

::: note u-blox U-Center RTK 模块配置工具不需要/使用! :::

_QGroundControl_和飞控固件共享相同的PX4 GPS driver stack。 实际上,这意味着只需要将新协议和/或消息添加到一个地方。

RTCM 报文

QGroundControl 配置RTK 基地站输出以下 RTCM3.2 帧, 每个帧均为 1 Hz, 除非另有说明:

  • 1005 - 天线参考点的站坐标 XYZ (基站位置), 0.2 Hz。
  • 1077 - 完整的 GPS 伪距、载波相、多普勒和信号强度(高分辨率)。
  • 1087 - 所有 GLONASS 伪距、载波相、多普勒和信号强度(高分辨率)。
  • 1230 - GLONASS 代码相位差。
  • 1097 - 完整伽利略伪距、运载相、多普勒和信号强度(高分辨率)
  • 1127 - 完整的北斗伪距,载波相位,多普勒和信号强度(高分辨率)

上行数据速率

来自基础的原始 RTCM 消息被打包到一个 MAVLink GPS_RTCM_DATA 消息,并且通过数据链接发送。 MAVLink 消息的最大长度是182字节。 根据RTCM的信息类型,MAVLink信息是不会填满的。

RTCM 基础位置消息(1005)长度为 22 字节, 而其他卫星的长度则因可见卫星的数量和卫星信号的数量而异(M8P等L1单元只有一个)。 在真实环境中,对于任一时刻,任何一个导航系统的可用卫星个数不超过12个,因此 300 B/s的上行速率就足够了。

如果使用 MAVLink 1 ,则不论其长度,每条 RTCM 消息都会发送182字节 GPS_RTCM_DATA 消息。 因此,大约每秒上行需求是700多个字节。 这可能导致低带宽半双轨遥测模块 (如3DR Telemetry Radios) 连接的饱和。

如果使用 MAVLink 2,则 GPS_RTCM_DATA消息 中的所有的空将被删除。 由此产生的上行链路需求与理论值 (约 300 字节/秒) 大致相同。

TIP

PX4 自动切换到 MAVLink 2,如果GCS 和遥测模块支持。

MAVLink 2 必须用于低带宽链接以保证 RTK 性能。 必须注意确保数传链在整个过程中使用 MAVLink 2。 您可以使用系统控制台上的 mavlink status 命令验证协议版本:

sh
nsh> mavlink status
instance #0:
        GCS heartbeat:  593486 us ago
        mavlink chan: #0
        type:           3DR RADIO
        rssi:           219
        remote rssi:    219
        txbuf:          94
        noise:          61
        remote noise:   58
        rx errors:      0
        fixed:          0
        flow control:   ON
        rates:
        tx: 1.285 kB/s
        txerr: 0.000 kB/s
        rx: 0.021 kB/s
        rate mult: 0.366
        accepting commands: YES
        MAVLink version: 2
        transport protocol: serial (/dev/ttyS1 @57600)