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重塑端到端自動駕駛仿真!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/75898.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/75898.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/75898.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue+webpack5(高級配置)

項目地址 基礎配置可查看文檔 1、devtool 配置 (找到報錯位置)2、優化打包速度3、oneOf 每個文件只被一個loader處理4、 include/exclude 處理某些文件或者排除某些文件5、 cache 緩存 (提升后面幾次的打包速度)6、 多進程打包7、減少代碼體積 Tree Shak…

JavaWeb——事務管理、AOP

目錄 一、事管理 1.開啟事務管理日志 2.開啟事務管理 3.傳播行為 二、AOP 1.通知類型 2.通知順序 3.切入點表達式 4.連接點 一、事務管理 1.開啟事務管理日志 2.開啟事務管理 3.傳播行為 當一個事務方法被另一個事務方法調用時,這個事物方法應該如何進行事…

okhttp3網絡請求

一、使用okhttp3和gson build.gradle ... dependencied {...implementation com.squareup.okhttp3:okhttp:3.9.0implementation com.google.code.gson:gson:2.10.1 }二、響應模型 可根據實際情況進行調整,目前我所需的就是這三個變量 HttpResponseData.java im…

【藍橋杯每日一題】3.28

🏝?專欄: 【藍橋杯備篇】 🌅主頁: f狐o貍x "今天熬的夜,會變成明天獎狀的閃光點!" 目錄 一、唯一的雪花 題目鏈接 題目描述 解題思路 解題代碼 二、逛畫展 題目鏈接 題目描述 解題思路 解題代…

【MinIO】Bucket的生命周期管理

👻創作者:丶重明 👻創作時間:2025年3月7日 👻擅長領域:運維 目錄 1.ILM使用介紹2.生命周期配置實例 1.ILM使用介紹 對象生命周期管理(ILM)是現代對象存儲系統的核心功能之一&#x…

Android 中隱藏標題欄和狀態欄的方法

在Android開發中,隱藏標題欄和狀態欄是實現全屏顯示的常見需求。 一、隱藏標題欄 1、通過代碼隱藏 對于繼承自 AppCompatActivity 的 Activty,可在 onCreate() 方法中調用supportRequestWindowFeature 或 getSupportActionBar 方法來隱藏標題欄。 ove…

進程間通信——信號量

進程間通信——信號量 目錄 一、基本概念 1.1 概念 1.2 基本操作 1.3 相關函數 1.3.1 semget創建/獲取 1.3.2 semop操作信號量 1.3.3 semctl初始化/刪除 二、代碼操作 2.1 不用PV的 2.2 用PV 的 2.2.1 a.c 2.2.2 b.c 2.2.3 sem.h 2.2.4 sem.c 一、基本概念 1.1…

Linux內核2-TFTP與NFS環境搭建

Uboot:引導程序 初始化硬件設備,初始化c語言環境,為內核加載做準備 zImage:內核文件 rootfs:文件系統,為用戶提供一個與硬件設備數據交互的系統 1.TFTP和NFS功能 TFTP:簡單文件傳輸協議網絡配置 pc可以下載 2.minicom bootargs…

TDengine 中的命名與邊界

簡介 本章主要介紹命名的合法字符集和限制規則,這對于正確使用 TDengine,減小報錯很重要,這些規則在 SQL 語句中都生效,在使用過程中要注意,避免不必要的錯誤。 名稱命名規則 合法字符:英文字符、數字和…

C++ 中將函數作為參數傳遞

C 中將函數作為參數傳遞 1. 通過指針傳遞函數 函數可以通過傳遞函數的地址來作為參數傳遞&#xff1b;簡而言之&#xff0c;就是通過指針實現這一點。 示例代碼 #include <iostream> using namespace std;// 定義加法和減法函數 #include <iostream> #include …

Vala 編程語言教程-繼承

繼承? 在 Vala 中&#xff0c;一個類可以繼承自 ?一個或零個? 其他類。盡管實際開發中通常繼承一個類&#xff08;不同于 Java 等語言的隱式繼承機制&#xff09;&#xff0c;但 Vala 并不強制要求必須繼承。 當定義繼承自其他類的子類時&#xff0c;子類的實例與父…

Crypto Architecture Kit簡介

HarmonyOS 5.0.3(15) 版本的配套文檔&#xff0c;該版本API能力級別為API 15 Release 文章目錄 約束與限制能力范圍基本概念與相關Kit的關系 Crypto Architecture Kit屏蔽了第三方密碼學算法庫實現差異的算法框架&#xff0c;提供加解密、簽名驗簽、消息驗證碼、哈希、安全隨機…

交流電機類型及其控制技術

交流電機可分為同步電機和異步電機兩大種類&#xff0c;如果電機轉子的轉速與定子旋轉磁場的轉速相等&#xff0c;轉子與定子旋轉磁場在空間同步地旋轉&#xff0c;這種電機就稱為同步電機。如果電機轉子的轉速不等于定子旋轉磁場的轉速&#xff0c;轉子與定子旋轉磁場在空間旋…

SQL語言分類及命令詳解(一)

目錄 1. DQL&#xff08;Data Query Language&#xff09;數據查詢語言 主要命令&#xff1a; SELECT 2. DDL&#xff08;Data Definition Language&#xff09;數據定義語言 主要命令&#xff1a; CREATE ALTER DROP TRUNCATE&#xff08;清空表數據&#xff0c;保留…

fluent_UDF學習筆記

UDF源代碼路徑 D:\Program Files\ANSYS Inc\v231\fluent\fluent23.1.0\src關于顆粒反彈速度的計算 /* 通過面法向單位向量計算速度的法向向量、切向向量&#xff0c;再通過法向、切向恢復系數重新計算反彈速度*//* Compute normal velocity.將顆粒速度向面法線方向投影&#x…

Go 語言標準庫中sort模塊詳細功能介紹與示例

Go語言的 sort 模塊提供了對切片和自定義數據結構的排序功能&#xff0c;支持基本類型排序、自定義排序規則、穩定排序和二分查找。以下是 sort 模塊的核心方法及示例說明&#xff1a; 1. 基本類型排序 sort.Ints、sort.Float64s、sort.Strings 直接對基本類型的切片進行排序…

第十六屆藍橋杯模擬二(串口通信)

由硬件框圖可以知道我們要配置LED 和按鍵 一.LED 先配置LED的八個引腳為GPIO_OutPut,鎖存器PD2也是,然后都設置為起始高電平,生成代碼時還要去解決引腳沖突問題 二.按鍵 按鍵配置,由原理圖按鍵所對引腳要GPIO_Input 生成代碼,在文件夾中添加code文件夾,code中添加fun.…

06-ADC

ADC簡介 Analog-Digital Converter 模擬-數字轉換器 ADC可以將引腳上連續變化的模擬電壓轉換為內存中存儲的數字變量&#xff0c;建立模擬電路到數字電路的橋梁。 12位逐次逼近型ADC&#xff0c;1us轉換時間&#xff1b;輸入電壓范圍&#xff1a;0-3.3V&#xff0c;轉換結果…

二層綜合實驗

拓撲圖 實驗要求 1.內網IP地址使用172.16.6.0/16分配 2.sw1和sW2之間互為備份 3.VRRP/STP/VLAN/Eth-trunk均使用 4.所有Pc均通過DHCP獲取IP地址 5.ISP只能配置IP地址 6.所有電腦可以正常訪問IsP路由器環回 實驗思路 這是一個二層綜合實驗每當拿到一個實驗看清楚要求之后都有…

Java實現pdf中動態插入圖片

今天接到一個需求&#xff0c;需要在pdf中的簽名處&#xff0c;插入簽名照片&#xff0c;但簽名位置不固定&#xff0c;話不多說上代碼&#xff1a; 1、首先引入itextpdf依賴包&#xff1a; <dependency><groupId>com.itextpdf</groupId><artifactId>…