当前位置: 首页 > 工具软件 > jsbsim > 使用案例 >

JSBSim交联

孟俊发
2023-12-01

JSBSim与FlightGear交联

1.安装FlightGear

2.在cmd中运行如下命令:

fgfs --fdm=null --native-fdm=socket,in,60,,5550,udp --aircraft=Short_Empire --airport=SP01

备注:此处飞机模型使用Short Empire aircraft,需要下载此飞机模型至FlightGear安装路径。

FlightGear运行之后,飞机仍然是静止的。

3.运行JSBSim模型,在cmd中运行如下命令:

JSBSim scripts/Short_S23_2.xml data_output/flightgear.xml --realtime --nice

JSBSim源码见: https://github.com/JSBSim-Team

JSBSim通过FlightGear协议发送飞行动力学数据,协议描述见data_output/flightgear.xml

--realtime标识JSBSim.exe以real  time模式执行,--nice告诉JSBSim尽量以节省CPU的形式运行。

 

 

快速启动JSBSim:

JSBSim.exe --script=scripts/c1721.xml

 

使用C++ API与JSBSim交联:

#include <FGFDMExec.h>

int main(int argc, char **argv)
{
  JSBSim::FGFDMExec FDMExec;
  FDMExec.LoadScript(argv[1]);
  FDMExec.RunIC();
  bool result = true;
  while (result) result = FDMExec.Run();
}

 

使用Python模块交联

import jsbsim

fdm = jsbsim.FGFDMExec('.', None)
fdm.load_script('scripts/c1721.xml')
fdm.run_ic()

while fdm.run():
  pass

 

 类似资料: