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[0] 油门推杆
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进程部分:
本端使用摇杆部分:
摇杆基础:摇杆开发