从0到1带你打电赛·小车电控篇(十二):现场作战手册——四天三夜怎么打、调试避坑与精选开源

前面十一篇,我们把一辆电赛小车从里到外拆了个遍:从拿分逻辑、赛题套路,到电机电源、感知、PID、串级双环、视觉通信、状态机……该有的零件都齐了。但你会发现一个残酷的事实——赛场上翻车的队伍,十有八九不是输在”不会”,而是输在”现场没扛住”。明明实验室里跑得好好的车,一到测评台就画龙、就冲出、就死机;明明算法都对,却因为没备份、没睡觉、最后一刻手贱改了个参数,把到手的奖弄丢了。

这一篇是整个系列的收官,也是最接地气的一篇。我们不讲新算法,只讲一件事:怎么把四天三夜活着打完,并且把已经会的东西,稳稳地变成台上的分数。 内容分四块:四天三夜的作战节奏、一张能照着排查的故障速查表、几条保命拿分的现场细节,最后是一份精选开源仓库清单。

一、四天三夜,到底是怎么个打法

电赛全国赛是四天三夜、约 84 小时连续作战(一般从第 1 天早上 8 点,到第 4 天晚上 20 点封箱上交)。这不是一场冲刺,是一场马拉松——而且是你自己一边造跑鞋一边跑的马拉松。

💡 一个贯穿全程的比喻

把这四天想成跑一场”自己造跑鞋的马拉松”:第 1 天做鞋(搭机械、焊板子),第 2 天试跑(联调),第 3 天调配速、写日记、还得补个觉,第 4 天上午把装备定死、然后稳稳跑到终点——中途大改方案,约等于弃赛。

队伍标准配置是 2 软 1 硬(两人写软件、一人管硬件),但分工不是各扫门前雪,而是有节奏地交替。多支国奖队伍的复盘高度一致,节奏大致是这样:

电赛小车电控 · 示意图

第 1 天:定平台、搭机械、焊板子。 这是最忙也最关键的一天。先按题目的硬约束把平台选死(尺寸、主控、传感器都要合规,下文细说),然后机械组全力把车搭出来。

❗ 机械搭得好,算法轻松十倍

这几乎是所有国奖选手复盘里的原话。机械松垮、重心歪、左右两个电机转速差太大,软件再怎么调都救不回一条直线——有位作者就吃过亏:两个电机转速差太大,不在程序里补偿就根本走不直。所以记住一句话:车跑偏,先怀疑机械,再怀疑代码,别一上来就猛加积分。

第 2 天:模块联调。 机械稳定后,把感知、电机、PID、通信一块块接起来跑通。这一天的目标是”全程能慢速跑完”,不求快。

第 3 天:核心调试 + 开始写报告。 这是分水岭。两个软件队员轮流——一个调车,一个写报告,报告随做随存、不要攒到最后赶

🔥 第 3 天晚上,必须睡 1~2 小时

这是用血泪换来的铁律。多支国奖队伍复盘一致:第 3 晚通宵,会直接导致第 4 天上午定稿、测评时判断力崩盘,反而出错。带个折叠床或睡垫,排班保证至少一人清醒值守。很多卡死的问题,睡一觉醒来常常迎刃而解;硬熬下去,边际收益极低。

第 4 天上午:定稿封箱。 不再改结构,最后一小时彻底停手,把能跑的版本稳稳交上去。

报告:边做边写,对着评分表填空

很多人误以为报告要憋到最后熬夜写。错。报告应该是第 3 天就开始、随做随存——因为它本质上是一道”按点给分”的填空题。

回顾我们在《这比赛到底在比什么》一篇说过的结论:现在的小车题总分 120 = 客观测试 100 + 设计报告 20,报告只占约 1/6。

⚠️ 别再信"报告占 1/3"的老说法

网上很多二手资料还在说”总分 150、报告 50、占三分之一”。这是 2019 年前的旧格式。按近年官方单题评分表(2021 F 题送药小车、2024 H 题自动行驶小车),实测都是总分 120、报告 20,约占 1/6别按 1/3 去规划报告投入——把时间砸在让车真跑起来上,性价比高得多。

报告 20 分怎么分?以 2024 H 题官方评分表为例:

评分小项 分值 你该填什么
系统方案 3 整车系统框图、方案比较与选型理由
理论分析与计算 5 误差来源分析、PID 推导、关键参数计算
电路与程序设计 5 电路框图、核心流程图 / 状态机图
测试方案与结果 4 实测数据表 + 结果分析(最值钱的”闭环”证据)
报告结构规范性 3 摘要、图表编号、格式整洁

写报告的诀窍就一句:对着这张表,一项一项填。 其中体现”测了 → 有数据 → 会分析”这条闭环最值钱。还要注意一点:测试数据必须真实可复现。因为拟获一等奖的队伍要过”综合测评”这一关(满分 30 分,统一在 8 月 10 日 8:00–15:00 闭卷制作,禁网、禁手机、禁电脑,只能带纸质资料,至少 3 名专家共同记录签字)。编造数据、或报告与实物对不上,是大忌。

二、调试与避坑:分模块自测 + 故障速查表

调试最忌讳”啥都接上、一把上电、然后对着不动的车发呆”。正确姿势是分模块自测,从下往上一层层确认,每层 OK 了再叠下一层:

  • 电源:上电先量各路电压(电机轨、5V、3.3V),别让 MCU 欠压复位
  • 电机方向:低 PWM 单独给每个电机,确认正转 / 反转方向对、没接反
  • 编码器:手动转轮子,看脉冲计数有没有变、正反方向符号对不对
  • 传感器:灰度看黑白阈值、IMU 看 Yaw 静止漂不漂、视觉看回传数据
  • 速度环(内环):给固定目标速度,看能不能稳准跟随
  • 方向 / 循迹环(外环):内环稳了再叠外环,先慢速循迹
  • 状态机 + 保护:最后把丢线找回、出界急停、视觉超时降级接上

下面这张速查表,建议直接打印贴在工位上。绝大多数现场故障都能在里面对号入座:

症状 最可能的原因 怎么治
画龙 / 来回振荡 方向环 Kp 太大;或转向环乱加了 I 减小 Kp;转向 / 循迹环只用 PD,别加 I(积分会引入延迟,弯道拖沓画龙)
老往一边偏(走不直) 机械不对称、左右电机转速差 加固定前馈 offset(如某省一队给右轮 offset=30),而不是无限加 Ki
只嗡嗡响、电机不转 PWM 太低没过启动死区;驱动没使能;只接了方向脚没给 PWM 加死区补偿、查使能脚、确认 PWM 输入有信号(详见《让电机听话》)
一加速就复位 / 死机 电源跌落、VM 没并大电容;或多串口 / 多中断在 80MHz 下抢资源卡死 驱动 VM 并大电解电容、电机地与控制地单点共地;理顺中断优先级
视觉时好时坏 串口丢字节、没做超时保护,吃了过期数据 DMA + IDLE 空闲中断收包,>100ms 超时就降级到灰度 / IMU(详见《视觉与通信》)
Yaw 越跑越偏 陀螺仪零漂;纯里程 / 纯陀螺没有绝对参考 开机静止采零偏;用灰度过点 / 到点标志定期校正航向
响应慢 / 回复慢 P 偏小,或速度环 I 作用不够 适当加 P;静差大就加 I(速度环)
超调大、冲过头 D 不够,或 P 太猛 加 D 抑制超调;理想阶跃响应是 4:1 衰减(前高后低两个波)

📝 看波形治百病

表里这些症状,最高效的判断方式是用 printf 把”目标速度, 实际速度”两路发到 VOFA+ 画曲线,对着波形对症下药。这套”波形症状 → 调哪个参数”的诊断方法是调参的核心功夫,完整流程见《PID 调参实战》一篇,这里不展开。

几个最容易踩的坑,单独拎出来强调

🔥 PID 没加限幅 = 定时炸弹

位置式 PID 不给积分限幅,长时间偏差后积分项会爆掉(积分饱和):误差反向了还久久退不出来,表现为大幅过冲、长时间画龙;输出不限幅则直接顶满 PWM。积分项要单独限幅,总输出也要限幅,两道都不能少。 速度环改用增量式 PI 能天然抗饱和,更适合电机调速。

🔥 全白丢线时的"除零陷阱"

灰度循迹算偏差时,分母(各路灰度之和)一旦接近 0(全白、冲出赛道)就会除零或乱转。必须做丢线保护:沿用上一次的偏差方向继续打死转向,或切回角度闭环、减速找线。尤其是”只能前进不能后退”的题型(如 2024 H 题),冲出去没法倒车找线,全靠转向纠回,这个保护不做就是直接出界 0 分。

⚠️ 控制周期被阻塞拖慢

别在定时中断里写阻塞式 delay,也别在中断里刷 OLED、发一长串串口。中断里只做”读传感器 + 算 PID + 写 PWM”,耗时的打印 / 显示放主循环。否则控制周期被拖得忽快忽慢,$K_i$、$K_d$ 的等效系数会随周期乱跳,波形抖成一团。

三、保命拿分:现场细节决定生死

讲完技术,再讲几条”不写代码但能救命”的现场策略。这些每一条背后都有人摔过跟头。

求稳,永远优于求全

这是整个系列反复强调、也是现场最值钱的一条心法。回顾《这比赛到底在比什么》:客观测试约占 83%,而且有一堆“失败即 0 分”的红线——投影脱离弧线、整车越黑线、超时达规定 1 倍以上、用错主控、装了禁用的摄像头、尺寸超标、用了禁用的麦轮 / 履带……任何一条中招,该项甚至全场归零,比少拿几分发挥部分严重得多。

所以拿分顺序应该是:先吃满低门槛的基本要求 → 再啃高分项 → 发挥部分按”能不能稳定复现”来取舍。

🧩 两个真实的反面教材

  • 某国奖队省赛已经稳稳拿下前 4 个基本要求,被胜利冲昏头脑去强冲第 5 个发挥要求,结果把装置烧了,最终只 2 项达标,从国一掉到国二。(来源
  • 2024 年某队在 30 分钟综合测评里,第 19 分钟还在改 PID 参数,系统当场振荡,失去全部剩余测试机会。(来源

两个故事一个结论:冲高风险的发挥项之前,先问自己——万一失败,会不会把已经到手的分一起赔进去? 不稳定的功能,宁可不做。

测评现场和定稿后,绝不大改硬件和 PID 参数

现场测评一般有 30 分钟准备时间(电路恢复、虚焊重焊、换普通元件都行;超时则每超 1 分钟扣 1 分),但封箱后硬件不可改。第 4 天上午定稿之后,更要把”求稳”刻进 DNA:

🔥 最后时刻改参数,是性价比最低的赌博

后期人疲劳、脑子冲动,改参数的收益远小于翻车的风险。确实要微调,也只改数值不改结构,改之前先 git tag 备份一个能跑的版本,留足回滚时间。上面那个”第 19 分钟改参数全盘皆输”的故事,就是没留回滚时间的典型。

备件全双份,且要趁早囤

⚠️ 赛题发布时,常用器件可能已经断货

立创官方提醒:常用器件清单往往赛前一周才发布,等赛题正式发布,很多器件早就被抢断货了。所以经费允许的话,买最好的,而且多买几个:主控、电机、驱动、传感器都囤 2~3 份。(来源

别只盯着电子元件。备件清单里还要有:笔(报告全程手写,至少 2 支)、热熔胶、封箱用的木板 / PVC 板。有人现场才发现没带够笔——细节翻车,最冤。另外建议赛前先把 2~3 道历年题完整做一遍,把循迹、测距、视觉这些算法模块当”半成品”储备好,现场直接调用。

用一份问题清单,把疲劳期的脑子”外包”出去

国奖队的另一个习惯:全程维护一份 Bug 清单(随手记下遇到的问题和解法)。等到第 3、4 天人困马乏时,靠这份清单快速定位”这个坑我之前是怎么填的”。本质上就是把疲劳期的认知负担,前置到清醒的时候——和”报告随做随存”是同一个道理。

💡 现场行动准则三连

  • 一个问题卡超过 10 分钟没思路,就换路子或求助队友 / 资料,别死磕(4 天里时间是最贵的资源)。
  • 每个能跑的版本,立刻打包备份;”能复现”比”更优”重要得多。
  • 心态上:你的目标是稳稳拿到该拿的分,不是做出最炫的车。

四、精选开源仓库与学习资源

最后送上一份”站在巨人肩膀上”的清单。这些都是社区里口碑不错的开源项目,逐个评注它们是什么、能借鉴多少。

❗ 一句话用法

先看懂、再借鉴,别整包照抄——尤其是 PID 参数,必须按你自己的车重、电机、地面重新调。 看懂别人”为什么这么写”,比抄下来重要一百倍。

MSPM0 路线(2024 起电赛官方主推)

仓库 是什么 可复用度
ZhijianLi2003/ZLC_MSPM0_Peripheral_Library 山大(威海)ZLC 队 2024 H 题国一作品:完整外设库 + 串级 PID(方向 PD + 左右轮增量式 PI)+ 1024 线编码器 + 8 路灰度 + IMU + DRV8701E,控制周期 20ms;含设计报告 PDF、B 站讲解、立创 EDA 扩展板,还带”无线急停开关”做失败保护 极高:可直接当 MSPM0 小车的代码骨架和报告范本,参数与控制周期都能借鉴
menoking/PIDCarTemplate-MSPM0G3507 电赛 MSPM0 两轮 / 四轮 PID 小车模板:封装好延时 / 编码器 / 电机 / 按键(短按长按双击)/ MPU6050 / OLED / 蓝牙 / 灰度 API,速度 / 转向 / 距离 / 陀螺仪多环参数初值齐全,克隆即用 :新车起步脚手架,省下大量外设移植时间
abcuer/2024-NUEDC-H-TI_CAR 24H 题省一惯导 + 巡线小车:分层状态机,pid.c 增量 / 位置双模、track.c 灰度加权、angle.cdist.c 代码清晰,含实测参数、查表补偿、EDA 开源、选型清单 很高:代码可读 + 真实可抄参数,循迹小车最佳学习样本之一
Torris-Yin/mspm0-modules MSPM0 常用模块驱动合集,库内人气最高,配 B 站课程(注意:它要求其他中断优先级都低于 SysTick) :模块多 + 教学视频,按需取用单个驱动
danshoujieyi/TI-MSPM0G3507 电赛指定板工程模板三件套:裸机 / FreeRTOS / RT-Thread,两套 RTOS 都移植好了 (想上 RTOS 的队):带操作系统的工程骨架
TexasInstruments/mspm0-sdk TI 官方 MSPM0 SDK(DriverLib + SysConfig),近年控制类题常指定 MSPM0,官方一手资料 :官方底层驱动权威来源,但需配合 SysConfig 图形配置

STM32 / 跨平台路线(练手和借鉴思路)

仓库 是什么 可复用度
Pansamic/CarOS 电赛小车底层驱动 + 应用接口框架,STM32 / MSP432 跨平台,封装电机驱动 / 速度环 / 运动学闭环(需配 FreeRTOS) 中高:架构规范、可移植;非 MSPM0 需自适配
we-worker/STM32f407Zgt6-project-temp 启明欣欣 STM32F407 框架,多分支含 23H 题 / FFT / ADC / TIM / DMA 采样 / DAC-DMA / GUI 中高(STM32 路线):信号处理与采样模板丰富
hongfeiyucode/find_way_car 自称”最快”的 STM32 循迹小车,含循迹 / 寻光 / 切换 / 安卓遥控;作者复盘”两电机转速差必须程序补偿才走直” :入门循迹 + 真实踩坑记录

题库与官方文档(必备底料)

  • CCBP/NUEDC_Topic:历年全国电赛真题 PDF 合集,每题含官方评分标准表。研究评分逻辑、看清”基本要求 vs 发挥部分”分值的第一手权威来源,做题型预测和能力反推必备。
  • 立创开发板 lspi 竞赛指南 wiki:备赛流程、器件采购、按分值优先级拿分等实操建议,前面引用的”器件易断货””按分值优先级取舍”都出自这里。

💡 怎么把这些仓库串起来用

推荐路线:先用 ZLC 或 PIDCarTemplate 把框架立起来,再拿 abcuer 当”答案”对照着读懂循迹与状态机怎么写,最后翻 CCBP 的真题评分表,反推自己这届该把火力集中在哪。

写在最后

到这里,”从 0 到 1 带你打电赛·小车电控篇”十二篇就全部讲完了。我们从”这比赛在比什么”出发,一路走过赛题进化、整车搭建、电机电源、感知、PID 入门到进阶、调参实战、进阶算法、视觉通信、状态机,最后落到今天这份现场作战手册。

如果只让我留一句话给即将上场的你,那就是开篇就埋下、今天又反复出现的那条主线——

✅ 稳 → 准 → 快

先让车不冲出、不挂零,再让它定点停准,最后才拼用时更快。能力是一层层叠上去的,分数也是。把基础做扎实、把保护做齐全、把能跑的版本备份好,剩下的,交给那 84 个小时里你和队友的默契。

电赛不只是一场比赛,它会逼你在极限压力下,把书本上的电机、PID、状态机真正变成手里能跑的东西。那种”它终于稳稳停在终点”的瞬间,值得你熬的每一个夜。

去吧,把车跑稳。祝你拿奖。



本文由 云间辞 原创,发布于 HBZGC 的博客

转载请保留链接: https://cloudlay.cn/nuedc-car-12-field-manual/

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇