news 2026/7/7 10:26:56

【自动控制入门1B】从零搭建混合控制系统:基于抗积分饱和PID的输入限制直线运动物体位置控制仿真程序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【自动控制入门1B】从零搭建混合控制系统:基于抗积分饱和PID的输入限制直线运动物体位置控制仿真程序

目录

  • 引言
  • python 仿真程序
    • 完整程序

引言

本文分享【自动控制入门1A】从零搭建混合控制系统:基于抗积分饱和PID的输入限制直线运动物体位置控制文章里仿真使用的程序,包括从零搭建的python仿真程序和用于对比的matlab/simulink仿真模型,其中python程序仅用到常用数据处理库和绘图库,控制系统的核心逻辑均为从零实现。编程不难,贵在逻辑梳理。

python 仿真程序

程序主要包括被控对象类、控制器类、传感器类、参数设置、仿真循环、控制性能计算、仿真结果绘图等几个模块,均有详细注释。


被控对象类:可以设置初始状态、微分方程函数ode_plant(self,state0=[0,0,0,0])包含分别考虑空气阻力重力的四种情况,可以根据需要取消注释对应微分方程的代码,共可以观察四种系统的特性(包括线性系统非线性系统
控制器类:可以设置更新频率、设置输入限制和抗积分饱和、修改控制器系数、改进控制器结构(修改内部逻辑和接口即可)等
传感器类:可以设置采样频率噪声等干扰
执行器类:可以根据需要添加,在接在控制器和被控对象之间模拟执行器动态


程序中设有打开输入限幅、实验数据打印到控制台、实验数据导出到txt开关,可以根据需要打开。如需实验记录导出到xlsx实验数据导出到xlsx功能,可以参考
【自动控制入门2B】从零搭建全连续控制系统:基于抗积分饱和PID的输入限制直线运动物体位置控制仿真程序。

完整程序

本文使用python=3.10环境,需要提前安装如下第三方库
pip install numpy、matplotlib
之后如下完整代码可直接运行

frommatplotlibimportpyplotaspltimportnumpyasnpimporttime# 2025.11.30 Sun# 运动模型采用考虑重力mg和拉力F、空气阻力f的垂直方向运动# 系统状态更新采用RK4方法近似连续系统仿真classVir:def__init__(self,state0=[0,0],para=None,dt=0.001)->None:self.m=para['m']# 质量self.k=para['k']# 空气阻力系数self.dt=dt# 时间步长# 初始状态,以向上和向右为正方向self.s=state0[0]# 初始竖直方向位置self.v=state0[1]# 初始竖直方向速度defode(self,state0=[0,0],u=0):# 状态变量初值s,v=state0[0],state0[1]# 微分方程组ds=vifv>=0:air_resist=-self.k*v**2elifv<0:air_resist=self.k*v**2else:air_resist=0# 考虑重力和空气阻力dv=(u-9.8*self.m+air_resist)/self.m# 不考虑重力,只考虑空气阻力# dv = (u + air_resist) / self.m# 不考虑空气阻力,只考虑重力# dv = (u - 9.8 * self.m) / self.m# 重力和空气阻力都不考虑# dv = u / self.mreturnnp.array([ds,dv]).reshape((2,1))defupdate(self,u=0):# RK4 方法更新状态state=np.array([self.s,self.v],dtype=float).reshape((2,1))k1=self.ode(list(state.flatten()),u)state1=state+k1*self.dt/2k2=self.ode(list(state1.flatten()),u)state2=state+k2*self.dt/2k3=self.ode(list(state2.flatten()),u)state3=state+k3*self.dt k4=self.ode(list(state3.flatten()),u)d_state=(k1+2*k2+2*k3+k4)/6state+=d_state*self.dt# state 和 d_state 是 (4,1) 的 numpy 数组,直接取标量 floatself.s=float(state[0,0])self.v=float(state[1,0])returnstateclassControllerPID:def__init__(self,kp=6,ki=0,kd=0,dt=0.1)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 4:33:30

3步解锁waifu-diffusion:AI绘画实战指南

3步解锁waifu-diffusion&#xff1a;AI绘画实战指南 【免费下载链接】waifu-diffusion 项目地址: https://ai.gitcode.com/hf_mirrors/hakurei/waifu-diffusion 还在为复杂的AI绘画工具配置而头疼吗&#xff1f;waifu-diffusion作为当前热门的动漫风格AI绘画模型&#…

作者头像 李华
网站建设 2026/7/7 5:20:33

腾讯开源Hunyuan3D-Part:组件化3D建模新纪元到来

腾讯开源Hunyuan3D-Part&#xff1a;组件化3D建模新纪元到来 【免费下载链接】Hunyuan3D-Part 腾讯混元3D-Part 项目地址: https://ai.gitcode.com/tencent_hunyuan/Hunyuan3D-Part 导语 腾讯混元团队正式开源Hunyuan3D-Part技术框架&#xff0c;首次实现高精度组件式3…

作者头像 李华
网站建设 2026/7/7 8:28:30

fre:ac免费音频转换器完整使用指南:从入门到精通

fre:ac免费音频转换器完整使用指南&#xff1a;从入门到精通 【免费下载链接】freac The fre:ac audio converter project 项目地址: https://gitcode.com/gh_mirrors/fr/freac 在数字音乐普及的今天&#xff0c;音频格式转换已成为音乐爱好者必备的技能。fre:ac作为一款…

作者头像 李华
网站建设 2026/7/7 13:24:15

2025 AI实战培训系统TOP!北森AI陪练成企业人才赋能首选

数字化转型深化背景下&#xff0c;企业培训已从“知识传递”升级为“技能落地”的核心战场。据CCID权威数据显示&#xff0c;2024年中国企业AI培训软件市场规模达89亿元&#xff0c;同比增长32%&#xff0c;预计2025年底将突破120亿元。AI技术与实战场景的深度融合&#xff0c;…

作者头像 李华
网站建设 2026/7/7 14:15:16

【开题答辩全过程】以 基于Android的校园帮跑系统的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

作者头像 李华