智能控制开发实验——倒立摆模糊控制和神经网络控制
- 格式:docx
- 大小:924.66 KB
- 文档页数:35
一阶倒立摆模糊控制实验报告一、实验目的本实验旨在通过模糊控制方法来控制一阶倒立摆系统,实现摆杆保持竖直的稳定控制。
二、实验原理1. 一阶倒立摆系统一阶倒立摆系统由一个垂直的支撑杆和一个在杆顶端垂直摆动的杆组成。
系统的输入为杆的控制力矩,输出为杆的角度。
系统的动力学方程可以表示为:Iθ''(t) + bθ'(t) + mgl sin(θ(t)) = u(t)其中,I为倒立摆的转动惯量,b为摩擦阻尼系数,θ为倒立摆的角度,m为倒立摆的质量,l为杆的长度,g为重力加速度,u为输入的控制力矩。
2. 模糊控制方法模糊控制方法是一种基于模糊逻辑的控制方法,通过将模糊集合与模糊规则相结合,构建模糊控制器来实现对系统的控制。
在本实验中,可以使用模糊控制器来实现倒立摆系统的稳定控制。
三、实验步骤1. 搭建实验平台,包括倒立摆系统、传感器和执行器。
2. 训练模糊控制器a. 定义模糊集合:根据角度误差和角速度误差定义模糊集合,并确定模糊集合的划分方式。
b. 构建模糊规则:根据经验或系统建模,确定模糊规则。
c. 设计模糊控制器:根据模糊集合和模糊规则,设计模糊控制器,包括模糊推理和模糊解模块。
d. 调整模糊控制器参数:根据系统响应实验,根据控制效果调整模糊控制器参数。
3. 实施模糊控制a. 读取传感器数据:获取倒立摆的角度和角速度数据。
b. 计算控制器输出:根据模糊控制器和传感器数据计算控制力矩的输出。
c. 执行控制器输出:将控制力矩作用在倒立摆上。
4. 监测系统响应:实时监测倒立摆的角度和角速度,判断控制效果。
5. 调整模糊控制器参数:根据实验监测结果,调整模糊控制器参数,以提高控制效果。
四、实验结果分析通过实验,我们可以观察到倒立摆系统在模糊控制下的稳定控制效果。
通过实时监测倒立摆的角度和角速度,可以验证控制器的性能。
实验结果可以通过绘制控制力矩输入和倒立摆角度响应曲线,以及观察系统的稳态误差来分析。
倒立摆模糊控制系统设计摘要:本文针对倒立摆的运动控制问题,设计了一种模糊控制系统,用于实现倒立摆的平衡控制。
首先,对于倒立摆的动力学建模进行了分析,并通过控制算法确定了控制系统的目标和控制策略。
然后,根据倒立摆在不同状态下的响应特点,设计了合适的模糊控制规则,并调节了控制参数,以实现系统的优化控制。
最后,在实验中验证了该控制系统的有效性和稳定性。
关键词:倒立摆;模糊控制;动态建模;控制规则设计目标:实现倒立摆的平衡控制,使其能稳定地保持在竖直状态。
设计过程:一、动态建模倒立摆是一种非线性系统,因此需要对其进行动态建模。
考虑倒立摆的运动方程:mL2θ¨+mgLsinθ=up其中,m为摆球的质量,L为摆杆的长度,g为重力加速度,θ为摆杆与竖直方向的夹角,up为施加在摆杆末端的控制力。
将θ和θ¨分别记做y和v,则系统的状态方程可以表示为:y'=v二、控制算法倒立摆的控制目标是使其保持在竖直状态,即y=0,v=0。
根据控制算法的思想,需要设计一个合适的控制策略,使得系统能够在有限时间内达到目标状态并保持在该状态。
采用PD控制器设计控制策略,其中Kp和Kd分别表示比例增益和微分增益。
up=Kp(y-0)+Kd(v-0)三、模糊控制规则根据倒立摆在不同状态下的响应特点,设计了合适的模糊控制规则。
具体而言,将y 和v的取值范围划分为若干个模糊集合,对应于不同的控制动作。
例如,当y远离目标点0时,需要施加较大的控制力;而当y接近目标点时,应逐渐减小控制力以避免过度响应。
通过实验和调节控制参数,确定了合适的模糊控制规则和参数设置,以实现倒立摆的优化控制。
结果与讨论:通过实验验证,该模糊控制系统能够实现倒立摆的平衡控制,并且具有一定的鲁棒性和稳定性。
在控制参数设置上,应根据倒立摆的特点和实际应用需求,进行适当调整,以实现最优控制效果。
固高科技《倒立摆与自动控制原理实验》《倒立摆与自动控制原理实验》是一个固高科技开展的实验项目,旨在培养学生对自动控制原理的理解和应用能力。
该实验通过搭建倒立摆的物理模型,利用自动控制原理来实现倒立摆的平衡控制。
以下是对该实验项目的介绍,包括实验目的、原理以及实验步骤。
实验目的:1.理解自动控制原理的基本概念和应用。
2.掌握使用固高科技控制系统进行实验的方法。
3.了解倒立摆的特性和控制方法。
4.通过实验,提高学生的动手实践能力和创新思维。
实验原理:倒立摆是一个经典的自动控制系统,由一个摆杆和一个旋转关节组成。
摆杆可以沿着旋转关节旋转,目标是使摆杆保持直立状态。
倒立摆系统可以看作是一个负反馈控制系统,输入为倒立摆的角度和角速度,输出为控制摆杆旋转的力矩。
通过调节输入和输出之间的关系,可以实现倒立摆的平衡控制。
实验步骤:1.准备实验所需的材料和仪器,包括固高科技控制系统、倒立摆模型、电源等。
2.搭建倒立摆的物理模型,将摆杆固定在旋转关节上,并与驱动电机相连。
3.将摆杆的角度和角速度传感器与固高科技控制系统相连。
4.将固高科技控制系统通过USB接口连接到计算机上,并打开控制系统控制软件。
5.运行控制软件,配置摆杆的初始角度和目标角度,并设置控制参数。
6.开始实验,观察摆杆的运动状态,尝试调节控制参数以实现倒立摆的平衡控制。
7.记录实验结果,分析控制参数对倒立摆平衡控制的影响。
通过以上步骤,可以实现对倒立摆的平衡控制。
学生通过实际操作和观察,加深对自动控制原理的理解和应用。
此外,他们还可以探索倒立摆系统的多种控制方法和策略,提高自己的创新能力。
总结:《倒立摆与自动控制原理实验》是一个很有意义的实验项目,旨在培养学生对自动控制原理的理解和应用能力。
通过实际操作和观察,学生可以深入了解倒立摆的特性和控制方法,并通过调节控制参数实现倒立摆的平衡控制。
通过这个实验,学生不仅可以提高动手实践能力,还可以培养创新思维,为将来的研究和工作打下坚实的基础。
倒立摆系统的设计摘要倒立摆是一个非线性、强耦合、多变量和自然不稳定的系统。
通过它能有效地反映控制过程中诸如可镇定性、鲁棒性、随动性以及跟踪等多种关键问题,是检验各种控制理论的理想模型。
对倒立摆系统的研究不仅具有很重要的理论意义,而且在航天科技和机器人学领域中也有现实指导性意义。
本文以直线二级倒立摆模型为控制对象,阐述了倒立摆稳定控制的研究现状以及倒立摆系统的控制系统及机械结构组成。
在数学模型的基础上,重点分析基于Lagrange方程进行数学模型的方法,以及系统的能控性和能观测性。
接着进行了倒立摆系统的LQR控制方法研究。
运用最优控制理论,探讨了加权矩阵Q 和R的选取方法。
然后利用Matlab软件建立倒立摆系统模型,对二级倒立摆的LQR控制器进行了设计与仿真,利用Simulink建立了二级倒立摆的LQR控制模型,实现了二级倒立摆系统的稳定控制。
结果表明本文所给出的控制策略是有效的。
最后对倒立摆系统时滞问题进行了分析,给出了系统稳定性的判别公式。
关键词:倒立摆;Lagrange方程;数学模型;最优控制;SIMULINKDesign of Inverted Pendulum SystemABSTRACTInverted pendulum is a nonlinear,coupling,variable and natural unsteadiness system.During the controlprocess,pendulum can effectively reflect many pivotal problems such as equanimity, robust,follow-up and track.Therefore,it is a perfect model used to testing various control theories.Studying on inverted pendulum not only has a very important theory significance,but also has a realistic directory meaning in aerospace science and technology and robotics.In this paper,we establish mathematical models of double inverted pendulum system,and analyze the controllability and observability of these models.According to the theoretical analysis,this paper puts forward a solution that it is found by Linear Quadratic Optimal Control Theory.In the following,we design a double inverted pendulum’s controller based on the theory.Based on introducing the present established mathematical model,the method of the Mathematical model was done by analyzing the Lagrange equation. And the system characteristic was briefly analyzed.Next we do research on LQR control algorithm of inverted pendulum system.By using optimization control theory,the selection of matrix Q and R is dicussed.It is introduced how to realize the simulation of the inverted pendulum system by the Matlab.Double inverted pendulum LQR controller is designed and emulated.LQR control model is programmed by Simulink, control of double inverted pendulum hardware system is realized.And it indicates that the control strategy proposed in this paper is effctive.Finally,we analysis the time-delay problem of double inverted pendulum system, get the giscriminant formula of the Stability of the system.Keywords: inverted pendulum;Lagrange equation;mathematical model;optimization control theory;Simulink目录1绪论 (1)1.1倒立摆系统研究的意义和前景 (1)1.2倒立摆系统的研究现状 (1)1.3课题任务 (2)2倒立摆系统建模与性能分析 (3)2.1系统数学模型的建立 (3)2.1.1倒立摆系统的运动分析 (3)2.1.2模型建立的基本方法 (4)2.1.3模型的建立 (4)2.2倒立摆系统性能分析 (8)2.2.1系统稳定性原理 (8)2.2.2系统能控性和能观性 (9)2.2.3二级倒立摆系统性能 (9)3 倒立摆系统控制与仿真 (11)3.1 LQR理论基础 (11)3.1.1 线性二次型问题 (11)3.1.2无限时间状态调节器问题 (12)3.2矩阵黎卡提方程的求解 (12)3.3 Simulink概述 (12)3.4二级倒立摆最优控制器的设计 (13)3.4.1最优控制器的设计 (13)3.4.2二级倒立摆系统仿真 (14)4倒立摆系统的实时控制 (17)4. 1硬件在回路仿真技术 (17)4.2系统实现方案介绍 (17)4.3系统实时性分析 (18)4.4系统实现方案确定 (20)4.5本章小结 (20)5摆系统时滞问题 (21)5.1 系统的稳定性 (21)5.2小结 (23)6 结论 (24)谢辞 (25)参考文献 (26)附录A (27)附录B (34)1 绪论1.1倒立摆系统研究的意义和前景倒立摆系统是一个非线性程度严重的高阶不稳定系统,也是一个典型的多变量系统。
模糊控制与神经网络控制模糊控制和神经网络控制是现代控制领域中的两个重要研究方向,它们通过不同的方法和理论来解决复杂系统的控制问题。
本文将就这两种控制方法进行介绍和对比,并探讨它们在实际应用中的优劣势。
一、模糊控制模糊控制是一种基于模糊逻辑理论的控制方法,它通过将输入和输出之间的关系进行模糊化来实现系统的控制。
模糊控制器的设计通常包括模糊化、规则库的建立、推理机制以及解模糊化等步骤。
在模糊控制中,输入和输出以模糊集形式表示,通过一系列的模糊规则进行推理得到控制信号。
模糊规则库中存储了专家知识,根据实际问题的需求可以设计不同的规则。
推理机制使用模糊规则进行推理,最后通过解模糊化将模糊输出转化为具体的控制量。
模糊控制的优点之一是适用于非线性和不确定性系统,它能够通过模糊化处理来处理实际系统中的不确定性和模糊性。
此外,模糊控制能够利用专家经验进行控制器的设计,无需准确的系统数学模型。
然而,模糊控制也存在一些局限性。
首先,模糊控制的规则库和参数通常需要由专家进行手动设计,这对专家的经验和知识有一定的要求。
其次,模糊控制的性能也会受到模糊规则的数量和质量的影响,如果规则库设计不当,控制性能可能无法满足要求。
二、神经网络控制神经网络控制是一种基于人工神经网络的控制方法,它通过将系统模型表示为神经网络结构来实现控制。
神经网络是一种模仿生物神经系统结构和功能的计算模型,具有自适应学习和适应性处理的能力。
在神经网络控制中,神经网络被用作控制器来学习系统的映射关系。
通过输入和输出的样本数据,神经网络根据误差信号不断调整权重和阈值,使得输出逼近于期望输出。
神经网络控制通常包括网络的结构设计、学习算法的选择和参数调整等步骤。
与模糊控制相比,神经网络控制具有更好的自适应性和学习能力。
它能够通过学习过程来建立系统的非线性映射关系,并且对于未知系统具有较好的鲁棒性。
此外,神经网络控制不需要准确的系统模型,对系统的数学模型要求相对较低。
一级倒立摆的模糊控制一、 立题背景倒立摆( Inverted Pendulum)是处于倒置不稳定状态、通过人为控制使其处于动态平衡的一种摆。
它是一个复杂的快速、非线性、多变量、强耦合的非最小相位系统,是重心在上、支点在下控制问题的抽象。
倒立摆的控制一直是控制理论及应用的典型课题倒立摆系统通常用来检验控制策略的效果,是控制理论研究中较为理想的实验装置。
又因其与火箭飞行器及单足机器人有很大的相似之处,引起国内外学者的广泛关注。
控制过程中的许多关键问题,如镇定问题、非线性问题、鲁棒性问题、随动问题以及跟踪问题等都可以以倒立摆为例加以研究。
本文围绕一级倒立摆系统,采用模糊控制理论研究了倒立摆的控制系统仿真问题。
仿真 的成功证明了本文设计的模糊控制器有很好的稳定性。
二、 倒立摆的数学模型质量为m 的小球固结于长度为L 的细杆(可忽略杆的质量)上,细杆又和质量为M 的小车铰接相连。
由经验知:通过控制施加在小车上的力F (包括大小和方向)能够使细杆处于θ=0的稳定倒立状态。
在忽略其他零件的质量以及各种摩擦和阻尼的条件下,推导小车倒立摆系统的数学模型。
倒立摆模型如图2-1所示。
图 2-2 单机倒立摆模型图小车由电机通过同步带驱动在滑杆上来回运动,保持摆杆平衡。
电机编码器和角编码器向运动卡反馈小车和摆杆位置(线位移和角位移)。
导轨截面成H 型,小车在轨道上可以自由滑动,其在轨道上的有效运行长度为1米。
轨道两端装有电气限位开关,以防止因意外失控而撞坏机构。
以摆角θ、角速度θ’、小车位移x 、加速度x ’为系统状态变量,Y 为输出,F 为输入 以摆角θ、角速度θ’、小车位移x 、加速度x ’为系统状态变量,Y 为输出,F 为输入。
即X=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡4321x x x x =⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡x'x 'θθ Y=⎥⎦⎤⎢⎣⎡x θ=⎥⎦⎤⎢⎣⎡31x x由线性化后运动方程组得x1’=θ’=x2 x2’=''θ=()Ml g m M +x1-Ml1 F X3’ =x ’=x4 x4’=x ’’=-M mg x1+M 1 F 故空间状态方程如下:X ’=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡'4'3'2'1x x x x =()⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-+00010000000010M mgMl g m M ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡4321x x x x + ⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-M Ml 1010 F Y= ⎥⎦⎤⎢⎣⎡31x x =⎥⎦⎤⎢⎣⎡01000001 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡4321x x x x + 0⨯F 其中,M=1 kg ,m=0.1kg ,l=.1m ,g=10m/s 。
倒立摆实验报告机自 82组员:李宗泽李航刘凯付荣倒立摆与自动控制原理实验一.实验目的 :1.运用经典控制理论控制直线一级倒立摆, 包括实际系统模型的建立、根轨迹分析和控制器设计、频率响应分析、PID 控制分析等内容.2. 运用现代控制理论中的线性最优控制LQR 方法实验控制倒立摆3.学习运用模糊控制理论控制倒立摆系统4.学习 MATLAB工具软件在控制工程中的应用5.掌握对实际系统进行建模的方法,熟悉利用 MATLAB 对系统模型进行仿真,利用学习的控制理论对系统进行控制器的设计,并对系统进行实际控制实验,对实验结果进行观察和分析,非常直观的感受控制器的控制作用。
二.实验设备计算机及 MATLAB.VC等相关软件固高倒立摆系统的软件固高一级直线倒立摆系统,包括运动卡和倒立摆实物倒立摆相关安装工具三.倒立摆系统介绍倒立摆是机器人技术、控制理论、计算机控制等多个领域、多种技术的有机结合,其被控系统本身又是一个绝对不稳定、高阶次、多变量、强耦合的非线性系统,可以作为一个典型的控制对象对其进行研究。
倒立摆系统作为控制理论研究中的一种比较理想的实验手段,为自动控制理论的教学、实验和科研构建一个良好的实验平台,以用来检验某种控制理论或方法的典型方案,促进了控制系统新理论、新思想的发展。
由于控制理论的广泛应用,由此系统研究产生的方法和技术将在半导体及精密仪器加工、机器人控制技术、人工智能、导弹拦截控制系统、航空对接控制技术、火箭发射中的垂直度控制、卫星飞行中的姿态控制和一般工业应用等方面具有广阔的利用开发前景。
倒立摆已经由原来的直线一级倒立摆扩展出很多种类,典型的有直线倒立摆环形倒立摆,平面倒立摆和复合倒立摆等,本次实验采用的是直线一级倒立摆。
倒立摆的形式和结构各异,但所有的倒立摆都具有以下的特性 : 1) 非线性 2) 不确定性 3) 耦合性 4) 开环不稳定性 5) 约束限制倒立摆控制器的设计是倒立摆系统的核心内容,因为倒立摆是一个绝对不稳定的系统,为使其保持稳定并且可以承受一定的干扰,需要给系统设计控制器,本小组采用的控制方法有:PID 控制、双PID 控制、 LQR控制、模糊 PID控制、纯模糊控制四.直线一级倒立摆的物理模型:系统建模可以分为两种:机理建模和实验建模。
摘要提出了一种利用模糊控制器进行倒立摆控制的方法,建立了倒立摆的数学模型,并进行了计算机仿真,仿真结果表明,该方案可以得到较为满意的结果。
关键词倒立摆模糊控制器计算机仿真1引言倒立摆小车系统如图1所示。
它由质量为 M的小车,长为2 L 的倒立摆构成。
倒立摆质量为m,铰链在小车上。
小车在控制函数f =u(t)的作用下,沿滑轨在x方向运动,使倒立摆在垂直平面内稳定。
x=0.05 m, 倒立摆的角度=0.08 rad。
我们通常用状态空间法来解决多输入、输出的问题。
对这个倒立摆问题我们尝试控制倒立摆的角度theta和小车的位置x。
要求小车应在5 s内到达期望位置,并且上升时间在5 s之内,同时限制倒立摆的最大角度为2°(0.35弧度),在5 s内稳定。
其中:M—小车的质量(M=1 kg);m—倒立摆的质量(m=0.1 kg);F—加给小车的外力;b—小车的摩擦系数(50 N/s);2 L —倒立摆的长度(2 L=2 m);x —小车的位置。
2系统分析与建模经分析,系统的动力学方程组为:由于φ较小,系统的动力学方程组可线性化为:计算A的极点为0,-5.1188,-2.6013,2.7476,有一个极点在右半平面,原系统是不稳定的。
而根据原系统的可控性,rank([B AB A2B A3B])=4,因而是可控的,可以任意配置系统的极点。
在matlab中,命令lqr (A,B,Q,R)可解连续时间的线性二次型调节器问题,并可解与其有关的黎卡提方程。
该命令可计算最佳反馈增益矩阵K,并且产生性能指标:在约束方程条件下达到极小的反馈控制律:u=-Kx。
可求得:K=[-22.3607,-30.1549,-142.8290,-52.2546 ],此时系统的极点分别为-4.33082.1985i,-2 56330.4834i,都处于s左半平面,系统是稳定的。
系统对应的响应曲线为图2所示。
由图2知线性化的系统达到了二次型最佳控制条件下的设计要求。
固高科技《倒立摆与自动控制原理实验》《倒立摆与自动控制原理实验》是固高科技中一门重要的实验课程。
倒立摆是一种常见的动力学系统模型,可以应用于机器人控制、姿态稳定控制、飞行器控制等领域。
自动控制原理是掌握电路、机器、仪器等系统控制的基础,对于机械、电子、自动化等专业的学生来说都是必学的课程。
此实验旨在通过实践操作,帮助学生理解倒立摆的原理和自动控制原理,并培养他们的实验操作能力和问题解决能力。
下面将简要介绍实验的目的、原理和步骤。
实验目的:1.理解倒立摆的原理和动力学方程;2.学习掌握自动控制原理;3.掌握实验操作技巧;4.提高问题解决能力和团队合作意识。
实验原理:倒立摆是一个不稳定的系统,需要通过控制来保持平衡。
实验中,用电机驱动倒立摆杆旋转,通过两个位置传感器检测倒立摆杆的角度和角速度,并将这些信号经过控制器进行处理后控制电机。
通过调整电机输出的力矩,使倒立摆保持在垂直位置。
自动控制原理是实现倒立摆控制的基础。
对于这个系统来讲,可以采用经典的PID控制算法。
PID控制器根据当前倒立摆的角度误差、角速度误差和积分误差来计算控制信号,实时调整电机输出的力矩,使倒立摆保持在稳定的位置。
实验步骤:1.搭建倒立摆实验平台:根据实验材料提供的装配手册,按图纸要求完成倒立摆的搭建。
注意调整杆件位置,使倒立摆保持平衡。
2.连接传感器和控制器:将位置传感器和角速度传感器连接到控制器,确保信号传输的可靠性。
3.设置控制参数:在控制器上设置PID控制器的参数,包括比例系数Kp、积分系数Ki和微分系数Kd。
根据实验要求,调整参数值。
4.进行控制实验:启动电机,观察倒立摆的运动情况。
根据实际情况,调整控制器的参数,使倒立摆保持在平衡位置。
5.实验数据处理:记录实验过程中的数据,包括控制器的输出信号、倒立摆的角度和角速度等数据。
通过数据分析,评估控制效果和控制器参数的优化方法。
总结:《倒立摆与自动控制原理实验》是一门理论与实践相结合的课程,通过实验操作,学生能够深入理解倒立摆和自动控制原理,并培养他们的实验操作能力和问题解决能力。
倒立摆控制方法介绍倒立摆是一种经典的控制系统问题,它在控制理论中具有重要的地位。
倒立摆控制方法是指通过对倒立摆系统的动力学特性进行建模和分析,设计出合适的控制策略,以实现倒立摆的平衡控制或轨迹跟踪控制。
本文将系统介绍倒立摆的基本原理和控制方法,并深入探讨几种常见的倒立摆控制算法。
一、倒立摆的基本原理1. 倒立摆系统的结构倒立摆由一个挡板和一根连杆组成,挡板可以沿竖直方向进行运动,连杆可以绕某一固定点旋转。
倒立摆系统在无控制时,连杆会处于不稳定的倒立状态,因此需要对其进行控制以实现平衡或跟踪任务。
2. 倒立摆系统的动力学模型倒立摆系统的动力学模型可以通过拉格朗日方程建立。
对于单摆情况,可以通过连杆的长度、质量、重心位置等参数来描述系统。
通过对系统的动能和势能进行求解,可以得到系统的运动方程。
二、倒立摆控制方法1. PID控制器PID控制器是最简单且常用的控制方法之一。
PID控制器通过比较系统的实际输出和期望输出,计算出控制量,并输出给执行器。
PID控制器分别对系统的偏差、偏差的变化率和偏差的积分进行加权计算,得到最终的控制量。
2. 模糊控制模糊控制是一种基于模糊逻辑的控制方法,适用于非线性系统或具有不确定性的系统。
模糊控制将系统的输入和输出进行模糊化,通过模糊规则的匹配和推理,得到最终的控制量。
对于倒立摆系统,可以根据系统的状态和偏差设计模糊规则集,以实现控制目标。
3. 强化学习强化学习是一种通过与环境的交互来学习最优策略的方法。
倒立摆控制可以被看作是一个强化学习的问题,控制器通过与倒立摆系统的交互,不断调整自己的策略以获得最优的控制效果。
例如,可以使用深度强化学习方法,如深度Q网络(DQN)来实现倒立摆的控制。
4. 模型预测控制模型预测控制是一种通过建立系统的动态模型,并根据模型进行预测和优化的控制方法。
倒立摆系统的动态特性是已知的,可以通过建立模型来预测系统的未来状态,从而进行控制决策。
模型预测控制可以考虑系统的约束条件,并通过优化算法求解最优控制策略。
智能控制开发实验前言以及控制对象 (1)一、一级倒立摆神经网络控制 (1)1.实验要求 (1)2.一级倒立摆LQR控制器的设计 (1)3.一级倒立摆神经网络控制器的设计 (3)二、二级倒立摆神经网络控制 (5)1.实验要求 (5)2.二级倒立摆LQR控制器的设计 (5)3.二级倒立摆神经网络控制器的设计 (10)三、三级倒立摆神经网络控制 (15)1.实验要求 (15)2.三级倒立摆LQR控制器的设计 (15)四、一级倒立摆模糊控制 (18)1.实验要求 (18)2.一级倒立摆模糊控制器的设计 (18)五、二级倒立摆模糊控制 (21)1.实验要求 (21)2.二级倒立摆模糊控制器的设计 (22)六、三级倒立摆模糊控制 (28)1.实验要求 (28)2.三级倒立摆模糊控制器的设计 (28)七、实验总结及致谢 (31)图1 一级倒立摆LQR控制器系统框图 (2)图2 一级倒立摆LQR控制效果图 (3)图3 一级倒立摆神经网络训练 (4)图4 神经网络控制器 (4)图 5 一级倒立摆神经网络控制系统框图 (4)图 6 一级倒立摆神经网络控制仿真效果图 (5)图7 二级倒立摆线性化系统框图 (6)图8 二级倒立摆LQR控制器系统框图 (7)图9 二级倒立摆LQR控制仿真效果图(小车位移X) (7)图10 二级倒立摆LQR控制仿真效果图(下倒立摆角度phi1) (8)图11 二级倒立摆LQR控制仿真效果图(上倒立摆角度phi2) (8)图12 二级倒立摆LQR控制仿真效果图(小车速度dx) (9)图13 二级倒立摆LQR控制仿真效果图(下倒立摆角速度dphi1) (9)图14 二级倒立摆LQR控制仿真效果图(上倒立摆角速度dphi2) (10)图15 二级倒立摆神经网络训练 (11)图16 二级倒立摆神经网络控制系统框图 (11)图17 二级倒立摆神经网络控制仿真效果图(小车位移x) (12)图18 二级倒立摆神经网络控制仿真效果图(下倒立摆角度phi1) (12)图19 二级倒立摆神经网络控制仿真效果图(上倒立摆角度phi2) (13)图20 二级倒立摆神经网络控制仿真效果图(小车速度dx) (13)图21 二级倒立摆神经网络控制仿真效果图(下倒立摆角速度dphi1) (14)图22 二级倒立摆神经网络控制仿真效果图(上倒立摆角速度dphi2) (14)图23 三级倒立摆线性化系统框图 (16)图24 一级倒立摆模糊控制器设计 (19)图25 一级倒立摆模糊控制规则设计 (19)图26 模糊控制规则视图 (20)图27 一级倒立摆模糊控制系统框图 (20)图28 一级倒立摆模糊控制仿真效果图 (21)图29 二级倒立摆模糊控制器设计 (23)图30 二级倒立摆模糊控制规则 (23)图31 二级倒立摆模糊控制系统框图 (24)图32 二级倒立摆模糊控制仿真效果图(小车位移x) (25)图33 二级倒立摆模糊控制仿真效果图(下倒立摆角度phi1) (25)图34 二级倒立摆模糊控制仿真效果图(上倒立摆角度phi2) (26)图35 二级倒立摆模糊控制仿真效果图(小车速度dx) (26)图36 二级倒立摆模糊控制仿真效果图(下倒立摆角速度dphi1) (27)图37 二级倒立摆模糊控制仿真效果图(上倒立摆角速度dphi2) (27)图38 三级倒立摆模糊控制器设计 (29)图39 三级倒立摆模糊控制规则 (29)图40 三级倒立摆模糊控制系统框图 (30)图41 三级倒立摆模糊控制仿真效果图 (31)前言以及控制对象倒立摆是一种典型的多变量、非线性、高阶次,强耦合的快速不稳定系统,通常用来检验控制策略的效果,是控制理论研究中较为理想的实验手段,因此,对其研究有重要的理论和实践意义。
本实验课程的研究为一级、二级、三级倒立摆。
实验目的为采用新型的智能算法包括神经网络和模糊算法实现对一到三级倒立摆的控制,并能实现较好的控制效果。
以一到三级的倒立摆为研究对象,首先要建立倒立摆的控制模型,此实验中控制模型已经建立好并封装到了一个S函数中。
一、一级倒立摆神经网络控制1.实验要求利用lqr或者acker极点配置法实现此非线性化模型的线性化并求出增益矩阵,利用线性控制器训练神经网络控制器,最终实现BP神经网络控制对一级倒立摆的控制效果良好。
2.一级倒立摆LQR控制器的设计为了设计线性控制器,首先要对原先的非线性系统进行线性化处理。
LQR获取的增益矩阵。
经过一系列计算,获得系统的状态方程:其中:根据以上系统矩阵A和输入矩阵B,设计加权矩阵Q,考虑到此一级倒立摆系统中,倒立摆的角度最重要,小车的位移次之,因此倒立摆角度的加权系数最大Q3=125,小车的加权系数次之Q1=25,而小车的速度和倒立摆的角速度都不重要。
因此将它们的加权系数定为零。
最后求出了增益矩阵K。
程序如下所示:A = [0,1,0,0;0,-4.977,-7.18,0;0,0,0,1;0,3.732,7.89,0];B = [0;0.976;0;-0.732];Q = [25,0,0,0;0,0,0,0;0,0,125,0;0,0,0,0];R = 1;K = lqr(A,B,Q,R)增益矩阵K为:K =[-5.0000 -18.0364 -58.0868 -30.9170]将增益矩阵代入到如下框图1中,将样本分别导出为“Samplein”和“Sampleout”。
控制效果如图2所示,从系统仿真的效果图可以看出小车在线性控制器控制下,速度最后为0,停在距中点0 的位置,角度和角速度都为0,摆干稳定竖直,系统控制效果良好,超调量非常小。
因此我们可以利用这个样本对神经网络进行训练。
图1 一级倒立摆LQR控制器系统框图图2 一级倒立摆LQR控制效果图3.一级倒立摆神经网络控制器的设计将LQR控制器导出的样本“Samplein”和“Sampleout”对神经网络控制器进行训练。
本实验中,按照实验要求设计了一个三层的BP 神经网络。
每层接点数分别为4,8,1。
输入样本的范围定为[-0.2 0.3;-2 -3;-0.57 0.57;-3.14 3.14],编程实现神经网络控制器并对它进行训练,程序如下所示:net=newff([-0.2 0.3;-2 3;-0.57 0.57;-3.14 3.14],[4 8 1],{'tansig' 'tansig' 'purelin'});net.trainparam.epochs=2000;net.trainparam.goal=0.000001;net=train(net,Samplein',Sampleout');gensim(net,-1);训练次数的上限为2000次,训练目标是偏差为0.000001。
从下图3中可以看出该此神经网络训练速度非常快,经过18次训练达到了目标。
图4为训练所得的三层BP神经网络控制器,将此控制器代替图1中的线性控制器,所得系统框图如图5所示。
对系统进行仿真,仿真效果如图6所示,从图中我们可以看出控制效果非常好。
图3 一级倒立摆神经网络训练图4 神经网络控制器图5 一级倒立摆神经网络控制系统框图图6 一级倒立摆神经网络控制仿真效果图二、二级倒立摆神经网络控制1.实验要求利用lqr或者acker极点配置法实现此非线性化模型的线性化并求出增益矩阵,利用线性控制器训练神经网络控制器,最终实现BP神经网络控制对二级倒立摆的控制效果良好。
2.二级倒立摆LQR控制器的设计同一阶倒立摆的线性控制器设计思路一样,为了得到合适的线性控制器,我首先要对系统进行合适的线性化,这里采用matlab 的一个线性化函数linmod.将dot2 框架的输入输出导入到工作空间,系统框架如图7,其仿真模型存为linmod2.mdl,然后运行[A,B,C,D]=linmod(‘linmod2’,0,0);得到线性化之后的A,B,C,D 阵如下所示:A = [0 0 0 1.0000 0 0;0 0 0 0 1.0000 0;0 0 0 0 0 1.0000;0 -2.6865 1.0204 -16.8458 0.0168 -0.0128;0 31.8459 -29.3235 42.9296 -0.2776 0.2912;0 -40.9835 97.4089 -55.2473 0.6280 -0.8572];B = [0;0;0;8.7213;-22.2253;28.6023];C = [1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0;0 0 0 1 0 0;0 0 0 0 1 0;0 0 0 0 0 1];D = [0;0;0;0;0;0];图7 二级倒立摆线性化系统框图然后对这个系统设计线性控制器,方法依然是lqr 函数。
设计加权矩阵Q,考虑到此二级倒立摆系统中,上面的倒立摆的角度最重要,下面的倒立摆次之,小车的位移再次之,因此上面的倒立摆角度的加权系数最大Q3=1000,下面倒立摆的加权系数次之Q2=100,小车的加权系数Q1=10,而小车的速度和倒立摆的角速度都不重要,可大可小,因此Q4=100,Q5=1,Q6=1。
最后依次求出了增益矩阵K。
程序如下所示:A = [0 0 0 1.0000 0 0;0 0 0 0 1.0000 0;0 0 0 0 0 1.0000;0 -2.6865 1.0204 -16.8458 0.0168 -0.0128;0 31.8459 -29.3235 42.9296 -0.2776 0.2912;0 -40.9835 97.4089 -55.2473 0.6280 -0.8572];B = [0;0;0;8.7213;-22.2253;28.6023];C = [1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0;0 0 0 1 0 0;0 0 0 0 1 0;0 0 0 0 0 1];D = [0;0;0;0;0;0];Q = diag([10 100 1000 100 1 1]);R = 1;K = lqr(A,B,Q,R)从而可以求出KK =[3.1623 84.7740 191.2933 10.6894 32.4649 25.7141]; 将增益矩阵代入到如下框图8中,将样本分别导出为“Samplein2”和“Sampleout2”。
控制效果如图9—图14所示,从系统仿真的效果图可以看出小车在线性控制器控制下,速度最后为0,停在距中点0 的位置,角度和角速度都为0,摆干稳定竖直,系统控制效果良好,超调量非常小。
因此我们可以利用这个样本对神经网络进行训练。