2025年6月5日 星期四

CARLA(Car Learning to Act)模擬器 的完整介紹

 針對 CARLA(Car Learning to Act)模擬器 的完整介紹,包含背景、特色、技術架構、常見用途與與 ROS 整合方式:


🚘 CARLA 是什麼?

CARLA(Car Learning to Act) 是一款開源自駕車模擬器,由 Intel 與西班牙 Computer Vision Center (CVC) 共同開發,目的在提供逼真的城市駕駛環境,用於訓練與測試自駕車感知、決策與控制模組。

📌 GitHub:https://github.com/carla-simulator/carla


🎮 技術基礎與特色

項目說明
📦 引擎使用 Unreal Engine 4 開發,支援高品質圖形渲染與真實光影
🛣️ 模擬內容各式城市街道、高速公路、環形交叉口、施工區、學區等
☁️ 天氣模擬支援多樣氣候條件(晴天、雨天、霧、黃昏、夜間)
🚗 交通模擬支援車輛、行人、交通燈與交通號誌的動態模擬
🧠 感測器模擬相機(RGB/Depth/Segmentation)、LiDAR、Radar、IMU、GNSS、Semantic Map
📸 資料輸出支援真實標註資料(bounding boxes、depth、semantic labels)
🧪 開放場景生成器可自定義測試場景、自動任務、自定義路線

🧰 常見應用與用途

應用項目說明
感知模組訓練用於影像物件偵測、語意分割、3D重建、光流
控制與決策驅動模組測試(PID, RL 模型, MPC 等)
強化學習(RL)多智能體訓練、策略學習
ROS2 整合測試與 ROS Bridge 整合作為真實世界替代測試平台
多感測融合支援同步輸出多個感測器訊號

🌉 與 ROS/ROS 2 整合

CARLA 提供官方 carla-ros-bridge,可將感測器資料轉為 ROS 訊息,例如:

  • /carla/ego_vehicle/camera/rgb/front/image

  • /carla/ego_vehicle/odometry

  • /carla/ego_vehicle/imu

並支援:

  • /cmd_vel 控制輸入

  • /initialpose/goal 目標位置輸入(可結合 nav2 測試導航)

  • 撰寫自訂 ROS 節點整合 SLAM、控制演算法等


🎯 CARLA 主要優點

✅ 高擬真度環境(UE4 渲染 + 物理)
✅ 支援多人自駕車、多感測器同步模擬
✅ 適合 ML / CV / RL 模型快速迭代與驗證
✅ 開源 + 可程式化環境 API + 支援 Docker 部署
✅ 可導出真實數據集(sensor fusion 訓練)


⚠️ 使用限制與缺點

❌ 執行效能需求高(需 GPU,建議 NVIDIA 1060 以上)
❌ 環境建模有限(需 Unreal 編輯器建新場景)
❌ 初學者上手較慢,需理解 Unreal / API 結構
❌ 無法直接模擬真實車輛 CAN bus 訊號


🧪 實際操作範例

bash
# 啟動 CARLA Server ./CarlaUE4.sh -opengl # 啟動 ROS Bridge(需 ROS 環境) ros2 launch carla_ros_bridge carla_ros_bridge.launch.py

接著即可透過 ROS 2 Topic 傳送 /cmd_vel、接收 /carla/* 資訊來進行模擬控制與資料擷取。


📦 CARLA 生態圈延伸

專案名稱用途
carla-scenariorunner建立測試任務與情境模擬
carla-autoware與 Autoware 整合模擬環境
LeaderBoard評估模型表現與排名
Data Collector大量感測器資料產出工具

📌 小結

特性評價
視覺品質⭐⭐⭐⭐⭐(使用 Unreal Engine 4)
感測器擬真度⭐⭐⭐⭐(支援同步、多樣化)
模型訓練用途⭐⭐⭐⭐⭐(適合端到端 / RL / 感知)
整合性(ROS等)⭐⭐⭐⭐(良好整合,但需配置)
執行需求⭐⭐⭐(需較高 GPU 資源)

如你需要:

  • ✅ 教學:如何從零開始安裝 CARLA + ROS 2 bridge

  • ✅ 自訂場景 + 自駕車訓練腳本範例

  • ✅ 自動產生數據集(車道分割、depth、bounding box)

沒有留言:

張貼留言