一文看懂移动机器人底盘:结构类型、运动学与差速控制
单击上方“图灵人工智能”,选择“星标”公众号
您想知道的人工智能干货,第一时间送达


图 1|底盘选型要同时看任务、运动学和电机控制。
都装了轮子,为什么有的机器人能横移,有的只能绕弯
移动机器人底盘看起来比机械臂关节简单:几只轮子、一块车架、几台电机、一个电池包,再加上驱动器和控制器,就能让机器人在地面上移动。可一到产品阶段,底盘往往最早暴露工程矛盾:同样一条窄通道,差速底盘需要原地转向后再前进,麦克纳姆轮可以斜着挪过去,阿克曼底盘却必须预留转弯半径;同样一段水泥地,差速轮的里程计还能工作,履带底盘一转弯就可能出现明显滑移;同样一个“向前 1 m/s”的速度指令,空载、满载、上坡、低电压和地面摩擦变化都会让实际速度不同。
底盘不能只按“轮子数量”分类。运动约束、驱动自由度、地面接触和控制闭环共同决定它能怎么走。选型时只问“能不能跑到 1 m/s”是不够的,还要问:是否需要横移?是否要原地旋转?地面是否平整?定位主要靠轮速计还是外部传感器?载重变化多大?是否要穿越门槛、地毯、坡道或户外松软地面?维护成本和一致性要求又是多少?
本文按工程产品的视角梳理常见移动机器人底盘:差速轮、四轮滑移转向、全向轮、麦克纳姆轮、阿克曼结构、舵轮和履带。为了避免每种底盘各说各话,先建立统一的坐标和运动学语言,再分别解释运动原理、核心方程、适用场景和选型取舍。最后以最常见的差速底盘为例,展开电机、减速器、编码器、速度开环和速度闭环控制,解释为什么“给同样脉宽调制(Pulse Width Modulation,PWM,即用开关占空比调节平均电压)”并不等于“跑同样速度”。
一、先从任务约束看底盘,而不是先从轮子看底盘
移动底盘的选择,通常由任务约束倒推。

图 2|选型先看横移、地面、定位和载重速度。
第一类约束是运动自由度。 如果机器人只在走廊、库区、展厅里前进、后退和转向,差速或四轮滑移转向往往够用;如果要在货架之间侧向微调、贴边停靠、狭窄空间里对齐工位,全向轮、麦克纳姆轮或舵轮会更有吸引力;如果像汽车一样高速行驶并追求能效,阿克曼结构通常更合理。
第二类约束是地面条件。 麦克纳姆轮和小直径全向轮依赖较稳定的地面接触,遇到缝隙、软垫、砂石或门槛时,滚子可能带来振动和打滑。差速轮结构简单,但转弯时如果采用四轮硬连接,也会产生轮胎侧向擦地。履带在松软地面和越障上有优势,却牺牲了地面友好性、能耗和里程计精度。
第三类约束是载重、速度和能耗。 同样的车重和速度,轮胎滚动阻力、传动效率、转向方式和滑移损失会直接影响电池容量与散热。能横移的底盘未必更“高级”,它们只是把机械复杂度、轮地摩擦和控制复杂度换成了运动自由度。
第四类约束是定位与控制链路。 仓储自主移动机器人(Autonomous Mobile Robot,AMR)、配送机器人、服务机器人都可能使用轮速计、惯性测量单元(Inertial Measurement Unit,IMU,用来测量角速度和加速度)、激光雷达、视觉,或超宽带(Ultra-Wideband,UWB)/全球卫星导航系统(Global Navigation Satellite System,GNSS)做融合定位。底盘运动学越理想,轮速里程计越好用;滑移越多,越需要外部传感器修正。
因此,一个实用的选型问题可以写成:在给定地面、载重、速度、定位精度、成本和维护能力下,机器人是否需要独立控制平面内的
、 和
?如果答案是“不需要横移”,不要轻易上麦克纳姆或舵轮;如果答案是“必须横移且空间紧”,普通差速和阿克曼就很难满足任务。
可以把底盘选型压缩成三个问题:
- 要不要横移? 不需要横移时,差速、四轮滑移或阿克曼通常更简单;必须横移时,再考虑全向、麦克纳姆或舵轮。
- 地面能不能相信? 平整硬地适合更多轮式结构;松软、破碎、户外地面会把问题推向大轮、滑移转向或履带。
- 定位靠谁兜底? 如果主要靠轮速里程计,尽量选择滑移少、轮地模型稳定的结构;如果有激光/视觉/IMU 融合,底盘可以接受更多滑移,但控制和标定不能省。
二、统一语言:车体速度、轮速和非完整约束
为了比较不同底盘,先统一坐标系。本文采用移动机器人常见的车体坐标:
轴向前, 轴向左,
轴向上;逆时针旋转为正角速度。车体在平面上的速度可以写成一个三维量:

其中
是前向速度,
是左向速度,
是绕竖直轴的角速度。世界坐标中的位姿为
,车体速度与世界坐标速度的关系为:

这只是坐标变换。底盘能怎么动,还要看轮子和地面之间的约束。假设第
个轮子相对车体中心的位置是
,车体运动时,该轮接地点附近的平面速度为:

如果轮子的主动滚动方向单位向量为
,轮半径为
,理想无滑动时,轮子角速度
与车体速度的关系可以写成:

读这条公式时,可以抓住一个直观图像:车体整体平移给每个轮子一个共同速度,车体旋转给离中心越远的轮子叠加切向速度;轮子只响应沿主动滚动方向的那一部分速度。 后面各类底盘方程,都是这个关系在不同轮子布置下的展开。

图 3|车体速度投影到轮子滚动方向后形成轮速。
普通轮还会在侧向产生“不能侧滑”的约束;全向轮和麦克纳姆轮则通过小滚子释放某个方向的约束,让轮子既能主动滚动,又允许被动侧向速度。现代机器人学通常把这类车轮约束写成矩阵形式,用来判断底盘是否非完整、能否独立生成平面三自由度运动。[1]
这里需要区分两个容易混用的词:
- 非完整约束:约束作用在速度层面,而不是简单限制某个位置坐标。例如普通汽车不能瞬间侧移,但通过前后移动和转向,长期看仍能到达停车位。
- 全向/完整移动能力:工程上常指机器人能在平面内直接给出
、
、
三个独立指令。麦克纳姆轮、三轮全向、四轮全向和舵轮通常属于这一类;差速和阿克曼不属于。
所有底盘的运动学都要回答两件事:逆运动学把期望车体速度换成各轮目标速度;正运动学把测得的轮速估计成车体速度和里程计。
三、常见移动机器人底盘类型与运动学
下面按运动原理、关键运动学、工程特点和适用场景梳理主流底盘。
1. 差速轮:最小系统,最常见,也最考验控制细节
差速底盘通常由左右两个主动轮加一个或多个支撑轮组成。主动轮共轴或近似共轴,轮距为
,轮半径为
。被动支撑可以是脚轮、万向脚轮、球轮或低摩擦滑块。这里的“支撑轮”只是承重和保持姿态,不直接决定运动自由度。
差速底盘的运动来自左右轮速度差。设左、右轮线速度分别为
、
,车体前向速度
和角速度
为:

反过来,给定期望车体速度
,左右轮目标角速度为:

这两条式子的工程含义很直接:左右轮平均值决定往前走多快,左右轮差值决定转得多快。 所以差速底盘调不直,常常先要查左右轮实际速度、轮径、摩擦和控制响应,而不是先怀疑导航算法。

图 4|差速轮用平均值管前进,用差值管转向。
这也是很多机器人软件框架中差速控制器的核心转换关系:上层发送线速度和角速度,底层控制器根据轮距和轮半径换算左右轮命令,再由轮速反馈更新里程计。ROS 2(Robot Operating System 2,机器人操作系统第二代)的 diff_drive_controller,以及 WPILib(WPI Robotics Library,机器人控制软件库)的差速运动学文档,都采用了类似的输入输出结构。[2][3]
差速底盘没有直接侧移能力,因此
。它的瞬时运动可以用瞬时转动中心(Instantaneous Center of Curvature,ICC,即当前这一刻车体绕着旋转的几何中心)描述。当
时,车体绕某个中心做圆周运动,转弯半径为:

几个典型动作很直观:
:直线前进或后退;
:车体中心近似原地旋转;
:绕右轮附近转动;- 两轮速度同号但不相等:沿圆弧行驶。
在离散控制中,如果控制周期为
,且周期内
和
近似恒定,位姿可以用精确圆弧积分更新:

当
时:


当
很小时,则退化为直线近似:

差速底盘的优势是结构简单、成本低、控制链路短、可靠性高,适合室内服务机器人、教育机器人、轻型 AGV、巡检机器人和低速配送平台。它的弱点同样清楚:不能横移,对支撑脚轮方向和地面缝隙敏感,原地旋转时轮胎与地面仍有轻微擦动;如果左右轮直径、减速器间隙或电机常数不一致,直线行驶会偏航。
2. 四轮滑移转向与履带:看起来像差速,误差却更依赖地面
很多工业底盘不是两只主动轮,而是左右各两只轮,甚至左右两条履带。它们的控制指令常常仍然写成“左侧速度”和“右侧速度”,因此从上层看很像差速底盘:

图 5|滑移转向和履带按左右速度控制,转弯依赖侧滑。

区别在于,四轮滑移转向和履带转弯时,接触区域比两轮差速大得多。车辆绕竖直轴转动时,左右轮或履带必须相对地面产生侧向滑移,否则几何上转不过来。因此这里的
往往不是图纸上的轮距,而是随地面材质、载荷、轮胎、履带张紧、速度和转弯半径变化的“有效轮距”。
这类底盘的优点是承载能力强、结构抗冲击、越障和户外适应性较好。履带尤其适合松软地面、碎石、坡地和需要较大接地面积的场景。缺点是能耗高、转弯磨损大,对地面不友好,轮速里程计误差明显。用履带机器人做长距离自主导航时,通常不能只相信左右履带编码器,而要融合 IMU、激光雷达、视觉或 GNSS。
从产品角度看,四轮滑移或履带适合“地面复杂、允许滑移、定位由外部传感器兜底”的任务;如果场景是干净室内地面、要求低噪声低磨损、需要精细停靠,普通两轮差速或舵轮往往更合适。
3. 全向轮:用小滚子释放侧向约束
全向轮的轮缘上布置了许多小滚子。轮子绕主轴转动时,可以沿主滚动方向主动施加速度;垂直于主滚动方向的速度,则由小滚子被动滚动释放。这样,单个轮子不能“全向驱动”,但多个不同方向布置的全向轮组合起来,就能让底盘在平面内独立控制
、
和
。

图 6|全向轮用小滚子释放侧向约束,组合后实现全向运动。
以三轮全向底盘为例,三个轮子均匀分布在半径为
的圆上,轮子主动滚动方向与圆周切向一致。令第
个轮子位置角为
,其主动方向为:

则第
个轮子的角速度满足:

如果取
、
、
,并设
,则有:



对应的正运动学为:

实际产品中还常见四轮全向底盘。四轮结构有冗余,可以提升稳定性和承载能力,但几何布置、轮径一致性、轮载分配和地面平整度会影响每个轮子的受力。对于多于三个驱动轮的全向底盘,正运动学通常写成矩阵伪逆,用最小二乘方式从多轮速度估计车体速度。
全向轮底盘的优势是横移能力强、运动学直观、响应灵活,常见于 RoboCup、小型教学平台、舞台展示机器人和轻载室内平台。主要限制是滚子直径小、接触刚度不连续、抗脏污能力弱,载重和越障能力通常不如普通橡胶轮。
需要注意:中文语境里“万向轮”有时指主动全向轮,有时指被动脚轮。本文讨论的“万向轮/全向轮”指带滚子的主动全向轮;被动脚轮只用于支撑,不能提供受控驱动力。
4. 麦克纳姆轮:四个 45° 滚子轮合成横移能力
麦克纳姆轮也通过滚子释放约束,但滚子通常相对轮平面呈约
。四个麦克纳姆轮按特定左右镜像方向安装后,每个轮子的驱动力可以分解出前后和左右分量。四轮合成后,机器人可以前进、横移、斜移和原地旋转。

图 7|麦克纳姆轮用 45° 滚子合成横移和旋转。
对常见矩形底盘,设车体中心到前后轮轴的半长为
,到左右轮的半宽为
,轮半径为
。按一种常用的 X 型安装约定,轮序为左前 FL、右前 FR、左后 RL、右后 RR,则逆运动学可写为:

正运动学为:



不同资料可能采用不同坐标、轮序和滚子方向,符号会相反。工程调试时不要只复制公式,必须做三个基本动作验证:给正
时四轮是否同向前进;给正
时是否向左横移;给正
时是否逆时针旋转。WPILib 的 Mecanum kinematics 文档也强调,轮子位置和坐标约定是运动学转换的输入条件。[4]
麦克纳姆轮的优势是结构比舵轮简单,又能实现全向移动,适合室内搬运、实验平台、竞赛机器人和需要侧向对位的轻中载场景。它的代价是牵引效率低于普通轮,横移时尤其明显;滚子与地面的接触会带来振动、噪声和局部磨损;轮载不均、地面不平或滚子磨损会导致横移偏航。对高精度停靠任务,麦克纳姆轮通常需要更强的闭环定位和最终对位传感器,而不能只靠开环轮速。
5. 阿克曼结构:像汽车一样转弯,高速高效但不能原地掉头
阿克曼结构是汽车、无人车、园区物流车和许多户外机器人常见的方案。它通常由后轮驱动或四轮驱动,前轮转向;核心思想是转弯时各车轮的延长线汇聚到同一个瞬时转动中心,从而尽量减少轮胎侧滑。

图 8|阿克曼让各轮指向同一转弯中心,效率高但不能原地旋转。
在简化的自行车模型中,轴距为
,等效前轮转角为
,车速为
,则运动学为:

转弯半径为:

真实车辆有左右两个前轮。若前轮轮距为
,要让内外轮都绕同一个转动中心滚动,内外轮转角应满足:

这就是阿克曼转向的几何关系。机器人仿真和控制库中常用自行车模型描述阿克曼底盘,例如 MathWorks 的 Ackermann kinematics 模型就以车速和转向角计算车辆位姿变化。[5]
阿克曼结构的优势是滚动效率高、轮胎磨损小、高速稳定性好,适合户外道路、园区配送、无人清扫车、自动驾驶小车和需要较长续航的场景。缺点是低速机动性差,不能原地旋转,转弯半径受轴距和最大转角限制;在狭窄室内环境中,路径规划和倒车策略会比差速或全向底盘复杂得多。
6. 舵轮:每个模块既能驱动又能转向
舵轮,也常被称为 swerve drive,是把驱动轮和转向机构集成在一个模块里。每个舵轮模块通常包含一个行走电机、一个转向电机、减速器、转向编码器和轮速编码器。机器人给定车体速度后,每个模块先算出本地接地点的速度向量,再把速度向量的方向交给转向轴,把速度大小交给行走轮。

图 9|舵轮把车体速度分解为各模块舵角和轮速。
对第
个舵轮,位置为
,车体速度为
,该模块需要实现的接地点速度为:

因此模块行走速度和舵向角为:


轮子角速度为:

WPILib 的 swerve drive kinematics 文档采用的也是“模块位置 + 车体速度 → 模块速度与角度”的形式。[6] 舵轮的一个工程细节是角度优化:如果目标舵角与当前舵角相差接近
,控制器通常会让舵角少转一些,同时把行走速度取反,避免模块为了同一个地面速度绕一大圈。
舵轮兼具全向移动、较高牵引效率和较好地面适应性,是高端 AMR、叉取式移动机器人、竞赛机器人和需要精确对位场景的常见选择。代价也很明显:模块成本高,机械厚度和重量大,线缆和旋转限位要处理,转向零位标定复杂;每个模块有两个自由度,控制器数量、故障模式和维护成本都高于差速和麦克纳姆。
四、常见底盘类型对比:没有最好,只有约束匹配

图 10|不同底盘在横移、原地旋转和地面适应性上取舍不同。
如果只看自由度,舵轮、麦克纳姆和全向轮似乎更强;如果看可靠性和成本,差速和阿克曼又常常更优。底盘选型是在运动能力、地面适应性、能耗、定位精度、结构成本和维护成本之间取平衡。
一个实用判断是:
- 窄通道但不需要横移:优先差速或四轮滑移;
- 要室内侧向对位,载重不大:考虑麦克纳姆或全向轮;
- 要侧向对位且重载、效率和稳定性更重要:考虑舵轮;
- 要户外高速和长续航:考虑阿克曼;
- 要松软地面、坡地和越障:考虑履带或大直径四轮滑移;
- 定位主要靠轮速计:尽量避免严重滑移的结构,或准备融合外部传感器。
补充:一些不常见但值得知道的底盘形态
还有一些底盘不属于主流室内 AMR 的常规选项,但在特种机器人、科研平台或复杂地形场景中很有代表性。它们可以作为扩展认知,不建议在常规选型中一开始就优先考虑。

图 11|特殊底盘多用于极端地形、爬壁、平衡或固定路径。
这些方案提醒我们:底盘不只有“轮式几选一”。但产品经理做常规室内或园区移动机器人时,仍应先把差速、阿克曼、麦克纳姆、全向轮、舵轮和履带这些主流形态理解透,再判断是否真的需要引入更复杂的特殊结构。
下面以最常见的差速底盘为例,继续向下看一层:同样是左右轮速度,电机和驱动器到底怎样把目标速度变成真实运动。
五、以差速轮为例:电机、驱动与速度控制
前文回答“车体速度如何变成左右轮速”。这里继续看目标轮速如何进入驱动器,并通过开环、闭环、同步和调试变成稳定轮速。
1. 差速底盘的动力链:电机、减速器、驱动器和编码器
差速底盘的硬件链路可以写成:
电池/电源 → 电机驱动器 → 电机 → 减速器 → 车轮 → 地面 → 编码器反馈 → 控制器。

图 12|动力链输出扭矩,反馈链修正实际运动。
不同产品会选择不同电机:
- 有刷直流电机:控制简单、成本低,常见于小型机器人和低成本底盘;缺点是电刷磨损、噪声和寿命问题。
- 无刷直流电机/永磁同步电机:效率高、寿命长、功率密度高,可配磁场定向控制(Field-Oriented Control,FOC,即按转子磁场方向连续控制电流)的驱动器,适合中高端移动机器人。
- 一体化伺服轮/轮毂电机:把电机、减速器、驱动器和编码器集成,接口简单,成本和维修方式取决于供应商。
- 步进电机:低速定位方便,但高速效率和失步风险要谨慎评估,移动底盘速度控制中不如直流/无刷方案常见。
从控制角度,直流电机的简化模型很有用。电气侧:

机械侧:


其中
是电机端电压,
是电流,
和
是绕组电阻与电感,
是反电动势常数,
是转矩常数,
是电机角速度,
是负载扰动。MathWorks 的 DC Motor 模型文档也以电枢电阻、电感、反电动势常数和转矩常数描述直流电机的电气与转矩特性。[7]
如果减速比为
,效率为
,近似有:

即减速器把高速低扭矩变成低速高扭矩。移动底盘常用减速器,是因为车轮需要的转速通常不高,但启动、上坡、越障和加速需要较大轮端扭矩。
差速运动学给出的是车轮角速度,驱动器控制的可能是电机轴速度。因此目标速度要乘上减速比。若目标车体速度为
,右轮电机目标转速可写成:

左轮为:

单位是每分钟转数(revolutions per minute,rpm)。这个换算看似简单,但它隐含了几个必须标定的量:实际轮半径
、实际轮距或有效轮距
、减速比
、编码器安装位置、编码器每转脉冲数、左右电机方向,以及驱动器命令和电机转向之间的符号关系。
2. 方波、正弦波与 FOC:差速轮电机驱动说的是什么
在差速轮底盘选型和调试中,经常会听到“方波电机”“正弦波电机”“FOC 驱动”。严格说,这些词主要描述的是无刷电机或永磁同步电机的驱动换相方式与相电流控制方式,不是差速运动学本身。差速运动学只关心左右轮目标速度;方波、正弦波和 FOC 关心的是驱动器如何让电机产生更平滑、更可控的转矩。

图 13|方波分段换相,正弦波和 FOC 输出更平滑。
可以分三层理解。
第一层:电机本体。 有些无刷电机的反电动势更接近梯形波,有些永磁同步电机更接近正弦波。产品口语里常说“方波电机”和“正弦波电机”,但更准确的说法应是“适合方波/六步换相驱动的电机”和“适合正弦波/FOC 驱动的电机”。
第二层:驱动波形。 方波控制通常指六步换相或梯形波控制。三相绕组中,每个时刻主要让两相导通,另一相悬空或不主动驱动;转子每转过一个电角度区间,驱动器切换到下一组相位。MathWorks 的六步换相说明也把它描述为无刷直流电机(Brushless Direct Current Motor,BLDC)按扇区生成开关序列的控制方式。[10]
正弦波控制则希望三相电流尽量平滑,并保持约
电角度相位差:



更进一步的 FOC,即磁场定向控制,会把三相电流变换到转子磁场相关的坐标系中,分别控制励磁分量和转矩分量。工程上可以把它理解成:驱动器不再只是“按六个区间换相”,而是根据转子位置连续计算“此刻三相各该给多少电流”,让电机磁场更平滑地旋转。MathWorks 的永磁同步电机(Permanent Magnet Synchronous Motor,PMSM)FOC 模块也采用电流环和坐标变换来描述这类控制。[11]
第三层:底盘效果。 对差速底盘来说,方波、正弦波和 FOC 的差异最终会体现在低速平顺性、噪声、发热、转矩脉动和轮速闭环质量上。
这里还要避免一个常见误解:方波/正弦波不等于开环/闭环。 方波驱动也可以做速度闭环,只是电机内层换相比较粗;FOC 也不自动等于整车速度闭环,它通常提供更好的电流/转矩控制基础,外层仍然需要编码器速度环、车体航向环和定位融合。
如果用一句话概括:方波像“分档换相”,简单便宜但有顿挫;正弦波和 FOC 像“连续平滑换相”,成本更高,但更安静、更顺滑,也更适合对低速稳定性要求高的差速底盘。
3. 速度开环控制:给 PWM,不等于控制了速度
最简单的差速控制方法是开环。上层算出左右轮目标速度后,控制器按经验表或比例关系给左右电机不同的 PWM 占空比。对 H 桥或三相驱动器而言,可以粗略理解为:

其中
是带符号占空比,
是母线电压。若只做很简单的控制,可以建立一个线性近似:

这里
用来克服静摩擦和死区,
把目标速度映射成占空比。开环控制的优点是便宜、容易实现、不需要编码器;在玩具、演示样机、极低成本平台或短时间低精度运动中确实有用。它也常用于早期调机:先确认电机方向、驱动器接口、机械卡滞和最大速度,再进入闭环。
但开环速度控制有一个根本问题:PWM 控制的是平均电压,不是车轮速度。电机速度由电压、反电动势、负载扭矩、电流限制、摩擦和地面作用共同决定。同一个占空比,在不同条件下会对应不同速度。
常见误差来源包括:
- 电池电压变化:满电和低电时,同样占空比对应的平均电压不同。
- 载荷变化:空载、满载、拖拽货物、上坡时,负载扭矩不同。
- 地面变化:地毯、瓷砖、水泥、坡道、门槛会改变滚动阻力和打滑。
- 左右电机差异:电机常数、减速器摩擦、轮胎直径和装配预紧不可能完全一致。
- 温度变化:电机绕组升温后电阻变化,驱动器和减速器温度也会影响效率。
- 死区和静摩擦:低速时,PWM 小幅变化可能只是在克服摩擦,没有形成稳定转动。
- 母线限流和保护:驱动器进入限流后,占空比命令和实际电流/扭矩不再线性对应。
因此,只给左右轮相同 PWM,机器人不一定走直线;只按比例给
和
,转弯半径也不一定准确。差速底盘看似简单,稳定产品几乎都会上编码器速度闭环。
4. 速度闭环控制:用编码器把“希望速度”变成“实际速度”
速度闭环的基本思想是:测量车轮或电机实际速度,与目标速度比较,根据误差调整驱动命令。典型链路为:

图 14|开环给 PWM,闭环用编码器测速并修正命令。
目标车体速度 → 差速逆运动学 → 左右轮目标速度 → 速度控制器 → PWM/电流命令 → 电机 → 编码器测速 → 反馈修正。
如果编码器安装在电机轴,测速公式可以写成:

其中
是电机轴每转计数,
是控制周期内的编码器计数增量,
是采样周期。若编码器在轮端,则直接得到轮速;若在电机端,还要除以减速比得到轮速。电机端编码器分辨率高,低速测速更平滑,但会受到齿隙和弹性传动影响;轮端编码器更贴近真实车轮运动,但安装成本和防护要求更高。
最常见的速度控制器是比例-积分控制(Proportional-Integral,PI)或比例-积分-微分控制(Proportional-Integral-Derivative,PID):


对许多电机速度环,PI 已经足够。比例项让误差立刻产生修正,积分项消除稳态误差;微分项对噪声敏感,常常需要滤波,并不总是必要。ROS control_toolbox 中的 PID 控制器也包含比例、积分、微分、积分限幅和抗饱和等工程要素。[8]
闭环控制还必须处理几个细节。
第一,输出饱和和积分抗饱和。 当速度目标过高或负载过大时,控制器输出会达到最大 PWM 或最大电流。如果此时积分项继续累加,负载消失后会出现明显超调。这就是积分饱和,需要通过积分限幅、条件积分或反算抗饱和处理。
第二,低速测速和量化误差。 编码器计数是离散的,低速时一个周期内可能只有很少脉冲,速度估计会抖动。常见方法包括延长测速窗口、用位置差分加低通滤波、低速时改用脉冲间隔法,或在控制器中限制最低稳定速度。
第三,速度给定要限加速度。 上层从 0 突然给到 1 m/s,会要求电机瞬间提供很大电流,轮胎也可能打滑。因此底层通常对目标速度做斜坡限制或 S 曲线限制,再送入速度环。
第四,前馈比纯反馈更像工程产品。 如果只靠 PID,控制器要等误差出现才修正;如果加入前馈,可以先按目标速度和目标加速度给出大致所需电压,再让反馈补偿误差。常见电机速度前馈写成:

其中
克服静摩擦,
对应速度电压,
对应加速度电压。WPILib 的 feedforward 文档也采用了静摩擦、速度和加速度项的建模思路。[9]
第五,速度闭环不能消灭轮地打滑。 编码器告诉你“轮子转了多少”,不一定告诉你“机器人相对地面走了多少”。如果轮子空转或侧滑,速度环仍可能显示跟踪良好,但位姿已经偏了。因此移动机器人通常把轮速里程计与 IMU、激光雷达、视觉或其他定位源融合。
5. 左右轮同步:直线跑偏不一定是导航的问题
差速底盘最常见的现象之一,是上层给“直行”,机器人却慢慢偏向一侧。很多时候问题不在导航算法,而在左右轮速度、轮径或摩擦不一致。

图 15|左右轮速度环管轮速,航向反馈修正跑偏。
最基本的做法是给左右轮分别建立速度闭环。上层目标为
,通过逆运动学得到
和
,两个速度环独立跟踪。这样至少能保证在电机和地面条件允许的范围内,左右轮转速接近目标。
更进一步,可以做同步补偿。例如直行时希望左右轮实际速度相等,可以定义同步误差:

在左右控制量中加入一正一负的修正,使一侧略降、另一侧略升。不过同步控制不能替代运动学目标:转弯时本来就需要左右轮速度不同,不能简单把两轮强行拉平。
工程上更稳妥的分层方式是:
- 电流环或 PWM 层:驱动器让电机产生所需电流或电压;
- 轮速环:左右电机跟踪各自目标速度;
- 车体速度层:根据左右轮实际速度估计
和
; - 姿态/航向层:利用 IMU 或外部定位修正偏航;
- 导航层:规划路径并生成
或类似速度命令。
不要指望单一 PID 解决所有问题。轮速环解决“电机是否按目标转”,航向环解决“车体是否沿目标方向走”,定位融合解决“世界坐标中的位姿是否可信”。这几层目标不同,采样频率和传感器也不同。
6. 从开环到闭环:一套可落地的调试顺序
差速底盘的调试可以按从硬件到模型、从单轮到整车的顺序进行。

图 16|底盘控制分层,调试从安全限幅逐步推进。
第一步,确认机械和电气安全。 抬起底盘,限制最大 PWM 或最大电流,逐个电机测试方向、刹车、急停、驱动器故障输出和编码器方向。此时不要让机器人带载高速跑。
第二步,标定符号和比例。 给右轮正命令,确认右轮让机器人向前;给左轮正命令,确认左轮向前。编码器正方向要和电机正方向一致。测量轮半径、轮距、减速比和编码器计数,记录到参数文件中。
第三步,做单轮开环曲线。 在安全支架上,对每个轮子扫描不同 PWM,占空比从小到大,记录稳态速度,得到死区、最大速度和大致
。这一步不代表最终要开环运行,目的是摸清系统能力。
第四步,调速度 PI。 先令
,逐步增加
,直到响应足够快但不过度振荡;再加入较小
消除稳态误差。每次调参都要在正转、反转、低速、中速和接近最大速度下测试。必要时加入前馈、输出限幅、积分限幅和目标斜坡。
第五步,双轮联调。 让机器人低速直行、原地旋转、圆弧运动,检查左右轮速度是否跟踪,是否存在明显偏航、抖动或一侧饱和。直行偏航如果随方向反转而反向,可能是左右增益或摩擦差异;如果总向同一世界方向偏,可能是地面坡度或外部干扰。
第六步,校准运动学参数。 让机器人走已知距离,修正轮半径;让机器人原地旋转一圈或多圈,修正有效轮距。对四轮滑移或履带底盘,有效轮距可能随地面变化,不能只靠一次标定覆盖所有场景。
第七步,验证里程计。 用卷尺、标线、激光定位、视觉定位或运动捕捉对比里程计误差。直线、圆弧、原地旋转和复合路径都要测。仅在支架上速度环好,不代表落地后位姿估计好。
这套流程背后的原因很简单:开环测试帮助了解电机和驱动器,闭环控制帮助抵抗负载扰动,整车标定帮助把轮速变成位姿,外部验证帮助发现轮地滑移和模型误差。
7. 开环、闭环与前馈:三者不是互斥关系
成熟系统通常不在开环和闭环之间二选一,而是组合使用:用前馈提供主要控制量,用 PI/PID 修正模型误差,用速度斜坡限制冲击,用电流限制保护硬件,用上层定位闭环修正轮速里程计的长期漂移。
六、选型时最容易踩的几个坑
把“能横移”当成唯一指标。 麦克纳姆、全向和舵轮确实能横移,但代价不同。低成本麦克纳姆轮在不平地面上横移误差可能很大;舵轮性能好但成本和维护复杂;全向轮对地面和载重更挑剔。若任务不需要横移,差速或阿克曼可能更可靠。

图 17|选型误区集中在自由度、参数、电机、传感和低速控制。
把 CAD 轮距当成运动学轮距。 两轮差速在平整地面上接近理想模型,四轮滑移和履带则经常需要有效轮距。这些参数不能只抄图纸,要通过实测校准。
只看电机额定功率,不算轮端扭矩。 移动底盘要能启动、上坡、越障和急停。选电机时要把轮半径、减速比、效率、最大坡度、加速度、滚动阻力和安全系数一起考虑。
把编码器当成绝对真值。 编码器只测轮子或电机转了多少。打滑、轮胎变形、地面沉陷和滚子滑动都会让里程计偏离真实位姿。
忽视低速控制。 很多机器人不是在最高速度下出问题,而是在靠近货架、进电梯、对接充电桩时低速抖动、爬行不稳或死区过大。低速死区补偿、编码器分辨率、减速器间隙和速度环参数都很关键。
没有把控制频率分层。 电流环、速度环、姿态环和导航规划不应该都挤在同一个慢循环里。底层环路要足够快,上层规划可以慢一些;每层只解决自己能观测、能控制的问题。
结语:把速度指令落到真实地面
移动机器人底盘连接了算法和真实世界。算法给出
、
、
,运动学把它们变成轮速,驱动器把轮速变成电压或电流,电机和减速器把电能变成轮端扭矩,轮胎再通过地面摩擦让机器人移动。任何一环失真,都会表现为跑偏、打滑、抖动、定位漂移或续航不足。
差速轮是理解移动底盘的最好入口:它的运动学只有左右轮速度,却已经包含了电机模型、PWM 开环、编码器测速、PI/PID 闭环、前馈、参数标定和里程计误差等关键问题。理解了差速,再看麦克纳姆、全向轮、舵轮、阿克曼和履带,就能看出它们不是“高级或低级”的区别,而是面对不同任务约束时,对运动自由度、机械复杂度、地面适应性和控制难度的不同取舍。
底盘选型要从任务出发,回到运动学,再落到电机和控制闭环。这样,机器人在仿真里“能走”的轨迹,才有机会在真实地面上走得稳、走得准、走得久。
资料来源与延伸阅读
[1] Modern Robotics, “13.3.1. Modeling of Nonholonomic Wheeled Mobile Robots”https://modernrobotics.northwestern.edu/nu-gm-book-resource/13-3-1-modeling-of-nonholonomic-wheeled-mobile-robots/
[2] ROS 2 Control, “diff_drive_controller”https://control.ros.org/master/doc/ros2_controllers/diff_drive_controller/doc/userdoc.html
[3] WPILib Docs, “Differential Drive Kinematics”https://docs.wpilib.org/en/stable/docs/software/kinematics-and-odometry/differential-drive-kinematics.html
[4] WPILib Docs, “Mecanum Drive Kinematics”https://docs.wpilib.org/en/stable/docs/software/kinematics-and-odometry/mecanum-drive-kinematics.html
[5] MathWorks Robotics System Toolbox, “Ackermann Kinematics”https://www.mathworks.com/help/robotics/ref/ackermannkinematics.html
[6] WPILib Docs, “Swerve Drive Kinematics”https://docs.wpilib.org/en/stable/docs/software/kinematics-and-odometry/swerve-drive-kinematics.html
[7] MathWorks Simscape Electrical, “DC Motor”https://www.mathworks.com/help/sps/ref/dcmotor.html
[8] ROS 2 control_toolbox, “control_toolbox::Pid”https://docs.ros.org/en/rolling/p/control_toolbox/generated/classcontrol__toolbox_1_1Pid.html
[9] WPILib Docs, “Feedforward Control in WPILib”https://docs.wpilib.org/en/stable/docs/software/advanced-controls/controllers/feedforward.html
[10] MathWorks Motor Control Blockset, “Six-Step Commutation”https://www.mathworks.com/help/mcb/ref/sixstepcommutation.html
[11] MathWorks Simscape Electrical, “PMSM Field-Oriented Control”https://www.mathworks.com/help/sps/ref/pmsmfieldorientedcontrol.html

文章精选:
1.图灵奖得主姚期智最新演讲: AI有边界,恰恰是好事
