JSBSim

програмне забезпечення

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.

Посилання ред.