English
登录
加入联盟
找回密码
航空人生
新一代连飞客户端下载
空管人生
中国航空运动协会推荐
WEFLY
模拟飞行玩家聊天工具
门户
文章
商城
原创商城
官方淘宝
二手市场
学院
云课堂
考试
资料下载
论坛
模拟飞行
低空飞行
太空探索
航圈
联机
航空人生(连飞)
飞行人生(虚航)
空管人生(虚管)
空战人生(对战)
工具
联飞地图
航路查询
航图查询
气象报文
资源
插件库
素材库
云网盘
企业
飞行者联盟
»
论坛
›
【模拟飞行】
›
FlightGear
›
问答专区
›
在虚幻引擎里进行飞行仿真模拟-JSBSim
返回列表
发新帖
查看:
1004
|
回复:
0
在虚幻引擎里进行飞行仿真模拟-JSBSim
[复制链接]
孙潜
孙潜
当前离线
UID
5030
注册时间
2014-4-19
在线时间
小时
最后登录
1970-1-1
精华
阅读权限
30
听众
收听
雷达卡
发表于
前天 23:03
|
显示全部楼层
|
阅读模式
在前面的文章中,我们探讨了当前在虚幻引擎(Unreal Engine)里进行飞行仿真模拟的行业现状,在深入飞行仿真实践之前,有必要掌握一些技术背景知识。本文将详细介绍JSBSim模型的关键技术要点。
JSBSim介绍
飞行动力学是研究飞行器在空中运动规律的科学,它涉及到飞行器在空中飞行时的受力、运动状态以及控制等多方面。飞行动力学是航空航天工程中的一个重要分支,它与空气动力学、结构力学、控制理论等多个学科紧密相关。要实现精确的飞行仿真模拟,必定是需要结合真实物理环境、真实的飞行器参数来进行的,这样就离不开飞行动力模型的支持。
JSBSim 是一个飞行动力学模型 FDM(Flight Dynamics Model),其定义了飞行器(例如:飞机、火箭等等)在各种控制力(例如:发动机引擎、机翼等)和自然力(例如:风力、重力等)作用下运动的物理和数学模型。
JSBSim 模型是用C++编写的,支持跨平台调用。作为一个控制台应用程序,它没有图形化界面,但是可以和UE、
flightgear
等其他可视化引擎进行结合使用。更多详细信息可以查看 Github 仓库:https://github.com/JSBSim-Team/jsbsim。
JSBSim 具有如下特性
非线性6自由度控制:提供了更精确的飞行动力学模拟和控制;
XML 文件参数配置:可以通过 XML 文件详细配置飞行器的操控系统、空气动力学、推进、起落架布置等;
内置了精确的地球模型:
考虑了地球自转对运动方程的影响,采用了科里奥利和离心加速度模型;
使用了 WGS84 坐标系来构建了地球椭球模型;
根据国际大气标准(1976)建立的大气模型;
模拟结果输出多样:结果数据支持多种形式输出,包括输出到文件存储、屏幕显示或者 Scoket 消息等。
支持其它语言的 SDK
JSBSim 官方提供了支持 Python、Matlab、UE 三个平台的 SDK 库:
Python SDK,允许在 Python 中调用模型功能,和 C++ 完全一致;
Matlab SDK,提供在在 Matlab 里调用模型的接口;
UE SDK,一个虚幻引擎插件,能够把 UE 的虚拟环境和飞行动力学模型结合起来;
由于模型支持的输入和输出都很灵活,所以用 SDK 可以很方便地与各种可视化平台、软件进行集成。
JSBSim 现有的应用
虚幻引擎的 Antoinette 项目:创建下一代飞行模拟器的工具;
各种飞行模拟软件:FlightGear, OutTerra, Skybolt Engine;
SITL
无人机
自动驾驶测试:ArduPilot, PX4 Autopilot, Paparazzi;
机器学习飞机控制:gym-jsbsim;
DARPA虚拟空战比赛:有一个AI在与空军战斗机的五轮空战模拟中都胜利了 (参见 YouTube 视频);
如何使用 JSBSim
在虚幻引擎里面使用 JSBSim,可以参考官方的案例,使用其提供的 UE 插件。可以从其 GitHub 官方仓库中的 UnrealEngine 文件夹里获取 UE 插件,编译之后直接预览UE项目。本系列后续文章将围绕这个插件进行详细介绍。
当然,也可以直接在 C++项目中使用 JSBSim,通过 C++ API 的方式调用,如果使用 UE 平台进行开发,也是可以直接调用其 C++ API 的。
想立即体验飞行的读者,也可以下载 FlightGear 这个免费的模拟器,安装之后就可以直接体验翱翔天空的感觉。
如果要在其它平台、开发环境中使用 JSBSim,可以下载或者自己编译其二进制安装包来使用。在 Windos 环境下,可以下载官方打包好的 exe 程序,这是一个控制台程序,没有图形界面。安装后,可以使用 JSBSim.exe 运行模拟,也可以使用 aeromatic.exe 交互式地创建自己的飞机模型。Ubuntu 环境下也有对应的 Debian 包来使用。
安装好之后,在根目录的 Data 文件夹中可以看到自带的飞行器数据包(如果没有,也可以自行下载),里面存放了各类飞行器的XML配置文件。由于JSBSim是飞行动力学模型,调整这些参数时必须符合物理定律,否则飞行器将无法正常飞行。
无人机
相关帖子
•
MEMS IMU,让无人机探索无限可能
•
飞控系统不能缺少的传感器!超越STIM300的性能,更低的价格
•
组合导航,无人系统的得力助手
•
飞行DIY
•
飞行的核心组件,你不可缺少的六轴
•
飞行不可缺少的六轴组件
•
GNSS+INS组合导航!能为飞行带来什么?
•
你知道GNSS+INS组合导航系统在飞行中有什么用吗?
•
专访王林:单发活塞金标飞机在中国从无到有的突破
•
【皇牌空战7】不灭的雄猫!最终战,F14D VS ADF11F
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
加入联盟
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表