普通小车只会前后转圈,麦克纳姆轮小车却能平移、斜着走、原地自转,原因就在每个轮子外圈斜着包了一圈小辊子,这些辊子和轮轴成45度角。四轮配合,靠斜辊与地面的斜向摩擦力合成出任意方向的速度,实现全向移动,仓库搬运机器人和大赛底盘都爱用它。这篇把四个轮子怎么区分A B、怎么按X形对角装、代码怎么写正、怎么平移讲透。
先分清A轮B轮:辊子朝向就是记号
麦克纳姆轮分两种旋向:从车轮正前方看,辊子轴线呈左斜的是A轮(左旋)、右斜的是B轮(右旋),市面上常标记为L和R。装的时候必须按"X形对角"来配:前左和后右用同一旋向,前右和后左用另一种,这样四个轮子辊子的投影才能组成稳定的X形。装反一对,小车要么原地打转要么姿态别扭,这是第一次做全向车最容易翻车的地方。

X形对角示意:两两垂直的斜辊才是关键
正确的X形布置下,四个轮子的斜辊指向正好两两相对、呈对角线对称。前进时每个轮子都朝前转,斜辊把向前的力分解出一个向前的分量和一个横向分量,四轮横分量互相抵消,合成出纯前进;要横移就把左右侧轮反着转,横分量叠加、纵分量抵消,车就平着滑过去。看懂这张受力示意,就明白全向移动全靠斜辊角度在"骗轮子"。底盘为了这套布置通常做方形或四轮独立悬挂。

接线与驱动:四电机四个电机口
每个麦克纳姆轮一个电机,四轮要四个独立的电机输出。经典方案是两片L298N或一块四路驱动板。以每片L298N带同侧两轮为例,把IN1到IN4接到Arduino数字口,ENA高电平启用使能,就能用analogWrite调速。编号要对应好轮位和电机,别在代码里把轮序搞混,建议先在板子上用笔标记前左、前右、后左、后右。
代码:平移和自转的轮速组合
全向控制的本质是给四个轮子赋不同的速度和方向。前进就是四轮同向同速;向右平移就把左右侧轮反向;自转则让左半和右半轮完全反向转动。用一两个数组存四轮PWM值,运动函数里按状态赋不同组合即可。起步要做两侧速度的死区补偿,不同电机的空转电压不一样,不做补偿车会走歪。架空车轮先空转测转向对不对,再落地。(来源:Osoyoo四轮全向搭建示意)


靠斜辊角度合成力那图直观,看懂受力示意就明白咋做平移了
两侧电机死区补偿太关键,不做补偿车直着走都会歪,落地前先架空空转测试
A轮B轮按X对角装这个点,我第一次装反一对轮子车就原地打转