智能车竞赛摩托组备赛全复盘:从机械设计到平衡控制与赛道元素处理
2026/9/21 0:37:15 网站建设 项目流程

简介:面向全国大学生智能汽车竞赛摩托组备赛,这份PDF完整梳理了从赛题解读到落地的技术方案。内容紧扣K2型摩托车模的新结构,深入讲解后轮16个小轮的动态平衡原理,并推荐TC297/TC264核心板作为主控,搭配神眼摄像头与MUP6050陀螺仪完成循迹和姿态检测。方案重点分析了后轮双电机的协同控制方式,给出基于角速度环、角度环、速度环的串级平衡算法,同时补充硬件选型、母板引脚分配、软件调试及倒行循迹等实操建议,可供参赛队伍直接参考。压缩包内为1个PDF文件,大小约2.97MB,内容集中便于随身查阅;目前已有1688人学习浏览,在智能车竞赛备赛圈内积累了一定认可度。无论新手还是有一定基础的团队,都能从中获取车模平衡模型、传感器配置和调试验证思路等关键信息,无论是备赛初期还是冲刺阶段都有借鉴意义。 第十九届智能车竞赛摩托组,应该是当年备赛群里讨论热度最高、翻车也最惨烈的组别。和四轮组完全不同,摩托组的车断电瞬间就会直接躺平,比赛成绩从“立住”开始算——连平衡都做不好的话,后面所有循迹、坡道、环岛策略全是空中楼阁。这篇方案分享,我按“机械→平衡→环路耦合→赛道元素→避坑”的顺序把我们的方案完整复盘一遍,重点讲那些论文和PPT里不会写、但实测时能折腾你一整周的细节。

1. 摩托组的核心难点:它和四轮车本质上不是一种车

1.1 静态稳定和动态稳定的本质差异

四轮车是一个静态稳定的系统,给它断电它原地趴着,不会出任何问题。摩托组则完全不同,两轮着地、车身靠动力学维持直立,断电等于失控,这在控制对象上就决定了方案的底层逻辑不一样。

四轮车的控制可以拆成“先循迹、再加减速”两个相对独立的模块,PID参数主要服务于路径跟踪精度。摩托组不行,平衡环必须一直在线,而且它的优先级高于一切。我们最早犯过的一个错误,就是想先把循迹调好再回头调平衡,结果每次弯道一抖车身就倒。后来才意识到,摩托组的循迹不是“控制方向”,而是“在保持平衡的前提下调整运动状态”,这两件事是强耦合的,不能分开调。

1.2 两轮自平衡的动力学直觉:转向就是平衡的执行器

很多人第一次接触摩托组会以为平衡是靠后轮加速实现的,就像那种两轮自平衡小车一样。真实情况不是这样,摩托组的直立控制核心执行器是前轮转向舵机。车身倾倒时,舵机让前轮往倾倒方向偏转,支撑点随之移动,配合前轮的陀螺效应产生回正力矩,车身才能重新直立。

这个机制用生活中的例子解释就是:你骑自行车,身体往右歪的时候,会下意识把车把往右打一点,车就正回来了。摩托组控制程序做的就是这一件事——用倾角误差驱动转向舵机,让车始终保持在一个“动态稳定”的状态。低速时主要靠支撑点位移,高速时陀螺效应占比变大,两套物理机制叠加在一起,所以参数不能一套走天下。

1.3 平衡只是地基,不是全部

我们确定方案时列过一句话:摩托组 = 平衡环(活着)+ 速度环(走得稳)+ 转向环(跟得上赛道)。三个环层层叠加,任何一个环出问题,最终表现都是“车倒了”。所以后面所有工作都围绕这个框架展开,每一步改动都先问自己一句:会不会影响平衡稳定性?这个问题看似简单,实际备赛过程中经常被忽略,比如换了一组更抓地的轮胎,弯道极限确实高了,但直立环参数没跟着改,结果一进弯就高频振荡。

2. 机械与硬件选型:重心、转向虚位和传感器布局的三角博弈

2.1 重心设计:低重心派和高重心派的实测对比

机械结构决定了控制难度的上限,这一条在摩托组体现得最明显。重心太低,回正力矩小,车倾斜之后要靠更大的转向角度才能救回来,直立环P值必须给得很大,系统容易发冲;重心拉高一些,回正力矩变大,直立相对容易,但过弯时惯性力矩也跟着变大,出弯容易过冲。

我们最终采用了“偏低但微靠后”的布局:电池平放在车身中后部,电机后置,前叉上方只放摄像头和IMU。这样做的原因是后轮承担主要驱动力,重心靠后可以保证加速时车身姿态变化平缓;前部尽量轻,转向舵机负载小,响应更快。实测下来,这个布局在低速弯和高速直道之间相对均衡,不需要频繁切换平衡参数。

2.2 转向机构虚位:振荡的隐性来源

舵机摇臂、球头拉杆、前叉轴承,这几个地方只要有一点虚位,直立环就会一直振荡。因为倾角误差会先吃掉虚位,舵机角度变化了但前轮实际转角没跟上,形成滞后,控制环路的相位裕度被吃掉一圈,表现就是车身高频抖动、电流偏大、舵机发烫。

我们检查虚位的方法是:断电状态下用手捏住前轮,左右轻轻转动,感受是否有明显旷量。有一版3D打印的转向座虚位接近2毫米,直立环D值加到一定程度就开始啸叫,换了带轴承的金属转向座之后,同样参数下稳了很多。这里建议直接买成品转向组件或者自己加工时预留轴承位,别在塑料件上省这几块钱。

2.3 传感器布局:IMU必须“长”在车架上

IMU安装的第一个要求是刚体连接,不能通过减震海绵贴在车架上,否则振动时IMU和车架的相对运动会直接污染角度数据。我们一开始用双面胶粘IMU,上电测试时角度波形毛刺特别大,换上螺丝固定之后波形明显干净了。

摄像头则要重点考虑前瞻距离和俯仰视野的平衡。前瞻太近,高速弯来不及反应;前瞻太远,近处的坡道和起跑线又看不清。我们最后用的是前瞻大约1.2米、俯仰角朝下10度左右的安装方式,这样既能提前看到弯道趋势,又不会丢失坡道入口的灰度边界信息。灰度传感器排成一排放在车头底部,用于坡道检测和近处补线,和摄像头形成远近互补。

3. 平衡控制的实现过程:从IMU解算到直立环调通

3.1 姿态解算:互补滤波在摩托组上的实际调校

姿态解算方案有两条路:直接用MPU6050的DMP输出,或者自己用陀螺仪积分加加速度计修正。DMP用起来省事,但输出频率有时不稳定,而且姿态四元数转欧拉角的计算延迟不太好控制。我们最终选了自己写互补滤波,在1ms控制周期里跑,代码量不大,逻辑也完全可控。

互补滤波的核心就一句话:角度 = 高通滤波后的陀螺仪积分 + 低通滤波后的加速度计角度。陀螺仪动态响应快但没有基准,会漂移;加速度计静态准确但有振动噪声,两者在频域上互补。滤波系数alpha通常取0.95到0.98之间,alpha越大越信任陀螺仪,但低频漂移越明显。我们在调参时用了一个简单方法:把车拿在手里快速倾斜再回正,看回正后角度是否归零,如果缓慢回飘就适当调小alpha。

另外陀螺仪零偏校准不能只做一次。MPU6050上电后前几分钟零偏会随温升变化,建议上电后静态采集500组数据取平均作为零偏,后续每30秒用静止状态检测再补偿一次。这一步不做的话,车会表现为“明明扶正了,平衡环却认为还有角度误差,一直往一个方向打舵”。

3.2 直立环参数整定顺序:为什么先D后P反而更快

直立环我们用的串级结构:外环是角度环,输入是目标倾角和当前倾角的误差,输出目标角速度;内环是角速度环,输入是目标角速度和陀螺仪实测角速度的误差,输出舵机PWM。这种结构比单级PD更容易调稳,因为内环先把手感变“阻尼”,外环只需要关注静态位置。

调参顺序我的建议是:先整定内环D,让车在手里快速转动时有明显阻尼感,然后固定内环,再逐步加大外环P,车会开始“自己找正”。最后微调外环D用来压振荡。很多队伍一上来就同时调P和D,结果参数维度太多,根本不知道是哪个环在振荡。以我们的控制代码为例,舵机输出归一化为-500到500,直立环参数最终收敛在P约3200、内环D约180,但这个数值只有参考意义,量纲和机械特性一变,参数范围就完全不一样。

3.3 平衡验收标准:别急着上赛道

直立环调完,不要直接放车上赛道。我们当时的验收标准是三条:松开手后能原地站立至少3秒;从侧面轻推一下能自动回正且不来回震荡;用手快速敲击车架,车身不出现持续高频抖动。三条都过了,才认为平衡环基本合格。

这里有一个容易被忽略的细节:测试时的地面要和比赛场地尽量一致。我们在实验室的短毛地毯上调好的参数,到了比赛场地的光滑地胶上,轮胎抓地力完全不一样,直立环直接失效。后来在实验室里专门铺了一块和比赛场地接近的地胶,才避免了赛前临时大改参数的尴尬。

4. 平衡环、速度环、转向环的耦合:从“立住”到“跑起来”

4.1 速度环不是给电机加PID,而是修正目标倾角

这是摩托组最容易理解错的地方。四轮组的速度环就是电机PID,输出直接给PWM。摩托组不一样,速度环的输出是目标倾角的修正量:想让车加速,不能直接给电机猛加油,而是让车身向前倾斜一个角度,平衡环感知到倾角偏差后自动让前轮转向,车因为重力分量开始向前加速。

我们速度环依然用PI结构,输入是期望速度和编码器实测速度的误差,输出是倾角修正量,限幅在正负5度以内。I项要特别注意积分饱和,车被卡住或者堵住的时候速度误差会一直累积,倾角修正量瞬间打到限幅值,一放开就冲出去。处理方式是积分分离:速度误差超过阈值时积分项不累加,实测下来起步和堵车后的表现都平顺很多。

4.2 起步与刹车的平滑处理:变化率限制是关键

起步瞬间,速度环输出从0跳到期望倾角,车身会猛地前倾,然后平衡环再救回来,反映到车上就是一冲一停,姿态很难看。解决方法是给速度环输出加变化率限制,让它用200到300毫秒的时间从0过渡到目标倾角,车身以接近恒定的角速度前倾,起步过程就自然了。

刹车也是同样的逻辑。如果直接从高速状态把期望速度降到0,车身会大幅后仰然后前栽。我们的做法是先降期望速度的变化率,同时给速度环输出加一个短暂的正向倾角偏置,让车身先微微前倾抵消后仰惯性,再平滑停下。这个逻辑在调试坡道下坡时特别有用。

4.3 转向环的“预倾斜”思路:弯道平衡不能只靠直立环

转向环处理赛道偏差,输出的是目标倾角偏置。入弯时,转向环根据偏差给出一个额外的倾角目标,让车身主动向弯道内侧倾斜,配合舵机转向完成过弯。这里的关键是转向环输出必须和直立环目标角度相加,而不是直接叠加到舵机PWM上,否则两个环会互相打架。

实际调参时我们发现,转向环P值太大会导致车身在弯道里左右摆动,因为倾角目标变化太快,直立环来不及收敛。解决方法是给转向环输出加一阶低通滤波,把目标倾角的变化率压下来,让车身以一个平滑的角速度进入倾斜状态。弯道出弯时再将倾角目标缓慢归零,车身自然回正,这个“预倾斜-保持-回正”的节奏练好后,环岛通过率会明显提升。

5. 坡道、起跑线与环岛:用有限算力处理赛道元素

5.1 坡道识别与参数切换:俯仰变化不能全交给平衡环

摩托组过坡道时,整车俯仰角会发生明显变化,如果直立环还是按平路的地平线作为角度基准,车就会把坡道误判成车身倾斜,然后向错误方向打舵。我们的方案不是去改平衡环基准,而是在检测到坡道后直接切换到一套坡道参数。

坡道检测我们用两个信号融合判断:一是IMU俯仰角的持续变化量,二是灰度传感器阵列检测到的前方边界异常。两个条件同时满足且持续3帧以上,才确认进入坡道。上坡时把直立环P值稍微调小,避免车身过于激进地回正;下坡时则调大P值,保证车头不扎地。实测下来这套检测逻辑在普通坡道上的可靠性还可以,但遇到光线剧烈变化时灰度误检率会升高,所以IMU信号作为主判据更稳。

5.2 起跑线检测:防误触发的工程化处理

起跑线通常是赛道上几根连续的横线,检测本身不难,难的是不误触发。我们的车跑过十字、环岛、坡道,这些地方都可能出现类似横线的信号,如果只靠“一行灰度全黑”就判定起跑线,误报会非常频繁。

我们的处理分两步。第一步,连续检测多行全黑信号,要求至少3行且宽度递增再递减,形成一个“横线进入-离开”的完整过程才有效。第二步,加上计时锁定逻辑:启动后前2秒内不检测起跑线,通过一次起跑线后5秒内不重复检测。这个策略虽然保守,但比赛时只求稳,停车位置有偏差顶多加罚,误停车直接没成绩,优先级很清楚。

5.3 环岛与十字:图像和灰度互补,不做复杂识别

环岛是摩托组的大难点,核心在于入环时边界会突然丢失。我们摄像头方案在环岛入口处检测到内侧边线消失后,不会立即认为“丢线”,而是根据上一帧的曲率预测继续走一段距离,同时用灰度传感器阵列确认是否进入了环岛内部。一旦确认入环,就锁定一个内圈曲率行驶,直到出环口检测到恢复的连续边线。

十字的处理相对简单:灰度阵列在十字中心会有一段全黑信号,但不能触发起跑线逻辑。我们把这两个逻辑放在同一个图像处理函数里,根据信号形态区分:起跑线是连续多行稳定横线,十字是短时间全黑后立即恢复。实际编码中用一个状态机管理,状态切换要加上时间戳,避免图像一抖就跳状态。这套方案没有做复杂的机器学习,对单片机的算力要求也低,比赛稳定性完全够用。

6. 调参实战与整备细节:我们踩过的最值得分享的坑

6.1 陀螺仪温漂:上电和跑赛后完全是两个数据

这个问题差点让我们决赛翻车。白天场地温度高,车在太阳下晒了十几分钟再上电,陀螺仪零偏和早上刚开机时差距很明显。早期测试时我们都是早上调好参数下午直接跑,结果下午经常会莫名往一个方向偏,查了很久才发现是温度导致零偏漂移。

解决方法是双保险:上电时做静态零偏校准,同时程序里增加运行时零偏估计,当检测到车身长时间静止且陀螺仪输出不为零时,把这个值作为新的零偏补偿。另外赛前尽可能让车在比赛温度下静置一段时间再上电,让元器件达到热平衡后再校准,零偏会更接近实际运行状态。

6.2 电机齿隙和编码器安装导致的低速抖动

速度环在小误差范围内容易出现极限环振荡,具体表现是车在直道上轻微“点头”。我们一开始以为是平衡环参数问题,调了很久没改善,后来发现是电机减速箱齿隙加上编码器联轴器松动,导致速度反馈信号在低速时跳变,PI控制器反复修正,反映到倾角上就是点头。

解决方法是把编码器改用硬连接,并且在速度环输出端加一个小的死区:速度误差小于某个阈值时输出保持原值,不反复调节。死区不能太大,否则巡线时车速会有停顿感,我们最终在死区宽度和响应速度之间取了平衡点,车跑起来平顺很多。

6.3 测试护具与复位设计:节省九成调参时间

摩托组测试频率很高,车一倒就要捡起来手动复位,如果每次都要重新上电校准,调一场参数至少浪费三分之一时间。我们做了一个简单的防护架,用碳纤维杆在车身两侧撑出两个支撑点,让车倒下时不会直接摔坏摄像头和舵机,同时车头加了一个光电传感器,检测到车身倾角超过阈值就自动切断电机输出,防止倒地后电机堵转烧驱动。

另外在程序里加了软复位逻辑:停车超过3秒自动记录当前机械零点,重新扶正后按一个按键就能快速恢复运行,不用拔电池重来。这个看似不起眼的小功能,在连续调参时节省的时间相当可观。如果让我给下一届队伍一个建议,那就是在开赛前一个月把所有机械虚位、线束固定和复位流程全部处理好,剩下的时间全留给参数整定和赛道测试。

本文还有配套的精品资源,点击获取

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

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

立即咨询