如题,我正在尝试用matlab/simulink做飞机的姿态和位置控制,想做六自由度12状态的全部控制。参考了一篇论文搭建了一个仿真模型,但是运行的时候一直报错,如下:
运行仿真时出错,仿真终止
原因:
在时间 6.1717269691070378 处,模块 'MA_FINDI/Complete Dynamics Model/Integrator' 中状态 '1' 的导数不是有限值。仿真将停止。解中可能存在一个奇异点。如果没有,请尝试减小步长(通过减小固定步长或通过收紧误差容限)
尝试过网上说的各种解决方案:减小仿真步长、改变误差容限、将连续积分器换成离散积分器、加延时、加memory模块、分母加eps或者积分器初始值设为eps等等方法都尝试过,都没解决这个问题。
我示波器观察到的状态曲线也是会在报错那个时刻点突然突变到无穷大,存在奇异点,如下图。
求问各位大神,知道怎么解决吗?我反复检查了很多次我的飞机气动模型和状态模型,反正我是完全按照硕士论文里的气动系数的数据来建模的,也不知道是不是论文里的数据就有问题,导致我飞机的模型本身就错了。那么怎么检查是否是飞机模型本身存在错误,还是因为控制方法或控制参数设置不合理,才导致的这个错误呢?