[carla入门教程]

您所在的位置:网站首页 道路地图绘制 [carla入门教程]

[carla入门教程]

2024-07-15 22:59| 来源: 网络整理| 查看: 265

本专栏教程将记录从安装carla到调用carla的pythonAPI进行车辆操控并采集数据的全流程,带领大家从安装carla开始,到最终能够熟练使用carla仿真环境进行传感器数据采集和车辆控制.

第四节 介绍carla中的地图

本小节的主要内容是介绍carla中的地图的种类和修改方法.

章节内容介绍: 第1小节介绍了carla中包含的地图。第2小节介绍了地图的加载方法。第3小节介绍了闪退问题及其解决方法。附录部分展示了鸟瞰图和道路图。 1.carla0.9.12中包含的地图

运行carla服务器之后,再通过下面的脚本可以打印出地图. 从其中关键的函数是调用get_available_maps().

# 生成汽车流 import glob import os import sys # ============================================================================== # -- Find CARLA module --------------------------------------------------------- # ============================================================================== try: sys.path.append(glob.glob('../carla/dist/carla-*%d.%d-%s.egg' % ( sys.version_info.major, sys.version_info.minor, 'win-amd64' if os.name == 'nt' else 'linux-x86_64'))[0]) except IndexError: pass # ============================================================================== # -- Add PythonAPI for release mode -------------------------------------------- # ============================================================================== try: sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + '/carla') sys.path.append("../examples/") except IndexError: pass import carla # Connect to the client and retrieve the world object try: client = carla.Client('127.0.0.1', 2000) for i in range(len(client.get_available_maps())): print(client.get_available_maps()[i]) except IndexError: pass carla0.9.12中的地图: /Game/Carla/Maps/Town06_Opt /Game/Carla/Maps/Town01 /Game/Carla/Maps/Town07 /Game/Carla/Maps/Town05_Opt /Game/Carla/Maps/Town07_Opt /Game/Carla/Maps/Town06 /Game/Carla/Maps/Town03 /Game/Carla/Maps/Town10HD /Game/Carla/Maps/Town04 /Game/Carla/Maps/Town03_Opt /Game/Carla/Maps/Town02 /Game/Carla/Maps/Town10HD_Opt /Game/Carla/Maps/Town05 /Game/Carla/Maps/Town01_Opt /Game/Carla/Maps/Town02_Opt /Game/Carla/Maps/Town04_Opt /Game/Carla/Maps/Town11/Town11

可以看到,carla中的地图分成两类,一类是Non-layered maps的,另一类是Layered maps.两者的区别在于,前者的贴图是不可分层的,而后者贴图可以分层,可以根据需要去掉一些图层.

1.1 Non-layered maps

不可分层的地图一共有Town01~Town07,Town10HD.共计8个地图.

Town Summary Town01 基础城镇,由很多T字路口组成. Town02 和Town01相似,但是比town01小 Town03 最复杂的Town,5车道,迂回,不均衡,地下通道等 Town04 无穷循环的高速+一个小城镇 Town05 具有十字路口和桥的方形城镇.单方向有很多车道. Town06 具有很多公路出入口的长公路. Town07 乡村环境,具有狭窄的道路,大棚,几乎没有红绿灯. Town10HD 城市环境,具有不同环境(如大道或长廊)和更逼真纹理.

具体地图的鸟瞰图和路网地图请跳转到 附录查看. Town10HD打开需要很大显存,我的电脑显卡是2060,6GB版本,打开时存在闪退问题.

1.2 Layered maps

分层贴图的布局与非分层贴图相同,但可以在贴图的图层上切换和关闭。有一个不可切换的最小布局,由道路、人行道、红绿灯和交通标志组成。分层地图可以用后缀_Opt标识,例如Town01_Opt。carla0.9.12中一共有Town01_Opt~Town07_Opt,以及Town10HD_Opt.

可以通过Python API加载和卸载层:

# Load layered map for Town 01 with minimum layout plus buildings and parked vehicles world = client.load_world('Town01_Opt', carla.MapLayer.Buildings | carla.MapLayer.ParkedVehicles) # Toggle all buildings off world.unload_map_layer(carla.MapLayer.Buildings) # Toggle all buildings on world.load_map_layer(carla.MapLayer.Buildings)

如图所示,图1是带有建筑物图层的,图2是去掉建筑物图层的. 在这里插入图片描述在这里插入图片描述

2.修改地图

通过load_world('Townxx')加载地图.

client.load_world('Townxx') 3.闪退问题 3.1 低精度渲染引起的闪退问题

当我们采用低精度方式渲染服务器时,也就是使用./CarlaUE4.sh -quality-level=Low命令运行服务器时.通过脚本切换地图会出现如下的错误 在这里插入图片描述 然后carla服务器会闪退.

解决方法:

目前没有搞明白闪退原因,不过经过测试发现,把渲染脚本改会默认值,也就是./CarlaUE4.sh启动时,切换地图就不会出现闪退了.

3.2 添加图层地图引起的闪退问题

载入可变图层地图时.当去除图层后,再添加图层的时候,总是会导致carla服务器闪退,也不知道为什么.

终端显示的错误如下:

4.26.2-0+++UE4+Release-4.26 522 0 Disabling core dumps. Signal 11 caught. Malloc Size=65538 LargeMemoryPoolOffset=65554 CommonUnixCrashHandler: Signal=11 Malloc Size=131160 LargeMemoryPoolOffset=196744 Malloc Size=131160 LargeMemoryPoolOffset=327928 Engine crash handling finished; re-raising signal 11 for the default handler. Good bye. Segmentation fault (core dumped) 解决方法

未找到根本解决方法.这里建议大家只运行一次去除命令,不要运行添加图层命令.

附录: 地图鸟瞰图和道路图

carla 的主要地图(Town01-Town07,Town10)都可以在官方找到对应的路网地图: https://carla.readthedocs.io/en/latest/core_map/#non-layered-maps

Town01

在这里插入图片描述 在这里插入图片描述

Town02

在这里插入图片描述 在这里插入图片描述

Town03

在这里插入图片描述 在这里插入图片描述

Town04

在这里插入图片描述

在这里插入图片描述

Town05

在这里插入图片描述 在这里插入图片描述

Town06

在这里插入图片描述 在这里插入图片描述

Town07

在这里插入图片描述 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3