模糊控制用于机器人避障_第1页
模糊控制用于机器人避障_第2页
模糊控制用于机器人避障_第3页
模糊控制用于机器人避障_第4页
模糊控制用于机器人避障_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 北 京 工 业 大 学 结 课 论 文课题名称: 基于模糊控制的机器人避障 姓 名: 崔鑫元 12521121 唐堂 12521130 成 绩: 引言智能小车是移动机器人的一种,可通过计算机编程来实现其对行驶方向、启停以及速度的控制。要想让智能小车在行驶过程中能成功地避开障碍物,必须对其进行路径规划,路径规划的任务是为小车规划一条从起始点到目标点的无碰路径。路径规划方法有:BP人工神经网络法(Back Propagation)、机器学习(Reinforcement Learning)、以及模糊控制(FuzzyControl)方法等。模糊技术具有人类智能的模糊性和推理能力,在路径规划中,模糊推

2、理的应用主要体现在基于行为的导航方式上,即将机器人的运动过程分解为避障、边界跟踪、调速、目标制导等基本行为,各基本行为的激活由不同的机构分别控制,机器人的最终操作由高层控制机构对基本行为进行平衡后作出综合反应。模糊控制方法将信息获取和模糊推理过程有机结合,其优点在于不依赖机器人的动力学、运动学模型,系统控制融入了人类经验,同时计算量小,构成方法较为简单,节省系统资源,实时性。本文探讨了模糊控制技术在避障路径规划中的应用,并对其进行了仿真设计。摘要基于MATLAB的仿真结果表明模糊逻辑推理方法在智能小车的导航控制中具有良好的效果。 目录引言,摘要1 1.模糊控制技术基本理 3 2模糊控制器设计

3、4 3.避障算法设计6 4 仿真实验14 5.实验截图17 6. 结论19 7.实验心得20 8.参考文献22 1模糊控制技术基本原理环境中存在障碍物时,路径规划控制系统具有高度不确定性,是一个多输入多输出(MIMO)系统。对于这种具有高度不确定性的MIMO系统,传统的控制方法不能达到很好的控制效果。模糊推理控制方法将人类的驾驶经验融入系统控制之中,因此可以较好地满足系统自适应性、鲁棒性和实时性的要求。模糊控制方式借助模糊数学这一工具通过推理来实现控制。模糊逻辑模拟了人类思维的模糊性,它采用与人类语言相近的语言变量进行推理,因此借助这一工具可将人类的控制经验融人系统控制之中,使得系统可以像有经

4、验的操作者一样去控制复杂、激励不明的系统。总的说来模糊控制具有以下特点:1)不依赖于被控对象的精确数学模型,易于对不确定性系统进行控制;2)易于控制、易于掌握的较理想非线性控制器,是一种语言控制器;3)抗干扰能力强,响应速磨陕,并对系统参数的变化有较强的鲁棒性。模糊控制器的基本结构由模糊输入接口、模糊推理以及模糊输出接口三个模块组成。模糊输入接口的主要功能是实现精确量的模糊化,即把物理量的精确值转换成语言变量值。语言变量的分档根据实际情况而定,一般分为37档,档数越多,控制精度越高,计算量也越大。模糊推理决策机构的主要功能是模仿人的思维特征,根据总结人工控制策略取得的语言控制规则进行模糊推理,

5、并决策出模糊输出控制量。模糊输出接口的主要功能是把输出模糊量转化为精确量,施于被控对象。 2模糊控制器设计模糊控制系统结构如图2.1所示,其与传统控制系统最大的区别在于采用了模糊控制器(图2.2)。 图2.1模糊系统结构图模糊控制器主要有模糊化、知识库、模糊推理和清晰化这四部分组成。首先把输入的精确量转换成模糊量。知识库包含了具体应用领域的知识和要求的控制目标和规则等,由数据库和模糊规则库两部分组成。模糊推理是模糊控制器的核心,它具有模拟人的模糊概念推理能力,输入量经由模糊推理得到模糊量控制量;再经过解模糊变换为用于实际控制的清晰量,作用于被控对象。智能机器人模糊控制器设计的主要目标是:当红外

6、传感器探测到障碍物或者目标时,模糊控制器根据探测到的信息,确定智能机器人的位置、距离、方位,然后控制智能机器人避开障碍物,按预定的路径和方位行走。1)确定系统的输入、输出设置模糊控制器的输入变量为X1、X2,X3和X4,输出Y。其中:X1、X2,X3分别表示智能机器人距离障碍物右方、左方和前方的距离;X4表示智能机器人运动方向与目标中心连线的目标定位;Y表示智能机器人的转动角。当目标在智能机器人右前方时,目标定位X4为正,否则x4为负;当智能机器人转向右时,转向角Y定义为正,当转向左时,Y定义为负。以上输入变量均由红外传感器的状态数据所确定,经过模糊控制器的模糊化处理和模糊推理后,输出动作行为

7、结果,该动作行为结果的执行是由子控制系统(电机控制器)执行,最终的执行者为电机。2)定义模糊控制集合在距离描述上采用如下模糊集合:Near,Far=“近”,“远”,论域范围为(O6 m);目标定位变量X4的模糊语言描述为LB,LS,Z,RS,RB=左大”,“左小”,“零”,“右小”,“右大”,论域范围为(一1800,1800);输出变量Y的模糊语言描述为TLB,TLS,TZ,TRs,TRB=“左大”,“左小”,“零”,“右小”,“右大”,论域范围为(一300,300)。3)建立模糊控制规则库智能机器人在远离障碍或不存在障碍物环境下,依据不同的智能机器人轨迹和目标方位,可以先建立5条导航规则(1

8、5)。这几条规则控制智能机器人转向目标位置:1:if X1 is FAR and X2 is FAR and X3 is FAR and X4 is LB then Y is TLB:2:if Xl is FAR and X2 is FAR and X3 is FAR and X4 is LS then Y is TLS;3:ff X1 is FAR and X2 is FAR and X3 is FAR and X4 is Z then Y is TZ;4:if X1 is FAR and X2 is FAR and X3 is FAR and X4 is RS then Y is TRS;

9、5:if Xl is FAR and X2 is FAR and X3 is FAR and X4 is RB then Y is TRB:当探测到障碍物接近智能机器人时,小车应改变运动轨迹,以避免碰撞。依据驾驶操作经验,可得到智能机器人避障的控制规则,基于篇幅所限,这里只列出其中的5条:6:if X1 is FAR and X2 is NEAR and X3 is FAR and X4 is LB then Y is TZ;7u X1 is FAR and X2 is NEAR andX3 is FAR and X4 is LS then Y is TZ;8:if X1 is FAR and

10、 X2 is NEAR and X3 is FAR and X4 is Z then Y is TZ;9:if X1 is FAR and X2 is NEAR and X3 is FAR and X4 is RS then Y is TI10:if Xl is FAR and X2 is NEAR and X3 is FAR and X4 is RB then Y is TRB;以上共同构成了小车的动作行为控制规则。小车转动的基本规则是,当探测到小车左(右)和前方出现障碍物时,小车应及时转向右(左)方向,并依据目标方位决定转动角的大小。4)模糊推理及反模糊化处理模糊控制器先将红外传感器给出的

11、距离信息进行模糊化,后存储模糊逻辑状态,再依据模糊逻辑状态判断各个方向上障碍物的状态,然后将各个方向上障碍物的状态数据进行融合,得到障碍物的状态结果。最终依据这个结果查询避障动作行为。反模糊化采用预先定制机器人动作行为对应速度的方式实现。模糊控制器根据设定规则得到动作行为编码,该编码实际上也代表了一个模糊动作行为,其动作行为的执行由电机控制器控制电机完成。电机控制器接收到动作行为编码后,首先解释该代码的意义,接着将相应的电机速度值取出送至存储单元,以改变电机的运行速度,从而改变机器人的动作行为。对应不同的动作行为,左、右驱动电机的速度会有不同,必须预先计算速度值做成查询表。3.避障算法设计3.

12、1参考坐标系 建立被控对象和行驶环境的二维参考坐标系(图2.3),为计算方便,假设车轮与地面无滑动,能绕其质心转向。xoy为固定的全局坐标系,设定目标点坐标为(XG,YG),在任一时刻,小车位置为(x(t),y(t)),航向为,步长为step,当前航向与小车质心到目标连线的的夹角为tg,转向角为sa。障碍物OYXT时刻位置(x(t),y(t))t+1时刻位置(x(n+1),y(n+1)目标点(XG,YG)steptg 图2.3 参考坐标系3.2传感器选择和应用移动机器人要获得自主行为,就需要有能感知周围环境信息的能力,其主要是通过传感器来实现的。常用于避障机器人的传感器有超声波传感器,红外传感

13、器,激光传感器,CCD视觉传感器等。其中,超声波传感器具有技术成熟,成本低,接口容易实现等优点,成为避障机器人的首选11。控制器调节器计时器振荡器接收检测换能器障碍物 图2.4超声波传感器原理图虽然超声波传感器有众多优点,但也存在一定的不稳定性,超声传感器的幻影现象。产生这种现象的原因是,超声传感器发出的超声波信号是具有一定方向性的波束,当传感器与障碍物形成较大角度时,会发生镜面反射,从而产生幻影,如图2.5所示。为了解决这种现象所带来的误差,本设计使用多个传感器来补偿,抵消幻影现象带来的误差。传感器障碍物障碍物幻影前方传感器右侧传感器前轮左侧传感器方位传感器图2.5幻影现象示意图 图2.6机

14、器人基本结构 如图2.6,机器人前方成扇形排分布三组超声波传感器,分别用于探测左侧,前方和右侧的的障碍物,有效距离为0.3至10米。每组传感器由两支三只超声波传感器组成,分别取测得最小数值作为该方向上障碍物的距离。同时,为了保证机器人的运动有方向性,在机器人中心有一只方位传感器,测量范围是(-180,180)。用于获得机器人航向与目标到机器人连线的夹角,引导机器人向目标点运动。3.3算法说明小车自起始点出发之前,程序判断出发点和终点是否在随机生成四组传感器开始工作,探测环境信息。若超声波传感器未探测到障碍物信息或探测到的障碍物距离较远时,则根据方位传感器探测到的机器人航向和目标到机器人连线的夹

15、角tg进行转向,控制机器人向目标点移动。运动过程中,若超声波探测到有较近距离的障碍物时,则根据障碍物相对机器人的方位和目标点方位进行转向控制,避开障碍物;障碍物距离越近,则转向角sa越大,以免发生碰撞。躲开障碍物后,继续根据方位探测器测得夹角tg控制机器人向目标点移动。算法流程如图2.7。开始根据超声传感器探测信息判断是否有障碍物根据障碍物方位和目标点方位躲避进行避障Y根据方位传感器探测的方位角tg向目标点移动N判断是否到终点结束YN 图2.7算法流程图 3.4模糊控制器的设计3.4.1输入输出量的选取模糊控制器的输入输出语言变量的选取应该尽量的简单,又要考虑机器人行驶和避让障碍物的实际情况,

16、较好的反应机器人避障的过程12。因此,我们选取超声传感器及方位传感器采集的外部环境信息作为模糊控制器的输入,模糊控制器的输出则是机器人的方向控制。根据上节介绍,将九只超声波传感器分为三组(前方,左侧,右侧各三只),每组取其最小距离信号作为该方向的输入,dr为右侧障碍物距离,dc为前方障碍物距离,dl为左侧障碍物距离;方位传感器则测得航向与目标点到机器人连线的夹角,为tg。因此模糊控制器输入变量为四个,分别是:dr,dc,dl和tg;模糊控制器的输出变量有一个,即机器人转向角sa。3.4.2输入输出量的模糊语言描述及模糊分割 模糊语言的确定包括由语法规则生成适当的模糊语言值,根据语义规则确定语言

17、值的隶属度函数以及确定语言变量的论域等。这里使用连续型论域,采用简单线性化处理方法,对个输入量进行模糊语言描述,如下: 距离输入变量:d=近,远=near,far; 目标方位输入变量:tg=左大,左中,左小,前,右小,右中,右大=lb,lm,ls,zo,rs,rm,rb; 输出转向角变量:sa=左转,左中转,左稍转,直走,右稍转,右中转,右转; =tlb,tlm,tls,tz,trs,trm,trb;模糊分割是指模糊语言对所在论域的划分,决定了模糊控制的精细化程度。模糊分割的越多,控制越精细,但对应控制规则数目也就越多;模糊分割太粗,则难以对控制性能进行细致调整。所以,模糊分割的数目并无指导性

18、的方法,主要根据具体情况和经验来划分。例如上面对距离输入变量的划分,通常情况下对距离变量划分为近,中,远,但如此一来,模糊规则的数量共有条,较难实现。因此将距离变量简单划分为近,远,模糊规则数减少到条。模糊规则数大幅减少,既容易实现,又未过多降低控制精度。3.4.3 输入输出量的模糊化模糊语言值只是一个模糊子集,语言值要通过隶属函数来描述。在论域连续是的情况下,隶属度常用函数的形式来进行描述,常见的有隶属函数有三角形,梯形,高斯型等。通常,隶属函数的形状越陡,分辨率就越高,控制灵敏度也就越高;相反,若隶属函数变化缓慢,则控制特性也平缓,对应的系统稳定性好。因此,在选择语言值的隶属度函数是,一般

19、在误差为零的附近区域采用分辨率较高的隶属函数,而在误差较大的区域,可采用分辨率较低的隶属函数,以获得较好的鲁棒性13。此外,大多数情况下,隶属函数的选取具有较大的随意性,对同一模糊集不同的人肯能选取不同的隶属函数去表述,并无绝对的对错。因此,在利用MATLAB建立模糊控制器时,可通过改变隶属函数来观察其对输出的影响。各输入输出变量隶属函数如下图所示。图2.8(a)dl、dc和dr的隶属函数 图2.8(b) 夹角tg的隶属函数 图2.8(c)输出转向角sa的隶属函数3.4.4建立模糊控制规则 模糊规则的建立是模糊控制的核心问题14。模糊控制系统是用一系列基于专家知识的语言来描述的,用一系列模糊条

20、件描述的模糊控制规则就构成了模糊控制规则库。根据模糊控制理论,控制规则反映了输入输出变量间的关系。本设计中包含四个定性输入信号,一个定性输出信号。机器人移动路径是根据障碍物距离和目标点方位共同决定的。当检测到有障碍物靠近时,机器人改变行进方向。机器人转向的基本原则是:当探测到机器人左(右)和前方有障碍物靠近时,机器人应及时转向右(左)方。转向角度的大小则视障碍物距离和航向与目标点到机器人连线的夹角而定:障碍物距离越近,转向角越大;夹角越大,转向角越小。根据前面所确定的输入输出集,模糊规则的一般表述形式为“If(条件)Then(结果)”。以下将选取典型情况讨论对应模糊规则的制定。(A) 一侧有障

21、碍物时机器人一侧有障碍物是最基本的情况,这里仅以右侧有障碍物的情况来说明。当机器人右侧近距离内有障碍物,而左侧和前方近距离内均无障碍物时(图2.9),根据人的驾驶经验,可编写如表2.1的控制规则。tgdlblszorsrbdl,dc为fardr为neartlbtlstztrstrbLC障碍物RfarfarnearO 图2.9右侧有障碍物 表2.1 右侧有障碍物时规则表(B) 左右障碍物对称时在某些情况下,模糊规则的方法存在着“对称无法确定”现象。如机器人左右两侧障碍物完全对称时,根据基本规则,机器人讲无法确定行进方向而在两障碍物间来回转向,形成死锁。在这种情况下,目标方位角tg则会决定机器人的

22、转向,这就是局部最优选择。用模糊逻辑表示如下:如果dc为近,dr为远,dl为远,且目标标点在机器人左侧,则机器人左转;如果dc为近,dl为远,dr为远,且目标点在机器人右侧,则机器人右转。按照同样的方法,针对不同方位的障碍物和目标方位角,可制定完备的控制规则。这样的规则制定方法是基于控制器行为特征的方式,将动作分为若干的基本行为,对于较复杂的行为,则分由几个较简单的行为依次构成。这样可简化模糊规则的制定,减少模糊股则的条数,避开被控对象特征的建模。模糊控制规则经简化后,放入模糊规则库,供模糊控制器查询。以下为全部56条模糊规则表(为方便列表,将障碍物组合情况制成表2.2,再结合目标点方位得到模

23、糊控制表2.3。如第ls行第d4列的tlb,对应的模糊规则为:if(dr is near)and(dc is near)and(dl is near)and(tg is ls),then(sa is tlb).)。编号drdcdl障碍物组合1farfarfard12farfarneard23farnearneard34nearnearneard45farnearfard56nearfarfard67nearnearfard78nearfarneard8 表2.2 障碍物情况组合d1d2d3d4d5d6d7d8lbtlb(1)tz(8)trs(15)tlb(22)tlb(29)tlb(36)tl

24、b(43)tls(50)lmtlm(2)tz(9)trs(16)tlb(23)tlm(30)tlm(37)tlb(44)tz(51)lstls(3)tz(10)trs(17)tlb(24)tls(31)tls(38)tlb(45)tz(52)zotz(4)tz(11)trs(18)tlb(25)tls(32)tz(39)tls(46)tz(53)rstrs(5)trs(12)trb(19)trb(26)trs(33)tz(40)tls(47)tz(54)rmtrm(6)trm(13)trb(20)trb(27)trm(34)tz(41)tls(48)tz(55)rbtrb(7)trb(14)t

25、rb(21)trb(28trb(35tz(42)tls(49)trs(56) 表2.3 模糊控制规则表(括号内数字为规则编号)3.4.5 模糊推理 模糊控制规则实际是一组多重条件语句(因果关系的集合描述)。上节模糊规则基本形式为:if(dr is )and(dc is )and(dl is)and(tg is ),then(sa is ).其中dr、dc、dl、tg和sa代表系统状态和控制语言变量,、和分别是对应的语言值,各变量对应的论域分别为DR、DC、DL、TG和SA。每条模糊规则的蕴涵关系为: 若考虑全部56条控制规则的总蕴涵关系,用连接词“also”进行取并的方法得到,即 最后求得的推

26、理结论为。合成运算“”采用了Mamdani最大-最小法。 虽然总的蕴涵关系R由全部56个蕴涵关系构成,但每一组输入量并不能把他们全部激活。为减少计算量,只根据输入量用被激活的控制规则进行近似推理,而不用计算由1到56的全部。3.4.6 解模糊通过模糊推理得到的结果是一个模糊集合,不能直接作用于被控对象。实际控制中过程中,必须要有一个确定值才能控制或驱动执行机构。这一把模糊推理结果转换为确定数值的过程就是解模糊,或是清晰化15。解模糊的作用就是将输出的模糊集合映射到一个个确定的点,其方法与隶属函数的选择及模糊推理方法有关。在Matlab中提供了五种解模糊的方法:面积重心法、面积等分法、最大隶属度

27、平均法、最大隶属度取小法和最大隶属度取大法。本设计选取了重心法,该方法也称为质心法或面积中心法,是所有解模糊方法中较为直观合理较为流行的方法,其数学表达式为: 其中,A(u)是论域U上集合A的隶属函数,表示输出模糊子集所有元素的隶属度值在连续论域上的代数积分,而得取之是表示左右两边的面积值相等。这种方法计算较为复杂,但它包含了输出模糊子集的所有元素信息,较为精确。输出模糊量经上述方法解模糊后,再经过线性制度变换后即可输出到直流电机,对机器人进行转向控制。4 仿真实验模糊控制器设计完成后,需要连接到模糊控制系统中仿真,以检验其是能否有效完成控制要求。要建立模糊控制系统,首先要建立起系统中各部分,即各个模块,然后连接它们组成模糊控制系统。在Matlab中的Simulink是一个专门用于对各种动态系统进行建模、仿真和分析的软件包,能够很容易的简历控制系统模型。但其中并未包含有关移动机器人的仿真模块,因此需要自行建立。根据前文设计,编辑完成了如附录一的仿真程序。程序主要包含三个部分:主函数,超声波传感器的模拟,模糊控制器仿真。现对各部分程序说明如下:(a) 主函数 主函数包含机器人避障和行进轨迹的全部算法,是仿真程序的核心部分。其运算流程图如下。开始是否到达终点检测障碍物和方位角,控制机器人移动计算新坐标,计数加1结束NY 图2.15

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论