# Project2:Multi-Sensor Platform Construction **Repository Path**: tryhardjackma/project2-multi-sensor-platform-construction ## Basic Information - **Project Name**: Project2:Multi-Sensor Platform Construction - **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-06-30 - **Last Updated**: 2026-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, C语言 ## README # 项目2:多传感器平台搭建目录说明 本项目用于整理多传感器平台搭建相关资料,核心内容围绕 `LIV_handhold` 硬件同步方案展开,包括 STM32 时间同步代码、Livox 雷达驱动、海康相机驱动、接线说明、图片素材、复现笔记和项目简历材料。 ## 1. 顶层目录 ```text 项目2_多传感器平台搭建/ ├── LIV_handhold/ # 多传感器手持平台主工程 ├── 简达智能/ # 多传感器平台搭建相关教程笔记和图片 ├── 简历/ # 项目经历、面试问题和简历材料 └── readme.md # 当前项目目录说明 ``` ## 2. LIV_handhold 主工程 `LIV_handhold` 是本项目最核心的目录,包含硬件同步、ROS 驱动、STM32 固件、图片资料和接线整理。 ```text LIV_handhold/ ├── 32hex/ # STM32 编译输出文件和 hex 固件 ├── livox_ros_driver/ # Livox ROS1 雷达驱动,含时间同步相关逻辑 ├── livox_ros_driver2/ # Livox ROS1/ROS2 新版驱动 ├── mvs_ros_driver/ # 海康 MVS 相机 ROS 驱动 ├── pics/ # README、接线说明、物料清单使用的图片资源 ├── stm32_timersync-open/ # STM32 时间同步固件源码 ├── README.md # 原始 LIV_handhold 项目说明 ├── STM32时间同步代码流程整理.md # STM32 固件流程分析笔记 ├── 接线连接.md # 硬件接线关系整理 ├── 代码解析.png # 代码流程图图片 └── 代码解析.vsdx # 代码流程图源文件 ``` ### 2.1 stm32_timersync-open STM32 时间同步固件源码目录。 ```text stm32_timersync-open/ ├── CORE/ # Cortex-M3 启动文件和内核支持文件 ├── HARDWARE/ # 板级外设代码,如 LED、KEY、TIMER ├── STM32F10x_FWLib/ # STM32F10x 标准外设库 ├── SYSTEM/ # delay、sys、usart 等系统基础模块 ├── USER/ # main.c、工程配置、启动配置等用户代码 ├── README.md # STM32 时间同步工程说明 └── keilkilll.bat # Keil 工程清理脚本 ``` 该目录中的核心逻辑: | 文件/目录 | 作用 | | :-- | :-- | | `USER/main.c` | 程序入口,初始化延时、串口、LED、TIM2、TIM3 | | `HARDWARE/TIMER/timer.c` | 产生 10 Hz / 1 Hz PWM,并在 TIM3 中断中发送 GPRMC | | `SYSTEM/usart/usart.c` | 初始化 USART1,并将 `printf()` 重定向到串口 | | `SYSTEM/delay/delay.c` | 初始化 SysTick 延时函数 | | `HARDWARE/LED/led.c` | LED / GPIO 初始化代码 | ### 2.2 livox_ros_driver Livox ROS1 驱动目录,用于接收 Livox 雷达点云、IMU,并结合串口 GPRMC / PPS 做时间同步。 ```text livox_ros_driver/ ├── cmake/ # CMake 辅助文件 ├── common/ # 通信协议、CRC、rapidjson 等公共代码 ├── config/ # 雷达配置文件和 RViz 配置 ├── launch/ # ROS launch 启动文件 ├── livox_ros_driver/ # 驱动主体源码 ├── msg/ # ROS 自定义消息 ├── timesync/ # 时间同步和串口相关代码 ├── CMakeLists.txt └── package.xml ``` ### 2.3 livox_ros_driver2 新版 Livox 驱动,包含 ROS1/ROS2 相关配置和源码。 ```text livox_ros_driver2/ ├── config/ # HAP、MID360、mixed 配置和 RViz 文件 ├── launch_ROS1/ # ROS1 启动文件 ├── launch_ROS2/ # ROS2 启动文件 ├── msg/ # 自定义消息 ├── src/ # 驱动源码 ├── build.sh ├── CMakeLists.txt ├── package_ROS1.xml └── package_ROS2.xml ``` ### 2.4 mvs_ros_driver 海康 MVS 相机 ROS 驱动目录,用于相机采集和外部触发模式。 ```text mvs_ros_driver/ ├── config/ # 左右相机触发配置 ├── launch/ # 相机启动文件 ├── rviz_cfg/ # RViz 显示配置 ├── src/ # 相机驱动源码 ├── CMakeLists.txt └── package.xml ``` 关键内容: | 文件/目录 | 作用 | | :-- | :-- | | `config/left_camera_trigger.yaml` | 左相机触发模式配置 | | `config/right_camera_trigger.yaml` | 右相机触发模式配置 | | `launch/mvs_camera_trigger.launch` | 外触发相机启动文件 | | `src/grab_trigger.cpp` | 相机触发采集逻辑 | ### 2.5 pics 图片资源目录,供 `README.md`、`接线连接.md` 和物料清单使用。 常见图片包括: | 图片 | 说明 | | :-- | :-- | | `12PIN.jpg` | Livox AVIA 12-pin 接口图 | | `6PIN.jpg` | MVS Camera 6-pin 接口图 | | `485.jpg` | TTL 转 RS485 模块 | | `usb.jpg` | TTL 转 USB 模块 | | `stm32.jpg` | STM32 板卡 | | `livox_avia.png` | Livox AVIA 雷达 | | `cmos.jpg` | 海康 CMOS 相机 | | `cover.jpg` | 项目封面图 | ## 3. 简达智能资料 `简达智能` 目录主要保存多传感器平台搭建相关中文教程和图片素材。 ```text 简达智能/ ├── graphs/ # 教程文档中使用的图片 └── markdown/ # 多传感器平台搭建流程笔记 ``` `markdown` 目录中的文档: | 文档 | 内容 | | :-- | :-- | | `1.Mid360的使用.md` | Mid360 使用说明 | | `2.海康相机的配置.md` | 海康相机配置 | | `3.IMU内参标定.md` | IMU 内参标定 | | `4.Camera Calibration-相机内参标定.md` | 相机内参标定 | | `5.Kalibr标定-单目相机标定.md` | Kalibr 单目标定 | | `6.雷达与相机外参标定-direct_visual_lidar_calibration.md` | 雷达相机外参标定 | | `7.多传感器时间戳对齐度量.md` | 时间戳对齐度量 | | `8.硬件同步系列之外接IMU.md` | 外接 IMU 硬件同步 | | `9.硬件同步系列之外接雷达和双相机.md` | 外接雷达和双相机同步 | | `10.获取UTC时间源.md` | UTC 时间源获取 | ## 4. 简历资料 `简历` 目录用于沉淀项目经历、简历描述和可能的面试问题。 ```text 简历/ ├── 可能会问的问题.md # 项目相关面试问题整理 ├── 总结.md # 按简历模板整理后的项目经历、精简版和面试展开点 ├── 简历模板.md # 简历模板 └── 简历的内容.md # 项目经历和简历内容草稿 ``` ## 5. 推荐阅读顺序 如果是为了理解整个项目,建议按下面顺序阅读: 1. `LIV_handhold/README.md` 2. `LIV_handhold/接线连接.md` 3. `LIV_handhold/STM32时间同步代码流程整理.md` 4. `LIV_handhold/stm32_timersync-open/USER/main.c` 5. `LIV_handhold/stm32_timersync-open/HARDWARE/TIMER/timer.c` 6. `LIV_handhold/mvs_ros_driver/config/` 7. `LIV_handhold/livox_ros_driver/timesync/` 8. `简达智能/markdown/` 中的标定和硬件同步笔记 ## 6. 核心功能概览 该项目的核心目标是搭建一个雷达、相机、IMU 等多传感器平台,并完成硬件同步和数据采集。 核心链路可以概括为: ```text STM32 产生同步信号 | |-- PA1 输出 10 Hz PWM -> 触发 MVS 相机 | |-- PB5 输出 1 Hz PPS -> 经 TTL 转 RS485 后同步 Livox AVIA | |-- PA9 输出 GPRMC -> 经 TTL 转 USB 发送到 PC | v ROS 驱动采集雷达、IMU、相机数据 | v 使用标定和时间同步结果支撑 FAST-LIVO / 多传感器融合实验 ``` ## 7. 关键文档索引 | 文件 | 用途 | | :-- | :-- | | `LIV_handhold/README.md` | 原项目说明、安装运行、物料清单 | | `LIV_handhold/接线连接.md` | 接线关系整理,包含图和表 | | `LIV_handhold/STM32时间同步代码流程整理.md` | STM32 同步代码流程分析 | | `LIV_handhold/stm32_timersync-open/README.md` | STM32 工程内部说明 | | `简达智能/markdown/7.多传感器时间戳对齐度量.md` | 时间对齐检查方法 | | `简达智能/markdown/9.硬件同步系列之外接雷达和双相机.md` | 雷达和双相机同步搭建说明 | | `简历/可能会问的问题.md` | 面试问答准备 |