[原][osgEarth][JSBSim]重新整理使用JSBSim飞机动力模拟的使用
JSBSim是一个模拟飞机飞行空气动力学的,这些都不用深入理解,只要知道自己程序怎么和JSBSim交互就行了
我使用的是JSBSim-Win32-0.9.13
原理:改写jsbsim的FGInput 和FGOutput两个类
使其能通过udp或者tcp与自己的程序进程通信,以实现自己程序通过网络端,发送控制命令并获取飞机姿态的目的。
udp通信的例子:简单的udp通信
进阶版udp和tcp通信的例子:基于winsocket2的TCP\UDP使用例子
JSBSim的简单介绍(转):飞行模拟软件JSBSim的操作(FGFCS类)
实现的本端发送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飞机动力模拟的使用的更多相关文章
- [转][JSBSim]使用VS2015编译JSBSim
转自csdn原文:https://blog.csdn.net/yu_lei_/article/details/81463187 请大家去看原文,原文有图片和资源,本文仅供本人参考 权威参考:http: ...
- 原 IOS之NSValue整理
原 IOS之NSValue整理 发表于2年前(2013-02-28 23:02) 阅读(1974) | 评论(0) 5人收藏此文章, 我要收藏 赞3 IOS NSValue 值对象(value o ...
- [原][译][jsbsim]空气动力学模型库讨论JSBSim对比YASim
英文原文:JSBSim_vs_YASim 准确性和现实性飞行动力学模型的准确性和真实性是针对YASim的争论中提出的两个共同点.实际上,如果你给YASim或JSBSim垃圾参数,它们都将返回垃圾空气动 ...
- [原][osgEarth]添加自由飞行漫游器
//头文件里 #define MANIPULATOR_W 0x01#define MANIPULATOR_A 0x02#define MANIPULATOR_S 0x04#define MANIPUL ...
- [原][osgEarth]在osgearth中添加相机路径动画
在osg中添加相机动画路径请参考:http://www.cnblogs.com/lyggqm/p/8075277.html 这里的代码是在osgearth中添加相机动画路径漫游器: #include ...
- [原][osgearth]设置OE的高程,高度场的数据。修改设置高度值
; row < hf->getNumRows(); ++row ) { ; col < hf->getNumColumns(); ++col ) { float val = h ...
- [原][osgearth]osgearthviewer读取earth文件,代码解析(earth文件读取的一帧)
跑osgearthviewer程序 使用一个earth文件做参数传入 跟进代码. 首先osgearthviewer程序加载earth的方式分为两种: 1.根据earth文件(load方式) 2.使用S ...
- [原][osgearth]API加载earth文件的解析
参考:http://blog.csdn.net/cccstudyer/article/details/17691893 通过\src\osgEarthDrivers\earth\ReaderWrite ...
- [原][osgearth]earth文件加载道路一初步看见模型道路
时间是2017年2月5日17:16:32 由于OE2.9还没有发布,但是我又急于使用OE的道路. 所以,我先编译了正在github上调试中的OE2.9 github网址是:https://github ...
随机推荐
- js遍历对象所有的属性名称和值
/* * 用来遍历指定对象所有的属性名称和值 * obj 需要遍历的对象 * author: Jet Mah * website: http://www.javatang.com/archives/2 ...
- 微信企业号OAuth2.0验证接口来获取成员的身份信息
<?php $appid = "请输入您企业的appid"; $secret = "请输入您企业的secreat"; if (!isset($_GET[' ...
- 应使用sqlplus代替tnsping进行oracle连通性测试
一直以来,都习惯于tnsping alias测试确定使用了那个sqlnet.ora,并测试连通性.最近在制作系统的安装包,为了轻量级以及提高实施效率,全部客户端使用oracle instant cli ...
- 一个随机验证码且不重复的小程序以及求随机输入一组数组中的最大值(Java)
1.代码: package day20181015;import java.util.Arrays;/** * 验证码的实现 * @author Administrator */public clas ...
- 06:vuejs项目实战
1.1 项目说明 1.技术架构 vue.js, 模块化,工程化, 移动端 2.目录部署 Css:所有样式文件 Data:所有异步接口 Img:所有图片文件 Js:所有js文件(2.0) index.h ...
- k8s tensorflow
Online learning github source Kubeflow实战系列 Prepare 了解ksonnet初探Google之Kubeflow (采用的是0.8.0)install dep ...
- Idea 破解教程 (2018.11-29最新版)
一.下载安装idea,这里不做赘述.官网-https://www.jetbrains.com/idea/ 二.安装完idea后,需要激活使用.这里需要先下载个工具包 ,下载网址http://idea. ...
- opencv学习之路(15)、形态学其他操作(开、闭、顶帽、黑帽、形态学梯度)
一.形态学其他操作(用的不多,如果忘了也可以通过膨胀腐蚀得到相同效果) 1.开运算 2.闭运算 3.形态学梯度 4.顶帽 5.黑帽 #include "opencv2/opencv.hpp& ...
- 2018-2019-2 《网络对抗技术》Exp2 后门原理与应用 20165211
目录 后门原理与应用 实验内容 基础问题回答 常用后门工具 Netcat Socat MSFmeterpreter 实践过程记录 1.后门工具熟悉 2.使用netcat获取主机操作Shell,cron ...
- ScheduledTheadPool线程池的使用
ScheduledTheadPool线程池的特点在于可以延迟执行任务,也可以周期性执行任务. 创建线程池 ScheduledExecutorService scheduled = Executors. ...