轮式里程计是一种用于移动机器人定位和导航的简单而经济的传感器系统,它通过测量机器人车轮的旋转来估算机器人的位移和姿态变化。其工作原理基于以下几个关键概念:
原理概述
-
轮速测量:轮式里程计的核心组件通常包括光电编码器、磁编码器或霍尔效应传感器等,这些设备安装在机器人车轮的轴上,能够精确检测车轮每转过一定角度时产生的脉冲信号。每个脉冲代表车轮转动的一个固定增量(如一定角度或一定比例的周长)。通过累计这些脉冲数,可以确定车轮自上一次读数以来转过的总圈数。
-
车轮参数:已知车轮的半径 ( R ) 和两个车轮之间的轴距 ( L ),这些物理参数是计算位移和角速度的基础。有时,如果机器人使用差速驱动(即两个车轮可以独立控制速度),还需要知道每个车轮的瞬时速度。
-
位移计算:给定车轮半径 ( R ) 和累计脉冲数(代表车轮转过的总角度),可以计算出车轮滚动的总距离。假设每个脉冲对应的角度 ( Δ θ ) ( \Delta \theta ) (Δθ),则车轮转过 ( N ) 个脉冲后行驶的距离 ( d ) 可以通过以下公式计算:
d = N × Δ θ × R d = N \times \Delta \theta \times R d=N×Δθ×R如果已知每个脉冲对应的线性距离(如上述资料中提到的每个脉冲对应 0.797 mm,则可以直接用累计脉冲数乘以该值来得到总行驶距离。
-
角速度计算:角速度 ( ω ) ( \omega ) (ω) 表示车轮或机器人整体绕某个轴旋转的速度,通常以弧度/秒为单位。对于单个车轮,其角速度可以通过车轮的转速(单位通常是转/秒或圈/秒)转换而来:
ω = 转速 × 2 π 1 圈 \omega = \text{转速} \times \frac{2\pi}{1 \text{圈}} ω=转速×1圈2π对于机器人整体而言,特别是在差速驱动的双轮或多轮机器人中,可以通过测量两个车轮的转速差(假设它们的半径相同)来计算机器人围绕自身质心的旋转角速度。假定左右车轮的角速度分别为 ( ω l ) ( \omega_l ) (ωl) 和 ( ω r ) ( \omega_r ) (ωr),则机器人绕质心的旋转角速度 ( ω z ) ( \omega_z ) (ωz) 可由两轮角速度之差与轴距 ( L ) 的关系给出:
ω z = d r − d l L = ω r R − ω l R L \omega_z = \frac{d_{r} - d_{l}}{L} = \frac{\omega_r R - \omega_l R}{L} ωz=Ldr−dl=LωrR−ωlR这里 ( d r ) ( d_r ) (dr) 和 ( d l ) ( d_l ) (dl) 分别表示右轮和左轮行驶的距离,当两轮速度不相等时,机器人会绕质心旋转。
-
线速度计算:线速度 ( v ) ( v ) (v) 是指物体沿直线运动的速度,对于机器人来说,通常关心的是其在地面上沿前进方向的平均速度。对于差速驱动的双轮机器人,可以通过两个车轮速度的平均值来近似估计:
v = v l + v r 2 v = \frac{v_l + v_r}{2} v=2vl+vr其中 ( v l ) ( v_l ) (vl) 和 ( v r ) ( v_r ) (vr) 分别是左、右车轮的线速度,它们可以通过各自的角速度乘以车轮半径得到:
v l = ω l × R v_l = \omega_l \times R vl=ωl×R
v r = ω r × R v_r = \omega_r \times R vr=ωr×R
结合实例说明
以扫地机器人为例,如果左右轮的周长为 267 mm,每个脉冲对应车轮走过 335 个刻度中的一个,那么每个脉冲对应的行走距离为 0.797 mm。如果左轮累计走了 10,000 个脉冲,则它实际行驶的距离为 10,000* 0.797 = 7,970 mm。
对于角速度和线速度,如果已知左轮和右轮的实时转速(例如 ( a l ) ( a_l ) (al) 和 ( a r ) ( a_r ) (ar) 圈/秒),且车轮半径为 ( R ) mm,那么:
- 左轮和右轮的角速度分别为 ω l = a l × 2 π \omega_l = a_l \times 2\pi ωl=al×2π和 ω r = a r × 2 π \omega_r = a_r \times 2\pi ωr=ar×2π弧度/秒。
- 左轮和右轮的线速度分别为 v l = ω l × R v_l = \omega_l \times R vl=ωl×R和 v r = ω r × R v_r = \omega_r \times R vr=ωr×Rmm/s。
- 机器人整体沿前进方向的平均线速度 ( v ) 可以通过上述线速度的平均值得到。
综上所述,轮式里程计通过测量车轮的旋转并结合车轮参数,可以实时计算出机器人的线速度(前进速度)和角速度(旋转速度),进而推算出机器人的位置和姿态变化。这些数据对于移动机器人进行自主导航、路径规划、避障等任务至关重要。然而,由于轮式里程计的测量存在累积误差(如打滑、轮胎磨损、路面不平导致的实际行驶距离与车轮旋转之间的偏差),通常需要与其他传感器(如激光雷达、视觉系统、IMU等)融合,或者定期进行标定校正,以提高定位精度。