- UID
- 5111
- 注册时间
- 2014-4-24
- 在线时间
- 小时
- 最后登录
- 1970-1-1
- 精华
- 阅读权限
- 30
- 听众
- 收听
|
发表于 2022-10-22 08:56:27
|
显示全部楼层
飞行器动力学仿真 核心其实是ode。要先理解几种积分算法 包括变步长和固定步长。起码欧拉积分和龙格库塔积分要理解。这方面可以参考gsl的库或者boost的math库当然实现是看库,原理就找本数值分析的书看看就好。
下一步就需要了解坐标系了,这个就有点麻烦。主要原因是,存在两种坐标系统。一种是美式一种是苏系;同时,飞行器的坐标角度定义对于初学者来说有点多。个人建议学明白一种同时角度定义和转换要一定搞明白。我喜欢苏系。题主可以看看。当然苏系主要面对的是航天系统,不过和航空其实是一样的。在这中间最重要的是欧拉角自己角速度的转换以及相关角度的名称,特别提醒一定要明白角速度在不同坐标系下的区别不然后期你的控制系统会变成渣子。可以看看赵汉元的再入飞行器动力学制导。这本书对坐标的定义比较系统说的也比较明白,其中公式最好自己推导。
再下一步就是动力学模型了。包括三自由度的动力学和六自由度的姿态动力学。其中三自由度主要应对制导系统验证和飞行轨迹设计优化。六自由度主要面对控制系统的设计和验证。当然如果是飞机的话,制导意义可能不是那么大。不过,把三自由度和六自由度模型分开,可以帮助理解。同时上来就把制导和控制耦合在一起进行调试是比较坑的。其实也就是说,最基础的飞行动力学至少需要,飞行器动力学模型,包括飞行器自己的动力学,三自由度的,大气模型飞行器气动模型。之后再完善需要制导模型,再完善需要控制系统模型包括六自由度模型和控制系统模型。再完善需要gps 水平仪 陀螺仪 以及一些其他相关的观测器传感器模型,用于验证控制系统的可靠性和鲁棒性。再完善就需要你自己根据需求自己定义了。
以上说的是针对飞行动力学仿真,但是并没有说,需要把这些东西整合在一起的软件工程问题。这个的话需要题主在实现中自己发现问题根据需求自己定义和解决。matlab是不错的平台,但是如果题主需要进行特殊应用他是比较麻烦的,比如对实时性有一定要求,且需要通信。当然,有mex函数什么都可以解决。不过这是后话。 |
|