欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年FlightGear软件的IO系统 .pdf

    • 资源ID:39707501       资源大小:63.30KB        全文页数:4页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年FlightGear软件的IO系统 .pdf

    1.FGFS 的 IO 系统FGFS 是一个做研究的非常优秀的系统,飞行,气动,控制等,做这些免不了要和FG 进行数据交换,本文主要说说FG 的 IO 系统,包括 FG 的 IO 架构,支持的 IO 协议,及与FG 的通信。1.1.FG 的 IO 系统架构FG 支持许多IO 协议,这些协议均由一个simgear 的 SGSubsystem模块形式实现的FGIO 子系统来进行管理。这些协议在功能和作为可能有相同的以可能不同,并且这些模块可以同时启动。在一个FG 运行实例中可以同时使用多种协议与其进行通信。FG 支持的协议有generic,garmin,joyclient,jsclient,native-ctrls,native-fdm,native-gui,native,nmea等等,详细的列表参见fgfs 的手册。1.2.IO 架构每个协议模块都是一个FGProtocal 的子类,实现了相应的操作接口。主程序先根据命令行的参数确定要启用哪些IO 协议,然后创建对应的io 协议的实例,并以指定的参数初始化。主程序起动后,使用Options 对像来处理命令行参数,所有支持的参数在 options.cxx:struct OptionDesc 结构中定义,该结构还定义的参数的类型,类型是 OPTION_CHANNEL的都是 IO 子系统的。通过在 Options:init()-parseOption()-addOption()将参数以参数名、参数值创建一个OptionValue 对像实例,保存到一个vector 中。然后主程序调用Options:processOptions()-Optons:ptionsPrivate:processOption()来处理每个参数。如果参数类型为OPTION_CHANNEL,就将其添加到全局的FGGlobals:channel_options_list 中,至此参数处理完成。主程序在 fg_init.cxx:fgInitSubssytems()中加载各个子系统,其中就包括 FGIO 子系统,最后调用globals.get_subsystem_mgr().init()初始化所有注册的子系统,对于IO 子系统来说,前面已经将从参数指定的要启动的IO 协议保存到了列表中,在FGIO:init()中遍历已经从命令行分析到的要使用的IO 协议的信息,根据参数指定的协议创建相应的IO 协议的实例,见FGIO:parse_port_config()函数.每种协议参数配置不尽相同,后面在说.FGProtocal 主类定义一操作框架的接口,及几个主要的属性,hz:数据更新/发送的频率;dir:数据的方向,指定 FG 是发送还是接收都,in 表示接收,out 表示是发送;io:数据收发通道,根据协议不同,通道可以是串口,socket,文件等,这些属性在FGIO:parse_port_config()的后半部分中设置的。初始化完成后,就进入工作准备,当主系统调用FGIO:update()时,IO 子系统遍历已经注册的协议,分别调用每个协议的 update()函数。FG 启动时设置IO 系统的参数一般如下面的格式:-protocol=medium,direction,hz,medium_options,.protocol=指定的协议名,如native,nmea,garmin,fgfs,rul,pve,ray等medium=IO 使用的媒体,可以是serial,socket,file,有些协议不需要指定该参数,如httpd,就只有一个设定端口的参数。direction=数据方向,如in,out,有些协议只支持输入或输出hz=数据更新的频率,单位秒,可以使用浮点数名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 4 页 -medium_options 为与选择的IO 像媒体相关的选项,如串口(serial)就需要指定串口的名字和波特率。以上这些参数,不是所有的都需要,是根据使用的媒体需定和协议而定的。1.3.IO 协议介绍本节简单介绍一下一些主机IO 协议的使用方式,只选了几个比较典型和我知道是什么的来介绍,有些协议我以不知道具体的情况,就不说了,有了解的同学请补充。下面的协议名已options.cxx 中的 struct OptionDesc 结构中的定义为准,至于标准名是什么不于追究。使用这些协议与FG 进行通信,先对SimGear 的属性系统及FlightGear 的各种属性有所了解,就很容易使用了,当然有些协议不需要,如 joyclient 1.3.1.atcsim这个好像需要ATC 硬件支持,没法玩,以没玩过。1.3.2.atlasatlas 是一个用于显示飞行地图的程序。1.3.3.httpd指定了 httpd 选项后,FG 在运行时会在指定的端口创建一个http 服务器,这样就可以有 http 协议访问FG 的各种数据,可以使用浏览器打开http:/localhost:port 来打开FG 的属性查看页面,并且还可以直接修改其中的一些属性。具体的属性的意义参考SimGear 的手册。1.3.4.jpg-httpd指定 jpg-httpd 选项后,FG 在运行时会在指定的端口创建一个简单的http 服务器,当访问一个端口时,FG 会返回一张当前FG 运行的屏幕的截图。用浏览器访问就能看到截图。1.3.5.native Native 以是一个二进行协议,不过和前面几个不同的时,数据来由于FG 运行时的全局 FGInterface 类对象 evil_global_fdm_state,在 flight.hxx 文件中定义FDM(Flight Dynamics Model)中的各种数据。这些数据可能更多的是用来调试FG 用,如果只是想和 FG 进行通信,操作飞行器,建议使用其它的一些协议,更方便使用。1.3.6.native-ctrlsNative-ctrls 是一个二进制数据协议,是FG 自己定义的,协议的格式在net_ctrls.hxx文件中的FGNetCtrls 类定义的数据结构体,数据元素比较多,我就不一一说明了,基本上飞行器飞行相关的数据都有了,使用这个协议可以读取或控制FG 中飞行器的各种功能了,如操控的,导航的等等。1.3.7.native-fdmNative-FDM 的使用方式和Native-ctrls 是一样的,只是通信的数据格式有些不同,FDM 的数据格式在net_fdm.hxx 中的 FGNetFDM 结构体中定义,结构定的各字段参看源文件中的定义和说明.1.3.8.native-guiNative-GUI 协议也是和Native-ctrls 差不多的,只是数据格式和含义有所不同,Native-GUI 的数据格式在net-gui.hxx 中的 FGNetGUI 结构体中定义的,结构定的各字段参看源文件中的定义和说明.1.3.9.opengc名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 4 页 -数据结构在opengc_data.hxx 中的 ogcFGData 结构中定义的。OpenGC 是一个多平台,多模拟器的用于开发高质量玻璃驾驶舱显示器的工具。opengc 参数用于指定输出或接收符合OpenGC 的数据。1.3.10.garmin使用 Garmin 协议格式数据,可以用于记录飞行器的GPS位置信息或向提供外部GPS位置信息给FG 使用。协议格式可参考相关文档。记录飞行 GPS数据使用参数:-garmin=file,out,5,recordfile 或可以使用GPS 数据控制FG 中的飞行器:-garmin=file,in,5,recordfile 1.3.11.nmea使用 nmea 协议格式的GPS 数据,可以用于记录飞行器的GPS 位置信息或向提供外部 GPS 位置信息给FG 使用。协议格式可参考相关文档。1.3.12.genericGeneric 是一个基于XML 的协议,XML 的具体格式见README.protocol文档,该协议格式一般用于记录和回放FGFS 的飞机。如要记录飞机过程,可以指定参数:-generic=file,out,20,recordfile,playback。要回放飞行记录,可以使用参数:-generic=file,in,20,recordfile,playback-fdm=external。1.3.13.props指定该参数,FG 会在指定的端口创建一个telnet 服务器.使用 telnet 连接上后,可使用 help 查看帮助,FG 的各种属性就可以向一个文件系统一个操作,可以使用ls列出属性,get/set读/修改属性值。1.3.14.telnet同 props 协议1.3.15.pvePVE 协议以字符串的形式输出roll,pitch,heave 的值,roll,pitch 为角度值。可以用于模拟机坐舱控制等的数据。1.3.16.joyclient能可以使用远程数据当驾驶杆,只支持两个轴,分别控制飞行器的升降舵和副翼。可以通过 Socket 或者串口,向FG 发送数据,数据的格式为两个32 位整数,第一个为 X 轴的位置,第二个数为Y 轴的位置,分别取值为0-4096,为 2048 为中点,小于2048 表示向下偏转对应摇杆的负方向,大于2048 表示向上偏转对应摇杆的正值。1.3.17.jsclient这个功能和joyclient 差不多,只是支持的轴有4 个,并且这4 个轴所控制的功能不是固定的,是根据系统中配置的摇杆的前4 个轴对应的功能,数据格式为6 个 32 位整数,前4 个数对应前4 个轴,后两个数现在没有使用。取值为正负0 x7FFFFFFF之间。1.3.18.multiplay使用格式为-multiplay=dir,Hz,host,port,-callsign=ABCD,多人联机飞行的连接配置,dir设为 in,表示 FG 作为服务器运行,其他飞友连接到你们电脑一起飞行,这需要其他人能直接访问到你的IP。Hz 为数据更新频率,越大数据更新快,但以需要更大的带宽。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 4 页 -host 和 port,如果是服务端,指定在那个地址和端口进行监听,以接受其它人的连接,如果作为客户,指定服务器的地址和端口号。callsign 为你的呼号,在一个服务器上的飞机的呼号不能重复。1.4.使用实例1.4.1.多机同步显示主机设置-native-fdm=socket,out,60,5505,udp -native-ctrls=socket,out,60,5506,udp 其它从机设置-native-fdm=socket,in,60,5505,udp -native-ctrls=socket,in,60,5506,udp -fdm=null 1.4.2.连机飞行连接到 mpserver01.flightgear.org 进行联机飞机,呼号为fg0001-multiplay=out,10,mpserver01.flightgear.org,5000-callsign=fg0001 1.4.3.记录和回放记录-generic=file,out,20,flight.out,playback 回放-generic=file,in,20,flight.out,playback -fdm=external 1.4.4.串口摇杆设置 FG 从串口 com1(linux 使用 ttyS0),以波特率 9600 的速率,接收joyclient 协议的数据.-joyclient=serial,in,30,com1,9600 1.4.5.启动 http 服务-httpd=5501 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 4 页 -

    注意事项

    本文(2022年FlightGear软件的IO系统 .pdf)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开