Simulink建模:PID控制-应用

本文总结一些工作中在使用PID控制时积累的经验。

文章目录

  • 1 引入
  • 2 PID控制的应用
    • 2.1 动态PID参数
    • 2.2 前馈-反馈控制
    • 2.3 积分饱和
  • 3 总结

1 引入

之前已经写过两篇关于PID控制的文章,主要从建模的角度描述如何搭建出来PID控制算法。在实际工程项目中,PID的调试可能会比仿真更加麻烦。因此,博主希望专门写一篇用来总结一下自己开发调试的经验,以供日后参考,或者其他同行参考。

由于不同工程师所面对的被控对象的特性不同,博主的一些经验不一定适合所有的应用场景。

2 PID控制的应用

对于基础的三个PID参数的理解,已经有很多资料(包括控制理论教科书上的推导公式),博主不再赘述。这一章主要讲讲在工程中对PID算法进行的一些延申和调试经验,以适应复杂的工程问题。

2.1 动态PID参数

假设在实车车速为30km/h的时候通过调整PID参数使得制动模块达到了性能需求,但是车速在60km/h的时候这套参数又不满足需求,经调试后又获得一套不同的PID参数可以满足60km/h的速度。

针对上面的情况,就可以通过以车速为断点,查表得到不同车速下的PID参数,满足不同车速下的控制性能指标。模型示意如下:
在这里插入图片描述
图中的Kp信号不再是一个固定的标定量,而是随着车速变化的Kp值,也就是动态参数,是非常实用的调参手段。

博主还见过一种动态调参方式是通过偏差值查表得出参数,如下图所示。
在这里插入图片描述
该项目试图通过这种方式,解决偏差值较小的情况下响应迟缓的问题,可以取得较好的效果。

2.2 前馈-反馈控制

PID是反馈控制,也就是需要根据偏差来进行控制,这就造成了一定会有延迟。如果在产生偏差之前就预判到应该大致发出多少的控制量,在这个基础上再通过PID的反馈控制来弥补一些偏差,就能响应得更快。

例如ADAS的车道居中功能,在进入弯道之前没有横向位移的偏差。如果进入弯道之后产生了偏差再去利用PID的反馈控制,就会有延迟,会有偏离车道的风险。在这里插入图片描述
如果结合前馈控制就能很好地解决上述问题。当摄像头检测到前方弯道时,可以根据预定好的弯道-方向盘转角关系表提前请求方向盘打一个角度(就像老司机开车的预判一样),在这个基础上如果有微小的横向位移偏差或者角度方向偏差,再反馈控制弥补。

模型示意如下:
在这里插入图片描述
如图中,最终请求的方向盘转角由前馈角度和反馈角度相加得到。

2.3 积分饱和

积分器如果不限制上下限,可能会累积得过大。当超过了系统所能承载的控制量的上下限时,就会到达饱和状态,此时系统产生了超调。超调后由于Err符号相反,会有回正趋势,但是因为积分项积累过大,积分项和比例项想抵消以前的累计更加困难,必须等到控制量进入系统上下限范围的时候才会开始回正,所以这个回正过程会非常迟缓。

基于以上问题,在实际PID控制中需要对积分饱和的情况进行处理。常用方式是积分项限值和复位的处理。
在这里插入图片描述
图中包含了对积分项的复位和限幅的处理。

3 总结

本文总结一些工作中在使用PID控制时积累的经验。

>>返回个人博客总目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/109917.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于STM32的简化版智能手表

一、前言 本文的OLED多级菜单UI为一个综合性的STM32小项目,使用多传感器与OLED显示屏实现智能终端的效果。项目中的多级菜单UI使用了较为常见的结构体索引法去实现功能与功能之间的来回切换,搭配DHT11,RTC,LED,KEY等器…

基于ssm的蛋糕预定网站

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

机场、公交枢纽定位解决方案

系统简介 高精度综合定位系统围绕车辆、人员和资产三类定位目标,以及停机坪、行李分拣中心、GTC和新建航站楼等多个定位场景,建设一体化综合定位系统。系统通过卫星差分、蓝牙等多类技术的集成和融合,实现多场景、多目标的综合精准定位&#…

【UE 材质】力场护盾和冲击波效果

目录 效果 步骤 一、制作力场护盾材质 二、制作冲击波材质效果 三、制作冲击波粒子效果 四、制作震动效果 效果 步骤 一、制作力场护盾材质 1. 首先新建一个第一人称角色游戏模板 2. 新建一个材质,用于作为力场护盾的材质,这里命名为“Mat_for…

无涯教程-JavaScript - MATCH函数

描述 MATCH函数在单元格范围内搜索指定的项目,然后返回该项目在该范围内的相对位置。 当您需要某个项目在范围中的位置而不是项目本身时,请使用MATCH而不是LOOKUP函数之一。如。您可以使用MATCH函数为INDEX函数的row_num参数提供一个值。 语法 MATCH (lookup_value, lookup…

Linux mac Windows三系统 局域网文件共享方法

主要工具: Samba是一个开源的软件套件,允许Linux系统与Windows系统之间共享文件和打印机。 一、首先是Linux共享的设置 ①安装 sudo apt-get install samba ②创建共享文件夹 sudo mkdir /home/share ③配置用户 sudo smbpasswd -a kequan ④修改…

基于matlab实现的平面波展开法二维声子晶体能带计算程序

Matlab 平面波展开法计算二维声子晶体二维声子晶体带结构计算,材料是铅柱在橡胶基体中周期排列,格子为正方形。采用PWE方法计算 完整程序: %%%%%%%%%%%%%%%%%%%%%%%%% clear;clc;tic;epssys1.0e-6; %设定一个最小量,避免系统截断误差或除零错…

哨兵1号(Sentinel-1)SAR卫星介绍

1. 哥白尼计划 说起欧空局的哨兵1号,就不得不先说一下欧空局的“哥白尼计划”。 欧空局的哥白尼计划(Copernicus Programme)是欧空局与欧盟合作的一项极其重要的地球观测计划。该计划旨在提供免费开放的、可持续的地球观测数据&#xff0c…

算法训练营day48|动态规划 part09:打家劫舍(LeetCode 198.打家劫舍、213.打家劫舍II、337.打家劫舍 III)

文章目录 198.打家劫舍思路分析代码实现思考总结 213.打家劫舍II思路分析代码实现 337.打家劫舍 III (树形DP)思路分析代码实现思考总结 198.打家劫舍 题目链接🔥🔥 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金&#…

[面试] 15道最典型的k8s面试题

文章目录 在 Kubernetes 中,有以下常见的资源对象:1.什么是 Kubernetes?它的主要特点是什么?2. Kubernetes 中的 Pod 是什么?它的作用是什么?3.Kubernetes 中的 Deployment 和 StatefulSet 有何区别&#x…

大数据技术之Hive:先导篇(一)

目录 一、什么是Hive 二、思考如何设计出Hive功能 2.1 提问 2.2 案例分析 2.3 小结 三、掌握Hive的基础架构 3.1 Hive组件 - 元数据存储 3.2 Hive组件 - Driver驱动程序 3.3 Hive组件 - 用户接口 一、什么是Hive 什么是分布式SQL计算 我们知道,在进行数据统…

C# 辗转相除法求最大公约数

辗转相除法求最大公约数 public static void CalcGCD(int largeNumber, int smallNumber, out int GCD){GCD 1;int remain -1;while (remain ! 0){remain largeNumber % smallNumber;GCD smallNumber;largeNumber smallNumber;smallNumber remain;}}