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

我的微信公众号名称:深度学习与先进智能决策
微信公众号ID:MultiAgent1024
公众号介绍:主要研究分享深度学习、机器博弈、强化学习等相关内容!期待您的关注,欢迎一起学习交流进步!

摘要

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

1引言

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

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

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

扰动的能力。

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

2倒立摆问题

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

image.png

3强化学习的理论基础 

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

image.png

4实验

效果如下图所示:

image.png

image.png

5代码附录

image.png

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

往期回顾

推荐系统与人工智能概述

通俗认识理解OpenAI Five

强化学习通俗入门简介(一)

OpenAI重磅开源多智能体博弈环境 Neural MMO

目标检测之R-CNN、Faster R-CNN入门

发布了143 篇原创文章 · 获赞 115 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/weixin_39059031/article/details/89676163