JSBSim是一个模拟飞机飞行空气动力学的,这些都不用深入理解,只要知道自己程序怎么和JSBSim交互就行了

我使用的是JSBSim-Win32-0.9.13

原理:改写jsbsim的FGInput 和FGOutput两个类

使其能通过udp或者tcp与自己的程序进程通信,以实现自己程序通过网络端,发送控制命令并获取飞机姿态的目的。

udp通信的例子:简单的udp通信

进阶版udp和tcp通信的例子:基于winsocket2的TCP\UDP使用例子

JSBSim的简单介绍(转):飞行模拟软件JSBSim的操作(FGFCS类)

JSBSim的使用--飞行控制组件及其配置

实现的本端发送tcp飞机控制端 和 获取udp飞机姿态的部分:TCP|UDP与飞行模拟软件JSBSim的通信,现实模型飞行!

实现JSBSim端部分:

FGInput部分

输入参数:

fcs/aileron-cmd-norm normalized aileron command    规范化副翼命令    使飞机做横滚机动
fcs/elevator-cmd-norm normalized elevator command   规范化升降舵命令
fcs/rudder-cmd-norm       方向舵
fcs/steer-cmd-norm        驾驶
fcs/flap-cmd-norm        襟翼  基本效用是在飞行中增加升力,便于起飞降落
fcs/speedbrake-cmd-norm      减速板,又称阻力板,飞机上用于增加阻力以减低飞行速度的可操纵面
fcs/spoiler-cmd-norm        扰流器,通过上下摆动来调节飞机的飞行时速
fcs/pitch-trim-cmd-norm    俯仰配平
fcs/roll-trim-cmd-norm    旋转配平
fcs/yaw-trim-cmd-norm    偏航配平
gear/gear-cmd-norm      齿轮、传动装置
fcs/left-aileron-pos-rad    副翼
fcs/left-aileron-pos-deg
fcs/left-aileron-pos-norm
fcs/mag-left-aileron-pos-rad
fcs/right-aileron-pos-rad
fcs/right-aileron-pos-deg
fcs/right-aileron-pos-norm
fcs/mag-right-aileron-pos-rad
fcs/elevator-pos-rad    升降舵
fcs/elevator-pos-deg
fcs/elevator-pos-norm
fcs/mag-elevator-pos-rad
fcs/rudder-pos-rad    方向舵
fcs/rudder-pos-deg
fcs/rudder-pos-norm
fcs/mag-rudder-pos-rad
fcs/flap-pos-rad    襟翼
fcs/flap-pos-deg
fcs/flap-pos-norm
fcs/speedbrake-pos-rad    减速板
fcs/speedbrake-pos-deg
fcs/speedbrake-pos-norm
fcs/mag-speedbrake-pos-rad
fcs/spoiler-pos-rad      扰流板
fcs/spoiler-pos-deg
fcs/spoiler-pos-norm
fcs/mag-spoiler-pos-rad
fcs/wing-fold-pos-norm    机翼折叠
gear/gear-pos-norm
gear/tailhook-pos-norm    制动钩 另加:
fcs/left-brake-cmd-norm  刹车
fcs/right-brake-cmd-norm
fcs/center-brake-cmd-norm
propulsion/starter_cmd    推进
fcs/throttle-cmd-norm[]    油门推杆

FGOutput部分

输出:

position/long-gc-deg    经度
position/lat-gc-deg 纬度
position/h-sl-ft 高度 attitude/roll-rad
attitude/pitch-rad
attitude/heading-true-rad velocities/vc-kts 空速(节|海里/小时)
velocities/h-dot-fps 爬升率(英尺/秒)
velocities/v-north-fps 北向速度(英尺/秒)
velocities/v-east-fps 东向速度(英尺/秒)
velocities/v-down-fps 降速(英尺/秒) fcs/throttle-pos-norm
fcs/elevator-pos-deg
fcs/left-aileron-pos-deg
fcs/right-aileron-pos-deg
fcs/rudder-pos-deg inertia/weight-lbs
inertia/empty-weight-lbs
propulsion/total-fuel-lbs forces/fbx-prop-lbs
forces/fby-prop-lbs
forces/fbz-prop-lbs velocities/x-fps
velocities/y-fps
velocities/z-fps accelerations/xdot-ft_sec2
accelerations/ydot-ft_sec2
accelerations/zdot-ft_sec2 fcs/left-gear-pos-deg
fcs/right-gear-pos-deg
fcs/head-gear-pos-deg
fcs/left-flap-pos-deg
fcs/right-flap-pos-deg
fcs/left-elevator-deg
fcs/right-elevator-deg
fcs/left-rudder-deg
fcs/right-rudder-deg

本端多线程部分(发送和接受数据都是另开线程)

本端开启关闭JSBSim进程部分:

本端使用摇杆部分:

摇杆基础:摇杆开发

[原][osgEarth][JSBSim]重新整理使用JSBSim飞机动力模拟的使用的更多相关文章

  1. [转][JSBSim]使用VS2015编译JSBSim

    转自csdn原文:https://blog.csdn.net/yu_lei_/article/details/81463187 请大家去看原文,原文有图片和资源,本文仅供本人参考 权威参考:http: ...

  2. 原 IOS之NSValue整理

    原 IOS之NSValue整理 发表于2年前(2013-02-28 23:02)   阅读(1974) | 评论(0) 5人收藏此文章, 我要收藏 赞3 IOS NSValue 值对象(value o ...

  3. [原][译][jsbsim]空气动力学模型库讨论JSBSim对比YASim

    英文原文:JSBSim_vs_YASim 准确性和现实性飞行动力学模型的准确性和真实性是针对YASim的争论中提出的两个共同点.实际上,如果你给YASim或JSBSim垃圾参数,它们都将返回垃圾空气动 ...

  4. [原][osgEarth]添加自由飞行漫游器

    //头文件里 #define MANIPULATOR_W 0x01#define MANIPULATOR_A 0x02#define MANIPULATOR_S 0x04#define MANIPUL ...

  5. [原][osgEarth]在osgearth中添加相机路径动画

    在osg中添加相机动画路径请参考:http://www.cnblogs.com/lyggqm/p/8075277.html 这里的代码是在osgearth中添加相机动画路径漫游器: #include ...

  6. [原][osgearth]设置OE的高程,高度场的数据。修改设置高度值

    ; row < hf->getNumRows(); ++row ) { ; col < hf->getNumColumns(); ++col ) { float val = h ...

  7. [原][osgearth]osgearthviewer读取earth文件,代码解析(earth文件读取的一帧)

    跑osgearthviewer程序 使用一个earth文件做参数传入 跟进代码. 首先osgearthviewer程序加载earth的方式分为两种: 1.根据earth文件(load方式) 2.使用S ...

  8. [原][osgearth]API加载earth文件的解析

    参考:http://blog.csdn.net/cccstudyer/article/details/17691893 通过\src\osgEarthDrivers\earth\ReaderWrite ...

  9. [原][osgearth]earth文件加载道路一初步看见模型道路

    时间是2017年2月5日17:16:32 由于OE2.9还没有发布,但是我又急于使用OE的道路. 所以,我先编译了正在github上调试中的OE2.9 github网址是:https://github ...

随机推荐

  1. 使用Wisdom RESTClient进行自动化测试,如何取消对返回的body内容的校验?对排除的JSON属性字段不做校验?

    使用 Wisdom RESTClient 进行自动化测试 REST API,默认是对返回HTTP状态码和body内容都进行严格匹配和校验. (1). 如果每次触发API返回的body内容是动态变化的, ...

  2. QQ项目

    QQ第一部分: 1.数据库 每一个QQ账户必须有  a. state:是否上线的状态  b. IP:正在上线的主机的IP  c. port:UDP端口号(用这个和别的好友通讯)  注:TCP连接时,在 ...

  3. ZYNQ学习之路1. Linux最小系统构建

    https://blog.csdn.net/u010580016/article/details/80430138?utm_source=blogxgwz1 开发环境:window10, vivado ...

  4. NGINX转发代理情况下,获取客户单真实IP

    编译时加上http_realip_module 模块 realip模块生效的前提是:直接连接nginx的ip是在set_real_ip_from中指定的. 原机配置: set_real_ip_from ...

  5. Golang中map的三种声明方式和简单实现增删改查

    package main import ( "fmt" ) func main() { test3 := map[string]string{ "one": & ...

  6. jsonp获取股票信息

    源码: <script src="http://hq.sinajs.cn/list=sh600050" charset="gb2312"></ ...

  7. Git pull的时候遇到问题

    转载:https://www.jianshu.com/p/7b1c58e0a9ef 使用git从远程pull代码时报错: error: The following untracked working ...

  8. python使用pip下载模块

    举例下载串口模块pyserial: 下载安装了python之后,打开cmd,在python的安装目录里,搜索pip,把pip3.7.exe拖进cmd,然后输入pip3.7.exe install py ...

  9. fastjson常用方法

    fastjson是一款alibaba公司开发的json工具包.json经常被使用在数据传输方面,因此特意对它的一些常用方法做备注,欢迎看客在评论区补充或指出问题. 首先定义一个实体类,用于我们进行对象 ...

  10. P4213 【模板】杜教筛(Sum)(杜教筛)

    根据狄利克雷卷积的性质,可以在低于线性时间复杂度的情况下,求积性函数前缀和 公式 \[ 求\sum_{i=1}^{n}\mu(i) \] 因为\(\mu*I=\epsilon\) 所以设\(h=\mu ...