ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

PX4 多旋翼 PID 手动调参实战指南(Basic 版):速率、姿态与位置控制器的逐层调校

PX4 多旋翼 PID 手动调参实战指南(Basic 版):速率、姿态与位置控制器的逐层调校 嵌入式物联网机器人自动驾驶智能硬件【免费下载链接】PX4-AutopilotPX4 Autopilot Software项目地址https://gitcode.com/gh_mirrors/px/PX4-Autopilot点击查看免费下载本指南面向需要在 PX4-Autopilot 上手动完成多旋翼四旋翼、六旋翼、八旋翼等PID 调参的开发者详细讲解从速率控制器Rate Controller到姿态控制器Attitude Controller、再到速度与位置控制器Velocity Position Controller的分层调校流程。读者将掌握 QGroundControlQGCPID Tuning 界面的完整操作步骤、P/I/D 各增益的物理含义与调整方向以及对应 PX4 源码中MC_ROLLRATE_P/I/D/K、MC_ROLL_P、MC_POS_P等核心参数的取值范围与默认值能够独立完成一架新机架的手动调参。引言为什么要手动调参PX4 的飞行控制核心是一组PID比例-积分-微分控制器——这是目前应用最广泛的闭环控制技术。对于多数用户官方推荐的 自动调参Autotune 更快、更省事且对大多数机架都能给出不错的参数而手动调参适用于自动调参失效、或需要追求极限飞行性能的场景。即使你选用的是官方 支持的标准机架配置默认参数通常也能保证安全飞行。但硬件与装配上的细微差异例如不同的电调 ESC、电机都会改变最优增益因此官方建议对每一架新机组都进行调参以获得最佳飞行手感与跟踪性能。调参的目标非常直观在QGroundControl的PID Tuning界面中实时观察飞行器的响应曲线Response与设定值曲线Setpoint通过调整 P/I/D 数值使响应曲线尽可能贴合设定值曲线——即响应快、无超调、无振荡。分层控制器结构自底向上的调参顺序PX4 的控制器是**分层layered**设计的高层控制器把输出传给低层控制器最底层速率控制器Rate Controller——直接输出力矩/角加速度指令中间层姿态控制器Attitude Controller——输出期望角速度给速率控制器最顶层速度与位置控制器Velocity Position Controller——输出期望姿态/加速度。调参必须按照同样的顺序自底向上进行先调速率控制器因为它影响所有上层控制器。对每个控制器、每个轴滚转 roll、俯仰 pitch、偏航 yaw的测试流程都一样快速大幅度拨动摇杆制造阶跃设定值变化观察响应曲线再调整滑块改善跟踪效果。::: tip 经验要点速率控制器调参最重要调好后其他控制器往往只需微调甚至无需调整滚转roll与俯仰pitch通常可以使用相同的增益速率控制器应在Acro / Stabilized / Altitude 模式下调试速度与位置控制器应使用Position 模式调试并务必切换为Simple position control简单位置控制模式以产生干净的阶跃输入如下图为 QGC 中的选择器位置。:::调参前的必要条件Preconditions正式调参前必须确认以下条件全部满足否则结果不可信、且存在炸机风险选择最接近的默认机架配置在 机架配置 中为你的飞行器选择最匹配的默认机架确保飞行器装上桨后已经能够安全起飞。完成 ESC 校准见 ESC 校准。正确设置 PWM 输出最小值若使用 PWM 输出须在 执行机构配置Actuator Configuration 中正确设置最小值。该值要尽量低但必须保证解锁armed状态下电机永不停止。验证方法在 Acro 模式 或 Stabilized 模式 下拆下螺旋桨解锁飞行器并将油门拉到最低将飞行器向各个方向倾斜约 60 度检查没有任何电机停转。使用高带宽遥测链路尽量使用 WiFi 等高带宽链路普通低带宽数传电台的实时性与绘图速度不足这对速率控制器调参尤为重要。调参前禁用 airmode在调参界面将 MC_AIRMODE 设为禁用。::: warning 安全警告 调参不当的飞行器很可能不稳定、极易坠毁。务必在起飞前为遥控器分配好 紧急开关Kill switch。 :::标准调参流程Tuning Procedure以下是官方给出的完整手动调参步骤解锁、起飞并悬停通常在 Position 模式。打开QGroundControl的Vehicle Setup PID Tuning页面。选择Rate Controller标签页。确认 airmode 选择器已设为Disabled。设置Thrust curve推力曲线数值PWM / 功率型电调0.3RPM 型电调1。::: info 为什么需要推力曲线 对 PWM、功率型以及部分 UAVCAN 电调而言控制信号与推力的关系并非线性因此在悬停推力处调出的最优参数在高推力工况下可能不再理想。推力曲线值正是用来补偿这种非线性的PWM 电调推荐默认 0.3可进一步参照 详细版 PID 调参指南的推力曲线章节 继续精调RPM 型电调因其推力-转速关系本身近似二次曲线直接使用 1 即可无需再调。 :::将Select Tuning单选按钮设为Roll。可选勾选Automatic Flight Mode Switching自动飞行模式切换按下Start按钮后飞行器会自动从 Position 模式 切换到 Stabilized 模式。速率控制器调参时切换到Acro 模式、Stabilized 模式或Altitude 模式除非已启用自动切换。点击Start按钮开始跟踪设定值与响应曲线。快速将滚转摇杆打满全行程在图上观察阶跃响应。::: tip 查看技巧 点击Stop停止跟踪方便仔细查看曲线缩放/平移时也会自动暂停。用Start重新开始绘图用Clear清空曲线。 :::用滑块修改三个 PID 数值滚转速率调参对应MC_ROLLRATE_K、MC_ROLLRATE_I、MC_ROLLRATE_D再次观察阶跃响应。滑块一旦移动数值会立即写入飞行器。::: info 目标始终是让Response响应曲线尽可能贴合Setpoint设定值曲线——即快速响应且无超调。 :::三个增益的调整方向如下P比例增益 / K 增益增大可提升响应灵敏度若响应出现超调或振荡应减小在某种程度上增大 D 增益也有帮助。D微分增益增大可抑制超调与振荡只在必要时增大因为它会放大噪声并可能导致电机过热。I积分增益用于消除稳态误差过小会导致响应永远达不到设定值例如有风时过大会引发缓慢振荡。对pitch俯仰与yaw偏航重复上述过程用Select Tuning单选按钮切换要调的轴拨动对应摇杆俯仰摇杆调俯仰、偏航摇杆调偏航俯仰调参时可从滚转的数值开始。::: tip 使用Save to Clipboard和Reset from Clipboard按钮可以把滚转参数复制为俯仰的初始参数。 :::对所有轴重复姿态控制器的调参。对所有轴重复速度与位置控制器的调参调这些控制器时使用 Position 模式在Position control mode选择器中选中Simple position control简单位置控制以便直接产生阶跃输入。全部完成后记得在离开设置页面前重新启用 airmode。如何读懂速率跟踪曲线以滚转速率为例QGC 绘制的曲线通常同时显示设定值与估计响应红色为实际滚转速率绿色为设定值蓝色为积分项。一个健康的结果是阶跃输入后响应快速跟上设定值、无振荡、积分项不持续饱和若曲线出现明显超调、来回摆动或积分项长期顶在限幅上则说明需要按上文方向调整对应增益。从源码理解速率控制器参数PX4 的速率控制器实现在 src/modules/mc_rate_control 模块中所有增益参数统一定义于 mc_rate_control_params.yaml。滚转轴的核心参数如下俯仰、偏航轴结构完全相同仅前缀不同参数含义默认值范围MC_ROLLRATE_P滚转速率比例增益角速度误差 1 rad/s 对应的控制输出0.150.01 ~ 0.5MC_ROLLRATE_I滚转速率积分增益补偿静态推力差或重心偏移0.20.0 ~ ∞MC_ROLLRATE_D滚转速率微分增益小值抑制快速振荡过大会重新引发振荡0.0030.0 ~ 0.01MC_ROLLRATE_FF滚转速率前馈增益改善跟踪性能0.00.0 ~ ∞MC_ROLLRATE_K速率控制器全局增益1.00.01 ~ 5.0MC_RR_INT_LIM滚转速率积分器限幅限幅越大抗扰越强、但大修正后收敛越慢0.30.0 ~ ∞MC_ROLLRATE_K是一个值得注意的全局缩放系数它统一缩放 P/I/D 三项控制器的输出形式为output MC_ROLLRATE_K * (MC_ROLLRATE_P * error MC_ROLLRATE_I * error_integral MC_ROLLRATE_D * error_derivative)把MC_ROLLRATE_P设为 1 即可得到理想ideal形式的 PID把MC_ROLLRATE_K设为 1 即得到并联parallel形式的 PID。这一转换逻辑可以直接在源码中看到在 MulticopterRateControl.cpp 的parameters_updated()函数中控制器用rate_k.emult(...)将各轴的 P/I/D 增益与全局增益K相乘后统一写入底层 PID 控制律同时设置了积分器限幅与前馈增益。这意味着 QGC 滑块移动后参数被立即写入飞行中也会实时生效因此在调参过程中改变滑块可以立刻反映在响应曲线上。说明MC_*RATE_K参数的存在使得同一次调参可以只动一个“总旋钮”来统一缩放三个增益若你在 QGC 中调整的滑杆表现为整体增益Overall Multiplier其底层对应的正是该参数。姿态控制器调参要点与对应参数姿态控制器位于 src/modules/mc_att_control 模块参数定义见 mc_att_control_params.yaml。姿态控制器比速率控制器更容易调大多数情况下默认值无需改动。调参方法是在Stabilized 模式下飞行逐步增大P增益一旦出现振荡或超调就说明增益过高。核心参数参数含义默认值MC_ROLL_P滚转姿态比例增益姿态误差 1 rad 对应期望角速度 rad/s4.00.0 ~ 12MC_PITCH_P俯仰姿态比例增益4.00.0 ~ 12MC_YAW_P偏航姿态比例增益2.80.0 ~ 5MC_YAW_WEIGHT偏航权重[0,1] 区间内降低偏航优先级多旋翼偏航控制力弱、且对悬停与导航非关键0.4MC_ROLLRATE_MAX最大滚转速率手动/自动模式Acro 除外220 deg/sMC_PITCHRATE_MAX最大俯仰速率220 deg/sMC_YAWRATE_MAX最大偏航速率200 deg/s最大角速率参数MC_ROLLRATE_MAX等不仅受飞行器自身特性限制还受陀螺仪最大量测速率限制它们在大角度自主旋转时用于避免控制输出过大和混控饱和。速度与位置控制器参数速度与位置控制器实现在 src/modules/mc_pos_control 模块增益参数定义于 multicopter_position_control_gain_params.yaml。调参时应使用 Position 模式并选择 Simple position control。核心参数参数含义默认值MC_POS_P水平水平位置误差比例增益0.95MC_POS_P垂直垂直位置误差比例增益1.0MC_VEL_P水平水平速度误差比例增益1.8MC_VEL_P垂直垂直速度误差比例增益4.0MC_VEL_I水平水平速度误差积分增益0.4MC_VEL_I垂直垂直速度误差积分增益2.0MC_VEL_D水平水平速度误差微分增益0.2MC_VEL_D垂直垂直速度误差微分增益0.0与之配合的还有 multicopter_position_control_params.yaml 中定义的悬停推力MC_THR_HOVER默认 0.5、速度低通滤波截止频率、速度陷波滤波器等参数。若飞机在速度控制下出现高频抖动可优先考虑这些滤波参数而不是一味降低 P 增益。调参完成后的注意事项重新启用 airmode离开 PID Tuning 页面前务必将 MC_AIRMODE 恢复为启用否则飞行器在小油门机动时可能因混控饱和而失去部分控制力矩。高空速振荡与推力曲线如果在全油门方向出现振荡说明参数只是在悬停点附近最优。此时应参考 详细版调参指南 中关于推力曲线thrust curve的章节使用THR_MDL_FAC参数默认 0 表示线性映射设为 1 为二次曲线典型值 0.3 ~ 0.5补偿高推力非线性注意修改该参数后速率控制器可能需要重新调参。记录并保存参数调参结果以参数形式存储在飞行器参数系统中可随时通过 QGC 的 Parameters 页面查看、导出与备份方便在更换机架或硬件后对比与复用。小结PX4 手动 PID 调参的核心方法论可以概括为三条自底向上速率 → 姿态 → 速度/位置逐层调试、每个轴分别产生阶跃输入并观察响应曲线、按 P 增益灵敏度/超调→ D 增益阻尼/噪声→ I 增益稳态误差/慢振荡的顺序微调。配合本指南给出的 QGC 操作流程、各层控制器对应的 PX4 参数速率层MC_*RATE_P/I/D/K、姿态层MC_*_P、位置层MC_POS_P/MC_VEL_P/I/D及其默认值与取值范围即使自动调参无法收敛的机架也能通过手动方式获得安全、稳定的飞行表现。赞分享嵌入式物联网机器人自动驾驶智能硬件【免费下载链接】PX4-AutopilotPX4 Autopilot Software项目地址https://gitcode.com/gh_mirrors/px/PX4-Autopilot点击查看免费下载相关推荐PX4 多旋翼 PID 调参完整指南速率环、姿态环、推力曲线与 Airmode 实战PX4 多旋翼 PID 调参完整指南速率环、姿态环、推力曲线与 Airmode 实战 本篇技术指南围绕 PX4 多旋翼控制器的 手动/高级 PID 调参 展开嵌入式物联网机器人自动驾驶智能硬件PX4 固定翼速率/姿态控制器 PID 调参指南从手动整定到源码级原理PX4 固定翼速率/姿态控制器 PID 调参指南从手动整定到源码级原理 本指南面向 PX4 Autopilot 高级用户系统讲解固定翼Fixed wing嵌入式物联网机器人自动驾驶智能硬件多旋翼无人机姿态控制PX4-Autopilot PID控制器实现细节多旋翼无人机姿态控制PX4 Autopilot PID控制器实现细节 PX4 Autopilot是一款功能强大的开源无人机飞控软件其多旋翼姿态控制采用PID嵌入式物联网机器人自动驾驶智能硬件创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表