基于强化学习的倒立摆控制系统设计.docx
- 文档编号:27884236
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:34
- 大小:981.47KB
基于强化学习的倒立摆控制系统设计.docx
《基于强化学习的倒立摆控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于强化学习的倒立摆控制系统设计.docx(34页珍藏版)》请在冰豆网上搜索。
基于强化学习的倒立摆控制系统设计
---文档均为word文档,下载后可直接编辑使用亦可打印---
摘要
强化学习可以算作是这几年来在人工智能和机器学习研究领域内非常热门的项目,而在强化学习与监督学习中有着许多不同之处。
强化学习不需要教师信号,但是它也不等同于只能够完成有限功能的无监督学习,而这种无监督学习在学习过程中无法得到提示。
强化学习强调能够获得评价性反馈信号,并且使用评价信息来达到行为决策上的优化。
显而易见,强化学习具有广阔的前景。
复杂系统控制中有许多经典的问题,倒立摆就是其中之一。
倒立摆系统是一种绝对不稳定的,具有非线性、多变量等多种性质的系统。
而在控制过程中,倒立摆系统也是一个验证各种控制理论的很理想的模型之一。
它可以反映例如可镇定性、鲁棒性和随动性等等问题。
近代以来,倒立摆系统广泛应用于我们的生活当中。
卫星的运行、机器人的行走等都是运用了类似倒立摆系统稳定控制的例子。
显而易见倒立摆的研究具有其深刻的理论意义和重要的工程意义。
在本次的课题中,我们会以大学四年相关的学习内容作为基础,把强化学习作为研究对象,将倒立摆系统作为实验模型,进行系统科学的实验研究。
我们会通过对一级单臂倒立摆的平衡控制进行研究,使系统具备学习能力,并且可以在运行的过程中获得新的内容和信息,具有类似生物的运动控制技能。
本课题在强化学习和Python语言的基础上,提出了基于Q学习的的强化学习系统。
我们用Pycharm进行实验仿真,证明提出的强化学习系统具有认知倒立摆系统的平衡控制技能的能力。
关键词强化学习,Q学习算法,倒立摆系统
ABSTRACT
Therearemanyclassicproblemsincomplexsystemcontrol,theinvertedpendulumisoneofthem.Theinvertedpendulumsystemisanabsolutelyunstablesystemwithnonlinearandmultivariableproperties.Inthecontrolprocess,theinvertedpendulumsystemisalsooneoftheidealmodelstoverifyvariouscontroltheories.Itcanreflectsuchproblemsasstability,robustnessandfollow-up.Sincemoderntimes,theinvertedpendulumsystemhasbeenwidelyusedinourlife.Satelliteoperation,robotwalkingandsoonaretheuseoftheinvertedpendulumsystemstabilitycontrolexamples.Obviously,theresearchofinvertedpendulumhasprofoundtheoreticalsignificanceandimportantengineeringsignificance.
Inthisproject,wewilltaketherelevantlearningcontentinthefouryearsofcollegeasthebasis,takereinforcementlearningastheresearchobject,andtaketheinvertedpendulumsystemastheexperimentalmodeltoconductsystematicscientificexperimentalresearch.Wewillstudythebalancecontrolofaone-arminvertedpendulumtomakethesystemcapableoflearningandacquirenewcontentsandinformationintheprocessofoperation,withthemovementcontrolskillssimilartothoseoflivingcreatures.BasedonreinforcementlearningandPythonlanguage,thispaperproposesareinforcementlearningsystembasedonQlearning.WeusedPycharmtocarryoutexperimentalsimulationandprovedthattheproposedreinforcementlearningsystemhastheabilityofbalancecontrolskillsofthecognitiveinvertedpendulumsystem.
Keywordsreinforcementlearning,Qlearningalgorithm,invertedpendulumsystem
第一章绪论
1.1引言
众所周知,我们获得新的知识的主要途径之一就是学习,学习是我们具有智力的标志之一。
而让机器也像人类一样具有学习新事物的能力,能够对人类学习活动为结果的机器学习进行模拟与实现,是近年来人工智能研究领域中的一个重要的部分。
把机器学习与人类学习相比较的话,机器学习学习速度快,而且不被生命周期所限制,还有学习成果容易复制传播等特点。
[1]机器学习如果可以实现人的学习过程,那么学习不会因为人类的寿命因素被影响,有利于知识的储备。
强化学习[2]理论方法的发展,离不开心理学与机器学习产生的的交叉。
强化学习基于动物学习与心理学的相关原理,采用生物学习中的“尝试与失败”机制,以获得评价性的反馈信号,使用评价信息来对行为决策进行一定的的优化。
强化学习是这几年人工智能领域研究的热门,是一个多学科交叉的研究方向[3]。
智能控制,人工智能研究的目标始终是实现具有类似人类的智能机器产生。
详细的说就是使智能控制系统具有学习的能力,并且可以在系统运行过程中获得新的知识,最后真正具备类似生物的运动控制技能[4]。
到目前来说也取得了不少成果,但不管是自动机,还是其他的现有的以机器人为主体的认知模型,都很少接触运动平衡控制的认知问题。
由于运动平衡控制问题对于机器人研究来说是十分重要的,所以会对运动平衡控制技能的相关认知问题来进行研究[5]。
而在相关的研究中,倒立摆的控制是其中一个研究的热点。
倒立摆系统具有很多特点,例如高阶次、快速、多变量、严重非线性等。
倒立摆系统是非常经典的自控理论的实验设备,同样是经典的控制理论教学物理模型[6]。
倒立摆控制系统因为其线性设计可以很好地说明现代线性控制理论的有效与优势,同时还接触到了系统辨识和非线性系统的线性化等方面,所以一直是相关领域的热点。
可以说倒立摆的研究具有深刻的理论意义和工程意义[7]。
在近代的系统控制的研究中,例如火箭发射和卫星的运行等等都与倒立摆系统稳定控制有所联系。
所以倒立摆系统的研究对于我们生活中的许多高新技术的研究有着重要的意义[8]。
本次课题是以研究运动平衡控制做为出发点,强化学习作为研究对象,倒立摆系统作为实验模型。
在这些的基础上使用一种基于Q学习的强化学习系统以对倒立摆平衡控制进行研究,使其具有学习能力,体现在能在运行过程中获取新的信息,以及具有类似生物的运动控制技能。
该实验的研究成果可以广泛应用于诸多领域[9]。
1.2关于强化学习
1.2.1强化学习的介绍
按照与环境交互的特点可以把已经提出的机器学习方法分为监督学习(SupervisedLearning,又称有导师学习)、无监督学习(UnsupervisedLearning,又称无导师学习)和强化学习[10]三大类。
监督学习这种学习方式需要有一个类似“老师”的角色,它可以对指定的输入给出对应的输出结果。
而这组输入输出数据会成为一个样本集,系统会根据理论输出与实际输出之间的误差来调节系统的参数。
但监督学习需要在不同的环境下给予相对应的教师信号,所以会对监督学习在复杂的控制问题应用中产生限制的作用。
无监督学习不需要类似“教师”的角色,系统会完全按照固定的规律对环境提供的数据来调节自身的结构或者参数。
因为在无监督学习系统中输入仅有环境状态向量,所以不存在与环境的交互[11]。
通过仔细的观察,在生物适应环境学习的过程中,有两个显著的特点:
第一是生物会主动的对环境进行试探;二是在绝大多数多数的情况下结果是评价性的。
生物在过程中达到学习知识,改良行动方案,适应环境等目的。
这种学习就是强化学习[12]。
强化学习与监督学习有着许多不同之处,主要表现在教师信号中。
在强化学习中,产生的强化信号是对动作优劣进行反馈的一种评价。
因为外部环境提供的信息往往比较有限,所以强化学习系统必须靠自己进行学习,在行动-评价的环境中学习知识,以最后做到更好地适应环境[13]。
在强化学习中具有很多特点:
首先强化学习是一种弱的学习方式,在学习的过程中使用的反馈不需要提供正确答案;强化学习的信息可能是稀疏的并且会具有一定的延迟性;其次强化学习从本质上来看上是一种可以在线上使用的增量式学习方法;最后强化学习可以应用于许多复杂的环境[14];
1.2.2强化学习的发展历史及研究现状
强化学习近年来是人工智能领域中研究的重要问题之一大致可以化分为几个阶段:
“强化”和“强化学习”这些术语由Minsky[15]首次提出。
在当时数学心理学家们认为学习会是随机进行的,并进一步研究了随机学习模型[16]。
Widrow、Hoff和Rosenblatt,以及Bush和Mosteller等对强化学习做过对应的研究。
他们的研究做出了许多成果以及在领域内的进步,但他们的研究也有一定的缺陷,那就是越来越趋向于监督学习[17,18]。
在1973年Widow发现了它们之间存在着的差异,后来Widrow、Gupta和Maitra对监督学习规则做出了相应的改正[19]。
到了六七十年代,强化学习的发展速度缓慢了下来。
到了八十年代以后,在许多因素的影响下,人们对强化学习的研究有了空前的进步,强化学习也成为了机器学习研究中的活跃领域。
进入90年代,强化学习开始向着高维的方向进行发展,分布式强化学习成为了新的研究热点但是目前仍仅处于理论研究和算法仿真阶段[20]。
1.3关于倒立摆系统
1.3.1我国研究倒立摆的发展历史和现状
倒立摆控制系统的研究的历史是从上世纪60年代开始的。
Schaefer等人首先在1966年利用Bang-Bang理论,做到了把一个曲轴在倒置位置实现稳定[21]。
Sturgen在1972年对二级倒立摆做到了平衡控制[22]。
Mori在1976年设计出了PID控制器[23]。
国内的研究则始于80年代,这几年来在倒立摆控制领域的研究有了不小的进步与丰硕的成果,如模糊控制、神经网络、强化学习等[24]。
李洪兴等人实现了三级倒立摆的实物控制和四级倒立摆的平衡控制[25]。
张义明等人在2004年使用LQR和LQY实现了二级倒立摆系统的平衡控制。
Wang等人在2015年对Q学习算法进行了优化,实现了一级倒立摆的平衡控制[26]。
1.4本论文主要工作及论文安排
在本次毕业设计中,我们会使用强化学习作为我们的研究对象,使用倒立摆系统作为我们的实验模型。
在本次毕业设计中会使用几种强化学习系统进行实验。
然后在不同的条下进行实验仿真,以证明强化学习系统在倒立摆平衡控制过程中有认知、学习的能力。
而本论文会主要完成以下工作:
在论文的第二章里会对强化学习的基本原理与结构进行介绍,会对强化学习的组成要素和算法类型进行分析,会对强化学习中主要的算法进行介绍,最后对强化学习在实际生活中的应用进行一定的介绍。
在论文的第三章里首先会对直线一级倒立摆系统的数学模型做出推导,以便于对论文中提出的算法的进行实验仿真验证。
同时,在模型的基础上分析直线一级倒立摆系统的控制性能指标。
在论文的第四章里会在强化学习与动态规划算法的基础上,提出几种强化学习系统,通过直线一级倒立摆系统平衡控制的仿真实验,对其有效性进行验证。
在第五章里会对全文进行总结,并对以后进一步的研究方向做出展望。
第二章强化学习理论及其算法
2.1强化学习原理与模型
众所周知,强化学习(Reinforcementlearning)是一种机器学习的重要方法[27][28]。
在我们的身边的诸多领域都与强化学习有着不少联系。
强化学习首先通过智能体与环境的交互与反馈,再通过反馈信息不断更新策略,直到最终获得最优决策。
在训练的过程中系统会通过不断的尝试并且在这个过程中得到相应环境反馈评价。
系统会在这整个过程中不断的积累经验并且更新策略,最后可以使累积的奖惩值达到最大值。
强化学习的示意图如2-1所示:
图2-1强化学习模型图
从图2-1中,我们不难得到一个结论:
把学习看作一个试探评价的过程就是强化学习。
在强化学习过程中,智能体会先对环境状态做出相应的感知并且用做出相应的反应和作用于环境中。
在环境接受到相应的反馈后,在进行反应的同时会把一个奖励或惩罚的强化信号给强化学习系统。
而在这之后强化学习系统也会对强化信号做出反应,并且在当前环境状态的前提下再选择接下的一个动作,而这个动作会增大收到奖励的概率。
当智能体和环境进行交互的时间段内会发生许多事件:
首先智能体会对当前的环境状态做出相应的感知,再选择合适的动作进行执行(针对状态与强化信号)。
然后所选择的动作会对当前的环境造成变化。
当使环境的状态有所变化时,会给予智能体相应的强化信号,最后实现整体的循环。
很明显由强化学习的原理与模型可知强化学习不等同于自适应控制技术和规划技术。
强化学习与自适应控制技术有着共同的奖赏函数模式,但是自适应控制技术是要处理参数问题,系统也要求能够在统计数据中获得结果。
但强化学习并没有这些限制。
而强化学习与规划技术相比,两者之间的差别有许多。
主要是是否需要规划构造相应的复杂的状态图这一问题,规划技术需要规划构造复杂的状态图,与之相比强化学习只需要对所处的环境状态和策略行为进行记忆即可。
除此之外,强化学习与规划技术相比更加强调与环境的交互。
也由此可见,强化学习拥有更广阔的适用面。
2.2强化学习系统的组成要素
强化学习的三个主要组成要素是策略、奖赏函数和值函数。
在一般情况下智能体在给定的时间内产生相应的动作的方法就是策略(Policy)。
策略在一定程度上可以作为强化学习里智能体的核心部分,因为智能体的行为基本上是被策略影响和决定的。
在一般情况下策略会给予智能体特定的答案,告诉在智能体应该采取哪些动作。
奖赏函数(RewardFunction)在强化学习问题中有着举足轻重的地位,一般表现在奖赏函数往往会对问题中的目标会起到决定性的作用。
奖赏函数具有确定性和客观性等性质,这些性质会给予智能体正确的动作选择。
最后再来介绍一下值函数(ValueFunction),值函数一般是以长远的视角来评价状态的好坏,所以值函数又往往被称为评价函数。
因为设计有效的快速的估计值函数基本上就是在完成强化学习算法的研究,所以可以说这种算法的关键就是解决值函数问题。
2.3强化学习的主要算法
图2-2主要的强化学习算法
强化学习在近几年来的发展非常的迅速,夸张地说可能今天正确的分类在明天就会出现错误。
所以只能以现在的研究水平给出大致的分类。
我们可以把强化学习大致分为两类:
Model-Free(无模型的)和Model-based(有模型的)两大类。
无模型又可以再细分为PolicyOptimization(策略优化)和Q-learning两类。
有模型又可以再细分为模型学习(LearntheModel)和给定模型(GiventheModel)两类。
2.4强化学习的主要算法
在本次毕业设计中,我们会主要对两种强化学习的算法进行研究,包括:
SARSA算法,Q-学习(Q-learning)。
在下面我们会对其进行详细的阐述。
2.4.1SARSA算法
SARSA算法是我们研究的第一种强化学习算法,它的名字就基本反应了其大致概念与功能:
S(状态),A(行动),R(奖励)以及S'(状态)A'(行动)形成的一个组合,当前和下一步的内容都很重要。
智能体在SARSA算法里的主要目标是:
(2-1)
是多少取决于哪一个Action被智能体选择。
智能体有近九成的的概率选择Q值最大的Action(
),剩下一成的概率智能体会随机选择一个Action。
所以SARSA的算法是:
(2-2)
由公式易知,SARSA与Qlearning的不同之处是目标值有所不同。
SARSA是在线学习(OnPolicy)的算法而Qlearning是离线学习(OffPolicy)的算法。
SARSA在行动学习中不会有多套Policy,而Qlearning会根据学习和行动采用不同的两套Policy。
在SARSA算法中
和
是由两次greedy-epsilon方法来选择出的。
而在Qlearning中greedy方法和max方法都有被使用。
而且Qlearning比较大胆而Sarsa却相对谨慎。
2.4.2Q-学习
C.Watkins在1989年中首次提出了Q学习算法。
Q学习在学习过程中会使智能体根据特定的环境尝试特定的动作。
智能体会对所进行的行动估计相应的状态价值,最后会对在相应环境下评价动作的后果。
在Q学习的迭代中,会把状态-动作对的值和
作为估计函数,如下:
(2-3)
在相应状态下
代表采用动作可以得到的最优奖赏折扣,其中γ和
分别代表了折扣因子和步长。
2.5强化学习的应用
强化学习在许多系统中都拥有良好的学习性能,这也是强化学习近年来被广泛运用的重要原因。
在控制系统、机器人的设计、任务调度和游戏比赛等等领域内强化学习都扮演着越来越重要的角色。
强化学习在控制系统中会对控制系统的性能的不同而进行相应的评级,然后会根据不同的评级对其进行惩罚或奖励。
而在这些众多的复杂的控制系统中,倒立摆控制系统可以算是一种经常被应用到的例子[29]。
倒立摆控制系统也常常被作为验证强化学习算法的工具。
在机器人设计的相关领域中强化学习也有广泛的应用,例如PeterStone对足球机器人进行的相关研究等等。
任务调度问题具有很大的研究价值和意义,车间作业调度、交通信号控制和网络路由等等都是强化学习在调度管理中得到应用的例子。
例如关于多个电梯的调度算法和蜂窝电话的动态信道分配问题都依据强化学习得到了进一步的研究和总结。
最后,在游戏比赛中,强化学习仍然是一个热门领域,前几年阿尔法狗打败柯洁的新闻仍然家喻户晓。
总之,强化学习的应用充斥在我们身边的各个领域。
我们对于强化学习的研究也是与实际相结合的,而不是纸上谈兵。
图2-2强化学习应用的例子
2.6小结
在本章我们对强化学习基本的原理和模型进行了初步的研究和讨论。
我们探究了策略、奖赏函数和值函数这三个强化学习整体的主要组成部分。
我们接着还初步研究讨论了会在本次毕业设计中应用到的两种算法,包括SARSA算法和Q-学习算法。
在所有的最后我们对其在实际中的应用进行了分析。
第三章倒立摆系统
3.1引言
在每年一年一度的春晚都缺少不了精彩的杂技表演,而这些精彩的杂技表演也体现了一种我们往往会忽视掉的规律:
那就是我们可以通过对系统进行控制让其从自然不稳定的状态趋向稳定。
本章我们对倒立摆系统进行研究与学习,倒立摆具有成本低廉、结构简单、物理参数结构易于调整、高阶次、非线性、强耦合和绝对不定性等等特点性质。
这些特点和性质决定了倒立摆系统被作为一种经常被使用的自动控制实验设备和物理模型。
倒立摆常常被我们用来检验控制方法能否达到预期并且足够有效。
3.2环形倒立摆
环形倒立摆在本次毕业设计中不做为重点研究学习的对象,我们只稍微了解相关信息即可。
环形倒立摆由很多部分组成,包括:
电机、连杆、摆杆等部分。
环形倒立摆直线倒立摆类一样也有一级、二级倒立摆。
环形倒立摆的摆杆会与连杆成
直角竖直向上,这同样也是其控制目的。
在本次毕业设计中我们只选择直线一级倒立摆系统作为实验对象来进行研究。
3.3直线一级倒立摆
图3-1直线一级倒立摆物理模型图
直线一级倒立摆系统是本次毕业设计主要的实验研究对象。
在直线一级倒立摆系统中,小车行动的轨道是没有限制的。
倒立摆控制的原理是通过推动小车的移动来使倒立摆保持相对的平衡状态。
3.3.1直线一级倒立摆系统建模
小车质量
1.096Kg
摆杆质量
0.109Kg
小车摩擦系数
0.1N/m/sec
摆杆转动轴心到杆质心的长度
0.25m
摆杆惯量
0.0034kg*m*m
给小车的力
小车所在的位置
摆杆与垂直上方向的夹角
摆杆与垂直下方向的夹角
表3-1直线一级倒立摆系统的模型参数
如上表所示是直线一级倒立摆系统的模型参数。
机理建模和实验建模是两种我们通常接触到的系统建模方式。
在研究过程中,目标对象首先会被添加已定的输入信号并且得到激励;在这之后我们可以使用传感器对其输出进行检测;在最后我们会使用数学领域的知识对输入-输出关系进行建立。
包括了设计选取对应的输入信号并对其进行检测和对算法的研究等等使用物理和化学的相关知识,使用数学作为手段,一起建立输入-状态关系,这就是机理建模。
实验建模因为倒立摆系统是一个自不稳定的系统而会存在一定的困难。
在本次毕业设计中我们会对直线型一级倒立摆系统的数学模型进行建模并采用牛顿-欧拉方法。
在图3-2中,介绍了在倒立摆系统中小车和摆杆受到的各个方向的力。
N和P分别代表了小车摆杆相互作用力的不同方向的分量(水平和垂直)。
另外很明显的是矢量正方向我们也不难从图片中得到结论。
图3-2直线一级倒立摆系统的受力图
在我们分别对小车和摆杆进行受力分析后可以得到方程组如下:
(3-1)
合并式(3-1)中的前两项,我们可以得到第一个运动方程:
(3-2)
合并式(3-1)中的后两项方程我们可以推导倒立摆系统的第二个运动方程:
(3-3)
我们设
然后假设
远远小于1。
当其满足条件时我们就可以对其近似处理:
使
。
u代表输入力F,对其进行线性化处理得到以下的方程:
(3-4)对(3-4)进行拉普拉斯变换易得:
(3-5)
对式(3-5)第一个方程进行求解易得:
(3-6)
把式(3-6)带入式(3-5)的第二个方程易得:
(3-7)
由式(3-7)我们可以得到系统传递函数:
(3-8)
在式(3-8)中
。
我们可以把式(3-8)线性化得到其状态空间方程(3-9):
(3-9)
在上式中,状态变量
代表小车在轨道上的位置;
代表小车的运动速度;
和
则分别代表了在倒立摆系统中杆与垂直方向夹角的角度和角速度。
3.4小结
本章着重对研究对象直线一级倒立摆进行了研究和学习,在本章一开始简单的介绍了环形倒立摆并在明确本章的研究重点对象后对直线一级倒立摆进行了建模。
接下来对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 强化 学习 倒立 控制系统 设计