[原][JSBSIM]aircraft飞机xml脚本

jsb文档

jsbxml文档

jsb定义每架飞机时定义的参数:

JSBSim does not model specific aircraft in program code. The aircraft itself is defined in a file written in an XML-based format where the aircraft mass and geometric properties are specified. Additional statements define such characteristics as:

  • Landing gear location and properties.
  • Pilot eyepoint
  • Additional point masses (passengers, cargo, etc.)
  • Propulsion system (engines, fuel tanks, and "thrusters")
  • Flight control system
  • Autopilot
  • Aerodynamic stability derivatives and coefficients

JSBSim不会在程序代码中为特定飞机建模。 飞机本身在以基于XML的格式编写的文件中定义,其中指定了飞机质量和几何属性。 附加声明定义了以下特征:
起落架的位置和属性。          ground_reactions
飞行员眼点                 EYEPOINT
附加点质量(乘客,货物等)         mass_balance
推进系统(发动机,油箱和推进器    propulsion
飞行控制系统              flight_control
自动驾驶仪                 autopilot
空气动力学稳定性导数和系数              aerodynamics

 

配置文件格式被设置为易于理解,例如具有类似教科书的系数,这使得新手能够立即流畅地描述车辆,并且仅需要先前的基本理论空气动力学知识。

JSBSim的一个更独特的功能是其飞行系统建模方法,如飞行控制系统,自动驾驶仪,电气等。这些是通过组装代表滤波器,开关,夏天,增益,传感器等的组件串来建模的。

Fileheader

文件简介

Author作者

Filecreationdate 日期

Version 版本

License 许可方式

Description 简单描述

Note 详细描述

Reference 参考

 

Metrics

管理机身各项参数指标

 单位:unit

    FT2 平方英尺

    FT 英尺

      RAD 弧度数

所有单位在FGAircraft::Load 函数里加载

wingarea     机翼面积

wingspan     翼展;翼层长度

chord    翼弦

htailareavtailarea         尾翼面积

htailarmvtailarm    尾翼力臂

wing_incidence 机翼倾角

location 位置

ground_reactions

管理起落架

FGGroundFeactions

管理与地面的接触。 维护起落架和地面接触点列表,FGLGear的所有实例。 计算他们的推力和时间片,提供给FGPropagate。 解析的是飞机配置文件的<ground_reactions>部分。

   <ground_reactions>

        <contact>

           ... {see FGLGear for specifics of this format}

        </contact>

        ... {more contacts}

    </ground_reactions>

 

FGMassBalance

管理模型重量,平衡和转动惯量信息。 保持点质量的向量。 总结所有的信息,提供给FGPropagate。 加载的是飞机配置文件的<mass_balance>部分

<mass_balance>
        <ixx unit="{SLUG*FT2 | KG*M2}"> {number} </ixx>
        <iyy unit="{SLUG*FT2 | KG*M2}"> {number} </iyy>
        <izz unit="{SLUG*FT2 | KG*M2}"> {number} </izz>
        <ixy unit="{SLUG*FT2 | KG*M2}"> {number} </ixy>
        <ixz unit="{SLUG*FT2 | KG*M2}"> {number} </ixz>
        <iyz unit="{SLUG*FT2 | KG*M2}"> {number} </iyz>
        <emptywt unit="{LBS | KG"> {number} </emptywt>
        <location name="CG" unit="{IN | M}">
            <x> {number} </x>
            <y> {number} </y>
            <z> {number} </z>
        </location>
        <pointmass name="{string}">
            <weight unit="{LBS | KG}"> {number} </weight>
            <location name="POINTMASS" unit="{IN | M}">
                <x> {number} </x>
                <y> {number} </y>
                <z> {number} </z>
            </location>
        </pointmass>
        ... other point masses ...
    </mass_balance>

 

external_reactions

单方向力管理器,FGExternalForce基于FGForce派生

此类封装在车辆上指定位置应用的单个力,并按照三个框架之一中的指定方向定向:

-  BODY框架定义为基于飞机本身的

X轴正向前,Y轴正向右翼,Z轴正向下腹部。

-  LOCAL框架定义基于世界的

X为正北,Y为正东和Z正下地球中心的右手坐标系

-  WIND 框架(旋转)在风矢量中具有X负(换句话说,拖动沿着正X轴),Z轴垂直于X并且正向上(升力)但是在飞机XZ平面中,Y完成了 右手系统。 这是从正常的风框架定义修改的,该定义从该WIND框架绕Y轴旋转180度。(搞不懂)

<force name="name" frame="BODY | LOCAL | WIND"> 
      [<function> ... </function>]
      <location unit="{IN | M}"> 
        <x> {number} </x>
        <y> {number} </y>
        <z> {number} </z>
      </location>
      [<direction> <!-- optional initial direction vector -->
        <x> {number} </x>
        <y> {number} </y>
        <z> {number} </z>
      </direction>]
    </force>

Propulsion

推进管理器 FGPropulsion

推进级是整个推进系统的容器,其由发动机engine和容器罐tank组成

<propulsion>
        <engine file="{string}">
          ... see FGEngine, FGThruster, and class for engine type ...
        </engine>
        ... more engines ...
        <tank type="{FUEL | OXIDIZER}"> 
          ... see FGTank ...
        </tank>
        ... more tanks ...
        <dump-rate unit="{LBS/MIN | KG/MIN}"> {number} </dump-rate>
    </propulsion>

 

flight_control

飞行控制管理器 FGFCS

“系统system”和“自动驾驶autopilot”也在本管理器中

 

 

 

aerodynamics

 

 

 

system

 

output

可以输出的参数

    simulation       
    atmosphere       
    massprops        
    aerosurfaces     
    rates            
    velocities       
    forces           
    moments          
    position         
    coefficients     
    ground_reactions 
    fcs              
    propulsion 

Output文件自带了几种输出类型:

CSV 保存到文件,数据用逗号分隔

SOCKET 通过网络SOCKET输出,JSB没完成,我自己改成UDP发送

FLIGHTGEAR 专门给FLIGHTGEAR软件定制的二进制SOCKET流发送,可以参考

TABULAR 想要进行柱状数据输出,JSB没完成

TERMINAL 输出到终端,JSB没完成

 

 

 

 

 

 

posted @ 2018-12-10 15:20  南水之源  阅读(2010)  评论(0编辑  收藏  举报