1. 从“省三”到“国赛门口”一个智能车竞赛老兵的复盘视角如果你正在准备或已经参加过全国大学生智能车竞赛尤其是像“单车定向”这样对机械、控制、算法要求都极高的组别那么这篇文章值得你看。它不是一个成功者的经验分享而是一个两次拿到省赛三等奖、最终止步国赛门槛的参赛者用整整一年时间换来的深度复盘。我们聊的不是如何“速成”或“夺冠”而是如何更扎实地走完从校赛、省赛到冲击国赛的完整路径以及那些在技术报告里很少提及却足以决定成败的“非技术”细节。“单车定向”组别简单说就是让一辆两轮自平衡的智能车在赛道上自主识别路标并完成定向任务。它考验的远不止是代码和电路更是对车模机械调校、传感器融合、控制算法稳定性和临场应变能力的综合挑战。很多人以为调好PID、识别准路标就能行但真正做下来会发现从“能动”到“能稳定完赛”从“省赛出线”到“国赛水平”中间隔着巨大的实践鸿沟。我用了两个赛季两次省三最终在东北赛区与国赛失之交臂这次复盘就是想把这中间的教训和思考拆解清楚。2. 备赛初期避开“盲目堆技术”的第一个大坑很多队伍一开始就容易陷入一个误区看到规则发布立刻去追最新的算法、最复杂的传感器、最炫的控制理论。我们第一年就踩了这个坑。以为用了更贵的IMU、写了更复杂的互补滤波车就能更稳。结果就是车的基本直立和行走都还没解决所有高级算法都是空中楼阁。2.1 硬件平台选择与机械调校是地基“单车定向”的车模其机械结构本身就是控制系统的一部分。车模的质心高度、轮胎摩擦力、舵机安装的虚位、电池的固定方式这些看似基础的问题直接影响所有算法的效果。重心与平衡电池位置是调整重心的关键。重心太高车容易晃动太低转向响应可能变慢。我们花了大量时间在3D打印各种电池支架上进行微调。机械对称性与虚位务必确保车模左右机械结构对称。舵机臂、连杆的虚位会导致控制指令的延迟和误差表现出来就是车走直线时会“画龙”。这些机械误差是软件很难完全补偿的。传感器安装陀螺仪和加速度计必须刚性固定在车体主结构上避免因振动产生额外噪声。摄像头支架要稳固避免在车体晃动时产生图像抖动。经验之谈不要一上来就埋头写代码。先用一周时间把车模机械部分调到尽可能“正”和“稳”。用手推着车在平地上走看它能否保持直线轻轻拨动看它能否快速回正。这个手感比任何仿真都来得直接。2.2 基础控制先把车“立住”和“走直”在机械调校的基础上才能谈控制。单车的基础是直立控制平衡和速度控制。直立环PD控制核心是角速度陀螺仪反馈。比例项P决定“扶正”的力度微分项D抑制摆动。调参时先在小范围内手动给车一个倾斜观察它能否快速且平稳地回到直立位置而不是剧烈振荡或反应迟钝。速度环PI控制目标是让车在平衡的同时保持期望的速度。速度误差积分I用来消除稳态误差。这里最容易出的问题是速度环输出干扰了直立环导致车整体抖动。我们的经验是先让直立环非常稳定后再慢慢加入速度环且速度环的参数要相对“柔和”。转向环对于定向任务转向的精准和柔和至关重要。除了根据图像处理得到的中线偏差进行PD控制外还需要加入前馈控制在入弯时提前打角。转向参数过于激进车会在赛道上“画蛇”过于保守则无法及时过弯。调试时一定要在空旷、安全的场地进行最好有队友在旁边随时准备扶住车模防止飞车损坏。3. 核心任务实现图像处理与定向策略的稳定性博弈“单车定向”的难点在于车要在高速平衡运行中实时处理图像、识别路标如数字、箭头并做出正确的决策直行、转弯、停车等。这里的关键词是稳定性而非单纯的识别率。3.1 图像处理流程的鲁棒性设计摄像头采集的图像受光照影响极大。实验室的均匀光线和比赛现场可能完全不同。图像预处理灰度化、二值化是基础。二值化的阈值不能写死。我们采用了动态阈值算法如大津法或根据图像灰度直方图自适应计算以适应不同光照。赛道边界提取采用“边线扫描”法。从图像底部向上从左、右两侧向中间扫描找到灰度跳变点作为边界。要处理边界丢失出界、反光的情况通常用上一次的边界值进行预测补全。路标识别这是定向的核心。区域定位先根据赛道边界预估路标可能出现的区域通常是赛道中央上方对这个区域进行重点处理减少计算量。特征提取对于数字可以采用轮廓查找、外接矩形、长宽比、网格特征提取等方法对于简单箭头可以计算其轮廓的主方向。切忌使用计算量过大的深度学习模型在单片机上可能无法实时运行。决策与容错识别结果不能“一锤定音”。我们设计了一个状态机和一个置信度队列。连续多帧识别到同一个结果且置信度较高才执行相应的动作指令。单帧误识别不会导致车辆误动作。3.2 控制与识别的协同时间与空间的配合识别出路标后车需要在正确的位置做出动作。例如识别到“左转箭头”后需要在下一个路口左转。动作触发机制不能识别到就立刻动作。我们建立了“动作执行区”的概念。将赛道分成网格只有车身的预估位置进入预设的“转弯执行区”时才执行转弯指令。这避免了因识别提前或滞后导致的早转/晚转。状态记忆车需要记住当前的任务状态。例如刚刚完成了一个右转任务那么接下来一段时间内即使图像出现噪声像右转箭头也应忽略。我们用一个简单的任务列表To-Do List来实现。4. 备赛后期与赛场实战从实验室到赛场的“最后一公里”在实验室跑得再顺也不代表能适应赛场。我们两次省赛一次因为赛场光线变化导致图像二值化崩溃一次因为赛道摩擦力与实验室不同导致控制参数不适最终都只拿了省三。冲击国赛那年我们在备赛最后阶段做了针对性调整。4.1 环境适应性训练与参数泛化光线模拟用台灯、手电筒从不同角度照射赛道模拟赛场可能出现的顶光、侧光、不均匀光。记录下摄像头参数曝光、增益和图像处理阈值的变化范围编写几套参数预案。地面摩擦测试找不同材质的平面光滑地砖、粗糙水泥、比赛常用的PVC赛台进行测试。重点观察在不同摩擦系数下车的加速、减速以及转弯时的打滑情况。速度环和转向环的参数可能需要微调。全流程压力测试不再只跑单圈。设置连续多圈、随机路标顺序的任务让车长时间运行。观察内存是否泄漏、控制量是否饱和、电机是否过热。日志系统至关重要需要将关键数据如识别结果、车身姿态、控制输出实时输出到上位机或SD卡方便赛后分析。4.2 赛场调试流程与心态管理比赛现场的调试时间极其宝贵必须流程化。快速检查上车后第一件事不是发车而是检查电池电压、所有线缆连接、传感器数据在上位机是否正常、车轮是否空转顺畅。参数微调根据现场光线快速切换或微调图像参数。在练习赛道跑1-2圈主要看边界提取是否稳定路标识别区域是否准确。控制验证重点感受直道加速和弯道通过性。如果弯道有打滑或推头微调转向D参数或前馈量。切记每次只修改一个参数并记录修改前后的表现。心态调整赛场必然会出现意外。我们的策略是前两次发车以求稳完赛为首要目标拿到有效成绩。最后一次发车再尝试冲击更高速度。避免一上来就“猛冲”导致首次发车失败心态崩溃。5. 反思“错过国赛”技术之外的关键短板回顾东北赛区那次比赛我们车子的技术状态其实比前两年都要好。最终差之毫厘我认为问题出在以下几个“非技术”环节5.1 文档与代码管理的缺失我们前期调试频繁代码版本混乱注释不全。比赛前一天晚上想回溯一个一周前稳定的转向参数竟然花了两个小时在多个版本的代码里寻找。建议从第一天就使用Git进行版本管理每次重大修改或参数调整都提交并写清日志。技术报告也应同步更新不要堆到最后一周熬夜赶工。5.2 对规则细节的钻研不足“单车定向”的规则每年都有细微变化比如路标种类、摆放逻辑、计分方式。我们虽然看了规则但没有深入研究规则背后可能设置的“陷阱”。例如某些路标组合出现顺序是否存在逻辑约束完成定向任务的精度要求停车位置到底有多高这些信息需要反复研读规则、分析往年赛题视频甚至与裁判组沟通确认。对规则的理解深度直接决定了算法策略的上限。5.3 团队协作与应急预案的不足比赛时负责硬件的同学和负责软件的同学沟通不及时。一次传感器数据跳变硬件同学怀疑是软件滤波问题软件同学怀疑是硬件接触不良耽误了调试时间。必须明确场上出现任何问题硬件同学第一时间检查物理连接和电源软件同学查看原始传感器数据和基础控制输出快速定位是机械问题、电气问题还是算法问题。 同时我们没有准备充分的应急预案。例如当主要路标识别算法连续失效时是否有一个降级策略比如按照固定路径跑完来保底当某个关键电机驱动芯片突然发热是否有备用方案这些都需要在赛前讨论并简单测试。6. 给后来者的具体建议清单如果你正准备投身智能车竞赛特别是“单车定向”这类硬核组别以下是我用一年时间打磨、两次省赛验证、一次国赛门槛失之交臂后总结出的具体行动建议时间规划将整个备赛周期分为机械调校期、基础控制期、图像算法期、融合调试期、环境适应期。每个阶段设定明确的验收标准防止在某一个环节过度沉迷。调试方法论隔离调试调机械时用最简单的开环程序测试。调控制时先在空旷平地再上简单赛道。调图像时先用离线图片或视频再在线运行。数据驱动善用上位机工具如匿名科创、VOFA等实时绘图将车身姿态、控制量、图像处理结果可视化。相信数据而非感觉。单一变量每次只调整一个参数观察变化理解其物理意义。代码与文档代码结构模块化传感器驱动、图像处理、控制、决策等。关键参数集中定义在头文件方便调整。技术报告随开发进程持续撰写包含清晰的流程图、算法说明和参数调整记录。赛场清单物资清单备用车模、备用核心板、电机、舵机、电池、各种螺丝工具、万用表、笔记本电脑、充电器、插线板。调试清单赛前检查表硬件连接、传感器数据、基础功能。参数清单针对不同光照、不同赛道摩擦系数的多套参数预案。心态建设将目标分解为“成功发车”、“稳定完赛”、“取得有效成绩”、“冲击名次”。接受意外把每次失败都当作一个数据点用于改进系统。团队第一明确分工相互信任避免互相指责。智能车竞赛的魅力就在于它是一场极其接近真实工程开发的演练。它考验的不仅是知识更是将知识转化为稳定可靠系统的能力以及在压力下排查问题、团队协作的综合素质。错过国赛固然遗憾但这一年来在机械、电路、控制、算法上的深度实践以及那些熬夜调试、解决问题的过程是比奖状更扎实的收获。对于后来者希望这些从“省三”视角总结的经验能帮你少走一些我们走过的弯路更稳健地冲向你的目标赛场。