整机三维运动与电机速度的映射转化

四种典型底盘对比

3. 四轮滑移转向(坦克式四驱,4 台电机,左右侧车轮同步)

  • 执行器:4 台电机,左侧两台同速,右侧两台同速;等效 2 个控制量。
  • 整车约束:不能横移 \(V_x\equiv0\);有效维度\(V_y、\omega\)。
  • 逆运动学:左侧全部电机同一目标转速,右侧全部电机同一目标转速。

4. 阿克曼底盘(1 台驱动电机 + 1 台转向舵机)

注意:两个执行器物理意义不一样:驱动电机输出转速(1 维);转向舵机输出转向角(角度位置量,不是转速)。

  • 整车约束:不能横移 \(V_x\equiv0\);有效维度\(V_y、\omega\)。
  • 映射逻辑:
  1. 整车期望\(V_y、\omega\) → 根据阿克曼几何模型,求解:驱动轮目标转速、前轮转向角。
  2. 驱动电机走转速 PID;转向舵机走内部位置闭环。

这里已经不是单纯 “转速之间矩阵乘法”,里面包含阿克曼几何三角函数运算。

表格汇总对比

表格

底盘类型 电机数量 整车理论维度 实际可用运动维度 逆运动学输入输出 核心特点
四轮麦克纳姆 4 \(V_x,V_y,\omega\) 全部 3 维 3 维整车→4 维电机转速 可横移;过驱动,矩阵运算
两轮差速 2 \(V_x,V_y,\omega\) \(V_y,\omega\);\(V_x=0\) 2 维整车→2 维电机转速 不能横移,最常见教学小车
四轮滑移坦克 4 \(V_x,V_y,\omega\) \(V_y,\omega\);\(V_x=0\) 2 维整车→左右两组电机转速 左右侧车轮同步
阿克曼 驱动电机 1 + 转向舵机 1 \(V_x,V_y,\omega\) \(V_y,\omega\);\(V_x=0\) 整车速度→驱动转速 + 转向角度 有转向角几何约束,使用三角函数

工程链路完整流程(以 STM32 运动扩展板为例)

  1. RDK X5 (ROS2) 下发整车三维速度 \(\boldsymbol\xi = [V_x,V_y,\omega]\)
  2. STM32 固件根据当前底盘类型选择对应的运动学算法
    • 如果是麦克纳姆:调用麦克纳姆逆运动学矩阵;
    • 如果是差速:调用差速逆运动学;
    • 如果阿克曼:调用阿克曼几何求解。
  3. 算法输出每一个电机的目标转速。
  4. 每一个电机独立转速 PID 闭环,输出 PWM,驱动电机。
  5. 编码器读取每台电机真实转速。
  6. 根据底盘类型,调用对应底盘的正运动学算法,把多台电机转速,换算回整车三维速度,作为里程计上传 RDK X5。

关键工程要点: ✅上层 RDK X5 的 ROS2 接口统一,永远下发 Twist (\(V_x,V_y,\omega\))。 ✅更换底盘,上层代码完全不用修改,仅仅修改 STM32 底层运动学算法即可。 ❌不同底盘不能混用一套运动学公式,麦克纳姆公式直接套到差速小车,运动完全错乱。

现实缺陷:打滑带来映射失效

运动学矩阵,建立在轮子和地面无滑动的理想假设

一旦轮子打滑:电机编码器转速≠轮子对地真实速度。

此时逆、正运动学映射全部失真。

解决:依靠 IMU 测量车体真实角速度,补偿里程计误差。

和 PID 的关系

  1. 运动学算法,只负责速度量之间的数学映射不做闭环控制。
  2. 运动学输出电机目标转速之后,交给每一路电机独立转速 PID 内环。
  3. 可选:上层 RDK X5 可以做整车外环 PID,修正整车三维速度指令,再送入运动学。

运动学本身没有任何 PID 逻辑,它只是数学转换工具。

通俗比喻

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐