差速两轮机器人位移与航向角增量计算(零基础详解)
差速两轮机器人是移动机器人里最基础、最常用的构型,像常见的巡检小车、扫地机器人很多都是这种结构。它的核心原理是通过控制左右两个轮子的转速差,实现前进、后退、转向等运动 。我们要解决的问题就是:已知左轮线位移增量 、右轮线位移增量 、轮距 ,怎么计算车体中心的平移增量 和航向角增量。
先明确:所有带 "增量" 的物理量,指的都是在一小段时间 Δt 内,机器人的运动变化量,因为机器人的运动是连续的,取极短时间的增量可以近似认为这段时间内做 "匀速 / 匀角速度运动",方便计算。
一、 先搞懂所有专业名词
1. 左轮线位移增量 / 右轮线位移增量
- 名词解释
- 线位移:物体沿直线方向移动的距离,单位是米(m)。
- 增量 :指在极短时间 Δt 内,轮子滚动产生的线位移变化量,分别记为 ΔsL(左轮)、ΔsR(右轮)。
- 通俗理解:就是在一瞬间,左轮滚了多长,右轮滚了多长。比如左轮滚了 0.02m,右轮滚了 0.03m,那 ΔsL=0.02m,ΔsR=0.03m。
- 补充:轮子的线位移和轮子的转动角度有关,公式是 Δs=r⋅Δθ,其中 r 是轮子半径,Δθ 是轮子的角位移增量(弧度)。这个公式可以辅助理解,但咱们这次计算不用它。
2. 轮距
- 名词解释 :差速机器人两个驱动轮中心之间的水平距离,记为 b,单位是米(m)。
- 通俗理解:把机器人看成一个小车,两个后轮(驱动轮)之间的宽度就是轮距。比如扫地机器人的轮距可能是 0.2m,工业巡检小车的轮距可能是 0.5m。
- 注意:轮距是固定值,一旦机器人造好,b 就不会变了。
3. 车体中心
- 名词解释 :差速机器人的几何中心 ,通常定义为两个驱动轮中心连线的中点,记为点 C。
- 通俗理解:把两个轮子的中心连一条线,这条线的正中间就是车体中心。机器人的位置,一般都是用车体中心的坐标来表示的。
4. 车体中心的平移增量
- 名词解释 :在极短时间 Δt 内,车体中心 C 移动的直线距离,记为 ΔsC,单位是米(m)。
- 通俗理解:就是机器人的 "中心点" 在这一瞬间往前走 / 往后退 / 斜着走了多远。
5. 航向角增量
- 名词解释
- 航向角 :机器人的前进方向与世界坐标系 x 轴的夹角 ,记为 θ,单位是弧度(rad)(机器人领域不用角度,必须转成弧度)。
- 航向角增量:极短时间 Δt 内,航向角的变化量,记为 Δθ,单位是弧度(rad)。
- 通俗理解:就是机器人在这一瞬间 "转了多少弯"。Δθ>0 表示逆时针转,Δθ<0 表示顺时针转,Δθ=0 表示直线运动。
二、 核心假设(为什么能这么算)
因为我们取的是极短时间 Δt ,在这段时间内,机器人的运动可以近似为:绕着一个瞬时旋转中心(ICC) 做圆周运动。
这个假设是所有计算的基础!简单说:不管机器人是直线走还是转弯,极短时间内都像在画一个小圆弧。
三、 计算公式推导与讲解(从易到难)
我们分两种情况讨论:直线运动 和 转向运动,转向运动是通用情况,直线运动是转向运动的特例。
情况 1:直线运动(左右轮线位移增量相等)
当 ΔsL=ΔsR=Δs 时,机器人做直线运动。
-
航向角增量:机器人没有转弯,所以航向角不变。Δθ=0
-
车体中心的平移增量:中心点移动的距离和轮子移动的距离相等。ΔsC=ΔsL=ΔsR
-
例子:左轮滚了 0.05m,右轮也滚了 0.05m,轮距 0.2m。则 Δθ=0,ΔsC=0.05m,机器人直线前进 0.05m。
情况 2:转向运动(左右轮线位移增量不相等)
这是通用情况,ΔsL=ΔsR,机器人会绕瞬时旋转中心转弯。
步骤 1:计算航向角增量 Δθ
核心逻辑:左右轮的线位移差,是由 "绕瞬时中心旋转" 引起的,而线位移差和轮距、航向角增量直接相关。
我们想象机器人绕瞬时中心转了一个小角度 Δθ,此时:
- 左轮走过的圆弧长度:ΔsL=RL⋅Δθ
- 右轮走过的圆弧长度:ΔsR=RR⋅Δθ其中 RL 是左轮到瞬时中心的距离,RR 是右轮到瞬时中心的距离。
又因为轮距 b=RR−RL(右轮离瞬时中心更远,差值就是轮距)。
把上面两个式子相减:ΔsR−ΔsL=(RR−RL)⋅Δθ=b⋅Δθ
整理得到航向角增量的公式:Δθ=bΔsR−ΔsL
- 公式解读
- 单位验证:分子是长度(m),分母是长度(m),所以 Δθ 是无量纲的?不对!这里的长度相除后,结果的单位是弧度(rad),因为弧度的定义就是 "弧长 / 半径",本身无量纲,但物理意义是角度。
- 符号意义:ΔsR>ΔsL 时,Δθ>0,机器人逆时针转 ;ΔsR<ΔsL 时,Δθ<0,机器人顺时针转。
- 特殊情况:ΔsR=ΔsL 时,Δθ=0,和直线运动一致。
步骤 2:计算车体中心的平移增量 ΔsC
车体中心是两轮连线的中点,所以中心点到瞬时旋转中心的距离 RC=2RL+RR。
而中心点的平移增量就是中心点走过的圆弧长度:ΔsC=RC⋅Δθ
把 RL=ΔθΔsL、RR=ΔθΔsR 代入 RC:RC=2ΔθΔsL+ΔθΔsR=2ΔθΔsL+ΔsR
再代入 ΔsC=RC⋅Δθ,可以消掉 Δθ,得到最终公式:ΔsC=2ΔsL+ΔsR
- 公式解读
- 不管机器人是左转还是右转,车体中心的平移增量,都等于左右轮线位移增量的平均值。
- 单位:米(m),和轮线位移单位一致。
- 特殊情况:直线运动时,平均值等于单个轮子的位移,和情况 1 一致。
总结:核心公式表
| 物理量 | 符号 | 计算公式 | 单位 |
|---|---|---|---|
| 航向角增量 | Δθ | Δθ=bΔsR−ΔsL | 弧度(rad) |
| 车体中心平移增量 | ΔsC | ΔsC=2ΔsL+ΔsR | 米(m) |
四、 实例计算(帮你彻底理解)
已知条件:差速机器人轮距 b=0.2m,在 Δt 时间内,左轮线位移增量 ΔsL=0.03m,右轮线位移增量 ΔsR=0.05m。
计算步骤
-
计算航向角增量Δθ=0.20.05−0.03=0.20.02=0.1 rad结果为正,说明机器人逆时针转了 0.1 弧度(约 5.73 度)。
-
计算车体中心平移增量ΔsC=20.03+0.05=20.08=0.04 m说明机器人的中心点在这段时间内移动了 0.04 米。
**再换一个例子(顺时针转)**已知 b=0.2m,ΔsL=0.05m,ΔsR=0.03m
- Δθ=0.20.03−0.05=−0.1 rad(负号表示顺时针转)
- ΔsC=20.05+0.03=0.04 m
五、 易错点提醒(期末复习重点)
- 单位问题 :航向角增量的单位是弧度,不是角度!如果题目要求角度,需要用公式 角度弧度 转换。
- 符号问题:Δθ 的正负代表转向方向,记住 "右轮快,逆时针转;左轮快,顺时针转"。
- 增量的含义:所有 Δ 开头的量都是 "变化量",不是 "总量",必须是极短时间内的数值,否则假设不成立,公式会有误差。
- 车体中心的定义:必须是两轮中心连线的中点,不能随便选其他点,否则公式不适用。