差速运动学模型 (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\),车体原地旋转