仿真-Carla-控制方法原理流程研究

0. 简介

1.Carla控制方法流程介绍

在本教程中,我们将介绍CARLA中的标准工作流程,从启动服务器和连接客户端,通过添加车辆、传感器和生成用于机器学习的训练数据。本教程旨在简化细节,并尽可能高效地完成使用CARLA生成机器学习训练数据的关键步骤。有关工作流程每个部分的更多详细信息,例如蓝图库中可用的车辆数量或可用的替代传感器类型,请查阅文本中的链接或浏览左侧菜单。

1.1 启动CARLA并连接客户端Launching CARLA and connecting the client

1.启动客户端

cd /carla/root
./CarlaUE4.sh

2.通过Python API操纵CARLA
要通过Python API操纵CARLA,我们需要通过开放端口将Python客户端连接到服务器,客户端通过客户端和世界对象控制模拟器打开Python笔记本或创建新脚本,然后在脚本或main函数的开头添加以下代码:

import carla
import random
# Connect to the client and retrieve the world object
client = carla.Client('localhost', 2000)
world = client.get_world()

这个客户机对象用于维护客户机与服务器的连接,并具有许多应用命令和加载或导出数据的功能。

该端口可以选择为任何可用端口,默认设置为2000,您还可以使用计算机的IP地址选择不同于localhost的主机。这样,CARLA服务器可以在联网机器上运行,而python客户端可以在个人计算机上运行。这对于区分用于运行CARLA模拟器的GPU和用于神经网络训练的GPU特别有用,这两者对图形硬件的要求都很高。

后续假设CARLA在默认的异步模式下运行。如果使用同步模式,以下部分中的某些代码可能无法按预期工作

1.2 加载地图Loading a map

在CARLA API中,世界对象提供了对模拟的所有元素的访问,包括地图、地图中的对象,如建筑物、交通信号灯、车辆和行人。CARLA服务器通常加载默认地图(通常是城镇10)。如果您想使用备用地图启动CARLA,请使用config.py脚本:

./config.py --map Town05

们还可以使用world对象从客户端加载地图:

client.load_world(‘Town05’)

1.3 观众导航Spectator navigation

旁观者是模拟的视图。默认情况下,当您在附加屏幕的计算机上运行CARLA服务器时,旁观者会在新窗口中打开,除非您指定-RenderOffScreen命令行选项。
旁观者有助于可视化您的模拟。使用旁观者,您可以熟悉您加载的地图,并查看您所做的任何更改的结果,例如添加车辆、更改天气、打开/关闭地图的各个层以及用于调试目的。
您可以使用鼠标控制观众视图的俯仰和偏航,并使用QWE-ASD键移动观众:

Q - move upwards (towards the top edge of the window)
Q-向上移动(朝向窗口的上边缘)
E - move downwards (towards the lower edge of the window)
E-向下移动(朝向窗口的下边缘)
W - move forwards
向前移动
S - move backwards
向后移动
A - move left
向左移动
D - move right
向右移动

左键单击并在观众窗口中上下拖动鼠标以控制俯仰,左右拖动以控制偏航。

可以通过Python API访问和操作观察者及其属性:

# Retrieve the spectator object
spectator = world.get_spectator()

# Get the location and rotation of the spectator through its transform
transform = spectator.get_transform()

location = transform.location
rotation = transform.rotation

# Set the spectator with an empty transform
spectator.set_transform(carla.Transform())
# This will set the spectator at the origin of the map, with 0 degrees
# pitch, yaw and roll - a good way to orient yourself in the map

1.4 添加NPC Adding NPCs

现在我们已经加载了地图并且服务器已启动并运行,我们现在需要用一些车辆填充我们的模拟,以模拟具有交通和其他道路使用者或非玩家角色(NPC)的真实环境。

<
  • 18
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周陽讀書

周陽也想繼往聖之絕學呀~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值