基于强化学习的倒立摆控制策略研究
摘要
当控制系统是复杂非线性系统时,设计一类优化控制器是非常复杂的。强化学习是从与控制对象的交互中学习优化策略。本文采取强化学习方法,在未知倒立摆数学模型情况下,通过输入输出数据,实现对倒立摆的控制。
(相关资料图)
1. 引言
强化学习是一门决策学科,理解最佳的方式来制定决策。在工程控制当中有一门课程叫最优控制,与强化学习使用的方法有很大的类似之处,这种基于强化学习的方法不需要建模,也不需要设计控制器,只需要构建一个强化学习算法。当RL应用于系统时,智能体通过与系统交互学会采取行动,以便最大化一些累积奖励。学习可以基于不同形式的奖励反馈。与监督学习相比,强化学习的期望输出是不知道的。通过强化学习智能体与环境的交互得到一些列的输出,这些输出的好坏用来评判智能体学习的好坏。RL算法关注在线学习性能,涉及到在探索(未知领域)和开发(当前知识)之间的平衡。为了获得最大的奖励,智能体必须利用它已经知道的知识,但是它也必须探索,以便将来做出更好的行动选择。
倒立摆问题是控制系统中一类经典的问题。它是一个固有的不稳定和欠驱动的机械系统。这个系统的动力学是用来更好理解平衡维护的任务,如火箭推进器的控制和自平衡的机械系统。 已有大量的文章研究了倒立摆的摆起与稳定控制的若干设计技术。像PID控制、线性二次型调节器(LQR)和模糊逻辑控制器。
系统复杂性的增加需要复杂的控制器,特别是在系统存在非线性、不确定性和时变时。由于其固有的本质,RL使用来自环境的交互数据,生成一个最优控制器,而不需要环境本身的数学模型知识。此外,这种控制器具有适应环境发生扰动的能力。
2. 倒立摆问题
倒立摆控制系统是一个复杂的、不稳定的、非线性系统。是进行控制算法验证的理想实验平台。能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。通过对倒立摆的控制,可以较好检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。
本文所采用的模拟倒立摆如图一所示,摆杆被铰链固定在车体的正中心,可左右灵活摆动,输入控制小车的力,根据其动力学方程可得到小车的位置,速度,角度,角加速度。
倒立摆的动力学方程。
3.强化学习的理论基础
强化学习是智能体在环境给予的奖励的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。以控制对象的动力学方程建立物理引擎,作为其环境交互对象,并定义其奖励,使智能体获取的奖励最大化,达到控制目的。
4.实验
参考文献:
[1] Zadeh L A. Outline of a new approach to the analysis of complex systems and decision processes[J]. IEEE Transactions on systems, Man, and Cybernetics, 1973 (1): 28-44.
[2] Lin W S. Optimality and convergence of adaptive optimal control by reinforcement synthesis[J]. Automatica, 2011, 47(5): 1047-1052.
[3] Lin W S, Sheu J W. Optimization of train regulation and energy usage of metro lines using an adaptive-optimal-control algorithm[J]. IEEE Transactions on Automation Science and Engineering, 2011, 8(4): 855-864.
[4] Modares H, Lewis F L, Naghibi-Sistani M B. Integral reinforcement learning and experience replay for adaptive optimal control of partially-unknown constrained-input continuous-time systems[J]. Automatica, 2014, 50(1): 193-202.
[5] Mnih V, Kavukcuoglu K, Silver D, et al. Playing Atari with Deep Reinforcement Learning[J]. Computer Science, 2013.
[6] Mnih V, Kavukcuoglu K, Silver D, et al. Human-level control through deep reinforcement learning[J]. Nature, 2015, 518(7540):529.
[7] Silver D, Huang A, Maddison C J, et al. Mastering the game of Go with deep neural networks and tree search[J]. Nature, 2016, 529(7587): 484-489.
[8] dos Santos Mignon A, da Rocha R L A. An Adaptive Implementation of ε-Greedy in Reinforcement Learning[J]. Procedia Computer Science, 2017, 109: 1146-1151.
[9] Lin L J. Reinforcement learning for robots using neural networks[R]. Carnegie-Mellon Univ Pittsburgh PA School of Computer Science, 1993.
[10] Van Hasselt H, Guez A, Silver D. Deep Reinforcement Learning with Double Q-Learning[C]//AAAI. 2016: 2094-2100.
[11] Riedmiller M. Neural fitted Q iteration-first experiences with a data efficient neural reinforcement learning method[C]//ECML. 2005, 3720: 317-328.
[12] Sutton R S, Barto A G. Reinforcement learning: An introduction[M]. Cambridge: MIT press, 1998.
[13] Kharola A, Patil P, Raiwani S, et al. A comparison study for control and stabilisation of inverted pendulum on inclined surface (IPIS) using PID and fuzzy controllers[J]. Perspectives in Science, 2016, 8: 187-190.
[14] Dong Z, Song L, Chen H. The modeling and simulation of first-order Inverted pendulum control system[J]. Advances in Electronic Commerce, Web Application and Communication, 2012: 221-225.