(inSky)

 找回密码
 立即加入

QQ登录

只需一步,快速开始

楼主: LJQC

【转播备份】BMS4和LOFC气动学术讨论贴

 关闭 [复制链接]
 楼主| 发表于 2012-12-13 12:29:28 | 显示全部楼层
Rooikat105: (27楼)

引用 LJQC (24楼)
Manual TF Enable是用来控制地形跟踪系统的自动Fly Up功能的...

-----------------------------------------------------------------------
那个,不勉强啊,像我这种纯属是飞Ka-50飞成变态的。飞什么飞机先要想尽各种办法看它怎么能飞残了才高兴。总之现在总算理解为什么Ka-50订单这么少了。


Rooikat105: (28楼)

引用 LJQC (26楼)
BMS4里的A-10A同样是AFM,它可以很容易的进入尾旋:v.youku.com/v_show/id_XMzAxNDM3MzUy.html

------------------------------------------------------------------------
那个,A-10还没飞过,不过歼击机从F-15、F-18到Su-27、Mig-29 都飞过一茬了,目前还没尾旋过,我觉得这些机都没太侧重,所以也没细研究。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-13 12:34:33 | 显示全部楼层
G.R. (32楼)

引用 Rooikat105 (3楼)
没有的事儿,LO气动模拟最好的飞机是Su-25MT,那飞机根本就是亚音速的好不好。 LO的气动模拟是用完整空气动力模型和空气动力物理引擎模拟的,因此他可以非常真实的再现各种状态下的空气动力表现。比如失速、尾旋、过失速机动等。 Falcon系列的引擎原本不支持复杂的空气动力计算,因此飞机...

-----------------------------------------------------------
根据BMS的文档:
×BMS4的新飞行物理学模型是从零实现的,和老Falcon的FM没关系。
×简化版的FM是给AI使用的。
×F-16的飞行控制系统(FLCS)被完整抄入了BMS4(不是模拟FLCS的效果,而是line by line实现了FLCS机制本身)。实验版本中,通用动力和洛马的两套FLCS版本都做了,最后发布用了洛马的)。
×模拟了动态大气、多种气流、不对称挂载、翼载共振等等细节。

每项都可以扣得很细而且有数据支持,具体可以看BMS4工程师的开发日记,或者看LJQC的摘要翻译。用MAV-JP的话说,很多用户不知道自己在飞什么样的东西,有点身在福中不知福啊... ;)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-13 12:36:34 | 显示全部楼层
Rooikat105: (34楼)

引用 G.R. (32楼)
根据BMS的文档...

---------------------------------
这个,我并没有说BMS的开发人员作的不是,我非常敬佩开发人员的努力。我只是说从BMS包线外有一些个别的气动表现(Bug),说明它的气动引擎运算方式对包线外气动情况的表现有缺陷而以,从计算机技术角度讲他不属于气动环境下实时运算的结果,而是一种带有触发性的模拟方式,而触发条件的逻辑运算在表现复杂问题时候难免会导致出错。ED公司(包括LO和DCS)的模拟是考虑模型的整体和各部分的气动特征在气动引擎下综合运算的结果,但是它也难免会把一些看似次要实际上可能很重要的计算因素忽略导致模拟与实际的误差。两者各有优劣,未必就是谁好谁坏的问题。

BMS气动Bug优库上就有,
youku . com/v_show/id_XMzE3MTg3NzMy.html 负尾旋无报警可以自由改出。
youku . com/v_show/id_XMzE3MTM5NzQ0.html 还有这个不知道什么状况的。
我知道相比之下LO的模拟表现也有很多欠缺,比如平尾旋或深度失速Su-27动力不会中断,但是这些是在模拟的时候涉及的因素缺陷,而不是气动物理引擎算法判断陷入逻辑错误的BUG。

我始终认为BMS是款非常好的模拟软件,但是如果你非要把他说的绝对完美,毫无缺陷,说明你在讨论之前就定下所有结论了,那你就不是站在探讨的角度,而完全是站在说服的角度来谈话,那我们就没必要继续探讨了。我不会接受完全以说服为目的的观点。

我倒是觉得,任何模拟软件或游戏都有自己的缺点和不足,能正确认识才是体现模拟游戏玩家整体素质更优秀,更包容。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-13 12:39:15 | 显示全部楼层
G.R.  (44楼)

引用 Rooikat105 (34楼)
这个,我并没有说BMS的开发人员作的不是...

----------------------------------------------------
无意冒犯,更无意说教,只是不想您因为自己一些不实的猜测错过这么好的F-16实现。有时间请阅读FM开发者的文档。读完您就明白为啥您上面的猜测文字洋洋却很少有正确的地方,大约也能意识到您其他文字的过分之处(不过没什么人会在意,所以您自己搞清楚就可以了)。

BTW:youku的影像是联网lag或是喷射引擎乱流的bug,和FM框架没有什么关系,新版中已经修正了。



G.R.  (45楼)

FM开发记录:benchmarksims.org/forum/content.php?45-documentation
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-13 12:43:53 | 显示全部楼层
本帖最后由 LJQC 于 2012-12-13 12:45 编辑

Rooikat105: (48楼)

引用 G.R. (44楼)
无意冒犯,更无意说教,只是不想...

--------------------------------------------------
不好意思,我觉得您已经不能理解我的意思了.
第一, 我是BMS忠实支持者之一,我什么都没有错过。自从装上BMS后我就一直在飞,LO我倒是已经很久不玩了。
第二,既然大家都说任何模拟都不能100%实现,那么我仅仅指出我认为两款游戏模拟方式的区别和各自的优缺点。并没有对任何一款游戏进行褒贬,也没有不尊重任何开发者的劳动。这位同好你摆出一幅捍卫者的姿态是不是反应过激了?
第三,除了YouKu上的问题我个人还飞出过其他诸如失速时飞机完全不动,Override后任何操作也都无效的状况。
BMS开发者日记我可以看,但是我想说如果你从气动引擎方面可以找出反驳我观点的内容何不直接贴出来。开发者日记哪个地方解释了他们如何改动气动引擎的?您给的地址我注册后也无法访问,论坛服务器说Invalid Redirect URL (http://benchmarksims.org/forum/content.php?45-documentation),而且我觉得这种随随便便就说别人这里错那里错,然后给一个长篇大论的链接,未免太狡猾了吧。


Rooikat105: (49楼)

引用 G.R. (46楼)
FM开发记录:benchmarksims.org/forum/content.php?45-documentation

--------------------------------------------------------------------------
起码请告知一下,开发者日记的哪个章节,哪个部分能证明我说错了,让我们能直接的了解相关知识。否则我们从头读到尾,如果没看到这个相关内容怎么办?您到时候就说我知识不够理解不好或者说我阅读不仔细遗漏了,那就真是浪费大家时间了。
我不是个固执己见的人,只要拿出直接证据,我可以反过来支持你的观点。所以请不要拿一个笼统的“自己看,自己读”来搪塞。只要是您的真才实学,我一定会虚心向您领教的。



Rooikat105: (50楼)

引用 G.R. (46楼)
FM开发记录:benchmarksims.org/forum/content.php?45-documentation

-----------------------------------------------------------------------------
哦哦,不好意思,前面回复作废,贴吧不能删自己贴子很费劲。我看到了空气动力部分的资料,BMS的空气动力模型数据的确非常丰富而且精确。但是从我看得资料,我没有看到他的气动引擎设计上有能让我转变观点的。
比如我看到的这个部分他把气动分成两大部分,一个是力,一个是状态。
他的升力和阻力部分说是逆向工程计算的,我还没理解出怎么情况
偏航力以及pitching、yawing、rolling 都是采用了不同的参数,我理解为就是在飞行状态改变时,引擎的计算函数要切换,然后引用不同参数类别。这就是我所指的,触发——切换的计算方式。如果我理解的不对,欢迎各位高手指正。能够有人愿意指出我的错误是我的荣幸。




Rooikat105: (51楼)

另外根据BMS开发者的资料看,他们是根据综合力和飞行状态以及当前状态所采用的参数来计算“综合”气动表现的。也就是他根据飞行状态来选择让飞机“整体”如何运动。这也是为什么我说它采用“状态——切换”的触发模式表现空气动力。当他飞行状态改变后,就要重新计算“整体”的运动方式了。

还是那句话,不是谁好谁坏,只是各有特点,我们可以看一下DCS黑鲨的空气动力模型,是把模型每个具有气动表现的部分分别计算得出综合气动表现的。LO采用的是类似的技术,只不过LO的气动模型没有分得这么细致罢了。
w w w . digitalcombatsimulator.com/en/series/black_shark/22728/

我依然认为,DCS的气动模型对非常规的气动表现更细致,但是不一定能体现飞行器在真实环境下测得的飞行特征包线。而BMS能更完美的体现飞行包线特征,但是在非常规的飞行状态下需要采用切换另一套函数运算的方式,自然不能很细致体现更多的特殊飞行状态,当然也就不能计算破损状态的飞行器的空气动力表现。
在重申一遍,这是我对两者的区别和各自特点的描述,不是在说哪个比哪个更好。请各位不要误解成我对BMS的批评。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-13 12:48:11 | 显示全部楼层
G.R. (52楼)

"从计算机技术角度讲他不属于气动环境下实时运算的结果"
"偏航力以及pitching、yawing、rolling 都是采用了不同的参数,我理解为就是在飞行状态改变时,引擎的计算函数要切换"
"但是在非常规的飞行状态下需要采用切换另一套函数运算的方式,自然不能很细致体现更多的特殊飞行状态"


- -|| ...... 请问怎么得出以上结论的?




Rooikat105: (53楼)

哦,我没组织好。我是从俯仰力矩的一个参数“深度失速”来判断的。深度失速这个参数怎么看也不像浮点数变量,我猜测是个bool值,也就是当飞机进入深度失速时,它采取另一种计算方法。那么这就应该是一种根据“深度失速”变量为触发,改变飞机气动状态的一种方式吧。

另外比如说升力和滚转力矩,着两个参数其实是有交集甚至矛盾的部分,如果他假设升力状况是一致的情况下另行计算滚转力矩说明他是以飞机质心为参照系,飞机当前状态为参考量进行气动计算的。比如我计算出飞机现在偏航角度多大,功角多大,在这个偏航角度下滚转力矩应该多大,于是就给飞机施加这个力矩。这个数据是从NASA气动参数获取的,应该是准确的。

像DCS采用飞机各部分气动特征分别计算,比如要得出滚转力矩,如果两个机翼升力不同,肯定就会出现滚转力矩,阻力不同肯定就会出现偏航力矩。在相对气流方向一定的条件下,对模型各部分受力后综合其结果得出运动力矩表现,在特殊飞行情况下也不太容易出现BUG,反正不论是多么特殊的飞行状态也是力学引擎自己考虑,能表现的状况也会更丰富。但是模型的每个部分的气动数据是不大可能准确,那么飞机在游戏引擎中的气动表现就不可能再现真实情况。

而BMS这种他通过NASA风洞数据的结论来判断在什么姿态下飞机的力矩受力结果,肯定是相当精确的,起码能近似完美的体现原有飞行包线特点。但是NASA的数据也不是涵盖所有范畴吧,BMS说某个数据他们只获得了0.6马赫的风洞结果。我想就算把从0.1到2.0马赫间隔00.1有把所有的姿态和方向都吹一遍,获得所有数据,用这种数据输入计算机来计算那运算量也太大了。计算机模拟的话,应该还是按照几种情况分别设定,某种情况下采用什么计算,某种情况下在采用另一种计算。

一点个人理解,说的不对,还请多纠正。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-13 12:50:27 | 显示全部楼层
G.R. (54楼)

物理引擎是不分什么包线内包线外的,全部统一计算的,不管你在地上还是在天上,是正常飞行还是stall,对它没有区别,文档里讲过的:
“The computation is extremely dynamic and does not suffer from any problem of computation in extreme situations. Stalls can be accurately simulated without any discontinuity between normal and stall conditions”
它首先是一个与具体飞机型号无关的底层引擎,在这基础之上加入具体的飞机数据和飞行控制系统才成为具体的机种。当然,对于Falcon4当前只有一个实际关注的机种:F-16。BMS4的AFM只有两种飞机:A-10A(NFBW)、F-16(FBW)。

所谓的深度失速是FLCS层面的逻辑,不是底层的事情。FLCS肩负着F-16飞行控制的重任,没有它的F-16是难于操作的。简化来说,FLCS在周期内对飞行参数进行检测,判断deepstall是一种必要的逻辑,但它不会改变飞机的固有气动特性,更不会要求底层引擎用另外一种方法去计算,而只是用预制逻辑自行限制了各种操纵面来力求把飞机稳在某个范围内。这也是为什么有时候会发现忽然对舵面的控制力下降,FLCS检测到了状况,不允许你这么做,它可以从某个时刻起决定全权接管了。正是由于FLCS的引入,BMS4对于F-16的模拟开始展现了深度。不像以往的Falcon4只是粗略模拟了一些限制器,这次它"真正"存在了,作为一个软件中的软件,时时刻刻监控着飞机,你的输入被FLCS接过去之后它就开始复杂的决策该如何操纵翼面了。这也是为什么昂贵的FSSB、FCC这样的HOAST Cougar压力感应改装组件开始在各国F4社区热卖。FLCS是F-16飞行模拟部分的精华所在,也是BMS4用户一个比较值得研究的地方(具体请阅读相关开发者日记4,或者LJ的摘要翻译)。

请不要误解,这里没有为了"捍卫"什么。诚如LJ所言,帮别人更好地了解BMS4,不至于误导就很好了。如果你回头看看帖子,只不过引用了些文档内容,或者是开发者的说法,反应过激并不是我们的做法。私下里我也买了DCS A-10C,并且非常高兴Matt Wagner促成了他多年前在Skunkworks时,Austin分部的同事们未完成的类似项目,不过那是另外一个事情了。

关于BMS4和F-16更深入的问题可以检阅LJCQ翻译的F-16军用手册摘要,他是搞这个专业的,人也比较热心,这些年翻译了很多的相关文档,非常了不起。手册的相当部分内容是直接适用于BMS4的,更深入的原始信息在:
F-16 MLU_M1 The Pilots Guide
F-16 MLU_M2 The Pilots Guide
T.O. GR1F-16CJ-1
T.O. GR1F-16CJ-1-1
T.O. GR1F-16CJ-34-1-1

have fun!





Rooikat105 (55楼)

首先这位仁兄不知道是什么专业的,但是身为计算机专业我不能认同你对这个部分的解读。
The computation is extremely dynamic and does not suffer from any problem of computation in extreme situations. Stalls can be accurately simulated without any discontinuity between normal and stall conditions
这段话就三个意思:1计算是非常动态;2在极端情况下运算没有任何问题;3可以准确地模拟失速状态,而且从正常状态到失速状态不会有任何延迟。
首先这三段话并没有说从正常到失速状态没有算法的切换,因为以计算机算法角度来讲,凡是涉及三角函数的运算几乎都要进行大量运算切换,因为三角函数必然要出现各种分母为0的计算,所以有时候要用Sin解决,有时Cos,有时tan,如果不进行算法切换就必然出Bug。而BMS更是以机体为参照系,建模都要进行大量三角函数运算,所以不可能不进行算法切换。当然多先进的物理引擎也要进行大量三角函数切换运算,但是如果引擎解决了问题,在建模时候就不需要再考虑运算切换问题。而BMS依然是以功角、偏航角为参数,那么就是说要在建模时候考虑攻角偏航角的某种条件下所需要的数据。在从Normal到Stall状态下没有延迟计算切换现代计算完全可以做到。我最早飞Falcon4.0时候,在我的电脑上也不存在任何延迟,只要运算效率够高就完全能避免人肉眼观察的到的延迟。PS:个人建议,同志最好不要乱用“底层”这个说法,反正我们说底层一般指几种情况,操作系统层,编译层,汇编运算层,以及最底层的是机器语言和电路层。从你的解读来看我立即你说的底层就是物理引擎计算。大概没错吧?

以上这些,说明BMS应付极端情况的模拟非常优秀,但不能代表说BMS的物理引擎可以应付所有的极端状态,比如机体部分损伤后的气动表现,比如尾旋状态(虽然F-16飞控抗尾旋,但是我在Y2B一个视频上亲眼见过一个飞行表演测试飞行员故意飞了尾旋并改出,而且让我佩服得是F-16的气动和飞控居然能让飞行员在尾旋状态下仍然对飞机有完全的控制,但是BMS也好OF也好Falcon4.0也好,FF5.5也好,我始终没试出这种可控尾旋,很郁闷)另外还有放下起落架能迅速改出深度失速这样的情况,我想这不会是F-16的标准气动和飞控解决深度失速的办法吧?如果气动建模阶段需要引用大量三角函数作函数参数,最起码说明引擎的黑盒处理还不太够。

特别是你说深度失速是飞控参数,我看了BMS的设计我不认为BMS这个参数是飞控参数,因为BMS在气动建模那部分已经说得很明确了,BMS按照NASA建模使用了6大函数,3个力,和3个力矩,而这6大函数又分别引用了大量其他参数,我认为这6大函数就是BMS高级气动建模的核心,而其他的参数都是要对这些函数运算起决定性作用的。所以我还不能相信深度函数这个参数是作飞控判断而不是作气动判断的。这点请原谅,除非BMS公布公式后,否则我不大可能跟你在这方面达成共识了。

最后,如果这位同好不是“捍卫”BMS的话,我认为我们之间的冲突纯粹是误会。我是以一个模拟游戏爱好者的角度评价了我认为的BMS与LO、DCS的气动表现区别,我并没有褒贬之意,我们相互不认同对方的观点是正常的,因为我们对气动表现和计算机算法的认识理解角度不同。但是既然你不是捍卫BMS,我更没有捍卫LO的必要。LO跟DCS和BMS比那就是另模拟游戏玩家所不齿的简单游戏。如果有人敢说LO比BMS真实我都要跟他死磕。但是请理解,我所说的气动引擎的区别完全是从计算机科学的角度对算法进行探讨。而不是其他。

哦对了,另外还有一个重要的地方,从计算机纯理论角度讲,不论是DCS这样的引擎还是BMS这样的算法,要做到完全无BUG都是有可能的。但是要做到完全无BUG需要高昂的费用,用大量的数学建模和理论推导。一般这种要确保无BUG推导都是CPU这级别的芯片才肯花钱去搞。
我个人从计算机科学角度看,只是BMS出BUG的几率比DCS那种气动物理引擎的几率要高。也许有那么百万分之一的可能BMS的BUG比DCS或LO少,但是目前我还是没见到DCS或LO有所谓的BUG,LO或DCS顶多是某个气动因素没考虑到,所以降低了他的真实性表现。而BMS的BUG大家也都见到了。负尾旋飞控不报警,还可以随意改出。我认为从这里可以看出BMS的气动算法还是大量参考了实际飞控的代码和参数。飞控在先进,能不能解释所有的大气环境?你我都知道这是不可能的。

反正我个人对BMS这样的团队是非常崇拜和感激的,我也非常喜欢BMS4.32这个作品。我希望BMS今后能越发展越壮大。一个非营利mod团队能做到如此NB的插件我有什么好抱怨的?我干吗要误导别人不喜欢这个游戏呢?我只是讲出我通过自身知识作出尽可能客观的判断罢了,当然说道物理引擎,我的确认为DCS的那种各个局部力学计算并最后进行综合力矩结算的引擎更先进,但是这个所谓的先进仅仅是从计算机技术角度说得。单就飞行模拟而言,DCS和BMS的气动引擎都是各有优劣,没有谁比谁好的问题。我最初加入这个帖子的主要原因是想纠正2楼那个说LO气动引擎亚音速表现差的谬论。气动引擎的难度永远是跨音速阶段,亚音速都做不好,跨音速和超音速就更不可能做好。LO就算引擎在差,也必然是亚音速模拟强过他自己的超音速模拟
回复 支持 反对

使用道具 举报

发表于 2012-12-13 13:27:26 | 显示全部楼层
好多东西 先回帖再慢慢看
像LZ这种技术帝非常稀有 希望以后多发技术贴 我举双手双脚热烈欢迎
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-13 13:58:28 | 显示全部楼层
G.R. (56楼)

discontinuity的意思是“不连续”,不是“延迟”,你搞计算机的不知道“不连续”的意思么?这明显不是对于用户而言而是对于开发者来说的,两种完全不同的方法可能在这个意义上连续么?又怎么可能同时“准确”?“can be Accurately simulated without any Discontinuity”这些话已经说得很清楚了。

放下起落架会引起FLCS进入LG Gain,当AOA>11度时,FLCS吧攻角指令混合到俯仰速率指令中,命令机头下降直到AOA小于11度。这才是有时候可以用放下起落架的方法去改出深度失速的实际原因。但多数时候,飞行员用pitch rocking的技巧配合MPO就可以把飞机摇回可控范围了。你还是没有从FLCS的角度去理解系统,所以很多情况对于你来说是不可思议的。

PS:我就是Computer Science专业,您用不到那些计算机专业词汇来show off,特别是前提清楚的情况下。我真不明白怎么会扯到汇编上去。

BMS4当然可以模拟spin stall,这个在BMS中已经飞了多次了。但微观设计这潭水太深,搞空气动力专业的人或许能做更深入的解释。作为飞行员应该了解的东西我去了解,但我不能抛开文档再去自行YY。

这里引用搞空气动力专业的老钱先生的一段评价:
"今天晚上下班很顽强的装上了BMS4, 初步考察了飞行特性,确实不负这么久的期待,Flight model已经完全脱胎于F4和OF系列,初步感觉已经有FCS的影子了。 BMS4里的F16纵向响应频率较7G的虫子要高,尽管第一个周期的超调和反弹比较夸张,俯仰的回弹速率有时甚至能压过稳定航迹改变速率,但是收敛速度好过7G的F18,0.75个周期以后基本上已经感觉不到了,现实了很好的阻尼特性。而7G的F18则需要1.5个周期。BMS4的F16对微小的操纵响应柔和,但对大幅度操纵的横向响应感觉明显滞后,而且稳定性欠佳,大坡度转弯时经常需要以一定频率修正坡度,过顶的时候调整也很难一下到位调整。7G虫感觉则好很多。BMS里的F16的荷兰滚频率与7G F18相仿,但是对踩着频率的故意的杆舵激励比7G F18更容易叠加并且发散,但是急滚的偏离要比7G F18小。BMS F16高速下转向有很快的视线变化率,但小速度下操作比较笨拙,与F18在低速下的操纵效率相比较低,过顶时的高指向经常被纵向短周期在前半个周期离得反弹抵消,这点让人很费解。总的来说BMS F16的操纵性和稳定性在小动作区域很利索,但是对大幅操纵输入或改变,响应过于规律的放大,感觉有些夸张,尤其是大攻角段,不对称的趋势并不明显。与Seven-G相比,BMS F16的飞行特性还不够细腻,但是对阶跃激励和脉冲扰动的表现已经相当完整了,完全超过LO的水准。"

我想这样的一种评价,是比较谨慎而客观的。作为专业内行,他也很清楚其优点和弱点,但从来没看到他随便冒然YY别人函数是怎么怎么的。老钱是研究过NASA TP1538的:“Simulator Study of Stall/Post-Stall Characteristics of a Fighter Airplane With Relaxed Longitudinal Static Stability”这也是BMS的AFM基础。



Rooikat105 (57楼)

哦,我这段话这么冒犯了您的话真对不起了,不用这么着急。
首先说计算机行业我没有见过Discontinuity 这个术语,不好意思,您见过的话可以给我们讲讲他是如何定义的。如果是讲数学函数的不连续性倒是可以理解成函数属于连续函数。但是连续函数不代表函数算法不会采用切换,比如x<1时候采用f(x)=x,x〉=1时候f(x)=1。函数是连续的,但是函数算法切换了。我是这么理解的,但是我在看到实际算法之前很难认同你的观点。如果您还有更丰富的资料,望赐教。
第二一个,您说如果放下起落架飞控可以控制飞机摆脱深度失速的话,那么为什么飞控在检测出来失速提出报警时候却不能自动提供摆脱失速的动作呢?或者哪怕提供一个开关在进入深度失速时候紧急启动也可以嘛。为什么只有放下起落架才能让飞控自动控制飞机作摆脱失速的调节呢?我不能理解,望赐教。

第三,BMS我没飞出过尾旋很遗憾,我水平太差,望高人赐教能飞出的方法,如果能录下视频教学就更好了。感激不尽。

第四,很遗憾我不认识钱老先生,不知道有如此高人,很希望能引荐大家认识相互学习。不过看完你对钱老先生这段引述,我还是没看到有跟气动物理引擎的相关的内容。钱老先生比较了几款游戏的飞控表现,但是没有指出引擎的原理上有何不同。说BMS气动表现个方面都超过LO我也认同,但是指与引擎方面的区别我没能从您给的资料里看到。

最后,个人以为身为CS专业咱就应该更严谨一点。当然如果您觉得我追究您把物理引擎叫做底层的说法冒犯,我可以收回,随便大家怎么叫嘛,个人的自由。既然都是CS专业我说得大家交流起来就容易了,何必动怒呢?何必称之为ShowOff呢?我不觉得自己说了很多特别专业的东西,我觉得这么解释普通人也能理解。如果您觉得ShowOff了,那我道歉,下次我注意。

至于不看材料YY这种说法,我觉得确实看不到材料没法作出准确判断,但是既然您看了这么多材料我还是没看到有物理引擎算法具体相关的内容。我想问这么个问题,一架飞机,他的气动数据经过试验得出结论了,然后飞控里也输入了,最后在游戏里也按照这个数据模拟了,既然是这么简单的东西,那么是不是说飞控就完全可以判断所有的飞行状况了呢?为什么飞控不能自主判断深度失速并自己改出呢(非要放下起落架)?为什么很多特殊情况还要飞行员来操作呢?反过来说,如果一架飞机的所有气动数据还不能代表他所有的气动表现,飞控也不能涵盖所有的气动状况,那么你严格按照NASA的数据来设计的气动模型应该跟实际飞控里的数据是一致的吧? 这样你游戏中的模拟也就是只有飞控所能采集的状态吧?那么怎么就能确定飞控采集数据以外的气动环境你模拟的完全准确呢?我没看到气动具体算法,但是我通过BMS给出的几个气动函数和参量作了我能做的判断,您说是YY,那我错了,我道歉,我想问问这位仁兄是通过哪个部分精确判断了BMS的气动引擎原理呢?

PS:兄弟您激动了,冷静点,我可不是来吵架的。您学问大,我就跟您好好讨教一番了。如果惹您不高兴那就是我错了。您如果忙,嫌烦,我就不多问了。真不好意思哈。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-13 14:00:39 | 显示全部楼层
G.R. (58楼)

你要看比较,这里老钱对LO和98老版Falcon4的客观的分析比较。注意不是DCS和BMS4。

“如果认真看过我的意见的朋友都应该记得,我从来没有给它们做任何一个“谁真实、谁不真实”的定论,因为正如ED所说,Game just game,不论是F4还是LO,都谈不上十全十美,甚至都带有人为的缩水。

据我的认识,比较所谓的“气动”要比较两样东西,一个是数据包,一个是用来解算数据包的算法和模型。我从来没有从数据反算和拟合的角度去比较和分析数据包哪个与真实的偏差较小。因为一方面我没有真实飞机的数据包,另一方面更没有准确的手段去测试游戏里的数据包,因此不可能做出客观的评价。但是我看了F4和LO在各种渠道上标称的数据包来源,从口碑看,估计F4的缩水稍小。

此外,我想解释的是,“空气动力学”和“飞行力学”还是有很大区别的,我们所指的“气动”实际上是指“飞行力学”,而不是指空气动力学。飞行力学的一个任务是拿空气动力学实验所得的结论来进行仿真,是一个多学科的大集成,所以其实就是一个没学过空气动力学的人照样可以去做飞行仿真,他只需要知道如何调用空动实验的结果数据就行了。

现代所有的飞行模拟器,不管是我们PC平台的游戏,还是民航、空军所使用的专业训练模拟机,它们都没有达到实时解算NS方程组地步,这在将来几十年内也是做不到的,事实上也没有这个必要。现在所有人的做法都是将先前数值模拟、风洞试验的数据预先编制成数据库,在实时仿真的时候直接调用而已,举个例子就是我们所熟悉的“升力系数斜率线”,这条线在仿真软件里是整理数据表直接拿来调用的,而非实时对翼面流场求解NS方程组所得,因此不会涉及所谓的“湍流方程”。

所以我们编写仿真软件的时候,给我印象最深的就是把空动系数值模拟算下来的东西整理“查表”和“插值取值”,而不是和空动系的同学一样,用fluent进行NS方程组数值求解。至于飞行仿真所关心的,则是如何建立一个逼近真实世界的理论的物理模型。

举个例子,自由落体公式F=mg,飞行力学仿真建模所做的是发现和提出这个公式,而空气动力学系研究的则是通过实验或者数值模拟找出铁球质量M的大小和测量当地重力加速度g的精确值。

当然,飞行动力学模型要比自由落体动力模型要复杂的多,不会只有一个这么简单的表达式。而每考虑多一个影响因素,其模型的表达式都会越来越复杂。专门的飞行训练模拟器的动力学模型肯定要比LO、il2、F4等更为精确和复杂。尤其是在大攻角和非线性问题的算法处理上,肯定不会像LO那样只作简单的线性化处理,而会采取某些效率低但是描述更为精准的方法(人家的硬件远远强过PC)。当然这个领域现在是在飞行仿真研究的前沿问题,我对此还缺乏了解。(il2由于飞机时代所限,刚好避开了这些问题,所以我认为三者之中il2的模型和所适用的领域更为拟配)

由于自己专业是学飞行仿真,因此喜欢从对LO和F4的动力学建模方法研究。我的分析结论都是基于LO、F4的动力学建模的根本理论(飞行动力学计算方法)得出的。我认为F4和LO的本质区别正是是他们所选用的物理模型不同,这在先前已经说了,“质点模型”是用来单纯研究飞行性能的,而质点系模型则可用来表达飞行品质。据我的感觉,2001年以前,大多飞行模拟游戏采用的是质点模型,而现在,质点系模型已经从工程研究领域被普遍推广开来。LO比较早采用了质点系模型,此后在FS的某些插件中也发现了质点系模型的特征。

举个例子,对于采用质点模型的F4来说,对飞机施加一个瞬时单脉冲的杆位移的激励后,俯仰角速率、攻角、速度等飞行参数不会经历一个短周期模态和一个长周期模态的震荡变化,最后趋于一个稳定值,也就是“飞行过于平稳”的感觉,但是在LO(尤其是更质点系模型构建更为精细的Su25T)和il2里则可以明显的杆受到短周期模态。这不是因为F16的飞控,因为(飞控系统可以增大短周期模态的阻尼比参数,但是无法消除这个物理过程)。当然很遗憾,即使在LO1.12的Su27里,这个过程仅仅是“有”,但和我所了解的601开发的Su27模拟器相比,在模态的特征参数(如超调量、稳定时间、频率等)都有一定的差别,具体感觉是“阻尼比过大”,响应过于迅速和精准。但是和洪都L15模拟器的飞行感觉相比,则发现非常相似。这是F4和LO动力学模型区别的最大表现。简单的说就是“LO比F4多算了一些东西,虽然没算好。

除此之外,在一些极限及非对称受载的细节情况下,比如螺旋、失去半个舵面后的自然滚转、以及大攻角滚转失速、大攻角副翼效率、还有高M数下受气弹影响的副翼效率变化等等,LO都有相应理论表现(数据细节准确度未必就高),而F4则无表现。因为这个表现只有在质点系模型中才可进行表达,而F4的质点模型就鞭长莫及了。当然,据说OF后来版本在某些单一问题上做了独立专门的模型来补充表现一些细节,整体从模型上比F4有所提高。

然而,正如我刚才所说,一个完整的运动过程分析离不开两件事。举个不太恰当的静力学上的例子,物体受一连串并联弹簧的作用下,想知道弹力F的大小,离不开“公式F=KX” 和"X、K的大小",F4把一个复杂的弹簧系统看作一个作用在质心的等效大弹簧,用一个等效刚性系数K,乘以物体整个质量,得到了物体所受支反力F,而LO采用的“公式”的层次可能更新更高,它把弹簧系统每一个小弹簧的压缩量X进行分别测量,分别乘以它们的刚度,得到f1,f2,f3,f4.......然后把f再叠加起来得到F。两种方法都能得到F,但是F4除了F无法知道更多的事情,而LO则可知道整个物体与弹簧接触阵面的承载力的分布规律,从而更进一步的得出这个系统的力矩特性,用于将来分析飞行品质。

但是,很遗憾的是,LO的计算器比较先进,但是厂家不负责任,储存的弹簧刚性系数K的取值和真的试验用弹簧有所区别,这就引来了误差。而F4的计算器型号有点旧了,虽然参数K可能较为准确,但是由于算法简单,得不到分布规律,并且可能由于没有考虑微观上的一些其他因素而同样带来微小的误差。

结论是,如果处于娱乐目的,两个计算器都不错,萝卜青菜各有所好,喜欢算法的玩算法,喜欢数字的玩数字如果用于科学研究,那么两个计算器都不可靠。。。。”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

小黑屋|手机版|Archiver|(inSky)

GMT+8, 2024-5-4 22:09 , Processed in 0.027148 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表