怎么做飞行仿真软件?
我刚刚开始接触有关飞行器模拟训练的东西,我想利用Matlab/simulink对飞行器小扰动线化后的数学模型进行建模仿真,可是我现在看网上的程序也看不懂,也不知道该怎么着手学习,怎么用已知的飞机动力学方程对飞机进行建模仿真,求大神指点一二,万分感谢~ 实现在数字地球上加载运动的飞机,来仿真现实世界中的飞机运动。百架飞机飞行仿真
https://www.zhihu.com/video/1484642024049168384
vx: osgearth222 谈下固定翼动力学建模:气动力/力矩模型+配平+小扰动线化+纵横解耦,得到解耦的A、B、C、D矩阵,然后模态分析进行控制律设计。几个难点你需要解决:1、如何得到模型的本体效能与舵效,尤其是动导数(CFD/风洞)2、飞机的本体、几何参数(参考重心、参考焦点、惯量、质量、参考展长、参考弦长)3、配平:需要纵向与横向配平:思路都是调整舵偏角使角加速度为零,调整迎角使力平衡。4、线化得到A、B、C、D矩阵,调整状态元素横纵解耦,模态分析(5种经典模特)得到你的飞机本体特性。重复配平设计,得到整个飞行包线的配平状态。干活…待续 我的代码你可以参考 http://www.github.com/xuhao1/RapidFDM 一个简单的飞行仿真,用来配合做控制的
或者推荐一篇论文 Modeling Full-Envelope Aerodynamics of Small UAVs in Realtime ,详细的讲解了如何写一个航模的飞行仿真,这个论文虽然写的是航模但实际上适用于所有空气不可压缩的飞行器模拟。 飞行器动力学仿真 核心其实是ode。要先理解几种积分算法 包括变步长和固定步长。起码欧拉积分和龙格库塔积分要理解。这方面可以参考gsl的库或者boost的math库当然实现是看库,原理就找本数值分析的书看看就好。
下一步就需要了解坐标系了,这个就有点麻烦。主要原因是,存在两种坐标系统。一种是美式一种是苏系;同时,飞行器的坐标角度定义对于初学者来说有点多。个人建议学明白一种同时角度定义和转换要一定搞明白。我喜欢苏系。题主可以看看。当然苏系主要面对的是航天系统,不过和航空其实是一样的。在这中间最重要的是欧拉角自己角速度的转换以及相关角度的名称,特别提醒一定要明白角速度在不同坐标系下的区别不然后期你的控制系统会变成渣子。可以看看赵汉元的再入飞行器动力学制导。这本书对坐标的定义比较系统说的也比较明白,其中公式最好自己推导。
再下一步就是动力学模型了。包括三自由度的动力学和六自由度的姿态动力学。其中三自由度主要应对制导系统验证和飞行轨迹设计优化。六自由度主要面对控制系统的设计和验证。当然如果是飞机的话,制导意义可能不是那么大。不过,把三自由度和六自由度模型分开,可以帮助理解。同时上来就把制导和控制耦合在一起进行调试是比较坑的。其实也就是说,最基础的飞行动力学至少需要,飞行器动力学模型,包括飞行器自己的动力学,三自由度的,大气模型飞行器气动模型。之后再完善需要制导模型,再完善需要控制系统模型包括六自由度模型和控制系统模型。再完善需要gps 水平仪 陀螺仪 以及一些其他相关的观测器传感器模型,用于验证控制系统的可靠性和鲁棒性。再完善就需要你自己根据需求自己定义了。
以上说的是针对飞行动力学仿真,但是并没有说,需要把这些东西整合在一起的软件工程问题。这个的话需要题主在实现中自己发现问题根据需求自己定义和解决。matlab是不错的平台,但是如果题主需要进行特殊应用他是比较麻烦的,比如对实时性有一定要求,且需要通信。当然,有mex函数什么都可以解决。不过这是后话。 既然选定用Matlab/Simulink,可以参考Simulink的书从简单的方程入手设置输入检验输出练手,专业的采用Matlab做飞行仿真或从软件实践方面的书的几乎没有;另外需要深刻理解你的空气动力学方程的解算方法,自己编程一般是自己编数值解算程序,而Simulink有许多专门的模块且有帮助文件自己可以钻研联系,罗马不是一天建成的。 路过看看,学习学习 有志者,事尽成。 最初の 发表于 2022-10-22 08:56
飞行器动力学仿真 核心其实是ode。要先理解几种积分算法 包括变步长和固定步长。起码欧拉积分和龙格库塔积 ...
谢谢,提供信息
页:
[1]