动态系统建模仿真第6章.ppt

  当模型中的采样时间向后传递时,模型源模块的采样时间实际上就依赖于与其连接的模块的采样时间了,如果改变了模块的这种连通性,也就无意中改变了源模块的采样时间。正因为如此,如果模型中包含了Sources库中的模块,而且它的采样时间设置为-1,即继承了与其连接模块的采样时间,那么当选择Edit菜单下的Update diagram命令更新模型,或者按下“开始仿真”按钮 仿真模型时,缺省时Simulink都会在MATLAB的命令行中显示警告消息,如图6-49所示。 图6-49  6.8 综 合 实 例   本实例描述的是刚体空间姿态的惯性测量算法,并介绍建立这些算法的Simulink仿真模型。   在实际工作中,通常采用诸如磁罗盘、陀螺仪等器件测量刚体的惯性。利用这些器件测量刚体绕其自身三个惯性轴旋转的角速度,并通过姿态变换矩阵将其转换到惯性空间坐标系下,得到刚体在惯性空间坐标系下的角速度,然后对其进行积分运算,从而得到刚体在惯性空间坐标系中的三个空间姿态角。该算法实现的原理框图如图6-50所示。 图6-50 6.8.1 坐标系及其转换   要实现上述过程,首先需要建立两个直角笛卡尔坐标系。   1.刚体坐标系(O-x1y1z1)   为了研究问题方便,不妨假设刚体为某一对称形状物体,例如飞机等。原点取在刚体的质心O,Ox1与刚体纵轴重合,指向飞机头部为正;Oy1位于飞机基准纵向对称面内,与Ox1垂直,向上为正;Oz1由右手坐标系准则确定。   2.惯性空间坐标系(O-xyz)   为了研究问题方便,不妨假设空间原点与刚体的质心重合,Ox轴可以为用户自己关心的某一方向如水平面内的某一指向,Oy轴与Ox轴垂直且可由用户设置,Oz轴则由右手坐标系准则确定。   3.数学算法   由于惯性测量器件得到的是刚体绕三个惯性轴的角速度矢量,为了得到其在惯性空间坐标系下的角速度矢量,需要通过相应的坐标变换将角速度投影到惯性空间坐标系中。从刚体坐标系O-x1y1z1到惯性空间坐标系O-xyz的转换可表示为 其中:   分别为刚体的滚动角、偏航角和俯仰角;   [wx,wy,wz]为刚体角速度在惯性空间坐标系下的矢量,这三个分量是由惯性测量组件测量到的与时间有关的三个数字序列;   [wx1,wy1,wz1]为刚体角速度在刚体坐标系下的矢量,是由上面的转换公式得到的与时间有关的三个数字序列。 6.8.2 转换矩阵算法的Simulink实现   转换矩阵的输入为刚体的空间姿态角(),Simulink中矩阵的实现是首先把矩阵的节点按照列优先的顺序组合成一个一维向量,然后利用Math Operations模块库中的Reshape整形模块将向量转换为相应的矩阵。其Simulink模型实现如图6-51所示。 图6-51   其中,   模块是由User-Defined Functions模块库中的Fcn模块实现的,模块的参数设置如图6-52所示。 图6-52 图6-53   Reshape模块在Simulink中的Math Operations模块库中,该模块的参数对话框如图6-53所示。本例中设置Output dimensionality参数为Customize,设置Output dimensions参数为[3,3]。Reshape模块可以用来改变向量输入信号或矩阵输入信号的维数。Output dimensionality参数可以设置为下列选项:   1-D array—若选择该选项,则把多维数组输入信号转换为向量信号,即一维数组,输出向量是列向量,排列顺序是先排列输入数组中的第一列向量,然后是输入数组中的第二列向量,依此类推,如图6-54所示。 图6-54   Column vector(2-D)—若选择该选项,则把向量、矩阵和多维输入信号转换为列矩阵,也就是M×1矩阵,M是输入信号中元素的个数,如图6-55所示。 图6-55   Row vector(2-D)—若选择该选项,则把向量、矩阵和多维输入信号转换为行矩阵,也就是1?×?N矩阵,N是输入信号中元素的个数,如图6-56所示。 图6-56   Customize—若选择该选项,则Output dimensions参数变为可用,该选项可以把输入信号转换为用户指定维数的输出信号,输出信号的维数由Output dimensions参数值确定,该参数值可以是一维或多维向量。若参数值为[N],则表示输出的是大小为N的向量;若参数值为[M N],则表示输出的是M?×?N矩阵。输入信号中元素的个数必须与Output dimensions参数中指定的元素个数相同。图6-57中设置Output dimensions参数为[2 2]。 图6-57   为了便于阅读模型,在模块

文档评论(0)

1亿VIP精品文档

相关文档