RTK GPS (PX4 集成)
Real Time Kinematic (RTK) provides centimeter-level GPS accuracy. 这一章节将介绍 RTK 是如何集成到 PX4 中的。
TIP
RTK GNSS的使用说明见 Hardware > RTK GPS.
综述
RTK是使用导航信号的载波相位来进行测距的,而不是使用导航信号所搭载的信息。 它依靠一个单一的参考基站站实时校正,这种校正可以与多个流动站一起工作。
PX4 配置 RTK 需要两个 RTK GPS 模块和一个数传。 固定位置的地面GPS单元称为_Base_,空中单元称为_Rover_。 基本单元连接到_QGroundControl_(通过USB),并使用数据链路将RTCM校正流式传输到车辆(使用MAVLink GPS_RTCM_DATA message). 在自驾仪上,MAVLink消息包被解包得到RTCM的修正信息,并把这些信息发送给移动站,移动站结合修正信息最终解算得到 RTK 解。
数据链路通常应能够处理每秒300字节的上行链路速率 (see the Uplink Datarate section below for more information).
支持的 RTK GPS 模块
可以找到我们测试过的设备列表 in the user guide.
INFO
大多数设备都有两种变体,一个底座和一个漫游车。 确保选择正确的变体。
自动配置
PX4 GPS堆栈会自动设置GPS模块,以通过UART或USB发送和接收正确的消息,具体取决于模块的连接位置(到_QGroundControl_或自动驾驶仪)。
As soon as the autopilot receives GPS_RTCM_DATA
MAVLink消息,它通过现有的数据信道(不需要用于校正数据的专用信道)自动将RTCM数据转发到连接的GPS模块。
INFO
The u-blox U-Center RTK module configuration tool is not needed/used!
INFO
_QGroundControl_和自动驾驶仪固件共享相同的 PX4 GPS driver stack. 实际上,这意味着只需要将新协议和/或消息添加到一个地方。
RTCM 报文
QGroundControl 配置RTK 基地站输出以下 RTCM3.2 帧, 每个帧均为 1 Hz, 除非另有说明:
- 1005 - Station coordinates XYZ for antenna reference point (Base position), 0.2 Hz.
- 1077 - Full GPS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution).
- 1087 - Full GLONASS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution).
- 1230 - GLONASS code-phase biases.
- 1097 - Full Galileo pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)
- 1127 - Full BeiDou pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)
上行数据速率
来自基站的原始RTCM消息被打包到MAVLink中 GPS_RTCM_DATA
message and sent over the datalink. MAVLink 消息的最大长度是182字节。 根据RTCM的信息类型,MAVLink信息是不会填满的。
RTCM 基础位置消息(1005)长度为 22 字节, 而其他卫星的长度则因可见卫星的数量和卫星信号的数量而异(M8P等L1单元只有一个)。 由于在给定时间,从任何单个星座可见的卫星最大数量为12,在现实世界条件下,理论上300 B/s的上行链路速率就足够了。
If MAVLink 1 is used, a 182-byte GPS_RTCM_DATA
每个RTCM消息都会发送消息,而不管其长度如何。 因此,大约每秒上行需求是700多个字节。 这可能导致低带宽半双轨遥测模块 (如3DR Telemetry Radios) 连接的饱和。
If MAVLink 2 is used then any empty space in the GPS_RTCM_DATA message
is removed. 由此产生的上行链路需求与理论值 (约 300 字节/秒) 大致相同。
TIP
如果地面军事系统和遥测模块支持,PX4会自动切换到MAVLink 2。
MAVLink 2 必须用于低带宽链接以保证 RTK 性能。 必须注意确保数传链在整个过程中使用 MAVLink 2。 您可以使用以下命令验证协议版本 mavlink status
系统控制台上的命令:
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)