# Laser Car **Repository Path**: hehexingcheng/laser-car ## Basic Information - **Project Name**: Laser Car - **Description**: 演示视频包含在其中!基于 STM32F407 + 树莓派 ROS 2 + K230 视觉模块的三级异构智能无人车对抗系统。核心功能包括 N10P 激光雷达建图、AMCL/Nav2 自主导航、KPU 目标检测与云台瞄准,底盘由 FreeRTOS 以 100 Hz 完成编码器闭环 PI 和电机 PWM 控制。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-20 - **Last Updated**: 2026-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能无人车对抗系统 基于 STM32F407、树莓派 ROS 2、N10P 激光雷达和 K230 视觉模块的智能小车项目。项目保留了比赛中的板端雷达控制版本,以及后续整理的 ROS 2 建图导航版本。 ## 演示视频 仓库根目录:`激光小车作品.mp4` ## 项目结构 ```text ├── Car-gitee-additions-complete/ # ROS 2 建图导航、雷达驱动与串口桥接工程 ├── Car_32-control-n10/ # STM32 直连 N10P 雷达的板端沿墙/避障版本 ├── Car_ros-control-n10/ # ROS 2 导航控制底盘的 STM32 工程 ├── k230/ # K230 视觉识别与云台通信相关代码 └── 激光小车作品.mp4 # 项目演示视频 ``` ## 系统架构 ```text N10P 激光雷达 │ ▼ 树莓派 ROS 2 ── /scan ──> SLAM Toolbox / AMCL / Nav2 │ │ │ /cmd_vel ▼ │ USART3(115200)<─────────────────────────┘ │ ▼ STM32F407 ──> 编码器闭环 PI ──> 电机 PWM ──> 底盘 K230 ── USART2(115200)──> STM32 │ │ └── 目标检测 / 偏差数据 └── 云台 PID、比赛状态与执行机构控制 ``` ## 主要功能 - N10P 激光雷达数据采集与 ROS 2 `LaserScan` 发布 - 基于 `slam_toolbox` 的二维建图 - 基于 AMCL 和 Nav2 的定位与导航 - 树莓派通过 USART3 向 STM32 发送底盘速度指令 - STM32 以 100 Hz 执行编码器速度闭环与电机 PWM 控制 - STM32 以 20 Hz 回传轮速、IMU 原始数据和电池电压 - K230 目标识别结果通过 USART2 传递给 STM32,完成双自由度云台控制 - 串口控制帧使用帧头、帧尾和 XOR 校验,STM32 在 500 ms 未收到有效 ROS 指令时自动停车 ## 两套底盘方案 | 工程 | 雷达连接方式 | 底盘控制方式 | 适用场景 | | --- | --- | --- | --- | | `Car_32-control-n10` | N10P → STM32 UART5 | STM32 本地解析雷达并沿墙/避障 | 不依赖 ROS 的板端演示 | | `Car_ros-control-n10` | N10P → 树莓派 USB 串口 | Nav2 `/cmd_vel` → USART3 → STM32 | ROS 2 建图、定位与导航 | ## 串口协议 ### 树莓派 → STM32 - 接口:USART3,115200 baud,8N1 - 控制帧:11 字节 - 数据:`linear_x`、`linear_y`、`angular_z` - 单位:数值 × 1000 后按大端有符号 16 位传输 - 校验:前 9 字节 XOR 校验 ### STM32 → 树莓派 - 接口:USART3,20 Hz - 反馈帧:24 字节 - 内容:底盘三轴速度、三轴加速度、三轴角速度、电池电压及停止标志 ## 说明 本仓库用于展示项目的软件结构、通信协议与控制逻辑。硬件接线、底盘方向、PID 参数、雷达安装位姿及 Nav2 参数需要根据实际车辆进行标定。