X-Plane原生支持的通信方式比较复杂,因此考虑借鉴第三方工具。

NASA写了个插件直接与X-Plane通信获取数据,同时该插件还通过UDP与外部程序通信,通过这个插件做代理,可以实现X-Plane自带的UDP那种功能。经过定制后的通信更加方便了,不需要再考虑X-Plane原生的UDP通信方式中数据对齐的问题了。

本文利用该插件实现了X-Plane数据的回放功能,比X-Plane自带的Load Flight data Recorder file的fdr格式的文件方便很多。

通过MATLAB的Import Data将X-Plane下Data文件中的姿态角和GPS数据(经度、维度、高度)导入进工作空间

对以下代码段进行了更改,注释掉原始的位置发送段,将记录的经度、维度、高度和姿态角,即

lat__deg,lon__deg,altftmsl,pitch__deg,roll__deg,hding_true按照一定频率逐个发送到X-Plane中(这里因为记录数据时选取的是99Hz,因此发送间隔设置为0.01秒,即“pause(0.01)” )

%% Set position of the player aircraft
disp('Setting position');pauseSim(1, Socket);
% Lat Lon  Alt Pitch Roll Heading Gear
% POSI = [1.3099, 103.9875, 2500, 0, 0, 0, 1];
% sendPOSI(POSI, 0, Socket); % Set own aircraft position
for i = 1:size(pitch__deg)
POSI = [lat__deg(i),lon__deg(i),altftmsl(i),pitch__deg(i),roll__deg(i),hding_true(i),1];
sendPOSI(POSI, 0, Socket); % Set own aircraft position
pause(0.01);
end

以下对自己记录的数据进行下回放展示:半古巴8字特技动作演示

很多功能都得自己逐步探索开发,一起前进~

注:使用该代码,需要将NASA开发的插件一并拷贝进入X-Plane插件目录下,在X-Plane界面勾选使用,否则程序不能正常运行。

即Resources文件夹下的plugins:

本文参考程序来源:NASA的X-Plane Connect(https://github.com/nasa/XPlaneConnect)简称XPC。

MATLAB与X-Plane通信以及X-Plane飞行数据回放相关推荐

  1. 基于matlab的雷达和通信系统,基于MATLAB的多功能通信信号源仿真

    第 29 卷 第 3 期 2006 年 9 月 电 子 器 件 Chinese Journal of Electron Devices Vol. 29 No. 3 Sep. 2006 Simulati ...

  2. 【通信系统仿真设计】基于Matlab的2Q-FSK移频键控通信系统仿真

    基于Matlab的2Q-FSK移频键控通信系统仿真 前言 仿真原理 实验原理 载波 调制 接收端接收 加噪实现 解调 滤波器 滤波实现 滤波结果图 码元判决 实验结果 实验结果拟合 仿真代码 完整代码 ...

  3. 基于MATLAB的车联网(VANET)通信系统仿真

    基于MATLAB的车联网(VANET)通信系统仿真 随着汽车产业和信息技术的发展,车联网技术已经成为智慧出行的重要组成部分.而车联网的一个关键问题就是如何建立高效稳定的通信网络,以保证车辆之间的安全和 ...

  4. Simulink和MATLAB工作区的TCPIP通信

    Simulink和MATLAB工作区的TCPIP通信 1. 说明 2. 效果展示 3. simulink端的结构和说明 4. 工作区文件说明 5. 文件资源 6. 运行方法 7. 问题 8 多多点赞交 ...

  5. python调用aspen_用Matlab与Aspen Plus通信

    用Matlab与Aspen Plus通信 Devin 欢迎关注我的知乎账号和过程系统工程专栏,专注于化工.过控.制药.优化的学习心得体会分享.如需转载,请私信. 收藏前,欢迎点赞! Aspen Plu ...

  6. matlab抓取股票数据,Matlab经过sina web接口获取个数即时股票数据函数实现代码

    Matlab通过sina web接口获取个数即时股票数据函数实现代码 代码如下: function stockinfo = queryprice(stocktype, stockid) %stockt ...

  7. java串口发送16进制数据_MFC串口通信发送16进制数据的方法

    本文实例为大家分享了MFC串口通信发送16进制数据的具体代码,供大家参考,具体内容如下 MFC串口通信会使用m_mscomm控件. 发送数据一般是在edit control 里输入自己想发送的内容,然 ...

  8. 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件...

    重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 原文:重新想象 Windows 8.1 Store Apps (89) - 通信 ...

  9. STM32串口通信中使用printf发送数据配置方法 开发环境 Keil

    STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK) 已有 12456 次阅读2011-6-29 23:29 | 在STM32串口通信程序中使用printf发送数据, ...

最新文章

  1. MySQL时间段datetime格式查询比较 -易犯错误解决
  2. 使用pytesseract出现错误:“[WinError 2] 系统找不到指定的文件
  3. Python相关系数矩阵热力图(二)
  4. docker mysql编辑器_docker官方mysql镜像自定义配置详解
  5. linux shell 提示符设置
  6. 剑指offer 求第n个丑数
  7. java 前置通知_spring aop中的前置通知
  8. kendo grid输入框验证方法
  9. 测试工程师不懂AI,还有未来吗?
  10. C语言课后习题(26)
  11. LeetCode 404 左叶子之和
  12. 涉密文件检查工具_保密文件销毁咨询
  13. 什么是document对象?如何获取文档对象上的元素?_JavaScript DOM操作元素的方法,你还记得多少?...
  14. 图论及其应用 2011年 期末考试 答案总结
  15. office2013打开出现配置进度
  16. 1u服务器电源制作,1U服务器电源也可以做机箱电源
  17. 离线语音风扇设计应用案例
  18. gitLab注册There was an error with the reCAPTCHA. Please solve the reCAPTCHA again.
  19. 《python编程从入门到实践》第16章:收盘价均值的报错分析与解决
  20. BMP、JPEG文件格式详解

热门文章

  1. Python实现的深度学习技术在水文水质领域应用
  2. 黑帽seo需要懂编程吗?
  3. 做城市/景区慢直播,EasyNVR平台如何调用接口实现MP3音频上传?
  4. python的字符串一些方法
  5. webpack打包工具
  6. 软件测试 | 测试开发 | Aiomysql 与 Sqlalchemy 的使用
  7. MySQL的ODBC驱动下载及安装 (免登录注册)
  8. 一款开源的绘图软件Dia,其功能直逼微软的Visio(附视频Demo)
  9. 基于PHP+MySQL实现(Web)英语学习与测试平台【100010284】
  10. ESG数据更新 | 商道融绿ESG评级(2015-2022年)