基于 OpenMV 与 STM32F407 的智能救援小车

面向自主救援任务的颜色视觉、麦克纳姆轮运动控制与四轮编码器 PID 闭环系统。

项目概述

本项目参加 2026 年校级工程实践与创新能力竞赛智能救援赛项。比赛要求机器人在约 2.4 m × 2.4 m 的模拟救援场地中全程自主运行,识别不同颜色的救援目标,并将目标转运至指定安全区。

团队围绕视觉识别、任务决策、全向底盘控制和目标夹取开展软硬件联调,最终获得校级二等奖(2026 年 4 月)。

最终系统方案

项目早期曾使用 K210 验证颜色阈值、状态机和串口协议等原型。结合现场调试效果,最终方案确定为 OpenMV4 H7 Plus 视觉模块 + STM32F407 底盘主控:

  • 视觉感知: 使用 OpenMV4 H7 Plus 对摄像头图像进行颜色阈值分割、色块筛选和目标定位,识别普通、核心及危险救援目标,并计算目标相对画面中心的水平偏差
  • 任务决策: 按照“搜索—跟踪—接近—夹取/转运—返回搜索”的流程组织动作,并结合比赛规则安排不同类别目标的处理顺序
  • 底盘主控: STM32F407 通过 UART 接收 OpenMV 视觉结果,完成运动模式切换、速度解算和执行机构控制
  • 运动执行: 四轮麦克纳姆底盘通过 TB6612 电机驱动板输出 PWM,利用四路编码器反馈和 PID 闭环控制轮速,实现前进、横移、旋转和边走边转

控制与通信

底盘控制程序采用模块化结构,将视觉通信、运动学、编码器、电机驱动和 PID 控制分开维护。STM32F407 根据视觉模块给出的目标类别、横向偏差和尺度信息,生成底盘三轴速度指令 (v_x)、(v_y) 和 (\omega_z),再通过麦克纳姆轮逆运动学换算为四个车轮的目标速度。

四路电机控制以约 10 ms 为一个更新周期:读取编码器计数、估计实际轮速、计算 PID 输出,再映射为 TB6612 的方向信号和 PWM 占空比。该闭环减少了电机个体差异造成的跑偏,也为目标对准和稳定转运提供了基础。

目标夹取与转运演示

下面的动图记录了小车识别并接近目标后,通过前端机构完成夹取与转运的过程。

工程实践

  • 根据赛题约束拆分视觉感知、任务策略、底盘运动和夹取执行等子系统
  • 从 K210 视觉原型迭代至 OpenMV4 H7 Plus 最终方案,完成颜色目标识别和现场阈值调试
  • 基于 STM32F407、TB6612、编码器电机和麦克纳姆轮搭建四轮闭环底盘
  • 联调视觉结果与底盘动作,处理转向方向、轮序映射、串口帧解析和 PID 参数等问题

技术栈

OpenMV4 H7 Plus · MicroPython · STM32F407 · C · STM32 HAL · 麦克纳姆轮 · TB6612 · 编码器 · PID · UART