欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > CARLA常见技术问题集锦(一)地图与场景构建篇

CARLA常见技术问题集锦(一)地图与场景构建篇

2025/4/1 5:50:35 来源:https://blog.csdn.net/SYNKROTRON/article/details/146600497  浏览:    关键词:CARLA常见技术问题集锦(一)地图与场景构建篇

编者荐语:

在自动驾驶技术加速落地的今天,CARLA 仿真引擎凭借其开源生态与高保真仿真能力,已成为全球开发者构建智能驾驶算法的核心工具之一。随着虚幻引擎 5.5 的全面升级,CARLA 0.10.0 版本实现了视觉革命:Lumen 全局光照与 Nanite 虚拟几何体技术让场景细节逼近真实,深信科创打造的 越野露天矿地图 更填补了非结构化道路测试的空白;生成式 AI 交通模型(Inverted AI)与原生 ROS2 接口的加入,则让复杂交通场景的仿真效率与真实性迈上新台阶。

然而,CARLA 强大的功能背后也伴随着陡峭的学习曲线。从多 GPU 配置优化到传感器数据同步,从动力学参数调试到联合仿真框架搭建,开发者在实践过程中常面临 “知其然不知其所以然”的困境。为此,深信科创技术团队系统梳理了来自 CARLA 社群、GitHub、Discord、知乎专栏、CSDN 等平台开发者们提出的的 常见技术问题,结合最新版本特性与开发经验,将其归纳为 地图与场景构建、车辆与模型、传感器与数据采集、API 与开发接口、仿真控制与算法、多机与分布式仿真、联合仿真与工具集成、扩展与自定义开发 等模块。在本次和后续的系列文章中逐次进行分析并解答。很多基础问题也可以通过查阅官方文档解决,CARLA 官方文档指导性很强。建议新手小白多看文档。

地图与场景构建

📦基础操作类

Q1:Carla 中怎么获取地图中任意一点的世界坐标?

直接启动 manual_control,手动操控车到指定地点,就能读取坐标。也可以通过ROS来运行。
ROS具体步骤

  1. 确保 CARLA 正在运行后启动 ROS 桥;

  2. 生成对象,启动 carla_manual_control节点。

  3. 要手动控制车辆,请按 'B' 键。按 'H' 键查看说明。

# ROS 1
roslaunch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch
# ROS 2
ros2 launch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch.py

Q2:有没有 Carla 的地图,简单的多车道,有停车位的?

参考 Carla 地图文档,提供了每张地图的俯视图和具体特征,可以查看符合需求的地图。例如Town05中就具有多车道和停车位:
https://carla.readthedocs.io/en/latest/map_town05/

Q3:Carla 是否支持 .xodr 格式的地图?

支持,可参考这篇微信文章实现:Carla中如何加载OpenDrive地图?

Q4:导入 OpenDrive 时如何增加一个大地以防止车辆掉下去?

增加碰撞体。可参考官方文档:https://carla.readthedocs.io/en/latest/tuto_D_generate_colliders/#generate-detailed-colliders

创建 物理碰撞体 的视频教程:CARLA常见技术问题集锦(一)地图与场景构建篇 视频见原文,CSDN上传受限。

Q5:在CARLA中执行make import、make package和make launch命令时,是否会为行人专门生成一个用于导航的地面mesh?

是的,CARLA中的地面使用的是mesh而非landscape地形系统。在执行这些命令时,会生成一个专门的navigation mesh(导航网格),这个navmesh会被Traffic Manager(TM)和行人导航系统使用。其中包含专门为行人优化的路径信息。


⚙️地图导入与基础功能

Q6:Carla 目前是否支持导航地图(非高精地图)?

Carla 仅支持 OpenDrive 格式的高精地图,导航地图需自行定义。地图导航和自定义生成导航地图参考官方文档:https://carla.readthedocs.io/en/latest/core_map/#custom-maps
以下视频解释了将地图导入 CARLA 可用的某些方法:CARLA常见技术问题集锦(一)地图与场景构建篇 视频见原文,CSDN上传受限。

Q7:CARLA 街景地图里面有隧道场景吗?

Town03地图中有地下通道,如下面图片所示。另外深信科创也有做。

Q8:如何将自定义 HD 地图数据通过 RoadRunner 导入 Carla,并添加建筑物等资产?

将地图文件(xodr 和 fbx)放到 Import 目录,运行make import,可使用 RoadRunner 构建道路网络(Road Network)并导出地图,然后在 Carla 中添加建筑物等资产。具体操作参考官方文档中Add New Map部分:https://carla.readthedocs.io/en/latest/tuto_M_add_map_alternative/#roadrunner-plugin-import

Q9:导入的自定义地图在 UE4 中运行后,如何集成到 CarlaUE4.sh 环境中并通过 Python 调用?

使用make package命令将地图打包,具体操作参考官方文档:https://carla.readthedocs.io/en/latest/tuto_M_add_map_package/#ingesting-maps-in-a-carla-package

Q10:如何在Carla中加载外部制作的OpenDRIVE文件并显示对应的建筑模型?我的OpenDRIVE文件由其他软件(如VTD)生成,模型文件也是外部的。目前仅能显示道路,但希望复用原有模型(如VTD中的配置)。

要在Carla中加载外部制作的OpenDRIVE文件并显示建筑模型,需注意OpenDRIVE本身仅描述道路信息,无法直接加载模型,但可通过object标签存储建筑信息,再借助工具构建地图模型(如VTD通过名称匹配模型文件和配置文件实现加载)。由于Carla要求外部模型必须导入其素材库(如FBX、OBJ格式)才能引用,因此需将原有模型转换为Carla支持的格式并关联OpenDRIVE中的对象名称。对于少量地图可手动摆放模型,而大规模地图建议使用程序化生成工具(如Carla最新版本的功能或深信科创的OpenDRIVE工具链)批量处理,以复用VTD等平台的模型配置并适配Carla的素材库体系。


🗺️ 进阶功能与疑难解决

Q11:如何在 Carla 道路上贴一张图片?

通过源码编译 Carla,在 Carla UE5 中操作:创建材质、添加纹理贴图并应用材质,参考 UE 文档:https://dev.epicgames.com/documentation/zh-cn/unreal-engine/texture-asset-editor-in-unreal-engine 

如何在UE5中混合材质的教学视频见原文: CARLA常见技术问题集锦(一)地图与场景构建篇

Q12:OpenDRIVE 独立模式中车道标线无法渲染,如何解决?

是的,因为没有生成车道线网格体。深信科创有opendrive生成路面(包括车道线)的工具。

Q13:Carla 自定义地图,make import 后无法导入 .xodr 中自定义 surface 的 OpenCRG 属性,如何解决?

Carla 目前不支持道路 OpenCRG 属性的导入。

Q14:Carla 加载的 .xodr 地图如何显示车道线信息?现在有没有比较好的方案?

深信科创2024年开发的新特性中,CARLA已经可以支持导入加载xodr后生成各种样式的车道线,包括黄白色的单实线、单虚线、双实线等。(暂未开源)

Q15:在 Roadrunner 中,有些资产是 .fbx_rxx 格式,有些是 .fbx 格式,.fbx_rxx 格式的资产可以通过 make import 导入,但其他 .fbx 格式的资产无法导入,这是什么原因?如何解决?

在 Roadrunner 中,基于同样的道路分别添加 .fbx 和 .fbx_rrx 格式的模型构建场景后,使用 Export->CarlaFilmBox 导出选项,均可以通过 Carla 的 make import 命令生成地图关卡文件,并且可以通过 Python 脚本测试。如果 .fbx 格式的资产无法导入,建议提供更详细的错误信息以便进一步排查问题。通常情况下,确保资产格式和导出选项正确,可以解决导入问题。

Q16:如何为 Carla 制作实景地图?RoadRunner 和 OpenStreetMap 似乎无法完全解决这个问题。

unisim换了视角车轮子不转光照没影响,也会觉得与真实世界不一样。用人眼判断仿真真实度是一种非常主观的方式,GAN也能生成人眼看着真,但就是可以扰乱神经网络输出的图像,这种情况到底算不算真实,就看测试对象是什么了。只要肯投人投钱投机器,天花板还是很高的。

Q17:在CARLA 0.10.0中,Towns 1-9、11-13和15未被升级且未包含,但Town10已升级。旧版本的部分资源仍可在内容库中使用。我的项目需要使用Town04或Town05,但当前版本可能不完全支持。是否可以通过从源码构建CARLA来恢复对Town04或Town05的访问?若可以,请提供相关指导或文档(是否需要FBX文件重建)?此外,如何访问由routeplanner.cpp生成的样条点(路由生成时无蓝图类)?

1. 重建旧版本Town

  • •非大地图(如Town04/05)需大量修改:启用Nanite需将大型网格(如建筑)拆分为小块,并分离透明/非透明材质。还需设置新的"CarlaWeather"。

  • 参考下方视频教程:按路由规划器的方式处理路径点。CARLA常见技术问题集锦(一)地图与场景构建篇 视频见原文,CSDN上传受限。

  • 大地图(LargeMaps)暂不支持,需研究世界分区(World Partition)实现。

2. 访问样条点

  • • 通过C++代码中的AOpenDriveActor::BuildRoutes(位于OpenDriveActor.cpp)生成路由。

  • • 具体操作:仿照OpenDriveActor.cpp第235行的路由规划器逻辑,生成位置点并添加到样条网格(Spline Mesh)。


本文主要是简述了在使用CARLA过程中遇到的关于地图与场景构建的一些常见问题。未来CARLA问题总结系列文章将会持续更新关于车辆与模型、传感器与数据采集、API 与开发接口、仿真控制与算法、多机与分布式仿真、联合仿真与工具集成、扩展与自定义开发等常见问题。关注作者,了解更多CARLA硬核知识!

若需详细了解文中所提及的深信科创自主开发的工具,或者加入CARLA开发者交流群,在CSDN后台私信我们吧!

CARLA AI助手上线!你的24小时仿真顾问!

以上问题已全部录入「CARLA AI助手」知识库!现在起,只需提问即可获得:
✅ 精准解答:覆盖安装、API开发、场景设计全流程
✅ 代码生成:一键输出环境配置脚本与调试命令
✅ 实时更新:同步官方文档与社群最新解决方案

立即体验:在「CARLA引擎中文站」聊天框直接输入问题或点击菜单栏「AI助手」开启智能问答!


互动话题
你在使用CARLA时还遇到过哪些“玄学”问题?欢迎留言讨论!点赞最高的问题,我们将优先安排技术解析~

往期精品内容推荐:

【直播回顾】CARLA新版本解读会

CARLA 0.10.0正式发布!带来UE5.5升级、首个越野露天矿地图、ROS2原生接口、集成交通流与SCENIC3等新亮点!

一文看懂 | OASIS SIM V3.0交通流如何为自动驾驶算法提供CornerCase挑战

OASIS SIM V3.0 全新升级上线!AI重塑端到端自动驾驶仿真!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词