导入四旋翼模型或其他模型到flightgear,实现simulink和flightgear联合仿真,进行方形或特定轨迹移动。
1概述
完整的simulink如下图所示:

图1
图中红框1是给定信号,输出一个方波信号,从上到下依次是飞机模型的x,y,z轴坐标以及偏航角yaw;
红框2是控制器模块,输入为飞机模型的x,y,z轴坐标以及偏航角yaw,其输出从上到下依次是x,y,z,roll,pitch,yaw。控制器可以自己搭建或者利用现成的,本文不再赘述。
红框3是fg和simulink通信模块,其输入端1为位置和姿态信息,输入端2为发送给fg的rpm数组。
软件准备:flightgear2018,matlab2022a,blender2.63,AC3D
2 Simulink部分
该部分对应图1中红框3,将其展开得到与flightgeart(以下简称fg)通信的simulink模块如图所示:

图2
注意:这些模块直接在simulink库浏览器直接搜,全都有。下面我们对各个模块作设置和说明。
2.1 打包数据模块(Pack net_fdm Packet for FlightGear)

图3
(1)有些matlab版本在此模块设置界面会有选择fg版本号的选项(这里使用的2022a没有),我们后面下载对应的fg版本即可。这里使用的是matlab2022a和fg2018.3,可自行搜索matlab与支持的fg版本对应关系。
(2)选择你想要发送给fg的参数,这里我们选择位置,高度,能源等作为输入,不用的端口我们给他接地即可;
(3)Sample time选1/30或者继承系统采样时间(-1),注意simulink各模块采样时间要保持一致。
2.2 传输数据模块(Send net_fdm Packet to FlightGear)
在指定的IP地址和UDP端口通过UDP传输一个网络飞行动力学模型(net_fdm)包到FlightGear飞行模拟器。

图4
(1)Destination IP address项填写本机的IP地址。若要进行异机仿真,在这填写fg软件所在电脑的IP地址。(Ip 查找方法为: 在 cmd.exe 里输入 ipconfig 查询)
(2)Destination port保持默认
(3)Sample time与前面保持一致
2.3 生成脚本模块(Generate Run Script)

图5
(1)Select target architecture选择自己的系统
(2)Select FlightGear data flow选择send-receive

图6
(3)flightgear选项里FlightGear geometry model name写模型文件夹名称,模型配置后面会说。
(4)Airport ID写机场名称,Runway ID写跑道名称。可在fg安装目录下FlightGear 2018.3.2\data\Scenery\Airports查看两者信息。
(5)其他项是四旋翼模型初始高度,角度、位置偏移等,按需设置即可。

图7
(6)network选项里Destination/0rigin IP address写fg安装机IP,其余按图中设置。
(7)Network IP address写matlab安装机IP。

图8
(8)file选项里Output file name自定义生成脚本名称(英文)
(9)FlightGear base directory写fg安装目录(date和bin文件的上级目录)
2.4 坐标系设置模块(Flat Earth to LLA)

图9
(1)Units和Planet model按如图设置
(2)Reference geodetic latitude and longitude [deg]和Direction of flat Earth xaxis(degrees clockwise from north),可 以 在 FlightGear\data\Scenery\Airports\K\S\F 文 件 夹 下 KSFO.threshold.xml 中找到跑道信息,如下图所示:

图10
2.5 其他模块

图11

&spm=1001.2101.3001.5002&articleId=137977611&d=1&t=3&u=dc0183a85b244003a2935ef9ad7c2d5c)
3762

被折叠的 条评论
为什么被折叠?



