3. 运动学模型基础:差速驱动模型、阿克曼转向模型、全向轮模型、运动学约束分析

各位同学,今天我们来聊聊AGV的“腿脚”——运动学模型。说白了,就是研究车子怎么动起来、怎么转弯、怎么走位。我做了这么多年运动控制,见过太多因为模型选错导致项目翻车的案例。所以这一章,咱们把几个主流模型掰开揉碎了讲清楚。

3.1 差速驱动模型:最经典的“坦克转向”

差速驱动,你想想看,就像坦克或者履带车。左右两个轮子独立驱动,通过转速差来实现转向。这是AGV里最常见、最皮实的一种结构。

核心公式:

v = (v_r + v_l) / 2          // 线速度
ω = (v_r - v_l) / L          // 角速度,L为轮距

其中 v_rv_l 分别是右轮和左轮的线速度。我习惯把轮距L记作“轴距”,但严格来说这里指的是左右轮中心之间的距离。

关键点:差速驱动模型有一个瞬时旋转中心(ICR),它位于两个驱动轮连线的延长线上。当左右轮速度相等时,ICR在无穷远处,车子直线行驶;速度不等时,ICR靠近速度慢的那一侧。

我在项目中遇到过一个坑:差速驱动AGV在重载时,如果地面摩擦系数不均匀,左右轮会出现滑移,导致实际角速度远小于理论值。嗯,这里要注意,模型里假设的是纯滚动,但现实世界没有纯滚动。

3.2 阿克曼转向模型:汽车是怎么转弯的?

阿克曼转向,说白了就是汽车转向方式。前轮负责转向,后轮负责驱动。它的核心思想是:所有车轮的轴线都交于一点——瞬时旋转中心。

几何关系:

tan(δ_l) = L / (R + B/2)
tan(δ_r) = L / (R - B/2)

其中 δ_lδ_r 分别是左前轮和右前轮的转向角,L 是轴距,B 是轮距,R 是转弯半径。

避坑指南:我曾经在调试一台阿克曼AGV时,发现转弯时内侧轮胎磨损严重。后来一查,是左右转向连杆没调好,导致内外轮转角不满足阿克曼几何。记住,阿克曼转向的精髓就是“内轮转角大于外轮转角”。

阿克曼模型有一个重要约束:转向角不能太大。一般最大转向角在30°-40°之间,否则会出现转向不足或过度转向。我建议你设计时留出10%的余量。

3.3 全向轮模型:想怎么走就怎么走

全向轮,也叫麦克纳姆轮或瑞典轮。它的特点是轮子上有一圈小辊子,与轮轴成45°角。通过四个轮子的不同转速组合,可以实现前后、左右、旋转任意方向的运动。

运动学逆解:

ω_1 = (v_x - v_y - ω * (a + b)) / r
ω_2 = (v_x + v_y + ω * (a + b)) / r
ω_3 = (v_x + v_y - ω * (a + b)) / r
ω_4 = (v_x - v_y + ω * (a + b)) / r

其中 v_xv_y 是车体坐标系下的速度,ω 是旋转角速度,ab 是轮子到车体中心的距离,r 是轮子半径。

警告:全向轮虽然灵活,但有个致命弱点——对地面平整度要求极高。我在工厂里见过一台全向轮AGV,就因为地面有个2mm的台阶,轮子上的小辊子直接卡死。所以,如果你要部署在户外或粗糙地面,我建议你慎重考虑全向轮方案。

3.4 运动学约束分析:为什么你的AGV走不直?

运动学约束,说白了就是“车子不能做什么”。每种模型都有它的“禁区”。

模型类型 非完整约束 完整约束 典型限制
差速驱动 有(不能侧向移动) 不能原地自旋(除非轮距为0)
阿克曼转向 有(不能侧向移动) 有(转向角限制) 最小转弯半径限制
全向轮 地面平整度要求高

非完整约束是什么意思?举个例子,差速驱动AGV不能像螃蟹一样横着走。它必须通过前进+旋转的组合运动才能到达目标位置。这就是非完整约束——限制了瞬时速度的方向。

完整约束则是对位置或姿态的直接限制。比如阿克曼转向,前轮转角不能超过机械限位,这就是一个完整约束。

我的经验:在做路径规划时,一定要把运动学约束考虑进去。我曾经见过一个团队,用A*算法规划出一条完美的路径,结果阿克曼AGV根本走不了——因为路径上的转弯半径小于车辆的最小转弯半径。所以,规划器必须知道车辆的“脾气”。

3.5 知识体系总览

下面这张图,是我自己总结的运动学模型知识框架。你可以把它当作一个“导航图”,遇到问题时先定位到对应模块。

运动学模型知识体系 差速驱动模型 v = (v_r + v_l)/2 ω = (v_r - v_l)/L 约束:不能侧向移动 阿克曼转向模型 tan(δ) = L/R 内轮转角 > 外轮转角 约束:最小转弯半径 全向轮模型 4轮独立控制 任意方向移动 约束:地面平整度 运动学约束分析 非完整约束:限制瞬时速度方向(差速、阿克曼) 完整约束:限制位置/姿态(阿克曼转向角限位) 规划时必须考虑约束,否则路径不可执行

这张图把三个模型的核心公式和约束都列出来了。你写代码时,可以把它贴在工位旁边,随时参考。

个人建议:初学者先从差速驱动入手。它结构简单,控制逻辑直观,适合理解运动学的基本概念。等把差速玩明白了,再挑战阿克曼和全向轮。我当年就是这么过来的。

好了,这一章的内容就到这里。运动学模型是AGV控制的“地基”,地基不牢,上层算法再花哨也是白搭。希望你能把这三个模型吃透,后面讲控制算法时,我们会反复用到这些公式。


公众号:蓝海资料掘金营,微信deep3321