精华内容
下载资源
问答
  • 2021-05-19 20:01:33

    41528d3028836879cd698677c3999917.gif基于双闭环pid控制的一阶倒立摆控制系统设计

    1 本科生课程设计 题 目: 基于双闭环PID控制的一阶倒立摆控制系统设 计 姓 名: 学 号: 系 别: 电气工程系 专 业: 电气工程与自动化 年 级: 07级 指导教师: 2010 年 4 月 28 日2 目 录 1、系统模型的建立………………………………………………… 3. 2、模型验证……………………………………………….………. 4. 3、设计的内外环的 PID 控制器……………………………………… 10. 4、SIMULIN 仿真…………………………………………………. 13. 5、检测系统的鲁棒性……………………………………………… 16. 6、遇到问题………………………………………………………… 19. 7、心得体会…………………………………………………………20. 8、结论………………………………….…………………………21. 9、参考文献…………………………………………………………22.3 1.系统模型的建立 如图 01所示的“一阶倒立摆控制系统”中,设计一个能通过检测小车的位 置与摆杆的摆动角,来适当控制电动机驱动力的大小的控制系统。 图01 1)对模型的理论分析建立一阶倒立摆的精确模型(实际模型)如下所示: 2).点进行线性化后得到(近似模型):若只考虑摆角在工作点等零附近的细微变化,这是可以将模型线性化,得到近似 模型,将 J=m(l^2)/3,M=1kg 代入即可得到要求的关于参数 m、l 的模型,让后再 进行线性化表达式在模型验证中。4 二.模型验证 1)子系统的建立 实际模型图 1 Fcn:(((4*m*(l^2))/3)*u[1]+l*m*((4*m*(l^2))/3)*sin(u[3])*(u[2]^2)- 10*(m^2)*(l^2)*sin(u[3])*cos(u[3]))/(((4*m*(l^2))/3)*(1+m)-(m^2)*(l^2)*power(cos(u[3]),2)) Fcn1:(m*l*cos(u[3])*u[1]+(m^2)*(l^2)*sin(u[3])*cos(u[3])*(u[2]^2)- 10*(1+m)*m*l*sin(u[3]))/((m^2)*(l^2)*power(cos(u[3]),2)-(1+m)*(4*m*(l^2))/3) 线性模型图 2 Fcn2:(30*(1+m*u[2]-3*u[1])/(l*(4+m) Fcn3:(5*u[1]-30*m*u[2])/(4+m) 做完以上之后点击鼠标左键不放对图形进行选定,接着右击 creat subsystem 如 下图所示:5图 3 2)模型的封装: 倒立摆的振子质量m和倒摆长度L作为子系统的参数: 图 4 双击函数模块:图 56欲改变其中的任一个参数只要点击其中二者之一的函数方块就行,在其中的 m,l 改就行了。有两种实现的方法:一种是利用示波器观察如下图所示,另一种是采用绘图 程序实现。 1)示波器实现如图 6:图 6 示波器显示结果如图7所示7 图 7 2)用程序实现: %Inerted pendulum %Model test in open loop %Signals recuperation %将导入到xy.mat中的仿真试验数据读出 load xy.mat t=signals(1,: ); %读取时间信号 f=signals(2,: ); %读取作用力F信号 x=signals(3,: ); %读取精确模型中的小车位置信号 q=signals(4,: ); %读取精确模型中的倒摆摆角信号 xx=signals(5,: ); %读取简化模型中的小车位置信号 qq=signals(6,: ); %读取简化模型中的倒立摆摆角信 号 %Drawing control and x(t) response signals %画出在控制力的作用下的系统响应曲线 %定义曲线的纵坐标、标题、坐标范围和曲线的颜色等特征 figure(1) %定义第一个图形 hf=line(t,f (:)); %连接时间-作用力曲线 grid on; xlabel( Time (s) ) %定义横坐标 ylabel( Force (N) ) %定义纵坐标 axis([0 1 0 0.12]) %定义坐标范围8 axet=axes( Position ,get (gca, Position ),. XAxisLocation , bottom ,. YAxisLocation , right , Color , None ,. XColor , k , YClor , k ); %定义曲线属性 ht=line(t,x, color , r , parent ,axet); %连接时间-小车位置曲线 ht=line(t,xx, color , r , parent ,axet); %连接时间-小车速度曲线 ylabel( Evolution of the x position (m) ) %定义坐标名称 axis([0 1 0 0.1]) %定义坐标范围 title( Response x and x in meter to a f (t)pulse of 0.1 N )%定义 曲线标题名称 gtext ( \leftarrow f (t) ),gext( x (t) \rightarrow ),gtext ( \leftarrow x (t) ) %drawing control and theta (t)response singals figure (2) hf=line (t, f (:)); grid on xlabel( Time ) ylabel( Force i

    更多相关内容
  • 基于STM32的倒立摆控制系统设计.pdf
  • PID控制算法
  • 基于MATLAB的一级倒立摆控制系统设计,通过最优控制决策,实现对一级倒立摆状态空间法数学模型的稳定性分析
  • 直线一级倒立摆控制系统设计(PID控制器设计+状态空间极点配置)
  • 基于神经网络的倒立摆控制系统设计.zip
  • 基于PID的倒立摆控制系统设计.doc
  • 倒立摆控制系统设计报告.doc
  • 专题资料
  • 精品教育教学资料
  • 基于神经网络的倒立摆控制系统设计

    千次阅读 多人点赞 2020-05-25 13:31:45
    基于神经网络的倒立摆控制系统设计 问题:一级倒立摆装置如图所示。装在小车上的倒立摆在水平力的作用下,通过控制小车的运动速度使偏转角θ为0,即可使倒立摆直立起来。 一、参数分析 全部的主要参数就是以上七个...

    基于神经网络的倒立摆控制系统设计

    问题:一级倒立摆装置如图所示。装在小车上的倒立摆在水平力的作用下,通过控制小车的运动速度使偏转角θ为0,即可使倒立摆直立起来。

    在这里插入图片描述
    一、参数分析
    在这里插入图片描述全部的主要参数就是以上七个,其中需要用到的是小车质量M、摆杆质量m、摆杆转动轴心到杆质心的长度l以及摆杆惯量!
    二、受力分析(不多赘述,百度一大堆,直接进入数据采集模块)

    三、数据采集
    这里首先我们打开matlab的help参考页面的搜索Inverted pendulum找到以下这个matlab自带的modol。(这个modol其实就是基于LQR控制的一个倒立摆小车模型)
    在这里插入图片描述打开modol会看到以下界面:
    在这里插入图片描述这里我们就可以看到右下角的LQR控制器;同时红圈部分分别是正弦,方波,阶跃信号;我们接下来会使用LQR控制器来采集数据,这些数据将用来训练网络。

    在这里插入图片描述同时点击pendulum模块可以看到四个参数;分别就是小车质量M,摆杆质量m,以及质心距和重力加速度!ok,其他的参数(摩擦系数、位置)都是此模型默认的,具体的数值,我并不清楚!
    在这里插入图片描述
    这里我们将正弦信号作为输入信号,点击运行,会看到倒立摆小车模型会在左右移动,此时点击Scope1示波器可以看到:
    在这里插入图片描述回到matlab的workspace
    双击打开simout变量;这里就是我们模型的输出结果;
    在这里插入图片描述
    ok接下来把他保存起来,使用mat格式!
    重复以上方法,更换其他的响应曲线用来采集数据数据;当然其中也可以接在默认的输入端,直接进行手动控制小车移动,同时采集数据;
    四、神经网络模型
    ok,现在数据我们有了;(我自己分别使用了正弦、方波、手动信号输入)
    在这里插入图片描述
    接下来看一下这五列数据;前四列就是我们的输入数据,最后一列就是我们的输出结果;这也就是说,我们将需要一个四输入,一输出的神经网络来训练;(数据的具体含义,由于我对次系统模型分析并不全面,重点放在神经网络这部分,所以没有具体研究,暂且不做解释)
    开始吧。搭建网络,都是最简单的基本函数操作,看一下应该都明白!比较基础,不多赘述,直接上代码!

    clc;
    clear all;
    %数据划分
    xy1=simoutimpulse.DATA
    xy2=simoutsin.DATA
    xy3=simoutrandom.DATA
    xy=[xy1;xy2;xy3]
    Y=xy(:,5)
    X=xy(:,1:4)
    Y=Y(1:7000)';
    X=X(1:7000,:)' ; %神经网络的数据格式要求每列是一个样本,所以p和t在训练前要转置一下,即p=p';t=t'
    %神经网络创建
    net=newff(minmax(X),[10,1],{'tansig' 'purelin','trainlm'});
    % 传递函数TF
    % purelin: 线性传递函数。
    % tansig :正切S型传递函数。
    net.trainParam.epochs = 3000;
    [net,tr]=train(net,X,Y);
    trainout=sim(net,X)%经BP得到的结果
    
    %%附上训练数据响应以及测试数据BP的结果对比分析
    %原始数据训练拟合结果
    % figure;
    % t=1:1:length(Y)
    % plot(t,Y,'r',t,trainout,'*g'); 
    % legend('原函数','训练拟合值');title('训练数据响应')
    % testX=testXY(:,1:4)';
    % testY=testXY(:,5)';
    % 测试数据
    % test_trainout=sim(net,testX);%经BP得到的结果
    % figure;
    % i=0:0.02:40
    % plot(i,testY,'r',i,test_trainout,'g');  title('test data结果')
    %误差
    % error=test_trainout-testY
    % figure;
    % i=0:0.02:40
    % plot(i,error,'r'); axis([0 40 -0.2 0.2]); title('error')
    

    ok,下一步我们就要将我们训练好的网络模型用来控制我们的倒立摆小车了!好首先再看一下simulink的模型(前面的modol图),我们需要做的就是将LQR控制器替换成我们的神经网络控制器,那么我们需要生成一个神经网络控制器;ok,我们使用这个函数:

    clc;clear;close all 
    load('NET.mat')
    gensim(net,-1)   %生成simulink的控制元件
    
    

    在这里插入图片描述
    因为我们的网络模型已经训练好了,所以现在直接生成控制器就可以了!这里有matlab默认的控制器仿真,但我不懂这个。

    在这里插入图片描述生成的控制器直接用鼠标拖进去到之前的modol然后把LQR替换掉就可以了,具体链接如图所示!

    一切准备就绪,可以开始跑了,同样使用正弦、方波、手动、以及阶跃响,通过波形图来观察我们的网络控制器具体情况!!!

    ok,基本上就这样,最好把波形图的最开始的那一段时间绘制出来观察一下,看看到达稳定状态所需要的时间以及超调情况!!

    展开全文
  • 基于c8051单片机的圆轨倒立摆控制系统设计.pdf
  • 基于STM32的倒立摆控制系统设计
  • 基于双闭环PID控制的一阶倒立摆控制系统设计.pdf
  • 单级倒立摆控制系统设计及MATLAB中的仿真设计.doc
  • 单级倒立摆控制系统设计及MATLAB中仿真.doc
  • 单级倒立摆控制系统设计与MATLAB中的仿真设计.doc
  • 基于双闭环PID控制的一阶倒立摆控制系统设计汇编.doc
  • 基于双闭环PID控制的一阶倒立摆控制系统设计说明.doc
  • 单轴倒立摆控制系统设计及Matlab仿真毕业论文.doc
  • 参考资料-基于c8051单片机的圆轨倒立摆控制系统设计.zip
  • 给出了一种倒立摆系统动力学模型,分别采用基于状态反馈和变结构控制的方法对其设计控制方法;基于数字仿真对这两种方法进行了比较,结果表明变结构控制的方法具有较强的鲁棒性和有更好的控制效果。
  • 专题资料
  • 为了对一级倒立摆这个非线形、强耦合、多变量和自然不稳定系统的平衡性进行有效地控制,首先利用lagrange方程对系统进行了数学建模,设计了LQR控制器对其进行稳定性控制,并利用遗传算法优化加权矩阵,得出了比较理想的...
  • 二级倒立摆神经网络控制器设计,鲍智达,汤玉东,二级倒立摆系统是多变量、非线性的控制系统。论文在简介倒立摆系统和神经网络的基础上,利用matlab软件,设计了二级倒立摆的BP神经�
  • 直线二级倒立摆的极点配置控制器的设计,何国瑞,,对于直线二级倒立摆系统,根据其状态空间方程,我们可以设计极点配置控制器,使得直线二级倒立摆系统矩阵的特征值,即系统的极
  • 专题资料
  • 由于倒立摆是许多工程控制问题的抽象模型,其控制方法可以在实际控制系统中推广,如直立行走机器人的平衡控制、导弹拦截控制等等,因此,倒立摆控制方法的研究具有重要的实际应用意义。本论文对二级直线倒立摆系统...
  • 该应用程序是基于Web的控制系统教程的一部分,可从以下网站获得: http : //ctms.engin.umich.edu 此应用程序的目的是允许用户查看带有阶跃响应图的倒立摆系统的动画。 这允许用户查看绘图与系统物理响应之间的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,239
精华内容 495
关键字:

倒立摆控制系统设计