← 返回经历树 水烛 · 程千和 · 经历详情
机器人 · 电控

RoboMaster · 3SE 战队电控

东南大学 3SE 机器人俱乐部 · 工程组电控(2025.9 – 2026,已离队)
时间 2025.9 – 2026角色 工程组电控平台 STM32H7 · FreeRTOS状态 已离队

简介

2025 年 9 月入学后加入东南大学 3SE 机器人俱乐部(RoboMaster 战队,RM2024 全国一等奖),任工程组电控,负责工程机器人的嵌入式控制与通信;2026 年离队。

3SE 战队 2 号工程机器人 · 赛场照 · 图源:RoboMaster 机甲大师
3SE 战队 2 号工程机器人 · 赛场照 · 图源:RoboMaster 机甲大师

工程机器人「小橘」电控(2026.2)

工程机器人在赛场上负责取矿与兑换。电控由机械臂板与底盘板两块达妙 DM-MC-Board02(STM32H7,3 路 FDCAN)组成,两块板代码同构,按 BSP 驱动层 → Motion 运动层 → Task 任务层分层,基于 FreeRTOS 调度。

上位 主控 执行 调度 小电脑 miniPC 视觉与自动化 · 与两块控制板分别直连 遥控器接收机 拨杆 · 拨轮 图传链路 键鼠(含双击识别) 裁判系统数据 · 客户端 UI 机械臂板 JOINT 达妙 DM-MC-Board02 · STM32H7 全局状态机(状态唯一来源) 取矿 / 兑换动作序列(十余步状态) 6 自由度机械臂 · PUMA560 建系逆解 吸盘 · 云台 · 自定义控制器 裁判系统读取与 UI 绘制 底盘板 CHASSIS 达妙 DM-MC-Board02 · 3 路 FDCAN 麦轮运动学逆解 四轮速度闭环(PID) 电机功率模型 + 缓冲能量闭环 按机械臂板状态同步模式 关节电机组 达妙 DM · 翎控 MF(CAN / RS485) MIT 协议关节电机 · DJI M2006 / GM6020 底盘电机 4 × DJI M3508 · 麦克纳姆轮 输出受功率上限闭环约束 USB CDC 6 关节角指令 · 状态更新 USB CDC · 底盘速度 · 心跳 UART 状态同步 FDCAN × 3 FDCAN 一致性规则:小电脑上报的动作状态与板上状态不符即拒绝执行,并回传拒绝帧 UART 任务 优先级 15 · 板间 / 遥控 CAN 任务 优先级 14 · 发送队列 状态机任务 优先级 13 · 模式切换 电机控制任务 优先级 12 · 闭环与心跳 两块板同构:BSP 驱动层 → Motion 运动层 → Task 任务层,初始化时在临界区内一次性创建全部任务
电控架构 · 按「小橘」仓库代码与 USB 通讯协议设计文档以水烛风格绘制

技术实现

状态管理机械臂板持有全局状态机,是动作状态的唯一来源;底盘板经 UART、小电脑经 USB 同步该状态。小电脑上报的状态与板上不一致时拒绝执行并回传拒绝帧,由出错概率更低的嵌入式控制板把关
动作序列取矿分小资源岛(银矿)、大资源岛(金矿)与地面三种模式,兑换分一级 / 二级能量核心与自定义控制器操作;每个动作拆为十余步状态序列,逐步设定关节目标
机械臂6 自由度,按 PUMA560 方式建立坐标系求解逆运动学;关节由达妙 DM、翎控 MF(CAN / RS485)、MIT 协议关节电机与 DJI 电机混合驱动,各自封装驱动层
底盘4 × M3508 麦克纳姆轮,运动学逆解与速度闭环;以电机功率模型结合缓冲能量 PID 实现功率闭环
人机交互遥控器拨杆 / 拨轮与图传链路键鼠双路输入,支持按键双击识别;读取裁判系统数据并绘制客户端 UI
上位机通信两块控制板分别经 USB CDC 直连小电脑,减轻机械臂板的转发压力;帧结构为帧头 + 动作状态 + 指令 + 参数 + 帧尾(0x11),含心跳保活与掉线检测;底盘接收三轴速度指令,机械臂接收 6 个关节角指令

本人工作:负责底盘控制板程序的架构设计与实现(见下图);设计并实现两块控制板与小电脑之间的 USB CDC 通讯协议;更新机械臂逆解,完成底盘与机械臂的小电脑联调测试。

底盘程序架构(本人负责)

底盘控制板程序分为任务层、动作层、驱动层与数据结构四层:任务层负责调度与状态,动作层负责运动学与电机逻辑,驱动层封装通信与外设,数据结构集中定义收发帧与状态枚举。速度来源由小电脑状态决定——空闲时采用遥控经双板 UART 转来的速度,接管时采用 USB 下发的速度,两条路径互斥。

任务层Task 动作层Motion 驱动层BSP 数据Typedef Task_StateMachine 底盘子状态(含保护态) 小电脑状态读写接口 电机初始化 非保护态更新底盘目标 Task_MotorControl 3 ms 周期闭环输出 麦轮 + 抬升共 8 路电机 每 5 周期:双板 UART + USB 心跳;保护态清零 CallBackIT USB 接收回调 仅当小电脑接管时 才把 USB 速度 交给底盘 UartComm_Process 双板 UART 解析 仅当小电脑空闲时 才把遥控速度 交给底盘 Motion_Chassis 按小电脑状态选择速度来源 三轴速度 → 麦克纳姆轮逆解 → 四轮目标转速 Motion_Send USB_Heartbeat 定频心跳,携带 当前小电脑状态 Motion_Motor 电机注册 · 在线检测 · 上电校准 抬升电机角度目标与限位 · 到位判断 速度 / 位置环 PID 计算与清零 Uart_Comm · 双板通信 RemoteControl · 遥控 / 键鼠 User_CAN · 3 路 FDCAN 收发 bsp_dwt · 高精度计时 USB_Comm(USB CDC) 发送 心跳 · 允许 / 拒绝 接收 帧完整性 · 状态校验 小电脑状态与底盘不符 → 回传拒绝帧 合法 → 回传允许帧,解析三轴速度 DJI / 达妙 电机驱动 PID · 位置式 / 增量式 Power_Resist · 功率模型 缓冲能量 · 允许功率更新 收发消息结构体 USB 帧头 / 指令常量 小电脑状态枚举 · 底盘子状态 更新底盘 定频调用 闭环计算 调用接收 发送心跳 获取 USB 速度
底盘控制板程序分层架构 · 按「小橘」设计文档中的底盘侧代码架构图与 CHASSIS 源码以水烛风格重绘

SRTP「低功率全向全地形移动底盘」

在队期间担任 SRTP 项目底盘电控负责人,样机经分区赛实战验证,所负责兵种获国家级三等奖:

  • STM32H7 + FreeRTOS「驱动层—应用层—任务层」分层控制框架
  • CAN 总线多电机驱动封装(M3508 / M2006 / DM-4340)
  • 麦克纳姆轮运动学逆解与四轮速度闭环
  • 电机功率模型与缓冲能量管理的功率闭环

技能

STM32H7FreeRTOSFDCANUSB CDC 协议设计状态机机械臂逆运动学麦轮运动学功率控制

后续

电控实践经验延续到嵌入式竞赛(WebUSB)与激光灭蚊云台项目的机电控制部分。

蒲草青青,织就百物 · © 2026 程千和 · 京ICP备2026006842号-2