自动驾驶仿真:CARLA的道路环境
道路环境不仅包含道路结构,还包括附着在道路上的交通标志、标线、信号灯和建筑树木等静态元素。道路环境是生成仿真世界的基础,也是复杂多样的测试场景的重要组成部分。
附赠自动驾驶最全的学习资料和量产经验:链接
01.道路环境的加载
CARLA中道路环境的加载方法如下图所示。
仿真世界的正常运行需要两个方面的信息:①几何渲染信息,一方面生成可视化的道路、天气、交通参与者等各种物体方便观察,另一方也是进一步生成各种传感器信息的基础,这部分由UnrealEngine map asset文件提供(.uaset/.uexp/.umap等文件);②路网逻辑描述信息,用于交通参与者按照设定路线行驶、实现相应驾驶行为等等,这部分由OpenDRIVE格式文件提供(.xodr文件)。这些文件都保存在carla_root/CarlaUE4/Content/Carla文件夹中。CARLA提供了两种道路环境(仿真世界)的加载方式,用以满足不同用户的需求,下面通过一个代码实例来说明。
1.import carla
2.import os
3.import time
4.
5.# 设置道路环境加载方式
6.LOAD_MODE = "map" #map or xodr
7.
8.def main():
9. # 创建client,并获取world
10. client = carla.Client("localhost", 2000)
11.
12. # 加载地图
13. if LOAD_MODE == "map":
14. # 加载Town10HD_Opt
15. maps = client.get_available_maps()
16. print(f"maps = {maps}")
17. world = client.load_world("Town10HD_Opt")
18. time.sleep(3)
19. world.unload_map_layer(carla.MapLayer.All)
20. time.sleep(1)
21. world.load_map_layer(carla.MapLayer.Ground)
22. time.sleep(1)
23. world.load_map_layer(carla.MapLayer.Buildings)
24. elif LOAD_MODE == "xodr":
25. # 加载OpenDRIVE
26. xodr_path_base &#