DCS F-16真实飞行验证模型(半成品)+F16飞控手册和NASA气 ...

来源:百度文库 编辑:超级军网 时间:2024/04/28 02:12:01


原作者CptSmiley的目的在于研究如何制作DCS AFM的飞行模型。而不是制作一个F16的DCS模组。
同时原作者打算以此为教学分享如何制作第三方afm的模组,并计划有空整理手册出来。

这个飞行模型是否完全完成,是否考虑了所有的气动,飞控状态,不得而知。
但是看代码量,应该没有(消耗油量的功能没有添加)。经过测试,会有些奇怪的状况发生。
比如,时快时慢的尾旋。当然,这个是个未完成作品。但是作者希望有兴趣的可以去完成。
同时通过这个学习dcs下module以及基于dcs API下的飞行模型的制作。


整个源代码是基于ED提供的模板上制作的。模板提供了所需的函数和接口,
需要做的就是实现这些函数的功能。

例如:
  1. void add_local_moment(const Vec3 & Moment)
  2. {
  3.         common_moment.x += Moment.x;
  4.         common_moment.y += Moment.y;
  5.         common_moment.z += Moment.z;
  6. }

  7. // Not used but left in, it was part of the example
  8. // functions to simulate weight change due to
  9. // fuel consumption
  10. void simulate_fuel_consumption(double dt)
  11. {
  12.         /*
  13.                 fuel_consumption_since_last_time =  10 * throttle * dt; //10 kg persecond
  14.                 if (fuel_consumption_since_last_time > internal_fuel)
  15.                         fuel_consumption_since_last_time = internal_fuel;
  16.                 internal_fuel -= fuel_consumption_since_last_time;
  17.          */
  18. }

  19. // This is where the simulation send the accumulated forces to the DCS Simulation
  20. // after each run frame
  21. void ed_fm_add_local_force(double & x,double &y,double &z,double & pos_x,double & pos_y,double & pos_z)
  22. {
  23.         x = common_force.x;
  24.         y = common_force.y;
  25.         z = common_force.z;
  26.         pos_x = center_of_gravity.x;
  27.         pos_y = center_of_gravity.y;
  28.         pos_z = center_of_gravity.z;
  29. }

  30. // Not used
  31. void ed_fm_add_global_force(double & x,double &y,double &z,double & pos_x,double & pos_y,double & pos_z)
  32. {

  33. }
复制代码


作者制作这个飞行模型和BMS一样使用的NASA的风动数据和F16A/B以及C/D的飞控手册。
youtube上有飞行验证视频,并且ed test team里也有人测试并分享了飞行视频。这里选了一个分享


但是因为作者没有制作座舱,航电以及武器系统,所以并不适合作为模组使用,而且作者也没有精力去完成DCS F16模组。

版本到0.3就已经达到作者一开始的目的:完全在DCS上实现了f16的飞控模型。所以作者已经停止更新
并参与到dcs第三方模组开发中。

原作者用的google盘,所以我重新整理上传到百度盘分享给大家。


模组文件夹下面FlightModel里包含的就是c/c++写的飞控模型源代码(我看了看,是在visual studio下建的项目),
因为作者的一些疏忽,有些地方有单位,转换等错误,作者希望把这些问题留给感兴趣的人去自己修改
FlightModel.zip(114.97 KB, 下载次数: 20)

当然你可以直接把模组文件夹放到dcs/mods/aircrafts下作为模组使用,且建议直接从空中开始。
因为是给老的1.2.1下制作的,所以目前1.2.6下会有些机构动作和显示上的问题。
注意:必须用摇杆才行,用键盘控制不了

*飞机离地200的时候会自动放起落架。起落架显示是一闪一闪的。显示不出来。地面起飞好像做不到
所以建议直接出生在空中


模组下载地址:
http://pan.baidu.com/s/1hqAcbCK


手册列表




原作者CptSmiley的目的在于研究如何制作DCS AFM的飞行模型。而不是制作一个F16的DCS模组。
同时原作者打算以此为教学分享如何制作第三方afm的模组,并计划有空整理手册出来。

这个飞行模型是否完全完成,是否考虑了所有的气动,飞控状态,不得而知。
但是看代码量,应该没有(消耗油量的功能没有添加)。经过测试,会有些奇怪的状况发生。
比如,时快时慢的尾旋。当然,这个是个未完成作品。但是作者希望有兴趣的可以去完成。
同时通过这个学习dcs下module以及基于dcs API下的飞行模型的制作。


整个源代码是基于ED提供的模板上制作的。模板提供了所需的函数和接口,
需要做的就是实现这些函数的功能。

例如:
  1. void add_local_moment(const Vec3 & Moment)
  2. {
  3.         common_moment.x += Moment.x;
  4.         common_moment.y += Moment.y;
  5.         common_moment.z += Moment.z;
  6. }

  7. // Not used but left in, it was part of the example
  8. // functions to simulate weight change due to
  9. // fuel consumption
  10. void simulate_fuel_consumption(double dt)
  11. {
  12.         /*
  13.                 fuel_consumption_since_last_time =  10 * throttle * dt; //10 kg persecond
  14.                 if (fuel_consumption_since_last_time > internal_fuel)
  15.                         fuel_consumption_since_last_time = internal_fuel;
  16.                 internal_fuel -= fuel_consumption_since_last_time;
  17.          */
  18. }

  19. // This is where the simulation send the accumulated forces to the DCS Simulation
  20. // after each run frame
  21. void ed_fm_add_local_force(double & x,double &y,double &z,double & pos_x,double & pos_y,double & pos_z)
  22. {
  23.         x = common_force.x;
  24.         y = common_force.y;
  25.         z = common_force.z;
  26.         pos_x = center_of_gravity.x;
  27.         pos_y = center_of_gravity.y;
  28.         pos_z = center_of_gravity.z;
  29. }

  30. // Not used
  31. void ed_fm_add_global_force(double & x,double &y,double &z,double & pos_x,double & pos_y,double & pos_z)
  32. {

  33. }
复制代码


作者制作这个飞行模型和BMS一样使用的NASA的风动数据和F16A/B以及C/D的飞控手册。
youtube上有飞行验证视频,并且ed test team里也有人测试并分享了飞行视频。这里选了一个分享


但是因为作者没有制作座舱,航电以及武器系统,所以并不适合作为模组使用,而且作者也没有精力去完成DCS F16模组。

版本到0.3就已经达到作者一开始的目的:完全在DCS上实现了f16的飞控模型。所以作者已经停止更新
并参与到dcs第三方模组开发中。

原作者用的google盘,所以我重新整理上传到百度盘分享给大家。


模组文件夹下面FlightModel里包含的就是c/c++写的飞控模型源代码(我看了看,是在visual studio下建的项目),
因为作者的一些疏忽,有些地方有单位,转换等错误,作者希望把这些问题留给感兴趣的人去自己修改
FlightModel.zip(114.97 KB, 下载次数: 20)2014-1-22 14:49 上传点击文件名下载附件
飞控模型源代码
下载积分: 金钱 -2 元


当然你可以直接把模组文件夹放到dcs/mods/aircrafts下作为模组使用,且建议直接从空中开始。
因为是给老的1.2.1下制作的,所以目前1.2.6下会有些机构动作和显示上的问题。
注意:必须用摇杆才行,用键盘控制不了

*飞机离地200的时候会自动放起落架。起落架显示是一闪一闪的。显示不出来。地面起飞好像做不到
所以建议直接出生在空中


模组下载地址:
http://pan.baidu.com/s/1hqAcbCK


手册列表

QQ截图20140122014732.jpg (36.14 KB, 下载次数: 48)

下载附件 保存到相册

2014-1-22 14:47 上传



BMS请允悲      
2014-1-22 16:27 上传

08乖,辛苦了
2014-1-22 19:12 上传

08乖,辛苦了
- - 你们打算就这么一直卖萌卖下去?
http://player.youku.com/player.php/sid/XNjY1MjE4NDQ0/v.swf
这个模型目前发现的最大的问题在于进入失速尾旋之后,俯仰轴的操控完全不起作用,而偏航轴对于改出尾旋也没有任何应该起到的效果,我左右踩舵均会随机的出现增加滚转率和减小滚转率的效果。
至于作者说有FLCS,第一,这么容易进尾旋就表示有FLCS的可能性微乎其微,剩下最直观的就算FLCS的Limiter Functions,但是没有座舱仪表看不出来AOA,就算有Limiter Functions,也很难说他是跟BMS那样把FLCS写进去了还是说仅仅按照F16的飞控说明对G/AOA有一个仅仅是数字上限制,从目前的结果看,就算有FLCS,我也倾向于后者。
Lunatica 发表于 2014-1-23 17:21
这个模型目前发现的最大的问题在于进入失速尾旋之后,俯仰轴的操控完全不起作用,而偏航轴对于改出尾旋也 ...
飞行员早就因为过载挂了吧……
Lunatica 发表于 2014-1-23 17:21
这个模型目前发现的最大的问题在于进入失速尾旋之后,俯仰轴的操控完全不起作用,而偏航轴对于改出尾旋也 ...
所以说美系渣渣吗....
安心搞好27多好
无影侠SUPER 发表于 2014-1-23 21:18
飞行员早就因为过载挂了吧……
这个过载就在1G左右。。。怕是会转晕了
Lunatica 发表于 2014-1-23 22:51
这个过载就在1G左右。。。怕是会转晕了
昨晚试了一下这个16的AFM,实在是太诡异了,一旦进入尾旋时机头指向与水平面夹角过小,基本就不要考虑改出了。
晚上又试了一下BMS的F16。
失速后我抱杆到底,这个时候FLCS开始发挥作用,接管飞机的俯仰轴操作,但我感觉并不是全权限控制,而是耦合控制,因为FLCS并没有无视我的操作,它没有帮助飞机改出失速,而是维持一个稳定的俯仰角,这个时候我松杆,飞机就会低头改出失速。
偏航轴会被全权限控制,我左右舵的输入均为无效,而且如果飞机有侧滑的话,FLCS会自动进行修正,防止飞机进入尾旋,总之别想用F16飞尾旋了。。。
滚转轴感觉是与俯仰轴联动(此时的俯仰轴为FLCS全权限控制)只要进行滚转,飞机就会自动低头改出失速。
有一次进入失速,俯仰轴的命令被无视,无法改出,想起来看过一个帖子,放下起落架就能低头改出,这么一试,果然改了出来。

平时不飞BMS的,飞了这个F16demo后,才想起来把BMS打开飞一下。大概的感觉就是这些,肯定有忽视或者理解错的地方,经常飞BMS的可以谈谈BMS的FLCS。让我对BMS的FLCS有一个更正确的认识。
Lunatica 发表于 2014-1-24 10:44
晚上又试了一下BMS的F16。
失速后我抱杆到底,这个时候FLCS开始发挥作用,接管飞机的俯仰轴操作,但我感觉 ...
good啊。
赞钻研精神。。。。
今天看讨论,才发现,代码里滚转率的部分好像都没写。。。。。
求BMS下载链接,过年里头飞一下玩玩
奥巴牛 发表于 2014-1-24 11:57
求BMS下载链接,过年里头飞一下玩玩
版面里面有,好像是高亮了的
Lunatica 发表于 2014-1-24 10:44
晚上又试了一下BMS的F16。
失速后我抱杆到底,这个时候FLCS开始发挥作用,接管飞机的俯仰轴操作,但我感觉 ...
感觉当机载电脑接管了过多操作后,飞行的乐趣大大减少了啊

Lunatica 发表于 2014-1-24 10:44
晚上又试了一下BMS的F16。
失速后我抱杆到底,这个时候FLCS开始发挥作用,接管飞机的俯仰轴操作,但我感觉 ...


我写过一个BMS4的FLCS说明:http://bbs.lkyfly.com/thread-12299-1-2.html


PS:上面那个尾旋视频挺有意思。。这是我在BMS4中把FLCS完全禁用之后才会出现的情况~~

而且如下图所示,飞行员的舵指令在AOA超过30度 或滚转率超过40°/s时被削为0。你不可能在这么大AOA下还能控制方向舵~


Lunatica 发表于 2014-1-24 10:44
晚上又试了一下BMS的F16。
失速后我抱杆到底,这个时候FLCS开始发挥作用,接管飞机的俯仰轴操作,但我感觉 ...


我写过一个BMS4的FLCS说明:http://bbs.lkyfly.com/thread-12299-1-2.html


PS:上面那个尾旋视频挺有意思。。这是我在BMS4中把FLCS完全禁用之后才会出现的情况~~

而且如下图所示,飞行员的舵指令在AOA超过30度 或滚转率超过40°/s时被削为0。你不可能在这么大AOA下还能控制方向舵~

1.jpg (36.35 KB, 下载次数: 24)

下载附件 保存到相册

2014-1-24 14:05 上传

Lunatica 发表于 2014-1-24 10:44
晚上又试了一下BMS的F16。
失速后我抱杆到底,这个时候FLCS开始发挥作用,接管飞机的俯仰轴操作,但我感觉 ...
有个东西叫MPO,在AOA超过35度时给你俯仰轴的所有操纵权限
seannav146 发表于 2014-1-24 13:25
感觉当机载电脑接管了过多操作后,飞行的乐趣大大减少了啊
AOA/G Limiter是三代机的普遍装备,我可不觉得容易失速很有乐趣。可能这种有乐趣的飞机在现实中根本不能通过任何军用和民用适航标准。。。LO中的Su-27气动还是SFM,FLCS的作用体现不出来~
seannav146 发表于 2014-1-22 15:37
BMS请允悲
作者本人的话:
Why no 3rd Party DCS level F-16?

Personally, I woudln't want to do a DCS F-16 unless what is done in Falcon BMS could be reached or surpassed. I'm pretty sure a F-16 has been discussed by every 3rd party dev group. At this point, I don't believe any group has the SDK/API DCS knowledge to jump the hurdles of making something of such complexity...yet. Every 3rd party dev is FULL of extremely talented and driven individuals. However, without immense communication and working tightly together with ED, 3rd party development will be and has been very slow.

I estimate it'll be a couple years until the interaction between ED and 3rd Party Devs and 3rd party understanding of the SDK/API improves to the point that making something of F-16 DCS quality. ED is very busy now with their major ground level changes they have been discussing (EDGE, etc...) and 3rd party development does not appear to be a priority at the moment, but I'm sure it will improve over time. Until the SDK/API matures, clearer documentation available, then 3rd party development will progress very slowly, I am sad to say. We are still learning slowly and gradually how to work within the ED/DCS environment.

LJQC 发表于 2014-1-24 13:44
作者本人的话:
Why no 3rd Party DCS level F-16?


其实作者又说了,如果现在有team要做dcs f16,他就回去继续完成这个FM部分。
不过这个东西,作者的目的可能很多人都误解了
简单说一开始的目的就是一个DCS module制作的入门的案例
不过没能把FM或者哪怕是气动稍微做的稍微细致,这个比较可惜。

LJQC 发表于 2014-1-24 13:44
作者本人的话:
Why no 3rd Party DCS level F-16?


其实作者又说了,如果现在有team要做dcs f16,他就回去继续完成这个FM部分。
不过这个东西,作者的目的可能很多人都误解了
简单说一开始的目的就是一个DCS module制作的入门的案例
不过没能把FM或者哪怕是气动稍微做的稍微细致,这个比较可惜。
uboats 发表于 2014-1-24 14:09
其实作者又说了,如果现在有team要做dcs f16,他就回去继续完成这个FM部分。
不过这个东西,作者的目的 ...
是的,方便DIY~
LJQC 发表于 2014-1-24 14:10
是的,方便DIY~
最近刚看这个code,代码量不多,就是没有接口函数和变量的说明
只能自己读了。。。。
顺便慢慢修改里面存在的各种致命bug先。。。。
可惜f16的气动飞控完全不懂。。。。
拿到数据也抓瞎。。。
LJQC 发表于 2014-1-24 13:41
AOA/G Limiter是三代机的普遍装备,我可不觉得容易失速很有乐趣。可能这种有乐趣的飞机在现实中根本不能 ...
所以玩的是模拟游戏而非现实嘛,对于DCS,我认为飞行方面最有趣的还是25T,27AFM下个版本也要出了非常期待,至于FLCS对于现实来说是个好东西,不过对于偏向娱乐的模拟飞行我可不喜欢
无影侠SUPER 发表于 2014-1-24 09:38
昨晚试了一下这个16的AFM,实在是太诡异了,一旦进入尾旋时机头指向与水平面夹角过小,基本就不要考虑改 ...
http://player.youku.com/player.php/sid/XNjY1ODg5MjE2/v.swf
嘛,如果这个算AFM的话。。。
LJQC 发表于 2014-1-24 13:32
我写过一个BMS4的FLCS说明:http://bbs.lkyfly.com/thread-12299-1-2.html
你在虚航是0531……我是0532……
Lunatica 发表于 2014-1-24 23:05
嘛,如果这个算AFM的话。。。
代码这块看不懂,按照08所说,所有力都只是简单集中在重心上的话,那这个模型没比SFM高到哪里去。

Lunatica 发表于 2014-1-24 23:05
嘛,如果这个算AFM的话。。。


对照一下。BMS4.32.7原厂AFM,无FLCS介入,去除了高迎角下的座舱视角抖动效果,给翼尖加了Smoke。所有操纵面的偏转角度为0~


Lunatica 发表于 2014-1-24 23:05
嘛,如果这个算AFM的话。。。


对照一下。BMS4.32.7原厂AFM,无FLCS介入,去除了高迎角下的座舱视角抖动效果,给翼尖加了Smoke。所有操纵面的偏转角度为0~

LJQC 发表于 2014-1-27 18:44
对照一下。BMS4.32.7原厂AFM,无FLCS介入,去除了高迎角下的座舱视角抖动效果,给翼尖加了Smoke。所有 ...
............Two 是怎么Inposition的
LJQC 发表于 2014-1-27 18:44
对照一下。BMS4.32.7原厂AFM,无FLCS介入,去除了高迎角下的座舱视角抖动效果,给翼尖加了Smoke。所有 ...
惊人的相似啊,我一直以为前半段的那个状态不是很合理
无影侠SUPER 发表于 2014-1-25 10:49
代码这块看不懂,按照08所说,所有力都只是简单集中在重心上的话,那这个模型没比SFM高到哪里去。
sfm的那个代码我看了反而不是全部作用在重心。
而这个作者那部分开始图简单,然后改成了全部在重心
uboats 发表于 2014-1-28 08:50
sfm的那个代码我看了反而不是全部作用在重心。
而这个作者那部分开始图简单,然后改成了全部在重心
其实使用了NASA的表格数据就不用再像DCSW Su-25T那样把每个气动单元(elevator, rudder, etc.)做单独的CL/CD曲线了,最终得到的表现是一样的~

详见http://bbs.3gofly.com/forum.php? ... 9931&pid=637417
LJQC 发表于 2014-1-30 14:19
其实使用了NASA的表格数据就不用再像DCSW Su-25T那样把每个气动单元(elevator, rudder, etc.)做单独的C ...
25T的afm是单独叠加的?
从哪里看出来的啊?
2014-1-30 14:41 上传

LJQC 发表于 2014-1-30 14:41
ED当时是这么做广告的啊:
如果不单独算,而是直接用nasa的表格的话就有个拟合曲线或者样条插值的问题了,就成了LUT的方式。
但LUT的方式带来的其他插值点的误差可能就比用公式计算的大。

我还没搞清楚如何不单独计算每个而直接能用公式计算出整体的。
uboats 发表于 2014-1-30 14:50
如果不单独算,而是直接用nasa的表格的话就有个拟合曲线或者样条插值的问题了,就成了LUT的方式。
但LUT ...
你可以去3GO那个贴里问Aceforever,他是搞飞行仿真的~
LJQC 发表于 2014-1-30 16:32
你可以去3GO那个贴里问Aceforever,他是搞飞行仿真的~
老千整天在群里找人陪他狗斗....
哥们你好 我也是搞dcs开发 请问能否联系交流?
LZ,你的百度链接已经失效了,能否分享一下你的手册列表里的手册
HootOC 发表于 2015-4-14 14:54
LZ,你的百度链接已经失效了,能否分享一下你的手册列表里的手册
连接更新了,手册得找找