最先进的四旋翼模拟器都有一个刚性和高度专业化的结构:它们要么是快速的,要么是物理上很精确的,要么很逼真的;但这次我们介绍一种新的四旋翼模拟器:Flightmare。
Fligtmare是一个模块化和具有灵活性四旋翼模拟器,主要由两个独立的组件组成(统一编辑器建立的逼真的渲染引擎、四旋翼动力学模拟)。它的两个组件是完全解耦的,并且彼此可以独立运行。因此这种四旋翼模拟器在笔记本上渲染能够高达Hz的速度,而物理模拟高达,Hz。
此外,Fligtmare还有其他几个理想的特性:
1、大型多模态传感器套件,包括提取场景3D点云的接口;
2、强化学习API,可以并行模拟数百个四转子;
3、与虚拟现实耳机集成,与模拟环境交互。
我们通过在两种不同的机器人任务中(深度强化学习的四旋翼控制、复杂的三维环境中的无碰撞路径规划)验证了Flightmare的灵活性。
一、介绍
模拟器是机器人研究人员的宝贵工具,它们能够以一种安全和廉价的方式开发和测试算法。理想的模拟器是:
1、快速,在有限的时间内收集大量数据并计算;
2、物理精确,高保真表示真实世界的动态;
3、逼真,最大限度地减少模拟和真实传感器的观测之间的差异。
本质上来说,这几项要求通常是相互冲突的。例如,模拟越现实,它就运行越慢。因此,在一个单片模拟器中要想同时实现以上要求是非常具有挑战性的。
二、相关工作
先回顾一下现有的已被机器人技术和机器学习研究人员广泛使用的开源模拟器:
RotorS和Hector:RotorS和Hector都是建立在Gazebo上的流行的微型飞行器(MAV)模拟器,这是一种通用的机器人模拟平台,通常与流行的机器人操作系统(ROS)一起使用。Hector是一个开源模块的集合,主要用于救援机器人的自动映射和导航,RotorS提供了几种多旋翼直升机模型。
AirSim和Carla:AirSim和carla都是开源的逼真模拟器。Carla主要用于自动驾驶研究,只提供地面车辆的动力学。相反,AirSim提供了一个接口来为四旋翼配置多种模型,并支持循环硬件(HITL)以及循环软件(飞行控制器SITL)。
除了上述的模拟器,还有更多现有的模拟器已被其他研究社区广泛采用。例如,MuJoCo已经被强化学习社区广泛用于基准测试比较;RaiSim(用C++编写的机器人技术和人工智能研究的物理引擎)用于支持大规模的并行动力学模拟,然而,这两个模拟器都不支持复杂的3D环境和逼真的图像渲染。
此外还有Sim4CV,它是一个照片逼真的模拟器,但是也仅为计算机视觉应用程序。
三维环境:
Fligtmare的渲染引擎是由Unity构建的,这是一个流行的跨平台游戏引擎,也是一个人工智能的通用平台。
传感器:
渲染引擎提供了传感器套件的灵活配置。目前,Fligtmare可以模拟具有地面真实深度和语义分割、测距仪、以及代理和它们的周围环境之间的碰撞检测的RBG摄像机。特别是Fligtmare允许用户改变相机的本质,如视场、焦距和镜头失真。此外,它还可以模拟相机上的物理效果,包括运动模糊、镜头污垢。
脚本:
Unity通过c#提供了一个丰富而灵活的脚本系统,使用户能够定义复杂的模拟任务,比如创建图形效果和控制对象的物理行为。
动态建模:
Fligtmare为三个四旋翼动力学提供了一个灵活的接口:一个基于Gazebo的四旋翼动力学,真实的动力学,和一个经典的四旋翼动力学的并行实现。四旋翼被建模为一个由四个电机驱动的刚体。我们使用四旋翼动力学,已用于设计控制算法的真实四旋翼实验:
其中PWB是位置,VWB是四旋翼在W中的线速度,D=diag(dx,dy,dz)是一个常数对角线矩阵,它定义了转子-阻力系数,这是一个在四旋翼的速度上的线性效应。使用一个单位四元数qWB来表示四旋翼的方向和使用ωWB表示身体框架B中的身体速率,g=[0,0,gz]T,gz=9.81ms2是重力矢量,和Λ(ωB)是一个斜对称矩阵。此外,c=[0,0,c]是质量归一化的推力向量。单转子推力的转换[f1,f2,f3,f4]到质量归一化推力c和身体力矩表示为η。
其中m是四旋翼的质量,l是臂长。我们将单个转子推力的动力学建模为一阶系统f˙=(fdesf)/α,其中α为时滞常数。实现了欧拉和四阶龙格-库塔方法来积分动力学方程。
模拟速度:
使用一台12核英特尔(R)核心(TM)i7-HCPU高达2.60GHz的笔记本电脑的模拟速度,评价结果如下图所示。
点云计算和路径规划:
现有的模拟器并不能提供一个有效的API来访问环境的3D信息,然而,大量的算法都需要这些信息。为了促进这个方向的研究,Flightmare提供了一个接口,将整个环境(或其区域)的3D信息导出为具有任何所需分辨率的点云(可通过UI进行配置)。
左图:点云提取的用户界面;
中间:对森林环境中提取的点云的可视化,由OMPL找到的所有无碰撞路径(绿线),并求解了A和B之间的最短路径(红线);
右图:森林环境中最短路径的鸟瞰图。
结论与讨论:
这种新的四旋翼模拟器Fligtmare,它在飞行过程中,物理建模和视觉传感器渲染由两个独立的块进行管理。物理模拟可以适应跟踪机器人动力学的任何精度,渲染可以配置以适应用户的不同需求,范围从非常快但简单的版本到更逼真但更慢的配置。
此外,Fligtmare相对以前的工作,拥有几个有利的特性:一个适合大多数的机器人和机器学习应用程序的大型传感器套件,一个可以有效地并行模拟多个四旋翼并通过强化学习训练控制器的API,以及通过虚拟现实耳机与模拟器交互的可能性。