导入四旋翼模型或其他模型到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与前面保持一致