Python API 参考
此参考包含 Python API 的所有详细信息。要查阅特定 Carla 版本的先前参考,请使用右下角的面板更改文档版本。
这会将整个文档更改为之前的状态。请记住, 最新 版本是 dev
分支,可能会显示任何 Carla 打包版本中不可用的功能。
carla.AckermannControllerSettings
管理 Ackermann PID 控制器的设置。
实例变量
- speed_kp (float)
速度 PID 控制器的比例项。 - speed_ki (float)
速度 PID 控制器的积分项。 - speed_kd (float)
速度 PID 控制器的微分项。 - accel_kp (float)
加速度 PID 控制器的比例项。 - accel_ki (float)
加速度 PID 控制器的积分项。 - accel_kd (float)
加速度 PID 控制器的微分项。
方法
- __init__(self, speed_kp=0.15, speed_ki=0.0, speed_kd=0.25, accel_kp=0.01, accel_ki=0.0, accel_kd=0.01)
- Parameters:
speed_kp
(float)speed_ki
(float)speed_kd
(float)accel_kp
(float)accel_ki
(float)accel_kd
(float)
- Parameters:
魔术方法
- __eq__(self, other=carla.AckermannControllerSettings)
- __ne__(self, other=carla.AckermannControllerSettings)
- __str__(self)
carla.Actor
Carla 将参与者定义为在模拟中发挥作用或可以移动的任何物体。其中包括:行人、车辆、传感器和交通标志(将交通灯视为其中的一部分)。参与者在模拟中由 carla.World 生成,并且需要创建 carla.ActorBlueprint 。这些蓝图属于 Carla 提供的库,请在 此处 找到有关它们的更多信息。
实例变量
- attributes (dict)
包含该参与者所基于蓝图属性的字典。 - id (int)
该参与者的标识符。在给定的情节中是唯一的。 - type_id (str)
该参与者所基于的蓝图的标识符,例如vehicle.ford.mustang
。 - is_alive (bool)
返回此对象是否是使用此参与者句柄销毁的。 - is_active (bool)
返回此参与者是否处于活动状态 (True) 或非活动状态 (False)。 - is_dormant (bool)
返回此参与者是否处于休眠状态 (True) 或非休眠状态 (False) - 与 is_active 相反。 - parent (carla.Actor)
参与者可以附加到他们将跟随的父参与者,这就是所说的参与者。 - semantic_tags (list(int))
蓝图列表组件为此参与者提供的语义标签列表。例如,交通灯可以用Pole
和TrafficLight
。这些标签由语义分割传感器使用。在此处 查找有关此传感器和其他传感器的更多信息。 - actor_state (carla.ActorState)
返回 carla.ActorState,它可以识别参与者是否处于活动、休眠或无效状态。 - bounding_box (carla.BoundingBox)
包含参与者几何形状的边界框。它的位置和旋转是相对于它所附着的参与者的。
方法
- add_angular_impulse(self, angular_impulse)
在参与者的质心处应用角冲量。此方法适用于瞬时扭矩,通常应用一次。使用 add_torque() 在一段时间内施加旋转力。- 参数:
angular_impulse
(carla.Vector3D - degrees*s) - 全局坐标中的角冲量矢量。
- 参数:
- add_force(self, force)
在参与者的质心处施加力。此方法适用于在一定时间内施加的力。使用 add_impulse() 施加仅持续瞬间的冲量。- 参数:
force
(carla.Vector3D - N) - 全局坐标中的力矢量。
- 参数:
- add_impulse(self, impulse)
在参与者的质心处施加冲量。此方法适用于瞬时力,通常应用一次。使用 add_force() 在一段时间内施加力。- 参数:
impulse
(carla.Vector3D - N*s) - 全局坐标中的冲量矢量。
- 参数:
- add_torque(self, torque)
在参与者的质心处应用扭矩。此方法适用于在一定时间内施加的扭矩。使用 add_angular_impulse() 施加仅持续瞬间的扭矩。- 参数:
torque
(carla.Vector3D - 度) - 全局坐标中的扭矩矢量。
- 参数:
- destroy(self)
告诉模拟器销毁这个参与者,如果成功则 True 。如果已经被破坏则没有任何效果。- 返回: bool
- 警告: T此方法会阻止脚本,直到模拟器完成销毁为止。
- disable_constant_velocity(self)
禁用之前为 carla.Vehicle 参与者设置的任何恒定速度。 - enable_constant_velocity(self, velocity)
将车辆的速度矢量设置为随时间变化的恒定值。所得到的速度将近似于velocity
所设置的速度,与 set_target_velocity() 一样。- 参数:
velocity
(carla.Vector3D - m/s) - Velocity vector in local space.
- 注意: 只有 carla.Vehicle 参与者可以使用此方法。
- 警告: 为 交通管理器管理的车辆启用恒定速度可能会导致冲突。此方法会覆盖交通管理器对速度的任何更改。
- 参数:
获取器
- get_acceleration(self)
返回客户端在最后一个tick期间收到的参与者的三维加速度向量。该方法不调用模拟器。- 返回: carla.Vector3D - m/s2
- get_angular_velocity(self)
返回客户端在最后一个tick期间接收到的参与者的角速度向量。该方法不调用模拟器。- 返回: carla.Vector3D - deg/s
- get_location(self)
返回客户端在上一次tick期间接收到的参与者的位置。该方法不调用模拟器。- 返回: carla.Location - 米
- 设置器: carla.Actor.set_location
- get_transform(self)
返回客户端在最后一个tick期间接收到的参与者的变换(位置和旋转)。该方法不调用模拟器。- 返回: carla.Transform
- 设置器: carla.Actor.set_transform
- get_velocity(self)
返回客户端在最后一个tick期间接收到的参与者的速度向量。该方法不调用模拟器。- 返回: carla.Vector3D - m/s
- get_world(self)
返回该参与者所属的世界。- 返回: carla.World
设置器
- set_enable_gravity(self, enabled)
启用或禁用参与者的重力。 默认 为 True。- 参数:
enabled
(bool)
- 参数:
- set_location(self, location)
将参与者传送到给定位置。- 参数:
location
(carla.Location - 米)
- 获取器: carla.Actor.get_location
- 参数:
- set_simulate_physics(self, enabled=True)
启用或禁用此参与者上的物理模拟。- 参与者:
enabled
(bool)
- 参与者:
- set_target_angular_velocity(self, angular_velocity)
设置参与者的角速度矢量。这是在物理步骤之前应用的,因此最终的角速度将受到摩擦等外力的影响。- 参数:
angular_velocity
(carla.Vector3D - deg/s)
- 参数:
- set_target_velocity(self, velocity)
设置参与者的速度向量。这是在物理步骤之前应用的,因此最终的角速度将受到摩擦等外力的影响。- 参数:
velocity
(carla.Vector3D)
- 参数:
- set_transform(self, transform)
将参与者传送到给定的变换(位置和旋转)。- 参数:
transform
(carla.Transform)
- 获取器: carla.Actor.get_transform
- 参数:
魔术方法
carla.ActorAttribute
Carla 为参与者提供了一个蓝图库,可以通过 carla.BlueprintLibrary 进行访问。每个蓝图都有一系列内部定义的属性。其中一些是可以修改的,另一些则是不可修改的。为可设置的值提供了推荐值列表。
实例变量
- id (str)
库中属性的名称和标识符。 - is_modifiable (bool)
如果属性的值可以修改,则为 True 。 - recommended_values (list(str))
设计蓝图的人员建议的值列表。 - type (carla.ActorAttributeType)
属性的参数类型。
方法
- as_bool(self)
将属性读取为布尔值。 - as_color(self)
将属性读取为 carla.Color。 - as_float(self)
将属性读取为浮点型。 - as_int(self)
将属性读取为 int。 - as_str(self)
将属性读取为字符串。
魔术方法
- __bool__(self)
- __eq__(self, other=bool / int / float / str / carla.Color / carla.ActorAttribute)
如果此参与者的属性 和other
相同,则返回 true。- 返回: bool
- __float__(self)
- __int__(self)
- __ne__(self, other=bool / int / float / str / carla.Color / carla.ActorAttribute)
如果此 actor 的属性和other
不同,则返回 true。- 返回: bool
- __nonzero__(self)
如果此参与者的属性不为零或 null,则返回 true。- 返回: bool
- __str__(self)
carla.ActorAttributeType
Carla 在 carla.BlueprintLibrary 中为参与者提供了一个蓝图库,每个蓝图具有不同的属性。此类将 carla.ActorAttribute 中的类型定义为一系列枚举。所有这些信息均在内部管理,并在此处列出,以便更好地理解 Carla 的工作原理。
实例变量
carla.ActorBlueprint
Carla 为 Actor 提供了一个蓝图库,可以通过 carla.BlueprintLibrary进行查阅。其中每一个都包含蓝图的标识符和一系列可以修改或不可修改的属性。该类是库和参与者创建之间的中间步骤。参与者需要一个参与者蓝图才能产生。这些将所述蓝图的信息及其属性和一些标签存储在对象中以对其进行分类。然后,用户可以自定义一些属性并最终通过 carla.World生成参与者。
实例变量
- id (str)
库内所述蓝图的标识符。例如walker.pedestrian.0001
。 - tags (list(str))
每个蓝图具有的有助于描述它们的标签列表。例如['0001', 'pedestrian', 'walker']
。
方法
- has_attribute(self, id)
如果蓝图包含该id
属性,则返回 True。- 参数:
id
(str) - 例如gender
将为行人的蓝图返回 True 。
- 返回: bool
- 参数:
- has_tag(self, tag)
如果蓝图已列出指定tag
的内容,则返回 True 。- 参数:
tag
(str) - 例如: 'walker'。
- 返回: bool
- 参数:
- match_tags(self, wildcard_pattern)
如果为此蓝图列出的任何标记匹配wildcard_pattern
,则返回 True 。匹配遵循 fnmatch 标准。- 参数:
wildcard_pattern
(str)
- 返回: bool
- 参数:
获取器
- get_attribute(self, id)
返回参与者的属性以及id
标识符(如果存在)。- 参与者:
id
(str)
- 返回: carla.ActorAttribute
- 设置器: carla.ActorBlueprint.set_attribute
- 参与者:
设置器
- set_attribute(self, id, value)
如果id
属性是可修改的,将其值改为value
。- 参数:
id
(str) - 要更改属性的标识符。value
(str) - 所述属性的新值。
- 获取器: carla.ActorBlueprint.get_attribute
- 参数:
Dunder 方法
- __iter__(self)
在蓝图有的 carla.ActorAttribute 之上进行迭代。 - __len__(self)
返回此蓝图的属性数量。 - __str__(self)
carla.ActorList
一个类,它包含现场出现的每个参与者并提供对他们的访问。该列表由服务器自动创建和更新,可以使用 carla.World 返回。
方法
- filter(self, wildcard_pattern)
筛选匹配wildcard_pattern
的参与者列表,以对抗变量 type_id (它标识用于生成它们的蓝图)。匹配遵循 fnmatch 标准。- 参数:
wildcard_pattern
(str)
- 返回: list
- 参数:
- find(self, actor_id)
使用其标识符查找参与者并返回它,如果不存在则返回None。- 参数:
actor_id
(int)
- 返回: carla.Actor
- 参数:
Dunder 方法
- __getitem__(self, pos=int)
返回与列表中pos
位置相对应的参与者。- 返回: carla.Actor
- __iter__(self)
在包含 carla.Actor 的列表上进行迭代。 - __len__(self)
返回列出的参与者数量。- 返回: int
- __str__(self)
在列出的每个参与者上解析ID。- 返回: str
carla.ActorSnapshot
包含参与者在特定时刻的所有信息的类。这些对象包含在 carla.WorldSnapshot 中,并在每个时钟周期发送到客户端一次。
实例变量
方法
获取器
- get_acceleration(self)
返回在该tick中为参与者注册的加速度向量。- 返回: carla.Vector3D - m/s2
- get_angular_velocity(self)
返回为该tick中的参与者注册的角速度向量。- 返回: carla.Vector3D - rad/s
- get_transform(self)
返回该 tick 中参与者的参与者变换(位置和旋转)。- 返回: carla.Transform
- get_velocity(self)
返回在该tick中为参与者注册的速度向量。- 返回: carla.Vector3D - m/s
carla.ActorState
定义参与者状态的类。
实例变量
- Invalid
如果出现问题,参与者就是无效的。 - Active
当一个参与者可视化并且可以影响其他参与者时,它就是活跃的。 - Dormant
当参与者不被可视化并且不会通过物理影响其他参与者时,参与者就处于休眠状态。例如,如果参与者位于大地图中已卸载的图块上,则参与者处于休眠状态。
carla.AttachmentType
定义参与者与其父级之间的附件选项的类。当生成参与者时,它们可以附加到另一个参与者上,这样它们的位置就会相应改变。这对于传感器特别有用。 carla.World.spawn_actor 中的片段显示了一些传感器在生成时连接到汽车上。请注意,附件类型在类中声明为枚举。
实例变量
- Rigid
通过此固定附件,对象严格遵循其父位置。这是推荐的附件,用于从模拟中检索精确数据。 - SpringArm
一种附件,可根据其父级扩展或缩回参与者的位置。仅建议在需要平滑运动的模拟中记录视频时使用此附件。SpringArms 是一个虚幻引擎组件,因此 check the UE 文档 以了解有关它们的更多信息。
警告: 当参与者在Z轴上产生相对平移时,SpringArm 附件呈现出奇怪的行为。(比如:child_location = Location(0,0,2)
)。 - SpringArmGhost
一个与前一个类似的附件,但它不会进行碰撞测试,这意味着它不会扩展或收缩参与者的位置。ghost 一词是因为这样相机就可以穿过墙壁和其他几何形状。此附件仅建议用于记录需要平滑移动的模拟视频。SpringArms 是一个虚幻引擎组件,请 查看虚幻引擎文档 以了解更多信息。
警告:当参与者在Z轴上产生相对平移时,SpringArm附件会出现奇怪的行为(比如child_location = Location(0,0,2)
)。
carla.BlueprintLibrary
包含为参与者生成提供的蓝图的类。它的主要应用是返回生成参与者所需的 carla.ActorBlueprint 对象。每个蓝图都有一个标识符和属性,这些属性可能是可修改的,也可能是不可修改的。该库由服务器自动创建,可以通过 carla.World 访问。
这 是包含每个可用蓝图及其细节的参考。
方法
- filter(self, wildcard_pattern)
根据此库中包含的每个蓝图的id和标记过滤与通配符模式wildcard_pattern
匹配的蓝图列表,并将结果作为新的结果返回。匹配遵循 fnmatch 标准。- 参数:
wildcard_pattern
(str)
- 返回: carla.BlueprintLibrary
- 参数:
- filter_by_attribute(self, name, value)
根据此库中包含的每个蓝图,筛选具有与值value
匹配的给定属性的蓝图列表,并将结果作为新的结果返回。匹配遵循 fnmatch 标准。- 参数:
name
(str)value
(str)
- 返回: carla.BlueprintLibrary
- 参数:
- find(self, id)
返回与该标识符对应的蓝图。- 参数:
id
(str)
- 返回: carla.ActorBlueprint
- 参数:
Dunder 方法
- __getitem__(self, pos=int)
返回存储在包含蓝图的数据结构内pos
位置的蓝图。 - __iter__(self)
在存储库 carla.ActorBlueprint 上进行迭代。 - __len__(self)
返回构成库的蓝图数量。- 返回: int
- __str__(self)
解析要字符串化的每个蓝图的标识符。- 返回: string
carla.BoundingBox
边界框包含场景中参与者或元素的几何体。它们可以被carla.DebugHelper 或 carla.Client 用于绘制它们的形状以进行调试。看看 carla.DebugHelper.draw_box,其中使用世界快照绘制红绿灯的边界框。
实例变量
- extent (carla.Vector3D - 米)
从长方体中心到一个顶点的矢量。每个轴中的值等于该轴框大小的一半。extent.x * 2
将返回框在x轴上的大小。 - location (carla.Location - 米)
边界框的中心。 - rotation (carla.Rotation)
边界框的朝向。
方法
- __init__(self, location, extent)
- 参数:
location
(carla.Location) - 相对于其父框的中心。extent
(carla.Vector3D - 米) - 包含每个轴的长方体大小的一半的矢量。
- 参数:
- contains(self, world_point, transform)
如果在世界空间中传递的点在此边界框内,则返回True。- Parameters:
world_point
(carla.Location - 米) - 要检查的世界空间中的点。transform
(carla.Transform) - 包含将此对象的局部空间转换为世界空间所需的位置和旋转。
- 返回: bool
- Parameters:
获取器
- get_local_vertices(self)
返回一个列表,其中包含该对象的顶点在局部空间中的位置。- 返回: list(carla.Location)
- get_world_vertices(self, transform)
返回一个列表,其中包含该对象的顶点在世界空间中的位置。- 参数:
transform
(carla.Transform) - 包含将此对象的本地空间转换为世界空间所需的位置和旋转。
- 返回: list(carla.Location)
- 参数:
Dunder 方法
- __eq__ (self, other=carla.BoundingBox)
如果此和另一个other
的位置和范围相等,则返回true。- 返回: bool
- __ne__(self, other=carla.BoundingBox)
如果此和其他other
的位置或范围不同,则返回true。- 返回: bool
- __str__(self)
将边界框的位置和范围解析为字符串。- 返回: str
魔术方法
carla.CAMEvent
继承自 carla.SensorData 定义 sensor.other.v2x 提供的数据的类。这是一种集合类型,用于组合返回多个 CAMData。
方法
获取器
魔术方法
- __get_item__(self, pos=int)
- __iter__(self)
在获取到的 CAMData 数据上迭代。 - __len__(self)
carla.CityObjectLabel
包含可用于过滤 carla.World.get_level_bbs() 返回的边界框的不同标签的枚举声明。这些值对应于场景中元素所具有的 语义标签 。
实例变量
- None
- Buildings
- Fences
- Other
- Pedestrians
- Poles
- RoadLines
- Roads
- Sidewalks
- TrafficSigns
- Vegetation
- Vehicles
- Walls
- Sky
- Ground
- Bridge
- RailTrack
- GuardRail
- TrafficLight
- Static
- Dynamic
- Water
- Terrain
- Any
carla.Client
客户端将 Carla 连接到运行模拟的服务器。服务器和客户端都包含 Carla 库 (libcarla),但存在一些差异,允许它们之间进行通信。可以创建许多客户端,每个客户端都会连接到模拟内的 RPC 服务器以发送命令。模拟在服务器端运行。一旦建立连接,客户端将仅接收从模拟检索的数据。行人是例外。客户端负责管理行人,因此,如果您与多个客户端一起运行模拟,可能会出现一些问题。例如,如果您通过不同的客户端生成行人,则可能会发生冲突,因为每个客户端只知道它负责的客户端。
客户端还具有记录功能,可以在运行模拟时保存模拟的所有信息。这使得服务器可以随意重放以获取信息并进行实验。以下 是有关如何使用此记录器的一些信息。
方法
- __init__(self, host=127.0.0.1, port=2000, worker_threads=0)
客户端构造器。- 参数:
host
(str) - 运行Carla 模拟器实例的IP地址。默认值为localhost(127.0.0.1)。port
(int) - 运行Carla 模拟器实例的TCP端口。默认为 2000 和随后的2001 。worker_threads
(int) - 用于后台更新的工作线程数。如果为 0,则使用所有可用的并发性。
- 参数:
- apply_batch(self, commands)
在单个模拟步上执行命令列表,不检索任何信息。如果需要有关每个命令的响应信息,请使用 apply_batch_sync() 方法。下面 是一个关于如何删除 Carla 中出现的参与者的示例。一次列出所有参与者 carla.ActorList 。- 参数:
commands
(list) - 要批量执行的命令列表。每个命令都不同,并且有自己的参数。它们显示在此页面底部列出。
- 参数:
- apply_batch_sync(self, commands, due_tick_cue=False)
在单个模拟步上阻塞式地执行命令列表,直到命令链接起来,并返回 command.Response 列表。可用于确定单个命令是否成功的响应。该链接 是一个用来生成参与者的示例代码。- 参数:
commands
(list) - 要批量执行的命令列表。可用的命令列在方法 apply_batch() 的正上方。due_tick_cue
(bool) - 一个布尔参数,用于指定是否执行 Carla。在 同步模式 下应用批处理后进行 carla.World.tick(默认情况下为 False )。
- 返回: list(command.Response)
- 参数:
- generate_opendrive_world(self, opendrive, parameters=(2.0, 50.0, 1.0, 0.6, true, true), reset_settings=True)
使用从OpenDRIVE文件的内容生成的基本三维拓扑加载新世界。此内容作为string
参数传递。它类似于client.load_world(map_name)
,但允许在服务器端自定义OpenDRIVE映射。汽车可以在地图上行驶,但除了道路和人行道之外,没有任何图形。- 参数:
opendrive
(str) - OpenDRIVE文件的内容为字符串string
,而不是.xodr
的路径。parameters
(carla.OpendriveGenerationParameters) - 网格生成的其他设置。如果没有提供,将使用默认值。reset_settings
(bool) - 选项可将剧集设置重置为默认值,设置为false 可保留当前设置。这对于在更改映射时保持同步模式和保持确定性场景非常有用。
- 参数:
- load_world(self, map_name, reset_settings=True, map_layers=carla.MapLayer.All)
使用map_name
使用默认设置创建新世界。当今世界的所有参与者都将被摧毁。- 参数:
map_name
(str) - 要在这个世界上使用的地图的名称。接受完整路径和地图名称,例如“/Game/Calla/Maps/Town01”或“Town01”。请记住,这些路径是动态的。reset_settings
(bool) - 选项可将情节设置重置为默认值,设置为false可保留当前设置。这对于在更改映射时保持同步模式和保持确定性场景非常有用。map_layers
(carla.MapLayer) - 将加载的地图的图层。默认情况下,将加载所有图层。此参数的作用类似于标志掩码。
- 警告:
map_layers
仅对"Opt"地图可用。
- 参数:
- reload_world(self, reset_settings=True)
重新加载当前世界,请注意,将使用同一地图使用默认设置创建一个新世界。世界上所有参与者都将被销毁,但 交通管理器实例将继续存在。- 参数:
reset_settings
(bool) - 选项可将情节设置重置为默认值,设置为false可保留当前设置。这对于在更改映射时保持同步模式和保持确定性场景非常有用。
- Raises: 对应的运行时错误 RuntimeError。
- 参数:
- replay_file(self, name, start, duration, follow_id, replay_sensors)
根据地图名map_name
加载具有默认设置的新世界。当前世界中的所有参与者都将被销毁,但 交通管理器实例将继续存在。- 参数:
name
(str) - 包含模拟信息的文件的名称。start
(float - seconds) - 开始播放模拟的时间。负数表示从结尾开始读取,在记录结束前10秒为-10。duration
(float - seconds) - 将使用信息name
文件重新执行的时间。如果到达终点,模拟将继续。follow_id
(int) - 要跟随的参与者的 ID。如果此值为0,则禁用相机。replay_sensors
(bool) - 用于在播放期间启用或禁用传感器生成的标志。
- 参数:
- request_file(self, name)
由 carla.Client.get_required_files 返回需要文件的一个请求。- 参数:
name
(str) - 您请求的文件的名称。
- 参数:
- show_recorder_actors_blocked(self, filename, min_time, min_distance)
在终端中显示视为被堵塞的参与者注册信息。当参与者在一段时间内没有移动最小距离时,即min_distance
和min_time
,则视为被堵塞。- 参数:
filename
(str) - 要加载的记录文件的名称。min_time
(float - seconds) - 参与者在被认为被堵塞之前必须移动最短距离的最短时间。默认值为60秒。min_distance
(float - 厘米) - 参与者必须移动的最小距离才能不被视为被堵塞。默认值为100厘米。
- 返回: string
- 参数:
- show_recorder_collisions(self, filename, category1, category2)
在终端中显示记录器记录的碰撞。可以通过指定所涉及参与者的类型来过滤这些内容。类别将在category1
和category1
中指定:h
表示英雄参与者,一种可以手动控制或由用户管理的车辆。v
表示车辆,w
表示行人,t
表示红绿灯,o
表示其他,a
表示所有。如果您只想看到车辆和行人之间的碰撞,请将category1
设置为v
,将category2
设置为w
,反之亦然。如果要查看所有碰撞(过滤掉),可以对两个参数都使用a
。- 参数:
filename
(str) - 记录文件的名称或绝对路径,具体取决于您之前的选择。category1
(single char) - 指定冲突中涉及的第1类参与者的字符变量。category2
(single char) - 指定冲突中涉及的第2类参与者的字符变量。
- 返回: string
- 参数:
- show_recorder_file_info(self, filename, show_all)
解析记录器保存的信息将并以文本形式显示在终端中(帧、时间、事件、状态、位置…)。可以使用show_all
参数指定显示的信息。以下 是有关如何读取记录器文件的更多信息。- 参数:
filename
(str) - 记录的文件的名称或绝对路径,具体取决于您之前的选择。show_all
(bool) - 如果为 True ,则返回为每帧存储的所有信息(红绿灯状态、所有参与者的位置、方向和动画数据…)。如果为 False ,则返回关键事件和帧的摘要。
- 返回: string
- 参数:
- start_recorder(self, filename, additional_data=False)
启用记录功能,该功能将开始保存服务器重放模拟所需的所有信息。- 参数:
filename
(str) - 用于写入记录数据的文件的名称。一个简单的名称会将记录保存在“CarlaUE4/Saved/recording.log”中。否则,如果名称中出现某个文件夹,则会将其视为绝对路径。additional_data
(bool) - 启用或禁用记录用于再现模拟的非必要数据(边界框位置、物理控制参数等)。
- 参数:
- stop_recorder(self)
停止正在进行的记录。如果您在文件名中指定了一个路径,则记录文件将在那里。如果没有,请查看CarlaUE4/Saved/
内部。 - stop_replayer(self, keep_actors)
停止当前重放。- 参数:
keep_actors
(bool) - 如果你想自动删除重放中的所有参与者,则为 True,如果你想保留他们,则为 False。
- 参数:
获取器
- get_available_maps(self)
返回一个字符串列表,其中包含服务器上可用映射的路径。这些路径是动态的,它们将在模拟过程中创建,因此在文件中查找时找不到它们。此方法可能的返回结果之一是: ['/Game/Carla/Maps/Town01', '/Game/Carla/Maps/Town02', '/Game/Carla/Maps/Town03', '/Game/Carla/Maps/Town04', '/Game/Carla/Maps/Town05', '/Game/Carla/Maps/Town06', '/Game/Carla/Maps/Town07'].- 返回: list(str)
- get_client_version(self)
通过在“version.h”文件中查阅客户端libcarla版本,返回该版本。客户端和服务器都可以使用不同的libcarla版本,但可能会出现一些与意外不兼容有关的问题。- 返回: str
- get_required_files(self, folder, download=True)
询问服务器客户端需要哪些文件才能使用当前地图。如果文件不在缓存中,则自动下载文件。- 参数:
folder
(str) - 指定要在服务器地图上查看的文件夹。该参数为空将递归搜索服务器中的所有地图文件夹,如果您不熟悉服务器地图文件夹结构,建议这样做。download
(bool) - 如果为True
,则下载缓存中尚未存在的文件。缓存可以在HOME\carlaCache
或USERPROFILE\carlaCache
中找到,具体取决于操作系统。
- 参数:
- get_server_version(self)
通过在version.h
文件中查阅服务器libcarla版本,返回该版本。客户端和服务器都应该使用相同的libcarla版本。- 返回: str
- get_trafficmanager(self, client_connection=8000)
返回与指定端口相关的交通管理器实例。如果该实例不存在,则会创建该实例。- 参数:
client_connection
(int) - 将由交通管理器使用的端口。默认值为8000
。
- 返回: carla.TrafficManager
- 参数:
- get_world(self)
返回模拟中当前处于活动状态的世界对象。该世界稍后将用于加载地图。- 返回: carla.World
设置器
- set_files_base_folder(self, path)
- 参数:
path
(str) - 返回模拟中当前处于活动状态的世界对象。该世界稍后将用于加载地图。
- 参数:
- set_replayer_ignore_hero(self, ignore_hero)
- 参数:
ignore_hero
(bool) - 在播放记录的模拟过程中启用或禁用英雄车辆的播放。
- 参数:
- set_replayer_ignore_spectator(self, ignore_spectator)
- 参数:
ignore_spectator
(bool) - 确定回放程序是否会复制记录的观察者运动。
- 参数:
- set_replayer_time_factor(self, time_factor=1.0)
使用时,会随意修改重新模拟的时间速度。当播放时,它可以使用多次。- 参数:
time_factor
(float) - 1.0表示正常时间速度。大于1.0表示快速运动(2.0表示双倍速度),小于1.0表示慢速运动(0.5表示一半速度)。
- 参数:
- set_timeout(self, seconds)
设置在阻止网络调用并引发超时超时错误之前允许网络调用的最长时间。- 参数:
seconds
(float - seconds) - 新的超时值。默认值为5秒。
- 参数:
carla.CollisionEvent
从 carla.SensorData 继承 为sensor.other.collision定义碰撞数据的类。传感器为检测到的每个碰撞创建一个碰撞数据。每个碰撞传感器每帧每个碰撞产生一个碰撞事件。通过与多个其他参与者的碰撞,可以在单个帧中产生多个碰撞事件。点击 此处 了解更多信息。
实例变量
- actor (carla.Actor)
传感器连接到的参与者,也就是测量碰撞的参与者。 - other_actor (carla.Actor)
第二个参与碰撞的参与者。 - normal_impulse (carla.Vector3D - N*s)
碰撞产生的正常冲量。
carla.Color
定义32位RGBA颜色的类。
实例变量
方法
Dunder 方法
- __eq__(self, other=carla.Color)
- __ne__(self, other=carla.Color)
- __str__(self)
carla.ColorConverter
定义可应用于 carla.Image 的转换模式的类,以显示 carla.Sensor 提供的信息。深度转换会导致精度损失,因为传感器将深度检测为浮点数,然后将其转换为 0 到 255 之间的灰度值。查看 carla.Sensor.listen 中的片段,了解如何创建和保存图像的示例sensor.camera.semantic_segmentation的数据。
实例变量
- CityScapesPalette
使用蓝图库提供的标签将图像转换为分段地图。由 语义分割相机 使用。 - Depth
将图像转换为线性深度图。由 深度相机 使用。 - LogarithmicDepth
使用对数刻度将图像转换为深度图,从而在小距离上获得更好的精度,但在距离较远时会丢失精度。 - Raw
未对图像应用任何更改。由 RGB 相机 使用。
carla.CustomV2XData
继承自 carla.SensorData 这是定义自定义V2X消息的数据类型。作为 CustomV2XEvent 的一部分接收。
实例变量
方法
魔术方法
carla.CustomV2XEvent
继承自 carla.SensorData 定义sensor.other.v2x_custom提供的数据的类。这是一种集合类型,用于组合返回多个 CustomV2XData 。
方法
获取器
魔术方法
- __get_item__(self, pos=int)
- __iter__(self)
在获取的 CustomV2XData 数据上进行迭代。 - __len__(self)
carla.DVSEvent
定义 DVS 事件的类。事件是一个四元组,因此是一个由 4 个元素组成的元组,其中x
、像素y
坐标位置、时间戳t
和事件极性pol
。在 这里 了解更多关于它们的信息。
实例变量
方法
Dunder 方法
carla.DVSEventArray
在 carla.DVSEvent 中定义事件流的类。此类流是任意大小的数组,具体取决于事件的数量。为了方便起见,该类还存储视野、图像的高度和宽度以及时间戳。在 这里 了解更多关于它们的信息。
实例变量
方法
- to_array(self)
按以下顺序将事件流转换为 int 值数组[x, y, t, pol]
。 - to_array_pol(self)
返回一个数组,该数组具有流中所有事件的极性。 - to_array_t(self)
返回一个数组,其中包含流中所有事件的时间戳。 - to_array_x(self)
返回流中所有事件的X像素坐标的数组。 - to_array_y(self)
返回流中所有事件的Y像素坐标数组。 - to_image(self)
按照以下模式转换图像:蓝色表示正事件,红色表示负事件。
魔术方法
- __getitem__(self, pos=int)
- __iter__(self)
在 carla.DVSEvent 作为检索的数据上迭代。 - __len__(self)
- __setitem__(self, pos=int, color=carla.Color)
- __str__(self)
carla.DebugHelper
carla.World 的辅助类部分,定义创建调试形状的方法。默认情况下,形状持续 1 秒。它们可以是永久性的,但要考虑到这样做所需的资源。查看此类的可用片段,了解如何在 Carla 中轻松调试。
方法
- draw_arrow(self, begin, end, thickness=0.1, arrow_size=0.1, color=(255,0,0), life_time=-1.0)
从开始begin
到结束end
绘制一个指向该方向的箭头。- 参数:
begin
(carla.Location - 米) - 坐标系中箭头开始的点。end
(carla.Location - 米) - 坐标系中箭头结束并指向的点。thickness
(float - 米) - 线的密度。arrow_size
(float - 米) - 箭头尖端的大小。color
(carla.Color) - 用于为对象着色的 RGB 代码。默认为红色。life_time
(float - seconds) - 形状的生命周期。默认情况下它只持续一帧。将其设置0
为永久形状。
- 参数:
- draw_box(self, box, rotation, thickness=0.1, color=(255,0,0), life_time=-1.0)
绘制一个框,通常用于对象碰撞体。- 参数:
box
(carla.BoundingBox) - 包含每个轴的位置和框长度的对象。rotation
(carla.Rotation - 度 (pitch,yaw,roll)) - 根据虚幻引擎轴系的边界框方向。thickness
(float - 米) - 定义边界框的线的密度。color
(carla.Color) - 用于为对象着色的 RGB 代码。默认为红色。life_time
(float - 秒) - 形状的生命周期。默认情况下它只持续一帧。将其设置0
为永久形状。
- 参数:
- draw_hud_arrow(self, begin, end, thickness=0.1, arrow_size=0.1, color=(255,0,0), life_time=-1.0)
在HUD上从头begin
到尾end
画一个箭头,这个箭头只能在服务器端看到。- 参数:
begin
(carla.Location - 米) - 坐标系统中箭头起始的点。end
(carla.Location - 米) - 坐标系统中箭头结束并指向的点。thickness
(float - 米) - 线的密度。arrow_size
(float - 米) - 箭尖的大小。color
(carla.Color) - RGB编码为对象上色。默认为红色。life_time
(float - seconds) - 形状的生命周期。默认情况下,它只持续一帧。对于永久形状,将其设置为0
。
- 参数:
- draw_hud_box(self, box, rotation, thickness=0.1, color=(255,0,0), life_time=-1.0)
在 HUD 上绘制一个框,通常用于对象碰撞体。该框只能在服务器端看到。- Parameters:
box
(carla.BoundingBox) - 包含每个轴的框的位置和长度的对象。rotation
(carla.Rotation - degrees (pitch,yaw,roll)) - 根据虚幻引擎的轴系统确定边界框的方向。thickness
(float - 米) - 定义边界框线的密度。color
(carla.Color) - RGB 编码为对象上色。默认为红色。life_time
(float - seconds) - 形状的生命周期。默认情况下,它只持续一帧。对于永久形状,将其设置为0
。
- Parameters:
- draw_hud_line(self, begin, end, thickness=0.1, color=(255,0,0), life_time=-1.0)
在HUD上开始begin
和结束end
之间画一条线。这条线只能在服务器端看到。- 参数:
begin
(carla.Location - 米) - 坐标系统中直线开始的点。end
(carla.Location - 米) - 坐标系统中直线结束的点。thickness
(float - 米) - 线的密度。color
(carla.Color) - RGB 编码为对象上色。默认为红色。life_time
(float - 秒) - 形状的生命周期。默认情况下,它只持续一帧。对于永久形状,将其设置为0
。
- 参数:
- draw_hud_point(self, location, size=0.1, color=(255,0,0), life_time=-1.0)
在 HUD 的位置location
上绘制一个点。这个点只能在服务器端看到。- 参数:
location
(carla.Location - 米) - 点在坐标系中使物体居中。size
(float - 米) - 点的密度。color
(carla.Color) - RGB 编码为对象上色。默认为红色。life_time
(float - seconds) - 形状的生命周期。默认情况下,它只持续一帧。对于永久形状,将其设置为0
。
- 参数:
- draw_line(self, begin, end, thickness=0.1, color=(255,0,0), life_time=-1.0)
在开始begin
和结束end
之间绘制一条线。- 参数:
begin
(carla.Location - 米) - 坐标系中直线起点。end
(carla.Location - 米) - 坐标系中直线终点。thickness
(float - 米) - 线的密度。color
(carla.Color) - 用于为对象着色的 RGB 代码。默认为红色。life_time
(float - 秒) - 形状的生命周期。默认情况下它只持续一帧。将其设置0
为永久形状。
- 参数:
- draw_point(self, location, size=0.1, color=(255,0,0), life_time=-1.0)
绘制一个点location
。- 参数:
location
(carla.Location - 米) - 在坐标系中点以将对象居中。size
(float - 米) - 点的密度。color
(carla.Color) - 用于为对象着色的 RGB 代码。默认为红色。life_time
(float - seconds) - 形状的生命周期。默认情况下它只持续一帧。将其设置0
为永久形状。
- 参数:
- draw_string(self, location, text, draw_shadow=False, color=(255,0,0), life_time=-1.0)
在模拟的给定位置绘制一个字符串,该字符串只能在服务器端看到。- 参数:
location
(carla.Location - 米) - 模拟中文本居中的位置。text
(str) - 旨在向世界展示的文本。draw_shadow
(bool) - 为字符串投射阴影,有助于可视化。默认情况下它是禁用的。color
(carla.Color) - 用于为字符串着色的 RGB 代码。默认为红色。life_time
(float - seconds) - 形状的生命周期。默认情况下它只持续一帧。将其设置0
为永久形状。
- 参数:
carla.EnvironmentObject
表示关卡中的几何图形的类,该几何图形可以是与其他环境对象(即:建筑物)形成的参与者的一部分。
实例变量
- transform (carla.Transform)
包含环境对象在世界空间中的位置和方向。 - bounding_box (carla.BoundingBox)
包含世界空间中每个轴的位置、旋转和边界框长度的对象。 - id (int)
用于标识关卡中对象的唯一 ID。 - name (string)
环境对象 EnvironmentObject 的名称。 - type (carla.CityObjectLabel)
Semantic tag.
方法
Dunder 方法
carla.FloatColor
定义浮点 RGBA 颜色的类。
实例变量
方法
Dunder 方法
- __eq__(self, other=carla.FloatColor)
- __ne__(self, other=carla.FloatColor)
carla.GBufferTextureID
定义每个GBuffer纹理 (参见方法 [carla.Sensor.listen_to_gbuffer](#carla.Sensor.listen_to_gbuffer)
)。
实例变量
- SceneColor
纹理“SceneColor”包含图像的最终颜色。 - SceneDepth
纹理“SceneDepth”包含深度缓冲区 - 以世界单位为线性。 - SceneStencil
纹理“SceneStencil”包含模板缓冲区。 - GBufferA
纹理“GBufferA”包含 RGB 通道中的世界空间法线向量。Alpha 通道包含“每个对象的数据”。 - GBufferB
纹理“GBufferB”分别包含 RGB 通道中的金属、镜面和粗糙度。Alpha 通道包含一个掩码,其中低 4 位表示着色模型,高 4 位包含选择性输出掩码。 - GBufferC
纹理“GBufferC”包含 RGB 通道中的漫反射颜色,以及 Alpha 通道中的间接辐照度。 如果不允许静态闪电,Alpha 通道将包含环境光遮挡。 - GBufferD
“GBufferD”的内容根据渲染对象的材质着色模型 (GBufferB) 的不同而有所不同: - MSM_Subsurface (2), MSM_PreintegratedSkin (3), MSM_TwoSidedFoliage (6):
RGB: 次表面颜色。
A: 不透明度。 - MSM_ClearCoat (4):
R: 透明涂层。
G: 粗糙度。 - MSM_SubsurfaceProfile (5):
RGB: 次表面轮廓。 - MSM_Hair (7):
RG: 世界法线。
B: 背光值。 - MSM_Cloth (8):
RGB: 次表面颜色。
A: Cloth value. - MSM_Eye (9):
RG: 眼切线。
B: 虹膜掩模。
A: 虹膜距离。 - GBufferE
纹理“GBufferE”包含 RGBA 通道中预先计算的阴影因子。如果选择性输出掩码 (GBufferB) 没有设置其第 4 位,则此纹理不可用。 - GBufferF
纹理“GBufferF”包含 RGB 通道中的世界空间切线和 Alpha 通道中的各向异性。如果选择性输出掩码 (GBufferB) 没有设置其第 5 位,则此纹理不可用。 - Velocity
纹理“速度”包含场景对象的屏幕空间速度。 - SSAO
纹理“SSAO”包含屏幕空间环境光遮挡纹理。 - CustomDepth
纹理“CustomDepth”包含虚幻引擎自定义深度数据。 - CustomStencil
纹理“CustomStencil”包含虚幻引擎自定义模板数据。
carla.GearPhysicsControl
通过定义档位以及何时运行该档位来提供对车辆变速箱详细信息的访问的类。carla.VehiclePhysicsControl 稍后将使用它来帮助模拟物理。
实例变量
- ratio (float)
齿轮的传动比。 - down_ratio (float)
当前 RPM 与自动变速箱应降档的 MaxRPM 之间的商。 - up_ratio (float)
当前 RPM 与自动变速箱应升档的 MaxRPM 之间的商。
方法
- __init__(self, ratio=1.0, down_ratio=0.5, up_ratio=0.65)
- 参数:
ratio
(float)down_ratio
(float)up_ratio
(float)
- 参数:
Dunder 方法
- __eq__(self, other=carla.GearPhysicsControl)
- __ne__(self, other=carla.GearPhysicsControl)
- __str__(self)
carla.GeoLocation
包含地理坐标模拟数据的类。carla.Map 可以使用以下方法转换模拟位置 OpenDRIVE 文件中的
实例变量
方法
- __init__(self, latitude=0.0, longitude=0.0, altitude=0.0)
- 参数:
latitude
(float - 度)longitude
(float - 度)altitude
(float - 米)
- 参数:
魔术方法
- __eq__(self, other=carla.GeoLocation)
- __ne__(self, other=carla.GeoLocation)
- __str__(self)
carla.GnssMeasurement
从 carla.SensorData 继承 定义由 sensor.other.gnss 注册的全球导航卫星系统数据的类。它本质上是通过传感器的位置和 OpenDRIVE 地理参考来报告其位置。
实例变量
方法
魔术方法
carla.IMUMeasurement
从 carla.SensorData 继承 定义由 sensor.other.imu 注册的数据类,涉及根据当前 carla.World 的传感器转换。它本质上充当加速度计、陀螺仪和指南针。
实例变量
- accelerometer (carla.Vector3D - m/s2)
线性加速度。 - compass (float - 弧度)
相对于北方的方向(在虚幻引擎中为 [0.0, -1.0, 0.0])。 - gyroscope (carla.Vector3D - 弧度/秒)
角速度。
方法
魔术方法
carla.Image
从 carla.SensorData 继承 定义 32 位 BGRA 颜色图像的类,该图像将用作相机传感器检索的初始数据。有不同的相机传感器(目前有三种,RGB、深度和语义分割),每种传感器对图像都有不同的用途。在 这里 了解更多关于它们的信息。
实例变量
- fov (float - 度)
图像的水平视野。 - height (int)
图像高度(以像素为单位)。 - width (int)
图像宽度(以像素为单位)。 - raw_data (bytes)
像素数据的扁平数组,使用 reshape 创建图像数组。
方法
- convert(self, color_converter)
按照color_converter
模式转换图像。- 参数:
color_converter
(carla.ColorConverter)
- 参数:
- save_to_disk(self, path, color_converter=Raw)
使用如下所示的转换器模式color_converter
将图像保存到磁盘。默认转换模式是 Raw,不会对图像进行任何更改。- 参数:
path
(str) - 将包含图像的路径。color_converter
(carla.ColorConverter) - 默认Raw不会进行任何更改。
- 参数:
魔术方法
- __getitem__(self, pos=int)
- __iter__(self)
在形成图像的 carla.Color 上面进行迭代。 - __len__(self)
- __setitem__(self, pos=int, color=carla.Color)
- __str__(self)
carla.Junction
根据 OpenDRIVE 1.4 标准,体现 OpenDRIVE 文件中描述的道路交叉口的类。
实例变量
- id (int)
OpenDRIVE 文件中找到的标识符。 - bounding_box (carla.BoundingBox)
封装连接车道的边界框。
方法
获取器
- get_waypoints(self, lane_type)
返回路径点对的列表。列表中的每个元组首先包含交叉口边界内的初始路径点,然后包含最终路径点,描述沿交叉口的所述车道的起点和终点。车道遵循其 OpenDRIVE 定义,因此由于可能的偏差,可能有许多不同的元组具有相同的起始路径点,因为这被视为不同的车道。- 参数:
lane_type
(carla.LaneType) - 获取路点的车道类型。
- 返回: list(tuple(carla.Waypoint))
- 参数:
carla.LabelledPoint
使用语义标签表示空间位置的类。
实例变量
carla.Landmark
定义影响道路的任何类型的交通地标或标志的类。这些类在地标的 OpenDRIVE 1.4 standard 标准定义及其在模拟中的表示之间进行协调。此类检索在 OpenDRIVE 中定义地标的所有信息,并提供有关其影响哪些车道以及何时影响的信息。carla.Waypoint 对象将尝试检索其车道规则来访问地标。因此,某些属性取决于正在咨询地标的路径点,从而创建对象。
实例变量
- road_id (int)
定义此地标的道路的 OpenDRIVE ID。由于 OpenDRIVE 道路定义,该道路可能与地标当前影响的道路不同。这种情况主要发生在不同路线的道路分叉处。 示例:在交叉路口的一条分叉道路中定义了一个红绿灯,但它会影响所有可能的路线。 - distance (float - 米)
地标与创建对象的路径点之间的距离(查询get_landmarks
或get_landmarks_of_type
)。 - s (float - 米)
地标沿道路几何形状定位的距离road_id
。 - t (float - 米)
地标距道路边缘的横向距离road_id
。 - id (str)
OpenDRIVE 文件中地标的唯一 ID。 - name (str)
OpenDRIVE 文件中的地标名称。 - is_dynamic (bool)
指示地标的状态是否随时间发生变化,例如交通信号灯。 - orientation (carla.LandmarkOrientation - 米)
指示地标面向的车道。 - z_offset (float - 米)
放置地标的高度。 - country (str)
定义地标的国家/地区代码(OpenDRIVE 默认为德国 2017)。 - type (str)
根据国家/地区代码输入地标的类型标识符。 - sub_type (str)
根据国家/地区代码的地标子类型标识符。 - value (float)
信号中打印的值(例如速度限制、最大重量等)。 - unit (str)
属性value
的测量单位。 - height (float - 米)
信号的总高度。 - width (float - 米)
信号的总宽度。 - text (str)
信号中的附加文本。 - h_offset (float - 米)
信号相对于OpenDRIVE中s
处road_id
定义的方向偏移。 - pitch (float - 米)
信号的俯仰角 (Y-轴在虚幻引擎坐标系统). - roll (float)
信号的翻滚角 (X-轴在虚幻引擎坐标系统). - waypoint (carla.Waypoint)
放置在进行查询的车道和地标s
处的路径点。这是地标有效的第一个路径点。 - transform (carla.Transform)
模拟中地标的位置和方向。
方法
获取器
- get_lane_validities(self)
返回地标影响的车道。由于可能存在地标无效的特定车道,因此返回的是包含受影响的 lane_id 范围的对列表: 示例:在有5条车道的道路中,其中3条不受影响:[(from_lane1,to_lane2),(from_lane4 ,to_lane5)]。- 返回: list(tuple(int))
carla.LandmarkOrientation
用于定义道路中地标方向的辅助类。该定义并非直接从 OpenDRIVE 转换而来,而是为了便于理解而进行了转换。
实例变量
- Positive
地标朝向与道路几何图形定义方向相同的车辆(OpenDRIVE 中的 0 车道和负车道)。 - Negative
地标朝向与道路几何定义相反方向行驶的车辆(OpenDRIVE中的正车道)。 - Both
都会影响沿道路两个方向行驶的车辆。
carla.LandmarkType
Helper 类包含 OpenDRIVE 标准 (德国 2017)中默认国家/地区代码定义的一组常用地标类型。 carla.Landmark 不引用此类。地标类型是一个字符串,根据所使用的国家/地区代码的不同,其变化很大。此类仅通过将默认集中的一些最常用的描述为枚举来使管理它们变得更容易。
实例变量
- Danger
类型 101。 - LanesMerging
类型 121。 - CautionPedestrian
类型 133。 - CautionBicycle
类型 138。 - LevelCrossing
类型 150。 - StopSign
类型 206。 - YieldSign
类型 205。 - MandatoryTurnDirection
类型 209。 - MandatoryLeftRightDirection
类型 211。 - TwoChoiceTurnDirection
类型 214。 - Roundabout
类型 215。 - PassRightLeft
类型 222。 - AccessForbidden
类型 250。 - AccessForbiddenMotorvehicles
类型 251。 - AccessForbiddenTrucks
类型 253。 - AccessForbiddenBicycle
类型 254。 - AccessForbiddenWeight
类型 263。 - AccessForbiddenWidth
类型 264。 - AccessForbiddenHeight
类型 265。 - AccessForbiddenWrongDirection
类型 267。 - ForbiddenUTurn
类型 272。 - MaximumSpeed
类型 274。 - ForbiddenOvertakingMotorvehicles
类型 276。 - ForbiddenOvertakingTrucks
类型 277。 - AbsoluteNoStop
类型 283。 - RestrictedStop
类型 286。 - HasWayNextIntersection
类型 301。 - PriorityWay
类型 306。 - PriorityWayEnd
类型 307。 - CityBegin
类型 310。 - CityEnd
类型 311。 - Highway
类型 330。 - DeadEnd
类型 357。 - RecomendedSpeed
类型 380。 - RecomendedSpeedEnd
类型 381。
carla.LaneChange
定义左转、右转、双转或不转的权限的类(意味着只允许直行)。根据 OpenDRIVE 文件为每个 carla.Waypoint 存储此信息。carla.Map.get_waypoint 中的片段显示了如何使用路径点来了解允许哪些转弯。
实例变量
carla.LaneInvasionEvent
从 carla.SensorData 继承 为 sensor.other.lane_invasion 定义压线的类。它仅在客户端工作,并依赖 OpenDRIVE 来提供可靠的信息。每次发生压线时,传感器都会创建一个这样的情况,每个模拟步骤可能会发生多次。在 这里 了解更多相关信息。
实例变量
- actor (carla.Actor)
获取传感器所连接的参与者,即侵入另一车道的参与者。 - crossed_lane_markings (list(carla.LaneMarking))
传感器已穿过并检测到的车道标记列表。
方法
魔术方法
carla.LaneMarking
根据 OpenDRIVE 1.4 标准 收集有关车道标记的所有信息的类。
实例变量
- color (carla.LaneMarkingColor)
标记的实际颜色。 - lane_change (carla.LaneChange)
跨越所述车道标记的权限。 - type (carla.LaneMarkingType)
车道标记类型。 - width (float)
水平车道标记厚度。
carla.LaneMarkingColor
根据 OpenDRIVE 1.4 定义车道标记颜色的类。
实例变量
carla.LaneMarkingType
定义 OpenDRIVE 1.4 接受的车道标记类型的类。carla.Map.get_waypoint 中的片段显示了如何使用路径点来检索有关相邻车道标记的信息。
关于双精度类型的注意事项: 车道标记是根据 OpenDRIVE 标准定义的,该标准确定一条线将被视为“BrokenSolid”或“SolidBroken”。每条道路都有一个中心车道标记,根据车道方向从左到右定义。其余车道标记按从中心车道到最近的道路外侧的顺序定义。
实例变量
carla.LaneType
定义 OpenDRIVE 1.4 接受的可能通道类型的类。该标准定义了道路信息。carla.Map.get_waypoint 中的片段利用路点来获取当前和相邻车道类型。
实例变量
- NONE
- Driving
- Stop
- Shoulder
- Biking
- Sidewalk
- Border
- Restricted
- Parking
- Bidirectional
- Median
- Special1
- Special2
- Special3
- RoadWorks
- Tram
- Rail
- Entry
- Exit
- OffRamp
- OnRamp
- Any
除 NONE 之外的所有类型。
carla.LidarDetection
carla.LidarMeasurement 中包含的数据。其中每一个都代表云中的一个点及其位置和相关强度。
实例变量
- point (carla.Location - 米)
xyz 坐标中的点。 - intensity (float)
计算该点的强度作为 [0.0 , 1.0] 之间的标量值。
方法
魔术方法
carla.LidarMeasurement
从 carla.SensorData 继承 定义由 sensor.lidar.ray_cast 检索的LIDAR数据的类。这本质上是使用光线投射模拟旋转激光雷达。在 这里 了解更多相关信息。
实例变量
- channels (int)
发射的激光数量。 - horizontal_angle (float - radians)
测量时 LIDAR 旋转的水平角度。 - raw_data (bytes)
接收到的 4D 点列表。每个点由 [x,y,z] 坐标加上为该点计算的强度组成。
方法
- save_to_disk(self, path)
将点云作为描述来自 3D 扫描仪的数据的 .ply 文件保存到磁盘。生成的文件可以在MeshLab 中使用,MeshLab 是一个用于处理所述文件的开源系统。只需考虑到该轴可能与虚幻引擎不同,因此需要重新分配。- 参数:
path
(str)
- 参数:
获取器
魔术方法
- __getitem__(self, pos=int)
- __iter__(self)
在 carla.LidarDetection 获取的数据上迭代。 - __len__(self)
- __setitem__(self, pos=int, detection=carla.LidarDetection)
- __str__(self)
carla.Light
此类公开场景中存在的灯光(车辆灯光除外)。灯光的属性可以随意查询和改变。当模拟器进入夜间模式(太阳高度低于零)时,灯会自动打开。
实例变量
- color (carla.Color)
灯光的颜色。 - id (int)
灯的标识符。 - intensity (float - lumens)
光的强度。 - is_on (bool)
灯的开关。当灯亮时这是 True 。当夜间模式启动时,此项设置为 True。 - location (carla.Location - 米)
灯光的位置。 - light_group (carla.LightGroup)
灯光所属的组。 - light_state (carla.LightState)
灯光的状态。总结其属性、组以及是否打开/关闭。
方法
设置器
- set_color(self, color)
将灯光的颜色更改为color
。- 参数:
color
(carla.Color)
- 参数:
- set_intensity(self, intensity)
将光的强度更改为intensity
。- 参数:
intensity
(float - lumens)
- 参数:
- set_light_group(self, light_group)
将灯光更改为组light_group
。- 参数:
light_group
(carla.LightGroup)
- 参数:
- set_light_state(self, light_state)
将灯光的状态更改为light_state
。这可能会同时更改属性、分组以及打开/关闭灯。- 参数:
light_state
(carla.LightState)
- 参数:
carla.LightGroup
此类将场景中的灯光分为不同的组。这些可用组作为可用作标志的枚举值提供。
笔记
到目前为止,虽然有一个 vehicle
组,但车灯还不能用作carla.Light对象。这些必须使用carla.Vehicle和 carla.VehicleLightState 进行管理。
实例变量
carla.LightManager
此类处理场景中的灯光。它的主要用途是在一次调用中获取和设置灯光组或灯光列表的状态。此类的实例可以通过 carla.World.get_lightmanager() 检索。
笔记
到目前为止,虽然有一个vehicle
组,但车灯还不能用作carla.Light对象。这些必须使用 carla.Vehicle 和 carla.VehicleLightState 进行管理。
方法
- is_active(self, lights)
返回一个列表,其中包含布尔值,说明其中的元素lights
是否打开/关闭。- 参数:
lights
(list(carla.Light)) - 要查询的灯光列表。
- 返回: list(bool)
- 参数:
- turn_off(self, lights)
关闭lights
中的所有灯。- 参数:
lights
(list(carla.Light)) - 要关闭的灯列表。
- 参数:
- turn_on(self, lights)
打开lights
中的所有灯。- 参数:
lights
(list(carla.Light)) - 要打开的灯列表。
- 参数:
获取器
- get_all_lights(self, light_group=carla.LightGroup.None)
返回包含特定组中的灯光的列表。默认情况下,该组是None
。- 参数:
light_group
(carla.LightGroup) - 用于过滤返回的灯光的组。默认为None
。
- 返回: list(carla.Light)
- 参数:
- get_color(self, lights)
返回一个列表,其中包含lights
中每个元素的颜色。- 参数:
lights
(list(carla.Light)) - 要查询的灯光列表。
- 返回: list(carla.Color)
- 设置器: carla.LightManager.set_color
- 参数:
- get_intensity(self, lights)
返回一个列表,其中包含lights
中每个元素的强度。- 参数:
lights
(list(carla.Light)) - 要查询的灯光列表。
- 返回: list(float) - lumens
- 设置器: carla.LightManager.set_intensity
- 参数:
- get_light_group(self, lights)
返回一个列表,其中包含lights
中每个元素的组。- 参数:
lights
(list(carla.Light)) - 要查询的灯光列表。
- 返回: list(carla.LightGroup)
- 设置器: carla.LightManager.set_light_group
- 参数:
- get_light_state(self, lights)
返回一个列表,其中包含lights
中每个元素的所有属性的状态。- 参数:
lights
(list(carla.Light)) - 要查询的灯光列表。
- **返回: ** list(carla.LightState)
- 设置器: carla.LightManager.set_light_state
- 参数:
- get_turned_off_lights(self, light_group)
返回一个列表,其中包含场景中关闭的灯光(按组过滤)。- 参数:
light_group
(carla.LightGroup) - 要查询的灯光列表。
- 返回: list(carla.Light)
- 参数:
- get_turned_on_lights(self, light_group)
返回一个列表,其中包含场景中打开的灯光(按组过滤)。- 参数:
light_group
(carla.LightGroup) - List of lights to be queried.
- 返回: list(carla.Light)
- 参数:
设置器
- set_active(self, lights, active)
打开/关闭lights
中的元素。- 参数:
lights
(list(carla.Light)) - 要打开/关闭的灯列表。active
(list(bool)) - 要应用的布尔值列表。
- 参数:
- set_color(self, lights, color)
lights
到color
中元素的颜色。- 参数:
lights
(list(carla.Light)) - 要更改的灯光列表。color
(carla.Color) - 要应用的颜色。
- 获取器: carla.LightManager.get_color
- 参数:
- set_colors(self, lights, colors)
将lights
中每个元素的颜色更改为相应的colors
。- 参数:
lights
(list(carla.Light)) - 要更改的灯光列表。colors
(list(carla.Color)) - 要应用的颜色列表。
- 参数:
- set_day_night_cycle(self, active)
所有场景灯都有昼夜循环,随着太阳的高度自动打开和关闭。这会干扰需要完全控制场景灯光的情况,因此将其设置为 False 会停用它。可以通过将其设置为 True 来重新激活它。- 参数:
active
(bool) - (取消)激活昼夜循环。
- 参数:
- set_intensities(self, lights, intensities)
将lights
中每个元素的强度更改为相应的intensities
。- 参数:
lights
(list(carla.Light)) - 要更改的灯光列表。intensities
(list(float) - lumens) - 要应用的强度列表。
- 参数:
- set_intensity(self, lights, intensity)
将lights
中每个元素的强度改为intensity
。- 参数:
lights
(list(carla.Light)) - 要更改的灯光列表。intensity
(float - lumens) - 要应用的强度。
- 获取器: carla.LightManager.get_intensity
- 参数:
- set_light_group(self, lights, light_group)
将lights
中每个元素的组更改为light_group
。- 参数:
lights
(list(carla.Light)) - 要更改的灯光列表。light_group
(carla.LightGroup) - 要应用的组。
- 获取器: carla.LightManager.get_light_group
- 参数:
- set_light_groups(self, lights, light_groups)
将lights
中每个元素的组更改为相应的light_groups
。- 参数:
lights
(list(carla.Light)) - 要更改的灯光列表。light_groups
(list(carla.LightGroup)) - 要应用的组列表。
- 参数:
- set_light_state(self, lights, light_state)
将lights
中每个元素的属性状态改为light_state
。- 参数:
lights
(list(carla.Light)) - 要更改的灯光列表。light_state
(carla.LightState) - 要应用的属性的状态。
- 获取器: carla.LightManager.get_light_state
- 参数:
- set_light_states(self, lights, light_states)
将lights
中每个元素的属性状态更改为相应的light_states
。- 参数:
lights
(list(carla.Light)) - 要更改的灯光列表。light_states
(list(carla.LightState)) - 要应用的属性的状态列表。
- 参数:
carla.LightState
这个类代表除了标识符和位置之外的所有灯光变量,它们应该是静态的。使用此类可以在一次调用中管理灯光的所有参数化。
实例变量
- intensity (float - lumens)
光的强度。 - color (carla.Color)
灯光的颜色。 - group (carla.LightGroup)
灯光所属的组。 - active (bool)
灯的开关。当灯亮时为 True 。
方法
- __init__(self, intensity=0.0, color=carla.Color(), group=carla.LightGroup.None, active=False)
- 参数:
intensity
(float - lumens) - 光的强度。默认为0.0
。color
(carla.Color) - 光的颜色。默认为黑色。group
(carla.LightGroup) - 灯光所属的组。默认为通用组None
。active
(bool) - 灯光开关。默认为False
,灯关闭。
- 参数:
carla.Location
从 carla.Vector3D 继承 代表世界上的一个地方。
实例变量
方法
- __init__(self, x=0.0, y=0.0, z=0.0)
- 参数:
x
(float)y
(float)z
(float)
- 参数:
- distance(self, location)
返回从该位置到另一位置的欧几里得距离。- 参数:
location
(carla.Location) - 用于计算距离的另一个点。
- 返回: float - 米
- 参数:
魔术方法
- __abs__(self)
返回具有 x、y 和 z 分量绝对值的位置。- 返回: carla.Location
- __eq__(self, other=carla.Location)
如果两个位置是空间中的同一点,则返回 True 。- 返回: bool
- __ne__(self, other=carla.Location)
如果两个位置是空间中的不同点,则返回 True 。- 返回: bool
- __str__(self)
将轴的值解析为字符串。- 返回: str
carla.Map
包含道路信息和路径点管理的类。从描述道路的 OpenDRIVE 文件中检索数据。定义了一个查询系统,它与 carla.Waypoint 携手合作,将几何信息从 .xodr 转换为自然世界点。Carla 目前正在使用 OpenDRIVE 1.4 标准 。
实例变量
方法
- __init__(self, name, xodr_content)
此类的构造函数。尽管在初始化世界时会自动生成地图,但在无渲染模式下使用此方法有助于在不运行任何 Carla 服务器的情况下使用 .xodr。- 参数:
name
(str) - 当前地图的名称。xodr_content
(str) - 字符串格式的 .xodr 内容。
- 返回: list(carla.Transform)
- 参数:
- cook_in_memory_map(self, path)
从 Carla 映射生成一个二进制文件,其中包含交通管理器使用的信息。此方法仅在地图导入过程中使用。- 参数:
path
(str) - 存储的二进制映射文件的预期位置的路径。
- 参数:
- generate_waypoints(self, distance)
返回一个路点列表,每个车道的路点之间都有一定的距离,并以其为中心。路点不按任何特定顺序列出。请记住,同一道路、路段和车道内距离超过2厘米的路点将具有相同的标识符。- 参数:
distance
(float - 米) - 路径点之间的近似距离。
- 返回: list(carla.Waypoint)
- 参数:
- save_to_disk(self, path)
将当前映射的 .xodr OpenDRIVE 文件保存到磁盘。- 参数:
path
- 保存文件的路径。
- 参数:
- to_opendrive(self)
以字符串形式返回当前地图的 .xodr OpenDRIVe 文件。- 返回: str
- transform_to_geolocation(self, location)
将模拟中一个点的给定位置location
转换为 carla.GeoLocation,他表示世界坐标系。地图的地理位置在 OpenDRIVE 标签内定义。 - 参数:
location
(carla.Location)
- 返回: carla.GeoLocation
- 参数:
获取器
- get_all_landmarks(self)
返回地图中的所有地标。使用此方法检索到的地标有一个 null 路径点。- 返回: list(carla.Landmark)
- get_all_landmarks_from_id(self, opendrive_id)
返回具有特定 OpenDRIVE ID 的地标。使用此方法检索的地标具有 null 路径点。- 参数:
opendrive_id
(string) - 地标的 OpenDRIVE ID。
- 返回: list(carla.Landmark)
- 参数:
- get_all_landmarks_of_type(self, type)
返回特定类型的地标。使用此方法检索的地标具有 null 路径点。- 参数:
type
(string) - 地标的类型。
- 返回: list(carla.Landmark)
- 参数:
- get_crosswalks(self)
以闭合多边形的形式返回包含所有人行横道区域的位置列表。重复第一个点,表示多边形的起点和终点。- 返回: list(carla.Location)
- get_landmark_group(self, landmark)
返回与指定地标(包括其自身)位于同一组中的地标。如果地标不属于任何组,则返回空列表。- 参数:
landmark
(carla.Landmark) - 属于该组的地标。
- 返回: list(carla.Landmark)
- 参数:
- get_spawn_points(self)
返回地图创建者提出的建议列表,以用作车辆的生成点。该列表包括具有特定位置和方向的carla.Transform 对象。为了避免 Z 型碰撞,上述地点会稍微在空中,因此车辆在出发前会稍微下坠。- 返回: list(carla.Transform)
- get_topology(self)
返回描述 OpenDRIVE 文件拓扑的最小图的元组列表。这些元组包含位于道路起点或终点的成对路点。第一个是起点,第二个代表另一个可以到达的路终点。该图可以加载到NetworkX 中进行使用。输出可能如下所示: [(w0, w1), (w0, w2), (w1, w3), (w2, w3), (w0, w4)] 。- 返回: list(tuple(carla.Waypoint, carla.Waypoint))
- get_waypoint(self, location, project_to_road=True, lane_type=carla.LaneType.Driving)
返回可以位于精确位置或转换到最近车道中心的路径点。所述车道类型可以使用诸如LaneType.Driving & LaneType.Shoulder
的标志来定义。如果未找到路径点,该方法将返回None ,这种情况仅在尝试检索确切位置的路径点时可能会发生。这可以轻松检查某个点是否在某条道路内,否则,它将返回相应的路径点。- 参数:
location
(carla.Location - 米) - 用作 carla.Waypoint 参考的任务。project_to_road
(bool) - 如果是 True,路径点将位于最近车道的中心。这是默认设置。如果为 False,路径点将恰好位于location
。 None 表示该位置不属于道路。lane_type
(carla.LaneType) - 将对最近车道的搜索限制为可以标记的一种或多种车道类型。
- 返回: carla.Waypoint
- 参数:
- get_waypoint_xodr(self, road_id, lane_id, s)
如果传递的所有参数都正确,则返回一个路径点。否则,返回 None。- 参数:
road_id
(int) - 获取路点的道路id。lane_id
(int) - 获取路径点的车道id。s
(float - 米) - 指定从道路起点开始的长度。
- 返回: carla.Waypoint
- 参数:
魔术方法
carla.MapLayer
表示地图的每个可管理层的类。可以用作标志。警告:只有“Opt”地图才能使用地图图层。
实例变量
- NONE
未选择任何图层。 - Buildings
- Decals
- Foliage
- Ground
- ParkedVehicles
- Particles
- Props
- StreetLights
- Walls
- All
选定所有图层。
carla.MaterialParameter
表示材料参数的类。并非场景中的所有对象都包含所有参数。
实例变量
- Normal
对象的法线贴图。存在于一切物体中。 - Diffuse
物体的漫反射纹理。存在于一切物体中。 - AO_Roughness_Metallic_Emissive
每个颜色通道代表材质属性的纹理(R:环境光遮挡,G:粗糙度,B:金属,A:某些物体中的发射/高度贴图)。 - Emissive
发射纹理。存在于一些物体中。
carla.ObstacleDetectionEvent
从 carla.SensorData 继承 定义 sensor.other.obstacle 障碍物数据的类。在 这里 了解更多相关信息。
实例变量
- actor (carla.Actor)
传感器所连接的参与者。 - other_actor (carla.Actor)
被视为障碍的参与者或物体。 - distance (float - 米)
参与者actor
和其他人other
之间的距离。
方法
魔术方法
carla.OpendriveGenerationParameters
此类定义使用 OpenDRIVE 文件生成世界时使用的参数。
实例变量
- vertex_distance (float)
生成的网格顶点之间的距离。默认值为2.0
。 - max_road_length (float)
单个网格部分的最大道路长度。地图的网格被分为多个部分,以避免传播问题。默认值为50.0
。 - wall_height (float)
在道路边界上创建的墙壁的高度。这些可以防止车辆从道路上掉下来。默认值为1.0
。 - additional_width (float)
另外还有应用的连接车道。复杂的情况往往发生在路口,稍微增加一点就可以防止车辆坠落路面。默认值为0.6
。 - smooth_junctions (bool)
如果为 True,交叉点处的网格将被平滑,以防止道路阻塞其他道路的问题。默认为True
。 - enable_mesh_visibility (bool)
如果为 True,将渲染道路网格。将其设置为 False 应该会减少渲染开销。默认为True
。 - enable_pedestrian_navigation (bool)
如果为 True,将使用 Recast 工具启用行人导航。对于非常大的地图,建议禁用此选项。默认为True
。
carla.OpticalFlowImage
从 carla.SensorData 继承 定义表示视场中检测到的光流的二维浮点(32 位)向量的光流图像的类。矢量的分量表示物体在图像平面中的位移。每个组件输出归一化范围 [-2,2] 内的值,该范围缩放为 [-2 size,2 size],大小是相应组件中的总分辨率。
实例变量
- fov (float - 度)
图像的水平视野。 - height (int)
图像高度(以像素为单位)。 - width (int)
图像宽度(以像素为单位)。 - raw_data (bytes)
展平像素数据数组,使用 reshape 创建图像数组。
方法
获取器
- get_color_coded_flow(self)
可视化助手。将光流图像转换为 RGB 图像。- 返回: carla.Image
魔术方法
- __getitem__(self, pos=int)
- __iter__(self)
迭代形成图像的 carla.OpticalFlowPixel 。 - __len__(self)
- __setitem__(self, pos=int, color=carla.Color)
- __str__(self)
carla.OpticalFlowPixel
定义表示光流像素的二维向量的类。
实例变量
方法
魔术方法
- __eq__(self, other=carla.OpticalFlowPixel)
- __ne__(self, other=carla.OpticalFlowPixel)
- __str__(self)
carla.Osm2Odr
将 OpenStreetMap 地图转换为 OpenDRIVE 格式的类,以便可以在 Carla 中加载。在 文档 中了解有关此功能的更多信息。
方法
- convert(osm_file, settings)
获取.osm
文件(OpenStreetMap 格式)的内容并返回描述所述地图的.xodr
(OpenDRIVE 格式)的内容。传递一些参数化来进行转换。- 参数:
osm_file
(str) - 输入 OpenStreetMap 文件的内容解析为字符串。settings
(carla.OSM2ODRSettings) - 转换的参数化。
- 返回: str
- 参数:
carla.Osm2OdrSettings
包含由 carla.Osm2Odr 使用的参数化的帮助程序类,用于将 OpenStreetMap 地图转换为 OpenDRIVE 格式。在 文档 中了解有关此功能的更多信息。
实例变量
- use_offsets (bool)
允许使用偏移量进行转换。偏移量将移动地图的原点位置。默认值为 False。 - offset_x (float - 米)
X 轴偏移。默认值为 0.0。 - offset_y (float - 米)
Y 轴偏移。默认值为 0.0。 - default_lane_width (float - 米)
生成的 XODR 地图中描述的车道宽度。默认值为 4.0。 - elevation_layer_height (float - 米)
定义分隔两个不同 OpenStreetMap 图层 的高度。默认值为 0.0。 - center_map (bool)
启用此选项后,地图的几何图形将发生位移,以使坐标原点与整个道路地图的边界框中心相匹配。 - proj_string (str)
定义将用于计算从地理坐标到笛卡尔坐标的投影的 proj4 字符串。该字符串将写入生成的 OpenDRIVE 中,除非启用了use_offsets
或center_map
选项,因为这些选项会覆盖字符串中的某些定义。 - generate_traffic_lights (bool)
指出是否在OpenDRIVE中生成红绿灯数据。set_traffic_light_excluded_way_types(way_types)
定义的道路类型不会生成交通信号灯。 - all_junctions_with_traffic_lights (bool)
禁用时,转换器将仅从 OpenStreetMaps 数据生成交通灯数据。启用后,所有路口都会生成交通信号灯。
方法
设置器
- set_osm_way_types(self, way_types)
定义将导入到 OpenDRIVE 的 OpenStreetMaps 道路类型。默认情况下,导入的道路类型为motorway, motorway_link, trunk, trunk_link, primary, primary_link, secondary, secondary_link, tertiary, tertiary_link, unclassified, residential
。有关道路类型的完整列表,请查看 此处 。- 参数:
way_types
(list(str)) - 道路类型列表。
- 参数:
- set_traffic_light_excluded_way_types(self, way_types)
定义即使启用generate_traffic_lights
也不会生成交通灯的 OpenStreetMaps 道路类型。默认情况下,排除的道路类型为motorway_link, primary_link, secondary_link, tertiary_link
。- 参数:
way_types
(list(str)) - 道路类型列表。
- 参数:
carla.RadarDetection
carla.RadarMeasurement 中包含的数据。其中每一个都代表传感器.sensor.other.radar 记录的云中的点之一,并包含与雷达相关的距离、角度和速度。
实例变量
- altitude (float - radians)
检测的高度角。 - azimuth (float - radians)
检测的方位角。 - depth (float - 米)
传感器到检测位置的距离。 - velocity (float - m/s)
被检测物体朝向传感器的速度。
方法
魔术方法
carla.RadarMeasurement
从 carla.SensorData 继承 定义并收集由 sensor.other.radar 注册的测量值的类,代表传感器前面的点墙以及与其相关的距离、角度和速度。数据由 carla.RadarDetection 数组组成。在 这里 了解更多相关信息。
实例变量
- raw_data (bytes)
carla.RadarDetection 雷达的完成信息已经被注册。
方法
设置器
魔术方法
- __getitem__(self, pos=int)
- __iter__(self)
在获取的数据 carla.RadarDetection 上进行迭代。 - __len__(self)
- __setitem__(self, pos=int, detection=carla.RadarDetection)
- __str__(self)
carla.Rotation
表示 3D 旋转以及空间方向的类。 Carla 使用虚幻引擎坐标系,在虚幻引擎世界里,空间坐标的单位是厘米。其设计基于第一人称视觉:X 轴正方向表示向前,Y 轴正方向表示向右,Z 轴正方向表示向上。
构造函数方法遵循特定的声明顺序: (pitch, yaw, roll)
对应于 (Y-rotation,Z-rotation,X-rotation)
.
虚幻引擎的坐标系。
实例变量
方法
- __init__(self, pitch=0.0, yaw=0.0, roll=0.0)
- 参数:
pitch
(float - 度) - Y-axis rotation angle.yaw
(float - 度) - Z-axis rotation angle.roll
(float - 度) - X-axis rotation angle.
- 警告: CARLA
(pitch,yaw,roll)
和虚幻引擎编辑器中的声明顺序不同。当从源代码构建时,不要混淆轴的旋转。
- 参数:
设置器
- get_forward_vector(self)
根据对象的旋转计算指向前方的向量。- 返回: carla.Vector3D
- get_right_vector(self)
根据对象的旋转计算指向右侧的向量。- 返回: carla.Vector3D
- get_up_vector(self)
根据对象的旋转计算指向上方的向量。- 返回: carla.Vector3D
魔术方法
- __eq__(self, other=carla.Rotation)
如果两个旋转代表每个轴的相同方向,则返回 True 。- 返回: bool
- __ne__(self, other=carla.Rotation)
如果两个旋转代表每个轴的相同方向,则返回 True 。- 返回: bool
- __str__(self)
将轴的方向解析为字符串。
carla.RssActorConstellationData
由 RssSensor.register_actor_constellation_callback() 注册的回调中提供的数据结构。
实例变量
- ego_match_object (ad.map.match.Object)
自我映射匹配信息。 - ego_route (ad.map.route.FullRoute)
自我路由。 - ego_dynamics_on_route (carla.RssEgoDynamicsOnRoute)
关于路线的当前自我车辆动态。 - other_match_object (ad.map.match.Object)
其他对象的地图匹配信息。仅当“other_actor”不是“None”时这才有效。 - other_actor (carla.Actor)
其他参与者。如果查询默认参数或类型为 ad.rss.world.ObjectType.ArtificialObject 且没有专用“carla.Actor' (as e.g. for the road boundaries”的人工对象(例如目前的道路边界),则为“None”。
方法
魔术方法
carla.RssActorConstellationResult
应该由 RssSensor.register_actor_constellation_callback() 注册的回调返回的数据结构。
实例变量
- rss_calculation_mode (ad.rss.map.RssMode)
要应用于参与者的计算模式。 - restrict_speed_limit_mode (ad.rss.map.RestrictSpeedLimitMode)
限速模式。 - ego_vehicle_dynamics (ad.rss.world.RssDynamics)
将责任敏感安全动态应用于自我车辆。 - actor_object_type (ad.rss.world.ObjectType)
要用于参与者的责任敏感安全对象类型。 - actor_dynamics (ad.rss.world.RssDynamics)
要应用于参与者的责任敏感安全动力学。
方法
魔术方法
carla.RssEgoDynamicsOnRoute
描述车辆状态的 carla.RssResponse 中包含的部分数据。参数包括它当前的动态,以及它如何根据目标路线前进。
实例变量
- ego_speed (ad.physics.Speed)
自我车辆的速度。 - min_stopping_distance (ad.physics.Distance)
当前最小停车距离。 - ego_center (ad.map.point.ENUPoint)
自我车辆被考虑的enu位置。 - ego_heading (ad.map.point.ENUHeading)
考虑的自我车辆的航向。 - ego_center_within_route (bool)
说明自我车辆的中心是否在路线内。 - crossing_border (bool)
说明车辆是否已经越过其中一个车道边界。 - route_heading (ad.map.point.ENUHeading)
路线的考虑方向。 - route_nominal_center (ad.map.point.ENUPoint)
当前路线的名义中心。 - heading_diff (ad.map.point.ENUHeading)
被考虑的方向偏离了路线。 - route_speed_lat (ad.physics.Speed)
自我车辆的速度分量 lat 与路线有关。 - route_speed_lon (ad.physics.Speed)
自我车辆的速度分量 lon 与路线有关。 - route_accel_lat (ad.physics.Acceleration)
自我车辆的加速度分量 lat 与路线有关。 - route_accel_lon (ad.physics.Acceleration)
自我车辆的加速度分量 lon 与路线有关。 - avg_route_accel_lat (ad.physics.Acceleration)
自我车的加速度分量 lat 与经过平均滤波平滑的路线有关。 The ego vehicle's acceleration component lat regarding the route smoothened by an average filter. - avg_route_accel_lon (ad.physics.Acceleration)
对经过平均滤波平滑的路线进行自加速度分量 lon 分析。
方法
魔术方法
carla.RssLogLevel
枚举声明中使用的 carla.RssSensor 设置日志级别。
实例变量
carla.RssResponse
从 carla.SensorData 继承 包含c carla.RssSensor 输出的类。这是对传感器的父车辆执行的责任敏感安全计算的结果。
carla.RssRestrictor 将使用数据修改车辆的 carla.VehicleControl。
实例变量
- response_valid (bool)
说明响应是否有效。如果计算失败或发生异常,则为 False 。 - proper_response (ad.rss.state.ProperResponse)
责任敏感安全为车辆计算的正确响应。 - rss_state_snapshot (ad.rss.state.RssStateSnapshot)
详细的责任敏感安全在当前时刻的状态。 - ego_dynamics_on_route (carla.RssEgoDynamicsOnRoute)
关于路线的当前自我车辆动力学。 - world_model (ad.rss.world.WorldModel)
用于计算的世界模型。 - situation_snapshot (ad.rss.situation.SituationSnapshot)
从世界模型中提取的详细责任敏感安全情况。
方法
魔术方法
carla.RssRestrictor
这些对象将限制应用于 carla.VehicleControl。它是 负责敏感安全的C++库 的Carla实现的一部分。此类与 rss传感器 协同工作,rss传感器提供要应用的限制的数据。
方法
- restrict_vehicle_control(self, vehicle_control, proper_response, ego_dynamics_on_route, vehicle_physics)
应用carla.RssSensor 对 carla.VehicleControl 给出的安全限制。- 参数:
vehicle_control
(carla.VehicleControl) - 要限制的输入车辆控制。proper_response
(ad.rss.state.ProperResponse) - 传感器产生的部分响应。包含适用于车辆加速的限制。ego_dynamics_on_route
(carla.RssEgoDynamicsOnRoute) - 传感器产生的部分响应。包含有关其路线的车辆动力学和方向。vehicle_physics
(carla.VehiclePhysicsControl) - 车辆的当前物理特性。用于正确应用限制。
- 返回: carla.VehicleControl
- 参数:
设置器
- set_log_level(self, log_level)
设置日志级别。- 参数:
log_level
(carla.RssLogLevel) - 新日志级别。
- 参数:
carla.RssRoadBoundariesMode
carla.RssSensor 中使用的枚举声明,用于启用或禁用 公路停留 功能。总而言之,此功能将道路边界视为虚拟对象。最小安全距离检查应用于这些虚拟墙,以确保车辆不会驶离道路。
实例变量
carla.RssSensor
从 carla.Sensor 继承 此传感器的工作原理与其他传感器略有不同。请查看 特定文档 和 rss传感器参考 ,以充分了解它。
责任敏感安全传感器使用世界信息和 责任敏感安全库 对车辆进行安全检查。传感器检索到的输出是 carla.RssResponse。这将由 carla.RssRestrictor 使用。在将其应用于车辆之前进行 carla.VehicleControl。
实例变量
- ego_vehicle_dynamics (ad.rss.world.RssDynamics)
说明如果没有注册参与者 constellation 回调,传感器将考虑的自我车辆的 责任敏感安全参数 。 - other_vehicle_dynamics (ad.rss.world.RssDynamics)
说明如果没有注册参与者 constellation 回调,传感器将为其余车辆考虑的 责任敏感安全参数 。 - pedestrian_dynamics (ad.rss.world.RssDynamics)
说明如果没有注册参与者 constellation 回调,传感器将为行人考虑的 责任敏感安全参数 。 - road_boundaries_mode (carla.RssRoadBoundariesMode)
切换停留在道路上 stay on road 的功能。默认情况下处于禁用(Off)状态。 - routing_targets (vector<carla.Transform>)
当前考虑对车辆进行路由的目标列表。如果未定义路由目标,则随机生成路由。
方法
- append_routing_target(self, routing_target)
将新的目标位置附加到车辆的当前路线。- 参数:
routing_target
(carla.Transform) - 为路线新建目标点。在交叉口后选择这些选项,以强制路线转弯。
- 参数:
- drop_route(self)
放弃当前路由。如果 routing_targets 中还有目标,则使用这些目标创建新路由。否则,将随机创建新路由。 - register_actor_constellation_callback(self, callback)
注册回调以自定义 carla.RssActorConstellationResult。通过此回调,责任敏感安全参数的设置是根据参与者 constellation 完成的,并且设置(ego_vehicle_dynamics, other_vehicle_dynamics and pedestrian_dynamics)没有任何效果。- 参数:
callback
- 每当要计算责任敏感安全情况时要调用的函数。
- 参数:
- reset_routing_targets(self)
删除已附加到路由的目标。
设置器
- set_log_level(self, log_level)
设置日志级别。- 参数:
log_level
(carla.RssLogLevel) - 新的日志级别。
- 参数:
- set_map_log_level(self, log_level)
设置日志日志级别。- 参数:
log_level
(carla.RssLogLevel) - New map log level.
- 参数:
魔术方法
carla.SemanticLidarDetection
carla.SemanticLidarMeasurement 中包含的数据。其中每一个都代表云中的一个点及其位置、入射角的余弦、命中物体的索引及其语义标记。
实例变量
- point (carla.Location - 米)
点的[x,y,z]坐标。 - cos_inc_angle (float)
光线与被击中物体法线之间入射角的余弦。 - object_idx (uint)
被光线击中的参与者的ID。 - object_tag (uint)
被光线击中部件的语义标签。
方法
魔术方法
carla.SemanticLidarMeasurement
从 carla.SensorData 继承 该类定义由 sensor.lidar.ray_cast_semantic 检索的语义激光雷达数据。这实质上是使用光线投射来模拟旋转激光雷达。在此了解更多信息。
实例变量
- channels (int)
激光发射次数。 - horizontal_angle (float - radians)
水平角度激光雷达在测量时旋转。 - raw_data (bytes)
收到原始检测点列表。每个点由[x,y,z]坐标加上入射角的余弦,命中参与者的索引及其语义标记组成。
方法
- save_to_disk(self, path)
将点云保存为描述三维扫描仪数据的 .ply 文件保存到磁盘。生成的文件可以在MeshLab 中使用,MeshLab是一个用于处理上述文件的开源系统。只需考虑到轴可能与不真实的引擎不同,因此需要重新分配。- 参数:
path
(str)
- 参数:
获取器
魔术方法
- __getitem__(self, pos=int)
- __iter__(self)
在获取到的 carla.SemanticLidarDetection 数据上进行迭代。 - __len__(self)
- __setitem__(self, pos=int, detection=carla.SemanticLidarDetection)
- __str__(self)
carla.Sensor
从 carla.Actor 继承 传感器构成了一个非常多样化和独特的特定参与者家族。它们通常是作为车辆的附件/儿子而产生的(看看carla.World来了解参与者的生成)。传感器经过精心设计,可以检索它们正在监听的不同类型的数据。它们接收到的数据被形成为从carla.SensorData继承的不同子类。(取决于传感器)。
大多数传感器可分为两组:一组在每个节拍中接收数据(相机、点云和一些特定的传感器),另一组仅在特定情况下接收数据(触发探测器)。Carla 提供了一套特定的传感器,它们的蓝图可以在 carla.BlueprintLibrary 中找到。关于他们的偏好和放置位置的所有信息都可以在 这里 找到,但到目前为止,Carla 中可用的信息列表如下。
每个节拍接收的数据。
- 深度相机
- 全球导航卫星系统传感器
- IMU 传感器
- 激光雷达光线投射
- SemanticLidar 光线投射
- 雷达
- RGB 相机
- 责任敏感安全传感器
- 语义分割相机
仅在触发时接收数据。
- 碰撞检测器.
- 压线检测器.
- 障碍物检测器.
实例变量
方法
- disable_for_ros(self)
如果没有任何监听,则命令不处理传感器以在 ROS2 中发布。 - enable_for_ros(self)
命令要处理的传感器能够在ROS2中发布,而无需任何监听。 - is_enabled_for_ros(self)
如果传感器已启用,则返回;如果没有任何监听,则不在ROS2中发布。- 返回: bool
- is_listening(self)
返回传感器是否处于监听状态。- 返回: bool
- is_listening_gbuffer(self, gbuffer_id)
返回传感器是否处于特定 GBuffer 纹理的监听状态。- 参数:
gbuffer_id
(carla.GBufferTextureID) - 目标虚幻引擎GBuffer纹理的ID。
- 返回: bool
- 参数:
- listen(self, callback)
每次收到新的测量值时,传感器将调用的函数。此函数需要一个包含对象类型 carla.SensorData 的参数。- 参数:
callback
(function) - 被调用的函数有一个参数包含传感器数据。
- 参数:
- listen_to_gbuffer(self, gbuffer_id, callback)
每次接收到所需的 GBuffer 纹理时,传感器将调用的函数。
此函数需要一个包含对象类型 carla.SensorData 的参数。- 参数:
gbuffer_id
(carla.GBufferTextureID) - 目标虚幻引擎 GBuffer 纹理的ID。callback
(function) - 被调用的函数有一个参数,其中包含接收到的GBuffer纹理。
- 参数:
- stop(self)
命令传感器停止监听数据。 - stop_gbuffer(self, gbuffer_id)
命令传感器停止监听指定的 GBuffer 纹理。- 参数:
gbuffer_id
(carla.GBufferTextureID) - 虚幻引擎 GBuffer 纹理的ID。
- 参数:
魔术方法
carla.SensorData
包含 carla.Sensor 生成的数据的所有对象的基类。这个对象应该是传感器正在监听的函数的参数,以便与它们一起工作。这些传感器中的每一个都需要特定类型的传感器数据。以下是传感器及其相应数据的列表。
- 相机 (RGB, 深度和语义分割): carla.Image.
- 碰撞检测器:carla.CollisionEvent.
- 全球导航卫星系统传感器:carla.GnssMeasurement.
- 惯性测量单元传感器:carla.IMUMeasurement.
- 压线检测器:carla.LaneInvasionEvent.
- 激光雷达传感器:carla.LidarMeasurement.
- 障碍物检测器:carla.ObstacleDetectionEvent.
- 雷达传感器:carla.RadarMeasurement.
- 责任敏感安全传感器:carla.RssResponse.
- 语义激光雷达传感器:carla.SemanticLidarMeasurement.
- V2X传感器协同感知信息:carla.CAMEvent.
- 自定义V2X消息V2X传感器:carla.CustomV2XEvent.
实例变量
- frame (int)
生成数据时的帧数。 - timestamp (float - seconds)
生成数据的模拟时间。 - transform (carla.Transform)
数据生成时传感器的转换。
carla.TextureColor
类表示要上传到服务器的纹理对象。像素格式为 RGBA,每个通道为 uint8。
实例变量
方法
- __init__(self, width, height)
使用(width
,height
)大小初始化纹理。- 参数:
width
(int)height
(int)
- 参数:
- get(self, x, y)
获取(x,y)像素数据。- 参数:
x
(int)y
(int)
- 返回: carla.Color
- 参数:
- set(self, x, y, value)
用值value
设置(x,y)像素数据。- 参数:
x
(int)y
(int)value
(carla.Color)
- 参数:
设置器
carla.TextureFloatColor
类表示要上传到服务器的纹理对象。像素格式为 RGBA,每个通道的是 float 。
实例变量
方法
- __init__(self, width, height)
使用(width
,height
)大小初始化纹理。- 参数:
width
(int)height
(int)
- 参数:
- get(self, x, y)
获取(x,y)像素数据。- 参数:
x
(int)y
(int)
- 返回: carla.FloatColor
- 参数:
- set(self, x, y, value)
用值value
设置(x,y)像素数据。- 参数:
x
(int)y
(int)value
(carla.FloatColor)
- 参数:
设置器
carla.Timestamp
包含模拟数据时间信息的类。此信息将作为 carla.WorldSnapshot 的一部分自动检索。是客户端在每一帧上获得的,但也可能用于许多其他情况,如 carla.Sensor 正在检索数据。
实例变量
- frame (int)
自模拟器启动以来经过的帧数。 - elapsed_seconds (float - seconds)
自当前剧集开始以来经过的模拟秒数。 - delta_seconds (float - seconds)
自上一帧以来经过的模拟秒数。 - platform_timestamp (float - seconds)
操作系统给出的进行此测量的帧的时间寄存器,单位为秒。
方法
- __init__(self, frame, elapsed_seconds, delta_seconds, platform_timestamp)
- 参数:
frame
(int)elapsed_seconds
(float - 秒)delta_seconds
(float - 秒)platform_timestamp
(float - 秒)
- 参数:
魔术方法
- __eq__(self, other=carla.Timestamp)
- __ne__(self, other=carla.Timestamp)
- __str__(self)
carla.TrafficLight
从 carla.TrafficSign 继承 交通信号灯参与者,被认为是一种特定类型的交通标志。由于交通信号灯大多出现在路口,因此它们属于一个包含不同交通信号灯的组。在组内,交通信号灯通过其杆指数进行区分。
在一个组内,交通灯的状态以循环模式变化:选择一个索引,它在绿色、黄色和最终红色中停留几秒钟。其余的交通灯在整个过程中都保持红色,这意味着在循环的最后几秒钟有一个间隙,所有的交通灯都是红色的。但是,交通灯状态可以手动改变。
实例变量
- state (carla.TrafficLightState)
交通信号灯的当前状态。
方法
- freeze(self, freeze)
在当前状态将场景中的所有交通灯停止。- 参数:
freeze
(bool)
- 参数:
- is_frozen(self)
如果交通灯根据上次勾选被冻结,客户端将返回 True。该方法不调用模拟器。- 返回: bool
- reset_group(self)
将组的交通灯状态重置为模拟开始时的初始状态。- Note: 此方法调用模拟器。
设置器
- get_affected_lane_waypoints(self)
返回一个路径点列表,指示交通灯产生影响的位置和车道。- 返回: list(carla.Waypoint)
- get_elapsed_time(self)
客户端根据上次滴答信息返回自当前灯光状态开始以来的时间(秒)。该方法不调用模拟器。- 返回: float - seconds
- get_green_time(self)
客户端根据最后一个滴答信息返回为绿灯设置的时间。该方法不调用模拟器。- 返回: float - seconds
- 设置器: carla.TrafficLight.set_green_time
- get_group_traffic_lights(self)
返回此交通灯所属组中的所有交通灯。- 返回: list(carla.TrafficLight)
- Note: 此方法调用模拟器。
- get_light_boxes(self)
返回一个包含交通灯每个灯箱的边界框列表。- 返回: list(carla.BoundingBox)
- get_opendrive_id(self)
返回此交通灯的OpenDRIVE id。- 返回: str
- get_pole_index(self)
返回将其标识为交叉口交通灯组一部分的杆的索引。- 返回: int
- get_red_time(self)
客户端根据最后一个滴答信息返回交通灯变红的时间设置。该方法不调用模拟器。- 返回: float - seconds
- 设置器: carla.TrafficLight.set_red_time
- get_state(self)
客户端根据最后一个滴答信息返回交通灯的状态。该方法不调用模拟器。 - get_stop_waypoints(self)
返回指示交通灯停止位置的路点列表。这些路点是根据交通灯的触发框计算出来的,这些触发框指示车辆应该停在哪里。- 返回: list(carla.Waypoint)
- get_yellow_time(self)
客户端根据最后一个滴答信息返回为交通灯设置为黄色的时间。该方法不调用模拟器。- 返回: float - 秒
- 设置器: carla.TrafficLight.set_yellow_time
设置器
- set_green_time(self, green_time)
- 参数:
green_time
(float - 秒) - 设置绿灯激活的给定时间。
- 获取器: carla.TrafficLight.get_green_time
- 参数:
- set_red_time(self, red_time)
设置红色状态激活的给定时间。- 参数:
red_time
(float - 秒)
- 获取器: carla.TrafficLight.get_red_time
- 参数:
- set_state(self, state)
将给定状态设置为交通灯参与者。- 参数:
state
(carla.TrafficLightState)
- 获取器: carla.TrafficLight.get_state
- 参数:
- set_yellow_time(self, yellow_time)
设置黄灯激活的给定时间。- 参数:
yellow_time
(float - seconds)
- 获取器: carla.TrafficLight.get_yellow_time
- 参数:
魔术方法
carla.TrafficLightState
交通灯的所有可能状态。这些可以在特定时间步长更改或手动更改。carla.TrafficLight.set_state 中的片段会动态更改交通灯的状态。
实例变量
carla.TrafficManager
交通管理器是一个用 C++ 构建在 CARLA API 之上的模块。它可以处理设置为自动驾驶模式的任何车辆组,以现实的城市交通状况填充模拟,并为用户提供定制某些行为的机会。交通管理器的架构分为五个不同的面向目标的阶段和一个 PID 控制器,信息在其中流动,直到最终将 carla.VehicleControl 应用于在交通管理器中注册的每辆车辆。要了解更多信息,请访问有关此模块的 文档。
方法
- auto_lane_change(self, actor, enable)
打开或关闭车辆的车道变换行为。- 参数:
actor
(carla.Actor) - 设置被更改的车辆。enable
(bool) - True 为默认值并启用车道变更。 False 将禁用它们。
- 参数:
- collision_detection(self, reference_actor, other_actor, detect_collision)
调整车辆与另一个特定参与者之间的碰撞。为了忽略所有其他车辆、交通信号灯或行人,请使用同一部分中描述的 特定 ignore 方法。- 参数:
reference_actor
(carla.Actor) - 将忽略碰撞的车辆。other_actor
(carla.Actor) - 将忽略与之发生碰撞的参与者reference_actor
。detect_collision
(bool) - True 是默认值并启用碰撞。 False 将禁用它们。
- 参数:
- distance_to_leading_vehicle(self, actor, distance)
设置车辆必须与其他车辆保持的最小距离(以米为单位)。距离以米为单位,会影响最小移动距离。它是从车辆对象的前到后计算的。- 参数:
actor
(carla.Actor) - 正在更改最小距离的车辆。distance
(float - 米) - 两辆车之间的米。
- 参数:
- force_lane_change(self, actor, direction)
强制车辆改变到其左侧或右侧的车道(如果存在),如direction
中所示 。无论发生什么情况,该方法都会应用车道变换,而忽略可能发生的碰撞。- 参数:
actor
(carla.Actor) - 车辆被迫改变车道。direction
(bool) - 目标车道。 True 是右边的, False 是左边的。
- 参数:
- global_lane_offset(self, offset)
设置距中心线的全局车道偏移位移。正值表示向右偏移,负值表示向左偏移。默认值为 0。数字高到足以导致车辆驶过其他车道可能会损坏控制器。- 参数:
offset
(float) - 车道距中心线的偏移位移。
- 参数:
- global_percentage_speed_difference(self, percentage)
设置车辆的预期速度与其当前速度限制的差值。通过将perc
设为负值可以超出速度限制默认值为 30。可以使用负百分比来超过速度限制。- 参数:
percentage
(float) - 预期速度和当前限制之间的百分比差异。
- 参数:
- ignore_lights_percentage(self, actor, perc)
在每帧运行的交通灯阶段,此方法设置车辆忽略交通灯的百分比机会。- 参数:
actor
(carla.Actor) - 将忽略交通灯的参与者。perc
(float) - 0 到 100 之间。交通信号灯被忽略的次数。
- 参数:
- ignore_signs_percentage(self, actor, perc)
在每帧运行的交通灯阶段,此方法设置车辆忽略停车标志的百分比机会。- 参数:
actor
(carla.Actor) - 将忽略停车标志的参与者。perc
(float) - 0 到 100 之间。停车标志被忽略的次数。
- 参数:
- ignore_vehicles_percentage(self, actor, perc)
在每帧运行的碰撞检测阶段,此方法设置一个车辆忽略与另一辆车碰撞的百分比机会。- 参数:
actor
(carla.Actor) - 将忽略其他车辆的车辆。perc
(float) - Between 0 and 100. 0 到 100 之间。碰撞被忽略的次数。
- 参数:
- ignore_walkers_percentage(self, actor, perc)
在每帧运行的碰撞检测阶段,此方法设置车辆忽略与行人碰撞的百分比机会。- 参数:
actor
(carla.Actor) - 将忽略场景中行人的车辆。perc
(float) - Between 0 and 100. 0 到 100 之间。碰撞被忽略的次数。
- 参数:
- keep_right_rule_percentage(self, actor, perc)
在定位阶段,此方法设置车辆遵循 靠右 规则并留在右侧车道的百分比机会。- 参数:
actor
(carla.Actor) - 正在改变行为的车辆。perc
(float) - Between 0 and 100. 0 到 100 之间。车辆遵循靠右规则的次数。
- 参数:
- random_left_lanechange_percentage(self, actor, percentage)
调整参与者在每个时间步中执行左变道的概率,具体取决于变道可用性。- 参数:
actor
(carla.Actor) - 您要查询的参与者。percentage
(float) - 换道概率,以百分比为单位(0 到 100 之间)。
- 参数:
- random_right_lanechange_percentage(self, actor, percentage)
调整参与者在每个时间步执行右变道的概率,具体取决于变道可用性。- 参数:
actor
(carla.Actor) - 您要查询的参与者。percentage
(float) - 换道概率,以百分比为单位(0 到 100 之间)。
- 参数:
- shut_down(self)
关闭交通管理器。 - update_vehicle_lights(self, actor, do_update)
设置交通管理器是否负责更新车灯。默认为 False 。交通管理器不会更改车辆的车灯状态,除非其 auto_update_status 设为 True 。- 参数:
actor
(carla.Actor) - 其灯光状态正在更改的车辆。do_update
(bool) - 如果为 True ,交通管理器将管理指定车辆的车灯。
- 参数:
- vehicle_lane_offset(self, actor, offset)
设置相对于中心线的车道偏移位移。正值表示向右偏移,负值表示向左偏移。默认值为 0。数字高到足以导致车辆驶过其他车道可能会损坏控制器。- 参数:
actor
(carla.Actor) - 车道偏移行为正在更改的车辆。offset
(float) - 车道距中心线的偏移位移。
- 参数:
- vehicle_percentage_speed_difference(self, actor, percentage)
设置车辆的预期速度与其当前速度限制的差值。通过将perc
设为负值可以超出速度限制默认值为 30。可以使用负百分比来超过速度限制。- 参数:
actor
(carla.Actor) - 速度行为正在改变的车辆。percentage
(float) - 预期速度和当前限制之间的百分比差异。
- 参数:
设置器
- get_all_actions(self, actor)
返回交通管理器控制的参与者将在后续步骤中执行的所有已知操作(即道路选项和路径点)。- 参数:
actor
(carla.Actor) - 您要查询的参与者。
- 返回: 每个元素的列表列表如下 - [道路选项(字符串,例如“左”、“右”、“直”)、下一个路径点 (carla.Waypoint)]
- 参数:
- get_next_action(self, actor)
返回由交通管理器控制的参与者将遵循的下一个已知道路选项和路径点。- 参数:
actor
(carla.Actor) - 您要查询的参与者。
- 返回: 两个元素的列表 - [道路选项(字符串,例如“左”、“右”、“直”)、下一个路径点 (carla.Waypoint)]
- 参数:
- get_port(self)
返回交通管理器连接的端口。如果该对象是 TM-Client,它将返回其TM-Server的端口。阅读 文档 以了解其中的差异。- 返回: uint16
设置器
- set_boundaries_respawn_dormant_vehicles(self, lower_bound=25.0, upper_bound=actor_active_distance)
设置要在英雄车辆附近重生的休眠参与者的上限和下限。- 参数:
lower_bound
(float) - 休眠参与者重生时距英雄车辆的最小距离(以米为单位)。upper_bound
(float) - 休眠参与者重生时距英雄车辆的最大距离(以米为单位)。
- 警告:
upper_bound
不能高于actor_active_distance
。lower_bound
不能小于 25。
- 参数:
- set_desired_speed(self, actor, speed)
将车辆的速度设置为指定值。- 参数:
actor
(carla.Actor) - 速度正在改变的车辆。speed
(float) - 车辆移动所需的速度。
- 参数:
- set_global_distance_to_leading_vehicle(self, distance)
设置车辆与其他车辆必须保持的最小距离(以米为单位)。距离以米为单位,会影响最小移动距离。它是从车辆对象的中心到中心计算的。- 参数:
distance
(float - 米) - 车辆之间的米数。
- 参数:
- set_hybrid_physics_mode(self, enabled=False)
启用或禁用混合物理模式。在此模式下,距离自身车辆超过一定半径的车辆将禁用其物理功能。通过不计算车辆动力学将降低计算成本。车辆将被传送。- 参数:
enabled
(bool) - 如果为 True ,则启用混合物理。
- 参数:
- set_hybrid_physics_radius(self, r=50.0)
启用混合物理功能后,更改启用物理功能的影响区域的半径。- 参数:
r
(float - 米) - 启用物理的新半径。
- 参数:
- set_osm_mode(self, mode_switch=True)
启用或禁用 OSM 模式。该模式允许用户在使用 OSM 功能 创建的地图中运行 TM。这些地图允许有死胡同。通常,如果车辆无法找到下一个路径点,交通管理器就会崩溃。如果启用 OSM 模式,它将显示警告,并在必要时销毁车辆。- 参数:
mode_switch
(bool) - 如果 True ,则启用 OSM 模式。
- 参数:
- set_path(self, actor, path)
设置车辆在受交通管理器控制时要遵循的位置列表。- 参数:
actor
(carla.Actor) - 必须遵循给定路径的参与者。path
(list) - carla.Locations 的列表,供参与者跟随。
- 警告: 确保道路拓扑不会妨碍给定路径。
- 参数:
- set_random_device_seed(self, value)
为交通管理器设置特定的随机种子,从而将其设置为确定性的。- 参数:
value
(int) - 交通管理器随机数生成的种子值。
- 参数:
- set_respawn_dormant_vehicles(self, mode_switch=False)
如果为 True ,大地图中的车辆在休眠时会在英雄车辆附近重生。否则,它们将保持休眠状态,直到actor_active_distance
再次进入英雄车辆。- 参数:
mode_switch
(bool)
- 参数:
- set_route(self, actor, path)
设置由交通管理器控制的车辆要遵循的路线指令列表。可能的路线指令是'Left', 'Right', 'Straight'。- 参数:
actor
(carla.Actor) - 必须遵循给定路线指示的参与者。path
(list) - 车辆要遵循的路线指令(字符串)列表。
- 警告: 确保车道拓扑不会妨碍给定路线。
- 参数:
- set_synchronous_mode(self, mode_switch=True)
将交通管理器设置为 同步模式 。在 多客户端情况 下,只有 TM-Server 可以运行。类似地,在多TM 情况下,只有一个TM-Server 必须勾选。在进行世界勾选的客户端中使用此方法,并在将世界设置为同步模式后立即设置同步时哪个 TM 将成为主服务器。- 参数:
mode_switch
(bool) - 如果为 True ,则启用交通管理器同步模式。
- 警告: 如果服务器设置为同步模式,则执行标记的同一客户端中的 TM 也 必须 设置为同步模式。
- 参数:
carla.TrafficSign
从 carla.Actor 继承 模拟中出现的交通标志(红绿灯除外)。这些在 carla.TrafficLight 中有自己的类从该类继承。目前,主要实施的是速度标志、停靠站和让行标志,但还有许多其他标志也被牢记在心。
实例变量
- trigger_volume
位于交通标志附近的 carla.BoundingBox ,里面的 carla.Actor 可以知道它。
carla.Transform
该类定义了一个变换,即位置和旋转的组合,而不进行缩放。
实例变量
- location (carla.Location)
描述坐标系统中的一个点。 - rotation (carla.Rotation - degrees (pitch, yaw, roll))
描述根据虚幻引擎的轴系统进行对象的旋转。
方法
- __init__(self, location, rotation)
- 参数:
location
(carla.Location)rotation
(carla.Rotation - 度数(俯仰、偏航、翻滚))
- 参数:
- transform(self, in_point)
使用当前变换作为参考系将三维点从局部坐标转换为全局坐标。- 参数:
in_point
(carla.Location) - 将应用变换的空间中的位置。
- 参数:
- transform_vector(self, in_vector)
使用当前变换作为参考系来旋转向量,而不应用平移。例如,用它来变换速度。- 参数:
in_vector
(carla.Vector3D) - 将应用转换的向量。
- 参数:
设置器
- get_forward_vector(self)
使用对象的旋转计算前向向量。- 返回: carla.Vector3D
- get_inverse_matrix(self)
计算逆变换的 4 矩阵表示。- 返回: list(list(float))
- get_matrix(self)
计算变换的 4 矩阵表示。- 返回: list(list(float))
- get_right_vector(self)
使用对象的旋转计算右向量。- 返回: carla.Vector3D
- get_up_vector(self)
使用对象的旋转计算向上向量。- 返回: carla.Vector3D
魔术方法
- __eq__(self, other=carla.Transform)
如果 this 和other
的位置和旋转都相等,则返回 True 。- 返回: bool
- __ne__(self, other=carla.Transform)
如果 this 和other
的任何位置和旋转不相等,则 返回 True 。- 返回: bool
- __str__(self)
将位置和旋转解析为字符串。- 返回: str
carla.Vector2D
执行二维操作的辅助类。
实例变量
方法
- __init__(self, x=0.0, y=0.0)
- 参数:
x
(float)y
(float)
- 参数:
- length(self)
计算向量的长度。- 返回: float
- make_unit_vector(self)
返回具有相同方向和单位长度的向量。- 返回: carla.Vector3D
- squared_length(self)
计算向量的平方长度。- 返回: float
魔术方法
- __add__(self, other=carla.Vector2D)
- __eq__(self, other=carla.Vector2D)
如果每个轴的值相等,则返回 True 。- 返回: bool
- __mul__(self, other=carla.Vector2D)
- __ne__(self, bool=carla.Vector2D)
如果任何轴的值不同,则返回 True 。- 返回: bool
- __str__(self)
返回解析为字符串的向量的轴值。- 返回: str
- __sub__(self, other=carla.Vector2D)
- __truediv__(self, other=carla.Vector2D)
carla.Vector3D
执行三维操作的辅助类。
实例变量
方法
- __init__(self, x=0.0, y=0.0, z=0.0)
- 参数:
x
(float)y
(float)z
(float)
- 参数:
- cross(self, vector)
计算两个向量之间的叉积。- 参数:
vector
(carla.Vector3D)
- 返回: carla.Vector3D
- 参数:
- distance(self, vector)
计算两个向量之间的距离。- 参数:
vector
(carla.Vector3D)
- 返回: float
- 参数:
- distance_2d(self, vector)
计算两个向量之间的二维距离。- 参数:
vector
(carla.Vector3D)
- 返回: float
- 参数:
- distance_squared(self, vector)
计算两个向量之间的平方距离。- 参数:
vector
(carla.Vector3D)
- 返回: float
- 参数:
- distance_squared_2d(self, vector)
计算两个向量之间的二维平方距离。- 参数:
vector
(carla.Vector3D)
- 返回: float
- 参数:
- dot(self, vector)
计算两个向量之间的点积。- 参数:
vector
(carla.Vector3D)
- 返回: float
- 参数:
- dot_2d(self, vector)
计算两个向量之间的二维点积。- 参数:
vector
(carla.Vector3D)
- 返回: float
- 参数:
- length(self)
计算向量的长度。- 返回: float
- make_unit_vector(self)
返回具有相同方向和单位长度的向量。- 返回: carla.Vector3D
- squared_length(self)
计算向量的平方长度。- 返回: float
设置器
- get_vector_angle(self, vector)
计算一对三维向量之间的角度(以弧度为单位)。- 参数:
vector
(carla.Vector3D)
- 返回: float
- 参数:
魔术方法
- __abs__(self)
返回具有 x、y 和 z 分量绝对值的 Vector3D。- 返回: carla.Vector3D
- __add__(self, other=carla.Vector3D)
- __eq__(self, other=carla.Vector3D)
如果每个轴的值相等,则返回 True 。- 返回: bool
- __mul__(self, other=carla.Vector3D)
- __ne__(self, other=carla.Vector3D)
如果任何轴的值不同,则返回 True 。- 返回: bool
- __str__(self)
返回解析为字符串的向量的轴值。- 返回: str
- __sub__(self, other=carla.Vector3D)
- __truediv__(self, other=carla.Vector3D)
carla.Vehicle
从 carla.Actor 继承 CARLA 中最重要的参与者群体之一。其中包括从汽车到卡车、摩托车、货车、自行车的任何类型的车辆以及警车等官方车辆。carla.BlueprintLibrary 中提供了一系列广泛的参与者,以满足不同的需求。车辆可以手动控制,也可以设置为自动驾驶模式,由 交通管理器 在客户端进行控制。
实例变量
- bounding_box (carla.BoundingBox)
包含车辆几何形状的边界框。它的位置和旋转是相对于它所附着的车辆而言的。
方法
- apply_ackermann_control(self, control)
在下一个刻度处应用阿克曼控制对象。- 参数:
control
(carla.VehicleAckermannControl)
- 参数:
- apply_ackermann_controller_settings(self, settings)
在下一个 tick 中将新的阿克曼控制设置应用于此车辆。- 参数:
settings
(carla.AckermannControllerSettings)
- 警告: 此方法确实调用模拟器。
- 参数:
- apply_control(self, control)
在下一个 tick 上应用控制对象,其中包含油门、转向或换档等驾驶参数。- 参数:
control
(carla.VehicleControl)
- 参数:
- apply_physics_control(self, physics_control)
在下一个 tick 中应用物理控制对象,其中包含将车辆定义为实体的参数。例如:转动惯量、质量、阻力系数等等。- 参数:
physics_control
(carla.VehiclePhysicsControl)
- 参数:
- close_door(self, door_idx)
如果车辆有它,则关闭车门door_idx
。使用 carla.VehicleDoor.All 关闭所有可用的门。- 参数:
door_idx
(carla.VehicleDoor) - 门索引。
- 参数:
- enable_carsim(self, simfile_path)
为该特定车辆启用 CarSim 物理解算器。为了使此功能发挥作用,需要在服务器端运行有效的许可证管理器。控制输入被重定向到 CarSim,它将提供每一帧的车辆位置和方向。- 参数:
simfile_path
(str) - 包含模拟参数的.simfile
文件的路径。
- 参数:
- enable_chrono_physics(self, max_substeps, max_substep_delta_time, vehicle_json, powertrain_json, tire_json, base_json_path)
在生成的车辆上启用 Chrono 物理。- 参数:
max_substeps
(int) - Chrono 子步骤的最大数量。max_substep_delta_time
(int) - 子步的最大大小。vehicle_json
(str) - 相对于base_json_path
的车辆 json 文件的路径。powertrain_json
(str) - 相对于base_json_path
的动力总成 json 文件的路径。tire_json
(str) - 相对于base_json_path
的轮胎 json 文件。base_json_path
(str) - 指向chrono/data/vehicle
的文件夹路径。例如,/home/user/carla/Build/chrono-install/share/chrono/data/vehicle/
(最后一个字符需要是/
)。
- 注意: 确保您已使用该标志启动 Carla 服务器
ARGS="--chrono"
。如果没有设置此标志,您将无法使用 Chrono 物理。 - 警告: 不支持碰撞。当检测到碰撞时,物理系统将恢复为默认的 Carla 物理系统。
- 参数:
- is_at_traffic_light(self)
当交通灯为红色并且车辆位于其边界框内时,车辆将受到交通灯的影响。客户端根据最后一个刻度返回交通灯是否影响该车辆(它不调用模拟器)。- 返回: bool
- open_door(self, door_idx)
如果车辆有车门,则打开车门door_idx
。使用 carla.VehicleDoor.All 打开所有可用的门。- 参数:
door_idx
(carla.VehicleDoor) - 门索引。
- 参数:
- show_debug_telemetry(self, enabled=True)
启用或禁用此车辆上的遥测。这会在观察者窗口中显示有关车辆当前状态和施加到其上的力的信息。只能显示一辆车的信息,因此,如果启用第二辆车,前一辆车将自动禁用。- 参数:
enabled
(bool)
- 参数:
- use_carsim_road(self, enabled)
启用或禁用 CarSim 与地形文件.simfile
中指定的使用。默认情况下,此选项处于禁用状态,CarSim 使用虚幻引擎方法来处理场景的几何图形。- 参数:
enabled
(bool)
- 参数:
设置器
- get_ackermann_controller_settings(self)
返回应用于该车辆的最后一个阿克曼控制设置。- 返回: carla.AckermannControllerSettings
- 警告: 此方法确实调用模拟器来检索值。
- get_control(self)
客户端返回最后一个tick中应用的控制。该方法不调用模拟器。 - get_failure_state(self)
车辆有故障状态,表明它无法继续其路线。该函数返回车辆的具体故障状态,或者换句话说,返回导致故障的原因。 - get_light_state(self)
返回表示车辆灯状态的标志,这表示哪些灯处于活动状态或不处于活动状态。- 返回: carla.VehicleLightState
- Setter: carla.Vehicle.set_light_state
- get_physics_control(self)
模拟器返回应用于该车辆的最后一个物理控制。- 返回: carla.VehiclePhysicsControl
- 警告: 此方法确实调用模拟器来检索值。
- get_speed_limit(self)
客户端根据最后一个tick返回影响该车辆的速度限制(它不调用模拟器)。当经过限速信号时,限速会更新,因此车辆在生成后可能就没有限速信号。- 返回: float - 千米/小时
- get_traffic_light(self)
根据最后一个刻度检索影响此车辆的交通灯参与者(如果有)。该方法不调用模拟器。 - get_traffic_light_state(self)
客户端根据上一个tick返回影响该车辆的交通信号灯的状态。该方法不调用模拟器。如果当前没有交通灯影响车辆,则返回 green。 - get_wheel_steer_angle(self, wheel_location)
返回车辆车轮的物理角度(以度为单位)。- 参数:
wheel_location
(carla.VehicleWheelLocation)
- 返回: float
- Note: 返回基于车轮物理原理的角度,而不是视角。
- 参数:
设置器
- set_autopilot(self, enabled=True, port=8000)
在交通管理器的列表中注册或删除车辆。当 True 时,作为参数传递的交通管理器将移动车辆。自动驾驶仪发生在客户端。- 参数:
enabled
(bool)port
(uint16) - 车辆要在其中注册或不列出的 TM-Server 端口。如果传递 None ,它将考虑默认 8000 端口上的交通管理器。
- 参数:
- set_light_state(self, light_state)
使用表示灯光打开和关闭的标志设置车辆的灯光状态。- 参数:
light_state
(carla.VehicleLightState)
- 获取器: carla.Vehicle.get_light_state
- 参数:
- set_wheel_steer_direction(self, wheel_location, angle_in_deg)
直观地设置车轮的角度。- 参数:
wheel_location
(carla.VehicleWheelLocation)angle_in_deg
(float)
- 警告: 不影响车辆的物理特性。
- 参数:
魔术方法
carla.VehicleAckermannControl
使用阿克曼驾驶控制装置管理车辆的基本运动。
实例变量
- steer (float)
所需转向 (rad)。正值位于右侧。默认值为 0.0。 - steer_speed (float)
转向速度 (rad/s)。零转向角速度意味着尽快改变转向角。默认值为 0.0。 - speed (float)
所需速度 (m/s)。默认值为 0.0。 - acceleration (float)
所需加速度 (m/s2) 默认值为 0.0。 - jerk (float)
所需的 jerk (m/s3)。默认值为 0.0。
方法
- __init__(self, steer=0.0, steer_speed=0.0, speed=0.0, acceleration=0.0, jerk=0.0)
- 参数:
steer
(float)steer_speed
(float)speed
(float)acceleration
(float)jerk
(float)
- 参数:
魔术方法
- __eq__(self, other=carla.AckermannVehicleControl)
- __ne__(self, other=carla.AckermannVehicleControl)
- __str__(self)
carla.VehicleControl
使用典型的驾驶控制来管理车辆的基本运动。
实例变量
- throttle (float)
用于控制车辆油门的标量值 [0.0, 1.0]。默认值为 0.0。 - steer (float)
用于控制车辆转向的标量值 [-1.0, 1.0]。默认值为 0.0。 - brake (float)
用于控制车辆制动的标量值 [0.0, 1.0]。默认值为 0.0。 - hand_brake (bool)
确定是否使用手刹。默认为 False。 - reverse (bool)
确定车辆是否向后移动。默认为 False。 - manual_gear_shift (bool)
确定是否通过手动换档来控制车辆。默认为 False。 - gear (int)
指示车辆行驶的档位。
方法
- __init__(self, throttle=0.0, steer=0.0, brake=0.0, hand_brake=False, reverse=False, manual_gear_shift=False, gear=0)
- 参数:
throttle
(float) - [0.0,1.0] 之间的标量值。steer
(float) - [0.0,1.0] 之间的标量值。brake
(float) - [0.0,1.0] 之间的标量值。hand_brake
(bool)reverse
(bool)manual_gear_shift
(bool)gear
(int)
- 参数:
魔术方法
- __eq__(self, other=carla.VehicleControl)
- __ne__(self, other=carla.VehicleControl)
- __str__(self)
carla.VehicleDoor
可能的索引表示可能打开的门。请注意,某些车辆并非所有可能的车门都能打开。
实例变量
carla.VehicleFailureState
包含车辆无法恢复的不同故障状态的枚举。这些由 get_failure_state() 返回,当前仅实现了 Rollover。
实例变量
carla.VehicleLightState
概括车辆灯状态的类,这些可以用作标志。例如:VehicleLightState.HighBeam & VehicleLightState.Brake
当两者都处于活动状态时,将返回True
。在任何情况下,灯默认都是关闭的,并且应该由用户通过脚本进行管理。闪光灯自动闪烁。 警告:目前,并非所有车辆都准备好使用此功能,这将在以后的更新中添加到所有车辆中。
实例变量
- NONE
所有灯均关闭。 - Position
- LowBeam
- HighBeam
- Brake
- RightBlinker
- LeftBlinker
- Reverse
- Fog
- Interior
- Special1
这是为某些具有特殊灯(例如警报器)的车辆保留的。 - Special2
这是为某些具有特殊灯(例如警报器)的车辆保留的。 - All
所有灯均亮起。
carla.VehiclePhysicsControl
总结将用于将 carla.Vehicle 模拟为物理对象的参数。不过,车轮的具体设置是使用 carla.WheelPhysicsControl 规定的。
实例变量
- torque_curve (list(carla.Vector2D))
曲线,指示在车辆发动机的特定 RPM 下测量的扭矩(以 Nm 为单位)。 - max_rpm (float)
车辆发动机的最大转速。 - moi (float - kg*m2)
车辆发动机的转动惯量。 - damping_rate_full_throttle (float)
油门最大时的阻尼比。 - damping_rate_zero_throttle_clutch_engaged (float)
离合器接合时油门为零时的阻尼比。 - damping_rate_zero_throttle_clutch_disengaged (float)
当油门为零且离合器分离时的阻尼比。 - use_gear_autobox (bool)
如果为 True ,车辆将配备自动变速箱。 - gear_switch_time (float - seconds)
齿轮之间的切换时间。 - clutch_strength (float - kg*m2/s)
车辆的离合器强度。 - final_ratio (float)
从变速箱到车轮的固定比率。 - forward_gears (list(carla.GearPhysicsControl))
定义车辆齿轮的对象列表。 - mass (float - kilograms)
车辆的质量。 - drag_coefficient (float)
车辆底盘的阻力系数。 - center_of_mass (carla.Vector3D - 米)
车辆的质心。 - steering_curve (list(carla.Vector2D))
指示特定前进速度的最大转向的曲线。 - use_sweep_wheel_collision (bool)
启用车轮碰撞扫描。默认情况下,它是禁用的,并且它为每个轮子使用从轴到地板的简单光线投射。此选项提供了更好的碰撞模型,其中检查车轮的整个体积是否发生碰撞。 - wheels (list(carla.WheelPhysicsControl))
轮子物理对象列表。该列表应该有 4 个元素,其中索引 0 对应于左前轮,索引 1 对应于右前轮,索引 2 对应于左后轮,索引 3 对应于右后轮。对于两轮车辆,前轮和后轮设置相同的值。
方法
- __init__(self, torque_curve=[[0.0, 500.0], [5000.0, 500.0]], max_rpm=5000.0, moi=1.0, damping_rate_full_throttle=0.15, damping_rate_zero_throttle_clutch_engaged=2.0, damping_rate_zero_throttle_clutch_disengaged=0.35, use_gear_autobox=True, gear_switch_time=0.5, clutch_strength=10.0, final_ratio=4.0, forward_gears=list(), drag_coefficient=0.3, center_of_mass=[0.0, 0.0, 0.0], steering_curve=[[0.0, 1.0], [10.0, 0.5]], wheels=list(), use_sweep_wheel_collision=False, mass=1000.0)
VehiclePhysicsControl 构造函数。- 参数:
torque_curve
(list(carla.Vector2D))max_rpm
(float)moi
(float - kg*m2)damping_rate_full_throttle
(float)damping_rate_zero_throttle_clutch_engaged
(float)damping_rate_zero_throttle_clutch_disengaged
(float)use_gear_autobox
(bool)gear_switch_time
(float - seconds)clutch_strength
(float - kg*m2/s)final_ratio
(float)forward_gears
(list(carla.GearPhysicsControl))drag_coefficient
(float)center_of_mass
(carla.Vector3D)steering_curve
(carla.Vector2D)wheels
(list(carla.WheelPhysicsControl))use_sweep_wheel_collision
(bool)mass
(float - kilograms)
- 参数:
魔术方法
- __eq__(self, other=carla.VehiclePhysicsControl)
- __ne__(self, other=carla.VehiclePhysicsControl)
- __str__(self)
carla.VehicleWheelLocation
enum
代表车辆上每个车轮的位置。用于在 carla.Vehicle.set_wheel_steer_direction 或 carla.Vehicle.get_wheel_steer_angle 中设置角度时识别目标车轮。
实例变量
- FL_Wheel
四轮车辆的左前轮。 - FR_Wheel
四轮车辆的右前轮。 - BL_Wheel
四轮车辆的左后轮。 - BR_Wheel
四轮车辆的右后轮。 - Front_Wheel
两轮车辆的前轮。 - Back_Wheel
两轮车辆的后轮。
carla.Walker
从 carla.Actor 继承 该类从 carla.Actor 继承并定义模拟中的行人。Walkers 是一种特殊类型的参与者,可以由 AI (carla.WalkerAIController) 控制,也可以通过脚本手动控制,使用一系列 carla.WalkerControl 来移动它们及其骨骼。
方法
- apply_control(self, control)
在下一个刻度上,控件将以特定速度向特定方向移动行人。也可以命令跳跃。- 参数:
control
(carla.WalkerControl)
- 参数:
- blend_pose(self, blend_value)
设置自定义姿势与动画的混合值。这些值可以是: - 0: 仅显示动画
- 1: 仅显示自定义姿势(由用户使用 set_bones() 设置)
- any other: 将在动画和自定义姿势之间插入所有骨骼位置。
- 参数:
blend_value
(float - value from 0 to 1 with the blend percentage)
- 参数:
- hide_pose(self)
隐藏自定义姿势并显示动画(与调用 blend_pose(0) 相同)。 - show_pose(self)
显示自定义姿势并隐藏动画(与调用 blend_pose(1) 相同)。
设置器
- get_bones(self)
返回包含来自参与者的所有骨骼变换的结构。对于每个骨骼,我们在三个不同的空间中获取名称及其变换: - name: 骨骼名称
- world: 世界坐标变换
- component: 基于参与者的枢轴进行变换
- relative: 基于父级骨骼进行变换。
- 返回: carla.WalkerBoneControlOut
- Setter: carla.Walker.set_bones
- get_control(self)
客户端返回在最后一个tick期间应用于此行人的控制。该方法不调用模拟器。 - get_pose_from_animation(self)
复制当前动画帧作为自定义姿势。最初,自定义姿势是中性行人姿势。
设置器
- set_bones(self, bones)
设置参与者的骨骼。对于我们想要设置的每个骨骼,我们使用相对变换。仅会设置此列表中的骨骼。对于每个骨骼,您需要设置以下信息: - name: 骨骼名称
- relative: 基于骨骼父级进行变换。
- 参数:
bones
(carla.WalkerBoneControlIn - 我们想要设置的骨骼对(bone_name,transform)的列表)
- 获取器: carla.Walker.get_bones
- 参数:
魔术方法
carla.WalkerAIController
从 carla.Actor 继承 对行人进行 AI 控制的类。控制器被定义为参与者,但它们与其他控制器有很大不同。它们在创建过程中需要附加到父参与者,这是它们将控制的行人(如果您尚未了解如何生成 Actor,请查看carla.World )。他们还需要一个特殊的蓝图(已在 carla.BlueprintLibrary 中定义为“controller.ai.walker”)。这是一个空的蓝图,因为人工智能控制器在模拟中是不可见的,但会跟随其父控制器来指示每一步。
方法
- go_to_location(self, destination)
设置行人将到达的目的地。- 参数:
destination
(carla.Location - 米)
- 参数:
- start(self)
为其父行人启用 AI 控制。 - stop(self)
禁用其父行人的 AI 控制。
设置器
魔术方法
carla.WalkerBoneControlIn
该类为行人提供骨骼特定的操作。为了清晰起见,行人的骨骼已经统一,并且应用于每个骨骼的变换始终相对于其父骨骼。请查看 此处 ,了解有关如何创建助行器并定义其运动的更多信息。
实例变量
方法
- __init__(self, list(name,transform))
初始化一个包含要在刻度上应用的移动的对象。这些与骨骼的名称和将应用于它的变换一起列出。- 参数:
list(name,transform)
(tuple)
- 参数:
魔术方法
carla.WalkerBoneControlOut
该类用于返回行人的所有骨骼位置。对于每个骨骼,我们得到它的名称及其在三个不同空间(世界、参与者和相对)中的变换。
实例变量
- bone_transforms (list([name,world, actor, relative]))
每个骨骼的一个条目列表,包含以下信息: - name: 骨骼名称
- world: 世界坐标变换
- component: 基于参与者的枢轴进行变换
- relative: 基于骨骼父级进行变换。
方法
魔术方法
carla.WalkerControl
此类定义了可以向 carla.Walker 命令通过脚本控制它的特定方向。
可以为行人解决AI控制,但用于此目的的控件是 carla.WalkerAIController。
实例变量
- direction (carla.Vector3D)
使用与行人方向相对应的全局坐标的向量。 - speed (float - m/s)
控制行人速度的标量值。 - jump (bool)
如果为 True,行人将执行跳跃。
方法
- __init__(self, direction=[1.0, 0.0, 0.0], speed=0.0, jump=False)
- 参数:
direction
(carla.Vector3D)speed
(float - m/s)jump
(bool)
- 参数:
魔术方法
- __eq__(self, other=carla.WalkerControl)
和other
比较每个变量,如果它们都相同,则返回 True 。 - __ne__(self, other=carla.WalkerControl)
和other
比较每个变量,如果其中任何一个不同,则返回 True 。 - __str__(self)
carla.Waypoint
Carla 中的路径点被描述为三维有向点。他们有一个 carla.Transform,它可以定位道路中的路径点并根据车道确定其方向。他们还存储属于该点的有关其车道和车道标记的道路信息。
有关路径点和 路线 API 的所有信息均按 OpenDRIVE 文件提供的方式检索。一旦客户端向服务器请求地图对象,就不再需要通信。
实例变量
- id (int)
标识符是使用与 OpenDRIVE 几何中的所述点相对应的road, section, lane 和 s 值的哈希组合生成的。s精度设置为 2 厘米,因此在同一道路、路段和车道中距离小于 2 厘米的 2 个路径点将具有相同的标识符 。 - transform (carla.Transform)
根据当前车道信息确定路点的位置和方向。该数据是在第一次访问时计算的。当创建大量路径点但不需要它们的特定转换时,它不会立即创建,以减轻计算成本。 - road_id (int)
OpenDRIVE 道路的 id。 - section_id (int)
OpenDRIVE 部分的 id,基于它们最初定义的顺序。 - is_junction (bool)
如果当前路点位于 OpenDRIVE 定义的交汇处,则为 True 。 - junction_id (int)
OpenDRIVE 结点的 id。有关更多信息,请参阅 OpenDRIVE 文档 。 - lane_id (int)
OpenDRIVE 车道的 id,该值可以是正数或负数,表示当前车道相对于道路的方向。有关更多信息,请参阅 OpenDRIVE 文档 。 - s (float)
OpenDRIVE当前位置的 s 值 。 - lane_width (float)
当前s处道路的水平尺寸。 - lane_change (carla.LaneChange)
当前路点位置的车道变更定义,基于 OpenDRIVE 文件中定义的交通规则。它说明是否可以变道以及朝哪个方向变道。 - lane_type (carla.LaneType)
当前 Waypoint 的车道类型,基于 OpenDRIVE 1.4 标准。 - right_lane_marking (carla.LaneMarking)
基于 Waypoint 方向的右车道标记信息。 - left_lane_marking (carla.LaneMarking)
基于 Waypoint 方向的左车道标记信息。
方法
- next(self, distance)
当前点某个近似值的路径点列表distance
它会考虑道路及其可能的偏差,而不执行任何车道变更,并为每个选项返回一个路径点。如果车道在指定距离处未与任何其他车道相连,则列表可能为空。- 参数:
distance
(float - 米) - 获取下一个路径点的大致距离。
- 返回: list(carla.Waypoint)
- 参数:
- next_until_lane_end(self, distance)
返回从这里到车道末端的路点列表,这些路点之间以一定距离distance
分隔。- 参数:
distance
(float - 米) - 路径点之间的大致距离。
- 返回: list(carla.Waypoint)
- 参数:
- previous(self, distance)
但与车道相反方向的路点列表distance
与next()类似,它会考虑道路及其可能的偏差,而不执行任何车道变更,并为每个选项返回一个路径点。如果车道在指定距离处未与任何其他车道相连,则列表可能为空。- 参数:
distance
(float - 米) - 获取先前路径点的大致距离。
- 返回: list(carla.Waypoint)
- 参数:
- previous_until_lane_start(self, distance)
返回从这里到车道起点的路点列表,以一定的距离distance
分隔。- 参数:
distance
(float - 米) - 路径点之间的大致距离。
- 返回: list(carla.Waypoint)
- 参数:
设置器
- get_junction(self)
如果路径点属于路口,则此方法返回关联的路口对象。否则返回 null。- 返回: carla.Junction
- get_landmarks(self, distance, stop_at_junction=False)
返回从当前路径点到指定距离的道路上的地标列表。- 参数:
distance
(float - 米) - 从当前路径点搜索地标的最大距离。stop_at_junction
(bool) - 启用或禁用通过路口的地标搜索。
- 返回: list(carla.Landmark)
- 参数:
- get_landmarks_of_type(self, distance, type, stop_at_junction=False)
返回从当前路径点到指定距离的指定类型道路中的地标列表。- 参数:
distance
(float - 米) - 从当前路径点搜索地标的最大距离。type
(str) - 要搜索的地标类型。stop_at_junction
(bool) - 启用或禁用通过路口的地标搜索。
- 返回: list(carla.Landmark)
- 参数:
- get_left_lane(self)
根据当前路点的方向在左车道中心生成路点,同时考虑该位置是否允许变道。如果车道不存在,则返回 None 。- 返回: carla.Waypoint
- get_right_lane(self)
根据当前路点的方向在右车道中心生成路点,并考虑该位置是否允许变道。如果车道不存在,则返回 None 。- 返回: carla.Waypoint
魔术方法
carla.WeatherParameters
此类定义了包含光照和天气规范的对象,这些规范稍后可以应用在 carla.World 中。到目前为止,这些条件仅影响 sensor.camera.rgb。它们既不影响参与者的物理特性,也不影响其他传感器。 这些参数中的每一个都独立于其他参数起作用。增加降雨量不会自动形成水坑,也不会改变道路的湿度。这可以实现更好的定制,但也意味着需要编写现实条件的脚本。然而,可以在 此处 找到实际运行的动态天气条件的示例。
实例变量
- cloudiness (float)
值范围从 0 到 100,0 表示晴朗的天空,100 表示完全被云覆盖。 - precipitation (float)
降雨强度值范围从 0 到 100,0 表示无雨,100 表示大雨。 - precipitation_deposits (float)
决定水坑的创建。值范围从 0 到 100,0 表示完全没有水,100 表示道路完全被水覆盖。水坑是用静态噪音创建的,这意味着它们总是出现在相同的位置。 - wind_intensity (float)
控制风的强度,值从 0(无风)到 100(强风)。风确实会影响降雨方向和树叶,因此限制该值以避免动画问题。 - sun_azimuth_angle (float - 度)
太阳的方位角。值范围为 0 到 360。零是由虚幻引擎确定的球体中的原点。 - sun_altitude_angle (float - 度)
太阳的高度角。值范围从 -90 到 90,分别对应于午夜和中午。 - fog_density (float)
雾浓度或厚度。它仅影响 RGB 相机传感器。值范围从 0 到 100。 - fog_distance (float - 米)
雾开始距离。值范围从 0 到无穷大。 - wetness (float)
湿度强度。它仅影响 RGB 相机传感器。值范围从 0 到 100。 - fog_falloff (float)
雾的密度(以特定质量计)从 0 到无穷大。值越大,雾气越浓重,雾气达到的高度也越小。对应于 UE 文档中的 雾高度衰减。
如果值为 0,雾将比空气亮,并覆盖整个场景。
值为 1 时,密度大约与空气一样,可到达正常大小的建筑物。
对于大于 5 的值,空气将非常稠密,以至于在地面上会被压缩。 - scattering_intensity (float)
控制光对体积雾的贡献程度。当设置为 0 时,没有贡献。 - mie_scattering_scale (float)
控制光与大颗粒(如花粉或空气污染)的相互作用,导致天空朦胧,光源周围有光晕。当设置为 0 时,没有贡献。 - rayleigh_scattering_scale (float)
控制光与空气分子等小粒子的相互作用。取决于光的波长,导致白天的天空为蓝色,晚上的天空为红色。 - dust_storm (float)
确定沙尘暴天气的强度。值范围从 0 到 100。
方法
- __init__(self, cloudiness=0.0, precipitation=0.0, precipitation_deposits=0.0, wind_intensity=0.0, sun_azimuth_angle=0.0, sun_altitude_angle=0.0, fog_density=0.0, fog_distance=0.0, wetness=0.0, fog_falloff=0.0, scattering_intensity=0.0, mie_scattering_scale=0.0, rayleigh_scattering_scale=0.0331)
初始化定义天气条件的对象的方法。该类有一些针对不同中午和日落条件的预设,如下面的注释所示。- 参数:
cloudiness
(float) - 0 为晴天,100 为阴天。precipitation
(float) - 0 表示完全没有下雨,100 表示大雨。precipitation_deposits
(float) - 0 表示道路上没有水坑,100 表示道路完全被雨水覆盖。wind_intensity
(float) - 0 表示风平浪静,100 表示强风。sun_azimuth_angle
(float - 度) - 0 是任意北,180 是其对应的南。sun_altitude_angle
(float - 度) - 90 是中午,-90 是午夜。fog_density
(float) - 雾的浓度或厚度,从 0 到 100。fog_distance
(float - 米) - 雾开始的距离(以米为单位)。wetness
(float) - 道路的湿度百分比,从 0 到 100。fog_falloff
(float) - 雾的密度(特定质量),从 0 到无穷大。scattering_intensity
(float) - 控制光线对体积雾的贡献程度。当设置为 0 时,没有贡献。mie_scattering_scale
(float) - 米氏散射 强度(大气中粒子的直径与辐射的波长相当),控制光与大颗粒(如花粉或空气污染)的相互作用,导致天空朦胧,光源周围有光晕。当设置为 0 时,没有贡献(完全不散射)。rayleigh_scattering_scale
(float) - 瑞利散射 强度(粒子尺度小于波长的十分之一),控制光与空气分子等小颗粒的相互作用。取决于光的波长,导致白天的天空为蓝色(由于瑞利散射的强度与波长四次方成反比,所以太阳光谱中波长较短的蓝紫光比波长较长的红光散射更明显),傍晚的天空为红色(太阳光在大气中要走相对很长的路程,直射光中的波长较短蓝光大量都被散射了,只剩下红橙色的光)。
- 笔记: ClearNoon, CloudyNoon, WetNoon, WetCloudyNoon, SoftRainNoon, MidRainyNoon, HardRainNoon, ClearSunset, CloudySunset, WetSunset, WetCloudySunset, SoftRainSunset, MidRainSunset, HardRainSunset.
- 参数:
魔术方法
- __eq__(self, other)
如果两个对象的变量相同,则返回 True 。- 返回: bool
- __ne__(self, other)
如果两个对象的变量不同,则返回 True 。- 返回: bool
- __str__(self)
carla.WheelPhysicsControl
为车轮对象定义特定物理参数的类,这些车轮对象将成为 carla.VehiclePhysicsControl 的一部分,以将车辆模拟为材质对象。
实例变量
- tire_friction (float)
表示车轮摩擦力的标量值。 - damping_rate (float)
车轮的阻尼率。 - max_steer_angle (float - 度)
车轮可以转向的最大角度。 - radius (float - 厘米)
轮子的半径。 - max_brake_torque (float - N*m)
最大制动扭矩。 - max_handbrake_torque (float - N*m)
最大手刹扭矩。 - position (carla.Vector3D)
车轮的世界位置。这是一个只读参数。 - long_stiff_value (float - kg per radian)
每单位重力加速度的轮胎纵向刚度。每辆车都有一个自定义值。 - lat_stiff_max_load (float)
最大标准化轮胎负载,在该负载下,无论向轮胎施加多少额外负载,轮胎都不再提供侧向刚度。每辆车都有一个自定义值。 - lat_stiff_value (float)
每单位横向滑移的最大刚度。每辆车都有一个自定义值。
方法
- __init__(self, tire_friction=2.0, damping_rate=0.25, max_steer_angle=70.0, radius=30.0, max_brake_torque=1500.0, max_handbrake_torque=3000.0, position=(0.0,0.0,0.0))
- 参数:
tire_friction
(float)damping_rate
(float)max_steer_angle
(float - 度)radius
(float - 厘米)max_brake_torque
(float - N*m)max_handbrake_torque
(float - N*m)position
(carla.Vector3D - 米)
- 参数:
魔术方法
- __eq__(self, other=carla.WheelPhysicsControl)
- __ne__(self, other=carla.WheelPhysicsControl)
- __str__(self)
carla.World
世界对象由客户端创建,以便为模拟提供一个发生的地方。世界包含我们可以看到的地图,即资产,而不是导航地图。导航地图是 carla.Map 类的一部分。它还管理其中的天气和参与者。每个模拟只能有一个世界,但可以随时更改。
实例变量
- id (int)
与这个世界相关的剧集的 ID。剧集是模拟的不同阶段。每当世界被禁用或重新加载时,这些都会发生变化。跟踪有助于避免可能出现的问题。 - debug (carla.DebugHelper)
负责创建不同的形状以进行调试。查看它的类以了解更多信息。
方法
- apply_color_texture_to_object(self, object_name, material_parameter, texture)
对应于material_parameter
(normal, diffuse, etc) 的字段中的对象应用到对应于object_name
的场景中的texture
对象。- 参数:
object_name
(str)material_parameter
(carla.MaterialParameter)texture
(TextureColor)
- 参数:
- apply_color_texture_to_objects(self, objects_name_list, material_parameter, texture)
对应于material_parameter
(normal, diffuse, etc) 的字段中的对象应用到对应于objects_name_list
的场景中的texture
对象。- 参数:
objects_name_list
(list(str))material_parameter
(carla.MaterialParameter)texture
(TextureColor)
- 参数:
- apply_float_color_texture_to_object(self, object_name, material_parameter, texture)
对应于material_parameter
(法线、漫反射等)的字段中的对象应用到与object_name
中的所有对象对应的场景中的texture
对象。- 参数:
object_name
(str)material_parameter
(carla.MaterialParameter)texture
(TextureFloatColor)
- 参数:
- apply_float_color_texture_to_objects(self, objects_name_list, material_parameter, texture)
对应于material_parameter
(法线、漫反射等)的字段中的对象应用到与objects_name_list
中的所有对象对应的场景中的texture
对象。- 参数:
objects_name_list
(list(str))material_parameter
(carla.MaterialParameter)texture
(TextureFloatColor)
- 参数:
- apply_settings(self, world_settings)
此方法将对象中包含的设置应用于运行的模拟,并返回它们所实现的帧的 ID。- 参数:
world_settings
(carla.WorldSettings)
- 返回: int
- 警告: 如果启用了同步模式,并且正在运行交通管理器,则也必须将其设置为同步模式。阅读 本文 以了解如何操作。
- 参数:
- apply_textures_to_object(self, object_name, diffuse_texture, emissive_texture, normal_texture, ao_roughness_metallic_emissive_texture)
将carla.MaterialParameter中的所有纹理字段应用到对象object_name
。这里不会应用空纹理。- 参数:
object_name
(str)diffuse_texture
(TextureColor)emissive_texture
(TextureFloatColor)normal_texture
(TextureFloatColor)ao_roughness_metallic_emissive_texture
(TextureFloatColor)
- 参数:
- apply_textures_to_objects(self, objects_name_list, diffuse_texture, emissive_texture, normal_texture, ao_roughness_metallic_emissive_texture)
将 carla.MaterialParameter 中的所有纹理字段应用于objects_name_list
中的所有对象。这里不会应用空纹理。- 参数:
objects_name_list
(list(str))diffuse_texture
(TextureColor)emissive_texture
(TextureFloatColor)normal_texture
(TextureFloatColor)ao_roughness_metallic_emissive_texture
(TextureFloatColor)
- 参数:
- cast_ray(self, initial_location, final_location)
将光线从指定的initial_location
投射到final_location
。然后,该函数检测与射线相交的所有几何图形,并按顺序 返回carla.LabelledPoint列表。- 参数:
initial_location
(carla.Location) - 光线的初始位置。final_location
(carla.Location) - 光线的最终位置。
- 返回: list(carla.LabelledPoint)
- 参数:
- enable_environment_objects(self, env_objects_ids, enable)
启用或禁用一组由其 id 标识的环境对象。这些对象将从关卡中出现或消失。- 参数:
env_objects_ids
(set(int)) - 要更改的环境对象 ID 集。enable
(bool) - 应用于集合中所有环境对象的状态。
- 参数:
- freeze_all_traffic_lights(self, frozen)
冻结或解冻场景中的所有交通灯。用户可以修改冻结的交通信号灯,但时间不会更新它们,直到解冻。- 参数:
frozen
(bool)
- 参数:
- ground_projection(self, location, search_distance)
在场景中向下投影指定点。这些函数从位置 (0,0,-1)(向下)投射一条射线,并返回一个 carla.LabelledPoint 对象,该对象具有该射线相交的第一个几何体(通常是地面)。如果在 search_distance 范围内未找到几何图形,则函数返回None
。- 参数:
location
(carla.Location) - 要投影的点。search_distance
(float) - 执行投影的最大距离。
- 返回: carla.LabelledPoint
- 参数:
- load_map_layer(self, map_layers)
加载图层到指定层次。如果该层次已经加载则没有任何效果。- 参数:
map_layers
(carla.MapLayer) - 加载到指定层次的掩膜。
- 警告: 这仅仅影响分层(Opt)地图。最小布局包括道路、人行道、交通灯和交通标志。
- 参数:
- on_tick(self, callback)
此方法用于异步模式。它从客户端定义的callback
函数启动回调,并返回回调的 ID。每当服务器发出时节拍时,就会调用该函数。它需要一个 carla.WorldSnapshot 作为参数,这可以从 wait_for_tick() 获得。使用 remove_on_tick() 来停止回调。- 参数:
callback
(carla.WorldSnapshot) - 将快照作为强制参数的函数,当客户端收到节拍时将调用该函数。
- 返回: int
- 参数:
- project_point(self, location, direction, search_distance)
将指定点投影到场景中的所需方向。这些函数从某个方向的某个位置投射一条射线,并返回一个带有该射线相交的第一个几何体的 carla.Labelled 对象。如果在 search_distance 范围内未找到几何图形,则函数返回None
。- 参数:
location
(carla.Location) - 要投影的点。direction
(carla.Vector3D) - 投影方向。search_distance
(float) - 执行投影的最大距离。
- 返回: carla.LabelledPoint
- 参数:
- remove_on_tick(self, callback_id)
停止以 on_tick() 启动的回调callback_id
。- 参数:
callback_id
(callback) - 要删除的回调。创建回调时返回ID。
- 参数:
- reset_all_traffic_lights(self)
将地图中所有交通灯的周期重置为初始状态。 - spawn_actor(self, blueprint, transform, attach_to=None, attachment=Rigid)
该方法将创建、返回并生成一个参与者到世界中。参与者将需要创建可用的蓝图和变换(位置和旋转)。它还可以附加到具有特定附件类型的父级。- 参数:
blueprint
(carla.ActorBlueprint) - 将创建参与者的引用。transform
(carla.Transform) - 包含参与者生成时的位置和方向。attach_to
(carla.Actor) - 生成的参与者将跟随的父对象。attachment
(carla.AttachmentType) - 根据其父对象确定位置变化的固定和严密程度。
- 返回: carla.Actor
- 参数:
- tick(self, seconds=10.0)
该方法用于 同步 模式,即服务器在计算下一帧之前等待客户端客户端节拍信号。这个方法将发送节拍信号,并让位于服务器。它返回由服务器计算的新帧ID。- 参数:
seconds
(float - 秒) - 服务器应该等待节拍信号的最大时间。它默认设置为10.0
。
- 返回: int
- 注意: 如果在同步模式下没有收到节拍信号,模拟将冻结。此外,如果从不同的客户端接收到许多节拍信号,则可能存在同步问题。请阅读有关 __同步模式__ 的文档以了解更多信息。
- 参数:
- try_spawn_actor(self, blueprint, transform, attach_to=None, attachment=Rigid)
和 spawn_actor() 一样,但是单失败时候返回 None 而不是抛出异常。- 参数:
blueprint
(carla.ActorBlueprint) - 将从中创建参与者的引用。transform
(carla.Transform) - 包含参与者将使用的位置和朝向。attach_to
(carla.Actor) - 派生的参与者将跟随的父对象。attachment
(carla.AttachmentType) - 根据其父对象确定位置更改的固定和严格程度。
- 返回: carla.Actor
- 参数:
- unload_map_layer(self, map_layers)
将选定的图层卸载到指定层次。如果层已经卸载,则调用没有任何效果。- 参数:
map_layers
(carla.MapLayer) - 要卸载图层的掩膜。
- 警告: 这仅仅影响分层(Opt)地图。最小布局包括道路、人行道、交通灯和交通标志。
- 参数:
- wait_for_tick(self, seconds=10.0)
该方法使用异步模式。它使客户端等待服务器节拍信号。当计算下一帧时,服务器将勾选并返回描述世界新状态的快照。- 参数:
seconds
(float - seconds) - 服务器等待滴答的最长时间。默认设置为10.0
。
- 返回: carla.WorldSnapshot
- 参数:
设置器
- get_actor(self, actor_id)
通过 ID 查找参与者,如果未找到则返回 None 。- 参数:
actor_id
(int)
- 返回: carla.Actor
- 参数:
- get_actors(self, actor_ids=None)
检索carla.Actor元素列表,使用提供的 ID 列表或仅列出舞台上的每个人。如果一个ID不与任何参与者相对应,它将被排除在返回的列表之外,这意味着ID列表和参与者列表可能具有不同的长度。- 参数:
actor_ids
(list) - 正在搜索的参与者的 ID。默认情况下,它设置为 None 并返回场景中的每个参与者。
- 返回: carla.ActorList
- 参数:
- get_blueprint_library(self)
返回可用的参与者蓝图列表,以方便它们在世界中的生成。 - get_environment_objects(self, object_type=Any)
返回具有请求的语义标记的 EnvironmentObject 列表。该方法默认返回关卡中的所有环境对象,但可以使用object_type
参数通过语义标签过滤查询。- 参数:
object_type
(carla.CityObjectLabel) - Semantic tag of the 返回的 EnvironmentObjects。
- 返回: array(carla.EnvironmentObject)
- 参数:
- get_level_bbs(self, actor_type=Any)
返回一个边界框数组,其中包含世界空间中的位置和旋转。该方法默认返回该级别中的所有边界框,但可以使用actor_type
参数通过语义标签过滤查询。- 参数:
actor_type
(carla.CityObjectLabel) - 返回的边界框中包含的元素的语义标签。
- 返回: array(carla.BoundingBox)
- 参数:
- get_lightmanager(self)
返回 carla.LightManager 的实例,可用于处理场景中的灯光。 - get_map(self)
向服务器请求包含映射文件的 XODR,并将其解析为 carla.Map 返回。- 返回: carla.Map
- 警告: 此方法确实调用模拟。它代价很高,并且只能调用一次。
- get_names_of_all_objects(self)
返回场景中可以使用应用纹理函数绘制的所有对象的名称列表。- 返回: list(str)
- get_random_location_from_navigation(self)
这只能与行人一起使用。它使用 carla.WalkerAIController 中的 go_to_location() 方法检索要用作目的地的随机位置。该位置将是人行道的一部分。道路、人行横道和草地区域不包括在内。该方法不考虑现有参与者的位置,因此如果在尝试生成参与者时发生碰撞,它将返回错误。看一下例子generate_traffic.py
。- 返回: carla.Location
- get_settings(self)
返回一个对象,其中包含有关模拟的一些数据,例如客户端和服务器之间的同步或渲染模式。 - get_snapshot(self)
返回某个时刻的世界快照,包含有关参与者的所有信息。 - get_spectator(self)
返回观察者参与者。观察者是虚幻引擎创建的一种特殊类型的参与者,通常ID=0,充当摄像机并控制模拟器窗口中的视图。- 返回: carla.Actor
- get_traffic_light(self, landmark)
提供一个地标,返回它描述的交通灯对象。- 参数:
landmark
(carla.Landmark) - 描述交通灯的地标对象。
- 返回: carla.TrafficLight
- 参数:
- get_traffic_light_from_opendrive_id(self, traffic_light_id)
返回与指示的 OpenDRIVE id 对应的交通灯参与者。- 参数:
traffic_light_id
(str) - The OpenDRIVE id.
- 返回: carla.TrafficLight
- 参数:
- get_traffic_lights_from_waypoint(self, waypoint, distance)
此函数沿着指定路点前面的道路执行搜索,并返回在指定搜索距离内找到的交通灯参与者列表。- 参数:
waypoint
(carla.Waypoint) - 输入路径点。distance
(float) - 搜索距离。
- 返回: list(carla.TrafficLight)
- 参数:
- get_traffic_lights_in_junction(self, junction_id)
返回影响junction_id
中指示的路口的交通灯参与者列表。- 参数:
junction_id
(int) - 连接点的 id。
- 返回: list(carla.TrafficLight)
- 参数:
- get_traffic_sign(self, landmark)
提供一个地标,返回它描述的交通标志对象。- 参数:
landmark
(carla.Landmark) - 描述交通标志的地标对象。
- 返回: carla.TrafficSign
- 参数:
- get_vehicles_light_states(self)
返回一个字典,其中键是 carla.Actor ID,值是该车辆的 carla.VehicleLightState。- 返回: dict
- get_weather(self)
检索包含模拟中当前活动的天气参数的对象,主要是云量、降水量、风和太阳位置。- 返回: carla.WeatherParameters
- Setter: carla.World.set_weather
设置器
- set_pedestrians_cross_factor(self, percentage)
- 参数:
percentage
(float) - 设置可以在道路上行走或在道路上的任何点穿越的行人的百分比。值应介于0.0
和之间1.0
。例如,值0.1
表示允许 10% 的行人在道路上行走。 默认为0.0
。
- 笔记: 应在行人生成之前设置。
- 参数:
- set_pedestrians_seed(self, seed)
- 参数:
seed
(int) - 设置用于生成与行人相关的任何随机数的种子。
- 笔记: 应在行人生成之前设置。如果您想为每个行人重复相同的身体(蓝图),请在 Python 代码(随机选择蓝图)和此处使用相同的种子,否则行人将重复相同的路径,但身体会不同。
- 参数:
- set_weather(self, weather)
将模拟的天气参数更改为对象中定义的其他参数。- 参数:
weather
(carla.WeatherParameters) - 要应用的新条件。
- 获取器: carla.World.get_weather
- 参数:
魔术方法
carla.WorldSettings
该模拟具有一些高级配置选项,这些选项包含在此类中,并且可以使用 carla.World 及其方法进行管理。这些允许用户在客户端-服务器同步/异步、激活“无渲染模式”以及模拟是否应以固定或可变时间步长运行之间进行选择。如果您想了解的话 请查看 此内容 。
实例变量
- synchronous_mode (bool)
表示客户端和服务器之间的同步。当设置为 true 时,服务器将等待客户端滴答以便继续前进。默认情况下为 false。 - no_rendering_mode (bool)
启用后,模拟将根本不运行渲染。这主要用于避免繁忙交通模拟期间的开销。默认情况下为 false。 - fixed_delta_seconds (float)
确保模拟的两个步骤之间经过的时间是固定的。将其设置为 0.0 以使用可变时间步长,就像默认情况下发生的那样。 - substepping (bool)
启用物理子步进。此选项允许计算两个渲染帧之间的一些物理子步骤。如果设置了同步模式,则子步骤的数量及其时间间隔是固定的并进行计算,以便满足 carla.WorldSettings.max_substep 和 carla.WorldSettings.max_substep_delta_time 的要求。最后两个参数需要与 carla.WorldSettings.fixed_delta_seconds 兼容。默认启用。 - max_substep_delta_time (float)
子步骤的最大增量时间。如果 carla.WorldSettingsmax_substep 足够高,则子步增量时间将始终低于或等于该值。默认情况下,该值设置为 0.01。 - max_substeps (int)
允许的最大物理子步数。默认情况下,该值设置为 10。 - max_culling_distance (float)
配置关卡中每个网格的最大绘制距离。 - deterministic_ragdolls (bool)
定义是否对行人死亡动画或物理布娃娃模拟使用确定性物理。启用后,行人的死亡动画不太真实,但确保了确定性。禁用后,行人将被模拟为布娃娃,具有更真实的模拟和碰撞,但无法确保确定性。 - tile_stream_distance (float)
仅用于大型地图。配置从英雄车辆传输瓦片地图的最大距离。此范围内的地图区域将可见(并且能够模拟物理)。该区域之外的区域将不会被加载。 - actor_active_distance (float)
仅用于大型地图。配置与英雄车辆的距离以将参与者转换为休眠状态。在此范围内的参与者将处于活跃状态,而在该范围之外的参与者将处于休眠状态。 - spectator_as_ego (bool)
仅用于大型地图。定义观察者对大地图中图块加载的影响。默认情况下,在没有自我参与者的情况下,观察者将引发相邻图块的加载。对于立即产生自我参与者的应用程序来说,这可能会带来不便。
方法
- __init__(self, synchronous_mode=False, no_rendering_mode=False, fixed_delta_seconds=0.0, max_culling_distance=0.0, deterministic_ragdolls=False, tile_stream_distance=3000, actor_active_distance=2000, spectator_as_ego=True)
创建一个包含所需设置的对象,这些设置稍后可以通过 carla.World 及其方法 apply_settings() 应用。- 参数:
synchronous_mode
(bool) - 启用客户端-服务器则设置为 true。no_rendering_mode
(bool) - 在模拟中完全禁用渲染则设置为 true。fixed_delta_seconds
(float - seconds) - 在帧之间设置为固定的步长。0.0
意味着变步长且为模式模式。max_culling_distance
(float - 米) - 对于关卡的每一个网格配置最大的绘制距离。deterministic_ragdolls
(bool) - 对于行人死亡使用确定的物理或布娃娃模拟定义wether。tile_stream_distance
(float - 米) - 仅用于大地图。从英雄车辆到流瓦片地图配置最大距离。actor_active_distance
(float - 米) - 仅用于大地图。配置与英雄车辆的距离以将参与者转换为休眠状态。spectator_as_ego
(bool) - 仅用于大地图。在大型贴图中定义观众对平铺加载的影响。
- 参数:
魔术方法
- __eq__(self, other=carla.WorldSettings)
如果对象的变量相同则返回 True 。- 返回: bool
- __ne__(self, other=carla.WorldSettings)
如果对象的变量不同则返回 True。- 返回: bool
- __str__(self)
对于字符串解析已建立的设置并在命令行中显示出来。- 返回: str
carla.WorldSnapshot
快照包括某一时刻场景中每个参与者的所有信息。它创建并给出一些列包含carla.ActorSnapshot的数据结构。客户端在每一个不能存储的节拍信号中获取一个新的快照。
实例变量
- id (int)
为了分辨每一个快照的唯一值。 - frame (int)
获取快照时的模拟时间。 - timestamp (carla.Timestamp - seconds)
获取快照时候的精确时刻。由操作系统给出的以秒为单位的类。
方法
- find(self, actor_id)
给出某个参与者的 ID,返回对应的快照,如果没有找到则返回None。- 参数:
actor_id
(int)
- 返回: carla.ActorSnapshot
- 参数:
- has_actor(self, actor_id)
给出某个参与者的 ID,如果有对应的快照则检查,如果在这个时刻参与者出现。- 参数:
actor_id
(int)
- 返回: bool
- 参数:
魔术方法
- __eq__(self, other=carla.WorldSnapshot)
如果时间戳 timestamp 相同则返回 True 。- 返回: bool
- __iter__(self)
在存储的快照上进行迭代 carla.ActorSnapshot 。 - __len__(self)
返回在该快照上呈现的 carla.ActorSnapshot 的数量。- 返回: int
- __ne__(self, other=carla.WorldSnapshot)
如果时间戳 timestamp 都不同则返回 True。- 返回: bool
command.ApplyAngularImpulse
carla.Actor 中 add_angular_impulse() 的命令适应。对参与者使用 angular impulse。
实例变量
- actor_id (int)
Actor affected by the command. - impulse (carla.Vector3D - degrees*s)
应用到参与者上的角冲量。
方法
- __init__(self, actor, impulse)
- 参数:
actor
(carla.Actor or int) - 将要应用到的参与者或者它的 ID。impulse
(carla.Vector3D - degrees*s)
- 参数:
command.ApplyForce
carla.Actor 中 add_force() 的命令适应。对一个参与者施加一个力。
实例变量
- actor_id (int)
被命令影响的参与者。 - force (carla.Vector3D - N)
在时间上对参与者施加力。
方法
- __init__(self, actor, force)
- 参数:
actor
(carla.Actor or int) - 将要施加命令的参与者或它的 ID。force
(carla.Vector3D - N)
- 参数:
command.ApplyImpulse
carla.Actor 中 add_impulse() 的命令适应。最参与者施加的 impulse。
实例变量
- actor_id (int)
命令影响的参与者。 - impulse (carla.Vector3D - N*s)
应用到参与者的 Impulse。
方法
- __init__(self, actor, impulse)
- 参数:
actor
(carla.Actor or int) - 命令应用到的参与者或者它的 ID。impulse
(carla.Vector3D - N*s)
- 参数:
command.ApplyTargetAngularVelocity
carla.Actor 中 set_target_angular_velocity() 的命令适应。
实例变量
- actor_id (int)
被命令影响的参与者。 - angular_velocity (carla.Vector3D - deg/s)
应用到参与者的三维角速度。
方法
- __init__(self, actor, angular_velocity)
- 参数:
actor
(carla.Actor or int) - 命令将要应用到的参与者或者它的ID。angular_velocity
(carla.Vector3D - deg/s) - 应用到参与者的角速度向量。
- 参数:
command.ApplyTargetVelocity
carla.Actor 中 set_target_velocity() 的命令适应。
实例变量
- actor_id (int)
被命令影响的参与者。 - velocity (carla.Vector3D - m/s)
应用到参与者三维速度。
方法
- __init__(self, actor, velocity)
- 参数:
actor
(carla.Actor or int) - 命令应用到的参与者或它的ID。velocity
(carla.Vector3D - m/s) - 应用到参与者的速度向量。
- 参数:
command.ApplyTorque
carla.Actor 中 add_torque() 的命令适应。对参与者应用 torque。
实例变量
- actor_id (int)
命令影响的参与者。 - torque (carla.Vector3D - 度)
在时间上对参与者应用力矩。
方法
- __init__(self, actor, torque)
- 参数:
actor
(carla.Actor or int) - 命令应用到的参与者和它的 ID。torque
(carla.Vector3D - 度)
- 参数:
command.ApplyTransform
carla.Actor 中 set_transform() 的命令适应。对参与者设置新的变换。
实例变量
- actor_id (int)
命令影响的参与者。 - transform (carla.Transform)
所使用的变换。
方法
- __init__(self, actor, transform)
- 参数:
actor
(carla.Actor or int) - 命令应用到的参与者或它的 ID。transform
(carla.Transform)
- 参数:
command.ApplyVehicleAckermannControl
carla.Vehicle 中 apply_ackermann_control() 的命令适应。对车辆应用某个阿克曼控制器。
实例变量
- actor_id (int)
命令影响的车辆参与者。 - control (carla.AckermannVehicleControl)
应用的车辆阿克曼控制。
方法
- __init__(self, actor, control)
- 参数:
actor
(carla.Actor or int) - 命令应用到的参与者或它的 ID。control
(carla.AckermannVehicleControl)
- 参数:
command.ApplyVehicleControl
在 carla.Vehicle 中 apply_control() 命令进行适应,实现对车辆应用某个控制。
实例变量
- actor_id (int)
命令影响的车辆参与者。 - control (carla.VehicleControl)
应用的车辆控制。
方法
- __init__(self, actor, control)
- 参数:
actor
(carla.Actor or int) - 将要应用命令的参与者或它的ID。control
(carla.VehicleControl)
- 参数:
command.ApplyVehiclePhysicsControl
carla.Vehicle 中 apply_physics_control() 的命令适应。对车辆应用一个新的物理控制,修改它的物理参与者。
实例变量
- actor_id (int)
命令影响的车辆参与者。 - physics_control (carla.VehiclePhysicsControl)
应用的物理控制。
方法
- __init__(self, actor, physics_control)
- 参数:
actor
(carla.Actor or int) - 命令应用的参与者或它的ID。physics_control
(carla.VehiclePhysicsControl)
- 参数:
command.ApplyWalkerControl
carla.Walker 中 apply_control() 的命令适应。对行人应用控制。
实例变量
- actor_id (int)
命令影响的行人参与者。 - control (carla.WalkerControl)
应用的行人参与者。
方法
- __init__(self, actor, control)
- 参数:
actor
(carla.Actor or int) - 将要应用命令的参与者或者它的ID。control
(carla.WalkerControl)
- 参数:
command.ApplyWalkerState
对行人参与者应用状态。对初始化参与者的位置、朝向和速度特别有用。
实例变量
- actor_id (int)
命令影响的行人参与者。 - transform (carla.Transform)
应用的转换。 - speed (float - m/s)
应用的速度。
方法
- __init__(self, actor, transform, speed)
- 参数:
actor
(carla.Actor or int) - 命令引用的参与者或它的ID。transform
(carla.Transform)speed
(float - m/s)
- 参数:
command.DestroyActor
carla.Actor 中 destroy() 命令的改编版,将告诉模拟器销毁该参与者。如果参与者已经被销毁则没有影响。当在 carla.Client 中执行 apply_batch_sync() 将会返回一个布尔值状态表示参与者是否被成功销毁。
实例变量
方法
- __init__(self, actor)
- 参数:
actor
(carla.Actor or int) - 命令应用的参与者或它的 ID。
- 参数:
command.Response
声明命令执行的结果,不是命令应用到参与者的ID(当成功时),就是错误字符串(当失败时),参与者 ID 取决于命令是否执行成功。carla.Client 中的方法 apply_batch_sync() 返回这些的列表来总结批量的执行。
实例变量
方法
command.SetAutopilot
carla.Vehicle 中 set_autopilot() 的命令适应。打开/关闭车辆的自动驾驶模式。
实例变量
方法
- __init__(self, actor, enabled, port=8000)
- 参数:
actor
(carla.Actor or int) - 应用命令的参与者或它的ID。enabled
(bool)port
(uint16) - 注册或unlisted车辆的交通管理器端口。如果传递的是 None ,会考虑使用交通管理器的默认端口8000
。
- 参数:
command.SetEnableGravity
carla.Actor 中 set_enable_gravity() 的命令适应。禁用或启用参与者的重力。
实例变量
- actor_id (carla.Actor or int)
命令影响的参与者。 - enabled (bool)
方法
- __init__(self, actor, enabled)
- 参数:
actor
(carla.Actor or int) - 命令应用的参与者或参与者ID。enabled
(bool)
- 参数:
command.SetSimulatePhysics
carla.Actor 中 set_simulate_physics() 的命令适应。确定参与者是否会被物理影响。
实例变量
方法
- __init__(self, actor, enabled)
- 参数:
actor
(carla.Actor or int) - 命令应用到的参与者或ID。enabled
(bool)
- 参数:
command.SetVehicleLightState
carla.Vehicle 中 set_light_state() 的命令适应。设置车辆的交通灯。
实例变量
- actor_id (int)
命令影响的参与者。 - light_state (carla.VehicleLightState)
定义车辆的交通灯。
方法
- __init__(self, actor, light_state)
- 参数:
actor
(carla.Actor or int) - 命令应用到的参与者或者它的ID。light_state
(carla.VehicleLightState) - Recaps 车辆的交通灯状态,这些能被用作一个标志。
- 参数:
command.ShowDebugTelemetry
carla.Actor 中 show_debug_telemetry() 的命令适应。显示车辆的 telemetry 数据。
实例变量
- actor_id (carla.Actor or int)
命令影响的参与者。 - enabled (bool)
方法
- __init__(self, actor, enabled)
- 参数:
actor
(carla.Actor or int) - 命令应用到的参与者或参与者ID。enabled
(bool)
- 参数:
command.SpawnActor
carla.World 中 spawn_actor() 的命令适应。基于提供的蓝图和变换在世界中生成参与者。如果提供了父类,该参与者将会附在上面。
实例变量
- transform (carla.Transform)
应用的变换。 - parent_id (int)
父参与者的标志。
方法
- __init__(self)
- __init__(self, blueprint, transform)
- 参数:
blueprint
(carla.ActorBlueprint)transform
(carla.Transform)
- 参数:
- __init__(self, blueprint, transform, parent)
- 参数:
blueprint
(carla.ActorBlueprint)transform
(carla.Transform)parent
(carla.Actor or int)
- 参数:
- then(self, command)
链接一个其他将要立刻执行的命令。它允许ease非常常见的流,比如通过命令生成一组车辆,并使用该方法设置自动驾驶。- 参数:
command
(any carla Command) - 一个 Carla 命令。
- 参数: