免费网站制作三合一收款码,仿70网站分类目录源码,大学生创新创业网站建设申报书,公众号注册平台文章目录1. PX4飞控PID简介1.1 位置控制器1.2 速度控制器1.3 加速度和yaw转到姿态1.4 姿态控制器1.5 角速率控制器2. 线性二次型优化#xff08;LQR#xff09;控制3. 模型预测控制MPC/NMPC3.1 MPC3.2 NMPC1. PX4飞控PID简介
相关链接#xff1a;PX4官方中文文档、PID概念(…
文章目录1. PX4飞控PID简介1.1 位置控制器1.2 速度控制器1.3 加速度和yaw转到姿态1.4 姿态控制器1.5 角速率控制器2. 线性二次型优化LQR控制3. 模型预测控制MPC/NMPC3.1 MPC3.2 NMPC1. PX4飞控PID简介
相关链接PX4官方中文文档、PID概念(不了解PID的可以看看这个或者翻自控书吧) PX4使用了串级PID控制器串级PID通过分而治之的策略将复杂控制问题分解为多个简单子问题在响应速度、抗干扰性、稳定性和工程实现上均优于单级PID。比如姿态环处理的IMU噪声不会影响到位置环同时各环PID参数可独立调谐内环保证局部稳定如机体角速率收敛外环在此基础上优化全局性能。避免单级PID因参数耦合导致的振荡或发散。
1.1 位置控制器 在位置外环中只使用了一个P控制器和一个限幅函数。使用当前的位置估计和期望位置相减得到误差然后经过P控制器和限幅得到期望速度输出到速度内环。
为什么外环只需要一个P控制环呢 那是因为外环的核心任务是“设定目标”而非快速跟踪。核心任务是将位置误差线性转化为速度指令无需积分或微分速度内环的PID会补偿外环的不足避免振荡和噪声放大。若外环加入I或D控制积分会导致超调或延迟微分会放大噪声反而破坏系统稳定性因此简化外环、强化内环是最优策略。 1.2 速度控制器 速度内环控制器就熟悉一点PID大套餐上齐了。首先估计速度直接进入LPF(低通滤波器防止高频干扰微分结果)然后计算微分进入D环节这一部分是防止输出突变以及提前控制防止震荡其实也不难理解就是对当前的估计做了微分反映了数据的运动趋势然后估计速度与期望速度作差得到误差进入积分环节这部分是**消除稳态误差如抵抗恒定风阻导致的速度偏差其实就是识别到误差长时间没有归零就加大矫正力度最后是误差进入P环节快速响应速度误差**。
为什么内环使用PID控制器速度内环用PID控制因为它需要快速精准地跟踪速度指令比例项响应误差积分项消除静差微分项抑制扰动确保内环动态性能足够支撑外环。
总结外环P控制像“指挥官”设定宏观目标内环PID像“执行者”处理细节二者分工明确避免单级PID的复杂性和不稳定性。 1.3 加速度和yaw转到姿态
由于无人机的yaw和速度加速度在动力学上天然解耦yaw角在规划器中是可以单独规划的不过常见规划器还是按照轨迹的切向方向来的。图中的yaw角也是直接从规划器来的而不是像pitch、roll需要从加速度中提取。
1.4 姿态控制器 多旋翼姿态控制器基于四元数quaternion设计通过误差四元数计算期望角速率最终输出饱和的角速率命令。
1.误差计算通过四元数乘法实现 四元数乘法如下实部虚部分开 这里分为两路提取了实部的符号乘以虚部保证最短旋转路径具体可以参考四元数的几何表示q和-q表示一样的终端状态但是旋转方向有大小区别q可以保证旋转最短角度 2.P控制器构造
角速度 Ω 的本质是旋转偏差随时间的变化率。在控制系统中我们希望角速度命令与姿态误差成比例关系即**角速度的方向应对准旋转轴大小应与旋转角度偏差成正比**。 观察四元数的几何表示 可以看到w是影响旋转角度大小虚部影响旋转轴方向还有旋转角度大小。当误差特别小时可以使用小角度假设此时的虚部等于1/2θn那么根据前面的构造可以进一步构造一个有物理意义的P系数即2P。 这个时候P的物理意义是姿态误差每增加一弧度角速度增加P弧度每秒。最后再限幅保证安全。
这里为什么选择四元数而不选择欧拉角呢 主要有下列几点原因1.欧拉角有万向节死锁问题。2.四元数是线性计算欧拉角是三角函数计算更加复杂。3.通过四元数插值如SLERP可平滑过渡姿态且误差四元数的实部符号能自动选择最短旋转路径。
这一环可以自动调参自动调参但是感觉对大轴距的飞机效果不好。 1.5 角速率控制器 K-PID比例项K独立于积分I和微分D路径直接作用于误差信号。无人机需要快速响应姿态误差比例项K直接作用同时通过积分消除稳态误差如风力干扰微分抑制振荡。
这一环可以自动调参自动调参但是感觉对大轴距的飞机效果不好。 计算完期望的体速率和推力之后使用旋翼的模型计算每个电机的转速
由电机转速得到力矩和推力公式 对上式求逆得到每个电机转速 2. 线性二次型优化LQR控制
无人机的底层控制算法中LQRLinear Quadratic Regulator线性二次调节器是一种基于状态空间模型的优化控制方法广泛应用于姿态、位置等底层控制环节。LQR是一种最优控制算法通过最小化一个“代价函数”来求解最优控制输入。其核心思想是
线性系统无人机动力学模型在平衡点附近可线性化如悬停状态附近。二次代价函数平衡状态误差和控制输入的能耗实现“高性能低能耗”的折中。
由于限制为一个线性系统所以这个状态方程就不会太复杂以无人机悬停为例。
无人机的状态方程此时当做质点 设x为无人机的位置、速度A为无人机的状态转移矩阵B为输入矩阵描述控制输入对状态的影响u为无人机的输入这里应该是加速度。
代价函数为 最小化跟踪误差以及输入加速度节省能量。Q增大对角元素会强制对应状态快速收敛。R增大对角元素会限制控制输入的幅值。
这个目标函数是一个标准的二次型优化问题可以类比于二次函数是有解析解的。下面是推导过程
1.先构建一个关于状态向量的值函数(其中P 是对称正定矩阵需要求解) 2.带入HJB方程哈密顿-雅各比-贝尔曼方程
这个方程表达了 从当前状态出发若采取最优控制策略所能达到的最小代价应满足某种微分方程。 再把值函数带入得到 然后对这个HJB方程对输入u求导 得到 再构造一个反馈增益矩阵K 再将结果带入HJB方程得到 最终求得 **总结**LQR通过数学模型和优化理论为无人机提供了一种高效、稳定的底层控制方案。其核心是状态反馈和代价函数最小化适合需要精确建模和性能优化的场景。
3. 模型预测控制MPC/NMPC
MPCModel Predictive Control模型预测控制是现代控制中非常重要的一个方法特别适用于多变量系统、有约束系统或需要提前规划行为的场景比如无人车路径跟踪、无人机避障、工业过程控制等。MPC 是一种滚动优化控制策略。它的基本思想是
使用系统模型预测未来状态变化例如未来几秒或几个采样周期基于预测结果最小化一个代价函数类似 LQR 的目标函数求解一个有限时域的优化问题得到一组未来控制序列只执行第一个控制输入然后重新预测、重新优化循环进行。
这就是 MPC 的“预测-优化-执行-滚动”机制。
如果系统方程是线性的就是MPC如果非线性就是NMPC。
3.1 MPC
还是以无人机悬停为例且暂时考虑一维模型状态变量 控制输入为加速度 系统模型离散为 代价函数为 求解过程
1.预测
给定当前状态0可以展开出整个时域的状态预测 定义控制向量 将整个状态预测写成矩阵形式 2.优化求解 将预测状态代入代价函数 代入状态展开 展开为标准形式 同时考虑一些必要的硬件约束调用优化库进行求解得到数值解。
3.执行
执行求解后的u_0即控制向量的第一个元素。
总流程
每个控制周期
读取当前状态0建预测矩阵 , 构造代价函数和约束解二次规划问题得到控制向量 ⋆仅执行第一个控制输入 _0⋆系统前进一步滚动窗口重复上述步骤
3.2 NMPC
仍然是无人机悬停为例使用NMPC直接控制无人机的电机转速。
状态变量12维 控制变量4维 系统模型 这个M就是1.5节的M矩阵。
代价函数 然后再写出扩展过的系统模型带入代价函数进行优化求解。
**总结**LQR就是MPC无约束、无时域限制的特殊形式而且由于形式简单可以准确计算解析解计算快、准。