科创科普:机器人怎么“走路”——差速驱动、轮速差与转弯半径

机器人怎么“走路”——差速驱动、轮速差与转弯半径

一、为什么先说“差速” 很多同学第一次做小车,都会问:机器人没有方向盘,它到底怎么拐弯? 答案藏在它的两个轮子上。绝大多数两轮(或四轮、但同侧两轮由同一个电机带动)小车,采用的都是“差速驱动”:左边一个电机管左轮,右边一个电机管右轮,两个轮子的转速由程序分别设定。方向不是靠转动车轮的朝向得来的,而是靠“左右轮转速不一样”挤出来的。

把它想成划船:两个人一边一个桨,同时同速划,船就走直线;左边划得快、右边划得慢,船头就向右偏。机器人转弯的道理完全一样。

二、四种基本动作 设左轮速度为 v左,右轮速度为 v右,单位统一取“厘米每秒”: 1. 直行:v左 = v右,且都不为 0。 2. 原地左转:v左 = -v右(左轮倒转、右轮正转,速度大小相同),此时小车绕着两个轮子的中点自转。 3. 原地右转:v左 = +v、v右 = -v。 4. 弧线转弯:v左 与 v右 同向但大小不同。左轮慢、右轮快,车头向右偏;左轮快、右轮慢,车头向左偏。 注意第 2 条:很多初学者以为“原地转”必须让一个轮子停住,其实一个轮子停住(v左=0)时,车是绕着停住的那个轮子画小圈,而不是绕自己的中点自转。

三、把“差速”算出来:转弯半径与角速度 设两个轮子中心之间的距离(轮距)为 L,小车中心的转弯半径 R 满足: R = (L / 2) × (v右 + v左) / (v右 - v左) 小车绕自身中心的角速度 ω 满足: ω = (v右 - v左) / L (单位:弧度每秒) 这两个式子说明三件事: (1) 转速差越小,R 越大,走得越“平”;转速差趋近于 0 时,R 趋近无穷大,也就是直线。 (2) 转速差越大,R 越小,拐得越急。 (3) 当 v右 = -v左 时,R = 0,正好对应原地自转。

例题:某小车轮距 L = 20 厘米,程序设定左轮 10 厘米每秒、右轮 30 厘米每秒。 转弯半径 R = (20/2) × (30+10)/(30-10) = 10 × 40/20 = 20 厘米。 角速度 ω = (30-10)/20 = 1 弧度每秒。 若想让它转过 90 度(π/2 ≈ 1.57 弧度),需要的时间 t = 1.57 / 1 ≈ 1.57 秒。 也就是说:想拐多急,先算差;想拐多久,用角度除以角速度。这句话是机器人转弯编程的核心口诀。

四、一个真实案例:循迹小车怎么“跟着黑线走” 循迹小车底部装两到五个红外反射传感器,黑线吸光、白底反光,传感器输出高低电平。程序逻辑只有三步: 第一步,采样:读一次传感器,得到“现在压线的是中间,还是偏左、偏右”。 第二步,算误差:把传感器位置换成数字,例如最左为 -2、偏左为 -1、正中为 0、偏右为 +1、最右为 +2。 第三步,出控制量:把误差乘以一个系数 k,去调整左右轮的差速。比如基准速度 20,误差为 +1 时设定 v左 = 20 + 3k、v右 = 20 - 3k,车就往左修正回来。 这就是最朴素的“比例控制”(P 控制)。k 太小,车会左右摇摆压不住线;k 太大,车会剧烈摆动甚至冲出赛道。调试时先从小的 k 开始,逐步加大到“刚好不摆”的位置,这个过程本身就是工程实践。

五、三个高频错误 错误 1:把“速度”当成“电机功率”。电机从静止到目标转速需要时间,功率大不等于立刻达到某速度,转弯会“提前”或“滞后”。解决办法是用编码器测实际转速,做闭环;或者在做精确转弯时先低速、再微调。 错误 2:只调一个轮子。差速是“差”,只改一个轮子会让直行也跑偏。要成对地改:一个加多少,另一个减多少。 错误 3:忽略地面与轮子打滑。同样的程序在木地板和地毯上走出来的弧线完全不同。赛前必须在实际场地标定,把“时间—角度”的对应关系重新测一遍。

六、练习(答案在最后) 1. 轮距 16 厘米,v左 = 8、v右 = 16(厘米每秒),求转弯半径与角速度。 2. 要让小车原地右转,左右轮应如何设定?“绕左轮画圈”又该如何设定? 3. 轮距 20 厘米,角速度要求 2 弧度每秒,两轮速度差应是多少? 4. 循迹时小车持续向右偏出黑线,说明修正方向反了还是 k 太小?如何验证? 5. 为什么精确转弯前建议先降速?

参考答案: 1. R = 8 × 24/8 = 24 厘米;ω = 8/16 = 0.5 弧度每秒。 2. 原地右转:v左 = +v、v右 = -v;绕左轮画圈:v左 = 0、v右 > 0。 3. 速度差 = ω × L = 2 × 20 = 40 厘米每秒(例如左 10、右 50,或左 -10、右 30)。 4. 大概率是修正方向反了(符号错),也可能是左右电机接线互换。验证:把小车架空,只给“向左修正”的指令,看轮子转向是否符合预期。 5. 因为转弯半径与角速度都建立在“实际轮速”上,而实际轮速在高速时受打滑、惯性、加速度限制影响更大,低速时更接近设定值,转角更准。