基于Gazebo的复合式无人机设计与仿真
Design and Simulation of Compound UAV Based on Gazebo
DOI: 10.12677/MOS.2021.102039, PDF, HTML, XML, 下载: 416  浏览: 983 
作者: 成泳陶, 王 鑫, 王立峰:北方工业大学电气与控制工程学院,北京
关键词: 复合式无人机设计Gazebo仿真VTOL UAV Design Gazebo Simulation
摘要: 对垂直起降无人机的结构进行了设计,通过SolidWorks绘制,将其导入3D动态模拟器gazebo中,并且在ROS上进行软件在环仿真。当我们手上没有机器人硬件或实验环境难以搭建时,此种方法往往是非常有用的利器。
Abstract: The structure of the VTOL UAV is designed, drawn by SolidWorks, and imported into Gazebo, a 3D dynamic simulator. Moreover, software-in-the-loop simulation is carried out on ROS, which is often a very useful tool when we do not have robot hardware on hand or the experimental environment is difficult to set up.
文章引用:成泳陶, 王鑫, 王立峰. 基于Gazebo的复合式无人机设计与仿真[J]. 建模与仿真, 2021, 10(2): 379-388. https://doi.org/10.12677/MOS.2021.102039

1. 无人机结构设计

本节提出一种新型的复合式无人机,以下是设计的总体方案。

首先,选定复合式无人机的翼型、雷诺数 [1]、升力系数,通过这些参数确定翼展和翼面积,由此来确定复合式无人机的大体布局,由于是航模对精度要求不大,只需满足自己的需求即可 [2]。

其次,利用solidworks确定无人机的转动惯量和质心等物理参数,为编写Gazebo的SDF代码做准备。

1.1. 无人机的机翼设计

机翼是复合式无人机中固定翼的重要部分,而机翼展长和弦长又是机翼的重要参数,其设计和制造决定无人机飞行的稳定性能和气动性能。

机翼的翼型确定,翼型是机翼等翼面的二维截面,对于机翼和气动性能都很重要,所以在本文中选用比较权威的NACA翼型,由于此飞机是轻量级的复合式无人机,属于低速翼型,往往是圆头具有弯度的厚翼,所以选用NACA四位数的翼型,这里选用NACA6409的翼型,升力系数较大,阻力系数较低,在合乎情理的设计下可以获得最高理论的升租比。二维翼型的参数描述如图1所示 [3]。

Figure 1. Airfoil parameter description

图1. 翼型参数描述

1) 选取合适的升力系数

根据所建三维模型,翼肋根部弦长为b0 = 420 mm,翼肋梢部弦长为b1 = 216 mm。复合式无人机重量m是根据所建三维模型,经过评估测量属性,得到质量大约是18 kg,巡航速度设为20 m/s;由于是轻量级亚音速飞机,其展弦比范围是6~12。将翼肋根部弦长和翼肋梢部弦长输入软件Profili 2.2后进行仿真,得出合适的升力系数CL、阻力系数CD和攻角α。根据式(2),计算出雷诺数为429,000 [4],这里我们选取雷诺数为400,000,图2图3是不同雷诺数下的曲线图以及Re = 400,000下部分攻角的气动力系数表表1

本文计算了机翼攻角从−6˚到13˚下的升阻力系数,从曲线图中看出,攻角在8˚之前呈直线形式上升,在8˚~11˚时增势放缓,攻角11˚时升力系数达到最大;而阻力系数在8˚之前增势平缓,但是超过8˚后呈指数增长;升阻比系数直到6˚时达到最大,往后升阻比系数逐渐下降。

综上,选取攻角为4˚、升力系数1.1050,阻力系数0.0098,接下来将计算复合式无人机的具体尺寸。

Figure 2. Lift drag coefficient curves at different Reynolds numbers

图2. 不同雷诺数下的升力阻力系数曲线图

Figure 3. Graph of lift-drag ratio at different Reynolds numbers

图3. 不同雷诺数下的升阻比曲线图

Table 1. Re = 400,000 Partial aerodynamic coefficients at different angles of attack

表1. Re = 400,000不同攻角下的部分气动力系数

2) 对机翼各部分的计算

通过计算,无人机的机翼参数全部确定,所得参数结果如表2无人机的参数表,机翼三维图如图4

Table 2. Parameter sheet of UAV

表2. 无人机的参数表

Figure 4. Fixed wing

图4. 固定翼机翼

1.2. 无人机的机身设计

无人机的机身以“大雁”为灵感,整体以流线型为大体设计,减小飞机的整体阻力,并且在机身尾部配有可装东西的空间,机尾装配有螺旋桨;并且机翼两边有副翼。机身结构如图5

Figure 5. The fuselage structure

图5. 机身结构

1.3. 无人机的总体布局

复合式无人机采用常规的四旋翼与固定翼的无人机布局方案,即:固定翼机翼两侧的机臂用来安装四旋翼,整体布局呈一个正方形,机体腹部为无人机的质心,如图6所示,其与四旋翼的质心相重合。四旋翼与固定翼错开,以减少旋翼流场与机翼流场的相互干扰,提高无人机的整体稳定性,起落架由四个支撑架组成来提高复合式无人机升降过程的稳定性 [5]。

Figure 6. General layout of UAV

图6. 无人机总体布局图

2. 基于Gazebo的模型

2.1. 创建基本SDF模型

标准化的机器人描述格式是一种描述各种机器人的结构、关节、自由度的XML代码。不能进行实物试验时,常用此种文件进行3D仿真,而三维仿真软件Gazebo中的各种机器人就是基于XML的SDF文件。最基本的元素是连接 和关节 ,名称是唯一的。此处设定机身是一个基础连接 ,其他连接 都会以此为准进行转动,所以之间还会有一个关节 以此来与基础连接作相对运动。各机构之间的联系如 图7

Figure 7. Connection diagram of various mechanisms

图7. 各机构连接图

2.2. 添加物理和碰撞属性

如果我们想在Gazebo中仿真的话,那么物理和碰撞属性就是必不可少的,此处我们就需要在所有link中添加inertial和collision元素,并添加无人机的结构数据,来对我们建立的模型进行仿真,这样便于碰撞计算。利用设计出的无人机数据完成的base_link的代码如下图8

Figure 8. Basic_link code

图8. Basic_link的代码

2.3. 添加传感器

在完成模型的大致创建后,需要对无人机添加合适的传感器代码,有的代码在Gazebo中已经完成开发,可以在Gazebo提供的库中直接去调用它,并修改传感器数据,这里用到了GPS、磁力计、气压计、IMU、mavlink,还有电机控制代码等。

3. ROS下的软件在环仿真

ROS是一种机器人操作系统,主要是通过ros master管理器控制节点(node)来执行机器人的每个动作。此处设计一个键盘控制无人机的python脚本,用此节点发布topic消息,Mavros接收到消息后,通过mavlink传给px4_sitl,最后来控制Gazebo中无人机的飞行,以此来达到仿真的目的。

3.1. ROS发布订阅信息

通过python程序去引入服务消息的.py包,如解锁消息类CommandBool、设置模式类SetMode;并且首先要订阅无人机的状态消息如状态类State,所以引入话题消息的.py包;最后如果要使无人机动作的话,引入RC通道值类OverrideRCIn的消息包,至此一个完整的无人机的工作状态确立,可以查看节点状态图9

Figure 9. Node state diagram

图9. 节点状态图

3.2. .launch文件

.launch文件将所有的节点都写在一块,省去了每启动一个节点都打开一个终端的动作,.launch文件中有PX4_command.launch节点、启动gazebo节点、启动Mavros节点、启动无人机模型节点等。

3.3. 仿真

在终端命令行启动vtol8_px4.launch文件后,gazebo也会随之启动,会看到自己的模型出现在地图中间,然后启动QGroundControl地面站监控无人机飞行情况,如图10所示,在scripts文件夹下启动外部控制程序python脚本,解锁后,就可以看到图中复合式无人机起飞,起飞效果如下图10所示。

Figure 10. Gazebo simulation diagram

图10. Gazebo仿真图

在仿真飞行完成后,利用QGroundControl地面站下载飞行日志后,在PX4官网中上传飞行日志,即可得到飞行的数据,如下图11~14为旋翼模式飞行数据曲线,图15图16是复合式无人机状态下的飞行日志 [6] [7]。

Figure 11. Rotor mode flight trajectory diagram

图11. 旋翼模式飞行轨迹图

Figure 12. Manual control input

图12. 手动控制输入

Figure 13. Original acceleration analysis

图13. 原始加速度分析

Figure 14. Acceleration power spectral density

图14. 加速度功率谱密度

Figure 15. Trajectory diagram of composite flight mode

图15. 复合飞行模式的轨迹图

Figure 16. Actuator output

图16. 执行机构输出

图11~14为只有四旋翼模式下的手动控制曲线,从图11中曲线可以看出,飞机的飞行高度一直在5米到10米左右,并且进行过一次偏航;如图12所示,也可以看出期间也进行过滚转和俯仰的动作指令,偏航是发生在2分10秒;图13是原始加速度分析,红绿色线与蓝色线隔开,并没有过多发生接触,说明有良好的振动;图14是加速度功率谱密度,理想的情况是,只有少数赫兹的最低部分是黄色,其余部分大多为绿色或蓝色。如图所示只有8Hz以下才是黄色,其他赫兹大部分为蓝绿色,这是极好的振动曲线。从上面的数据分析可知,在利用px4_sitl中的standard_vtol固件的情况下,对所设计的无人机进行仿真,可以达到预期的飞行,也验证所设计无人机的正确性,若进行实物飞行也不会有太大的风险。

图15是在四旋翼和固定翼复合模式的情况下航迹点飞行图,黄色小圈是设定点,可以看到,虽然飞行不稳,但无人机可以到达指定地点;图16可以看出各个执行机构的输出,最底下蓝色为四旋翼模式,红色为过渡模式,此处的无人机飞行缺点是,四旋翼和固定翼模式没有区分,尽管固定翼模式下各个执行机构都在工作,但还是有四旋翼模式工作。

4. 总结

本文首先对复合式无人机结构进行设计,并进行了solidworks绘制;然后利用设计的无人机结构数据,编写基于XML格式的复合式无人机模型代码;最后基于ROS系统利用PX4固件、Gazebo仿真器、QGroundControl地面站对所设计的无人机模型进行了在环仿真,通过PX4飞行日志分析数据,验证设计的复合式无人机四旋翼模式在Gazebo环境中可以正常飞行,起落稳定,四旋翼到固定翼的过渡状态正常切换,所设计的无人机达到了预期效果。本文提供了一种对自己所设计的模型进行仿真和控制开发的新思路,可以大大缩短研发周期。

参考文献

[1] JI.H.谢多夫, 著. 力学中的相似方法和量纲理论[M]. 沈青, 等, 译. 北京: 科学出版社, 1982.
[2] 文程祥. 小型四旋翼固定翼复合式无人机设计及控制研究[D]: [硕士学位论文]. 西安: 长安大学, 2017.
[3] 辜兴悦, 梁超. 一种轻型旋翼的结构设计及优化[J]. 科技风, 2019(35): 24+27.
[4] 刘峰, 代海亮, 王坤, 高鸿渐. 十公斤级固定翼无人机全碳纤维机翼设计与应力分析[J]. 宇航材料工艺, 2019, 49(4): 50-55.
[5] 谭思玚. 小型复合式无人机飞行控制律快速设计与验证[J]. 计算机科学, 2020, 47(S2): 651-656.
[6] 董宁. 混合式VTOL无人机无模式切换飞控系统研究[D]: [硕士学位论文]. 北京: 北方工业大学, 2019.
[7] 姜亚中. 混合式VTOL无人机稳定转换飞行试验研究[D]: [硕士学位论文]. 北京: 北方工业大学, 2019.