Brak opisu

XGJ_zhaoyuan 06df90e229 修改合并数据时地图信息中红绿灯位置缺失,以及HMI,rosbag数据时间戳合并精度问题 1 miesiąc temu
.vscode 81544a84da 终验收数据预处理模块第一次提交 1 miesiąc temu
__pycache__ 81544a84da 终验收数据预处理模块第一次提交 1 miesiąc temu
_internal 81544a84da 终验收数据预处理模块第一次提交 1 miesiąc temu
config 81544a84da 终验收数据预处理模块第一次提交 1 miesiąc temu
core 06df90e229 修改合并数据时地图信息中红绿灯位置缺失,以及HMI,rosbag数据时间戳合并精度问题 1 miesiąc temu
docs 81544a84da 终验收数据预处理模块第一次提交 1 miesiąc temu
plugins 81544a84da 终验收数据预处理模块第一次提交 1 miesiąc temu
resources 81544a84da 终验收数据预处理模块第一次提交 1 miesiąc temu
utils 81544a84da 终验收数据预处理模块第一次提交 1 miesiąc temu
README.md 81544a84da 终验收数据预处理模块第一次提交 1 miesiąc temu
README_new.md 81544a84da 终验收数据预处理模块第一次提交 1 miesiąc temu
run.py 06df90e229 修改合并数据时地图信息中红绿灯位置缺失,以及HMI,rosbag数据时间戳合并精度问题 1 miesiąc temu
trafficlights.json 81544a84da 终验收数据预处理模块第一次提交 1 miesiąc temu

README.md

数据预处理系统 (Data Preprocessing System)

1. 项目概述

本项目是一个用于处理车辆数据的预处理系统,目前主要包括:

  • 路测内置数据处理 (merge_data_process_LST.py)
  • 仿真内置数据处理 (后续扩展)
  • 插件式自定义数据处理

功能特点

  • 支持多种数据源处理: CAN、GNSS、雷达等
  • 插件系统支持扩展自定义数据处理
  • 并行处理优化
  • 灵活的配置管理
  • 完整的错误处理机制

安装要求

  • Python 3.6+
  • 依赖包:
    • pandas
    • numpy
    • cantools (CAN数据处理)
    • bagpy (ROS包处理)
    • pyproj (坐标投影)

安装步骤

  1. 克隆或下载代码库
  2. 安装依赖:

    pip install -r requirements.txt
    

使用方法

基本用法

python run.py --zip-path <数据ZIP文件路径> --output-dir <输出目录>

完整参数说明

python run.py \
  --zip-path <数据ZIP文件路径> \
  --trafficlight-json <交通灯JSON文件路径> \
  --output-dir <输出目录> \
  --utm-zone <UTM区域> \
  --x-offset <X偏移量> \
  --y-offset <Y偏移量> \
  --plugins-dir <插件目录> \
  --resources-dir <资源目录> \
  --config <配置文件路径> \
  --use-parallel \
  --batch-size 10000

打包发布

使用 PyInstaller 打包:

pyinstaller --onedir --name merge_data_process_LST --clean \
  --add-data="$(python -c 'import bagpy; from pathlib import Path; print(f"{Path(bagpy.__file__).parent}:bagpy")')" \
  --add-binary="/path/to/engine:." \
  --add-data="./data_map:data_map" \
  --add-data="VBox.dbc:." \
  merge_data_process_LST.py

文件结构分析

必要的核心文件:

/core/ - 核心模块目录
  __init__.py
  plugin_interface.py - 插件接口
  plugin_manager.py - 插件管理器
  resource_manager.py - 资源管理器
  error_handler.py - 错误处理
  config_manager.py - 配置管理
/plugins/ - 插件目录
  __init__.py
  radar_data_processor.py - 雷达数据处理插件
主要文件:
  merge_data_process_LST.py - 主要数据处理逻辑
  run.py - 命令行入口程序
  config.json - 配置文件
  README.md - 项目文档
建议移除的文件:
  merge_data_process.py - 功能已被整合到 merge_data_process_LST.py
  data_pipeline.py - 未被实际使用

项目结构

dataPreProcess_LST_new_win/
├── core/ # 核心模块
│   ├── init.py
│   ├── plugin_interface.py # 插件接口定义
│   ├── plugin_manager.py # 插件管理器
│   ├── resource_manager.py # 资源管理器
│   ├── error_handler.py # 错误处理
│   └── config_manager.py # 配置管理
├── plugins/ # 插件目录
│   ├── init.py
│   └── radar_data_processor.py # 雷达数据处理插件示例
├── resources/ # 资源文件目录
│   ├── radar_config.xml # 雷达插件配置
├── merge_data_process_LST.py # 主要数据处理逻辑
├── run.py # 命令行入口程序
├── config.json # 系统配置文件
└── README.md

数据处理流程

数据加载和预处理

  • ZIP文件解压
  • 配置加载
  • 插件发现和初始化

主要处理阶段

  • CSV数据处理
  • ROS包数据提取
  • C++引擎处理
  • 数据质量检查
  • 数据合并和后处理

插件数据处理

  • 数据合并
  • 结果验证和保存

插件开发

查看 plugins/radar_data_processor.py 作为示例插件。新插件需要:

  • 继承 CustomDataProcessorPlugin
  • 实现必要方法:
    • can_handle()
    • get_required_columns()
    • _process_extracted_files()

配置说明

系统配置文件 (config.json) 包含:

  • 处理参数 (并行、批处理等)
  • 数据库配置
  • 插件设置
  • 日志配置
  • 坐标系参数
  • 文件路径配置

系统架构

1.编译代码

pyinstaller --onedir --name merge_data_process_LST --clean --add-data="$(python -c 'import bagpy; from pathlib import Path; print(f"{Path(bagpy.__file__).parent}:bagpy")')" --add-binary="/home/MapToCsv/build/engine:." --add-data="./data_map:data_map" --add-data="VBox.dbc:." --add-binary="/usr/lib/libstdc++.so.6:." --add-binary="/usr/lib/libgcc_s.so.1:." --add-binary="/lib/ld-musl-x86_64.so.1:." merge_data_process_LST.py

2.运行代码

打开python文件,修改路径
```python
input_zip = '/home/cicv/zhaoyuan/data/dataprocess_python/LeftTurnAssit.zip'
output_dir = '/home/cicv/zhaoyuan/data/dataprocess_python/output'
shpdata_path = "./modules/map/data"
engine_dir = "./engine"
```
请根据用户本地存放位置进行修改
./your_packed_app --zip_path V2I_CSAE53-2020_LeftTurnAssist_PGVIL_01_VR.zip --output_path ./output