单级倒立摆的智能控制及其GUI动画演示(8)

2019-05-17 15:55

单级倒立摆的智能控制及GUI动画演示

参考文献

[1] 张静.MATLAB在控制系统中的应用[M].北京:电子工业出版社,2007 [2] 于子松,那文鹏.单级倒立摆建模及其控制方法设计[J].电脑知识与技术2008 [3] 李显宏.MATLAB7.x界面设计与编译技巧[M].北京:电子工业出版社,

2006.12

[4] 董成辉,彭雪峰等.MATLAB2008全程指南[M].北京:电子工业出版社,2009.3 [5] 刘金琨.先进PID控制MATLAB仿真[M].北京:电子工业出版社,2011.3 [6] 易杰.基于状态反馈控制的倒立摆系统分析和控制[J].国外电子元器2008, 8:9~10

[7] 邹伯敏.自动控制理论[M].北京:机械工业出版社,1999.1

[8] 高建树等.最优控制理论在电机控制中的应用[D].2006中国控制与决策学 术年会,2006年

[9] 刘海龙.倒立摆实验系统的设计与研究[D].大连理工大学,2006

[10] 郑丽丹.类人足球机器人动作规划与自适应轨迹跟踪算法研究[D].中国海

洋大学,2009

[11] 杨平等.直线型一级倒立摆状态反馈控制设计及实现[J].《上海电力学院

学报》.2007

[12]卫海滨.C3植物光合作用代谢网络动态的系统生物学分析[D].复旦大学,

2009

[13] 沈鹏.倒立摆系统的控制与研究沈阳科技大学[D].辽宁科技大学,2007 [14] G.J.Silva,A.Datta,S.P.Bhattacharyya. PID controllers for time-delay systems.

2005,Boston, Birkhauser

[15] Astrom K J. Hagglund T. Automatic Tuning of PID Controllers. Research

Triangle Park, North Carolina: Instrument society of America, 1988.

on the

[16] T.H.Kim, I.Maruta, T.Sugie. Robust PID controller tuning based

constrained particle swarm optomization. Automatica, 2008,44(4):1104-1110.

[17] K.S.Tang, K.F.Man,G.Chen, S,Kwong. An Optimal Fuzzy PID Controller. IEEE

Transactions on Industrial Electronics, 2001, 48(4): 757-765

31

单级倒立摆的智能控制及GUI动画演示

[18] 孟巧荣,廉自生.倒立摆控制系统的建模与仿真[J].机械工程与自动化.2004,2 [19] A.O.Dwyer,

Handbook of PI and PID controller truning rules. 2006, 2nd

Edition, Imperial College Press.

32

单级倒立摆的智能控制及GUI动画演示

附录

function varargout = dlb(varargin) % GUI主程序 gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @dlb_OpeningFcn, ... 'gui_OutputFcn', @dlb_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin & isstr(varargin{1})

gui_State.gui_Callback = str2func(varargin{1}); end if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

gui_mainfcn(gui_State, varargin{:}); end

%-----------------------打开界面------------------------%

function dlb_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; guidata(hObject, handles); global h1 h2 h3; axes(handles.sys1); axis equal;

axis([0 5 -20 20 0 20]); grid on; view(80,30); reall=15; ll=4+reall;

33

单级倒立摆的智能控制及GUI动画演示

v=[0 0 0;0 5 0;3 5 0;3 0 0;0 0 3;0 5 3;3 5 3;3 0 3]; f=[1 2 3 4;2 6 7 3;4 3 7 8;1 5 8 4;1 2 6 5;5 6 7 8]; g_v=[1 2 3;1 3 3;2 3 3;2 2 3;1 2 ll;1 3 ll;2 3 ll;2 2 ll]; g_f=[1 2 3 4;2 6 7 3;4 3 7 8;1 5 8 4;1 2 6 5;5 6 7 8]; h1=patch('Faces',f,'Vertices',v,'FaceColor','b'); h2=patch('Faces',g_f,'Vertices',g_v,'FaceColor','r'); hold on;

[ballx,bally,ballz]=sphere(8); ballo=[1.5 2.5 ll];

h3=surf(ballx*1.1+ballo(1),bally*1.1+ballo(2),ballz*1.1+ballo(3)); colormap(autumn); axes(handles.sys3);

sys3data=imread('model.jpg'); %打开倒立摆示意图 image(sys3data);

set(gca,'Xtick',[],'Ytick',[],'box','on');

function varargout = dlb_OutputFcn(hObject, eventdata, handles) %输出函数 varargout{1} = handles.output;

function normal(hObject, eventdata, handles) %公共调用函数 if ispc

set(hObject,'BackgroundColor','white'); else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end

%----------------------------倒立摆模型参数创建---------------------------% function mc_CreateFcn(hObject, eventdata, handles) %M,小车质量 normal(hObject, eventdata, handles);

function mc_Callback(hObject, eventdata, handles)

function l_CreateFcn(hObject, eventdata, handles) %L,摆杆长度 normal(hObject, eventdata, handles);

34

单级倒立摆的智能控制及GUI动画演示

function l_Callback(hObject, eventdata, handles)

function mq_CreateFcn(hObject, eventdata, handles) %m,摆杆质量 normal(hObject, eventdata, handles);

function mq_Callback(hObject, eventdata, handles) %-------------------------LQR参数创建-------------------------% function q1_CreateFcn(hObject, eventdata, handles) %q1 normal(hObject, eventdata, handles);

function q1_Callback(hObject, eventdata, handles) function q2_CreateFcn(hObject, eventdata, handles) %q2 normal(hObject, eventdata, handles);

function q2_Callback(hObject, eventdata, handles) function q3_CreateFcn(hObject, eventdata, handles) %q3 normal(hObject, eventdata, handles);

function q3_Callback(hObject, eventdata, handles) function q4_CreateFcn(hObject, eventdata, handles) %q4 normal(hObject, eventdata, handles);

function q4_Callback(hObject, eventdata, handles) function r_CreateFcn(hObject, eventdata, handles) %R normal(hObject, eventdata, handles);

function r_Callback(hObject, eventdata, handles) %-----------------采用LQR,计算增益K------------------% function lqrok_Callback(hObject, eventdata, handles) global A B C D K;

M_str=get(handles.mc,'string');

M=str2double(M_str); %获取小车质量M m_str=get(handles.mq,'string');

m=str2double(m_str); %获取摆杆质量m L_str=get(handles.l,'string');

L=str2double(L_str); %获取摆杆长度L

35


单级倒立摆的智能控制及其GUI动画演示(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:土木工程材料试卷答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: