# 多传感器的三维carla仿真数据集生成 **Repository Path**: TuLudong/Carla-Multidimensional-Dataset ## Basic Information - **Project Name**: 多传感器的三维carla仿真数据集生成 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-04 - **Last Updated**: 2026-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目文档(docs) ## 项目简介 基于 CARLA(Unreal Engine 4)仿真平台的多传感器协同三维仿真感知数据集自动生成系统。利用 CARLA 同步模式与 Recorder 机制,实现:一次轨迹录制 → 多次严格对齐回放 → 在不同天气/光照/交通条件下生成可对照的数据集序列。 ## 代码入口与目录结构 ``` e:\carla_project\ ├── manual_control.py # 入口:egg 加载 + argparse + main() ├── launcher.py # 独立启动 CARLA 服务器(命令行/脚本调用) ├── sensors.py # 传感器辅助配置(setup_sensors) ├── test_slam.py # 离线评估:LiDAR ICP / 单目 VO + APE/RPE ├── help_manual.txt # 按键帮助 ├── mc_core/ # manual_control 拆分模块(9个文件) │ ├── __init__.py │ ├── mc_utils.py # 辅助函数 + KITTI_FOLDERS 常量 │ ├── data_saver.py # 数据集存储管理器(KITTI 目录结构) │ ├── sensor_handlers.py # 碰撞/车道/GNSS/IMU/雷达传感器 │ ├── hud_widgets.py # HUD / 淡出文本 / 帮助文本组件 │ ├── camera_manager.py # 相机管理器(多传感器阵列) │ ├── keyboard.py # 键盘输入控制器 │ ├── world_state.py # 仿真世界状态管理 │ └── game_loop.py # 主游戏循环 ├── tools/ # 辅助工具 │ ├── check_ply.py # PLY 点云可视化调试 │ └── slam.m # MATLAB 对照验证(可选) ├── webui/ # Web 前端面板(CARLAWEBUI) │ ├── app.py # Flask 入口 + 所有 API 路由 │ ├── services/ │ │ └── eval_run_store.py # 评估运行态存储(run_id 隔离) │ ├── static/ │ │ ├── app.js # 前端 JS(SSE 日志流、启停按钮、评估触发) │ │ └── style.css │ ├── templates/ # Jinja2 页面模板 │ │ ├── base.html │ │ ├── index.html # 仪表盘(服务器/模拟器启停 + 控制台) │ │ ├── datasets.html # 数据集浏览与统计 │ │ ├── evaluate.html # 评估入口与结果展示 │ │ └── settings.html # 配置页 │ ├── logs/ # 运行时日志(.gitignore 排除) │ ├── runs/ # 评估运行产物(.gitignore 排除) │ └── config.json # 用户配置(.gitignore 排除) ├── docs/ # 文档(本目录) │ ├── README.md # 本文档:给开发者看的项目总览 │ └── INTERNAL.md # 给 AI/维护者看的内部参考(变更历史+架构+需求) └── _dataset/ # 数据集输出(.gitignore 排除) ``` ## 快速开始 ### 方式一:WebUI 一键启动(推荐) ```bash python webui/app.py # 打开 http://localhost:5000 ``` 在 WebUI 面板中: - **设置页** → 确认 CarlaUE4.exe 路径 + 模拟器 Python 解释器(需 Python 3.7 环境,匹配 CARLA 0.9.15 的 py3.7 egg) - **仪表盘** → 启动服务器 → 启动模拟器 → 观察控制台输出 - **数据集** → 浏览已生成的 session/weather - **评估** → 选择数据集 → 选择算法(LiDAR/VO/两者) → 运行 → 查看 APE/RPE 与轨迹图 ### 方式二:命令行直接运行 ```bash # 1. 启动 CARLA 服务器 python launcher.py # 2. 启动主控客户端 python manual_control.py # 3. 离线评估某个天气目录 python test_slam.py --dataset _dataset//Sunny --mode both --max-frames 500 --no-gui --output-dir ./eval_output ``` ## 数据集结构 系统默认输出到 `_dataset//`,每个 weather 目录下: | 目录 | 内容 | 格式 | |------|------|------| | `image_2/` | RGB 图像 | `.jpg`, `%06d` 编号 | | `image_depth/` | 深度图 | `.jpg` | | `image_semantic/` | 语义分割图 | `.jpg` | | `velodyne/` | 点云 | `.bin`(KITTI 风格,每点 4 float: x,y,z,intensity) | | `label_2/` | 真值 | `.json`(当前为车辆位姿/速度等状态真值,按帧号对齐) | ## 常见问题 ### CARLA PythonAPI 导入失败(如 `ColorConverter`) CARLA 0.9.15 的 egg 文件为 `py3.7` 编译,必须用 Python 3.7 运行。如果用 WebUI,在设置页将"模拟器 Python 解释器"指向 Python 3.7 路径(如 conda 环境)。`manual_control.py` 已内置版本检测,不匹配时会明确报错退出。 ### 单目 VO 评估结果偏差大 单目 VO 平移尺度不可观测,评估时已做尺度对齐(scale alignment)和相对坐标转换。但结果仍受场景纹理/动态物体影响,如需更高精度建议搭配 LiDAR 或 stereo。 ### LiDAR 轨迹发散 ICP 是相邻帧配准,无回环/图优化,累计漂移正常。动态物体多/帧间重叠少时可能配准失败,已加入 ICP 质量门控(fitness/rmse)。 ## 文档索引 - **本文档(README.md)**:项目总览与快速开始,面向开发者快速上手 - **[INTERNAL.md](INTERNAL.md)**:AI/维护者内部参考,含变更历史、架构细节、待办需求、已知风险