CARLA 0.9.12

这正如以前所说,CARLA是一个优秀的开源的自动驾驶仿真器项目。对个人而言,它是一个好的学习对象,一个精彩的自动驾驶入门工具。对部分公司而言,它也可以承担一部分仿真任务。

CARLA的社区一直很活跃,更新也很频繁。8月初,CARLA更新了0.9.12版本,增添了一些新的特性。这篇推文是对其release blog的翻译。与前几篇推文一起,我希望它们能让中文社区的同学们对CARLA的功能有个快速的认识。

历史推文如下:
CARLA 0.9.0 - 0.9.5
CARLA 0.9.6 - 0.9.10
CARLA 0.9.11

注:本文所有内容都来自CARLA的公开资源。
参考连接:
https://carla.org/
https://github.com/carla-simulator/carla

CARLA 0.9.12(2020.08.02)

时隔8月,CARLA发布了0.9.12版本,增加了很多新的功能。

用户现在可以在面积超过10,000平方公里的大地图上进行仿真。对于当前则可在400平方公里的Town 11演示地图上立即试用此功能。另外与此功能适配,使用最新的交通管理器可以在地图上生成数百辆高速行驶的车辆。

物理性能优化方面,0.9.12改善了同步模式下的确定性物理模拟表现、与轮胎物理特性相关的模型表现、提供了telemetry等特性。

新的版本使用Unreal Engine 4.26、弃用了OpenGL图形API;增加了使用pip安装Python客户端库的新选项。

对于蓝图库,0.9.12基于改进的网格和对细节的把控力,增添了全新一代的行人和车辆。对于传感器库,0.9.12增加了光流相机这一新传感器,使用户可以捕捉帧间像素的运动。对OpenStreetMaps,0.9.12允许用户在路口自动生成交通灯并控制这些交通灯的生成方式和位置。

在与其他软件集成方面,首先,CARLA已集成了Ray/RLlib,用户能够将CARLA作为Ray中的的环境进行强化学习相关实验。其次,当前版本集成了高度逼真的多物理场仿真引擎Chrono,这个功能允许用户将高级物理模拟委托给Chrono,从而提供更准确的模拟体验。 最后,CARLA已完成对CarSim的集成测试。

以下内容是对更新功能的详细介绍。

大地图功能

大地图由一组给定大小(最大2kmx2km)的图块构成,图块会根据其与自车的距离在一次仿真会话中流动(streaming)。 (换句话说,自车可以控制地图的加载过程)

自车不仅控制图块的流动,还控制其他交通参与者的状态。在大地图中,Actors有活跃和休眠两种状态。需要注意的是,休眠的参与者仅存在于大地图的上下文中。仿真中的其他交通参与者在位于自车影响区域之外时会进入休眠状态,并在自车再次靠近他们时被唤醒。这个距离称为actor_active_distance,可以通过Python API进行配置。

Traffic Manager actor比较特别,它们可以在进入休眠状态后在自车附近重生。或者也可以将这些特殊的actor设置为混合模式,以使得它们在休眠时可以继续在地图上运行。

针对新的大地图功能,交通管理器也进行了相应功能升级。现在的交通管理器可以填充大型地图中的广泛道路系统,并能保证车辆在高速运行时,在保持性能的前提下同时对弯道、路口和其他交通做出真实的反应。

物理特性改进

在0.9.12版本中,碰撞在满足某些条件时是完全确定的。为了实现完全确定性,仿真会从每次仿真会话开始时同步,并定义固定的增量秒。命令应该批量发出,以避免在繁重的计算负载下丢失命令。

0.9.12通过PythonAPI公开了几个参数,允许用户更细粒度地控制车轮相关的物理特性。 这些参数包括:

  • long_stiff_value:每单位重力加速度的轮胎纵向刚度

  • lat_stiff_max_load:最大归一化轮胎载荷,在该载荷下,无论对轮胎施加多少额外载荷,轮胎都无法提供更多横向刚度

  • lat_stiff_value:每单位横向滑动的最大刚度

对于使用另一个引擎进物理仿真的用户,0.9.12在PythonAPI上公开了set_wheel_steer_direction方法。 此方法能在不影响物理特性的前提下,控制车轮的视角。每个车轮都是单独的目标。

0.9.12引入了新的telemetry,允许用户在服务器和仿真窗口中查看给定actor的物理和控制指标。

虚幻引擎4.2.6

0.9.12已升级到 Unreal Engine 4.26.2,这为图形API和渲染管线带来了一些重要变化。Vulkan 现在是唯一受支持的图形 API;对 OpenGL 的支持已完全取消。

使用Vulkan API升级到虚幻引擎版本后,离屏渲染会更加容易、高效。要在离屏模式下运行CARLA,只需在启动 CARLA 服务器时使用 -RenderOffScreen 标志

光流真值

光流相机是一种新的传感器,它允许用户通过捕捉从相机的角度感知到的运动来收集地面真值。光流相机记录的每个像素都对投影到图像平面的那个点的速度进行编码。

RLlib集成

CARLA已经集成了Ray/RLlib库。Ray是一个开源框架,它为构建分布式应用程序提供了一个简单、通用的 API。Ray 与可扩展的强化学习库 RLlib 和可扩展的超参数调整库 Tune 打包在一起。这种集成允许将 CARLA 轻松用作 Ray 中的环境,用于强化学习训练和推理目的。它为用户打开了一个充满潜力的世界,可以探索和构建用户的 AD 代理。

在文档中,0.9.12提供了一个完整的指南,展示了用户如何创建和使用 CARLA 作为 Ray 的环境,并将该环境用于训练和推理目的。

Chrono集成(测试版)

CARLA集成了Chrono,后者是一种开源、多物理场仿真引擎,可使用基于模板的方法提供高度逼真的车辆动力学。这种集成允许用户在导航地图时利用 Chrono 模板来模拟车辆动力学。需要注意的是,如果 Chrono 车辆遇到碰撞,物理将恢复为 CARLA 控制。

CarSim完全集成

CarSim是来自 Mechanical Simulation 的仿真工具,可对乘用车和轻型卡车的动态行为进行高精度仿真。它使用3D多体动力学模型再现车辆的物理特性,以响应驾驶员和/或自动代理的不同控制(转向、油门、制动、换档)。

CarSim集成实现了 CarSim 和 CARLA 之间的协同仿真,允许用户通过 CarSim 控制数十个物理参数,包括悬架系统和轮胎,并在 CARLA 中进行仿真。

在对一般功能进行了一些修复并添加了诸如能够选择自己的车辆之类的选项后,此集成不再处于测试阶段,现在已完全支持

(0)

相关推荐