ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

第十八届智能车竞赛赛道全解析:核心元素、组别拆解与备赛实战指南

第十八届智能车竞赛赛道全解析:核心元素、组别拆解与备赛实战指南 第十八届全国大学生智能车竞赛2023年夏天办完。现在你搜智能车相关内容刷出来的大多是第二十一届、第二十二届的规则和获奖总结了但回头看第十八届其实是很多经典赛道元素的定型版——十字、环岛、坡道、断路、路肩这些词汇以及负压电磁、摄像头、双车接力这些组别框架从那一届开始变得非常清晰。这篇文章就围绕第十八届的赛道构成把每个组别到底考什么、赛道元素怎么识别、备赛时应该优先解决哪些问题拆开来讲清楚。不管你是准备后续比赛的队伍还是带队的指导老师只要想把看比赛变成看懂比赛这篇应该都有参考价值。1. 第十八届的赛道版图八个组别分别考什么1.1 组别调整背后的三个风向标第十八届的规则一出来最直观的感受是组别数量明显变多。室内有负压电磁、摄像头、电能接力、独轮车、智能视觉、完全模型室外有极速越野还有一个声音信标组虽然名义上也在室内场地但场地形态和传统赛道差异很大。表面上看是花样变多实际上传递了三个信号。第一个信号是竞赛想降低纯速度的权重。传统电磁组、摄像头组当然还是要跑得快但其他组别的加入让那些在机械结构、算法设计、系统集成上有积累的队伍有了更多选择空间。第二个信号是引入了真正的工程闭环。电能接力组里的无线充电、双车协同不是某个算法能单独解决的需要硬件、通信、控制三块同时可靠工作这在以前的赛题里很少见。第三个信号是智能化方向变得明确。智能视觉组和完全模型组的任务已经从找赛道边界升级成理解赛场语义这已经接近自动驾驶决策的雏形。1.2 室内赛道的基础构成与共同基本盘不管哪个室内组别赛道铺在地上都是深色背景加白色引导线电磁组则是在赛道下方埋设漆包线。官方会统一规定赛道宽度各组别使用的引导介质不同但元素高度共通。第十八届室内赛道里反复出现的元素我整理成了一张表赛道元素常见组别核心难点十字电磁、摄像头容易误判为直道状态切换不及时环岛电磁、摄像头入环/出环识别不稳定路径容易甩出坡道电磁、摄像头图像近处遮挡、机械重心偏移断路电磁、摄像头信号瞬时丢失后的容错处理路肩摄像头、视觉组赛道边界特征突变干扰中线提取斑马线起跑线全部室内组停车精度、三秒发车计时这些元素共同构成了赛道的基本盘。任何一个元素处理不好都可能让整圈成绩报废。第十八届备赛期间几乎所有强队的时间表都是围绕这几个元素排的先跑稳直道弯道再逐个攻破元素。1.3 从组别倒推核心能力我把第十八届主要组别要考核的核心能力整理成一个清单方便新队伍按图索骥负压电磁组电磁传感器设计、机械下压力调校、高速稳定性摄像头组图像处理、中线提取、元素状态机电能接力组无线充电管理、双车通信、停车定位独轮车组倒立摆控制、平衡与循迹的耦合智能视觉组模型部署、多目标识别、场景决策极速越野组GPS定位融合、高速路径控制声音信标组麦克风阵列、声源定位、快速转向完全模型组赛道语义理解、规划与控制从这张清单能看出来第十八届已经不是会循迹就能拿奖的时代了。每个组别都需要至少两个方向的深入能力这对队伍的人员配置提出了更高要求。2. 十字、环岛、坡道三个高频赛道元素的工程解法2.1 十字判断先解决有没有再解决往哪走十字大概是所有队伍第一个想骂人的元素。电磁组的经典场景是正常直道时两个水平电感的差比和在一个很小的范围内波动到了十字区域水平信号并不会像弯道那样出现明显大小偏差而是出现一段两条横线都有信号、差比和趋近于零的平台。很多队伍第一次跑十字车会很稳地冲过去反而觉得没事等到速度上来后发现入十字的路径偏了才意识到问题的严重性。常用做法是加一个垂直于车轴的竖直电感或者斜向八字电感。当竖直电感信号超过某个阈值且持续若干毫秒就触发疑似十字状态连续确认若干帧之后进入十字确认状态此时方向控制继续按当前直道偏差走但可以做小幅修正过完十字后竖直电感信号回落状态复位。摄像头组的逻辑思路类似但信号来源不同。摄像头给出赛道图像后程序提取左右边界中线就是边界的中分。十字的典型特征是底部中线附近突然出现一大块空白左右边界同时向外扩张边线斜率在入口处出现阶梯状跳变。判断时不要只靠单帧建议做连续帧计数避免把赛道宽度变化或者普通大弯误判成十字。我队里当时踩过的坑就是只用了单帧判断结果在直道进入普通弯道时误触发十字车猛地一抖。后来改成连续三帧同时满足条件、出口条件恢复之后误报率才压下去。这个经验后来反复证明所有元素识别都要先解决有没有再解决往哪走顺序不能反。2.2 环岛进出难点从来不在绕圈而在识别环岛分为入环、循环、出环三个阶段。入环识别有很多方案电磁组可以在环岛入口附近布置额外的竖直电感或磁标用来检测入口处的磁场特征变化摄像头组则是看赛道边线在某一侧突然形成一大片白色区域也就是环岛内部的空白或者路肩突然出现。入环识别后最重要的事情是降速并给定内环偏移。绕圈的时候如果还按直道中线跑车会顺着切线方向冲出环岛外侧这是新手队伍最常见的翻车点。正确做法是一旦进入环岛状态目标线不再是赛道中线而是人为向环心内偏的一条线。这个偏移量可以在调试时通过改变目标中线的横坐标比例来调参。环内车速也要提前降不然高速大回环的离心力会直接把车甩出赛道机械抓地力再好也救不回来。出环识别相对难。环内绕行时车会周期性看到相似画面必须用累计角度/累计距离判断是否快绕完一圈或者检测出口分支特征。有些队伍会引入编码器里程计过了入口之后累计走的距离到某个值就认为接近出口这比只看图像要稳得多。第十八届现场不少队伍在环岛出环时冲出赛道基本都是以为到了出口、提前打方向结果打早了。2.3 坡道与断路给系统留一点冗余坡道看起来简单笔直开上去、开下来但真正的翻车点很隐蔽。摄像头组的图像在坡道底部会突然看不见近处的赛道因为摄像头俯仰角对近处地面的遮挡变大坡顶时画面里远处没有可参考的边界中线提取会跳变。解决办法是加陀螺仪辅助检测到俯仰角变化时切换坡道控制模式此时不再依赖画面近处而是用上一帧的角度外推直行直到下坡后重新看到近处边界。电磁组的坡道问题主要出在机械车底盘太低过坡顶时容易刮到底盘重心靠前的车会在坡顶翘头。负压组加了风机抽气之后重心和压力分布更加复杂建议在坡道测试时留足余量否则到了比赛现场用新电池、新轮胎坡道性能会有明显波动。断路是电磁组的特色元素。导线在某段区域没有铺设车冲过去时电感信号会瞬间降到很小的值。如果程序里做的是信号越小越按直线走那么断路中间方向控制会处于无信号状态车通常能冲过去但如果车速不够车会在断路中央停下然后再也找不到信号。我的经验是检测到所有电感信号低于某个阈值也就是归一化后接近0的时候不要立刻转成无脑直行而是保持进入断路前的方向盘角度同时开一个速度环的恒速模式保证以足够的速度通过断路区域。这样哪怕方向稍有偏差车也能靠惯性滑过去。3. 负压电磁组电磁循迹的核心参数与技术细节3.1 电感排布决定你上限的起点负压电磁组用的是电磁引导赛道下边埋漆包线导线通约20kHz的交流电流。车上的工字电感感应到磁场后输出交流信号经过调谐电路、运放放大、检波变成单片机可读的直流电压。这套链路里任何一个环节的器件参数漂移都会直接影响最终的控制量。电感排布基本有几种流派水平对称、水平加竖直、水平加斜向八字以及四电感、六电感阵列。水平对称主要用于直道和弯道的偏差计算竖直电感主要用于十字、环岛、断路的特征识别斜向八字则是在大弯上有更好的线性度。刚开始做的时候不用贪多三到四个电感足够跑完大部分场景等到具体元素卡住了再加传感器。拿到传感器原始数据后第一件事不是处理而是归一化。因为不同电感放置位置、不同车的车身高度原始电压范围可能差三四倍。直接用原始差值做PID换块电池、换个场地参数就要重调。归一化常用的做法是差比和也就是左减右除以左加右。这个值天然限定在负一到一之间对信号幅度的变化不敏感。但要注意左加右接近0时比如断路区域会除零程序里必须加一个保护分支。3.2 负压风机机械带来的速度红利与代价第十八届负压电磁组相比往届最明显的变化是允许使用负压装置。原理是车底用离心风机高速抽气使底盘下方气压低于环境气压从而形成向下的大气压力差等效于给车增加了几百克的虚拟重量过弯时轮胎侧向力上限大幅提高。这也是为什么负压组能在同样赛道元素下跑出比普通电磁组高得多的速度。代价主要有三块。第一是电磁干扰。风机电机工作时的换向噪声会对电感信号产生明显耦合特别是风机靠近传感器的时候。解决办法是给风机电源单独走线、加屏蔽必要时串磁珠或CLC滤波信号处理时再做均值滤波。我刚做负压的时候风机一开车就原地转圈查了半天才发现是ADC采样被风机噪声污染了。第二是能耗。负压风机的功率不低电池掉电明显加快。电池电压下降后同样PWM对应的实际转速会下降所以程序里最好做电压补偿把当前电压作为PID输出的修正因子。第三是重心与压力分布。负压把车向下压但压力集中在风机附近。风机位置靠后前轮抓地力不足入弯速度提不上去位置靠前出弯加速又怕甩尾。这个只能用机械方式一点点试没有捷径。3.3 电磁组调参常见问题与排障链路从我的经验来看电磁组的大多数薛定谔故障都可以按下面的链路排直道抖动严重先看归一化后的偏差是否平稳。如果偏差本身就在跳那大概率不是PID问题而是电感信号有噪声或者ADC采样没做滤波。弯道入弯总是不够狠检查PID输出限幅。很多队伍把死限幅设得太小高速入弯时转向力矩不足车自然就推头了。跑两圈后越来越偏检查电池电压。大概率是欠压导致电机转速下降需要电压补偿或者把速度闭环做得更硬。这套排查逻辑在比赛现场特别管用。现场能用的调试工具少、时间紧与其盲目调PID不如先锁定是传感器、执行器还是电源的问题。如果传感器信号本身是干净的执行器响应也正常那再去碰PID参数才有意义。反过来信号源就是脏的调三天PID也只是把噪声放大。4. 电能接力、独轮车、声音信标新增组别的赛道与解题思路4.1 电能接力组一场小型整车系统集成电能接力组的赛道形态是两辆车在同一赛道上跑前车和后车独立出发。前车在正常循迹后进入接力区停车后车从后方出发到达前车位置并完成无线充电充电完成后前车重新出发继续跑。这个组别把重点放在了系统能做多完整上面。真正的难点不是某一辆车跑多快而是两车在接力区的对接精度。停车一定要准偏差超过一定范围无线充电线圈的耦合效率就会明显下降后车到位的判断也不能只靠定时器最好通过通信协议确认前车准备好没有避免两车相撞。双车通信一般用NRF24L01或者蓝牙模块。很多人以为通信是简单的实际上在比赛环境里干扰源很多而且两车都在运动通信丢包是常态。我们的做法是设计一个简单的心跳包加确认机制后车持续发送我到了前车收到并确认确认后又发出发都对不上号就不往下走最多浪费点时间但不会让两辆车打架。4.2 独轮车组平衡、循迹、速度三环耦合独轮车在第十八届能开组其实挺大胆的。一般车辆模型有四个轮子控制输入是转向和油门独轮车只有一个轮子必须多做一整套平衡环车一旦倒了就完了。独轮车的电磁循迹和四轮电磁组的算法思路相近但控制架构完全不同。四轮车可以拆成方向环、速度环两个独立PID独轮车必须在同一个控制周期内同时输出平衡力矩、转向力矩和驱动力矩三个环是耦合的。稍微调不好就会出现为了保持平衡车身左右乱晃想加速时平衡控制器又开始大角度摆动。实际调试顺序建议先把平衡环调稳让车能原地直立再叠加速度环和循迹环。如果平衡环本身有延迟后面怎么调都是白搭。另外独轮车的重心高度对平衡影响很大电池位置轻微变化可能就让你重新调一整天。第十八届现场很多独轮车队伍早上还能跑中午换个电池重心变了车就站不起来了这种问题只能靠规范化装配来解决。4.3 声音信标组声源定位与快速转向声音信标组的赛道不再是标准跑道而是场地内随机布置的若干个信标。某个信标发出声音车要冲到声源附近触发信标切换后再去追下一个信标。这更像一个追逐任务车的路径是动态的不是固定的。声源定位核心是麦克风阵列。常见的是在车头装三个或四个麦克风利用同一声音到达不同麦克风的时间差来估计声源方位角。时间差可以用互相关估计理论上精度能做到不错但实际场地有回声和噪声实测误差会大不少。有一个常被忽略的问题是车速。如果你算出声源在正前方30度但车以高速冲过去等你转向完成声源方向已经变了。所以声音信标组的速度环要专门做到达末期的减速控制越靠近信标速度越慢直到触发切换。这和摄像头组跑环岛是同一个逻辑先保证能到再考虑快。5. 视觉与越野跳出赛道的两种解题思路5.1 智能视觉组与完全模型组从巡线到语义理解智能视觉组和完全模型组都有视觉任务但比传统摄像头组高一个层次。传统摄像头组做的是找赛道边界目标颜色、形状相对固定智能视觉组则要识别具体物体比如数字、颜色标签、锥桶、停车区域甚至红绿灯状态。这意味着程序里必须部署真正的目标检测或分类模型而不是一个简单的二值化。第十八届的时候很多队伍用OpenART mini这类边缘视觉模块把摄像头采集的图像直接送入跑好的模型输出目标类别和坐标。训练数据要自己拍这个坑很大。很多人以为模型都是拿现成权重直接用实际上官方给的是预训练权重赛道上的光照、摄像头角度、物体大小都不同必须自己做数据增强和微调。决策层也别写得太死。比如识别到红色区域后不要直接写死看到红色就减速因为赛道上的红色可能是路肩、锥桶也可能是官方贴的标记。更好的做法是输出一个结构化的感知结果包括类别、置信度和位置再由状态机根据当前场景决定动作。完全模型组的赛道语义更接近自动驾驶车道保持、静态避障、动态避障、红绿灯停车。它的核心是任务编排不是单纯跑得快。5.2 极速越野组GPS、路径点与速度的博弈极速越野是室外组场地是操场或者草地赛道没有边界线车靠GPS路径点来确定大致方向。听起来很简单实际上GPS在普通环境下误差有数米如果直接按GPS坐标控制方向车会画龙。更麻烦的是GPS数据更新频率通常只有5到10赫兹对一辆高速越野车来说两个数据点之间车已经跑出去好几米。实践中多数队伍用GPS做粗定位惯性传感器和编码器做短距离修正的组合方案。车在直道时可以开得很快快到弯道前要提前根据路径点规划减速度不能等到了弯心才发现偏了。这个组的比赛经验其实涉及路径规划与航位推算不是单纯的控制问题。第十八届现场能看到很多越野车在操场直道上跑得很欢一进弯就飞出去基本都是减速度规划没做好。5.3 摄像头的曝光与现场环境对抗无论视觉组还是摄像头组现场灯光永远是最大的敌人。赛场顶光、逆光、灯管频闪都会让图像质量骤降。赛前一定要做曝光锁定和自动白平衡关闭否则图像一亮一暗地跳中线提取会跟着抖。我们当时用一个简单方法赛前对着场地拍一段视频统计像素亮度的变化范围然后手动设定曝光时间和增益把画面控制在最稳定的工作区间。图像处理还有一个容易被忽略的细节赛道边界的提取在弯道处会出现八邻域搜索方向的选择问题。如果搜索方向固定弯道过急时边线会断中线也就跟着跳。建议做动态搜索方向每次都从上一帧边界点的位置开始向当前行进方向的左右两侧搜索能大幅提高边线连续性。6. 从第十八届看备赛时间线、工具链与翻车点6.1 备赛时间线多数队伍真正有效开发期只有四到五个月智能车竞赛每年下半年发规则次年上半年分区赛8月全国赛。对于大多数队伍来说真正能用来开发的时间是1月到7月。建议按四个阶段拆阶段时间任务平台搭建1月前后车模装好、主控选型、传感器点亮、跑通最简单的循迹Demo基础稳定2到3月把直道、大弯跑稳速度能到0.6到0.8米每秒元素专项4到5月逐个攻破十字、环岛、坡道、断路把状态机补全提速与调优6月到赛前逐步加码速度反复跑赛道做可靠性压测很多队伍前期花大量时间在选型上车模装了拆、拆了装等到4月传感器还没固定好。建议第一步就先把基础跑通哪怕算法很粗暴先让车能动起来这个正反馈比什么都重要。车能跑之后团队才有动力继续改下去。6.2 现场翻车点与排查链路比赛现场看到最多的故障基本可以分成三类。第一类是传感器偶发失效。现象是车跑着跑着突然某个点方向偏掉然后又恢复。原因大概率是排线松动或者线头氧化。赛前一定要把所有连接器重新插拔一遍有条件就换新排线。第二类是电池问题。临上场前换上旧电池或者电池充电不满跑一圈之后车速下降十分明显。一定要建立统一的电池管理表记录每块电池的循环次数和使用时间上赛场前只拿状态最好的那几块。第三类是程序崩溃。单片机死机、看门狗没喂导致复位都会让车在赛场上突然停下或者乱跑。程序里一定要加看门狗并且留一个冲出赛道后自动停车的保护逻辑。这些保护逻辑平时看着多余关键时刻能救回一整年的努力。6.3 给后续参赛者的一些实在建议先解决可靠性再解决速度。一辆永远不会冲出赛道的慢车比一辆容易冲出去的快车更容易获奖。调试时保留数据。跑完一圈就把关键传感器数据导出来做回归对比否则改了参数都不知道改在哪。多备一套关键机械件。转向舵机、轮胎、电池、排线是最容易在赛场上坏的。组队时不要全部都是写程序的至少要有一个人懂机械、一个人懂硬件不然遇到信号问题就是灾难。提示第十八届之后很多组别规则都有微调但赛道元素和工程方法基本延续了下来。准备新一届比赛时与其到处找新代码不如先把这些基础元素的处理逻辑彻底搞懂。最后说句我自己的感受。第十八届的赛道规则看完最深的体会是这比赛越来越不是在考车跑得快不快而是在考整个团队遇到问题之后能不能用工程方法快速定位和解决。赛道上的元素你都能在网上找到开源代码但真正拉开差距的是当车不按你的预期跑的时候你知不知道问题出在哪。这种能力智能车竞赛能练出来专业课很难教出来。早点把车搭起来让它先跑起来比什么都强。
返回列表