📚 本文是 「从 0 到 1 带你打电赛 · 小车电控篇」 系列(共 12 篇)第 2 篇。
上一篇我们把”怎么拿奖”拆成了一条能力链:稳→准→快→报告。但还有一个问题没解决——你到底该练哪种”稳准快”?循迹?测距?视觉识别?双车通信?这些技能学起来都不便宜,四天三夜里全练一遍根本不够。
所以这一篇,我们来当一回”押题侦探”。把历年小车/控制类赛题摊开来看,你会发现出题人不是随机出题的,他们有一条非常清晰的进化主线。看懂这条线,你就能猜到下一题大概要考什么,把有限的备赛时间砸在刀刃上。
💡 先记住一句话
看赛题进化,就像看一个人”从学会走,到学会开车”的过程:早期只要求小车能往返跑准距离(走路),后来要会循迹过弯(骑车),再后来要看摄像头认路、认数字(看着路标开车),现在是多车配合 + 精确停进车位(自动驾驶 + 自动泊车)。每一步都在前一步上加东西,从不凭空跳。
先扫掉一个最常见的误区:电赛不是年年都有国赛
很多新人一上来就栽在赛制上。这件事先说清楚,否则你押题的年份都会对错。
全国大学生电子设计竞赛(NUEDC,大家都叫它”电赛”)是两年一个周期:
- 奇数年(2021、2023、2025…)= 国赛,全国统一命题、规模最大,圈里叫”大年”;
- 偶数年(2022、2024…)= 省级赛 + TI 杯模拟电子系统设计专题赛,圈里叫”小年”。
⚠️ 别把"2022 双车跟随""2024 自动行驶小车"当成国赛题
网上资料经常笼统地把所有题都叫”电赛”,于是你会看到”2022 双车跟随””2024 自动行驶小车”这种说法。严格讲,2022、2024 是偶数年的省赛 / TI 杯,不是国赛。这一点对押题很关键:省赛题往往是上一届国赛方向的简化或延伸,难度和时限通常更宽松。换句话说,研究国赛主线能帮你押省赛,反过来不一定成立。
这个”大年小年交替”,你可以想成奥运会和省运会:国赛像奥运会,奇数年全国总动员、最隆重;省赛 + TI 杯像省运会加专项邀请赛,偶数年小一号、按地区比。
赛制的更多细节(四天三夜怎么打、三人怎么分工)后面《整车搭建与代码框架》和《现场作战手册》会专门展开,这里不重复。我们直接进入正题——看题。
第一阶段·早期(2003~2011):把”机械控制”做准
最早的小车题,核心诉求就一个字:准。让车按要求跑、停得准、算得对,根本还没有”看路”这回事。
奠基性的一题是 2003 年 E 题「简易智能电动车」。官方题面要求:
- 直道行驶时,存储并显示每个薄铁片(路面中心标志)到起跑线的距离;
- 进入停车区,准确驶入车库,车身要完全进去;
- 停车后,准确显示全程行驶时间。
听着挺朴素,但它把后面二十年小车题的骨架都立好了:测距、定点停车、全程计时。当年北京科技大学的队伍靠这题拿了国一。
那它的电控核心是什么?很简单:
- 传感器:在车轮上贴黑白条纹,用光电传感器(或霍尔开关)做”里程计”——轮子转一圈,反射光就产生固定个数的脉冲;
- 算法:单片机数脉冲,就能算出走了多远、走得多快;
- 闭环:一个简单的速度闭环,让车别忽快忽慢。
到 2011 年,出现了一个很有意思的题:双车超车。两辆车在赛道上,用光电管寻迹、用红外开关测两车距离,控制车距实现超车。这是”多车协同”主线最早的雏形——日后 2021 送药双车、2022 双车跟随,思想都从这儿来:车间要么直接通信,要么靠相对距离闭环。
📝 这一阶段你要练的电控技能
编码器 / 光电测速 + 单环速度 PID。就这些。如果你连”轮子转一圈数多少个脉冲、怎么换算成速度”都还没弄明白,那不管赛题怎么进化,地基都没打好。编码器和速度环的细节,《感知》和《PID 入门》两篇会手把手教。
🧩 顺手纠两个易记错的小事实
- 车体尺寸限制一脉相承:2001/2003 是”电动玩具车”(长 ≤ 35cm、宽 ≤ 15cm),2007 起改”小型电动车”(最大 300mm×200mm,高不限),到 2024 年量级压到约 25cm×15cm×15cm。尺寸卡得越来越死,直接影响你能塞多大的视觉模块——这也是后来大家偏爱紧凑型摄像头的原因之一。
- 网上常把”2001 自动往返”当起点。更准确地说,这条主线对应的是 2003 E 题;2001 本科组主线是”电动玩具车”,具体题面记载比较弱。押题别拿 2001 当锚点。
第二阶段·中期(2016~2022):循迹 + 测距 + 双车,控制升级到”串级”
车开始要”会看路”和”会配合”了。这一阶段的关键词是:多路循迹、超声测距、双车通信、串级 PID。
代表题包括 2016 年无线充电车、2017/2022 自动泊车,以及 2022 双车跟随。技术栈明显比早期厚了一层:
- 循迹:从 1 路红外,升级到多路红外 / 灰度阵列。车不再只会直线跑,能沿着地面引导线过弯;
- 测距:超声波测距上场,用来控制车距、避障、入库;
- 通信:双车任务需要稳定的车间通信,最常用的是蓝牙串口模块 HC-05(配置简单、成本低);如果是跨楼宇的远距离任务,才会考虑 LoRa;
- 控制:单环已经不够用了,串级 PID(双环) 成为标配。
什么叫串级?打个比方——
💡 串级 / 双环 PID,像"公司里的老板和员工"
外环(老板)只负责定目标,比如”车速给我到 1m/s”;内环(员工)负责具体怎么给油门,把这个目标真正落地。规矩是:先把员工训练靠谱(内环调稳),老板下指令才有意义(再调外环)。反过来,员工还站不住,老板喊破嗓子也白搭。
这条规矩——双环永远从内往外调——是贯穿整个 PID 体系的铁律,后面《PID 进阶》和《PID 调参实战》会反复强调。这里你先有个印象就行:到了中期,调参不再是调一个环,而是调两个环之间的配合。
第三阶段·近期(2021~2024):视觉 + 决策被推到舞台中央
这是变化最剧烈的阶段。车不光要看引导线了,它要看懂世界——认数字、认靶标、追光斑——然后自己做决策。我们挑三道有代表性的题细看。
2021 F 题「智能送药小车」:视觉融合的里程碑
场景设定得很生活化:医院走廊地面上有一条红线,墙上 / 地上用黑色数字纸贴着病房号。任务是——单车在规定时间内把药送到指定的近距 / 中距病房并返回药房;进阶部分还要两车协同,一起把药送到同一个中距病房。
电控核心一下子丰富起来:
- 摄像头做阈值化红线循迹;
- 摄像头做黑色数字识别(认病房号);
- 陀螺仪测角度控制转向;
- 光电编码器测里程;
- 单片机跑 PID。
主控通常是 STM32F407,视觉用 OpenMV 或 K210,车体是舵机四驱小车。
这题最值得讲的,是一段真实的国一战例——它告诉你”桌面调通”和”现场能用”是两码事:
🔥 战例:模板匹配在现场直接崩了
一支 2021 F 题国一队,一开始用 OpenMV 的模板匹配来识别病房数字。桌面上调得好好的,一到真实走廊,光照、角度一变,识别率根本不可靠。他们临场把方案切到 K210 神经网络,在固定 20~25cm 的拍摄距离重新采集数据集、训练 tflite 模型,才把识别率拉到 80%~90%+。
还有两个救命的小招: 1. 用置信度阈值过滤误判(数字 7 最容易被认错); 2. 用一个 8 元素数组做多帧投票——不是看一帧就定结果,而是累计多帧检测再排序定结论。
后期他们甚至上了双 K210,实现”行进中不停车识别”。
教训:视觉识别一定要在真实的拍摄距离和光照下采数据、训练,别信桌面上调通的模板匹配;多帧投票 + 置信度阈值,是去抖动最廉价、最好用的招。
同一支队还有个惨痛的硬件插曲:第二辆车在临赛前 UART 和 IO 引脚损坏,被迫整片换主控芯片,在封箱前最后几小时才把两车功能补完。所以关键引脚要早做冗余验证、备好替换板,别把最后几小时排满。
这段经验,到《视觉与通信》那篇会接着深挖——尤其是”视觉模块只回传结论、不回传整张图”的设计思想。这里你先记住一个判断:到了视觉时代,识别算法的成败往往不在算法本身,而在你有没有在真实条件下喂它数据。
⚠️ 还有一个低级却致命的坑:串口波特率
视觉模块和主控对话,传得快不如传得准。线一长、干扰一上来,115200 波特率就开始乱码,把波特率降到 9600 才稳。这个坑在 2024 H 题里也有队伍踩过,后面还会再遇到它。
2023 E 题「运动目标控制与自动追踪」:毫米级定位的残酷一课
这题严格说不是地面小车,而是二轴舵机云台 + 激光笔 + OpenMV 视觉的组合,但它属于控制类主线,而且给所有人上了一堂关于”机械精度”的课,非常值得看。
系统是:OpenMV 视觉 + STM32 + 二轴云台 + 激光笔,做闭环。功能包括复位、让激光沿屏幕边 / A4 纸边运动、自动追踪一个光斑。题目建议红色激光开环、绿色激光闭环(闭环那部分需要 PID 跟踪)。
难点在哪?算一笔账你就懂了:
🔥 战例:1° 的误差,在 1 米外就是 1.7 厘米
激光打到 1 米外的屏幕上。普通 PWM 舵机有回差,1° 的误差,在 1 米距离上就放大成约 1.7cm 的偏移。你要做的是毫米级定位,普通舵机的分辨率和回差根本压不住。
雪上加霜:K210 在 320×240 分辨率下,1 米外的黑胶带不足 10 个像素——连”看清”都困难。
各队最后的解法:换高精度 / 总线舵机(带编码器),或者步进电机 + 齿轮减速,或者普通舵机配 2:1、3:1 减速;同时做两套坐标标定——云台角 ↔ 屏幕坐标、相机像素 ↔ 屏幕坐标(类似电阻屏标定,控制激光打到几个已知点,建一个变换矩阵)。
教训:精密指向任务,先算”角度误差 → 末端位移”这笔灵敏度账。机械精度不够,再好的 PID 也救不回来;视觉分辨率不够,就靠近拍或换高分辨率模块。
这就是那个著名的”激光笔杠杆效应”——手腕(舵机)动一点点,1 米外墙上的红点就跑老远;指得越远,手越要稳。所以精密指向必须用”更细的手腕”。
2024 H 题「自动行驶小车」:回到纯传感器,但把双环 PID 玩到极致
有意思的是,2024 H 题反而”退”了一步——不许用摄像头,强制用 TI 的 MSPM0(M0G3507)平台,靠灰度循迹 + 陀螺仪。但它把控制做到了很硬核的程度。
场地是这样的:≥ 220cm×120cm,两段对称的半圆弧,半径 40cm,黑弧线宽约 1.8cm。四个任务由易到难:
| 任务 | 路径 | 时限 |
|---|---|---|
| 1 | A → B | ≤ 15s |
| 2 | A→B→弧→C→D→弧→A 一圈 | ≤ 30s |
| 3 | A→C→弧→B→D→弧→A 一圈 | ≤ 40s |
| 4 | 按路径跑 4 圈 | 越快越好 |
控制方案是七 / 八路灰度识线 + 维特陀螺仪测偏航,跑姿态环 + 寻迹环双环 PID:直线 / 斜线段靠姿态环,过弯靠寻迹环。控制周期 10ms(定时器中断,TIM2)。
实战里有两个流派,你可以都参考:
- 流派一(陀螺主控向):用位置式 PID,直接以陀螺的绝对偏航角控制直行和转向,把算出来的 PWM 增 / 减量,叠加到左右轮的基础占空比上。逻辑是”遇到黑线开寻迹环,离开黑线开转向环”;
- 流派二(分段动态 PID):直线段用大 Kp、Kd=0 求快;弯道段用更大的 Kp + 大 Kd 求稳,按陀螺角速度或灰度命中宽度来切换。
这给我们引出两条非常实用的经验法则:
💡 用陀螺的绝对偏航角走直线,比纯灰度更稳
灰度只在”压着线”的时候有效,一旦车在直线段、或者短暂丢线,灰度就抓瞎了。这时候靠陀螺积分出来的偏航角(yaw)保持航向最可靠:记录起始 yaw 当基准,用 PD 控制偏差,叠加到左右占空比上。这是 2024 H 题的主流方案。
💡 一组 PID 参数别想通吃直线和弯道
直道求快需要小 Kd,弯道求稳需要大 Kp 大 Kd,单组参数顾此失彼。国奖队普遍用分段动态切换。注意切换点要加”迟滞”(hysteresis),别在临界点反复横跳;切换瞬间可能有跳变,最好做平滑过渡。
具体到怎么把这几条揉进一份能跑的代码、怎么对着波形一步步整定,是《PID 调参实战》整篇要解决的事,这里点到为止。下面给一段差速控向的骨架,让你先有个手感——不管误差是来自陀螺偏航角还是灰度加权,套路都是”误差 → PID → 叠加到左右轮”:
// 控制周期 10ms(定时器中断里调用)
// err 可以来自:陀螺偏航角偏差,或灰度加权偏差
float turn = Kp * err + Kd * (err - err_prev);
err_prev = err;
int left = base_speed - turn; // 左轮 = 基础速度 - 转向量
int right = base_speed + turn; // 右轮 = 基础速度 + 转向量
// 符号按你自己的传感器朝向 / 电机接线定,调反了会朝偏差方向越冲越远
但 2024 H 题也暴露了纯灰度 + 陀螺方案的两个致命弱点,这两个坑你一定要提前防:
🔥 战例:第四问只跑了三圈半
某队第四问翻车:小车刚进圆弧区没踩到黑线,导致依赖”检测到黑线才切状态”的整套程序逻辑节点全部后移,最后只跑了三圈半。
根因之一是灰度的”死缝”问题:黑线正好卡在两路灰度中间时,两路都返回 0——车明明压着线,程序却判成”丢线”。
这队还顺带踩了一串小坑:某 GPIO 输入异常(换个引脚解决)、轮子和电机轴打滑(上胶固定)、115200 串口乱码(降到 9600)。
教训:纯灰度状态机一定要有兜底——用编码器里程计做后备,在”按理走了这么远还没见到线”时强制切状态 / 转向;传感器间距要小到不会让线漏在缝里;到了现场,必须重新标定灰度的电位器去适配当天的光照。
⚠️ 战例:陀螺零漂,多圈必偏
多份 2024 H 题复盘都指出:陀螺仪的偏航角有非固定的零漂,跑多圈之后航向会缓慢偏移,只能靠人工修正每圈的转向角硬凑,仍然消不干净。
对策:上电先静置标定零偏 + 做温补,并且用外部基准(灰度线 / 里程计)周期性地校正 yaw,给陀螺上”双保险”。
你可以把陀螺零漂想成”戴久了会走偏的旧手表”:你以为它读的是真角度,其实它每分钟都悄悄快一点点,跑几圈方向就全错了——所以要定时拿”标准钟”(灰度线 / 里程)对一下表。顺带一提,MPU6050 的零漂明显比维特智能(WT61 / HWT101 等,约 0.05° 级)这类高精度陀螺要大。
❗ 一定要纠正的一个流传错误:2019 没有地面循迹小车
网上经常把 2019 B 题「巡线机器人」当成地面小车来准备——它其实是四旋翼无人机绕杆巡检:从距 A 杆 1m 内起飞,1m 定高绕杆巡检(起飞 → A 杆 → 线缆 → 绕 B 杆 → 线缆 → A 杆 → 降落),≤150s,发现黄色异物在 30cm 内声光提示。2019 真正的地面控制车是 A 题「动态无线充电系统」(车边走边接收地面线圈的电)。押题、复盘别记错这一笔。
把这条线拎出来:四个清晰的演进方向
把三个阶段叠在一起看,趋势其实非常干净。我用一张表收一下:
| 维度 | 早期(2003~2011) | 中期(2016~2022) | 近期(2021~2024) | 趋势预测 |
|---|---|---|---|---|
| 传感器 | 单路红外 / 码盘 | 多路灰度阵列 + 超声 | 摄像头 + AI 芯片 | 激光雷达 / 深度相机 |
| 控制 | 单环速度 PID | 串级双环 PID | 多模态融合(+卡尔曼) | 融合 + 自适应 |
| 协同 | 单车 | 双车 | 双车 / 多车 | 多车 + V2X |
| 指标 | “到达” | 精确入库 | 厘米 / 毫米级停靠 | 精度继续抬高 |
| 主控 | 51 / STM32 | STM32 | STM32 → 强制 TI MSPM0 | 延续 TI MSPM0 |
四句话总结出题人的脑回路:
- 视觉权重一路走高:从”无视觉”,到 OpenMV/K210,再到 K230/MaixCam;
- 精确停靠越来越变态:从”到了就行”,到厘米级,再到毫米级;
- 多车协同成为常客:单车 → 双车 → 多车,背后都是”通信 + 相对定位”;
- 决策状态机不可或缺:题目里越来越多”识别完再决定往哪走”的环节,背后必然是一套状态机(这套东西《状态机与整车软件》会专门讲)。
那 2025 / 省赛,该往哪押?
押题这事,没人能打包票,但顺着上面这条线,方向是可以判断的。多份器件清单分析和复盘给出的较高概率方向是:
- 复杂小车系统:小车 + 摄像头 + 云台 + 激光笔 + 感光纸绘图这类复合系统;或者”视觉循迹 + 精确停靠 + 双车 / 多车协同”的组合;
- 主控大概率延续 TI MSPM0 系列(M0G3507)。2024 起电赛主推 TI 平台,这个惯性短期内不会变;
- 视觉模块偏好紧凑型:因为车体尺寸卡得严,MaixCam 这类小模块更吃香;
- 可能融合更多模态:摄像头 + 超声波 + 雷达;目标跟踪场景会用到卡尔曼滤波去抖。
💡 押题不是赌一道题,是赌一组能力
与其纠结”今年到底考不考送药”,不如反过来想:上面这些方向,公共的电控能力是哪几样?答案很集中—— – 多路灰度 / 电磁循迹(差速控向); – 串级双环 PID + 一身”工程补丁”(积分限幅、抗饱和、分段切换); – 陀螺 / 编码器融合保航向、做里程兜底; – 视觉模块只回传结论 + 帧协议通信; – 一套能管”待命 / 直道 / 弯道 / 识别 / 停靠 / 丢线找回 / 急停”的状态机。
把这五样练扎实,不管今年出哪道题,你都接得住。这也正是本系列后面每一篇要带你逐个攻克的东西。
✅ 一句话收尾
出题人不会跟你玩花活,他们在一条”走路 → 骑车 → 开车 → 自动驾驶”的主线上稳步加码。看懂这条线,你的备赛就有了主心骨:地基(电机、电源、感知)必须先稳,PID 必须吃透,视觉和状态机按方向补齐。
押对了方向,下一步就是动手搭车。三个人怎么分工、主控为什么选 TI MSPM0、怎么搭一套”算法和芯片解耦”的代码框架,让你在 STM32 上练通的东西能整段平移过去——这些就是整车搭建与代码框架那一篇要解决的事。
📚 本文是 「从 0 到 1 带你打电赛 · 小车电控篇」 系列(共 12 篇)第 2 篇。




