☰
走马观碑备赛:先跑通无视觉车模,再谈视觉识别
2026/10/30 19:15:55 网站建设 项目流程

21届“走马观碑”赛题备赛时,很多人最先关注的是“视觉”。但真正跑过车模的人都知道,视觉不是第一步。先让车模在一段普通赛道或调试赛道上稳定运行起来,把整车动态、转向逻辑、电机响应和调试链路都摸清楚,再考虑接入摄像头、处理图像、识别特征,才是更稳妥的上手顺序。这段“21届走马观碑车模运行视频(未加入视觉)”对应的状态,恰好就是视觉接入前最关键的底盘与整车调试阶段。

这篇文章就围绕这个阶段展开,适合正在备赛第21届全国大学生智能汽车竞赛“走马观碑”组别的队员,尤其是刚入手车模、还不确定该先调硬件还是先写视觉代码的同学。我会按实际调试顺序拆解:为什么先不加视觉跑车模、没加视觉时车模需要具备哪些条件、运行视频应该录什么、怎么看车模状态是否正常、后续接视觉时要注意什么,以及常见异常怎么排查。

1. 先搞清楚“走马观碑”为什么要从无视觉车模开始

1.1 走马观碑赛题的核心特点

“走马观碑”作为第21届智能车竞赛的赛题组,从名字就能猜到,它强调的是车辆在行驶过程中“观察记录”赛道或周边特征。结合近两年智能车竞赛的趋势,这个赛题大概率会涉及视觉识别、赛道元素检测、路径规划或信标定位里的某些组合。也就是说,最终参赛车模通常要带摄像头或视觉模块完成任务。

但这里有一个很容易被忽略的事实:视觉只是车模系统的一部分。车模要先能跑得稳、转得准、刹得住,视觉信息才有意义。如果车模本身在直道上都走不直,过弯时转向震荡,那就算视觉识别再准,控制端也执行不到位。

所以“未加入视觉”的跑车视频,并不是一个“不完整”的阶段,而是整个备赛链条里非常关键的一环。它验证的是车模的底层平台是否健康,是后续所有上层功能的地基。

1.2 为什么先跑通无视觉状态能节省大量排错时间

带视觉调试时,如果车模出现冲出赛道、原地打转、识别延迟等问题,很难判断问题出在哪一环。

  • 是摄像头图像丢了?
  • 是图像识别到但坐标算错了?
  • 是坐标算对了但转向执行慢了?
  • 是转向执行正常但底盘机械结构有虚位?
  • 是电机响应不够,还是PID参数不合适?

这些环节只要有一处异常,车模表现就会不正常。而同时排查整条链路,对新手来说非常痛苦。

先不加视觉跑车模,可以把问题拆开:

  1. 先确认硬件本身能正常工作。
  2. 再确认基本控制逻辑能跑通。
  3. 然后确认转向、速度、刹车的响应符合预期。
  4. 最后才引入视觉,让视觉输出和控制逻辑对接。

这样每一步的变量较少,出问题时定位会快很多。我在实际调试时,很多看似“视觉识别不准”的问题,最后查下来其实是车模底盘颠簸导致图像抖动,或者转向舵机响应太慢。这些不先把车模跑稳,根本发现不了。

1.3 这段运行视频应该怎么定位

“21届走马观碑车模运行视频(未加入视觉)”这种素材,通常出现在两个场景:

  • 备赛初期,整车刚刚组装完成,队员用一段视频记录车模能否在赛道上正常行驶。
  • 视觉调优过程中,为了排除视觉干扰,把视觉模块暂时禁用,只保留底盘控制逻辑,跑一段视频验证底层是否正常。

无论哪种场景,这段视频的核心用途都是“确认整车平台状态”。所以录视频时,不能随便录一段车模乱跑的画面就结束。视频要能帮助判断问题,最好同时包含赛道环境、车模姿态、转向位置、速度变化和异常抖动。

2. 车模运行视频跑通前,先把这些环境条件确认清楚

2.1 整车硬件列表要完整,缺失部件会直接影响运行表现

跑无视觉车模之前,先确认整车是否达到“可运行”状态。通常一辆标准智能车车模,至少要包含以下部分:

部件作用未安装或异常时的表现
车模底盘承载所有电子设备重心偏移,高速时不稳定
驱动电机提供前进动力车模不走或速度上不去
转向舵机控制前轮转向无法转弯,或转向响应迟钝
电机驱动板放大控制信号驱动电机电机不转、发热、异响
主控板运行控制算法整车无法按逻辑运行
编码器检测车轮速度或位置速度闭环无法工作
电池供电电压不足时车模无力、复位
电源模块稳压和分配电量芯片供电不稳,出现随机重启

有些队伍还会用到陀螺仪、加速度计、蓝牙调试模块、无线串口等。先把这些硬件确认好,再进入软件调试。不然可能调了半天程序,最后发现是舵机供电不足或者电机线接触不良。

2.2 电子连接和供电稳定性,是新手最常忽略的一环

车模跑起来之后,震动和电流波动都会出现。如果接线不牢靠,最常见的现象是:

  • 跑着跑着突然失去转向。
  • 加速时主控重启。
  • 舵机抖动但没有规律。
  • 编码器读数突然跳变。

这些问题在静止状态下很难发现,因为不通电、不震动时接触都正常。一旦上赛道,振动一来,虚接问题就暴露了。

所以在录制“未加入视觉”的运行视频之前,先做几项基础检查:

  1. 所有接头是否插紧,最好有防脱设计。
  2. 电源线是否够粗,至少能承受电机的峰值电流。
  3. 主控板、驱动板、舵机是否共地。
  4. 编码器信号线是否远离电机和驱动板的大电流线路。
  5. 电池电量是否充足,跑完几圈后电压会不会降到保护阈值附近。

如果这些基础问题没处理,后面排查视觉相关功能时,会经常被“随机偶发故障”干扰,非常浪费时间。

2.3 软件环境:先确认主控能正常烧录和输出日志

无视觉阶段不需要图像处理库,也不需要跑神经网络推理。但主控上至少要包含这些基础能力:

  • 电机PWM输出正常。
  • 舵机PWM输出正常。
  • 编码器采集正常。
  • 串口或无线日志输出正常。
  • 基础状态机能切换空闲、启动、运行、停止等状态。

我在调车时常做的一个动作是:把车模架起来,让车轮悬空,先只发一个固定PWM值,观察电机是否正常转动;再发一个固定舵机角度,观察前轮是否转到指定位置。这个阶段不需要写完整的赛道控制逻辑,只需要验证“控制命令到底能不能传到执行机构”。

等这两步都正常了,再放回赛道跑。如果架起来正常、放下就跑偏,问题基本在机械重心、轮胎摩擦、地面平整度或转向零点偏移上。

2.4 赛道条件:不需要完整赛道,但最好有直道和弯道

录制“未加入视觉”的运行视频时,很多人会随便找块空地跑。这样不是不行,但信息量太低了。

更建议准备一段包含以下元素的赛道:

  • 一段足够长的直线,用来观察车模是否走直。
  • 一个半径较大的弯道,用来观察转向是否流畅。
  • 一个半径较小的急弯,用来观察转向是否滞后。
  • 一段略有颠簸的路面,用来观察整车抗抖动能力。

如果条件有限,可以用胶带在地面贴一个简易环形赛道。重点是让车模在运行过程中有足够的加减速和转向变化,这样视频才能暴露问题。

3. 单圈运行视频怎么录、怎么判断车模状态正常

3.1 录制视频时要包含可判断的参照信息

很多队伍录出来的车模运行视频,画面里只有车模,旁边没有参照物,也没有速度、转向角、舵机输出电压等数据。这样的视频只能看个大概,没法定位问题。

建议在录制时,尽可能让视频包含这四类信息:

  1. 赛道边线和起跑线,方便判断车模是否按路线行驶。
  2. 车模前轮角度,方便看到转向是否到位。
  3. 车速变化,可以通过车身移动速度直观判断,也可以叠加串口数据画面。
  4. 异常噪声,比如电机异响、舵机啸叫、轮胎打滑声。

如果开发环境允许,还可以用手机拍赛道的同时,用另一块屏幕显示串口日志或上位机波形。这样后续回看视频时,能把“车模姿态”和“内部数据”对应起来,排查效率会高很多。

3.2 单圈跑通的最低判断标准

“未加入视觉”阶段,怎么判断单圈跑通了?不能只看“没冲出赛道”就认为成功。至少要满足以下几点:

  • 车模能稳定起步,不会窜出去。
  • 直道能基本保持直线,不出现明显左右摆动。
  • 弯道能平滑转向,不会反复修正或大幅抖动。
  • 全程没有突然的顿挫、卡顿或重启。
  • 跑完一圈后,电机、驱动板、电池温度在正常范围。
  • 串口日志没有连续性报错。
  • 连续跑三圈,表现基本一致,不是靠运气跑完一圈。

这里特别强调“连续三圈”而不是“单圈”。很多车模单圈表现还可以,但第二圈、第三圈会出现问题。原因包括电池电压下降、驱动板过热、机械结构在震动下松动、轮胎逐渐磨损等。如果视频里只是单圈,这些不稳定因素不容易暴露。

3.3 怎么在视频里判断转向是否合适

转向是底盘调校中比较难判断的部分。只看车模有没有过弯,不太够。可以看几个细节:

  • 入弯时,转向是否在正确位置就开始动作。
  • 弯道中,前轮角度是否稳定,还是反复左右修正。
  • 出弯时,是否迅速回正,还是回正过慢导致车头朝向漂移。
  • 连续弯道区域,整车姿态是否流畅,节奏是否一致。

如果视频里出现“过弯时车头在左右摆”,常见原因有:

  1. 转向PID中比例系数或微分系数不合适。
  2. 舵机响应速度不够,转向指令更新频繁。
  3. 车模速度太快,超出了当前转向能力。
  4. 转向零点偏移,导致左右转向不对称。

先用视频确认现象,再对症下药。不要一开始就乱改PID参数,先确认执行机构响应是否正常,再谈算法。

4. 从无视觉到视觉接入,衔接顺序比功能数量更重要

4.1 别等到车模完全调好再考虑视觉,也别一上来就同时改所有东西

“未加入视觉”阶段跑稳之后,下一步不是直接把摄像头装上、一口气把识别和控制全做完。更稳妥的做法是分步接入。

第一步,先给车模加装摄像头支架和图像采集模块,但视觉算法还不出结果,只验证图像能不能稳定采集。

第二步,跑一段车模,同时采集图像,检查图像是否清晰、是否抖动、曝光是否正常、帧率是否够用。

第三步,离线处理采集到的图像,先不控制车模,验证识别算法是否能在测试图片或录制的视频上输出正确结果。

第四步,把识别结果通过串口发送给主控,主控只做数据解析,不参与控制,观察数据是否正确。

第五步,用识别结果做最简单的辅助控制,比如只在直道提示,或者只在特定区域触发标志,先不追求完整闭环。

这样每一步都有明确的验证目标,即使出错也能快速定位是图像问题、识别问题、通信问题还是控制问题。

4.2 无视觉阶段能为视觉接入准备哪些数据资产

很多人觉得“未加入视觉”阶段只是浪费时间,其实这个阶段可以积累很多后面有用的数据。

一是赛道结构数据。车模跑几圈之后,记录转向舵机输出、车速、编码器计数的曲线,可以了解赛道上哪些区域对转向要求高,哪些区域车速波动大。视觉接入时,这些数据可以作为参照。

二是图像采集标定数据。给车模安装摄像头后,需要标定摄像头的位置、姿态、视野覆盖范围,以及实际距离与像素坐标的对应关系。这些标定工作不依赖识别算法,但直接影响识别效果。

三是整车动态响应数据。无视觉阶段已经调好了一组底盘参数,比如直道速度、弯道速度、转向PWM范围等。视觉阶段只需要在此基础上调整,不需要重头再来。

很多队伍在视觉阶段进度慢,不是因为识别算法不会写,而是因为底盘的“基准数据”没有记录好。比如转向极限角度是多少、多少PWM对应多少速度、舵机从最左到最右需要多少毫秒。这些数据在无视觉阶段就应该整理成文档。

4.3 视觉组真正要联合调试时,优先验证“视觉输出到控制输入”的链路

当视觉算法在离线数据上基本稳定后,再上车联调。联调时不要直接追求“视觉识别到目标然后全速完成避障”,而是先做一个最简闭环:

  • 摄像头采集一帧图像。
  • 识别算法输出目标位置或赛道边界。
  • 主控把识别结果转换为转向修正量或速度修正量。
  • 车模执行简单动作,比如减速、小幅转向。

跑起来后,重点观察三件事:

  1. 图像帧率是否满足控制需求。如果图像处理太慢,控制指令滞后,车模会“看到但来不及反应”。
  2. 识别结果是否稳定。偶发误识别可以靠算法过滤,但如果频繁跳变,需要先解决识别稳定性,再丢给控制端。
  3. 控制命令是否平滑。即使识别结果有轻微抖动,最终输出的PWM或转向角也要做平滑限制,否则车模会表现出剧烈抖动。

这里要特别提醒:视觉识别加上之后,车速要适当降下来。很多人喜欢一上来就按无视觉阶段的速度跑,结果图像糊了、曝光乱了、算法处理时间也不够了。先降速,把视觉闭环跑通,再逐步提速,这是更稳妥的顺序。

5. 常见异常与排查链路:先看现象再动参数

5.1 车模不走或速度很慢

如果车模不上赛道跑,或者跑起来速度远低于预期,先按这个顺序排查:

  1. 确认电池电压是否足够,电量低时驱动能力会明显下降。
  2. 确认电机PWM输出是否正常,用示波器或串口打印查看PWM波形。
  3. 确认驱动板是否使能,很多驱动板有一个EN使能引脚,没拉高时电机不转。
  4. 确认电机连线是否接触良好,尤其是端子和焊点位置。
  5. 确认编码器读数是否正常,速度闭环里如果编码器采集异常,速度会一直被限流。

很多新手会直接去调PID,但实际情况可能是电机线接触不良或者驱动板没使能。先看硬件信号,再动软件参数。

5.2 车模走不直,一直向一侧偏

无视觉阶段出现走不直,最需要怀疑的是机械和舵机零点问题,而不是纯算法问题。

排查顺序:

  • 先目测前轮在舵机回中时是否完全摆正。
  • 用串口发送舵机中值,测量前轮实际角度。
  • 检查左右转向是否对称,如果一边转向角度大一边小,是连杆或舵机安装问题。
  • 检查左右轮胎磨损程度和胎压,差异明显时会向一侧跑偏。
  • 检查底盘是否有变形,电池或线束是否导致重心偏移。

如果这些都没有问题,再检查转向PID中的零点偏置,通过软件修正。

5.3 弯道转向迟钝或过大

弯道中的异常表现,先分清楚到底是“转向不足”还是“转向过度”。

转向不足的表现是车头转不过去,容易冲出弯道外侧。常见原因:

  • 入弯速度太快。
  • 舵机电压不足,转向力矩不够。
  • 转向角度或转向速度限制太低。
  • 识别到弯道的时机太晚,控制指令太晚执行。

转向过度的表现是车头转向过多,车尾向外甩或整车旋转。常见原因:

  • 转向PWM标定不准,转向角度比预期大。
  • 后轮驱动力过大,突破轮胎抓地极限。
  • 急减速或急加速时载荷转移导致后轮打滑。
  • 转向PID中比例系数偏大,修正过度。

视频能帮上很大忙。录下弯道表现后慢放,能看清车模是从哪个点开始转向、转向过程中有没有修正、出弯时有没有回正。不要只凭感觉调参数。

5.4 车模偶发重启或卡顿

跑着跑着突然重启,是最让人头疼的问题之一。绝大多数情况下不是控制算法写错了,而是供电或硬件稳定性问题。

重点检查:

  • 电池放电能力是否足够,大电流时电压掉到主控低压阈值之下。
  • 电源模块是否留足余量,舵机、电机、主控共用电源时容易出现波动。
  • 主控供电是否独立滤波,电机频繁启停时会拉低母线电压。
  • 是否有静电或信号干扰导致主控复位。
  • 线材是否松动,车模跑动时震动导致接触断开再恢复,表现就是“卡一下然后重启”。

排查时可以用串口日志记录上电时间、复位原因等。如果主控支持复位原因寄存器,优先读取日志确认复位来源,不要盲目换器件。

5.5 视觉加入后车模表现反而变差

如果无视觉阶段车模很稳,加上视觉后变差了,先不要急着否定视觉方案。更多时候是“视觉输出的节奏”和“控制逻辑的节奏”不匹配。

常见原因有:

  • 图像采集帧率偏低,导致控制指令更新频率下降。
  • 视觉算法预处理耗时太长,识别结果到达主控时已经“过期”。
  • 摄像头安装角度不合适,看到的近处信息太少或远处信息太多。
  • 视觉输出的坐标波动较大,没有做滤波或平滑。
  • 控制端对视觉结果的信任度过高,某帧误识别直接导致大幅转向。

建议在视觉处理代码里加入耗时统计,每一帧的图像采集时间、预处理时间、推理时间、结果发送时间都打印出来。先确认“多久出一帧结果”,再决定控制周期应该设多少。

6. 这个阶段最值得留住的调试资产与后续节奏

6.1 建立硬件与参数记录表,别靠记忆调车

车模调试过程中,变量很多。今天动了一下舵机零点,明天改了一个速度参数,如果只靠记忆,很容易出现“这版代码跑得还行,但我不知道改了什么导致的”。

建议从无视觉阶段开始,就建立一份简单的记录表,至少包含以下字段:

字段示例
日期2025-04-12
车模编号主力车模
电池电量12.3V
赛道条件简易环道,含两个直角弯
最高车速2.5m/s
弯道车速1.2m/s
舵机中值1500us
转向限幅1000-2000us
主要修改将转向PID的D系数从1.2改为1.5
测试结果弯道转向更平滑,直道无明显摆头
待观察问题连续三圈后驱动板温度偏高

这份记录在视觉阶段尤其有用。当车模状态异常时,翻看之前的参数记录,可以快速回退到稳定版本。

6.2 把运行视频做成“问题定位素材”,而不是“进度展示素材”

同一个视频,用途不同,录制方式也不同。

如果只是给队友或指导老师展示进度,那拍一段车模能跑的视频就够了。但如果要定位问题,视频必须满足几个要求:

  • 固定机位能看到整段赛道。
  • 手机或相机尽量不要追着车模跑,固定视角更稳。
  • 画面清晰度要能分清楚前轮角度变化。
  • 视频最好有同步串口数据,或者后期能叠加上位机曲线。
  • 记录下当时的主要参数,比如车速设定、转向PID参数、电池电压。

我一般会在车模跑之前先拍一段赛道空镜,再拍车模从静止到起步的动态,最后拍连续三圈的完整录像。这样回看时,可以对照起点位置判断车模每圈的时间差和路线偏差。

6.3 无视觉状态的结束标志是什么

不是“拍了视频”就算无视觉阶段结束。更合理的结束标志是:

  • 车模在已知赛道上能连续多次稳定跑完全程。
  • 转向、加减速没有明显异常抖动。
  • 电池从满电跑到低压保护,整车表现没有剧烈恶化。
  • 串口日志能完整记录一圈的数据,数据没有大面积丢包。
  • 硬件连接在连续震动后依然可靠。

满足这些条件,才说明整车平台已经具备承接上层视觉任务的基础。后续即使视觉识别偶发异常,也有一个足够稳定的底盘作为兜底。

6.4 给备赛队员的节奏建议

如果你现在刚开始备赛21届走马观碑,建议按这样的节奏推进:

第一周,完成整车组装和基础通电测试。不急着写复杂算法,先确认每个模块单独工作正常。

第二周,实现电机和舵机的基础控制,确认PWM输出、编码器采集、按键或遥控切换等功能可用。

第三周开始,跑单圈测试。每次只改一个参数,记录测试结果,积累稳定的底盘配置。

之后可以开始安装摄像头并采集赛道图像,但不要马上把识别算法接入控制。先用离线视频验证识别效果,再逐步联调。

最后才做完整闭环,在真实赛道上反复跑,微调速度、转向和平滑策略。整个过程中,“未加入视觉”的稳定车模运行状态,始终是排查问题的参照基准。如果后面车模突然表现怪异,先切回无视觉状态跑一遍,就能快速判断问题究竟出在底盘还是视觉链路上。这个习惯,建议早点养成。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询