科普:多旋翼无人机速度控制律
所属分类:新闻动态
浏览次数: 145
发布时间: 2025-11-21 15:23

多旋翼无人机速度控制的主要目的是使无人机达到设定的目标速度,目标速度来源于位置控制律的输出或者遥控器等发送的速度指令。对多旋翼无人机进行级联PID控制时,速度控制律多采用带饱和积分控制的PID控制器。速度控制器的核心任务是计算出一个期望的加速度指令,发送给级联控制的下一个环节——加速度控制器,使得无人机能够从当前速度准确、平稳地调整到目标速度。

速度控制的输入为:

三轴速度设定值 (vx_sp, vy_sp, vz_sp):来自于位置控制器或遥控器等发送的指令。

当前三轴速度估计值 (vx_est, vy_est, vz_est):来自于传感器通过导航算法计算得到的速度估计信息。

当前三轴加速度估计值 (ax_est, ay_est, az_est):用于微分项计算。

速度控制的输出为:

三轴加速度指令 (ax_cmd, ay_cmd, az_cmd):这将传递给加速度控制器,作为转换模块的设定值。

速度控制律为:

ax_cmd = Kp_vx * (vx_sp - vx_est) + Ki_vx * ∫(vx_sp - vx_est)dt + Kd_vx * d(vx_sp - vx_est)/dt

ay_cmd = Kp_vy * (vy_sp - vy_est) + Ki_vy * ∫(vy_sp - vy_est)dt + Kd_vy * d(vy_sp - vy_est)/dt

az_cmd = Kp_vz * (vz_sp - vz_est) + Ki_vz * ∫(vz_sp - vz_est)dt + Kd_vz * d(vz_sp - vz_est)/dt

其中,速度误差的微分可用负的速度微分替代,即:

d(vx_sp - vx_est)/dt=- d(vx_est)/dt

d(vy_sp - vy_est)/dt=- d(vy_est)/dt

d(vz_sp - vz_est)/dt=- d(vz_est)/dt

速度微分可用加速度替代:

d(vx_est)/dt=ax_est

d(vy_est)/dt=ay_est

d(vz_est)/dt=az_est

其中,对积分项进行饱和控制:

vx_i=Ki_vx * ∫(vx_sp - vx_est)dt

vy_i=Ki_vy * ∫(vy_sp - vy_est)dt

vz_i=Ki_vz * ∫(vz_sp - vz_est)dt

vx_i=limit(vx_i,vx_i_min,vx_i_max) 

vy_i=limit(vy_i,vy_i_min,vy_i_max)

vz_i=limit(vz_i,vz_i_min,vz_i_max)

最终的速度控制律为:

ax_cmd = Kp_vx * (vx_sp - vx_est) + vx_i - Kd_vx * ax_est

ay_cmd = Kp_vy * (vy_sp - vy_est) + vy_i - Kd_vy * ay_est

az_cmd = Kp_vz * (vz_sp - vz_est) + vz_i - Kd_vz * az_est

速度控制律就是一个以速度误差为输入、以加速度指令为输出的带积分饱和控制的PID控制器。

增益 Kp_v 越大,无人机对速度误差的反应越“激进”,会以更高的加速度去消除误差,但过大的增益容易导致超调和振荡;Kp_v 越小,无人机反应越“迟缓”,收敛到目标速度越慢,但飞行更平稳。

增益 Ki_v的主要目的是消除稳态误差,确保长期的速度跟踪精度,但需要抗饱和处理防止积分饱和,并且需要考虑在如控制器模式切换或目标值突变时等特定情况下对积分项进行重置,防止因积分项累积导致无人机产生高频抖动、加速度突变,使飞行品质下降,严重时可能引发失稳。

增益 Kd_v的主要目的是提高系统阻尼,抑制速度变化过程中的振荡。一般,垂直方向的微分增益Kd_vz为0,这是由于垂直加速度测量噪声大,微分项易引入显著噪声。

对加速度指令进行约束:

ax_cmd=limit(ax_cmd,ax_min,ax_max) 

ay_cmd=limit(ay_cmd,ay_min,ay_max)

az_cmd=limit(az_cmd,az_min,az_max)

必须对速度控制器的输出施加约束,根据实际飞行能力,可以对3个轴进行独立约束,也可以分为水平方向的加速度约束和垂直方向的加速度约束。多旋翼无人机速度控制器将约束后的加速度指令a_cmd发送给加速度控制器。

来源:无人机飞控

编辑:王政屿