1. 引言
自动引导小车(Automatic Guided Vehicles, AGV)能够承重一定载荷且沿着给定路径精确地自动行驶 [1] 。利用传感器能够探索周围环境并自动完成寻找最优路径和自身的定位及跟踪设定的轨迹,在进行高层次的决策程序时,底层基本的轨迹跟踪需要进行严格的控制 [2] 。AGV系统是一个强耦合的非线性动力学系统,存在着各种参数和非参数的不确定性,且具有车轮摩擦、负载的变化和噪声等外界的不确定因素。传统的基于对象的控制方法很难精确地进行轨迹跟踪。近年来,AGV的智能控制在理论和应用方面都取得较大的进展。AGV的运动控制方法主要有模糊控制 [3] ,模型预测控制 [4] ,自适应控制 [5] ,神经网络控制 [6] 等。这些智能控制方法均对非线性系统有着较好的自适应性,但是仅限于局部渐进稳定,且控制器设计比较复杂。
本文首先建立了AGV的运动学模型,在该模型的基础上采用Back-stepping算法和Lyapunov理论设计控制器,确保AGV系统对参考轨迹的全局渐进跟踪。通过MATLAB仿真实验,验证了AGV轨迹跟踪的有效性。
2. AGV的运动学模型
AGV是通过左右两个驱动轮之间的速度差来改变小车的运动方向,属于两自由度的驱动系统。因为驱动轮和地面的滚动约束比较复杂,针对小车的实际运行情况建立精确的运动学模型是比较困难的。为了进行运动学建模,将问题做如下假设和简化:假设车轮在路面上低速运行,忽略车轮滑动的影响,并且两驱动轮保持在同一轴线上 [7] 。
两轮差动驱动的AGV模型如图1所示。取左右两轮中心连线的中点C作为参考点,则小车的位姿
,设
和
分别为左、右驱动轮的角速度,
和
分别是小车的线速度和转动角速度,则运动学模型 [8] [9] 为
(1)
(2)
(3)
其中,θ为AGV的航向角,L为左、右两轮的长度,r为车轮的半径。
AGV位姿误差模型如图2所示,小车的实际位姿为
,参考位姿为
,位姿
![](//html.hanspub.org/file/1-2690259x19_hanspub.png)
Figure 1. Two-wheel differential drive AGV model
图1. 两轮差速驱动AGV模型
误差则
,以
为参考坐标系,根据坐标变换公式得到AGV位姿误差为 [10] [11] [12] :
(4)
对式(4)进行时间求导得出以下方程:
(5)
由以上分析可以看出,AGV的轨迹跟踪问题可以转化为设计一个有界控制输入量
,在任意初始的误差下,可以使AGV的实际位姿能够快速地跟踪参考位姿 [13] [14] 。即:取下面的闭环反馈非线性系统 [15] :
(6)
3. Back-stepping 控制律的设计
3.1. Back-stepping设计步骤
取下面的闭环反馈非线性系统
(7)
其中,
是系统的状态,
是系统的输入,
是系统的非线性部分。
Back-stepping方法的设计思想是把每一个子系统
中的
作为虚拟控制量,通过适当的
来满足前面的系统状态的渐进稳定,因为
不是实际的控制量,所以引进误差变量
,通过设定虚拟反馈控制变量
与
具有线性特性,使整个系统达到渐进稳定。
引入
个虚拟反馈变量误差,把式(7)第一个等式作为一个独立的子系统。
(8)
为保证系统的每个状态都趋于渐进稳定,要在每个状态都构造一个Lyapunov函数。下面对每个系统的状态进行设计。
第一步:对
进行求导得:
(9)
取
,令
。
(10)
若
,
渐进稳定,若
,需要再次引入虚拟反馈变量
使误差变量
具有渐进稳定性。
第二步:定义
,令![](//html.hanspub.org/file/1-2690259x51_hanspub.png)
(11)
若
,则
和
渐进稳定;若
,需要引入虚拟反馈变量
使误差变量
具有渐近稳定性。按照这种方法递推下去,找到一般的虚拟反馈变量和Lyapunov函数。
第
步:定义一般的虚拟反馈变量和Lyapunov函数如下。
(12)
则有
(13)
由此递推到
步得
(14)
则系统的最终的控制律为
(15)
综上可知,误差变量
以指数形式渐进稳定,即整个系统是趋于渐进稳定的。
3.2. 控制器的设计
当
且
,则
,即
趋于常数,不能对系统进行控制。假设
,
为虚拟控制输入,然后找到合适虚拟反馈状态使
。
由AGV位姿误差微分方程(5)可知,当
时,选取控制Lyapunov函数为:
(16)
对(16)微分得:
(17)
设
,则
。AGV的轨迹跟踪控制律的设计输入为
,取误差变量为:
(18)
在
的基础上构造Lyapunov函数为:
(19)
对式(19)微分得:
(20)
设计的控制律如下:
(21)
其中:
是正常数。将设计控制律代入式(20)得:
(22)
因此,采用式(22)所示的反馈控制律能够使控制系统渐进收敛于稳定平衡点![](//html.hanspub.org/file/1-2690259x86_hanspub.png)
为了减小系统的抖振问题,采用了滑模变结构的控制方法,引进了等速趋近律 [16] 。
令
(23)
其中,
为正小数,
为正常数。
由上述表达式设计切换函数如下:
(24)
由式(23)和式(24)得
(25)
整理得,设计的控制律如下:
(26)
4. 仿真验证
在MATLAB环境下对Back-stepping控制算法的控制性能进行验证。对AGV分别进行了直线轨迹跟踪控制和圆轨迹跟踪控制。AGV控制律参数
,初始速度均为
。
1) 当AGV按照直线路径进行跟踪时:初始位姿误差为
,期望速度为
,仿真结果如图3所示。
2) 当AGV按照圆路径进行跟踪时:初始位姿误差为
,期望速度为
,仿真结果如下图3~图8所示。
从图4和图6可以看出AGV都能够快速、准确地按照规定的线路行驶,从图3和图5可以看出AGV能快速到达期望的速度。说明所设计控制律具有很好的轨迹跟踪能力,表现为跟踪路径精确程度高,跟踪速度快,稳定性好,验证了Back-stepping控制方法的有效性和正确性。
![](//html.hanspub.org/file/1-2690259x99_hanspub.png)
Figure 3. Tracking error of linear trajectory
图3. 直线轨迹的跟踪误差
![](//html.hanspub.org/file/1-2690259x100_hanspub.png)
Figure 4. Linear trajectory tracking speed changes
图4. 直线轨迹跟踪速度变化
![](//html.hanspub.org/file/1-2690259x101_hanspub.png)
Figure 5. Linear trajectory tracking pose error curve
图5. 直线轨迹跟踪位姿误差曲线
![](//html.hanspub.org/file/1-2690259x102_hanspub.png)
Figure 6. Tracking error of circular trajectory
图6. 圆轨迹的跟踪误差
![](//html.hanspub.org/file/1-2690259x103_hanspub.png)
Figure 7. Linear trajectory tracking speed changes
图7. 直线轨迹跟踪速度变化
![](//html.hanspub.org/file/1-2690259x104_hanspub.png)
Figure 8. Round track tracking pose error curve
图8. 圆轨迹跟踪位姿误差曲线
5. 结论
本文采用Back-stepping的方法来对AGV进行轨迹跟踪控制,建立了AGV运动学模型,运用了反演法且结合Lyapunov理论间接的设计了轨迹跟踪控制律,使小车趋向于全局稳定。仿真结果表明AGV能够实时、快速地跟踪参考轨迹,具有良好的控制效果,验证了Back-stepping控制方法的有效性。