差速驱动运动学
Differential Drive Kinematics常用描述左右两轮转速如何决定底盘前进速度和转弯角速度的公式。
差速驱动是最常见的移动底盘结构:左右各一个独立电机驱动的轮子,再配万向脚轮防倾,靠两轮转速差转向,不需要单独的转向机构。它的运动学只有两条式子:线速度 v = (v_R + v_L)/2,角速度 ω = (v_R − v_L)/b,其中 v_R、v_L 是右、左轮的线速度(轮角速度乘轮半径 r),b 是两轮间距。反过来,给定想要的 v 和 ω 就能算出每个轮子该转多快。于是底盘在平面上等价于只能「往前走 + 原地转」的点,即独轮车模型;它不能直接横移,这种只约束速度的限制叫非完整约束。ROS 的 diff_drive_controller 就按这两条式子把 cmd_vel 换成左右轮指令,并用轮子反馈反算里程计。
例子扫地机器人要原地左转时,让右轮以速度 u 向前、左轮以同样速度向后:v = 0,ω = 2u/b,机身绕两轮中点原地旋转。
- 也叫
- 差速模型、独轮车模型、Unicycle Model、差速运动学
- 相关
- 非完整约束、差速底盘、轮式里程计、cmd_vel 速度指令话题(Twist 消息)、移动底盘、正运动学
- 来源
- Differential wheeled robot - Wikipedia
ros2_control: diff_drive_controller 文档