基于强化学习的控制率参数自主寻优

1.介绍

针对控制建模与设计场景中控制参数难以确定的普遍问题,提出了一种基于强化学习的控制律参数自主优化解决方案。该方案以客户设计的控制律模型为基础,根据自定义的控制性能指标,自主搜索并确定最优的、可状态依赖的控制参数组合。

可用于各类飞行器、机器人等类的控制系统优化。无论是经典的PID控制,还是其他先进的控制方法,该模块都能提供一种通用的参数优化方案。通过与控制律参数自主优化模块的结合,工程师们将获得更多的精力用于控制策略的设计和算法的创新,而将繁琐的参数调试工作交给智能化优化系统完成。

2.应用场景

面向复杂系统的控制建模与控制律设计研发场景,适用于需要频繁进行控制律设计、控制律调整、控制参数调整的研发场景,包括各类机器人设计(机械臂、机械狗、特殊结构如水上水下机器人、拟人机器人等)、各类飞行器设计(固定翼、四旋翼、航天器等)、其他机械设施(汽车、发动机等)。

3.参考示例-基于强化学习的PID参数整定

在控制系统控制器性能分析中,系统阶跃响应对应的超调量、上升时间、调节时间等动态性能指标是关于控制器参数矢量 X 的非线性函数,评价控制器设计优劣的关键性因素。

结合强化学习理论和控制理论知识,设计一种基于强化学习(reinforcement learning, RL)的控制器参数自整定及优化算法。算法将控制参数矢量 X作为智能体的动作,控制系统的响应结果作为状态,引入动态性能指标计算奖励函数,通过在线学习周期性阶跃响应数据、梯度更新控制器参数的方式改变控制器的控制策略,直至满足优化目标,实现参数的自整定及优化。算法原理如下图所示。

根据原理图,参数自整定及优化算法将控制器参数整定问题定义为,求解满足下列不等式约束条件的可行解:

式中: Z为待优化的参数矢量X的取值范围;Ωi(i=1,2,3) 为优化目标的约束值。基于控制系统动态性能指标超调量 δ、上升时间 tr、调节时间 ts,算法定义奖励函数为

算法的参数整定及优化流程如下:

  1. 根据实际条件和需求设定优化目标 Ωi和参数 X的搜索范围 Z,随机初始化参数 X;
  2. 返回步骤 2),重复上述步骤。
  3. 利用梯度下降法更新参数;X=X+α⋅∇X+σ,其中 σ为高斯白噪声,α为自适应学习率
  4. 计算 m个样本的参数平均梯度 X;
  5. 从经验回放集 S 中随机批量抽取 m 个经验样本,将 2) 中数据存入经验回放集 S;
  6. 获得系统在参数 X下的周期阶跃响应数据,计算动态性能指标 δ、tr ts和奖励函数 R;若满足优化目标,则终止迭代,输出参数 X;

为了尽可能获得全局最优的参数,参数自整定及优化算法在更新参数的过程中引入高斯白噪声,增加参数的探索度。同时,算法利用经验回放技术,对过去的经验样本进行随机批量抽样,减弱经验数据的相关性和不平稳分布的影响,增加优化过程的准确性和收敛速度。实践试验中,为避免算法陷入局部死循环,当可行解的变异系数小于一定阈值时,即认为算法已获得局部收敛(近似全局)的相对最优解,保留当前结果并重新搜索。

案例参考自:

YAN Jiazheng,ZHUAN Xiangtao. Parameter self-tuning and optimization algorithm based on reinforcement learning[J]. CAAI
Transactions on Intelligent Systems , 2022, 17(2): 341-347.

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

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

相关文章

unity打包的WebGL部署到IIS问题

部署之后会出错,我遇到的有以下几种; 进度条卡住不动 明明已经部署到了IIS上,为什么浏览网页的时候还是过不去或者直接报错。 进度条卡住不动的问题其实就是wasm和data的错误。 此时在浏览器上按F12进入开发者模式查看错误(下图…

付费工具逻辑

1.付费推广目的: 传播信息心理暗示;扩大销售,指导消费;树立形象,塑道品牌; 2.付费和免费广告: 付费主要为了增加曝光;免费广告一般比付费广告转化率高; 3.平台广告交…

《Kubernetes部署篇:基于麒麟V10+ARM64架构部署harbor v2.4.0镜像仓库》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:企业级K8s集群运维实战 一、环境信息 K8S版本 操作系统 CPU架构 服务版本 1.26.15 Kylin Linux Advanced Server V10 ARM64 harbor v2.4.0 二、部…

chrome谷歌浏览器开启Gemini Nano模型

前提 确保您的操作系统语言设置为英语(美国) 可能还需要将 Chrome 浏览器的语言更改为英语(美国)。 下载dev或Canary版本Chrome Chrome Canary Chrome Dev 注意:确认您的版本高于 127.0.6512.0。 其中一个Chrome版本不行就切换另外一个版本 绕过性能检查 Tab输入: …

结构体相关习题的补充

结构体相关习题的补充 题目1: 如有以下代码: struct student {int num;char name[32];float score; }stu;则下面的叙述不正确的是:( ) A.struct 是结构体类型的关键字 B.struct student 是用户定义的结构体类型 C.num, score 都是结构体…

正邦科技(day4)

烧录 一、烧录固件二、 通讯模块升级1:USB的方式升级固件2:通过mqtt的方式升级固件3:切换环境 三、 烧录WiFi1:短接2:烧录脚本 设备注意事项: 第一种方式:通信模组和MCU都可以统一烧录BoodLoade…

Oracle Hint /*+APPEND*/插入性能总结

oracle append用法 Oracle中的APPEND用法主要用于提高数据插入的效率。 基本用法:在使用了APPEND选项后,插入数据会直接加到表的最后面,而不会在表的空闲块中插入数据。这种做法不需要寻找freelist中的free block,从而避免了在…

【计算机毕设】基于Spring Boot的课程作业管理系统 - 源码免费(私信领取)

免费领取源码 | 项目完整可运行 | v:chengn7890 诚招源码校园代理! 1. 研究目的 课程作业管理系统旨在为教师和学生提供一个便捷的平台,用于发布、提交和评定课程作业。本系统旨在提高作业管理的效率,促进教…

Golang反射

文章目录 基本介绍reflect包reflect.Typereflect.Valuereflect.Kind具体类型、空接口与reflect.Value的相互转换 反射应用场景修改变量的值访问结构体的字段信息调用变量所绑定的方法实现函数适配器创建任意类型的变量 基本介绍 基本介绍 在Go中,反射(re…

错误 0x80070570:文件或目录损坏且无法读取/无法访问[拒绝访问]-解决方法

1.起因:在挪动U盘文件时,出现无法移动的报错提示: and无法访问[拒绝访问]: 2.原因[大多是胡乱拔出U盘] [来自0x80070570 文件或目录损坏且无法读取 CHKDSK 修复方法-CSDN博客&#…

【JavaEE进阶】——带你详细了解Spring日志以及配置日志

目录 🚩Spring日志的认识 🚩Spring日志的作用 🚩观察日志 🚩使用日志 🎈在程序中得到日志对象 🎈使⽤⽇志对象输出要打印的内容 🚩日志框架的介绍 🎈门面模式(外观模式&…

Unity实现简单的第一人称控制

先看效果 实现方式 1.首先创建一个脚本 2.编辑脚本内容 付上脚本代码 private float RotationX 0;public float speed 2f;//移动速度// Use this for initializationvoid Start(){Cursor.lockState CursorLockMode.Locked;//锁定鼠标到中心点Cursor.visible false;//隐藏鼠…

(CPU/GPU)粒子继承贴图颜色发射

GetRandomInfo节点(复制贴进scratch pad Scripts) Begin Object Class/Script/NiagaraEditor.NiagaraClipboardContent Name"NiagaraClipboardContent_22" ExportPath/Script/NiagaraEditor.NiagaraClipboardContent"/Engine/Transient.NiagaraClipboardConten…

uni-app+php 生成微信二维码 分销海报

主要代码如下,可直接复制调试参数: //查询当前用户是否有分销海报public function user_poster(){$this->checkAuth();//查询会员信息$user $this->getUserInfoById($this->user_id);if(!empty($user[distribution_img])){$result[data] $use…

Goby 漏洞发布|万户ezEIP企业管理系统 /member/success.aspx 命令执行漏洞

漏洞名称:万户ezEIP企业管理系统 /member/success.aspx 命令执行漏洞 English Name:Wanhu-ez-EIP /member/success.aspx Command Execution Vulnerability CVSS core: 9.0 影响资产数:6175 漏洞描述: 万户ezEIP是一种企业资源…

在CentOS7下构建TeamSpeak服务器并增加网易云点歌插件

文章目录 部署TeamSpeak创建一个新用户下载并解压服务端下载解压 启动服务端同意许可协议启动与配置开放端口设置开机自启 客户端连接 部署TS3AudioBot并添加网易云插件安装ffmpeg下载TS3AudioBot本体与插件并解压配置TS3AudioBot启动设置开机自启 部署网易云API安装git安装Nod…

解读vue3源码-2

提示:看到我 请让滚去学习 vue3编译模版的提升 文章目录 vue3编译模版的提升静态节点提升补丁标志和block的使用附录: template explorer可以将我们的源模版转化成渲染函数代码,vue2中就有,而Vue3 template explorer 功能更加丰富…

外汇天眼:ESMA发布针对在投资服务中使用人工智能的公司的指导意见

欧洲证券和市场管理局(ESMA),欧盟的金融市场监管机构和监督机构,发布了一份声明,为在向零售客户提供投资服务时使用人工智能技术(AI)的公司提供初步指导。 尽管人工智能的普及仍处于初期阶段&am…

你认识nginx吗,nginx是做什么的,nginx可以做什么 --2)nginx配置

hello大家今天教大家如何用nginx实验tomcat的负载均衡,同理其他的也可以,如httpd等 首先需要准备一个nginx和tomcat包,这里用到的是版本号为 然后需要准备最少三台linux虚拟机,然后我们开始吧 1.安装tomcat 解包 tar zxf /mnt/…

学习 SSH Key 生成方法

SSH Key 是用于身份验证的一对密钥,包括公钥和私钥。公钥可以放在需要访问的服务器上,私钥则保留在本地。当你使用SSH连接到支持SSH Key认证的服务器时,服务器会用公钥来加密一个随机生成的字符串发送给客户端,客户端用私钥解密并…