杨小菊, 张 伟, 高宏伟, 米海山
(1.中国科学院 沈阳自动化研究所 机器人学国家重点实验室,辽宁 沈阳 110016;2. 沈阳理工大学 自动化与电气工程学院,辽宁 沈阳 110168)
基于模糊控制的移动机器人避障研究*
杨小菊1,2, 张 伟1, 高宏伟2, 米海山2
(1.中国科学院 沈阳自动化研究所 机器人学国家重点实验室,辽宁 沈阳 110016;2. 沈阳理工大学 自动化与电气工程学院,辽宁 沈阳 110168)
针对移动机器人在未知环境中的不确定性,利用Matlab构建了多传感器仿真试验移动平台,在Simulink中搭建移动机器人运动学模型,利用多传感器采集环境中的障碍物信息与目标物的方位角,设计了具有避障功能的模糊控制算法。通过模糊控制器控制移动机器人的左右轮速度实现机器人的转弯以及直走,根据机器人实时的角度反馈信息不断修正机器人的位姿以精确避障。仿真实验验证了该方法的可行性及有效性。
移动机器人; 多传感器; 模糊控制; 避障
移动机器人通过传感器感知环境和自身状态,对复杂环境进行自主分析、判断和决策,实现面向目标的自主运动,从而完成一定作业功能的机器人系统[1]。传感器采集的信息是移动机器人感知的唯一来源,也是机器人理解环境从而执行决策的依据。然而,环境信息往往是未知的。传统的系统是靠单一传感器完成信号采集,即使使用多种(多个)传感器也只能提供局部的孤立信息。多传感器的出现使机器人从多层面,多角度、多方位充分理解环境信息,为机器人实时做出准确的判断和决策提供了有力的技术支撑。多传感器信息融合充分利用传感器信息的冗余、互补性以提高机器人的感知能力与智能水平。
移动机器人最基本的智能行为就是避障[2],是机器人进行决策规划和运动控制等高级智能行为的基础,是在复杂环境或者未知环境中的完成各种任务的重要保障。因此,研究实时准确避障也是当前移动机器人技术的难点与热点。国内外多传感器信息融合的避障常用方法包括Bug算法[3]、人工势场法[4]、矢量直方图法[5]、遗传算法[6]、模糊控制法[7]等。Bugz算法中没有考虑机器人的动力学。人工势场法结构简单,便于低层的实时控制,但是存在局部最优解的问题,因而可能使机器人在到达目标点之前就停留在局部最优点,即死锁现象。遗传算法运算速度不快,进化要占据较大的运算时间和存储空间。车体移动时,周围的环境动态变化,移动机器人作为时变的非线性复杂系统,很难建立精确的数学模型,采用模糊控制方法能够很好地解决这类问题[8]。
本文将模糊控制算法应用于移动机器人避障中,以模糊控制器控制机器人的速度,通过Matlab仿真验证了此方法的有效性。
1.1 移动机器人的系统结构
移动机器人采用差速转向式,利用两后轮的差速驱动实现轨迹的控制和姿态的调节,系统结构如图1所示,移动机器人的控制结构分为三层结构[9,10]:上层为传感器层(超声波、红外与电子罗盘),完成环境信息的采集;中间为决策控制层,实现机器人系统的运动控制决策;下层为运动执行层,由驱动单元组成,完成机器人的转弯和直走等操作。
图1 移动机器人的系统结构图
针对机器人在复杂环境中执行避障任务,在移动机器人本体的左、前、右三个方向分别安装两超声波传感器获取未知环境的障碍物距离信息,红外传感器来弥补超声波测距的缺陷,用于紧急避障,电子罗盘实时获取机器人与目标物的方位角。传感器的整体布局如图2所示,1~6数字表示机器人本体上的6个超声波编号,1#与2#超声波组成机器人左方障碍物的测距组,3#与4#为前方的测距组,5#与6#组成右方的测距组。
图2 传感器的布局系统图
1.2 移动机器人的运动学模型
由移动机器人的运动学模型[11]可知,移动机器人在任意时刻都是绕车体转动。假设移动机器人只作纯滚动而不滑动。图3为移动机器人的运动模型,其中XOY为移动机器人的全局坐标系。
图3 移动机器人的运动模型
移动机器人位姿可以表示为
P=(x,y,θ)T
(1)
式中x,y为机器人在XOY平面的位置坐标,θ为移动机器人的转向角,即移动机器人的航向与全局坐标系X轴之间的夹角。移动机器人所受的纯滚动和无滑动约束条件可以表示为
(2)
运动学模型
(3)
式中 v为移动机器人质心的线速度,ω为其角速度,L是两轮中心之间的距离。vL,vR分别为移动机器人左、右轮线速度,则
(4)
由公式分析可知:当vL=vR时,ω为零,机器人做直线运动;当vL>vR时机器人右转弯;当vL
(5)
式中 x(k),y(k)与v(k)为k时刻的坐标与速度。
2.1 移动机器人避障控制模型
在未知环境中,障碍物大多分布杂乱无章。机器人很难快速充分地理解环境信息。因此需要对机器人周围的障碍物进行分类处理,以加快机器人做出避障决策。障碍物的环境分类如图4所示,其中小球表示障碍物,机器人周围的虚线表示传感器测距范围。
图4 障碍物的环境分类
根据障碍物的分布,可以将机器人与障碍物的相对位置信息分为图4所示8种情况。若左方传感器采集的距离信息在设定测距范围,而其他方向的传感器采集数值在测距范围外,则认为机器人左方有障碍物,机器人就向右转一个角度。若前方与侧面的测量距离都在避障范围内,就要综合考虑各个传感器的信息做出更合理的避障决策。
移动机器人避障的决策取决于障碍物的分布,在Matlab仿真环境中,需要模拟机器人的传感器分布,因此,将机器人前方视线范围划分为左、前与右方三个区域,以判断障碍物的具体位置。图5为目标方向分区图。
图5 目标方向
为了使移动机器人灵活、精确避障,顺利到达目标位置。首先将超声波与红外传感器采集的信息进行分组预处理,距离信息和电子罗盘获取的目标角度信息送入模糊控制器,模糊算法融合出环境障碍物;然后根据控制规则发出执行命令,由运动执行层实现机器人的位置调整;最后将机器人的角度实时反馈给控制器以精确地完成避障动作。移动机器人避障控制结构如图6所示。
图6 移动机器人避障的模糊控制结构
2.2 模糊控制器的设计
此前,许多学者已对模糊控制进行深入研究,将多传感器采集的信息直接作为模糊控制器的输入,随着传感器维数的增加,分割数越多,控制规则就成倍增加,从而影响机器人的实时性。因此对传感器信息分组处理,提取最有效的特征作为模糊控制的输入。
模糊控制器设计为多输入/多输出系统(4输入/2输出),将移动机器人前方180°范围的左方、前方和右方的超声波和红外传感器采集的障碍物距离(LD,FD,RD)以及电子罗盘获取的目标方位角(angle)作为模糊控制器的输入,移动机器人的左右轮速度(left_V,right_V)作为控制器的输出。为了减少系统过多的输入而增加复杂性,取LD为机器人左方测量的障碍物最近距离,即LD=min(1,2)。同理FD为前方的障碍物最近距离,FD=min(3,4),RD=min(5,6)。
由于模糊分割数与模糊控制规则紧密相关,模糊分割数太多或太少都将影响机器人的避障性能。考虑到实验环境和超声波测距性能,将输入变量LD,FD,RD的模糊语言变量定义为{“近”,“中”,“远”}={“N”,“M”,“F”},障碍物论域[0~4.5]m。前、左、右任意方向的超声波出现测量盲区时,障碍物的距离以该方向的红外传感器信息作为输入。Angle的模糊语言变量为{“左”,“前”,“右”}={“Z”,“Q”,“Y”},论域为[0,180°]。输出变量left_V与right_V的值为{-200,-100,0,100,200}={“NB”,“NS”,“Z”,“ZS”,“ZB”}。由于高斯型隶属度函数曲线较为平滑,使系统有较好的准确性和简洁性,所以本文的隶属度函数采用高斯型。图7(a)为左方LD距离的隶属度函数曲线。同理前方和右方有同样的隶属度曲线。目标角度的隶属度函数曲线和左右轮速度隶属度曲线如图7(b)和(c)所示。
图7 障碍物距离、目标角度和速度隶属度
为了形象直观地观察控制效果,可以查看模糊控制规则的三维观测图,如8所示,其中(a)为输入前方距离RD与左方距离LD,输出left_V的曲面图,图(b)为输入LD与Angle,输出right_V的曲面图。
图8 模糊控制的三维观测图
本文的模糊推理采用Mamdani的max-min合成法,反模糊化采用面积中心法[12]。模糊规则是模糊控制的核心,采用IF-THEN条件语言,组成N=3×3×3×5=135条模糊控制规则。以机器人的右侧具有障碍物为例,即图4的第4类障碍物分布所示,可以建立如下6条模糊控制规则:1)IF RD=N AND Angle=Z THEN left_V=NB AND right_V=PB;2)IF RD=N AND Angle=Q THEN left_V=PB AND right_V=PB;3)IF RD=N AND Angle=Y THEN left_V=PB AND right_V=NB;4)IF RD=M AND Angle=Z THEN left_V=Z AND right_V=PB;5)IF RD=M AND Angle=Q THEN left_V=PB AND right_V=PB;6)IF RD=M AND Angle=Y THEN left_V=PS AND right_V=PS;
首先在Matlab的m文件中设定机器人的起始位置、目标位置和随机分布的障碍物。先计算机器人与目标物的角度Angle,在设定测距范围内,计算障碍物与机器人的角度并逐一与目标角度比较,当障碍物角度大于Angle时,则认为障碍物在机器人的左方,等于Angle则可以确定障碍物在机器人的前方,小于Angle就认为障碍物在机器人的右方。然后分别在左方、前方与右方区域计算离机器人最近的距离作为左、前和右方的障碍距离。鉴于Simulink具有直观、方便高效等特点,利用Simulink的模块搭建移动机器人运动模型并建立模糊控制器。将m文件中实时计算的障碍物距离和机器人与目标物体的角度信息送入Simulink的模糊控制器,控制器输出机器人的左右轮速度,基于机器人的运动学原理转换成当前的位置坐标。即用sim函数将m文件与Simulink建立连接,并配置好仿真时间,使m文件与Simulink实时通信。Simulink的运动学模型图9所示。
图9 Simulink的运动学模型
经过多次仿真,不断调整各个模块的参数,最后将仿真数据整理并执行画图功能,得到移动机器人的避障仿真结果如图10所示。
图10 机器人避障仿真结果
本文基于模糊控制算法实现移动机器人的避障任务,仿真实验结果表明,模糊控制算法解决非线性系统的优势。在简单的环境中,移动机器人可以灵活、准确避开障碍物,到达目标点,满足机器人避障需求。但是,在障碍物形状不规则且分布复杂时,机器人容易靠近障碍物,造成避障失败。因此,还需进一步改进避障算法,下一步将考虑将多种算法集成[13]使用并在移动平台上进行实物验证,比如将神经网络与模糊控制结合,充分利用各自的优点,使机器人做出更灵活、更优越的规划。
[1] 倪小雷,卜佳俊.自主移动机器人混合式体系结构的设计与实现[J].计算机测量与控制,2006,14(11):1526-1528.
[2] Mahler R.Random sets:Unification and computation for information fusion—A retrospective assessment[C]∥The 7th International Conference on Information Fusion,Stockholm,Sweden:Swedish Defence Research Agency,2004:1-20.
[3] Lumelsky V,Skewis T.Incorporating range sensing in the robot navigation function[J].IEEE Transactions on Systems,Man,and Cybernetics,1990,20(5):1058-1068.
[4] Koren Y,Borenstein J.Potential field methods and their inherent limitations for mobile robot navigation[C]∥IEEE Conference on Robotics and Automation, California,1991:1398-1404.
[5] Borenstein J,Koren Y.The vector field histogram-fast obstacle avoidance for mobile robots[J].IEEE Transactions on Robotics and Automation,1991(7):278-288.
[6] 孙树栋,林 茂.基于遗传算法的多移动机器人协调路径规划[J].自动化学报,2000,26(5):672-676.
[7] Malhotra R,Sarkar A.Development of a fuzzy logic based mobile robot for dynamic obstacle avoidance and goal acquisition in an unstructured environment[C]∥Proceedings of the 2005 IEEE/ASME International Conference on Advanced Intelligent Mechatronics Monterey,California,USA,2005:1198-1203.
[8] 赵晓光,戴 炬,赵经纶.ROV模糊控制导航方法[J].信息与控制,2002(1):55-58.
[9] Araujo R,Almeida A T D.Learning sensor-based navigation of a real mobile robot in unknown worlds[J].IEEE Transactions on Systems Man and Cybernetics,Part B:Cybernetics A Publication of the IEEE Systems Man and Cybernetics Society,1999,29(2):164-178.
[10] 师 黎,陈铁军,李晓媛,等.智能控制理论及应用[M].北京:清华大学出版社,2009:34-67.
[11] 席爱民.模糊控制技术[M].西安:西安电子科技大学出版社,2008.
[12] 黄漫国,樊尚春,郑德智,等.多传感器数据融合技术研究进展[J].传感器与微系统,2010,29(3):5-8.
Study on obstacle avoidance of mobile robot based on fuzzy control*
YANG Xiao-ju1,2, ZHANG Wei1, GAO Hong-wei2, MI Hai-shan2
(1.State Key Laboratory of Robotics,Shenyang Institute of Automation,Chinese Academy of Sciences,Shenyang 110016,China; 2.College of Automation and Electrical Engineering,Shenyang Ligong University,Shenyang 110168,China)
Aimed at uncertainty of mobile robot in unknown environment,multi-sensor simulation test mobile platform is constructed with Matlab and the kinematics model for mobile robot is built in Simulink.The obstacle information of environment and azimuth angle of target object are collected by multi-sensor and the fuzzy control algorithm which has the function of obstacle avoidance is designed.Fuzzy controller controls wheel speed of mobile robot to turn around and go straight,according to the angle of real-time feedback information to modify the pose of the robot and then avoid obstacles precisely.The results of simulation experiment verify feasibility and effectiveness of this method.
mobile robot; multi-sensor; fuzzy control; obstacle avoidance
10.13873/J.1000—9787(2017)03—0051—04
2016—04—21
国家自然科学基金青年科学基金资助项目(51505470)
TP 273.4
A
1000—9787(2017)03—0051—04
杨小菊(1989-),女,硕士研究生,主要研究方向为移动机器人的多传感器信息融合方法。
张 伟(1979-),通讯作者,博士,副研究员,从事故障诊断、机器人等方面的研究工作,E-mail:zhangwei@sia.cn。