Autonomous Vehicle 仿真平台汇总

写在前面

无人驾驶汽车真实上路后所要面临的外部环境是复杂多变的。通过利用仿真模拟软件可以检查算法,也可以训练无人车面对不同场景下的感知、决策等算法。
 
模拟平台有很多种,如果分类的话,从技术上分,也主要有两种:

  • 基于合成数据对环境、感知以及车辆进行模拟,这种模拟器主要用于控制与规划算法的初步开发上
  • 基于真实数据的回放以测试无人驾驶不同部件的功能及性能。用传感器真实数据来仿真
  • 当然有些仿真平台既可以物理引擎,渲染虚拟场景,也可以导入真实传感器数据回放。

Type 1 (模拟器)虚拟数据

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的功能来整合现有的模型和传感器。

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环境。
相关链接:https://github.com/osrf/car_demo

Euro Truck Simulator 2 (卡车游戏)

Euro Truck Simulator 2
Euro Truck Simulator 2 本身是一个卡车模拟经营类游戏,可以通过代码训练和运行自动驾驶汽车,。通过AI输出的结果实现自动转向、加速和刹车,可以用来强化学习训练车辆算法。它的缺点是只能控制上下左右四个方向键,不能设置方向盘的角度。

除了Euro Truck Simulator 2,还有The Open Racing Car Simulator游戏也可以被用来进行自动驾驶汽车的训练。

 
应用:gibbgub上有人做了Self-driving-truck项目,基本训练方法遵循接近原始的 Atri 论文中的强化学习标准,此外该模型还试图未来的状态和奖励。训练中还使用了一些手工创建的模型和自动生成的模型。
相关链接:https://github.com/aleju/self-driving-truck
EuroTruck 下载地址:
链接:http://pan.baidu.com/s/1qXCb6o8 密码:219x

The Open Racing Car Simulator(赛车游戏)

The Open Racing Car Simulator(TORCS)是一款开源3D赛车模拟游戏。是在Linux操作系统上广受欢迎的赛车游戏。有50种车辆和20条赛道,简单的视觉效果。用C和C++写成,释放在GPL协议下。
 

应用:有人用深度学习框架Keras和深度强化学习算法DDPG去训练Torcs汽车。也有人使用gym_torcs库,在python中直接调用torcs,接口类似于OpenAI的Gym。还有人做了基于DRL和TORCS的自动驾驶仿真系统,
 
相关链接:
https://github.com/ugo-nama-kun/gym_torcs
https://www.jianshu.com/p/a3432c0e1ef2
https://www.cnblogs.com/Qwells/p/6379077.html
http://torcs.sourceforge.net/(数据集)
TORCS下载地址和安装方法:
http://torcs.sourceforge.net/index.phpname=Sections&op=viewarticle&artid=3

自动驾驶汽车需要自动驾驶软件来驱动,而在线教育公司Udacity(优达学城)推出了面向自动驾驶开发的纳米学位,来满足目前汽车行业对自动驾驶软件工程师旺盛的需求。近日,Udacity通过开源协议授权公开了它的自动驾驶汽车模拟器,有 Unity 技术背景的任何人都可以利用此模拟器的资源,载入软件内置场景或创建自己的虚拟测试路线。

Unity 自动驾驶模拟器

https://github.com/udacity/self-driving-car-sim

自动驾驶汽车需要自动驾驶软件来驱动,而在线教育公司Udacity(优达学城)推出了面向自动驾驶开发的纳米学位,来满足目前汽车行业对自动驾驶软件工程师旺盛的需求。近日,Udacity通过开源协议授权公开了它的自动驾驶汽车模拟器,有 Unity 技术背景的任何人都可以利用此模拟器的资源,载入软件内置场景或创建自己的虚拟测试路线。
该模拟器是为优达自动驾驶,旨在教学生如何使用深度学习驾驶汽车,支持Linux、Mac、Windows环境,只需将数据库复制到本地目录,确保使用Git LFS 带动大量的纹理和模型资源。

Carla

模拟器发布在官方网站:
http://carla.org
论文:
CARLA:An Open Urban Driving Simulator
论文链接:
https://arxiv.org/abs/1711.03938
代码链接:
https://github.com/carla-simulator/carla

英特尔实验室联合丰田研究院和巴塞罗那计算机视觉中心联合发布CALRA,用于城市自动驾驶系统的开发、训练和验证的开源模拟器,支持多种传感模式和环境条件的灵活配置,论文中详细评估并比较了三种自动驾驶方法的性能。
 
CARLA的开发包括从最基础的直到支持城市自动驾驶系统的开发、训练和验证。除了开源代码和协议,CARLA还提供了为自动驾驶创建的开源数字资源(包括城市布局、建筑以及车辆),这些资源都是可以免费获取和使用的。
 
这个模拟平台能够支持传感套件和环境条件的灵活配置。我们使用CARLA来研究三种自动驾驶方法的性能:传统的模块化流水线,通过模仿学习训练得到的端到端模型,通过强化学习训练得到的端到端模型。这三种方法在难度递增的受控环境中做了评估,并用CARLA提供的指标进行性能测试,表明CARLA可以用来进行自动驾驶的研究。

Type 2 真实数据

猜你喜欢

转载自blog.csdn.net/csdnhuaong/article/details/80448891