Bootstrap

AGV小车导航控制 研一《智能控制》课程文献阅读作业

摘要

AGV(即自动导向小车)是一种集控制、定位、各种传感器技术于一体的设备。随着智能车技术的不断发展,智能车的应用范围和功能都将大为拓展,现已逐渐用于工业与民用领域。但是由于负载变化、使用环境条件恶劣等原因,在实际运用时AGV小车在定位及控制上依然有许多难点需要攻克。本文即针对上述难点,研究并设计了一种新型的驱动方式和控制系统,利用模糊控制与PID控制相结合的方法,在开机初期误差矫正快,后期平稳,可以迅速跟踪期望轨迹。在实验状态下,运行速度为1米每秒时,0.5米的误差约5秒即可消除,达到稳定状态。

引言

AGV 目前在国内的一些行业中己经得到了广泛的应用,使用最多的就是制造业和物流行业,但和发达国家相比还有很大的差距。在导航技术上也比较落后,多使用电磁导航等简单的技术,对于自动运输中出现的很多问题也难以有效的解决。因此响应国家的号召,掌握自动导向车的关键性技术,提高自主研发能力具有非常重要的现实意义。

对地面规定路径跟踪的准确性、平稳性以及对行驶过程中产生偏差得快速纠正是体现自动导引小车性能的重要指标。其核心问题是解决大偏差状态下提高系统的响应速度与小偏差下减少系统超调量之间的矛盾,这些问题依靠单一的控制器都难以解决。解决这个问题需要利用现代控制理论及智能控制方法,将多种控制器结合起来对AGV进行控制,发挥各种控制的优点,以解决 AGV 在复杂工况下的控制难题。

研究背景

自动导引小车(AGV,Automatic Guided Vehicle),是一种利用蓄电池来提供动力,通过传感器与非接触性导向装置进行导航,用于设备搬运、车间自动化装配的无人驾驶车辆,是现代自动化车间以及物流仓储系统的关键性设备。

国内AGV的研究和使用起步较晚,但发展特别迅速,目前已经接近国际领先水平。在控制方面,有研究团队在AGV小车上设计了激光导引控制系统,并分别对其系统的硬件与软件进行设计与开发,从而提高了AGV的定位精度。也有学者将射频识别模块(RC522)与小车结合,在定位和控制方面提供了更加丰富的方法。

驱动与导航

现在最常见的 AGV 驱动方式一般采用舵轮驱动或者差速驱动的方式,差速驱动轮由驱动电机提供动力,靠左右两轮间的差速行驶来实现转向功能。这种设计方式需要保证两个驱动轮的同轴度,驱动电机的常见类型有直流伺服机电、步进
电机,无刷电机等。而舵轮分为立式舵轮和卧式舵轮,由驱动电机、转向电机、制动器和编码器等组成,是一种高度集成的驱动转向单元,由驱动电机提供前进的动力,通过编码器将转向盘转过的角度反馈回来,由控制系统控制转向电机,对舵轮转角进行控制。

此外还有一种可以全方位移动的装置——麦克纳姆轮,简称“麦轮”,这种车轮在中心轮毂的周围有一圈斜着布置的辊,斜向布置的辊将一部分的轮毂转向力转化到一个轮毂法向力上面。依靠各自车轮的方向和速度,将这些力合成后,可以在任何方向上产生合力矢量,从而使得装有这种车轮的车体可以沿着最终合力矢量的方向移动。\cite{lee}

本文设计的AGV采用舵轮驱动,底盘上的舵轮成对角分布,剩下的一对对角安装万向轮,该种轮系分布方式,相比三轮 AGV 结构稳定,比六轮结构简便,避免了传统四轮结构转向能力和横向移动能力不足的问题,而且对角分布驱动总成可以协调小车整体的质量分配,提高了驱动装置的操控性。如图:
\begin{figure}[htb]\centering\includegraphics[width=\linewidth]{小车.pdf}\caption{小车直行与斜行状态示意图}\label{小车.pdf}\end{figure}

双舵轮转向 AGV 采用前后轮向不同方向偏转形式转向,能够有效减小AGV的转向半径,减少 AGV 路劲跟踪过程中的调整时间,使 AGV 具有良好的运动灵活性及环境适应性,且利用了汽车四轮转向原理,为将来发展 AGV 高速行驶避障,无人 AGV路径规划等功能提供了良好的思路。

目前AGV的导航方式种类繁多,按照导航原理的不同可以分为磁导航、超声波导航、卫星导航、超宽带、惯性导航、人工信标导航、基于路标的导航、基于机器视觉的图像识别导航等。

随着工作任务越来越复杂,现在的 AGV 往往将多种传感器集合与一身,将它们安装在车体的不同位置上,根据不同传感器的工作原理,给各个传感器分配不同的测量任务,从而实现对 AGV 的精确控制,多传感器信息融合也是目前 AGV 控制算法的主要研究方向之一。

控制技术

自动导向车的重要任务之一就是实现对目标路径的良好跟踪,AGV 小车的稳定性与可靠性和控制器的精度有着密不可分的关系。将给定的路径输入给 AGV 后,AGV需要沿着路径前进,并且自动消除路径跟踪过程中产生的位置和角度偏差,控制系统需要完成对给定路径的准确追踪。

本文将采用模糊控制与 PID 控制相结合的方式使小车可以应对大偏差下的误差校正。并对常用的控制算法进行简单介绍。

建立运动学模型

运动状态空间模型

假设小车运动时间 Δ t \Delta t Δt后,小车产生的姿态角偏差记为 Δ e β \Delta e_\beta Δeβ,位移偏差记为 Δ e d \Delta e_d Δed,则根据小车运动学方程可得:
\begin{equation}\begin{split}\Delta e_\beta &= \frac{v}{\beta}\cos \beta \Delta t  \\Delta e_d &= \frac{v\cdot \Delta t}{\cos \Delta e_\beta}\end{split}\label{1}\end{equation}

对上述两式左右时间求导,可以得到姿态角偏差的变化率:
\begin{equation}\frac{d\Delta e_\beta}{dt}= \frac{v}{R}\cos\beta +\beta\label{2}\end{equation}

同理可以得到位移偏差的变化率:
\begin{equation}\frac{d \Delta e_d}{dt}= \frac{v}{\Delta e_\beta} +d	\label{3}\end{equation}

由式上式,可以得到以偏差为状态变量的AGV状态空间表达式:
\begin{equation}\begin{bmatrix}\frac{d\Delta e_\beta}{dt}\\\frac{d \Delta e_d}{dt}\end{bmatrix}=\begin{bmatrix}0&0\\v&0\end{bmatrix}\begin{bmatrix}\frac{1}{e_\beta}\\e_d\end{bmatrix}	+\begin{bmatrix}\cos \beta\\0\end{bmatrix}\omega+\begin{bmatrix}\beta \\d\end{bmatrix}\label{4}\end{equation}

整体状态空间模型

本文将伺服电机的电压值作为系统的输入变量,而将小车舵轮的转角值作为系统的实际输出。n 阶差分方程为:
a 0 y ( k + n ) + ⋯ + a n y ( k ) = b 1 U ( k + n − 1 ) + ⋯ + b n U ( k ) a_0y(k+n)+\dots+a_ny(k)=b_1U(k+n-1)+\dots+b_nU(k) a0y(k+n)++any(k)=b1U(k+n1)++bnU(k)
根据相关文献中的数据,选择最优调整时间 600ms 以及信号周期 0.75s。通过Matlab软件利用最小二乘法对电机驱动系统进行辨识得到方程:
y ( k ) = − 1.776 y ( k − 1 ) − 0.738 y ( k − 2 ) + 0.65 u ( k − 1 ) + 0.478 u ( k − 2 ) y(k)=-1.776y(k-1)-0.738y(k-2)\\+0.65u(k-1)+0.478u(k-2) y(k)=1.776y(k1)0.738y(k2)+0.65u(k1)+0.478u(k2)
则传递函数可以表示为:
G ( s ) = 0.65 s + 0.478 s 2 + 1.776 s + 0.738 G(s)=\frac{0.65s+0.478}{s^2+1.776s+0.738} G(s)=s2+1.776s+0.7380.65s+0.478
简化、降阶,使MATLAB计算如下传递函数:
G ( s ) = 0.5238 s + 0.7582 G(s)=\frac{0.5238}{s+0.7582} G(s)=s+0.75820.5238

PID控制与模糊控制

在实际中,目前应用较多的是 PID 控制,PID 控制因其良好的性能而成为了目前最稳定的 AGV 控制器之一。但是在实际 AGV 应用过程中,PID 控制也暴露了一些问题,采用 PID 控制的 AGV 小车,误差纠正范围有限。由于上述原因,单一的控制器已经无法满足现在的控制需求,将PID控制和模糊控制进行融合,合成为一个多控制器的控制系统,是一个很好的选择。

模糊控制器设计

按照计算出的小车模型,先进行模糊控制器的设计。
AGV 舵轮的转向角和行驶速度以及小车的初始位置,就可以知道小车任意时间的位置与姿态,假定小车前后驱动轮的行驶速度保持一致,则本文采用一个双输入单输出的模糊控制器对 AGV 小车转向角度进行控制,将通过传感器反馈回来的信号通过计算得到小车在行驶过程中产生的偏差,即位置偏差和角度偏差,将这两个量送入模糊控制器进行模糊化处理生成模糊量,得到它们的隶属函数值,再将其送入推理机构,根据模糊控制规则推理得到一个模糊控制量,最后将这个模糊控制量进行清晰化处理,得到最终的控制参数小车前舵轮转角δ(后舵轮转角为前舵轮转角乘以系数),进而在小车路径跟踪时实现更好的控制。

确定变量语言

要确定变量语言必须先对描述它的语言进行一个选取,对于本文的输入行驶角度偏
差选用左、零和右这三个词汇来进行描述,左右指的是相对小车轴线来说。相对应地生
成的语言变化范围为:“左侧大偏差”、“左侧中偏差”、“左侧小偏差”、“零”、“右侧小偏
差”、“右侧中偏差”、“右侧大偏差”。对于行驶位置偏差则选用小、中、大三个词汇来描
述其距离,用正负号来表示其位于行驶路线右侧和左侧,对应生成的语言变化范围为:、
“负大偏差”、“负中偏差”、“负小偏差”、“零偏差”、 “正小偏差”、“正中偏差”、“正大偏
差”。输出量为小车前舵轮转角,语言变化范围为“左大转角”、“左中转角”、“左小转角”、
“左极小转角”、“零转角”、“右极小转角”、“右小转角”、“右中转角”、“右大转角”。
一般模糊语言的子集对应的含义为:NB(negetive big)=负大,NM(negetive middle)=负中,NS(negetive small)=负小,ZO(zero)=零,PB(positive small)正小,PM(positive middle)=正中,PB(positive big)=正大。

确定变量的隶属度函数

根据查阅文献资料,将输入量行驶角度偏差,论域[-30°,30°]定义7个子集表示,
即: U 1 U_1 U1={[左大,左中,左小,零,右小,右中,右大]}对应到模糊子集为{[NB,NM,NS,
ZO,PS,PM,PB]}。为避免量化因子影响,故本文量化因子和比例因子直接选为 1。
将输入量行驶位置偏差,论域[-25cm,25cm](负偏差表示位于行驶路线左边,正
偏差表示位于行驶路面右边),定义7 个子集表示,即 U 2 U_2 U2={[负大,负中,负小,零,正
小,正中,正大]}对应到模糊子集为{[NB,NM,NS,ZO,PS,PM,PB]}。
输出变量δ为前舵轮的转角,论域为[-45°,45°],定义 9 个子集覆盖输出量,即 U U U={[左
大,左中,左小,左极小,零,右极小,右小,右中,右大]}对应到模糊子集{[NB,NM,
NS,NU,ZO,PU,PS,PM,PB]}。
常见的隶属度函数类型有三角形、梯形、正态分布型、S 型和 Z 型等,本文选择计算简单、被大量食用的三角形隶属度函数。

综合对隶属度函数选取的规则,尽可能的实现较好分辨率的控制效果,对本文AGV 模糊控制器的隶属度函数设置如下,图\ref{jd}所示为本文双舵轮AGV角度偏差 α \alpha α对应的隶属度函数,图\ref{wz}为位置偏差 e e e对应的隶属度函数,图为一些 δ \delta δ隶属度函数。
在这里插入图片描述

确定模糊控制规则

据实际经验来说,如果小车偏离行驶路线较大,则应该让它快速的回到行驶路线上来,
如果偏差较小,则应该让它平稳的回到路线上来,避免出现波动。由于输入有两个变量,每个变量分为7个模糊集合,所以将角度偏差和位置偏差的调整规律总结为 7 × 7 = 49 7\times7=49 7×7=49条模糊控制语言,此49个模糊规则其结果均为输出值舵轮转角中9个模糊集合中一个。将规则由表格表示为:

MATLAB模糊控制箱控制规则图如图:
\begin{figure}[htb]\centering\includegraphics[width=\linewidth]{surface.jpg}\caption{模糊控制规则图(surface)}\label{surface}\end{figure}

PID控制器设计

虽然模糊控制器具有能适应被控对象非线性和时变性的优点,而且鲁棒性较好,但是它的稳态精度较差,控制欠细腻,难以达到较高的控制精度,尤其在平衡点附近。同时,它也缺少积分控制作用,不宜消除系统的静差。为了弥补这些缺陷,实际中经常把模糊控制器和其他控制器相结合,充分发挥他们的优点,以使控制效果更加完美,满足设计中的各种不同的需求。因此下面将模糊控制与 PID 控制相结合,对本文的小车进行控制。

PID 控制系统的原理框图如图:
在这里插入图片描述

PID系统的传递函数为:
u = K p e ( t ) + 1 T 1 ∫ e ( t ) d t + T D e ( t ) d t u=K_pe(t)+\frac{1}{T_1}\int e(t)dt+\frac{T_De(t)}{dt} u=Kpe(t)+T11e(t)dt+dtTDe(t)

PID控制与模糊控制联合控制器

一般的模糊控制器以误差和误差的变化率为输入,相当于系统中只具有微分和比例环节,没有积分环节,这种类型的模糊控制器固有的稳态误差会导致在跟踪小距离偏差的路径时,性能较差,且控制系统消除系统误差能力不足,难以实现
较好的控制效果。而本文设计的双输入模糊控制器,为了兼顾输入信号的全面和系统的简易,只输入误差,没有误差变化率,因此在最后越接近于路径时,更无法消除稳态误差及超调现象。

而如果将PID控制器和模糊控制器复合,设置一个虚拟开关,使控制系统在二者之间可以进行切换,以满足不同误差下系统的调节需要,通过此 PID 模糊算法可以实现更好的纠偏以及更好的路径跟踪。

复合 PID 模糊控制器具体设计如下:

  • 传感器将采集到的信息传回系统,由系统计算得到当前小车的姿态误差信息,设置一个虚拟开关S和阈值 δ \delta δ,通过对偏差e与设定的 δ \delta δ的比较结果来决定使用哪种控制方式。
  • ∣ e ∣ > δ |e|>\delta e>δ时,认为小车当前与规定行驶路线位置偏差较大,应采用模糊控制方式,发挥其动态性能好、响应迅速的特点。
  • ∣ e ∣ < δ |e|< \delta e<δ 时,则判断小车当前与规定路线偏差较小,应使用 PID 控制方式,发挥其 稳态精度高的优点,减小稳态误差。

阈值 c 通过统计实验数据整定得到,模糊PID复合控制原理示意图如图\ref{复合控制}:
\begin{figure}[htb]\centering\includegraphics[width=\linewidth]{复合控制.pdf}\caption{模糊PID复合控制示意图}\label{复合控制}\end{figure}

模型仿真

在 Simulink 中搭建模糊控制系统模型如图\ref{moxing}所示:
\begin{figure}[htb]
\centering
\includegraphics[width=\linewidth]{moxing.png}
\caption{模糊PID复合控制模型( m a t l a b matlab matlab)}
\label{moxing}
\end{figure}

该系统主要由期望轨迹模块、模糊控制器、PID 控制器,小车运动学模块等组成。输入参数可以使用预先计算的模型参数,也可以进行物理实验,将实验数据导入。若采用后者,仿真数据更趋于实际,更有说服力。将本文设计好的 AGV 模糊文件通过 $To Workspace $选项导入到工作空间,然后在 Simulink 中的 F u z z y Fuzzy Fuzzy 模块中,再将该模糊文件写入,至此,设计的模糊控制模块才被嵌入至 Simulink 模块中。y轴位置跟踪如图:
\begin{figure}[htb]\centering\includegraphics[width=\linewidth]{yzhou.eps}\caption{y轴位置跟踪曲线()}\label{yzhou}\end{figure}

其中,小车默认匀速行驶,v=1,轴距 L=1,跟踪直线轨迹 y=0.5,初始位置 ( x , y , 角度 ) (x,y,\text{角度}) (x,y,角度) ( 0 , 0 , 0 ) (0,0,0) (0,0,0)
根据图\ref{yzhou}可以看出,在一开始有较大的偏差时,小车在模糊控制的作用下,可以
在较短的时间内完成对行驶角度的纠正,使小车很快回到接近预定轨迹上继续行驶,随后自动切换为PID控制(阈值设置为0.05,即当y方向偏差在0.05以上时,使用模糊控制,迅速响应,且鲁棒性好,系统稳定。在误差小于0.05时,使用PID精确控制,减少稳态误差)。由图形可以看出,系统响应开始变化较快,随后趋于平稳,证明所设计的小车控制系统
可以完成对直线轨迹的良好跟踪,且位置变化平滑。

本节内容将前面设计的控制系统在 MATLAB-Simulink 中搭建了仿真模型,令AGV小车跟踪期望路径,根据仿真结果可以看出,在不同初始姿态下,AGV 小车都可以平稳的跟踪上指定轨迹,且跟踪初期误差矫正较快,后期平稳,可以迅速跟踪期望轨迹。

总结与展望

本文将模糊理论运用在 AGV 的转向控制上,针对对角布置双舵轮驱动 AGV 的运动
特点,建立了模糊控制和 PID 控制相结合的复合控制器,并进行了仿真实验,结果显示跟踪路径的结果良好,达到了预期目的。其创新点有:

  • 利用模糊控制对非线性模型的良好控制和较强的鲁棒性,将模糊控制应用到本文 双舵轮 AGV 的转向控制中,设计了一种双输入单输出的模糊控制器,将 AGV 小车在 实际行驶过程中与期望路径的角度偏差 α \alpha α和位置偏差 e e e 作为模糊控制器的输入,输出则 为 AGV 的舵轮转角 δ \delta δ,确定了变量对应的模糊子集的范围,确定了每个子集的隶属度函 数,并制定了相应的模糊控制规则,最后将推理出的模糊值进行清晰化处理,完成了本文的模糊控制器的设计。
  • 考虑到单一控制器无法满足现在实际的需要,且模糊控制在靠近平衡点附近存在 控制盲区,结合工业中最常用的 PID 控制器,将二者结合起来,设计了一款复合控制器, 通过一个条件判断开关来决定使用何种控制器,复合控制器表现平稳,响应较快。

本设计可以运用于物流领域,在现代自动化物流系统中自动运行,进行物品运输甚至自动上下货等操作,具有良好的发展前景和应用价值。

同时本技术经改进后可以用于外太空地形探索、物资勘察、消防消毒等众多领域,工程机器人的普及必将是未来发展的趋势。

备注}

按照课程要求,本文在充分阅读以下两篇与自己研究方向相近的文章后,结合自己的理解与感悟写作的,两篇文章为:

[1]张昭,王佳宁,李志.基于射频识别系统的AGV小车的研究[J].数码世界,2019(01):50.

[2]魏斌.基于模糊PID的双舵轮AGV控制系统设计[D].山西:中北大学,2020.

在此对两篇文献的作者表达由衷的谢意,也对原文作者在学术研究上的成绩和严谨态度致以敬意。

;