模糊控制用于机器人避障.docx
- 文档编号:6320218
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:18
- 大小:344.90KB
模糊控制用于机器人避障.docx
《模糊控制用于机器人避障.docx》由会员分享,可在线阅读,更多相关《模糊控制用于机器人避障.docx(18页珍藏版)》请在冰豆网上搜索。
模糊控制用于机器人避障
Documentserialnumber【UU89WT-UU98YT-UU8CB-UUUT-UUT108】
模糊控制用于机器人避障
北京工业大学
结课论文
课题名称:
基于模糊控制的机器人避障
姓名:
崔鑫元
唐堂
成绩:
引言
智能小车是移动机器人的一种,可通过计算机编程来实现其对行驶方向、启停以及速度的控制。
要想让智能小车在行驶过程中能成功地避开障碍物,必须对其进行路径规划,路径规划的任务是为小车规划一条从起始点到目标点的无碰路径。
路径规划方法有:
BP人工神经网络法(BackPropagation)、机器学习(ReinforcementLearning)、以及模糊控制(Fuzzy Control)方法等。
模糊技术具有人类智能的模糊性和推理能力,在路径规划中,模糊推理的应用主要体现在基于行为的导航方式上,即将机器人的运动过程分解为避障、边界跟踪、调速、目标制导等基本行为,各基本行为的激活由不同的机构分别控制,机器人的最终操作由高层控制机构对基本行为进行平衡后作出综合反应。
模糊控制方法将信息获取和模糊推理过程有机结合,其优点在于不依赖机器人的动力学、运动学模型,系统控制融入了人类经验,同时计算量小,构成方法较为简单,节省系统资源,实时性。
本文探讨了模糊控制技术在避障路径规划中的应用,并对其进行了仿真设计。
摘要
基于MATLAB的仿真结果表明模糊逻辑推理方法在智能小车的导航控制中具有良好的效果。
引言,摘要……………………………………………………………………1
1.模糊控制技术基本理………………………………………………3
2模糊控制器设计…………………………………………………………4
3.避障算法设计…………………………………………………………6
4仿真实验……………………………………………………14
5.实验截图………………………………………………………………17
6.结论……………………………………………………………19
7.实验心得……………………………………………………………20
8.参考文献…………………………………………………………22
1模糊控制技术基本原理
环境中存在障碍物时,路径规划控制系统具有高度不确定性,是一个多输入多输出(MIMO)系统。
对于这种具有高度不确定性的MIMO系统,传统的控制方法不能达到很好的控制效果。
模糊推理控制方法将人类的驾驶经验融入系统控制之中,因此可以较好地满足系统自适应性、鲁棒性和实时性的要求。
模糊控制方式借助模糊数学这一工具通过推理来实现控制。
模糊逻辑模拟了人类思维的模糊性,它采用与人类语言相近的语言变量进行推理,因此借助这一工具可将人类的控制经验融人系统控制之中,使得系统可以像有经验的操作者一样去控制复杂、激励不明的系统。
总的说来模糊控制具有以下特点:
1)不依赖于被控对象的精确数学模型,易于对不确定性系统进行控制;
2)易于控制、易于掌握的较理想非线性控制器,是一种语言控制器;
3)抗干扰能力强,响应速磨陕,并对系统参数的变化有较强的鲁棒性。
模糊控制器的基本结构由模糊输入接口、模糊推理以及模糊输出接口三个模块组成。
模糊输入接口的主要功能是实现精确量的模糊化,即把物理量的精确值转换成语言变量值。
语言变量的分档根据实际情况而定,一般分为3—7档,档数越多,控制精度越高,计算量也越大。
模糊推理决策机构的主要功能是模仿人的思维特征,根据总结人工控制策略取得的语言控制规则进行模糊推理,并决策出模糊输出控制量。
模糊输出接口的主要功能是把输出模糊量转化为精确量,施于被控对象。
2模糊控制器设计
模糊控制系统结构如图所示,其与传统控制系统最大的区别在于采用了模糊控制器(图)。
图模糊系统结构图
模糊控制器主要有模糊化、知识库、模糊推理和清晰化这四部分组成。
首先把输入的精确量转换成模糊量。
知识库包含了具体应用领域的知识和要求的控制目标和规则等,由数据库和模糊规则库两部分组成。
模糊推理是模糊控制器的核心,它具有模拟人的模糊概念推理能力,输入量经由模糊推理得到模糊量控制量;再经过解模糊变换为用于实际控制的清晰量,作用于被控对象。
智能机器人模糊控制器设计的主要目标是:
当红外传感器探测到障碍物或者目标时,模糊控制器根据探测到的信息,确定智能机器人的位置、距离、方位,然后控制智能机器人避开障碍物,按预定的路径和方位行走。
1)确定系统的输入、输出
设置模糊控制器的输入变量为X1、X2,X3和X4,输出Y。
其中:
X1、X2,X3分别表示智能机器人距离障碍物右方、左方和前方的距离;X4表示智能机器人运动方向与目标中心连线的目标定位;Y表示智能机器人的转动角。
当目标在智能机器人右前方时,目标定位X4为正,否则x4为负;当智能机器人转向右时,转向角Y定义为正,当转向左时,Y定义为负。
以上输入变量均由红外传感器的状态数据所确定,经过模糊控制器的模糊化处理和模糊推理后,输出动作行为结果,该动作行为结果的执行是由子控制系统(电机控制器)执行,最终的执行者为电机。
2)定义模糊控制集合
在距离描述上采用如下模糊集合:
{Near,Far}={“近”,“远”},论域范围为(O~6m);目标定位变量X4的模糊语言描述为{LB,LS,Z,RS,RB}={‘‘左大”,“左小”,“零”,“右小”,“右大”},论域范围为(一1800,1800);输出变量Y的模糊语言描述为{TLB,TLS,TZ,TRs,TRB}={“左大”,“左小”,“零”,“右小”,“右大”},论域范围为(一300,300)。
3)建立模糊控制规则库
智能机器人在远离障碍或不存在障碍物环境下,依据不同的智能机器人轨迹和目标方位,可以先建立5条导航规则(1~5)。
这几条规则控制智能机器人转向目标位置:
1:
ifX1isFARandX2isFARandX3isFARandX4isLBthenYisTLB:
2:
ifXlisFARandX2isFARandX3isFARandX4isLSthenYisTLS;
3:
ffX1isFARandX2isFARandX3isFARandX4isZthenYisTZ;
4:
ifX1isFARandX2isFARandX3isFARandX4isRSthenYisTRS;
5:
ifXlisFARandX2isFARandX3isFARandX4isRBthenYisTRB:
当探测到障碍物接近智能机器人时,小车应改变运动轨迹,以避免碰撞。
依据驾驶操作经验,可得到智能机器人避障的控制规则,基于篇幅所限,这里只列出其中的5条:
6:
ifX1isFARandX2isNEARandX3isFARandX4isLBthenYisTZ;
7.uX1isFARandX2isNEARand.X3isFARandX4isLSthenYisTZ;
8:
ifX1isFARandX2isNEARandX3isFARandX4isZthenYisTZ;
9:
ifX1isFARandX2isNEARandX3isFARandX4isRSthenYisTI
10:
ifXlisFARandX2isNEARandX3isFARandX4isRBthenYisTRB;
以上共同构成了小车的动作行为控制规则。
小车转动的基本规则是,当探测到小车左(右)和前方出现障碍物时,小车应及时转向右(左)方向,并依据目标方位决定转动角的大小。
4)模糊推理及反模糊化处理
模糊控制器先将红外传感器给出的距离信息进行模糊化,后存储模糊逻辑状态,再依据模糊逻辑状态判断各个方向上障碍物的状态,然后将各个方向上障碍物的状态数据进行融合,得到障碍物的状态结果。
最终依据这个结果查询避障动作行为。
反模糊化采用预先定制机器人动作行为对应速度的方式实现。
模糊控制器根据设定规则得到动作行为编码,该编码实际上也代表了一个模糊动作行为,其动作行为的执行由电机控制器控制电机完成。
电机控制器接收到动作行为编码后,首先解释该代码的意义,接着将相应的电机速度值取出送至存储单元,以改变电机的运行速度,从而改变机器人的动作行为。
对应不同的动作行为,左、右驱动电机的速度会有不同,必须预先计算速度值做成查询表。
3.避障算法设计
参考坐标系
建立被控对象和行驶环境的二维参考坐标系(图),为计算方便,假设车轮与地面无滑动,能绕其质心转向。
xoy为固定的全局坐标系,设定目标点坐标为(XG,YG),在任一时刻,小车位置为(x(t),y(t)),航向为
,步长为step,当前航向与小车质心到目标连线的的夹角为tg,转向角为sa。
图参考坐标系
传感器选择和应用
移动机器人要获得自主行为,就需要有能感知周围环境信息的能力,其主要是通过传感器来实现的。
常用于避障机器人的传感器有超声波传感器,红外传感器,激光传感器,CCD视觉传感器等。
其中,超声波传感器具有技术成熟,成本低,接口容易实现等优点,成为避障机器人的首选[11]。
图超声波传感器原理图
虽然超声波传感器有众多优点,但也存在一定的不稳定性,超声传感器的幻影现象。
产生这种现象的原因是,超声传感器发出的超声波信号是具有一定方向性的波束,当传感器与障碍物形成较大角度时,会发生镜面反射,从而产生幻影,如图所示。
为了解决这种现象所带来的误差,本设计使用多个传感器来补偿,抵消幻影现象带来的误差。
图幻影现象示意图图机器人基本结构
如图,机器人前方成扇形排分布三组超声波传感器,分别用于探测左侧,前方和右侧的的障碍物,有效距离为至10米。
每组传感器由两支三只超声波传感器组成,分别取测得最小数值作为该方向上障碍物的距离。
同时,为了保证机器人的运动有方向性,在机器人中心有一只方位传感器,测量范围是(-180°,180°)。
用于获得机器人航向与目标到机器人连线的夹角,引导机器人向目标点运动。
算法说明
小车自起始点出发之前,程序判断出发点和终点是否在随机生成四组传感器开始工作,探测环境信息。
若超声波传感器未探测到障碍物信息或探测到的障碍物距离较远时,则根据方位传感器探测到的机器人航向和目标到机器人连线的夹角tg进行转向,控制机器人向目标点移动。
运动过程中,若超声波探测到有较近距离的障碍物时,则根据障碍物相对机器人的方位和目标点方位进行转向控制,避开障碍物;障碍物距离越近,则转向角sa越大,以免发生碰撞。
躲开障碍物后,继续根据方位探测器测得夹角tg控制机器人向目标点移动。
算法流程如图。
图算法流程图
模糊控制器的设计
输入输出量的选取
模糊控制器的输入输出语言变量的选取应该尽量的简单,又要考虑机器人行驶和避让障碍物的实际情况,较好的反应机器人避障的过程[12]。
因此,我们选取超声传感器及方位传感器采集的外部环境信息作为模糊控制器的输入,模糊控制器的输出则是机器人的方向控制。
根据上节介绍,将九只超声波传感器分为三组(前方,左侧,右侧各三只),每组取其最小距离信号作为该方向的输入,dr为右侧障碍物距离,dc为前方障碍物距离,dl为左侧障碍物距离;方位传感器则测得航向与目标点到机器人连线的夹角,为tg。
因此模糊控制器输入变量为四个,分别是:
dr,dc,dl和tg;模糊控制器的输出变量有一个,即机器人转向角sa。
输入输出量的模糊语言描述及模糊分割
模糊语言的确定包括由语法规则生成适当的模糊语言值,根据语义规则确定语言值的隶属度函数以及确定语言变量的论域等。
这里使用连续型论域,采用简单线性化处理方法,对个输入量进行模糊语言描述,如下:
距离输入变量:
d={近,远}={near,far};
目标方位输入变量:
tg={左大,左中,左小,前,右小,右中,右大}
={lb,lm,ls,zo,rs,rm,rb};
输出转向角变量:
sa={左转,左中转,左稍转,直走,右稍转,右中转,右转};
={tlb,tlm,tls,tz,trs,trm,trb};
模糊分割是指模糊语言对所在论域的划分,决定了模糊控制的精细化程度。
模糊分割的越多,控制越精细,但对应控制规则数目也就越多;模糊分割太粗,则难以对控制性能进行细致调整。
所以,模糊分割的数目并无指导性的方法,主要根据具体情况和经验来划分。
例如上面对距离输入变量的划分,通常情况下对距离变量划分为{近,中,远},但如此一来,模糊规则的数量共有
条,较难实现。
因此将距离变量简单划分为{近,远},模糊规则数减少到
条。
模糊规则数大幅减少,既容易实现,又未过多降低控制精度。
输入输出量的模糊化
模糊语言值只是一个模糊子集,语言值要通过隶属函数来描述。
在论域连续是的情况下,隶属度常用函数的形式来进行描述,常见的有隶属函数有三角形,梯形,高斯型等。
通常,隶属函数的形状越陡,分辨率就越高,控制灵敏度也就越高;相反,若隶属函数变化缓慢,则控制特性也平缓,对应的系统稳定性好。
因此,在选择语言值的隶属度函数是,一般在误差为零的附近区域采用分辨率较高的隶属函数,而在误差较大的区域,可采用分辨率较低的隶属函数,以获得较好的鲁棒性[13]。
此外,大多数情况下,隶属函数的选取具有较大的随意性,对同一模糊集不同的人肯能选取不同的隶属函数去表述,并无绝对的对错。
因此,在利用MATLAB建立模糊控制器时,可通过改变隶属函数来观察其对输出的影响。
各输入输出变量隶属函数如下图所示。
图(a)dl、dc和dr的隶属函数
图(b)夹角tg的隶属函数
图(c)输出转向角sa的隶属函数
建立模糊控制规则
模糊规则的建立是模糊控制的核心问题[14]。
模糊控制系统是用一系列基于专家知识的语言来描述的,用一系列模糊条件描述的模糊控制规则就构成了模糊控制规则库。
根据模糊控制理论,控制规则反映了输入输出变量间的关系。
本设计中包含四个定性输入信号,一个定性输出信号。
机器人移动路径是根据障碍物距离和目标点方位共同决定的。
当检测到有障碍物靠近时,机器人改变行进方向。
机器人转向的基本原则是:
当探测到机器人左(右)和前方有障碍物靠近时,机器人应及时转向右(左)方。
转向角度的大小则视障碍物距离和航向与目标点到机器人连线的夹角而定:
障碍物距离越近,转向角越大;夹角越大,转向角越小。
根据前面所确定的输入输出集,模糊规则的一般表述形式为“If(条件)Then(结果)”。
以下将选取典型情况讨论对应模糊规则的制定。
(A)一侧有障碍物时
机器人一侧有障碍物是最基本的情况,这里仅以右侧有障碍物的情况来说明。
当机器人右侧近距离内有障碍物,而左侧和前方近距离内均无障碍物时(图),根据人的驾驶经验,可编写如表的控制规则。
tg
d
lb
ls
zo
rs
rb
dl,dc为far
dr为near
tlb
tls
tz
trs
trb
图右侧有障碍物表右侧有障碍物时规则表
(B)左右障碍物对称时
在某些情况下,模糊规则的方法存在着“对称无法确定”现象。
如机器人左右两侧障碍物完全对称时,根据基本规则,机器人讲无法确定行进方向而在两障碍物间来回转向,形成死锁。
在这种情况下,目标方位角tg则会决定机器人的转向,这就是局部最优选择。
用模糊逻辑表示如下:
如果dc为近,dr为远,dl为远,且目标标点在机器人左侧,则机器人左转;
如果dc为近,dl为远,dr为远,且目标点在机器人右侧,则机器人右转。
按照同样的方法,针对不同方位的障碍物和目标方位角,可制定完备的控制规则。
这样的规则制定方法是基于控制器行为特征的方式,将动作分为若干的基本行为,对于较复杂的行为,则分由几个较简单的行为依次构成。
这样可简化模糊规则的制定,减少模糊股则的条数,避开被控对象特征的建模。
模糊控制规则经简化后,放入模糊规则库,供模糊控制器查询。
以下为全部56条模糊规则表(为方便列表,将障碍物组合情况制成表,再结合目标点方位得到模糊控制表。
如第ls行第d4列的tlb,对应的模糊规则为:
if(drisnear)and(dcisnear)and(dlisnear)and(tgisls),then(saistlb).)。
编号
dr
dc
dl
障碍物组合
1
far
far
far
d1
2
far
far
near
d2
3
far
near
near
d3
4
near
near
near
d4
5
far
near
far
d5
6
near
far
far
d6
7
near
near
far
d7
8
near
far
near
d8
表障碍物情况组合
d1
d2
d3
d4
d5
d6
d7
d8
lb
tlb
(1)
tz(8)
trs(15)
tlb(22)
tlb(29)
tlb(36)
tlb(43)
tls(50)
lm
tlm
(2)
tz(9)
trs(16)
tlb(23)
tlm(30)
tlm(37)
tlb(44)
tz(51)
ls
tls(3)
tz(10)
trs(17)
tlb(24)
tls(31)
tls(38)
tlb(45)
tz(52)
zo
tz(4)
tz(11)
trs(18)
tlb(25)
tls(32)
tz(39)
tls(46)
tz(53)
rs
trs(5)
trs(12)
trb(19)
trb(26)
trs(33)
tz(40)
tls(47)
tz(54)
rm
trm(6)
trm(13)
trb(20)
trb(27)
trm(34)
tz(41)
tls(48)
tz(55)
rb
trb(7)
trb(14)
trb(21)
trb(28
trb(35
tz(42)
tls(49)
trs(56)
表模糊控制规则表(括号内数字为规则编号)
模糊推理
模糊控制规则实际是一组多重条件语句(因果关系的集合描述)。
上节模糊规则基本形式为:
if(dris
)and(dcis
)and(dlis
)and(tgis
),then(sais
).
其中dr、dc、dl、tg和sa代表系统状态和控制语言变量,
、
、
、
和
分别是对应的语言值,各变量对应的论域分别为DR、DC、DL、TG和SA。
每条模糊规则的蕴涵关系为:
若考虑全部56条控制规则的总蕴涵关系,用连接词“also”进行取并的方法得到,即
最后求得的推理结论为
。
合成运算“
”采用了Mamdani最大-最小法。
虽然总的蕴涵关系R由全部56个蕴涵关系
构成,但每一组输入量并不能把他们全部激活。
为减少计算量,只根据输入量用被激活的控制规则
进行近似推理,而不用计算由1到56的全部
。
..6解模糊
通过模糊推理得到的结果是一个模糊集合,不能直接作用于被控对象。
实际控制中过程中,必须要有一个确定值才能控制或驱动执行机构。
这一把模糊推理结果转换为确定数值的过程就是解模糊,或是清晰化[15]。
解模糊的作用就是将输出的模糊集合映射到一个个确定的点,其方法与隶属函数的选择及模糊推理方法有关。
在Matlab中提供了五种解模糊的方法:
面积重心法、面积等分法、最大隶属度平均法、最大隶属度取小法和最大隶属度取大法。
本设计选取了重心法,该方法也称为质心法或面积中心法,是所有解模糊方法中较为直观合理较为流行的方法,其数学表达式为:
其中,A(u)是论域U上集合A的隶属函数,
表示输出模糊子集所有元素的隶属度值在连续论域上的代数积分,而
得取之是表示左右两边的面积值相等。
这种方法计算较为复杂,但它包含了输出模糊子集的所有元素信息,较为精确。
输出模糊量经上述方法解模糊后,再经过线性制度变换后即可输出到直流电机,对机器人进行转向控制。
4仿真实验
模糊控制器设计完成后,需要连接到模糊控制系统中仿真,以检验其是能否有效完成控制要求。
要建立模糊控制系统,首先要建立起系统中各部分,即各个模块,然后连接它们组成模糊控制系统。
在Matlab中的Simulink是一个专门用于对各种动态系统进行建模、仿真和分析的软件包,能够很容易的简历控制系统模型。
但其中并未包含有关移动机器人的仿真模块,因此需要自行建立。
根据前文设计,编辑完成了如附录一的仿真程序。
程序主要包含三个部分:
主函数,超声波传感器的模拟,模糊控制器仿真。
现对各部分程序说明如下:
(a)主函数
主函数包含机器人避障和行进轨迹的全部算法,是仿真程序的核心部分。
其运算流程图如下。
图机器人行进轨迹运算流程
图主函数流程
(b)超声传感器的模拟
由于用函数模拟的超声传感器是理想的,不存在幻影现象等引起的误差,因此程序中,机器人只有三只超声传感器,其探测方向分别是机器人正前方和其左右45°方向。
此外,针对障碍物边界的不同,模拟超声传感器有不同的计算函数。
因此在主函数中,要先分析障碍物属性,再进行测距。
(c)模糊控制器
这一部分对整个模糊控制器进行了描述,包括输入输出变量模的模糊化,模糊规则,解模糊方法和输入输出变量的隶属函数。
程序编写完后,输入到Matlab中,形成m文件,进行调试。
调试成功后即可给定程序中障碍物位置参数、起点坐标、终点坐标及步长,进行仿真试验。
5.实验截图:
机器人闯过障碍则系统报错,重新规划路径
6.结论
智能小车运动过程中所遇到的障碍物具有不可预测性,其数学模型难以确定,因此在避障方式上采用模糊控制是适用的。
模糊控制作为一种非线性控制,已经成为实现智能控制的一种重要而有效的形式。
基于模糊逻辑推理的避障设计对于小车遇见突发性障碍物后的避障行为控制尤为适宜,且控制方法灵活,可根据仿真效果修改相应的参数和模糊推理规则。
但考虑到单片机的处理能力和实时性要求,本文所采用的模糊控制规则仍较为简单,而且没有使用模糊矩阵进行运算。
在处理器功能更加完善的情况下,应增加模糊控制规则,引人矩阵运算,提升控制效果。
7.参考文献
[1]付宜利,顾晓宇,王树国.基于模糊控制的自主机器人路径规划策略研究[J].机器人,2004,26(6):
548—552.
[2]韩峻峰,李玉惠.模糊控制技术[M].重庆:
重庆大学出版社,2003.
[3]刘喜昂,周志宇.基于多超声传感器的机器人安全避障技术[J].测控技术,2004,23(3):
71—73.
[4]尚文,马旭东,戴先中.融合多传感器信息的移动机器人自定位方法[J].东南大学学报(自然科学版),2004,34(6):
784—788.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模糊 控制 用于 机器人