前言
四旋翼无人机自发明以来已经发展了很长一段时间。现阶段,对于四旋翼无人机的运动学和动力学模型以及无人机仿真软件和工具已有很多深入的研究。有许多。
例如,Gazebo拥有优秀的物理引擎,可以模拟真实的物理环境,也可以独立搭建环境;凤凰模拟器可以用遥控器模拟手动飞行,这对飞行员训练很有帮助。
Gazebo 四轴飞行器无人机飞行效果图
在凤凰模拟器中使用遥控器控制四轴飞行器的飞行。如今,机器视觉和人工智能发展迅速,但仿真软件中的环境不够真实,直观上看起来很假。同时,后台环境还不够丰富,无法充分验证计算机。视觉等相关算法。 AirSim就是在这种情况下应运而生的。它将四轴飞行器的动力学模型与游戏引擎(虚幻引擎)相结合,并利用游戏引擎强大的视觉渲染能力和丰富的场景弥补了这一缺点。
虚幻引擎虚幻引擎,简称UE,中文翻译为虚幻引擎,是一款非常著名的游戏引擎。它是一套完整的游戏开发工具。已广泛应用于游戏开发、建筑设计与渲染、汽车展示、转播以及现场活动、影视渲染、培训与模拟等各个领域。
虚幻引擎还具有编辑器功能,具有逼真的视觉渲染,支持动态物理模拟效果,能够制作逼真的动画甚至大片级别的场景。其丰富而强大的数据接口可以为各行各业的专业人士带来无限的创作自由。
从UE4版本开始,它的源码可以从Github开源社区下载,所以本质上你可以修改任何东西,包括:物理引擎、渲染效果、用户界面等。同时,UE4的跨平台特性支持Windows PC、Linux、Max OSX、iOS、Android等平台,甚至可以支持VR等虚拟现实设备。
虚幻商城中有大量的现实场景可供选择,甚至还还原了完整的著名城市和建筑群。下图展示:沙漠景观、城市建筑、公园、森林。虚幻引擎中的所有场景都可以设置为AirSim无人机模拟的环境场景。
虚幻商城中展示的一些环境:沙漠、城市、公园和森林。这些丰富的场景还包括不同天气或气候条件下的风、沙、雨、雪、雾、落叶等效果图,甚至包括同一地区不同季节的景观。
这些在仿真中可以任意设置,可以充分检验视觉算法在不同场景下的效果。
虚幻商城中不同季节、不同气候的真实风景环境展示
什么是AiriSim
AirSim是一款基于微软开发的游戏引擎的开源跨平台模拟器。它可用于无人机、无人驾驶飞机和其他机器人的物理和视觉模拟。
还支持基于PX4、ArduPilot等飞控的软件在环仿真,目前还支持基于PX4的硬件在环仿真。 AirSim 作为虚幻游戏引擎的插件存在,适应基于虚幻引擎构建的环境。目前,AirSim还有一个适用于Unity引擎的插件的实验版本。
得益于游戏引擎出色的视觉渲染效果,AirSim仿真平台不仅具有物理模拟,还具有逼真的视觉模拟效果。这是它的亮点之一,非常适合基于深度学习等的视觉AI模拟验证。
AirSim提供了很多API接口,用于读取数据、控制车辆、控制天气等。利用API接口可以实现自动采集数据集、测试视觉算法的功能。
AirSim的开发者希望该平台能够帮助研究人员进行深度学习、计算机视觉、强化学习等人工智能相关研究,并且适合无人机、无人驾驶、机器人等领域的应用。
AirSim支持多平台操作,可以在Windows、Linux和Mac系统上运行。不过目前只能在Windows系统下创建项目。在Linux系统下使用,需要先在Windows系统下创建项目,然后将其复制到Linux系统下。
AirSim 可以做什么
1.手动飞行(驾驶)
使用无人机遥控器或可连接电脑的XBox,可以实现无人机的手动飞行模拟。它不仅可以训练飞行员的飞行技能,还可以浏览美丽的风景。得益于虚幻商城中丰富逼真的场景,能够给玩家带来震撼的视觉效果。当使用1:1还原的场景时,你甚至可以感觉像乘坐飞机游览世界各地的风景名胜。
2.程控无人机飞行(控制算法测试)
AirSim提供了丰富的程序控制接口,用户可以使用多种编程语言编写程序来实现无人机的状态读取和飞行控制。 AirSim还支持硬件在环仿真,可以最大程度地模拟四轴飞行器的飞行效果。
控制界面功能丰富,
包括四轴飞行器:位置控制、速度控制、姿态控制、电机控制等。
支持底层飞控的电机转速控制和PID参数调节,满足从基础控制到高机动控制的不同任务需求。
AirSim APIs接口可用于读取无人机的状态(位置、速度、姿态等),包括传感器测量到的真实状态和噪声状态信息。
AirSim还支持同时模拟多架无人机,可以测试集群和多机协作算法。
AirSim支持直接在视口中绘图,从而可以显示无人机的飞行轨迹。
多无人机协同编队控制无人机跟踪8字形轨迹
3、数据集自动采集及可视化算法测试
所有信息都可以在模拟场景中得知。采用程序控制,可以轻松控制无人机的位置和姿态,也可以轻松控制相机的姿态和内部参数。您还可以同时添加多个摄像头并将它们安装在无人机上的不同位置。
AirSim中可用的图像包括:单目RGB图像、双目深度图像、分割图像、红外图像等。
由于是模拟,深度图和分割图都非常完美,无法完全模拟显示中的不确定性。
红外图像是根据分割图生成的,需要您自己定义每个物体的温度。
自由设置摄像机的数量、位置、内部参数等。
自由添加噪声:相机畸变、运动模糊、随机图片噪声等。
自由设置不同的天气条件:雨、雪、雾、风速、落叶、沙尘等。
自由改变无人机的外观。您可以将无人机的外观设置为任何型号的无人机,例如DJI Mavic。
可以导入现实生活环境。
设置延时,可以改变白天太阳的位置,从而导致光照强度、光源位置、环境的变化。
4. 强化学习
AirSim支持获取碰撞信息。碰撞信息不仅包括是否发生碰撞,还包括:碰撞的位置、碰撞发生的表面、碰撞的深度等信息。该程序可以读取碰撞信息、无人机状态等,配合强化学习算法,可以实现强化学习训练。
5. 多传感器融合
目前AirSim支持的传感器有:摄像头、双目摄像头、红外摄像头、雷达、距离传感器、气压计、IMU、GPS、磁力计。同时使用多个传感器,可以测试多传感器融合算法。
审稿人:刘庆