1. 引言

PX4是一款开源的自动驾驶仪软件,支持多旋翼、固定翼、垂直起降等多种无人机类型。搭配跨平台地面站QGroundControl(QGC),可以完成固件升级、参数设置、飞行监控等任务。本文将手把手带你完成PX4飞控的烧录和完整配置,让你快速上手无人机开发。


2. 准备工作

2.1 硬件清单

  • 飞控:Pixhawk 4(或其他Pixhawk系列)

  • 附件

    • GPS+罗盘模块(如Here3、M8N)

    • 电源模块(PM07、PM02等)

    • 安全开关(部分飞控内置)

    • 蜂鸣器(可选,用于状态提示)

  • 外设

    • 遥控器(如FrSky Taranis X9D+)及兼容接收机(SBUS/PPM输出)

    • 数传电台(可选,用于无线调试)

    • Micro USB数据线(至少1米,带磁环抗干扰)

  • 其他:十字螺丝刀、扎带、双面胶、万用表(用于电池校准)

2.2 软件准备

  1. 下载QGroundControl

  2. 驱动安装(Windows用户)

    • 连接飞控前,确保已安装STM32 VCP驱动(可从飞控厂商官网获取)。

    • 设备管理器应显示“USB Serial Device”或“COM端口”。

  3. 固件文件准备(可选)

    • 若需自定义固件(如修改过源码),提前在Ubuntu下编译:

      bash

      cd ~/PX4-Autopilot
      make px4_fmu-v5_default  # 以Pixhawk 4为例

      生成的文件位于 build/px4_fmu-v5_default/px4_fmu-v5_default.px4


3. PX4固件烧录

3.1 连接飞控

  • 用USB线将飞控连接到电脑,不要插入安全开关(部分飞控需按住安全开关才能进入刷写模式,但现代飞控通常自动识别)。

  • 观察飞控LED状态:

    • 蓝色慢闪:无固件(首次使用或固件损坏)

    • 黄色/紫色快闪:已有固件,正常启动

  • 打开QGC,左上角应显示“Pixhawk 4”等型号,右上角提示“未连接”(此时已连接)。

3.2 进入固件刷写界面

  • 点击左上角 Q图标 → 车辆设置(或直接点击顶部工具栏的齿轮图标)→ 左侧菜单选择 “固件”

3.3 选择固件版本

QGC会自动检测飞控硬件型号,并提供固件选项:

  • PX4飞行栈:保持勾选(默认)。

  • 固件版本

    • 稳定版 v1.13.x:推荐新手使用,经过充分测试。

    • 每日构建版:包含最新功能,但可能存在未修复的Bug。

    • 自定义固件文件:若你已编译或下载了特定版本的 .px4 文件,点击“高级设置”上传。

⚠️ 注意:必须选择与飞控硬件匹配的固件版本,否则刷入后会提示“硬件不兼容”。例如Pixhawk 4对应 Holybro Pixhawk 4

3.4 执行烧录

  1. 点击 “更新” 按钮。

  2. 进度条开始移动,飞控LED会短暂熄灭并重新闪烁(约1-3分钟)。

  3. 烧录成功后,飞控自动重启,QGC提示“已连接到飞控”,LED变为紫色慢闪(等待解锁)。

3.5 烧录故障处理

现象 可能原因 解决方法
烧录到50%卡住 USB线质量差、供电不足 更换带磁环的USB线,插到电脑原生USB口
提示“Bootloader版本过低” 飞控bootloader过旧 需先用QGC更新bootloader(按住飞控BOOT按钮上电,进入DFU模式再刷)
烧录后无法连接 固件与硬件不匹配 重新选择正确硬件型号再刷
飞控无反应 固件损坏 进入DFU模式(短接BOOT焊盘或按住BOOT键上电)强制刷写

4. 基础配置向导

烧录完成后,QGC会自动弹出初始设置向导。若未弹出,点击左上角 Q图标 → 车辆设置 手动进入。

4.1 机架选择

  • 左侧菜单 “机架”

  • 选择无人机类型:

    • 四旋翼 → Quadrotor x → Generic Quadcopter

    • 六旋翼 → Hexarotor x → Generic Hexarotor

    • 固定翼 → Plane → Generic Fixed Wing

    • 垂直起降 → VTOL Tiltrotor → Generic VTOL

  • 点击 “应用并重启”,飞控自动重启并加载对应混控器。

💡 小提示:选择错误的机架会导致电机转向、序号错误,飞行时可能侧翻。务必对比图示确认。

4.2 传感器校准

4.2.1 加速度计校准
  1. 点击 “传感器” → “加速度计” → “开始校准”

  2. 按照QGC动画提示,将飞控依次放置在6个方向:

    • ① 水平(箭头朝前)

    • ② 左侧立(箭头朝左)

    • ③ 右侧立(箭头朝右)

    • ④ 机头朝下(倒置)

    • ⑤ 机尾朝下(倒立)

    • ⑥ 机背朝上(翻转)

  3. 每个方向保持静止2秒,直到提示“校准成功”。

4.2.2 陀螺仪校准
  • 自动进行,无需操作。保持飞控静止即可。

4.2.3 磁力计(指南针)校准
  • 注意事项

    • 远离金属物体、钢筋水泥、手机、音箱等干扰源。

    • 尽量在室外GPS信号好的地方进行。

  • 操作步骤:

    1. 点击 “磁力计” → “开始校准”

    2. 手持无人机,缓慢绕每个轴旋转360度:

      • 绕Z轴(偏航):水平旋转一整圈

      • 绕Y轴(俯仰):机头朝天再朝地

      • 绕X轴(横滚):左右侧翻

    3. 校准进度条变绿后自动完成。

4.2.4 水平校准
  • 将飞控放置在水平台面(如桌面)→ 点击 “水平校准”

4.3 遥控器校准

4.3.1 接收机连接
  • 将接收机的SBUS或PPM输出连接到飞控的RC IN接口(Pixhawk 4的RC IN为DSM/SBUS端口)。

  • 确保接收机与遥控器对频成功。

4.3.2 校准步骤
  1. 点击 “遥控器” → “开始校准”

  2. 按提示操作:

    • 摇杆置中:所有摇杆回到中间位置(油门拉到最低)。

    • 摇杆最大行程:依次将每个摇杆推到极限并保持2秒。

  3. 检查通道映射:

    • QGC界面会显示绿色移动条,与摇杆动作对应。

    • 若映射错误(如油门控制横滚),需手动修改参数:

      • RC_MAP_ROLL:横滚通道号

      • RC_MAP_PITCH:俯仰通道号

      • RC_MAP_THROTTLE:油门通道号

      • RC_MAP_YAW:偏航通道号

    • 可在 “参数” 页面搜索并修改。

4.4 飞行模式设置

  1. 点击 “飞行模式”

  2. 确定模式切换通道:默认使用通道5(参数 RC_MAP_FLTMODE = 5)。

  3. 将遥控器开关的各个档位拖动到对应模式槽位:

    • 常用模式组合:

      • 开关1(2档):Manual 和 Altitude

      • 开关2(3档):PositionMissionRTL

  4. 测试:切换遥控器开关,观察QGC右上角飞行模式显示是否同步变化。

4.5 电源与电池设置

  1. 点击 “电源”

  2. 电池校准

    • 用万用表测量电池当前电压。

    • 在QGC中输入测量的电压值(需先选择电池类型LiPo/LiHV和节数)。

    • 点击 “校准”,飞控会记录电压分压系数。

  3. 设置低电量阈值(在参数页面调整):

    • BAT1_LOW_THR:低电量告警,默认3.0V/节(可改为3.3V以提早提醒)

    • BAT1_CRIT_THR:严重低电量,默认2.7V/节(飞控会自动触发降落或返航)

    • BAT_EMERGENCY_THR:紧急电量,默认2.5V/节(立即执行紧急动作)

4.6 安全与电调校准

4.6.1 安全开关设置
  • Pixhawk 4默认启用安全开关,需按下才能解锁。

  • 若想禁用安全开关(危险!仅限调试),可将参数 CBRK_IO_SAFETY 设为 22027,重启后安全开关失效。

4.6.2 电调校准(仅PWM电调需要)
  1. 确保拆下螺旋桨

  2. 飞控断电,将遥控器油门推到最高。

  3. 飞控上电,电调会发出连续的“哔哔”声(表示进入校准模式)。

  4. 听到电调发出确认音后,迅速将油门拉至最低,电调会发出“哔”声确认完成。

  5. 断电重启即可。

若使用DShot电调,无需此步骤,只需在参数中将 DSHOT_CONFIG 设为对应值(如 DShot150DShot300),并执行 ESC 校准(QGC电机控制中有“校准ESC”按钮)。


5. 高级参数调优

5.1 基础飞行参数

参数 推荐值 说明
MIS_TAKEOFF_ALT 2.5 m 自动起飞目标高度
RTL_RETURN_ALT 15 m 返航飞行高度(高于周围障碍物)
RTL_DESCEND_ALT 5 m 返航后下降点高度
MPC_XY_VEL_MAX 5 m/s 水平最大速度(可依据飞行环境调整)
MPC_Z_VEL_MAX_UP 3 m/s 最大上升速度
MPC_Z_VEL_MAX_DN 1.5 m/s 最大下降速度
NAV_ACC_RAD 0.5 m 航点到达误差半径

5.2 PID调参入门

当飞行中出现震荡或响应迟缓时,可微调PID参数。常用参数如下(以多旋翼为例):

  • MC_PITCHRATE_P:俯仰角速度控制P增益(默认0.15)

    • 增大可提高响应速度,但过大引起震荡。

    • 减小可抑制震荡,但响应变慢。

  • MC_PITCH_P:俯仰角度控制P增益(默认6.5)

    • 影响姿态保持的刚性。

  • MC_ROLLRATE_PMC_ROLL_P:类似,对应横滚轴。

  • 建议每次只修改一个参数,幅度10%以内,试飞后观察效果。

5.3 EKF故障排查

若QGC提示“EKF 罗盘不一致”或“EKF 故障”:

  1. 检查磁力计安装方向:参数 CAL_MAGn_ROT(n为罗盘序号)应与实际安装方向一致(如 ROTATION_NONEROTATION_YAW_90 等)。

  2. 重新进行磁力计校准(必须在室外进行)。

  3. 若使用外置罗盘且质量优于内置罗盘,可禁用内置罗盘:将对应 CAL_MAGn_PRIO 设为 0(0表示禁用)。


6. 外设配置详解

6.1 GPS模块

  • 连接:GPS模块接飞控 GPS1 接口(通常是TELEM1端口复用,但Pixhawk 4有专用GPS口)。

  • 检查

    • 参数 GPS_1_CONFIG 设为 102(对应TELEM1)或 101(对应GPS1),默认自动识别。

    • 在QGC主界面查看GPS卫星数,应≥10颗。

    • 移动无人机,观察罗盘指针是否跟随旋转。

6.2 数传电台

  1. 将数传模块连接到飞控 TELEM1 或 TELEM2 口。

  2. 在QGC中设置通讯连接:

    • 点击顶部 “应用设置” → “通讯连接” → “添加”

    • 类型选 “串口”,端口选择数传对应的COM口(Windows)或 /dev/ttyUSB0(Linux),波特率设为 57600(与飞控默认一致)。

  3. 点击 “连接”,信号强度条应变为绿色。

6.3 光流与激光雷达(室内定位)

  • 常用光流模块:PX4Flow,HereFlow。

  • 参数设置:

    • EKF2_AID_MASK:启用光流(bit 2,即数值加4,例如默认值为1时改为5)。

    • SENS_FLOW_ROT:光流安装方向(默认 ROTATION_NONE)。

    • SENS_FLOW_MAXHGT:光流最大高度(建议2-3m)。

  • 激光雷达(如TeraRanger One)连接至I2C或串口,参数设置参考官方文档。


7. 首次飞行检查与测试

7.1 飞行前检查清单

  • GPS已获得3D Fix(≥6颗卫星)

  • 罗盘健康,无“不一致”警告

  • 遥控器信号强度正常(RSSI > 50%)

  • 电池电压充足(≥3.5V/节)

  • SD卡已插入(用于记录飞行日志)

  • 螺旋桨安装正确(正反桨匹配电机转向)

  • 所有螺丝紧固,机臂无松动

7.2 解锁测试

  1. 将无人机置于开阔、无人的区域。

  2. 按下安全开关(若启用),LED变为双闪。

  3. 执行解锁动作(油门最低 + 内八字/外八字,取决于遥控器设置)。

  4. 飞控LED变为绿色常亮,表示已解锁。

  5. 轻推油门,电机应均匀加速。

7.3 试飞流程

  1. 悬停测试(定高模式):

    • 切换至Altitude模式,缓慢推油门至50%左右,无人机应稳定离地。

    • 观察有无异常漂移、震荡。

  2. 模式切换测试

    • 依次切换Manual、Altitude、Position模式,观察响应。

    • 在Position模式下,松手后无人机应悬停于原地(GPS模式下)。

  3. 失控保护测试(可选):

    • 飞行中关闭遥控器,无人机应在5秒内触发返航(前提是已设置NAV_RCL_ACT = 1)。

    • 重新打开遥控器,可取消返航。

7.4 日志分析

  • 飞行后,拔出SD卡,用读卡器导出 .ulog 文件。

  • 使用 FlightPlot 或 PlotJuggler 打开日志,分析:

    • 振动水平:IMU_ACCEL 三轴均 ≤ 30 m/s² 为正常。

    • 磁力计干扰:MAG_X 等应平稳波动。

    • 姿态响应:检查设定值与实际值的跟随性。


8. 常见问题与解决方案

现象 可能原因 解决方法
无法解锁 安全开关未按下 按下安全开关,直到LED变为双闪
解锁后电机不转 DShot设置错误 参数 DSHOT_CONFIG 设为 0(PWM)或对应DShot值;检查电调供电
起飞侧翻 电机转向错误 检查电机旋转方向(用桨叶或纸片测试),交换任意两根电机线反转方向
悬停漂移严重 罗盘干扰、GPS精度差 重新校准磁力计,检查GPS天线安装位置,远离碳纤维干扰
数传无法连接 波特率不匹配 统一飞控和数传的波特率(通常57600或115200)
GPS搜星慢 首次定位时间长 放置GPS模块于空旷处,保持静态5-10分钟完成冷启动
QGC提示“EKF 罗盘不一致” 罗盘安装方向错误或干扰 检查 CAL_MAGn_ROT 参数,重新校准磁力计,禁用内置罗盘

9. 附录:常用参数速查表

参数名 默认值 功能说明
SYS_AUTOSTART 0 自动加载机架配置(如4001=四旋翼X)
CBRK_IO_SAFETY 0 安全开关绕过码(设为22027禁用安全开关)
RC_MAP_FLTMODE 5 飞行模式控制通道
NAV_RCL_ACT 0 遥控丢失动作(0=无动作,1=返航,2=降落)
COM_FLT_TIME 40 飞控启动等待时间(秒)
BAT1_CAPACITY 0 电池容量(mAh),用于电量估算
MPC_XY_CRUISE 5 巡航速度(m/s)
MPC_LAND_SPEED 1 降落速度(m/s)
MC_PITCHRATE_P 0.15 俯仰角速度控制P增益
MC_PITCHRATE_I 0.2 俯仰角速度控制I增益
MC_PITCHRATE_D 0.001 俯仰角速度控制D增益

更多参数请查阅PX4官方参数参考:https://docs.px4.io/main/zh/advanced_config/parameter_reference.html


结语

本文从零开始,完整介绍了PX4飞控的固件烧录、配置及飞行测试流程,涵盖了常见硬件和软件设置。按照步骤操作,绝大多数用户都能成功完成首飞。如果在配置过程中遇到问题,欢迎在评论区留言交流,或查阅PX4官方文档。安全飞行,享受DIY乐趣!

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐