最近一直在找自动驾驶方向的开源免费、场景丰富并且使用方便的自动驾驶仿真软件。进行了一些资料的查找,现汇总如下:
Gazebo平台可以提供在复杂的室内和室外环境中准确有效地模拟训练机器人的能力。它拥有一个强大的物理引擎,高品质的图形,方便的编程和图形界面。最重要的是,Gazebo是一个充满活力的社区免费。三维机器人模拟器Gazebo一般结合机器人操作系统ROS1/ROS2来测试。
可以连接多个高性能物理引擎,包括ODE,Bullet,Simbody和DART。
Gazebo利用OGRE提供逼真的渲染环境,包括高质量的照明,阴影和纹理。
从激光测距仪,2D / 3D摄像机,Kinect风格的传感器,接触式传感器,力矩等等生成传感器数据,可选的噪音。
可开发机器人,传感器和环境控制的自定义插件。插件可直接访问Gazebo的API。
提供了许多机器人,包括PR2,Pioneer2 DX,iRobotCreate和TurtleBot。 或者使用SDF构建你自己的。
广泛的命令行工具有利于模拟内省和控制。
通过运用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环境。
开源地址
英特尔实验室联合丰田研究院和巴塞罗那计算机视觉中心联合发布CALRA,用于城市自动驾驶系统的开发、训练和验证的开源模拟器,支持多种传感模式和环境条件的灵活配置,论文中详细评估并比较了三种自动驾驶方法的性能。
CARLA的开发包括从最基础的直到支持城市自动驾驶系统的开发、训练和验证。除了开源代码和协议,CARLA还提供了为自动驾驶创建的开源数字资源(包括城市布局、建筑以及车辆),这些资源都是可以免费获取和使用的。
这个模拟平台能够支持传感套件和环境条件的灵活配置。我们使用CARLA来研究三种自动驾驶方法的性能:传统的模块化流水线,通过模仿学习训练得到的端到端模型,通过强化学习训练得到的端到端模型。这三种方法在难度递增的受控环境中做了评估,并用CARLA提供的指标进行性能测试,表明CARLA可以用来进行自动驾驶的研究。
官方网站
论文:CARLA:An Open Urban Driving Simulator
开源代码
百度Apollo仿真平台作为百度Apollo平台的一个重要组成部分,一方面用来支撑内部Apollo系统的开发和迭代,一方面为Apollo生态的开发者提供基于云端的决策系统仿真服务。Apollo仿真平台是一个搭建在百度云和Azure的云服务,可以使用用户指定的Apollo版本在云端进行仿真测试。Apollo仿真场景可分为Worldsim和 Logsim。Worldsim是由人为预设的道路和障碍物构成的场景,可以作为单元测试简单高效的测试自动驾驶车辆,而Logsim是由路测数据提取的场景,真实反映了实际交通环境中复杂多变的障碍物和交通状况。Apollo仿真平台也提供了较为完善的场景通过判别系统,可以从交通规则,动力学行为和舒适度等方面对自动驾驶算法做出评价。
Apollo和Unity开发了真实的虚拟仿真环境,可以提供3D的虚拟环境,道路和天气的变化。
最近,百度也提出了一种新的数据驱动方法,用于自动驾驶的端到端仿真:增强自主驾驶模拟(AADS)。此方法利用模拟的交通流来增强真实世界的图像,以创建类似于真实世界渲染的照片般逼真的模拟场景。具体来说,建议使用 LiDAR 和相机扫描街景。将输入数据分解为背景,场景照明和前景对象。同时,提出了一种新的视图合成技术,可以在静态背景上改变视点。前景车辆配有计算机 3D 模型。通过精确估计的室外照明,可以重新定位 3D 车辆模型,计算机生成的行人和其他可移动主体,并将其渲染回背景图像,以创建逼真的街景图像。此外,模拟交通流量,合成物体的放置和移动,捕获真实世界的车辆轨迹,这些轨迹看起来很自然并且捕捉现实世界场景的复杂性和多样性。
Apollo官网
LGSVL Simulator是LG的硅谷实验室基于Unity引擎研发的一款开源自动驾驶模拟器。**它提供了和开源自动驾驶平台Autoware和Baidu Apollo 的集成。**用户可以在Unity内在3D场景的基础上进行标注并导出成和自动驾驶系统相匹配的高精地图格式。同时它也提供了包括激光雷达,毫米波雷达,GPS,IMU,摄像头的传感器仿真的支持,可以同步输出传感器的原始结果和真值。下图是和Apollo联合运行的截图。
LGSVL官网
搭建自动驾驶闭环仿真测试平台 LGSVL simulator (release 2019.04 版本) + Autoware (1.11版本)
开源,跨平台,支持Linux、Windows、PX4,基于Unreal Engine,有Unity版本(实验版)。
Microsoft/AirSim
多种语言API,包括C++, Python, C# and Java。
支持ROS。
论文发布于2017年,主要针对四旋翼飞行器的。后来扩展了自动驾驶汽车。
论文
支持Camera、Imu、Magnetometer(地磁)、Gps、Barometer(气压计)、Distance、Lidar等传感器。
核心组件包含 environment model, vehicle model, physics engine, sensor models, rendering interface, public API layer and an interface layer for vehicle firmware。
SUMO,全称Simulation of Urban Mobility,是开源、微观、多模态的交通仿真软件,发展始于2000年。它纯粹是微观的,可以针对每辆车进行单独控制,因此非常适合交通控制模型的开发。学习SUMO是一个趋势,但是会涉及路网文件、车辆文件等文件的编写,所以最好有些编程基础,在理解的基础上套用就足以实现一些简单的仿真。总结来说,SUMO有以下优点:
开源,容易获取
易提取车辆与道路信息
自带有很多跟驰模型和换道模型(如IDM、ACC、CACC跟驰模型)
VISSIM无法进行模型的开发,而SUMO可以利用TraCI((Traffic Control Interface))接口用Python语言实现模型开发
可以导入VISUM, Vissim, Shapefiles, OSM, RoboCup, MATsim, OpenDRIVE, and XML-Descriptions(可导入地图)
SUMO学习入门
官网入口
Vissim 是德国 PTV 公司提供的一款世界领先的微观交通流仿真软件。Vissim可以方便的构建各种复杂的交通环境,包括高速公路,大型环岛,停车场等,也可以在一个仿真场景中模拟包括机动车,卡车,有轨交通和行人的交互行为。它是专业的规划和评价城市和郊区交通设施的有效工具,也可以用来仿真局部紧急情况交通的影响,大量行人的疏散等。Vissim 的仿真可以达到很高的精度,包括微观的个体跟驰行为和变道行为,以及群体的合作和冲突。Vissim 内置了多种分析手段,既能获得不同情况下的多种具体数据结果,也可以从高质量的三维可视化引擎获得直观的理解。无人驾驶算法也可以通过接入 Vissim 的方式使用模拟的
高动态交通环境进行仿真测试。
Prescan原作为ADAS测试仿真专用软件,近几年来由于无人驾驶技术的兴起,越来越多的无人驾驶团队迫切的需要一款软件来实现对无人驾驶车辆进行软件在环,硬件在环的检测。Prescan在其做智能辅助驾驶仿真的基础上,开发改进以满足无人驾驶仿真的需求,虽然还有部分缺陷,比如物理传感器暂未提供,车辆动力学模型性能不够,自由度不高(最高自由度11?待考证,求纠正),价格昂贵,只支持windows系统(现在几乎所有无人驾驶算法都在linux系统上运行),但是,仍然可以称作为无人驾驶仿真的大哥,这和它的优势如简单易上手,兼容性好,可以通过simulink支持多种语言开发验证算法等密切相关。更详细的介绍,可以去prescan官网查看,安装可以百度,有很多教程,请支持正版,请勿使用盗版软件用作商用。
无人车系统仿真相关软件介绍-prescan
Prescan(一):无人驾驶仿真软件简介
CarSim, 还有相关的 TruckSim 和 BikeSim 是 Mechanical Simulation 公司开发的强大的动力学仿真软件,被世界各国的主机厂和供应商所广泛使用。CarSim 针对四轮汽车,轻型卡车,TruckSim 针对多轴和双轮胎的卡车,BikeSim 针对两轮摩托车。CarSim 是一款整车动力学仿真软件,主要从整车角度进行仿真,它内建了相当数量的车辆数学模型,并且这些模型都有丰富的经验参数,用户可以快速使用,免去了繁杂的建模和调参的过程。**CarSim 模型在计算机上运行的速度可以
比实时快 10 倍,可以仿真车辆对驾驶员控制,3D 路面及空气动力学输入的响应,模拟结果高度逼近真实车辆,主要用来预测和仿真汽车整车的操纵稳定性、制动性、平顺性、动力性和经济性。**CarSim 自带标准的 Matlab/Simulink 接口,可以方便的与 Matlab/Simulink 进行联合仿真,用于控制算法的开发,同时在仿真时可以产生大量数据结果用于后续使用 Matlab 或者 Excel进行分析或可视化。CarSim 同时提供了 RT 版本,可以支持主流的 HIL 测试系统,如 dSpace和 NI 的系统,方便的联合进行 HIL 仿真。
CarSim快速入门(一)
Webots也支持自动驾驶哦~
官方文档