CARLA 3D 资产目录全指南地图、车辆、行人、道具的选用与运行时部署【免费下载链接】carlaOpen-source simulator for autonomous driving research.项目地址: https://gitcode.com/gh_mirrors/ca/carla本指南以 CARLA 开源自动驾驶仿真器的官方资产目录Docs/catalogue.md为主体系统梳理仿真器内置的 3D 资产库从地图Town10 / Mine01、车辆、行人到可动态放置的道具并给出每个资产的 Blueprint ID、属性说明与在 Python API 中查看、生成和部署的完整实操方案。读完本文你将能够按需从蓝图库中检索资产、将指定车型或行人放入场景并在运行时向模拟环境动态添加道具为自动驾驶算法测试搭建逼真的虚拟交通环境。一、资产目录总览四大类 3D 资源CARLA 仿真器为填充智能体autonomous agent的虚拟环境提供了一整套 3D 资产库涵盖地图Maps多张预构建的仿真地图可选择不同的道路与场景风格车辆Vehicles覆盖真实世界轿车、卡车、货车、巴士与工程机械的高保真模型用于在仿真中还原道路交通流行人Pedestrians各类成人、儿童与特殊职业行人模型用于模拟智能体周边环境的步行交通道具Props道路附近常见的结构与物品售货亭、雕像、长椅、箱子、垃圾桶、碎石等可在仿真运行期间动态放置到任意位置。官方分别提供了三个子目录文档其中列出了全部可选资产车辆目录Vehicles catalogue行人目录Pedestrians catalogue道具目录Props catalogue此外仓库还附带了多个示例 Python 脚本位于 PythonAPI/examples/可作为探索地图、生成车辆或使用 API 的参考起点也可作为自研脚本的基础。二、内置地图Town10 与 Mine01当前版本的 CARLA 提供两张地图一张是包含摩天大楼、商业单元、工业单元与住宅街道的城市环境另一张是越野风格的露天矿场环境。地图简介Town10市中心城区环境含摩天大楼、住宅建筑与滨海大道Mine01工业风露天采矿环境包含越野道路2.1 Town10市中心城市场景Town10地图 ID 为Town10融合了多种内城环境特征玻璃幕墙摩天大楼、滨水长廊旁的工业建筑、公寓楼、酒店、公共建筑以及林荫大道。其道路网络包含多种交叉口布局配以多样的车道标线、人行横道和信号类型可用来检验智能体与其他交通参与者协商通行的能力。从 Docs/map_town10.md 可以看到该地图的几大场景特征道路网络网格化布局包含大量不同类型的交叉口例如四向黄色方格路口4-way yellow-box junction、专用转向车道和中央分隔带带商业裙楼的摩天大楼天际线与城市街区被大量摩天大楼占据底层为商业单元林荫大道街道两侧种满热带植被古典风格公共建筑包含博物馆等古典主义建筑联排住宅与小巷街道两侧分布着类似北美城市住宅区的联排房屋。2.2 Mine01露天矿场场景Mine01地图 ID 为Mine01是一个露天开采环境的模型常见于世界各地矿物开采场景。矿区通过一小段连接道路网络与停车场相连。根据 Docs/map_mine.md 的说明该地图由 CARLA 联盟成员及赞助方 Synkrotron 贡献。这张地图适合测试越野、非结构化道路环境下的感知与控制算法。三、车辆目录18 款可用车型一览CARLA 提供了多样化的车辆资产以高保真模型复刻真实世界的轿车、卡车和货车等用于在仿真中还原交通流。车辆资产的完整清单与每款车的详细参数见 Docs/catalogue_vehicles.md。下表汇总了全部 18 款车型的关键信息Blueprint ID 即蓝图库中检索该车使用的唯一标识3.1 轿车Cars厂商 / 车型级别世代Blueprint ID灯光可开门Audi TTStandard1vehicle.ue4.audi.tt✗✗BMW Gran TourerCompact1vehicle.ue4.bmw.grantourer✗✗Chevrolet ImpalaStandard1vehicle.ue4.chevrolet.impala✗✗Dodge Charger 2020Standard2vehicle.dodge.charger✓✓Dodge Police Charger 2020警务Standard2vehicle.dodgecop.charger✓✓Ford Crown出租车Standard2vehicle.taxi.ford✓✓Ford MustangStandard1vehicle.ue4.ford.mustang✗✗Lincoln MKZStandard2vehicle.lincoln.mkz✓✓Mercedes CoupeStandard1vehicle.ue4.mercedes.ccc✗✗Mini Cooper S 2021Standard2vehicle.mini.cooper✓✓Nissan PatrolSUV2vehicle.nissan.patrol✓✓3.2 卡车 / 厢式车 / 巴士 / 工程机械类别厂商 / 车型Blueprint ID基础类型特殊类型灯光可开门卡车CARLA Motors CarlaColavehicle.carlacola.actorstruck—✗✗卡车CARLA Motors Firetruck消防车vehicle.firetruck.actorstruckemergency✓✓厢式车Ford Ambulance救护车vehicle.ambulance.fordvanemergency✓✓厢式车Mercedes Sprintervehicle.sprinter.mercedesvan—✓✓巴士Mitsubishi Fusorosavehicle.fuso.mitsubishibus—✓✗工程机械Mining earth mover矿用自卸车vehicle.miningtruck.miningtrucktruck—✗✗值得注意的细节Blueprint ID 命名规律。新世代Generation 2车型多使用简洁的vehicle.品牌.型号命名如vehicle.lincoln.mkz、vehicle.nissan.patrol而较早期的 Generation 1 车型保留了vehicle.ue4.品牌.型号的旧式前缀如vehicle.ue4.audi.tt。在编写检索代码时需区分这两类命名避免拼错前缀。四、行人目录成人、儿童与警务人员CARLA 的资产库包含多种行人模型用于在智能体周围的 3D 环境中模拟步行交通。所有行人蓝图的命名统一为walker.pedestrian.编号完整清单见 Docs/catalogue_pedestrians.md。类别模型编号Blueprint ID成人 114含多套变体00150047walker.pedestrian.0015…walker.pedestrian.0047儿童 1400480051walker.pedestrian.0048…walker.pedestrian.0051警务人员 120030、0032walker.pedestrian.0030、walker.pedestrian.0032其中成人类行人大多具有多个变体Variant每个变体对应一个独立 Blueprint ID例如成人行人 1的变体 1 为walker.pedestrian.0015、变体 2 为walker.pedestrian.0019。在生成大量行人时可以通过blueprint_library.filter(walker.pedestrian.*)一次性获取全部行人蓝图再随机挑选以增加场景多样性——这与仓库示例脚本 PythonAPI/examples/generate_traffic.py 批量生成行人交通流的思路一致。五、道具目录可在运行时动态放置的场景物件道具Props刻画了道路上或路边常见的各种结构与物品如售货亭、雕像、长椅、箱子、垃圾桶、碎石等。与静态地图不同道具可以在仿真运行期间被动态放置到任意位置。道具蓝图统一使用static.prop.名称命名完整清单见 Docs/catalogue_props.md。按用途划分道具主要分为以下几大类括号内为代表性 Blueprint ID容器类Containers油桶static.prop.barrel、垃圾集装箱static.prop.container、压皱纸箱 01static.prop.creasedbox01垃圾类Garbage垃圾袋static.prop.trashbag、可乐罐static.prop.colacan、垃圾 0106static.prop.garbage01…garbage06、垃圾平台 01static.prop.platformgarbage01、垃圾桶 0104static.prop.trashcan01…trashcan04公园 / 花园类Park / garden花园灯static.prop.gardenlamp、藤架static.prop.pergola、塑料椅static.prop.plasticchair、塑料桌static.prop.plastictable、秋千static.prop.swing、秋千沙发static.prop.swingcouch、蹦床static.prop.trampoline、烧烤架static.prop.barbeque、狗屋static.prop.doghouse、花园小矮人static.prop.gnome、干草垛static.prop.haybale、花盆 0107static.prop.plantpot01…plantpot07个人物品类Personal塑料袋static.prop.plasticbag、购物袋static.prop.shoppingbag、购物推车static.prop.shoppingcart、购物手推车static.prop.shoppingtrolley、公文包static.prop.briefcase、吉他箱static.prop.guitarcase、旅行箱static.prop.travelcase、自行车头盔static.prop.bike helmet、摩托头盔static.prop.motorhelmet、手机static.prop.mobile、钱包static.prop.purse道路类Road街道护栏static.prop.streetbarrier、施工锥桶static.prop.constructioncone、交通锥桶 01/02static.prop.trafficcone01/02、施工警示牌static.prop.warningconstruction、碎砖 0104static.prop.brokentile01…brokentile04、泥土碎石 0103static.prop.dirtdebris01…dirtdebris03、交通警告牌static.prop.trafficwarning、事故警告牌static.prop.warningaccident人行道类Sidewalk链条护栏static.prop.chainbarrier及端头static.prop.chainbarrierend、长椅 01/02static.prop.bench01/02、餐车static.prop.foodcart、售货亭 01static.prop.kiosk_01、喷泉static.prop.fountain、地图台static.prop.maptable、广告牌static.prop.advertisement、路牌static.prop.streetsign、streetsign01、streetsign04、公交站static.prop.busstop、ATMstatic.prop.atm、邮箱static.prop.mailbox、街道饮水泉static.prop.streetfountain、自动售货机static.prop.vendingmachine工具类Utility标定器static.prop.calibrator常用于相机 / 传感器标定场景。六、实战在模拟器中查看并生成指定资产车辆目录文档 提供了一个完整的查看车辆代码模板先连接到 CARLA 服务端从蓝图库中按 Blueprint ID 找到目标车辆设定车辆与观战者Spectator相机的位置姿态后生成车辆再把观战者移动到相机位姿即可在仿真窗口中从指定视角观察该车型。import carla # 连接 CARLA 服务端并获取世界与蓝图库 client carla.Client(localhost, 2000) world client.get_world() bp_lib world.get_blueprint_library() spectator world.get_spectator() # 设置车辆的生成位姿位置 旋转 vehicle_loc carla.Location(x-46.9, y20.0, z0.2) vehicle_rot carla.Rotation(pitch0.0, yaw142.0, roll0.0) vehicle_trans carla.Transform(vehicle_loc, vehicle_rot) # 将目标车辆的 Blueprint ID 填入 find() vehicle_bp bp_lib.find(vehicle.lincoln.mkz) # 设置观战者相机视角 camera_loc carla.Location(x-48.7, y24.8, z1.7) camera_rot carla.Rotation(pitch-13.4, yaw-75.7, roll0.0) camera_trans carla.Transform(camera_loc, camera_rot) # 生成车辆并移动观战者 vehicle world.spawn_actor(vehicle_bp, vehicle_trans) spectator.set_transform(camera_trans)更换车型时只需把bp_lib.find()的参数替换为上文表格中的任意 Blueprint ID如vehicle.dodge.charger、vehicle.firetruck.actors。注意在生成下一辆新车之前务必先销毁当前车辆避免位置重叠引发碰撞vehicle.destroy()七、原理延伸蓝图库与 Actor 生成机制源码视角上述查看流程看似简单其背后是 CARLA Python API 中几个关键方法的协同。在 PythonAPI/carla/src/World.cpp 中可以找到它们的底层绑定get_blueprint_library()World.cpp#L307返回当前世界的蓝图库对象用于find()精确查找或filter()通配过滤get_spectator()World.cpp#L311获取观战者 Actor配合set_transform()控制相机视角spawn_actor()World.cpp#L323按蓝图与 Transform 生成 Actortry_spawn_actor()World.cpp#L324则在生成点被占用时返回None而不是抛异常更适合批量生成场景。7.1 使用 filter() 按前缀批量检索除了find()精确匹配单个 Blueprint ID蓝图库还支持filter()按正则表达式批量检索。仓库的官方示例脚本 PythonAPI/examples/manual_control.py 中正是这样工作的bps world.get_blueprint_library().filter(filter) # 例如 filtervehicle.*利用这一机制可以快速实现分类检索filter(vehicle.*)获取全部 18 款车辆蓝图filter(walker.pedestrian.*)获取全部行人蓝图filter(static.prop.*)获取全部道具蓝图filter(vehicle.ue4.*)只获取旧式命名Generation 1的车辆。7.2 从蓝图库到场景Actor 生成与销毁无论车辆、行人还是道具其进入场景的路径一致蓝图库检索 → 构造 Transform → spawn_actor / try_spawn_actor → 使用完毕后 destroy()。以行人为例从walker.pedestrian.*中随机选一个蓝图用world.try_spawn_actor(bp, transform)即可放置到人行道上道具同理可在仿真运行期间把static.prop.trafficcone01等物件动态摆放到任意坐标用于临时构造障碍物或测试场景。这种运行时动态生成的能力正是 CARLA 区别于静态 3D 场景的关键测试脚本可以在每一轮仿真中重建不同的交通流与障碍布局而无需重启模拟器。八、附资产检索速查表资产类别Blueprint ID 前缀数量概览详细文档地图地图 IDTown10、Mine012 张Docs/map_town10.md、Docs/map_mine.md车辆vehicle.*18 款含 2 款ue4旧式命名Docs/catalogue_vehicles.md行人walker.pedestrian.*成人 0015–0047、儿童 0048–0051、警务 0030/0032Docs/catalogue_pedestrians.md道具static.prop.*覆盖容器、垃圾、园林、个人、道路、人行道、工具等 7 大类Docs/catalogue_props.md上手建议先连接服务端运行第六节的查看脚本把vehicle.lincoln.mkz依次替换为vehicle.dodge.charger、vehicle.firetruck.actors、vehicle.miningtruck.miningtruck直观感受不同级别车辆的尺寸与细节差异随后用filter(walker.pedestrian.*)和filter(static.prop.*)批量浏览行人与道具最后对照 PythonAPI/examples/ 下的manual_control.py、generate_traffic.py等示例把选中的资产组合进自己的仿真场景搭建完整的自动驾驶测试环境。以上全部 Blueprint ID 与属性信息均来自仓库中的 Docs/catalogue.md 及其子目录文档可随时查阅原始文档确认细节。【免费下载链接】carlaOpen-source simulator for autonomous driving research.项目地址: https://gitcode.com/gh_mirrors/ca/carla创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考