之后,要对31个弹筒逐一进行受力分析。图(2-4)是弹筒1作平面运动的示意图,可分解为随A点的平动和绕A点的转动。
图2-6 在90°周期内弹筒1的平面运动
点B的速度可分解为和,其中是弹筒的平动速度;,是弹筒绕点A的转动速度。
为了求出,必须首先求出。注意到,有:,在中,有:
其中,和是已知的结构参数。由于为直角三角形,可求得:
其中,为已知的结构参数,从中,可求得:
在中,
在中,由正弦定理,可求得:
在等腰三角形中,可求得:
通过上面一系列的几何关系,可以求出、与的关系。利用这个关系,可以进一步求得弹筒质心C的线速度以及该线速度与重力矢量的夹角。
显然,根据图(2-6)可以求出,而,。其中的为已知的结构参数。与重力矢量的夹角:
根据上述公式,可以很容易的求出弹筒1的等效转动惯量,和作用于弹筒1上的重力形成的等效力矩。
(2-11)
式中,为弹筒1的质量,为弹筒1其质心的转动惯量。而
(2-12)
为重力形成的等效力矩。其他弹筒的等效转动惯量和等效力矩的求法与弹筒1相同。
3 自动化弹仓运动微分方程的求解
3.1 常微分方程的求解
3.1.1 常微分方程初值问题及其解法
微分方程常用来描述物理变量随时间变化的规律,在数学、物理以及工程中有广泛的应用。微分方程分为常微分方程和偏微分方程,常微分方程是单变量微分方程,只对一个自变量求导,偏微分方程是对多个自变量求导的方程。常微分方程通常分为初值问题,边值问题和延迟微分方程。微分方程的求解最自然的想法就是通过积分来求解,目前主要可以借助符号计算和数值计算两类方法来求解[14]。
3.1.2 MATLAB简述
MATLAB软件是由美国New Mexico大学的Cleve Moler博士首创,全名为Matrix
Labory(矩阵实验室)。它建立在20世纪七八十年代流星的LINPACK(线性代数计算)和ESPACK(特征值计算)软件包的基础上。MATLAB是伴随着windows环境的发展而迅速发展起来的,它充分利用了Windows环境的交互性、多任务功能和图形功能,创建了以C语言为基础的MATLAB专用语言,使复杂的矩阵运算、数值运算变得简单、直观[15]。
MATLAB语言是集数值计算、符号运算、可视化建模、仿真和图形处理等功能于一体的高级计算机语言。它具有很好的开放性,用户可以根据自己的需求,利用MATLAB提供的基本工具,可以灵活地编制和开发自己的程序,使MATLAB在众多领域里得到广泛的应用。
3.1.3龙格-库塔法简述
龙格-库塔法(Runge-Kutta)是用于模拟常微分方程的解的重要的一类隐式或显式迭代法。这些技术由数学家卡尔·龙格和马丁·威尔海姆·库塔于1900年左右发明。龙格-库塔法是一种在工程上应用广泛的高精度单步算法。由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。该算法是构建在数学支持的基础之上的。龙格库塔方法的理论基础来源于泰勒公式和使用斜率近似表达微分,它在积分区间多预计算出几个点的斜率,然后进行加权平均,用做下一点的依据,从而构造出了精度更高的数值积分计算方法。如果预先求两个点的斜率就是二阶龙格库塔法,如果预先取四个点就是四阶龙格库塔法。