1. 项目概述
全向移动底盘在工业自动化和服务机器人领域正变得越来越重要。不同于传统的差速驱动底盘,全向底盘(如麦克纳姆轮或全向轮结构)能够在平面内实现任意方向的移动和旋转,这种特性使其在狭窄空间作业中具有独特优势。然而,正是这种灵活性也带来了新的控制挑战——如何在保证运动精度的同时,实现复杂环境下的最优轨迹规划。
我在工业AGV项目实践中发现,当通道宽度接近底盘尺寸的1.2倍时,常规的轨迹规划方法往往会出现以下问题:转弯半径不足导致轨迹震荡、动态障碍物避让不及时、以及末端定位精度下降。这促使我深入研究基于Simulink的轨迹优化方案,通过将B样条曲线与模型预测控制(MPC)相结合,最终实现了在1.2米窄通道内的稳定通行。
2. 全向底盘运动学建模
2.1 运动学基础原理
全向底盘的核心在于轮系布置与速度合成。以最常见的麦克纳姆轮为例,四个轮子呈45°对角线布置时,底盘中心的速度向量可以分解为:
code复制[v_x; v_y; ω] = J · [ω1; ω2; ω3; ω4]
其中J是雅可比矩阵,其具体形式取决于轮组安装角度。在Simulink中,我使用MATLAB Function模块实现了这个模型,关键是要正确处理轮组安装角的三角函数关系。一个容易忽略的细节是:当轮子存在安装误差时,需要在雅可比矩阵中加入补偿系数。
注意:实际项目中测得轮组安装误差通常有±3°的偏差,这会导致速度合成误差达到8%左右。建议在建模时预留校准参数接口。
2.2 Simulink建模要点
在搭建运动学模型时,我推荐采用分层结构:
- 最底层是轮速到底盘速度的转换(前向运动学)
- 中间层处理速度限幅和加速度约束
- 顶层实现指令速度到各轮速的分解(逆向运动学)
具体参数设置参考下表:
| 参数名称 | 典型值 | 物理意义 |
|---|---|---|
| MaxLinearSpeed | 1.5 m/s | 最大线速度 |
| MaxAngularSpeed | 1.0 rad/s | 最大旋转速度 |
| WheelRadius | 0.075 m | 轮子半径 |
| WheelbaseX | 0.35 m | 轮组X方向间距 |
| WheelbaseY | 0.25 m | 轮组Y方向间距 |
3. 轨迹优化算法实现
3.1 B样条曲线生成
B样条的优势在于局部可控性和连续性保证。我采用三次B样条(C²连续)作为基础曲线,其数学表达式为:
matlab复制function [pos, vel, acc] = bspline(t, knots, ctrl_pts)
% 计算基函数值
N = zeros(4,1);
% ...具体实现代码见附件
pos = N' * ctrl_pts;
% 微分计算速度和加速度
end
在实际应用中,我发现控制点的数量与通道狭窄程度直接相关。对于1.2米宽的通道,控制点间距建议设置为0.3-0.4米,过密会导致优化计算量剧增,过疏则难以满足路径约束。
3.2 约束条件处理
狭窄通道优化的核心在于约束设计:
- 边界约束:路径点与障碍物的距离必须大于安全裕度(建议≥0.15m)
- 动力学约束:曲率半径要满足底盘最小转弯半径
- 连续性约束:加速度变化率限制(防止急启停)
在Simulink中,我使用SQP(序列二次规划)求解器处理这些非线性约束。关键技巧是将约束条件转化为惩罚函数,例如:
matlab复制cost = path_length + 1000*(max(0, d_min - safe_margin))^2;
4. MPC跟踪控制器设计
4.1 控制器结构
模型预测控制器的设计要点包括:
- 预测时域:选择3-5秒(太短会近视,太长计算量大)
- 控制时域:通常取预测时域的1/3
- 权重矩阵:位置误差权重应大于姿态误差
我的实测数据显示,在1.2米通道中,当预测时域设为4秒、控制时域1.2秒时,跟踪误差可以控制在±2cm以内。
4.2 参数调试心得
通过大量实验,我总结出MPC参数调试的黄金法则:
- 先调权重矩阵,确保位置跟踪优先于姿态
- 再调整时域参数,平衡响应速度与稳定性
- 最后微调约束边界,避免执行器饱和
一个典型的参数配置示例如下:
matlab复制mpcobj.Weights.OutputVariables = [10, 10, 5]; % [x,y,θ]
mpcobj.PredictionHorizon = 40; % 4秒(假设Ts=0.1s)
mpcobj.ControlHorizon = 12;
5. 仿真与实车验证
5.1 狭窄通道测试
在宽度1.2米的模拟通道中,优化前后的轨迹对比显示:
- 未优化路径:最大偏离距离28cm,存在明显"割角"现象
- 优化后路径:最大偏离4cm,全程满足安全距离
特别值得注意的是,在通道转角处,优化算法会自动生成平滑过渡曲线,这比人工示教的直角转弯路径效率提升约15%。
5.2 动态障碍物测试
当模拟行人突然出现在通道中时(距离底盘1.5米),系统响应流程为:
- 激光雷达检测到障碍物(仿真中用Trigger子系统模拟)
- 重新生成避障路径(耗时约120ms)
- MPC执行新轨迹,最小避障距离保持0.3米
实测避障成功率与障碍物出现位置密切相关。当障碍物出现在3米以内时,成功率可达92%;而5米以外的突发障碍,由于有充足反应时间,成功率接近100%。
6. 工程实施建议
6.1 实车调试步骤
根据我的项目经验,建议按以下顺序调试:
- 先静态验证运动学模型(命令各轮单独转动,测量实际位移)
- 再开环测试轨迹生成(用标记物检查路径合理性)
- 最后闭环测试MPC跟踪(从低速到额定速度逐步提升)
6.2 常见问题排查
以下是三个最常遇到的问题及解决方案:
-
路径震荡问题:
- 检查B样条控制点是否过密
- 确认MPC的预测时域是否足够长
- 验证轮毂电机是否存在回差
-
末端定位偏差大:
- 校准轮径参数(误差应<0.5mm)
- 检查IMU安装是否牢固
- 调整MPC末端权重
-
动态避障响应慢:
- 优化点云处理算法(建议使用FastICP)
- 降低轨迹重新规划的频率(建议100-200ms)
- 考虑使用滚动优化策略
经过多个项目的验证,这套方法在工业AGV、手术机器人等对空间精度要求高的场景中表现优异。特别是在核电站维护通道这类极端狭窄环境中,相比传统方法可提升通过效率约40%,且显著降低了碰撞风险。