日期
10/31
2017
咨询
  • QQ扫一扫

  • Vision小助手
    (CMVU)

基于模糊控制的机器人避障控制系统设计
收藏
2017-10-31 15:03:34来源: 中国机器视觉网

  摘要:模糊技术具有人类智能的模糊性和推理能力,在路径规划中,模糊推理的应用主要体现在基于行为的导航方式上,机器人的最终操作由高层控制机构对基本行为进行平衡后作出综合反应。模糊控制方法将信息获取和模糊推理过程有机结合,同时计算量小,构成方法较为简单,节省系统资源,实时性。本文探讨了模糊控制技术在避障路径规划中的应用,并对其进行了仿真设计。基于MATLAB的仿真结果表明模糊逻辑推理方法在智能小车的导航控制中具有良好的效果。

  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:

  3、避障算法设计

  2.1参考坐标系

  建立被控对象和行驶环境的二维参考坐标系(如图1所示),为计算方便,假设车轮与地面无滑动,能绕其质心转向。xoy为固定的全局坐标系,设定目标点坐标为(XG,YG),在任一时刻,小车位置为(x(t),y(t)),航向为θ,步长为step,当前航向与小车质心到目标连线的的夹角为tg,转向角为sa。

图1参考坐标系

  2.2传感器选择和应用

  移动机器人要获得自主行为,就需要有能感知周围环境信息的能力,其主要是通过传感器来实现的。常用于避障机器人的传感器有超声波传感器,红外传感器,激光传感器,CCD视觉传感器等。其中,超声波传感器具有技术成熟,成本低,接口容易实现等优点,成为避障机器人的首选,如图2所示。

图2超声波传感器原理图

  虽然超声波传感器有众多优点,但也存在一定的不稳定性,超声传感器的幻影现象。产生这种现象的原因是,超声传感器发出的超声波信号是具有一定方向性的波束,当传感器与障碍物形成较大角度时,会发生镜面反射,从而产生幻影,如图3所示。为了解决这种现象所带来的误差,本设计使用多个传感器来补偿,抵消幻影现象带来的误差。

图3幻影现象示意图

图4机器人基本结构


  如图4所示,机器人前方成扇形排分布三组超声波传感器,分别用于探测左侧,前方和右侧的的障碍物,有效距离为0.3至10米。每组传感器由两支三只超声波传感器组成,分别取测得最小数值作为该方向上障碍物的距离。同时,为了保证机器人的运动有方向性,在机器人中心有一只方位传感器,测量范围是(-180°,180°)。用于获得机器人航向与目标到机器人连线的夹角,引导机器人向目标点运动。

  4、模糊控制器的设计

  4.1输入输出量的选取

  模糊控制器的输入输出语言变量的选取应该尽量的简单,又要考虑机器人行驶和避让障碍物的实际情况,较好的反应机器人避障的过程[12]。因此,我们选取超声传感器及方位传感器采集的外部环境信息作为模糊控制器的输入,模糊控制器的输出则是机器人的方向控制。根据上节介绍,将九只超声波传感器分为三组(前方,左侧,右侧各三只),每组取其最小距离信号作为该方向的输入,dr为右侧障碍物距离,dc为前方障碍物距离,dl为左侧障碍物距离;方位传感器则测得航向与目标点到机器人连线的夹角,为tg。因此模糊控制器输入变量为四个,分别是:dr,dc,dl和tg;模糊控制器的输出变量有一个,即机器人转向角sa。

  4.2输入输出量的模糊语言描述及模糊分割

  模糊语言的确定包括由语法规则生成适当的模糊语言值,根据语义规则确定语言值的隶属度函数以及确定语言变量的论域等。这里使用连续型论域,采用简单线性化处理方法,对个输入量进行模糊语言描述,如下:

  距离输入变量:d={近,远}={near,far};

  目标方位输入变量:tg={左大,左中,左小,前,右小,右中,右大}

  ={lb,lm,ls,zo,rs,rm,rb};

  输出转向角变量:sa={左转,左中转,左稍转,直走,右稍转,右中转,右转};

  ={tlb,tlm,tls,tz,trs,trm,trb};

  模糊分割是指模糊语言对所在论域的划分,决定了模糊控制的精细化程度。模糊分割的越多,控制越精细,但对应控制规则数目也就越多;模糊分割太粗,则难以对控制性能进行细致调整。所以,模糊分割的数目并无指导性的方法,主要根据具体情况和经验来划分。例如上面对距离输入变量的划分,通常情况下对距离变量划分为{近,中,远},但如此一来,模糊规则的数量共有3^3*7=189条,较难实现。因此将距离变量简单划分为{近,远},模糊规则数减少到2^3*7=56条。模糊规则数大幅减少,既容易实现,又未过多降低控制精度。

  4.3输入输出量的模糊化

  模糊语言值只是一个模糊子集,语言值要通过隶属函数来描述。在论域连续是的情况下,隶属度常用函数的形式来进行描述,常见的有隶属函数有三角形,梯形,高斯型等。

  通常,隶属函数的形状越陡,分辨率就越高,控制灵敏度也就越高;相反,若隶属函数变化缓慢,则控制特性也平缓,对应的系统稳定性好。因此,在选择语言值的隶属度函数是,一般在误差为零的附近区域采用分辨率较高的隶属函数,而在误差较大的区域,可采用分辨率较低的隶属函数,以获得较好的鲁棒性。

  此外,大多数情况下,隶属函数的选取具有较大的随意性,对同一模糊集不同的人肯能选取不同的隶属函数去表述,并无绝对的对错。因此,在利用MATLAB建立模糊控制器时,可通过改变隶属函数来观察其对输出的影响。各输入输出变量隶属函数如下图5所示。

  5、实验仿真

  模糊控制器设计完成后,需要连接到模糊控制系统中仿真,以检验其是能否有效完成控制要求。要建立模糊控制系统,首先要建立起系统中各部分,即各个模块,然后连接它们组成模糊控制系统。在Matlab中的Simulink是一个专门用于对各种动态系统进行建模、仿真和分析的软件包,能够很容易的简历控制系统模型。但其中并未包含有关移动机器人的仿真模块,因此需要自行建立。

  (a)主函数

  主函数包含机器人避障和行进轨迹的全部算法,是仿真程序的核心部分。

  (b)超声传感器的模拟

  由于用函数模拟的超声传感器是理想的,不存在幻影现象等引起的误差,因此程序中,机器人只有三只超声传感器,其探测方向分别是机器人正前方和其左右45°方向。此外,针对障碍物边界的不同,模拟超声传感器有不同的计算函数。因此在主函数中,要先分析障碍物属性,再进行测距。

  (c)模糊控制器

  这一部分对整个模糊控制器进行了描述,包括输入输出变量模的模糊化,模糊规则,解模糊方法和输入输出变量的隶属函数。

  程序编写完后,输入到Matlab中,形成m文件,进行调试。调试成功后即可给定程序中障碍物位置参数、起点坐标、终点坐标及步长,进行仿真试验。

  6、结论

  智能小车运动过程中所遇到的障碍物具有不可预测性,其数学模型难以确定,因此在避障方式上采用模糊控制是适用的。模糊控制作为一种非线性控制,已经成为实现智能控制的一种重要而有效的形式。基于模糊逻辑推理的避障设计对于小车遇见突发性障碍物后的避障行为控制尤为适宜,且控制方法灵活,可根据仿真效果修改相应的参数和模糊推理规则。但考虑到单片机的处理能力和实时性要求,本文所采用的模糊控制规则仍较为简单,而且没有使用模糊矩阵进行运算。在处理器功能更加完善的情况下,应增加模糊控制规则,引人矩阵运算,提升控制效果。

 

为你推荐