参考:CARLA官方文档
1 CARLA的第一步
CARLA 中的一个标准工作流程:
从启动服务器和连接客户端,到添加车辆、传感器和生成用于机器学习的训练数据。本教程旨在通过使用 CARLA 生成机器学习训练数据的关键步骤,尽可能有效地了解细节。有关工作流程各部分的进一步详情,例如蓝图库中有多种车辆,或可供选择的传感器类型,请参阅文本中的链接或浏览左侧菜单。
1.1 启动CARLA
./CarlaUE4.sh
为了通过 Python API 操作 CARLA,我们需要通过一个开放端口将 Python 客户机连接到服务器。客户端通过客户端和世界对象控制模拟器打开一个 Python 笔记本或创建一个新的脚本,然后在脚本或主函数的开头添加以下代码:
import carla
import random
# 连接客户端并检索与之相关的世界对象
client = carla.Client('localhost', 2000)
world = client.get_world()
客户端对象用于维护客户端到服务器的连接,并具有许多用于应用命令和加载或导出数据的功能。我们可以使用客户端对象加载替代映射或重新加载当前映射(重置为初始状态)。
端口可以选择为任何可用的端口,默认情况下设置为2000,您还可以使用计算机的 IP 地址选择不同于本地主机的主机。这样,CARLA 服务器可以在联网的计算机上运行,而 python 客户机可以在个人计算机上运行。
1.2 载入地图
在 CARLA API 中,世界对象提供对模拟的所有元素的访问,包括地图、地图中的对象,如建筑物、交通灯、车辆和行人。CARLA 服务器通常加载一个默认映射(通常是 Town10)。如果希望使用替代映射启动 CARLA,请使用 config.py 脚本:(在PythonAPI的util文件里)
./config.py --map Town05
还可以使用 world 对象从客户端加载映射:
client.load_world('Town05')
1.3 观众导航
打开CARLA 默认就是观众模式
不多说常见几个按键:
Q E A D W S Shift
可以通过 Python API 访问和操作观众及其属性:
# 检索观众对象
spectator = world.get_spectator()
# 通过变换获得观众的位置和旋转
transform = spectator.get_transform()
location = transform.location
rotation = transform.rotation
# 给观众设置一个空变换
spectator.set_transform(carla.Transform(