1评分:_________SHANGHAIUNIVERSITY课程论文COURSEPAPER单级倒立摆学院机自学院专业电气工程及其自动化学号12121696学生姓名王龙康课程现代控制理论打印日期2目录一、倒立摆的概述··················3二、单级倒立摆····················4三、倒立摆状态空间描述················5四、使用MATLAB··················8(1)状态反馈系统的极点配置···········8(2)状态观测器实现状态反馈极点配置·······103一、倒立摆的概述:倒立摆控制系统:InvertedPendulumSystem(IPS)倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。对倒立摆系统的研究能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。通过对倒立摆的控制,用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。同时,其控制方法在军工、航天、机器人和一般工业过程领域中都有着广泛的用途,如机器人行走过程中的平衡控制、火箭发射中的垂直度控制和卫星飞行中的姿态控制等。倒立摆系统按摆杆数量的不同,可分为一级,二级,三级倒立摆等,多级摆的摆杆之间属于自由连接(即无电动机或其他驱动设备)。现在由中国的大连理工大学李洪兴教授领导的“模糊系统与模糊信息研究中心”暨复杂系统智能控制实验室采用变论域自适应模糊控制成功地实现了四级倒立摆。因此,中国是世界上第一个成功完成四级倒立摆实验的国家。倒立摆的控制问题就是使摆杆尽快地达到一个平衡位置,并且使之没有大的振荡和过大的角度和速度。当摆杆到达期望的位置后,系统能克服随机扰动而保持稳定的位置。4二、单级倒立摆:单级倒立摆如图1所示:长度为l、质量为m的单级倒立摆,用铰链安装在质量为M的小车上。小车受执行电机操纵,在水平方向上施加控制量u,则产生位移z。为简化问题,忽略摆杆质量、执行电机惯性以及摆轴、轮轴、轮与接触面之间的摩擦力和风力。控制的目的是当单级倒立摆出现偏角以后能通过小车的水平运动使单级倒立摆保持在垂直位置。要求建立该系统的数学模型,用状态反馈配置系统极点,利用全维状态观测器实现状态反馈。mluM图15三、倒立摆状态空间描述:设小车相对位移参考坐标系的瞬时位置为x,那么小球摆心瞬时位置为)sin(lx。在水平方向,由牛顿第二定律可得ulxdtdmdtxdM)sin(2222在垂直方向,由惯性力矩与重力矩平衡可得sincos)]sin([22mglllxdtdm上述两式可化为umlmlxmMsincos)(2sincossincoscos22gllx这两个方程都是非线性方程,为求得解析解,进行线性化处理。当倒立摆在平衡位置附近时,很小,sin,1cos,忽略2项,可得glxumlxmM)(联立求解,得uMMmgx1uMlMlgmM1)(选取小车位移及其速度、摆角偏离平衡态角度和角速度四个变量为状态变量,即43121,,,xxxxxx,可得状态方程和输6出方程133443312211)(1xxyuMlxMlgmMxxxxuMxMmgxxxx写成矩阵形式为uMlMxxxxMlgmMMmgxxxx10100)(00100000000104321432143210001xxxxy设281.9,1,1.0,5smgmlkgmkgM,则单级倒立摆系统的状态方程为uxxxxxxxx2.002.0000113.1000100001962.000001043214321743210001xxxxy8四、使用MATLAB(1)状态反馈系统的极点配置首先,使用MATLAB,判断系统的能控性矩阵是否为满秩。MATLAB程序截图如下:MATLAB程序执行结果如下:系统能控,系统的极点为1641.3,1641.3,0,04321可以通过状态反馈来任意配置极点,将极点配置在95.7,7,5.6,64321MATLAB程序截图如下:MATLAB程序执行结果截图如下:因此,求出状态反馈矩阵为4.7578.24564.6220.1043K采用MATLAB/Simulink构造单级倒立摆状态反馈控制系统的仿真模型,截图如下:首先,在MATLAB的CommandWindow中输入各个矩阵的值,并且在模型中设置非零初值。运行仿真程序,仿真曲线截图如下:10(2)状态观测器实现状态反馈极点配置使用MATLAB判断系统的能观性。MATLAB程序截图如下:MATLAB程序执行结果截图如下:结果表明系统能观,可以设计状态观测器。取状态观测器的特征值为23,22,21,204321MATLAB程序截图如下:11MATLAB程序执行结果截图如下:状态观测器矩阵为TH1225100206500280100采用MATLAB/Simulink构造具有状态观测器的单级倒立摆状态反馈系统的仿真模型,截图如下:在MATLAB的CommandWindow中输入各个矩阵的值,并且在12模型中的积分器中设置非零初值,运行仿真程序,仿真曲线截图如下: