载具蓝图

新两轮基座 BP_Base2wheeledNew

车辆棋子基座 BaseVehiclePawn

其中事件图表中的中断VehicleControl模块接受Vehicle/VehicleControl.h中所定义的车辆控制变量:

UPROPERTY(Category = "Vehicle Control", EditAnywhere, BlueprintReadWrite)
float Brake = 0.0f;

N轮车辆棋子基座 BaseVehiclePawnNW

车辆工厂 VehicleFactory

两轮载具 2Wheeled

Carla虚幻场景中的载具蓝图(Vehicle Blueprints)技术说明

1. 概述

在Carla的虚幻引擎场景中,车辆蓝图(Vehicle Blueprints)是定义和管理各种汽车模型及其属性的核心元素。它们不仅包含车辆的几何模型和动画信息,还包括车辆的物理特性、行为控制参数以及附属传感器等,是实现主动交互和自动驾驶仿真的基础。

2. 车辆蓝图的结构与组成

2.1 蓝图库(Blueprint Library)

  • 定义: 车辆蓝图存放在蓝图库中,通过carla.BlueprintLibrary类提供访问。
  • 内容: 包含一系列可用的车辆类型ID(如vehicle.tesla.model3vehicle.audi.tt等),同时支持过滤和自定义属性设定。
  • 操作: 可以随机抽取、精准查找,也支持根据特定属性筛选。

2.2 车辆蓝图(ActorBlueprint)

  • 定义: 代表具体车辆模型的蓝图对象,类似于虚幻引擎的Actor蓝图。
  • 属性:
  • ID: 标识模型类型,关联至具体的3D模型和动画资源。
  • 可修改属性: 包括颜色、轮子类型、动力参数、灯光状态等。
  • 自定义属性: 允许用户根据实验需求调节车辆性能和外观。

2.3 车辆属性(Attributes)

  • 可修改属性:colorengine_powervehicle_physics等。
  • 限制: 一些属性可能由模型预设、不允许修改。
  • 推荐值: 属性通常配有建议范围或默认值,便于快速配置。

3. 车辆蓝图的操作流程

3.1 获取蓝图库

blueprint_library = world.get_blueprint_library()

3.2 查询和筛选

# 查找特定车辆模型
vehicle_bp = blueprint_library.find('vehicle.tesla.model3')

# 选择所有车辆蓝图并随机选择
vehicle_blueprints = blueprint_library.filter('vehicle.*')
chosen_bp = random.choice(vehicle_blueprints)

3.3 修改属性

# 设置车辆颜色为红色
vehicle_bp.set_attribute('color', '255,0,0')

# 调整发动机功率
vehicle_bp.set_attribute('engine_power', '300')

3.4 生成车辆实例

transform = carla.Transform(carla.Location(x=230, y=195, z=40), carla.Rotation(yaw=180))
vehicle_actor = world.spawn_actor(chosen_bp, transform)

3.5 自定义功能

  • 用户可以扩展车辆蓝图(如添加特殊传感器、动画或自定义参数)。
  • 支持导入用户自制的车辆资产。

4. 车辆蓝图应用场景

  • 仿真测试: 基于不同车辆模型测试自动驾驶算法的适应性。
  • 感知训练: 添加多样化车辆,增强感知模型的鲁棒性。
  • 性能模拟: 调节动力参数和车况,模拟各种道路状态。
  • 虚拟场景生成: 根据任务需求快速生成多样的交通场景。

5. 设计和定制指南

  • 扩展蓝图库: 贡献自己的车辆模型,将新的模型资产加入蓝图库,支持合作开发。
  • 属性调优: 根据特定模拟目标,修改车辆属性以达到理想效果。
  • 动画和物理调优: 调整动画、碰撞模型等,以提高场景逼真度。
  • 车辆交互: 配合传感器和控制系统,实现自主驾驶交互。

6. 结论

在Carla虚幻场景中,车辆蓝图作为动态对象的核心定义,不仅关系到场景的视觉效果,还直接影响仿真中的行为表现和实验结果。对蓝图的深入理解与合理配置,是实现高质量自动驾驶仿真的关键环节。