Skip to content

差速运动学模型 (Differential Drive Kinematics)#

坐标系约定#

  • 右手坐标系: X 右, Y 前, Z 上
  • 全局坐标系原点 = 车体初始位置 (0,0)
  • v > 0: 前进 (+Y 方向)
  • ω > 0: 左转 (逆时针)

运动学公式#

1. 轮速 to 车体运动 (正向)#

已知左右轮速 \(v_l, v_r\),求车体线速度 \(v\) 和角速度 \(\omega\)

\[v = \frac{v_r + v_l}{2}\]
\[\omega = \frac{v_r - v_l}{L}\]

其中 \(L\) 为左右轮中心距(轮距)。

矩阵形式:

\[\begin{bmatrix} v \\ \omega \end{bmatrix} = \begin{bmatrix} \frac{1}{2} & \frac{1}{2} \\ -\frac{1}{L} & \frac{1}{L} \end{bmatrix} \begin{bmatrix} v_l \\ v_r \end{bmatrix}\]

2. 车体运动 to 轮速 (逆向)#

已知车体线速度 \(v\) 和角速度 \(\omega\),求左右轮速:

\[v_l = v - \omega \cdot \frac{L}{2}\]
\[v_r = v + \omega \cdot \frac{L}{2}\]

矩阵形式:

\[\begin{bmatrix} v_l \\ v_r \end{bmatrix} = \begin{bmatrix} 1 & -\frac{L}{2} \\ 1 & \frac{L}{2} \end{bmatrix} \begin{bmatrix} v \\ \omega \end{bmatrix}\]

3. 状态转移方程 (离散时间)#

\[\begin{bmatrix} x_{k+1} \\ y_{k+1} \\ \theta_{k+1} \end{bmatrix} = \begin{bmatrix} x_k \\ y_k \\ \theta_k \end{bmatrix} + \begin{bmatrix} \cos\theta_k & 0 \\ \sin\theta_k & 0 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} v_k \\ \omega_k \end{bmatrix} \Delta t\]

矩阵形式(紧凑):

\[p_{k+1} = p_k + B(\theta_k) u_k \Delta t\]

其中 \(p = [x, y, \theta]^T\)\(u = [v, \omega]^T\)\(B(\theta)\) 如上所示。

推导过程#

关键几何关系#

差速驱动车的运动可以分解为: 1. 平移运动:左右轮平均速度决定车体前进速度 2. 旋转运动:左右轮速度差决定车体旋转

设车体瞬时旋转中心 (ICR) 位于车轮轴线上某点,距左右轮中心距离为 \(R\)

  • 右轮速度: \(v_r = \omega \cdot (R + L/2)\)
  • 左轮速度: \(v_l = \omega \cdot (R - L/2)\)

联立求解得:

\[R = \frac{L}{2} \cdot \frac{v_r + v_l}{v_r - v_l}\]
\[\omega = \frac{v_r - v_l}{L}\]
\[v = \omega \cdot R = \frac{v_r + v_l}{2}\]

参数说明#

符号 含义 单位
\(v\) 车体线速度 m/s
\(\omega\) 车体角速度 rad/s
\(v_l\) 左轮线速度 m/s
\(v_r\) 右轮线速度 m/s
\(L\) 左右轮距 m

参考值#

典型 AMR (Autonomous Mobile Robot) 轮距:\(L = 0.5 \sim 0.6\) m

备注#

  • \(v_r = v_l\) 时,\(\omega = 0\),车体直线运动
  • \(v_r = -v_l\) 时,\(v = 0\),车体原地旋转