当前位置: 首页 > news >正文

控制算法:MPC(模型预测控制)算法

什么是控制算法?

比如我现在的无人机悬浮在空中的某个位置,我想要让他以最短时间抬升悬浮到上方10m的位置,那我要具体如何去调整输入(如电流、油门、功率),以最好的性能(时间最短)来达到预期的目标呢?那就需要控制算法来求解,来调整这些输入。

控制算法(Control Algorithm)本质上是一套控制机械系统运作的“数学指挥指令”。它告诉机器(如无人机、恒温空调、机械臂)如何根据目前的状态,通过调整输入(如电流、油门、功率)来达到预期的目标。

不同的算法有不同的使用场景与特性,有些适用于动态系统,有些适用于静态。有些适用于低阶系统,有些适用于高阶系统。有些计算量小,有些计算量大。所以衍生出了很多种控制算法。

如何根据不同的场景选择合适的控制算法,创造更厉害的控制算法,调整控制算法的参数使得任务完成的效果更好;如何让实时波形图(如rqt_plot)更加贴合跟踪曲线;如何对机械系统编写“保护逻辑”;如何处理传感器噪声与延迟,用一些滤波算法(卡尔曼滤波)做更好的状态估计。如何增加前馈(Feedforward)**或优化阻尼比来让动作丝滑 就是控制算法工程师的工作。

MPC控制算法:

MPC是一类控制算法。

如果 PID 是根据“现在的误差”在做反应,那么 MPC 就是在**“预测未来”并做决策。你可以把它想象成一个会推算未来几秒钟走势的驾驶员**。

MPC控制算法的几大特性:

(1)预测模型:模型是 MPC 的灵魂,它是对物理世界规律的数学表达。

(2)预测:根据预测模型推算出未来N个步长里系统的状态

(3)滚动优化:虽然我算出了未来 10 步的完美计划,但我只走第 1 步,然后扔掉剩下的,重新计算。走一步,看十步。每一个采样周期都在解一个最优问题。虽然计算量大,但它能保证在任何时刻,输出的操作都是基于当前最新状态的最优选择。

PID vs. LQR vs. MPC 核心对比表

特性PID (比例-积分-微分)LQR (线性二次调节器)MPC (模型预测控制)
核心思想消除误差:根据过去和现在的误差来调整输出。能量最优:在无限时间内寻找系统状态与控制能量的最佳平衡。预测未来:在有限时间内通过滚动优化寻找满足约束的最优解。
对模型的依赖无需模型强依赖:需要精确的线性状态空间模型强依赖:需要系统模型,但要求不高
处理约束的能力几乎没有:设计时考虑了能量权衡,但不能直接加入硬约束。极强
多变量系统 (MIMO)困难:多个回路之间存在严重的耦合干扰。擅长:天然支持多输入多输出系统,通过矩阵统一计算。最擅长:能同时处理多个目标和复杂的变量耦合。
计算复杂度极低:简单的代数运算,单片机轻松跑。:设计阶段解代数黎卡提方程, 运行时仅为矩阵乘法。极高:每个采样周期都要解一个带约束的最优化问题(QP)。
主要应用场景电机转速、恒温控制、简单平衡。航天器姿态控制、精密工业伺服。自动驾驶避障、无人机轨迹规划、化工过程。

普适的MPC算法推导流程:

如果针对某一个问题不好简历数学模型,我们可以不构造数学模型,可以通过一些手段直接跳过数学建模获得预测模型:

总结:

建立连续动力学模型

根据连续动力学模型构建连续状态空间方程

将状态空间方程离散化

通过离散状态空间方程预测未来N步的状态,并整理为矩阵形式预测方程

构造代价函数,将预测方程代入得到一个QP问题,再通过QP求解器求解

以一维小车位置控制为例使用mpc控制的流程:

MPC算法调参:

调节 MPC(模型预测控制)参数的过程,就像是在“计算性能”、“控制精度”和“运行稳定性”之间找平衡。根据不同的场景,有不同的性能需求,自然需要调节不同的参数

1. 时域参数 (Horizon Parameters)

Np:预测步长。 Nc:控制步长

http://www.jsqmd.com/news/225302/

相关文章:

  • 混元翻译模型1.5:上下文感知翻译实现原理
  • 混元翻译1.5模型量化教程:边缘设备部署步骤
  • 静止无功补偿装置的设计与仿真(源码+万字报告+讲解)(支持资料、图片参考_相关定制)
  • RaNER模型部署指南:Docker容器化实战
  • AI智能实体侦测服务推理速度提升秘诀:CPU适配优化实战指南
  • AI智能实体侦测服务成本优化方案:免费镜像部署实战
  • Qwen2.5自动化测试方案:按次付费更经济
  • 扑翼机构动态展示设计
  • 电竞馆照明设计研究(源码+万字报告+讲解)(支持资料、图片参考_相关定制)
  • HY-MT1.5-1.8B性能优化:内存占用降低技巧
  • 深度学习工程师转型AI产品经理:大模型原理与应用详解_AI产品经理如何快速掌握深度学习
  • ESP-IDF、ESP32家族全解析:从ESP8266到ESP32-S/P/H/C系列,一篇讲透物联网硬件选型
  • HY-MT1.5-1.8B保姆级教程:33种语言互译模型快速上手
  • AI智能实体侦测服务性能测试:吞吐量与延迟分析
  • Java—学生信息管理系统(简单、详细)_学生管理系统java,零基础入门到精通,收藏这篇就够了
  • 达摩院RaNER架构解析:AI智能实体侦测服务核心技术揭秘
  • AI智能实体侦测服务如何高效调用?REST API接入详细步骤
  • LLM开发者的第一性原理:从概率预测到系统设计,建议收藏研读
  • 电商评论信息抽取:AI智能实体侦测服务应用场景实战
  • 腾讯开源模型优化:HY-MT1.5批处理
  • 混元翻译1.5实战:法律文书精准翻译案例
  • AI智能实体侦测服务误识别怎么办?后处理规则优化技巧
  • RaNER模型性能对比:不同硬件平台的推理速度
  • AI实体侦测服务自动扩缩容:弹性计算资源管理
  • 疾控中心供配电系统设计(源码+万字报告+讲解)(支持资料、图片参考_相关定制)
  • 跨平台NER解决方案:AI智能实体侦测服务容器化部署案例
  • Java 字符串与集合练习,零基础入门到精通,收藏这篇就够了
  • RaNER模型准确率低?数据预处理与部署调优完整指南
  • AI实体侦测服务部署案例:金融行业数据提取实战
  • 中文命名实体识别实战:RaNER模型在金融文本中的应用