无人驾驶汽车真实上路后所要面临的外部环境是复杂多变的。通过利用仿真模拟软件可以检查算法,也可以训练无人车面对不同场景下的感知、决策等算法。
模拟平台有很多种,如果分类的话,可以分为两种:开源和收费的。从技术上分,也主要有两种:第一种是基于合成数据对环境、感知以及车辆进行模拟,这种模拟器主要用于控制与规划算法的初步开发上;第二种是基于真实数据的回放以测试无人驾驶不同部件的功能及性能。
开源模拟平台
Gazebo
Gazebo平台可以提供在复杂的室内和室外环境中准确有效地模拟训练机器人的能力。它拥有一个强大的物理引擎,高品质的图形,方便的编程和图形界面。最重要的是,Gazebo是一个充满活力的社区免费。三维机器人模拟器Gazebo一般结合机器人操作系统ROS来测试。
优点:
1.动力学仿真
可以连接多个高性能物理引擎,包括ODE,Bullet,Simbody和DART。
2.先进的3D图形
Gazebo利用OGRE提供逼真的渲染环境,包括高质量的照明,阴影和纹理。
3.传感器和噪音
从激光测距仪,2D / 3D摄像机,Kinect风格的传感器,接触式传感器,力矩等等生成传感器数据,可选的噪音。
4.插件
可开发机器人,传感器和环境控制的自定义插件。插件可直接访问Gazebo的API。
5.机器人模型
提供了许多机器人,包括PR2,Pioneer2 DX,iRobotCreate和TurtleBot。 或者使用SDF构建你自己的。
6.命令行工具
广泛的命令行工具有利于模拟内省和控制。
7.云模拟
通过运用Gazebo的功能来整合现有的模型和传感器。
应用:
在无人驾驶车辆测试方面,github上有人用ROS动能和Gazebo 8做过一个Car Demo,车辆的油门、刹车、转向和传动都是通过一个ROS系统去控制。所有传感器数据都是通过ROS发布,并且可以用RVIZ可视化。利用Gazebo功能整合现有的模型和传感器,构建城市模型和一个高速公路交互场景,垃圾箱、交通锥和加油站等都来自Gazebo模型库。在车顶处搭载一个16线激光雷达,8个超声波传感器,4个摄像头和2个平面激光雷达。代码可以从Github 网址得到。通过Nvidia-docker并从Docker Hub中提取osrt/car_demo进行尝试。该平台基于C++开发,系统要求ROS+Ubuntu环境。
EuroTruck Simulator 2
Euro Truck Simulator 2 本身是一个