基于强化学习的倒立摆控制策略Matlab实现(附代码)

简介: 基于强化学习的倒立摆控制策略Matlab实现(附代码)

摘要

当控制系统是复杂非线性系统时,设计一类优化控制器是非常复杂的。强化学习是从与控制对象的交互中学习优化策略。本文采取强化学习方法,在未知倒立摆数学模型情况下,通过输入输出数据,实现对倒立摆的控制

1引言


强化学习是一门决策学科,理解最佳的方式来制定决策。在工程控制当中有一门课程叫最优控制,与强化学习使用的方法有很大的类似之处,这种基于强化学习的方法不需要建模,也不需要设计控制器,只需要构建一个强化学习算法。当 RL 应用于系统时,智能体通过与系统交互学会采取行动,以便最大化一些累积奖励。学习可以基于不同形式的奖励反馈。与监督学习相比,强化学习的期望输出是不知道的。通过强化学习智能体与环境的交互得到一些列的输出,这些输出的好坏用来评判智能体学习的好坏。RL 算法关注在线学习性能,涉及到在探索(未知领域)和开发(当前知识)之间的平衡。为了获得最大的奖励,智能体必须利用它已经知道的知识,但是它也必须探索,以便将来做出更好的行动选择。


倒立摆问题是控制系统中一类经典的问题。它是一个固有的不稳定和欠驱动的机械系统。这个系统的动力学是用来更好理解平衡维护的任务,如火箭推进器的控制和自平衡的机械系统。 已有大量的文章研究了倒立摆的摆起与稳定控制的若干设计技术。像 PID 控制、线性二次型调节器(LQR)和模糊逻辑控制器。


系统复杂性的增加需要复杂的控制器,特别是在系统存在非线性、不确定性和时变时。由于其固有的本质,RL 使用来自环境的交互数据,生成一个最优控制器,而不需要环境本身的数学模型知识。此外,这种控制器具有适应环境发生

扰动的能力。


下文结构组织如下:倒立摆问题在第二节被讨论了,第三节讨论了强化学习算法。第四节介绍了实验以及实验结果。

2倒立摆问题


倒立摆控制系统是一个复杂的、不稳定的、非线性系统。是进行控制算法验证的理想实验平台。能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。通过对倒立摆的控制,可以较好检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。


3强化学习的理论基础


强化学习是智能体在环境给予的奖励的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。以控制对象的动力学方程建立物理引擎,作为其环境交互对象,并定义其奖励,使智能体获取的奖励最大化,达到控制目的。

4实验


效果如下图所示:


 

5代码附录

 

完整资料公众号后台发送关键字:倒立摆

 

我的微信公众号名称:深度学习与先进智能决策

微信公众号ID:MultiAgent1024

公众号介绍:主要研究分享深度学习、机器博弈、强化学习等相关内容!期待您的关注,欢迎一起学习交流进步!

相关文章
|
5月前
|
机器学习/深度学习 运维 供应链
需求响应动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)
需求响应动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)
109 3
|
6月前
|
算法 安全 新能源
【EI复现】基于主从博弈的新型城镇配电系统产消者竞价策略【IEEE33节点】(Matlab代码实现)
【EI复现】基于主从博弈的新型城镇配电系统产消者竞价策略【IEEE33节点】(Matlab代码实现)
113 0
|
5月前
|
算法 调度 决策智能
【复现】同时考虑考虑孤岛与重构的配电网故障恢复运行策略(Matlab代码实现)
【复现】同时考虑考虑孤岛与重构的配电网故障恢复运行策略(Matlab代码实现)
132 3
|
5月前
|
存储 并行计算 算法
【动态多目标优化算法】基于自适应启动策略的混合交叉动态约束多目标优化算法(MC-DCMOEA)求解CEC2023研究(Matlab代码实现)
【动态多目标优化算法】基于自适应启动策略的混合交叉动态约束多目标优化算法(MC-DCMOEA)求解CEC2023研究(Matlab代码实现)
267 4
|
5月前
|
调度
【发】促进可再生能源发电消纳的用户侧典型资源需求响应策略(Matlab代码实现)
【发】促进可再生能源发电消纳的用户侧典型资源需求响应策略(Matlab代码实现)
|
5月前
|
算法 调度 决策智能
【完美复现】面向配电网韧性提升的移动储能预布局与动态调度策略【IEEE33节点】(Matlab代码实现)
【完美复现】面向配电网韧性提升的移动储能预布局与动态调度策略【IEEE33节点】(Matlab代码实现)
200 7
|
5月前
|
运维 算法 安全
基于变异粒子群算法的主动配电网故障恢复策略(Matlab代码实现)
基于变异粒子群算法的主动配电网故障恢复策略(Matlab代码实现)
|
5月前
|
机器学习/深度学习 供应链 算法
【考虑经济性的储能运行优化】储能的运行优化,以经济效益最大为目标,使用三种不同的方法求解储能最优运行策略(Matlab代码实现)
【考虑经济性的储能运行优化】储能的运行优化,以经济效益最大为目标,使用三种不同的方法求解储能最优运行策略(Matlab代码实现)
146 2
|
5月前
|
机器学习/深度学习 存储 算法
【水下机器人建模】基于QLearning自适应强化学习PID控制器在AUV中的应用研究(Matlab代码实现)
【水下机器人建模】基于QLearning自适应强化学习PID控制器在AUV中的应用研究(Matlab代码实现)
410 0
|
6月前
|
机器学习/深度学习 算法 机器人
基于Qlearning强化学习的2DoF机械臂运动控制系统matlab仿真
本项目基于Q-learning强化学习算法,实现对二自由度机械臂的运动控制仿真。通过MATLAB 2022a平台,验证了算法在状态、动作与奖励机制下的学习效果,展示了机械臂自主学习达到目标位置的能力。内容涵盖理论模型、算法原理与核心代码实现。
192 7

热门文章

最新文章