Carla 0.9.9 Python API翻译参考

CARLA模拟器API概览
本文档提供了CARLA模拟器API的全面介绍,涵盖了Actor、Blueprint、World、Sensor及其实现细节。深入探讨了如何生成和管理模拟环境中的各种元素,如车辆、行人和传感器,以及如何使用蓝图库定制属性。

carla.Actor

CARLA将actors定义为在模拟器起作用或可以移动的任何事物。其中包括:行人(pedestrians),车辆( vehicles),传感器(sensors)和交通标志(将交通灯视为其中的一部分)。
Actor通过carla.World在模拟器中生成,并需要创建carla.ActorBlueprint。这些蓝图属于CARLA提供的库,请在here找到有关它们的更多信息。

Instance Variables

  • attributes (dict)
    包含该actor所基于的蓝图属性的字典。
  • id (int)
    该actor的标识符。在给定episode中唯一。
  • parent (carla.Actor)
    Actors可能会附加到他们将跟随的parent actor身上。This is said actor.
  • semantic_tags (list(int))
    蓝图列出组件为此actor提供的语义标记列表。例如。交通信号灯可以标记为“杆”和“交通灯”。这些标签由语义分割传感器使用。在此处找到有关此传感器和其他传感器的更多信息。
  • type_id (str)
    该actor所基于的蓝图的标识符,例如“ vehicle.ford.mustang”

Methods

  • add_impulse(self, impulse)
    添加一个 impulse 给 actor.
    • Parameters:
      • impulse (carla.Vector3D)
  • destroy(self)
    告诉模拟器销毁此actor,如果成功,则返回True。如果它已被销毁,则没有任何效果。
    • Return: bool
    • Warning: 此方法将阻塞脚本,直到模拟器完成销毁为止。
  • get_acceleration(self)
    返回客户端在最后一刻收到的actor的3D加速度矢量(acceleration vector)。该方法不会调用模拟器。
    • Return: carla.Vector3D
  • get_angular_velocity(self)
    返回客户端在最后一刻收到的actor的角速度矢量。该方法不会调用模拟器。
    • Return: carla.Vector3D
  • get_location(self)
    返回客户端在上次时刻中获得的actor的位置。该方法不会调用模拟器。
    • Return: carla.Location
  • get_transform(self)
    返回客户端在最后一刻收到的actor的变换(位置和旋转)。该方法不会调用模拟器。
    • Return: carla.Transform
  • get_velocity(self)
    返回客户端在最后一刻接收到的actor的速度矢量。该方法不会调用模拟器。
    • Return: carla.Vector3D
  • get_world(self)
    返回该actor所属的world。
    • Return: carla.World
  • set_angular_velocity(self, angular_velocity)
    更改actor的角速度矢量
    • Parameters:
      • angular_velocity (carla.Vector3D)
  • set_location(self, location)
    将actor传送到给定位置。
    • Parameters:
      • location (carla.Location)
  • set_simulate_physics(self, enabled=True)
    在此actor上启用或禁用物理模拟。
    • Parameters:
      • enabled (bool)
  • set_transform(self, transform)
    将actor传送到给定的变换(位置和旋转)。
    • Parameters:
      • transform (carla.Transform)
  • set_velocity(self, velocity)
    设置actor的速度矢量。
    • Parameters:
      • velocity (carla.Vector3D)

Dunder methods

  • __str__(self)

carla.ActorAttribute

CARLA为演员提供了蓝图库(carla.BlueprintLibrary)。这些蓝图均具有内部定义的一系列属性。其中一些是可修改的,而其他则不是。提供了可以设置的推荐值列表。

Instance Variables

  • id (str)
    库中的属性名称和标识符。
  • is_modifiable (bool)
    如果可以修改属性的值,则为True。
  • recommended_values (list(str))
    设计蓝图的人员建议的值列表。
  • type (carla.ActorAttributeType)
    属性的参数类型。

Methods

  • as_bool(self)
    将属性读取为布尔值。
  • as_color(self)
    将属性读取为carla.Color。
  • as_float(self)
    将属性读取为float。
  • as_int(self)
    将属性读取为int。
  • as_str(self)
    将属性读取为字符串。

Dunder methods

  • __bool__(self)
  • __float__(self)
  • __int__(self)
  • __str__(self)
  • __eq__(self, other=bool / int / float / str / carla.Color / carla.ActorAttribute)
    如果此actor的属性和其他属性相同,则返回true。
    • Return: bool
  • __ne__(self, other=bool / int / float / str / carla.Color / carla.ActorAttribute)
    如果此actor的属性和其他属性不同,则返回true。
    • Return: bool
  • __nonzero__(self)
    如果此actor的属性不为零或为null,则返回true。
    • Return: bool

carla.ActorAttributeType

CARLA为carla中的actor提供了一个蓝图库。BlueprintLibrary每个都有不同的属性。此类定义了carla.ActorAttribute的类型,可以作为一系列枚举。所有这些信息都在内部进行管理,并在此处列出,以更好地了解CARLA的工作方式。

Instance Variables

  • Bool
  • Int
  • Float
  • String
  • RGBColor

carla.ActorBlueprint

CARLA为act

### 安装与配置CARLA Python API的步骤 #### 系统要求 在开始之前,确保系统满足以下条件: - 使用Linux系统(推荐Ubuntu 20.04 LTS) - 安装Python 3.8或更高版本 - 配备NVIDIA显卡驱动(建议410以上版本) - 安装必要的依赖库,如PyTorch 1.9+与OpenCV 4.5+ [^4] #### 下载CARLA模拟器 从CARLA的GitHub官方仓库下载CARLA模拟器的最新版本。通常推荐使用打包版本,因为它已经包含了Python API的预编译库,可以节省编译时间[^1]。 #### 设置Python API路径 将CARLAPython API路径添加到`PYTHONPATH`环境变量中,以便Python能够找到`carla`模块。可以使用以下代码将路径添加到脚本中: ```python import sys import os carla_path = os.path.expanduser("~/carla/PythonAPI/carla") # 根据实际路径修改 sys.path.append(carla_path) ``` #### 编译Python API 如果使用的是源码版本,需要手动编译Python API。进入CARLA根目录并执行以下命令: ```bash make PythonAPI ``` 如果需要指定Python版本,可以使用以下命令: ```bash make PythonAPI ARGS="--python-version=3.8" ``` #### 测试Python API 为了验证Python API是否正确安装,可以在CARLAPythonAPI目录下运行示例脚本。例如,运行`manual_control.py`来测试手动控制车辆的功能: ```bash cd PythonAPI/examples python3 manual_control.py ``` #### 配置ROS2环境(可选) 如果计划在ROS2环境中使用CARLA,需要安装ROS2和`carla_ros_bridge`。安装完成后,可以通过运行`carla-ros-bridge`并在RVIZ中显示CARLA模拟器的输出来测试ROS2与CARLA的集成[^2]。 ### 示例代码 以下是一个简单的示例脚本,展示了如何连接到CARLA服务器并获取世界对象: ```python import carla # 连接到CARLA服务器 client = carla.Client('localhost', 2000) client.set_timeout(10.0) # 获取世界对象 world = client.get_world() print("Connected to CARLA server and retrieved world object.") ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值