立即注册
登录
搜索
前端开发
后端开发
虚幻引擎
U3D引擎
体感研发
数据库
论坛
BBS
本版
帖子
用户
麒麟软控
»
论坛
›
麒麟软控
›
虚幻引擎
›
AirSim:深度学习时代研究无人机的利器? ...
返回列表
发新帖
AirSim:深度学习时代研究无人机的利器?
獨角獸
獨角獸
当前离线
积分
3
1
主题
2
帖子
3
积分
新手上路
新手上路, 积分 3, 距离下一级还需 47 积分
新手上路, 积分 3, 距离下一级还需 47 积分
积分
3
发消息
发表于 2022-9-21 15:14:30
|
显示全部楼层
原创 | 宁子安
编辑 | 吕嘉玲
关键字:AirSim、虚幻引擎、无人机仿真、深度学习
一、前言
四旋翼无人机自发明以来已经有了非常长远的发展,现阶段对四旋翼无人机的运动学和动力学模型已经有了很多较深入的研究,无人机仿真方面的软件和工具也是层出不穷。例如 Gazebo 有优秀的物理引擎,可以模拟出真实的物理环境,同时也能够自主搭建环境;凤凰模拟器能够模拟遥控器手动飞行,对于飞手的训练有非常大的帮助。
Gazebo 中四旋翼无人机飞行效果图
凤凰模拟器中用遥控器控制四旋翼的飞行
现如今机器视觉和人工智能飞速发展,但是仿真软件中的环境不够逼真,直观看起来比较假,同时背景环境也不够丰富,并不能充分验证计算机视觉等相关算法。AirSim 就是在这种情况下应运而生的,它将四旋翼的动力学模型与游戏引擎(虚幻引擎 Unreal)相结合,借助游戏引擎强大的视觉渲染能力和丰富的场景,弥补了这一缺陷。
二、虚幻引擎
Unreal Engine
,简称UE,中文译名为虚幻引擎,是非常出名的
游戏引擎
,它是一套完整的游戏开发工具,目前已经被广泛应用于
游戏开发、建筑设计与渲染、汽车展示、广播与实况活动、影视渲染、训练与模拟
等各个领域中。 虚幻引擎同时还具备编辑器功能,具有照片级逼真的视觉渲染水平、支持动态物理模拟的效果,能够制作出栩栩如生的动画,甚至可以制作电影大片级的场面。其丰富而强大的数据接口,能够为各行各业的专业人士带来无限的创作自由。
从 UE4 版本开始,其源代码就可以从 Github 开源社区下载,所以实质上你可以修改任何东西,包括:物理引擎、渲染效果和用户界面等。同时 UE4 的跨平台特性支持
Windows PC、Linux、Max OSX、iOS、安卓
等平台,甚至可以支持 VR 等虚拟现实的设备。
虚幻商城中有非常丰富的逼真场景可供选择,甚至有复原了完整了
著名城市和建筑群
,下图展示的有:
沙漠景观、城市建筑、公园、森林
。虚幻引擎中的所有场景都可以设置为 AirSim 无人机仿真的环境场景。
虚幻商城中部分环境展示:沙漠、城市、公园、森林
这些丰富的场景中,还包含了
风沙雨雪雾、落叶
等不同天气或气候情况下的渲染,甚至包括同一地区
不同季节
时的景观。这些在仿真中都可以任意设置,能够充分测试视觉算法在不同的场景下的效果。
虚幻商城中Realistic Landscapes 环境不同季节和气候的景色展示
三、什么是 AiriSim
AirSim 是微软公司开发的基于游戏引擎的一个开源的跨平台仿真器,它可以用于无人机、无人机车等机器人的物理和视觉仿真。它同时支持基于
PX4 和 ArduPilot
等飞行控制器的软件在环仿真,目前还支持基于PX4的
硬件在环仿真
。
AirSim 是作为虚幻游戏引擎的插件而存在的,适配基于虚幻引擎搭建的环境,目前AirSim也有一个实验版本的插件适用于Unity引擎。得益于游戏引擎优秀的视觉渲染效果,AirSim 仿真平台在具备物理仿真的同时也具备了逼真的视觉仿真效果,这是其一大亮点,非常适用于进行基于深度学习等视觉AI仿真验证。AirSim提供了很多API接口,用于
读取数据、控制飞行、控制天气、读取照片
等,使用 API接口可以实现自动收集数据集的功能,还可以测试视觉算法。AirSim的开发者希望这个平台能够帮助研究人员用于
深度学习、计算机视觉、强化学习
等人工智能相关的研究,适用于
无人机、无人驾驶、机器人
等领域的应用。
AirSim支持多平台运行,在
Windows
、
Linux
和
Mac
系统中可以运行,但是目前只有在Windows系统下才可以创建工程,而对于Linux系统下的使用,需要首先在 Windows 系统下创建好工程,再复制到Linux系统下。
AirSim的官方文档地址是:Home - AirSim (microsoft.github.io)
手动驾驶汽车
手动飞行无人机
四、AirSim 可以做什么
4.1 手动飞行(驾驶)
使用可以接入电脑的无人机遥控器或者 XBox,都可以实现手动飞行仿真中的无人机,它不只能够训练飞手的飞行技术,还可以浏览美景。得益于虚幻商城中的丰富且逼真的场景,能够给予玩家
震撼的视觉效果
,使用1比1复原的实现场景时,甚至有一种驾驶飞机浏览世界各地名胜的感觉。
使用 FrSky Taranis X9D Plus 航模遥控器手动飞行
4.2 程序控制无人机飞行(控制算法测试)
AirSim 提供了丰富的程序控制接口,用户可以使用多种编程语言来编写程序,实现对无人机的状态读取和飞行控制。AirSim 还支持硬件在环仿真,可以最大程度模拟四旋翼的飞行效果。
控制接口功能丰富,
包括四旋翼的:
位置控制、速度控制、姿态控制、电机控制
等,
支持
电机转速控制
、底层飞控的
PID参数调节
,满足了从基础控制到
高机动控制
等不同的任务需求。
使用AirSim APIs 接口可以读取无人机的状态(位置、速度、姿态等),包括真实状态、传感器测量到的有噪声的状态信息。
AirSim 还支持同时仿真多架无人机,可以测试
集群和多无人机协同
算法。
AirSim 支持在视口中直接作图,由此可以显示无人机的
飞行轨迹
。
多无人机协同编队控制
无人机跟踪8字形轨迹
4.3 数据集自动收集、视觉算法测试
仿真场景中可以知道全部的信息,使用程序控制,可以很方便地实现对无人机位置和姿态的控制,同时也能方便地控制相机的姿态和内参。也可以同时添加多个相机,安装在无人机的不同位置。
AirSim 中可以获得的图像包括:
单目 RGB图像、双目深度图、分割图、红外图
等。
由于是仿真模拟,深度图和分割图非常完美,并不能完全模拟显示中的不确定性。
红外图是基于分割图生成的,需要自己定义每个物体的温度。
自由设置相机的
数量、位置、内参
等。
自由添加噪声:
相机畸变、运动模糊、图片随机噪声
等。
自由设置不同的天气状态:
雨、雪、雾、风速、落叶、沙尘
等。
自由
改变无人机的外观
,可以将无人机外形设置成任意型号的无人机,如 DJI Mavic。
可以导入现实中的环境。
设置时间流逝,由此可以
改变一天中太阳的位置
,从而产生光照强度、光源位置变化,产生环境变化。
导入到AirSim 中的不同型号和外观的四旋翼
4.4 强化学习
AirSim 支持获取
碰撞信息
,碰撞信息不止包括是否发生碰撞,还包括:发生碰撞的位置、发生碰撞的表面、碰撞深度等信息。使用程序可以读取碰撞信息、无人机状态等,加上强化学习算法,可以实现强化学习的训练。
强化学习训练四旋翼无人飞行
https://www.zhihu.com/video/1457356446648664064
视频来源:官方文档
4.5 多传感器融合
AirSim 目前支持的传感器有:
相机、双目相机、红外相机、雷达、距离传感器、气压计、IMU、GPS、磁力计
。同时使用多个传感器,可以测试多传感器融合算法。
五、总结与展望
AirSim 是微软公司研发的基于
虚幻引擎(Unreal Engine)
的仿真平台,可以用于无人机或无人车的仿真,得益于虚幻引擎强大的视觉渲染能力和丰富且逼真的场景,AirSim中的仿真完全可以做到视觉上以假乱真的效果,非常适合无人机在
视觉算法、机器学习、强化学习
等领域的研究。
随着计算机视觉、机器学习和强化学习等领域的飞速发展,AirSim这一强大的工具必将得到大量的应用,并有力地推动相关领域的快速发展。
官方资料:
AirSim 官网文档
虚幻引擎官方文档
虚幻商城
AirSim 官方源码 - GitHub
<hr/>本文由西湖大学智能无人系统实验室博士生宁子安原创,申请文章授权请联系后台相关运营人员,未经授权不得转载。
<hr/>欢迎关注我们的微信公众号 【空中机器人前沿】,交流更多内容。
上一篇:
游戏引擎数学规则
下一篇:
UE4 UE5 骨骼动画 高级运动系统 摄像机管理
回复
举报
使用道具
分享
岸均
岸均
当前离线
积分
7
1
主题
4
帖子
7
积分
新手上路
新手上路, 积分 7, 距离下一级还需 43 积分
新手上路, 积分 7, 距离下一级还需 43 积分
积分
7
发消息
发表于 2022-9-21 15:14:37
|
显示全部楼层
最近在研究强化学习的实例,遇到不少问题,大佬有考虑出一个教程嘛[捂脸]
回复
举报
使用道具
别跟我杠
别跟我杠
当前离线
积分
3
1
主题
9
帖子
3
积分
新手上路
新手上路, 积分 3, 距离下一级还需 47 积分
新手上路, 积分 3, 距离下一级还需 47 积分
积分
3
发消息
发表于 2022-9-21 15:15:36
|
显示全部楼层
@宁子安 原文作者可以问问哦
回复
举报
使用道具
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
快速回复
返回顶部
返回列表