为什么麦克纳姆轮在 FTC 自动阶段会发生漂移(以及如何在不使用从动轮的情况下解决)

麦克纳姆轮的漂移是由于软质泡沫地垫上受力矢量无法完美抵消所致。无需安装从动轮,只需利用 Control Hub 内置的 IMU 锁定航向并控制加速度,即可消除大部分自动阶段误差。
麦克纳姆轮底盘在 FTC 自动阶段程序中容易发生漂移,是因为其运动依赖于 45 度对角线受力矢量的精确数学抵消。在柔软且不平整的 EVA 泡沫地垫上,不均匀的法向反作用力与辊子打滑会导致这些矢量无法完美平衡,从而产生随距离不断累积的意外偏航(Yaw)。你并不需要昂贵的无动力里程计从动轮(Dead Wheels)来解决这个问题:只需利用 REV Control Hub 内置的 IMU 进行航向闭环控制,并限制加速度以保持在辊子的静摩擦力极限内,就能消除绝大部分自动阶段的路径误差。
麦克纳姆轮打滑的力学原理
标准牵引轮施加的作用力平行于车轮的旋转方向。而麦克纳姆轮则通过与轮盘成 45 度角的无源辊子传递力。当电机驱动麦克纳姆轮向前旋转时,接触面会产生一个对角线方向的矢量:一个分量推动机器人向前,另一个等大的横向分量则向侧向推动。
为了实现直线前进,左右车轮会施加大小相等、方向相反的横向力并相互抵消,仅保留向前的推力。为了实现纯侧向平移,对角线上的轮对会反向旋转,抵消向前推力的同时叠加横向推力。
这种受力矢量的完全抵消基于三个在比赛场地上绝不可能完全满足的前提条件:
- 对称的法向反作用力:如果机器人的重心哪怕稍微偏向电池或升降机构一侧,较重的轮角就会承受更大的法向反作用力和牵引力。较轻的轮角则会发生打滑,导致横向分力无法被抵消。
- 均匀的地面牵引力:柔软的拼接式 EVA 泡沫地垫会在重量作用下发生形变。辊子下陷到泡沫中的深度各不相同,使得有效接触角和滚动阻力在每毫秒都在动态变化。
- 完全相同的动摩擦因数:市售标准麦克纳姆轮上的无源塑料与橡胶辊子存在细微的制造公差、轴向间隙以及内部摩擦力差异。
当受力矢量未能完美抵消时,最直接的结果就是产生意料之外的偏航力矩。一旦机器人偏离预定航向仅两到三度,后续每一个电机编码器脉冲都会沿着已偏转的轨迹驱动机器人,使位置误差随时间成倍放大。
解决方案:主动 IMU 航向校正
电机编码器虽然能测量车轮轴旋转的圈数,却无法测量辊子在地面上的侧滑程度。然而,要解决自动阶段的大部分定位不准问题,你并不需要完整的笛卡尔坐标位置追踪。只要防止机器人偏离其预定航向,平移编码器产生的误差就会保持在线性且可预测的范围内,而不会演变成灾难性的旋转偏航。
每个 REV Control Hub 都内置了一个惯性测量单元(IMU),能够在 30 秒的自动阶段内以高精度和极小漂移量读取绝对角度朝向(偏航角)。
实现航向锁定控制环
与其将原始平移功率直接发送给底盘电机,不如将航向误差输入到一个比例-微分(PD)控制回路中,实时将校正旋转功率注入到麦克纳姆轮运动学方程中。
用于计算电机功率的标准麦克纳姆轮运动学方程如下:
Front Left = Drive + Strafe + TurnFront Right = Drive - Strafe - TurnBack Left = Drive - Strafe + TurnBack Right = Drive + Strafe - Turn
在开环程序中,直线行驶或纯侧向平移时的 Turn 均设为零。而在主动航向锁定程序中,Turn 会在每个控制循环周期根据 IMU 偏航角反馈动态计算:
- 读取当前航向:从 IMU 获取当前的偏航角度。
- 计算航向误差:计算目标航向与当前航向之间的最小角度差,务必将角度归一化在 -180 到 +180 度(或 -π 到 +π 弧度)之间,以防止角度越界突变错误。
- 计算校正量:将误差乘以调谐好的比例增益(
kP),并加上误差变化率乘以微分增益(kD)以抑制系统振荡。 - 应用与归一化:将此校正值代入
Turn变量。如果有任何电机的计算输出超过 1.0(或 -1.0),则将所有四个电机的功率除以其中的最大绝对值,从而在不发生截断失真的情况下保持预期的受力矢量比例。
电机功率归一化至关重要。如果你的机器人正以全功率向前行驶,而控制器要求进行转向校正,未归一化的数值截断将彻底抵消校正差速,无论软件增益如何调整,机器人都会发生漂移。
通过斜率限制(Slew Rate Limiting)抑制动态打滑
主动航向校正解决了旋转漂移问题,但剧烈的加速度仍会引起纵向和侧向打滑,导致车轮转速超过底盘实际加速能力。当辊子失去对泡沫地垫的静摩擦抓地力时,电机编码器记录的将是不复存在的空转距离。
在不使用从动轮的情况下解决动态打滑的方法包括:
- 限制加速度(斜率限制):切勿在单个循环周期内将电机目标功率直接从 0.0 跳变至 1.0。使用简单的速率限制器逐步提升功率(例如限制加速度为每 20 毫秒循环周期功率增幅不超过 0.05)。
- 采用速度曲线减速:使用梯形或 S 曲线速度规划,在达到目标编码器读数之前让机器人提前平稳减速。突然急刹会导致机器人在地垫上滑行,从而使目标停止点失效。
- 优化机械接地接触:确保底盘具有轻微的扭转顺应性,或在一个车轴上设计摇臂悬挂。如果刚性四轮底盘遇到泡沫地垫之间的不平整接缝,其中一个车轮就会轻微离地,瞬间失去牵引力并引发打滑。
什么时候才真正需要从动轮?
许多赛队之所以过早采用三轮弹簧加压的里程计从动轮结构,是因为他们误以为麦克纳姆轮无法完成可靠的 30 秒自动阶段路径。事实上,一个调校良好的航向锁定环结合基于编码器的速度平滑规划,完全足以完成高分自动任务、稳定贴靠场地围栏并实现精准停靠。
只有当你的自动阶段策略需要复杂的高速多路标样条曲线路径(例如完整的 Road Runner 或 Pedro Pathing 轨迹),并且机器人必须在与场上道具发生碰撞或在整个场地宽度内剧烈平移后仍能准确获取自身 (X, Y) 坐标时,无动力从动轮里程计才成为不可或缺的刚需。
如果你正在搭建和改进 FTC 底盘,或希望带领战队掌握自动阶段运动规划技术,欢迎访问 Sheen Robotics FTC 资源 查阅我们的赛事工程指南。



