{"id":50481126,"url":"https://github.com/however-yir/autonomous-driving-lab","last_synced_at":"2026-06-01T17:32:11.094Z","repository":{"id":349750414,"uuid":"1203649037","full_name":"however-yir/autonomous-driving-lab","owner":"however-yir","description":"Autonomous driving engineering monorepo — CARLA simulation, Autoware ROS 2 vehicle stack, VSS signal spec, automotive DLT logging.","archived":false,"fork":false,"pushed_at":"2026-05-07T15:30:27.000Z","size":2120266,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-07T17:31:47.290Z","etag":null,"topics":["automotive","autonomous-driving","autoware","carla","cplusplus","cpp","docker","fork-customized","kubernetes","monorepo","python","robotics","ros2","simulation","ue5","validation","vehicle-signals"],"latest_commit_sha":null,"homepage":"https://github.com/however-yir/howevercarla/tree/ue5-dev/Docs","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"carla-simulator/carla","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/however-yir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"carla-simulator"}},"created_at":"2026-04-07T08:32:14.000Z","updated_at":"2026-05-07T15:44:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/however-yir/autonomous-driving-lab","commit_stats":null,"previous_names":["however-yir/howevercarla","however-yir/autonomous-driving-lab"],"tags_count":56,"template":false,"template_full_name":null,"purl":"pkg:github/however-yir/autonomous-driving-lab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/however-yir%2Fautonomous-driving-lab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/however-yir%2Fautonomous-driving-lab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/however-yir%2Fautonomous-driving-lab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/however-yir%2Fautonomous-driving-lab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/however-yir","download_url":"https://codeload.github.com/however-yir/autonomous-driving-lab/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/however-yir%2Fautonomous-driving-lab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33786896,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automotive","autonomous-driving","autoware","carla","cplusplus","cpp","docker","fork-customized","kubernetes","monorepo","python","robotics","ros2","simulation","ue5","validation","vehicle-signals"],"created_at":"2026-06-01T17:32:10.219Z","updated_at":"2026-06-01T17:32:11.086Z","avatar_url":"https://github.com/however-yir.png","language":"C","funding_links":["https://github.com/sponsors/carla-simulator"],"categories":[],"sub_categories":[],"readme":"# 🚗 Autonomous Driving Lab\n\n[![License: MIT](https://img.shields.io/badge/license-MIT-16A34A)](./LICENSE)\n[![Status](https://img.shields.io/badge/status-research%20lab-64748B)](#)\n[![ROS 2](https://img.shields.io/badge/ROS%202-Humble-blue)](https://docs.ros.org/en/humble/index.html)\n[![UE5](https://img.shields.io/badge/UE5-CARLA-ff69b4)](https://carla.org/)\n\n\u003e **自动驾驶开源栈集成实验室** — 仿真验证 · ROS 2 集成 · 信号规范 · 车载日志\n\u003e\n\u003e 一个 research / integration lab / experimental baseline，用来把 CARLA、Autoware、COVESA VSS 与 DLT 等开源栈放在同一工作台上做集成验证。\n\n---\n\n## 🏗️ 仓库架构\n\n```\nautonomous-driving-lab/\n│\n├── main                          ← 统一入口（当前页面）\n│   ├── ros2-stack/               Autoware ROS 2 车辆栈集成\n│   ├── vehicle-signals/          VSS 车辆信号规范\n│   └── automotive-dlt/           车载 DLT 日志守护进程\n│\n└── ue5-dev                       ← CARLA 仿真平台完整源码\n    ├── Unreal/                   UE5 场景引擎\n    ├── LibCarla/                 C++ 核心库\n    ├── PythonAPI/                Python 仿真接口\n    ├── Ros2Native/               ROS 2 原生桥接\n    ├── deploy/                   Docker + K8s 实验部署样例\n    └── tests/                    测试套件\n```\n\n### 分支策略\n\n| 分支 | 用途 | 说明 |\n| --- | --- | --- |\n| **`main`** | 集成入口 | 聚合 ros2-stack、vehicle-signals、automotive-dlt 三个实验模块 |\n| **`ue5-dev`** | 仿真引擎 | CARLA UE5 仿真平台源码分支，原 `carla-sim-engine` 仓库 |\n\n\u003e **为什么要两个分支？** CARLA 仿真引擎仓库体积极大（~2GB），与 ROS 2/VSS/DLT 等轻量模块放在同一 commit 树下会影响 clone 效率和 CI 构建速度。因此仿真引擎独立维护在 `ue5-dev` 分支，轻量模块聚合在 `main` 分支。\n\n---\n\n## 🔗 上游项目关系\n\n本仓库是社区维护的衍生工程，基于以下上游开源项目构建。各模块与上游的关系如下：\n\n| 模块 | 上游项目 | 关系说明 |\n| --- | --- | --- |\n| **`ue5-dev` 分支** | [carla-simulator/carla](https://github.com/carla-simulator/carla) | however-yir 的 CARLA 仿真引擎 fork，基于上游 CARLA 做 UE5 适配、运行时扩展模块与健康检查实验。仿真场景、PythonAPI、LibCarla 核心库以跟踪上游为主。 |\n| **`ros2-stack/`** | [autowarefoundation/autoware](https://github.com/autowarefoundation/autoware) | 基于上游 Autoware 主仓模板做 ROS 2 工作区集成实验，包含 `.repos` 依赖入口、colcon 构建入口与容器化样例。 |\n| **`vehicle-signals/`** | [COVESA/vehicle_signal_specification](https://github.com/COVESA/vehicle_signal_specification) | 基于上游 VSS 标准数据模型，增加扩展治理、schema freeze gate 与季度上游同步脚本。 |\n| **`automotive-dlt/`** | [COVESA/dlt-daemon](https://github.com/COVESA/dlt-daemon) | 基于上游 AUTOSAR DLT 守护进程，增加 ARM 交叉编译、协议兼容回归与 fuzz smoke 测试入口。 |\n\n\u003e 本仓库与上游项目及其组织无隶属关系，也无官方背书。上游项目名称、Logo 与商标归其各自权利人所有。各子项目目录下维护独立许可证；部分目录另含 `LICENSE.HOWEVER` 或 `NOTICE.md`。\n\n---\n\n## 📦 模块详情\n\n### 状态标签\n\n| 标签 | 含义 |\n| --- | --- |\n| `verified` | 本仓库提供了本地 smoke check 或 CI 入口，可验证基础文件、脚本语法或构建入口。 |\n| `partial` | 已有集成入口和预期产物说明，但完整构建依赖外部工具链、上游仓库或平台环境。 |\n| `research` | 用于研究、课程、原型验证或集成实验，不声明生产可用性。 |\n| `upstream-derived` | 来自上游开源项目的 fork / 衍生目录，改动以集成、治理和验证入口为主。 |\n\n### 🎮 CARLA 仿真引擎 · [`ue5-dev` 分支](https://github.com/however-yir/autonomous-driving-lab/tree/ue5-dev)\n\n| 属性 | 详情 |\n| --- | --- |\n| 上游 | `carla-simulator/carla` |\n| 定位 | 仿真与验证研究底座，面向自动驾驶场景验证、可复现实验流程与平台集成样例 |\n| 亮点 | UE5 主分支、运行时扩展模块、健康检查（含 deep 模式）、Docker / K8s 实验部署样例 |\n| 状态 | `research`, `upstream-derived`, `partial` |\n| 快速开始 | `git checkout ue5-dev \u0026\u0026 bash CarlaSetup.sh` |\n\n### 🤖 Autoware ROS 2 车辆栈 · [`ros2-stack/`](./ros2-stack)\n\n| 属性 | 详情 |\n| --- | --- |\n| 上游 | `autowarefoundation/autoware` |\n| 定位 | Autoware ROS 2 工作区集成实验基线 |\n| 亮点 | `.repos` 主入口、依赖管理、模块解耦、回归测试、colcon CI、容器化、实时性 Profiling |\n| 状态 | `partial`, `verified`, `upstream-derived` |\n| 快速开始 | `cd ros2-stack \u0026\u0026 vcs import src \u003c autoware.repos \u0026\u0026 colcon build --symlink-install` |\n\n#### colcon 构建证据\n\n依赖：\n\n- ROS 2 Humble 环境：`ros-humble-desktop` 或等价基础镜像\n- Python 工具：`python3-vcstool`, `python3-rosdep`, `python3-colcon-common-extensions`\n- 本仓库自定义包依赖：`ament_cmake`, `rclcpp`, `geometry_msgs`, `sensor_msgs`, `pluginlib`\n- 上游依赖入口：`ros2-stack/autoware.repos`\n\n可复现命令：\n\n```bash\ncd ros2-stack\nmkdir -p src\nvcs import src \u003c autoware.repos\nrosdep update\nrosdep install --from-paths src my_modules/ros2_pkgs --ignore-src -r -y --rosdistro humble\ncolcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo\ncolcon test --packages-select \\\n  my_vehicle_perception_bridge \\\n  my_vehicle_planning_strategies \\\n  my_vehicle_control_safety\ncolcon test-result --verbose\n```\n\n预期产物：\n\n- `build/`, `install/`, `log/` 三个 colcon 工作区目录\n- `install/my_vehicle_perception_bridge/lib/my_vehicle_perception_bridge/perception_topic_bridge`\n- `install/my_vehicle_control_safety/lib/my_vehicle_control_safety/control_safety_node`\n- `install/my_vehicle_planning_strategies/lib/libdefault_strategy_plugin.so`\n- `install/my_vehicle_planning_strategies/share/my_vehicle_planning_strategies/plugins.xml`\n\n### 📊 车辆信号规范 (VSS) · [`vehicle-signals/`](./vehicle-signals)\n\n| 属性 | 详情 |\n| --- | --- |\n| 上游 | `COVESA/vehicle_signal_specification` |\n| 定位 | 标准化汽车数据模型、治理检查与制品导出 |\n| 亮点 | VSS 标准数据模型、扩展治理、schema freeze gate、季度上游同步 |\n| 状态 | `verified`, `partial`, `upstream-derived` |\n| 快速开始 | `cd vehicle-signals \u0026\u0026 make jsonschema` |\n\n#### VSS schema 校验与导出\n\n依赖：\n\n- `python3`\n- COVESA `vss-tools`，提供 `vspec` 命令\n- VSS 入口文件：`spec/VehicleSignalSpecification.vspec`\n- 扩展入口文件：`spec/extensions/VehicleSignalSpecificationExtensions.vspec`\n- 单位定义：`spec/units.yaml`\n\n校验 / 导出命令：\n\n```bash\ncd vehicle-signals\nmake bootstrap\nmake jsonschema\nmake extensions_jsonschema\nmake overlays\nmake signal_lint\npython3 ./scripts/check_schema_compat.py --base origin/master --head HEAD\n./scripts/export_extension_artifacts.sh\n```\n\n预期产物：\n\n- 核心 schema：`vss.jsonschema`\n- overlay 校验导出：`vss_motorbike.json`, `vss_dualwiper.json`, `vss_obd.json`\n- 扩展 schema：`vss_extensions.schema.json`\n- 扩展制品目录：`artifacts/extensions/\u003cVERSION\u003e/`\n- 扩展制品文件：`vss_extensions.json`, `vss_extensions.csv`, `vss_extensions.fidl`, `vss_extensions.idl`, `vss_extensions.schema.json`\n- SDK 常量导出：`artifacts/extensions/\u003cVERSION\u003e/sdk/`\n\n### 📋 车载 DLT 日志 · [`automotive-dlt/`](./automotive-dlt)\n\n| 属性 | 详情 |\n| --- | --- |\n| 上游 | `COVESA/dlt-daemon` |\n| 定位 | AUTOSAR DLT 守护进程集成实验，关注协议兼容、构建入口与日志可观测性 |\n| 亮点 | ARM 交叉编译、协议兼容回归、fuzz 测试、CodeQL 安全扫描 |\n| 状态 | `partial`, `verified`, `upstream-derived` |\n| 快速开始 | `cd automotive-dlt \u0026\u0026 cmake -B build \u0026\u0026 cmake --build build` |\n\n#### CMake 构建、兼容性与 fuzz\n\n依赖：\n\n- `cmake`, `make` 或 Ninja\n- C/C++ 编译器：GCC 或 Clang\n- 单元测试：`WITH_DLT_UNIT_TESTS=ON`, `ctest`\n- fuzz smoke：`clang`\n- ARM 交叉编译：`gcc-aarch64-linux-gnu`, `g++-aarch64-linux-gnu`\n\nCMake 构建：\n\n```bash\ncd automotive-dlt\ncmake -S . -B build \\\n  -DCMAKE_BUILD_TYPE=RelWithDebInfo \\\n  -DWITH_DLT_UNIT_TESTS=ON \\\n  -DBUILD_GMOCK=OFF\ncmake --build build -- -j\"$(nproc 2\u003e/dev/null || sysctl -n hw.ncpu)\"\nctest --test-dir build --output-on-failure\n```\n\n协议兼容检查：\n\n```bash\ncd automotive-dlt\nbash scripts/protocol-compat-gate.sh\n```\n\n该脚本会配置 `build-protocol-gate/`，构建测试目标，并分别运行 AUTOSAR DLT V1/V2 相关的 `gtest_dlt_*` 回归集合。\n\nfuzz smoke：\n\n```bash\ncd automotive-dlt\nbash tests/fuzz/run_parser_fuzz.sh\n```\n\n预期产物为 `build-fuzz/fuzz_dlt_config_file_parser`；如果 libFuzzer 不可用，脚本会回退生成 `build-fuzz/fuzz_dlt_config_file_parser_standalone`。\n\nARM 交叉编译：\n\n```bash\ncd automotive-dlt\ncmake -S . -B build-aarch64 \\\n  -DCMAKE_BUILD_TYPE=Release \\\n  -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/aarch64-linux-gnu.cmake\ncmake --build build-aarch64 --target dlt-daemon -- -j\"$(nproc)\"\n```\n\n预期产物为 `build-aarch64/` 下的 `dlt-daemon` 目标构建结果。\n\n---\n\n## 🛠️ 技术栈总览\n\n| 领域 | 技术 |\n| --- | --- |\n| 仿真引擎 | C++17, Unreal Engine 5, Python 3 |\n| 车辆栈 | ROS 2 Humble, C++17, colcon |\n| 信号规范 | YAML, JSON Schema, Python |\n| 车载日志 | C, CMake, DLT Protocol (AUTOSAR) |\n| 容器化 | Docker, Docker Compose |\n| 编排部署 | Kubernetes, Helm |\n| CI/CD | GitHub Actions, CodeQL, Dependabot |\n| 质量保障 | ruff, mypy, cppcheck, clang-tidy, fuzzing |\n\n---\n\n## ⚖️ 合规与声明\n\n- 各衍生目录维护独立许可证；`LICENSE.HOWEVER` 与 `NOTICE.md` 按模块实际情况提供\n- 上游项目名称、Logo 与相关商标归其各自权利人所有\n- 本仓库为社区维护的衍生工程，与上游组织无隶属、无官方背书关系\n- 详细许可证信息见各子项目目录下的 `LICENSE` 文件\n\n---\n\n## 📁 合并归档\n\n本 monorepo 由以下独立仓库合并而成（已归档删除）：\n\n| 原仓库 | 归入 | 分支/目录 |\n| --- | --- | --- |\n| `carla-sim-engine` | CARLA 仿真引擎 | `ue5-dev` 分支 |\n| `autoware-ros2-stack` | Autoware ROS 2 集成 | `main` / `ros2-stack/` |\n| `vehicle_signal_specification` | 车辆信号规范 | `main` / `vehicle-signals/` |\n| `automotive-dlt-logger` | 车载 DLT 日志 | `main` / `automotive-dlt/` |\n\n\u003e 各子项目保留原始 README、CI 配置、LICENSE 与构建入口；完整构建依赖对应上游工具链。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhowever-yir%2Fautonomous-driving-lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhowever-yir%2Fautonomous-driving-lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhowever-yir%2Fautonomous-driving-lab/lists"}