AirSim中使用多种模型无人机进行仿真

本文实现的效果

先看符不符合自己需求,再决定是否阅读本文内容。

本文实现的效果图

实践部分

准备三维模型

首先,需要准备好 fbx 类型的三维无人机模型,将目标无人机模型分成机身和旋翼两大部分打包。其中螺旋桨部分,可以只打包一个螺旋桨变成 fbx 文件(毕竟太细节也不关注),也可以分成4个分别打包。一般直接从三维模型网站购买模型文件,常用的网站如 cgtrader,不过模型一般是收费的,博主也是花了大几百才买到几个三维模型。为了降低交流学习的门槛,大家可以在我的下载资源里(Matrice200, Inspire2)使用积分下载 DJI Matrice200, DJI Inspire2的无人机模型资源,压缩包里面已经将无人机机身和螺旋桨拆分封装了,可以直接导入UE4中使用,但是需要注意,这些模型仅作交流学习使用用于商业或变道销售会侵犯他人权益!

修改仿真模型

无人机三维模型拆分打包的部分就不在该篇文章中具体说明了,博主也是没有三维建模基础,花了半天摸索了3ds Max后也能够成功将机身和螺旋桨拆分打包,如果这一块有较多人有问题的话可以留言评论,后续可以单独出一篇教程。

替换模型机身和螺旋桨

本文中只修改无人机的外形以及相机方向位置,并不会直接从头建立无人机蓝图,修改底层飞控以及物理参数设置。

  1. 打开虚幻工程,在内容浏览器栏空白处右键,建立一个新的文件夹用于存放转换后的模型资产,以新建"DemoFile"文件夹为例。
    在这里插入图片描述

  2. 选中新建的文件夹,在右方空白区域右键,选择导入到/Game/…/DemoFile
    在这里插入图片描述

  3. 选择无人机机身模型FBX文件,打开
    导入机身

  4. 在导入选项中,根据图片里面的说明进行设置。
    在这里插入图片描述

  5. 选择螺旋桨模型,可以同时导入
    在这里插入图片描述

  6. 同时导入时,需要注意取消勾选合并网格体,
    在这里插入图片描述

  7. 现在可以看到,机身和螺旋桨均已导入转换成静态网格体
    在这里插入图片描述

  8. 现在将AirSim中自带的无人机模型进行修改。首先跳转到我们新建的文件夹下。
    在这里插入图片描述
    将我们编译好的AirSim插件文件夹中找到无人机的默认蓝图文件,将其复制到我们的文件夹下。
    在这里插入图片描述

  9. 回到虚幻中,可以看到默认的无人机蓝图文件,然后我们双击打开,进行修改。
    在这里插入图片描述

  10. 选择视图窗口,然后点击无人机机身,在细节栏找到静态网格体选项,然后选择为我们自己的无人机静态网格体,不过现在一般是没有材质纹理的,那块可以自己选择相应的文件(导入转换成资产后就能浏览到)
    在这里插入图片描述

  11. 修改完机身和螺旋桨后,保存,再对无人机螺旋桨的位置进行微调,这个只需要耐心和时间,在左上角透视,基本三视图(光照情况下更好看)视角中进行调整即可。至此,即可完成外形修改。然后重复上述步骤,可以做出更多自定义的无人机仿真模型。

修改settings.json配置文件

根据官方settings.json文件说明,在自己的settings配置文件中添加路径以及为单个模型引用设置。大概流程是,先把所有用到的蓝图模型路径添加到"PawnPaths"中,每个路径设置一个标识符(如"Default" “Matrice200”),在后面单个无人机模型说明时只需要引用标识符即可,具体修改可以参考我的配置文件。大家只需要修改 ‘/Game/’ 后面的路径即可,有多少自定义的模型文件就写多少路径,需要自己灵活调整。

{
  "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md",
  "SettingsVersion": 1.2,
  "SimMode": "Multirotor",
  "PawnPaths": {
    "Default": {"PawnBP": "Class'/Game/Matrice200/BP_FlyingPawn.BP_FlyingPawn_C'"},
    "Matrice200_1": {"PawnBP": "Class'/Game/Matrice200/Matrice200_1.Matrice200_1_C'"},
    "Matrice200_2": {"PawnBP": "Class'/Game/Matrice200/Matrice200_2.Matrice200_2_C'"}
  },
  "ClockSpeed": 1.0,
  "Vehicles": {
    "Drone0": {
      "VehicleType": "SimpleFlight",
      "PawnPath": "Default",
      "X": 2, "Y": 0, "Z": 0, "Yaw": 0
    },
    "Drone1": {
      "VehicleType": "SimpleFlight",
      "PawnPath": "Default",
      "X": 0, "Y": 0, "Z": 0, "Yaw": 0
    },
    "Drone2": {
      "VehicleType": "SimpleFlight",
      "PawnPath": "Matrice200_1",
      "X": 0, "Y": -2, "Z": 0, "Yaw": 0
    },
    "Drone3": {
      "VehicleType": "SimpleFlight",
      "PawnPath": "Matrice200_2",
      "X": 0, "Y": 2, "Z": 0, "Yaw": 0
    }
  }
}

开始仿真

修改完settings.json文件后进行保存,回到虚幻中运行即可看到最终的效果图像。有问题可以留言讨论,提前祝大家新年快乐。

Reference

AirSim(11) - 改变无人机的形状 - 宁子安的文章 - 知乎 https://zhuanlan.zhihu.com/p/362502080
AirSim 官方文档支持 https://microsoft.github.io/AirSim/settings/#PawnPaths

### 安装 AirSim 和 Numba 的方法 在 Conda 环境下安装 AirSim 和 Numba 可以通过 `pip` 或者 `conda` 来实现。以下是具体的安装指南: #### 安装 Numba Numba 是一个即时编译器,可以加速 Python 函数的执行速度[^2]。 对于 Numba 的安装,在大数情况下推荐使用 `conda` 进行安装,因为这会处理好所有的依赖关系并确保兼容性。命令如下所示: ```bash conda install numba ``` 如果希望指定版本或者遇到特定需求,则可以通过 `pip` 安装最新版或其他版本: ```bash pip install numba ``` 需要注意的是,当使用 `pip` 安装时要确保环境中已经正确配置好了 CUDA 版本以及对应的 cuDNN 库[^1]。 #### 安装 AirSim AirSim 是由微软开发的一个开源模拟平台,主要用于无人机和其他车辆的研究和发展工作。为了能够在 Conda 中顺利安装 AirSim 并运行其功能模块,建议按照官方文档中的指导来进行操作。 通常来说,可以直接利用 `pip` 工具来完成 AirSim 的安装过程: ```bash pip install airsim ``` 另外,考虑到 AirSim 对于环境的要求较高,特别是涉及到 Unreal Engine 或其他图形渲染引擎的支持情况,请务必参照项目 GitHub 页面上的说明文件获取更详细的设置步骤。 #### 配置 GPU 支持 由于提到需要安装带有 CUDA 10.1 的 CuDNN 版本,这意味着目标环境应该支持 NVIDIA 显卡并且已准备好相应的驱动程序和库文件。上述关于 CUDNN 的安装信息表明当前正在使用的 Anaconda 发行版将会自动拉取匹配版本的 CUDA Toolkit。 因此,在准备就绪之后再继续进行 AirSim 和 Numba 的安装是比较稳妥的做法。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值