全球导航卫星系统(GNSS)
执行任务以及其他一些自动和手动/辅助模式需要全球导航卫星系统。PX4 支持全球导航卫星系统 (GNSS),如 GPS、GLONASS、Galileo、北斗、QZSS 和 SBAS 等,使用的接收器可通过 u-blox、MTK Ashtech 或 Emlid 协议或 UAVCAN 进行通信。
最多可使用 UART 或 CAN 总线连接两个 GPS 模块:
- 初级 全球导航卫星系统模块 通常还包括 指南针/磁力计, 蜂鸣器, 安全开关和 UI LED.
- 可选的备用全球导航卫星系统/指南针模块。其中可能包括蜂鸣器、安全开关和 LED 灯,但 PX4 不使用这些。
信息
PX4 还支持 实时运动学(RTK) 和 后处理运动学 (PPK) 全球导航卫星系统接收器,将全球导航卫星系统的精度提高到厘米级。
支持的全球导航卫星系统
PX4 可与任何通过 u-blox、MTK Ashtech 或 Emlid 协议或 UAVCAN 进行通信的设备配合使用。
本表包含非 RTK GNSS 设备(其中大部分也有指南针)。这些设备已经过 PX4 开发团队的测试,或者在 PX4 社区中很受欢迎。
设备 | 全球定位系统 | 指南针 | CAN | 蜂鸣器 / 安全开关 / LED | 说明 |
---|---|---|---|---|---|
ARK GPS | M9N | ICM42688p | ✓ | ✓ | + Baro, IMU |
航空电子设备匿名 UAVCAN 全球导航卫星系统/磁场 | SAM-M8Q | MMC5983MA | ✓ | ✗ | |
CUAV NEO 3 GPS | M9N | IST8310 | ✓ | ||
CUAV NEO 3 Pro GPS | M9N | RM3100 | ✓ | ✓ | + 巴罗 |
CUAV NEO 3X GPS | M9N | RM3100 | ✓ | ✗✓✓ | + Baro。 |
CubePilot Here2 全球导航卫星系统 GPS(M8N) | M8N | ICM20948 | ✓ | 由 HERE3 取代 | |
Emlid Reach M+ | ✓ | ✗ | ✗ | 支持 PPK。预计支持 RTK。 | |
Holybro DroneCAN M8N GPS | M8N | BMM150 | ✓ | ✗ | + 巴罗 |
Holybro Micro M8N GPS | M8N | IST8310 | ✗ | ||
Holybro Nano Ublox M8 5883 GPS | UBX-M8030 | QMC5883 | ✗ | ||
Holybro M8N GPS | M8N | IST8310 | ✓ | ||
Holybro M9N GPS | M9N | IST8310 | ✓ | ||
Holybro DroneCAN M9N GPS | M9N | BMM150 | ✓ | ✓ | |
Hobbyking u-blox Neo-M8N GPS(带指南针 | M8N | ✓ | ✗ | ||
LOCOSYS Hawk A1 全球导航卫星系统接收器 | MC-1612-V2b | 可选的 | ✗✗✓ | ||
LOCOSYS Hawk R1 | MC-1612-V2b | ✗✗✓ | |||
LOCOSYS Hawk R2 | MC-1612-V2b | IST8310 | ✗✗✓ | ||
mRo GPS u-blox Neo-M8N 双罗盘 | M8N | LIS3MDL、IST8308 | ✗ | ||
Sky-Drones SmartAP GPS | M8N | HMC5983、IST8310、LIS3MDL | ✓ | + 巴罗 | |
Zubax GNSS 2 | MAX-M8Q | LIS3MDL | ✗ | + 巴罗 |
备注
- ✓或特定部件编号表示支持某个功能,而✗或空则表示不支持该功能。"?"表示"未知"。
- 在可能和相关的情况下,使用部件名称(即 GPS 一栏中的✓表示存在 GPS 模块,但部件不详)。
- 该列表可能会忽略一些仍受支持的停产硬件(有关停产模块的信息,请查看早期版本)。删除的项目包括
- 这里 全球定位系统
- Drotek DP0804
安装全球导航卫星系统/指南针
大多数全球导航卫星系统模块还包含一个 指南针/磁力计 部分(有关校准/设置信息,请参阅链接)。因此,GNSS 模块应尽可能安装在远离电机/ESC 电源线的地方,通常是安装在基座或机翼上(固定翼飞机)。
安装指南针 说明了如何安装带有指南针的 GNSS 模块。
硬件设置
硬件设置取决于飞行控制器、GNSS 模块及其支持的连接总线(UART/I2C 或 CAN)。
Pixhawk 标准连接器
连接 GNSS/罗盘模块最简单的方法是使用支持以下功能的飞行控制器 Pixhawk 连接器标准.所有遵循此标准的飞行控制器,包括大多数 Pixhawk 标准 控制器(以及许多其他控制器)使用相同的端口连接器和接线来连接 GNSS 模块。由于实现了标准化,许多常用的 GNSS/罗盘模块开箱即可直接插入飞行控制器。
如果您使用的是通过通用 UART 和 I2C 等串行协议连接的 GNSS/罗盘模块:
- 主 GNSS/指南针模块应连接到标有
GPS1
,GPS&SAFETY
或全球定位系统
(在连接器标准中,该端口被描述为 "全套 GPS + 安全开关端口")。GPS 应包含一个 蜂鸣器, 安全开关和 UI LED. - 可将辅助模块(可选)连接到 6 针模块上。
GPS2
端口(如果存在)(标准中为 "基本 GPS 端口")。 - 这些端口通常只适用于 u-blox 模块,即插即用。
信息
端口包括一个用于 GNSS 的 UART 和一个用于连接指南针的 I2C 端口。全 GPS + 安全开关端口包括用于 LED、蜂鸣器和安全开关的额外 I2C 连接器。您可以将 GPS 引脚连接到任何其他空闲的 UART 作为 GNSS 端口,将指南针或蜂鸣器连接到 I2C 端口。不过,如果这样做,您需要 配置端口.
对于 DroneCAN 全球导航卫星系统/指南针模块:
- DroneCan GPS 模块连接到 CAN 总线端口,这是一个 4 针端口,标有
CAN1
或CAN2
.
其他飞行控制器/GNSS 模块
如果您使用的飞行控制器和 GNSS 模块组合不符合 Pixhawk 连接器标准,则需要特别注意飞行控制器和模块上的连接器引脚布局。您可能需要重新接线/焊接连接器。
警告
有些飞行控制器使用的端口与软件兼容,但与连接器不兼容(即使它们使用相同的连接器!),因为它们使用不同的引脚顺序。
连接器标准的引脚说明已在标准中记录。其他控制器和 GNSS 模块的引脚布局应包含在其制造商的文档中。
全球导航卫星系统配置
通过 GPS 串行端口连接的 GPS 模块的默认配置如下。PX4 或制造商的设备文档中可能会提供其他特定设备的配置(如 Trimble MB-Two > 配置).
主要 GPS 配置(UART)
对于 U-Blox GPS 模块,Pixhawk 上的主要 GPS 配置是透明处理的 - 只需将 GPS 模块连接到标有 "Pixhawk "的端口即可。 GPS1
, GPS&SAFETY
或 全球定位系统
(如果只有一个 GPS 端口),则一切正常。
默认值 串行端口配置 配置 GPS1
作为 GPS 端口,使用 GPS_1_CONFIG,将协议设置为 u-blox
与 GPS_1_PROTOCOL波特率为 0: 自动
与 SER_GPS1_BAUD.
对于 Trimble、Emlid 和 MTK 等 GPS 类型,您需要更改 GPS_1_PROTOCOL
适当。对于 Trimble MB-Two 您还需要修改 SER_GPS1_BAUD
将速率设置为 115200 波特。
辅助 GPS 配置(UART)
要使用辅助 GPS,一般要将其连接到名为 GPS2
如果存在,则将其连接到任何空闲的 UART 端口。该端口可能已预先配置,但与主端口不同的是,这并不保证。
为确保正确设置端口,请执行 串行端口配置 分配 GPS_2_CONFIG 到所选端口。
下面的步骤展示了如何在 GPS 2
端口在 QGroundControl:
查找和设置 参数 GPS_2_CONFIG 至 GPS 2.
开放 QGroundControl 并导航至 载具设置 > 参数 节。
选择 全球定位系统 选项卡,然后打开 GPS_2_CONFIG 参数,并选择
GPS 2
从下拉列表中选择
重新启动载具,使其他参数可见。
选择 串行 选项卡,并打开 SER_GPS2_BAUD 参数
GPS 2
端口波特率):设置为 汽车 (或 115200(Trimble)。
设置第二个 GPS 端口后:
- 配置 ECL/EKF2 估计器,以混合来自两个 GPS 系统的数据。详细说明见 使用 ECL EKF > 双接收器.
DroneCAN GNSS 配置
DroneCAN GNSS 配置在链接的文件(以及特定模块的文件)中有所介绍。
将 GPS 配置为偏航/航向源
在使用以下模块时,GPS 可用作偏航融合源 设备支持偏航输出.这在 RTK GPS > 将 GPS 配置为偏航/航向源.
指南针配置
指南针部件的指南针校准包含在以下章节中: 指南针配置.
开发商信息
- GPS/RTK-GPS
- 指南针
- 驱动程序源代码 (指南针)