虽然目前已有不少关于 AGV 运动控制方面的文献,设计的方法也涉及到很多种,但其中大部分文献都是考虑在整个跟踪过程中使用同一种控制方法来控制 AGV,这样就显得缺乏针对性。WMR 在行驶的不同的阶段会出现一些不同的问题(如行驶初期出现速度跳变现象,行驶途中出现能耗过多现象,行驶末期出现不稳定现象等),如果只用一种控制方法去控制整个运动过程,就不能很好地解决各阶段出现的各种问题。此时如果有一种分段运动控制器(Sectionalized Motion Control,SMC),既能完成轨迹跟踪,又能解决各个阶段出现的问题,这种控制器就表现出了明显的优势。尹晓红博士主持浙江省自然科学基金项目:“非完整轮式移动机器人轨迹跟踪分段控制研究(LQ12E05005)”即针对此类问题展开研究,把整个控制过程分成不同阶段,针对不同阶段出现的某些问题,分别用不同的控制模块进行控制,即为本研究的整体思路。
SMC控制框图如图1所示。首先,通过路径规划算法获得WMR系统的参考位姿pr和参考速度qr,其次,参考位姿pr与系统反馈得到的AGV实际位姿qr进行比较可以得到WMR全局位姿误差矢量,经过变换矩阵
转换得到局部位姿误差矢量e。接着,根据当前时刻WMR所属的行驶阶段不同,e分别转换到下列子控制器之一进行处理:
(a)如果处在行驶初期,位姿误差e 中X和Y轴方向的误差(即xe 和 ye)通过神经动力学模块进行改进,输出相应的两个虚拟控制量σx和σy,它们和θe、参考速度qr一起作为路径跟踪运动学控制模块的输入,控制输出WMR的理想速度qd = [υd ωd]T 。
(b) 如果处在行驶途中,位姿误差e和 参考速度qr 一起作为路径跟踪运动学控制模块的输入,输出理想速度qd = [υd ωd]T 。随即qd 输入至能量优化控制模块,将理想线速度υd优化为能量最优线速度υd*. 即能量优化控制模块的输出为qd* = [υd* ωd]T。
(c) 如果处在行驶末期,位姿误差e输入至模型预测控制模块,得到Ue*=[u1e* u2e*],再结合给定的参考速度qr 即可得到WMR的控制律[υ* ω*]T.
上述各阶段控制器在作用后均会产生一个速度控制率,这里暂且用
统一表示。
通过一个快速终端滑模控制器来提高WMR小车轨迹跟踪控制精度,以实现系统全局渐进稳定。最后,考虑到WMR状态反馈的精度对整体控制效果会产生很大的影响,设计一个卡尔曼滤波器来提高WMR状态反馈精度,从而提高整个控制系统性能。
图1 SMC控制框图
(3)部分控制结果图
图2和图3分别为使用本研究所设计的SMC控制方法和传统滑模控制方法进行对上述期望轨迹进行仿真的结果图。
表3 两种方法下的主要仿真结果比较
参数 |
SMC 方法 |
传统方法 |
xe变化范围 (m) |
[-0.2, 0] |
[-0.2, 0.1] |
ye变化范围 (m) |
[-1.2, 0] |
[-1.2, 0.6] |
θe 变化范围(rad) |
[ -π/6, 0] |
[ -0.7, 0.1] |
[xe ye θe]T收敛时间(s) |
4 |
10 |
初始时刻υ的最大值 (m/s) |
3 |
8 |
初始时刻ω的最大值 (rad/s) |
0.1 |
0.5 |
在第 0~2秒的系统最大能耗率 (W) |
2.5 |
2.9 |
在第2~12秒的系统平均能耗率 (W) |
1.5 |
1.7 |
图2 SMC方法下的系统仿真结果
图3 传统滑模控制方法下的系统仿真结果