JSBSim це програмна модель динаміки польоту з відкритим кодом, що реалізує бібліотеку, яка моделює динаміку польоту аерокосмічного апарату. Бібліотека використовується як складова таких авіасимуляторів як FlightGear і OpenEaagles. JSBSim знаходиться в розробці і використанні з 1996, і може збиратися під всі найбільш популярні платформи, включаючи Linux, Macintosh, і Microsoft Windows operating systems. JSBSim написаний на C++ і використовує конфігураційні файли у форматі XML.

JSBSim
Типкрос-платформовий інженерний авіасимулятор
РозробникJSBSim build team
Стабільний випуск1.0.0 Release Candidate (31 May 2009)
Операційна системаWindows, Linux, Cygwin, Mac OS X, FreeBSD, Solaris, IRIX
ЛіцензіяLGPL
Вебсайтjsbsim.org

Історія і огляд

ред.

JSBSim був задуманий у 1996 як легкий, керований даними, не лінійний, із шістьма степенями свободи (6DoF), програмний симулятор, ціллю якого є моделювання динаміки польоту і управління літального апарата. З самого початку, JSBSim розвивався як продукт з відкритим кодом і виріс завдяки широкому колу користвувачів, які зробили в вклад і реалізували свої ідеї для його вдосконалення. Він був вбудований у більші, повно функціональні, авіасимулятори і архітектури (FlightGear і OpenEaagles), і використовується в моделюванні для промисловості і в наукових цілях.

Симулятор має дуже просте використання. Наступний код показує як JSBSim можна виконати за допомогою невеликої програми, і керувати ним за допомогою скрипту:

#include <FGFDMExec.h>

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

Програма показана вище працює з бібліотекою JSBSim, і потребує лише файлу конфігурації літального апарату, файл що задає початкові умови і скрипт, який контролює виконання. Всі ці файли задаються в форматі XML (eXtensible Markup Language). Приклад такого файла, який задає аеродинаміку definition is shown below:

<function name="aero/coefficient/CDDf">
  <product>
    <property>aero/qbar-area</property>
    <table>
      <independentVar>fcs/flap-pos-deg</independentVar>
      <tableData>
          0.0  0.0
         10.0  0.007
         20.0  0.012
         30.0  0.018
      </tableData>
    </table>
  </product>
</function>

Вхідні, вихідні дані

ред.

Запускаючи JSBSim окремо використовуючи базову програму, необхідно лише вказати ім'я скрипту. Вхідні дані керування можуть передаватися в JSBSim логікою скрипту.

Якщо файл конфігурації літального засобу задає налаштування вхідного порту, користувач також може посилати повідомлення telnet до JSBSim. ЗА допомогою інтерфейсу telnet, можна задавати і зчитувати значення багатьох параметрів, що використовуються в JSBSim. Процедуру симуляції можна поставити на паузу і згодом відновлювати. Можливість спілкування за допомогою telnet, звичайно, буде більш популярна при використанні JSBSim в реальному часі. Програма, яка поставляється з дистрибутивом JSBSim дозволяє здійснювати запуск в режимі реального часу.

JSBSim може перенаправляти вихідні дані, на консоль (екран), у файл, або передавати по мережі. Вихід може одночасно спрямовуватись у будь-яку кількість каналів, де кожен канал може мати будь-який набір даний або окремий конкретний параметр, і може направлятися у будь-який файл або сокет (або навіть консоль), і може видаватися з будь-якою частотою.

Утиліта, яка поставляється з JSBSim перетворює увесь файл вихідних даний JSBSim і створює повний набір графіків у PDF форматі, використовуючи інструмент для побудови графіків, gnuplot.

Посилання

ред.