APP下载

未知环境下的移动机器人仿真平台设计*

2010-08-14王苏卫

网络安全与数据管理 2010年16期
关键词:驱动轮移动机器人测距

林 俊,林 凯,谷 兵,王苏卫

(湖南师范大学,湖南 长沙410081)

移动机器人是当今学科研究的热点之一,而控制算法在机器人领域中处于核心地位。目前,常用于移动机器人智能控制的算法主要有:PID控制、模糊控制、神经网络控制等[1-2]。还有一些相对特殊的控制方法,譬如参考文献[3]中提及的基于风险评估的路径规划方案等。每种算法的原理不同,一般对外界信息的依赖性较大。若根据算法要求开发硬件平台,其电路的设计、PCB板的制作以及电路的调试等一系列繁琐的研发工作对算法的验证将造成极大不便[4]。Matlab提供的可视化界面环境GUI,其与VB相似的功能可以很方便地创建用户界面形式。因此,本文利用Matlab GUI设计一种用于移动机器人路径规划的控制仿真平台。

1系统控制体系组成

移动机器人的控制体系结构定义为:一种能把多种模块有机地结合起来,从而在环境中完成目标任务的机器人结构框架。本系统主要完成未知环境下移动机器人的路径规划,所以系统设计了多个模块构成整个控制系统。如图1所示,控制体系主要包含的功能有:感知、定位模块、路径规划、行为控制以及任务规划。

1.1传感器模型

1.1.1里程计与罗盘计

里程计用于测量移动机器人的行驶距离,主要由驱动轮内侧的码盘信号计算出单个驱动轮角速度信息,从而根据运动学模型计算出行驶距离。罗盘计基于指南针原理,用于测量机器人的车身角度。

1.1.2超声波测距

超声波测距原理采用时间差测距法,可表示为:

式中,D为超声波传感器与障碍物之间的距离,C为超声波速度,△t为发射和接收之间的时间差。

1.2移动机器人模型

1.2.1机器人运动学模型

本设计研究的是双轮差分驱动式移动机器人,由两个驱动轮和一个随动轮组成。两驱动轮之间的轴间距离为d,驱动轮半径为r,其轴间连线中点为M,坐标为(xM,yM),如图 2 所示。

令左、右两驱动轮的角速度分别为 ωL和 ωR,机器人车身与X轴的夹角为θ,则关于M点的机器人运动学方程为:

根据式(2)可求得M点的线速度和角速度,即:

令平台转弯半径为R。 由于 υM=ωM×R,则:

从上式可以看到,当 ωL=ωR时,转弯半径为无穷大,机器人做向前或向后方向的直线运动;当ωL=-ωR时,转弯半径为0,平台绕M点原地旋转。

1.2.2航姿推算定位法

双轮差分驱动式移动机器人的运动分为直线模式和弧线模式两种,本设计采用相对简单的直线模型。离散化航姿推算定位法形式为:

式(6)中,(x,y)为机器人的坐标值,θ为机器人车身与 X轴之间的夹角,定义(xn-1,yn-1,θn-1)为上一时刻移动机器人的位姿,(xn,yn,θn)为当前机器人的位姿,θj为控制决策的转向角度,△s为行驶步长。进一步分析,△s越小,定位效果越好,但是会造成系统计算量增大。需要根据机器人的行驶环境大小来设定△s。

定义终点坐标为 T(xT,yT),当前时刻机器人车身方向与目标点的夹角为△θn。将坐标轴平移到当前机器人坐标,则新坐标轴下终点的坐标为 T′(xT-xn,yT-yn),如图3所示。计算新坐标中原点与T′之间的正弦和余弦值为:

对式(7)判断符号后即可确定 θT所在的象限,再分别求反三角函数即可在[-180°,180°]范围内唯一确定 θT。最后将 θn减去 θT再确定到[-180°,180°]范围,即可得出△θn值。

2移动机器人仿真平台建立

本文利用Matlab GUI设计人机交互方式的二维平面环境模型[5],可以设置移动机器人的行驶环境大小、起点和终点,通过文本设计方法再加鼠标设置可以绘制障碍物区域。利用文本设置的行驶环境大小、起点与终点设置,障碍物相对简单。鼠标设置相对复杂,需要响应鼠标事件。当鼠标左键单击白色坐标轴有效范围时,系统响应单击事件记下第一个点的坐标值,然后鼠标划过一段区域后释放,系统响应释放事件记下第二个点坐标值。通过两点坐标值即可唯一确定一个矩形障碍物。

本设计模拟超声波的测距方案,对机器人正前、左 45°、右 45°三个方向进行距离检测,如图4所示。系统将机器人看作一个质点,S0、S1、S2分别代表正前、左 45°、右 45°三个方向上的超声波传感器。

通过算法实现的机器人测距原理相对复杂,如图5所示。首先确定出障碍物四个顶点,即 M1(xM1,yM1)、M2(xM2,yM2)、N1(xN1,yN1)、N2(xN2,yN2), 然 后 通 过 line 函 数 画出矩形框,并对机器人质点S的前方用line绘制一条直线并与障碍物相交。由于line函数属于直线绘制,故射线与矩形框相交为A、B、C、D四个交点。当设置合理障碍物区域,即当交点横坐标不属于[xM1,xM2]范围或者交点纵坐标不属于[yN1,yM1]范围时,系统定义该交点为无效点。因此,系统可排除C、D两点。最后,运用两点距离公式求出SA、SB的距离dSA、dSB,然后取两者最小值即可得出机器人前方障碍物的距离信息d0,即d0=min(dSA,dSB)。利用相同方法也可得出机器人左45°和右45°的障碍物距离信息d1和d2。系统将三个距离信息值用一个向量 D 表示,即 D=[d0,d1,d2]。

图5 机器人测距原理图

3建立模糊控制器

Matlab提供了强大的模糊推理系统编辑器(Fuzzy),通过选择、编辑界面中的选项和文本,即可生成移动机器人模糊控制系统[6]。将距离向量D和机器人车身方向与目标点的夹角Δθ作为输入,将机器人转向装置控制量θj作为输出,建立MISO模糊控制系统。

系统设置输入隶属函数:

(1)将 d0、d1、d2分 为 N(近 )、M(中 )、L(远 )三 个 模 糊集,隶属函数形状为梯形。

(2)车身与目标点的夹角 Δθ取 NZ、FZ,分别表示目标点位于小车左侧和右侧,从而建立隶属函数:当Δθ≥0时,隶属度为 FZ;当 Δθ<0时,隶属度为 NZ。 其中 Δθ的范围为[-180°,180°]。

转向装置控制量 θj的模糊集合取:LL(左大转弯)、LM(左 中 转 弯)、LS(左 小 转 弯)、Z(保 持)、RS(右 小 转 弯)、RM(右中转弯)和RL(右大转弯)七档,隶属函数取三角形。

系统根据汽车驾驶经验制定了54条基于IF-THEN形式的模糊控制规则,并设置重心法为去模糊方式。当设定输入 D=[37.9,47.7,135],Δθ=22.2°时,模糊系统首先触发控制规则库中的有效规则,并通过分析决策,推理出转弯量3.29°。由于控制规则很多,这里只给出该情况下输入、触发的规则以及最后去模糊结果,如图6所示。

4仿真

本设计平台对移动机器人的本身和行驶环境作如下假设:(1)车轮只能在地面上正常滚动,不发生侧向滑动;(2)机器人在二维平面内运动,运动表面平整。

对于随机的未知环境,系统设置:X轴和Y轴的坐标显示范围为[-100,1000]。 起点 A(0,0),终点 B(900,900);机器人初始行驶角度为0;Δs为0.5。通过鼠标随机绘制障碍物。点击“运行”后,代替车体的半径为8的圆点开始实现以目标点为向导的避障行为,并显示出行为轨迹,结果如图7所示。

图8所示为机器人车身角度变化示意图,对照图7,移动机器人在行驶过程中车身角度随障碍物的随机分布而变化。为了程序计算方便,角度一律取弧度值。

本设计介绍了移动机器人的基本结构和运动原理,并在此基础上实现了基于Matlab GUI的移动机器人控制仿真平台。将基于行为的模糊控制应用于机器人进行实时控制。仿真结果表明,移动机器人响应速度快,适应环境能力强,成功实现从起点到目标点的路径规划。

[1]QIN Guo Ping,YAO Wei,ZHANG Wei.Design of nonlinear optimization PID controller for BLDCM based on neurofuzzy identified model[C].Proceedings of the Eiqhth International conference.2005,2(27~29):1524-1527.

[2]张洪宇,徐昕,张鹏程,等.双轮驱动移动机器人的学习控制器设计方法[J].计算机应用研究,2009,26(6):2310-2313.

[3]高扬,孙树栋,黄伟峰.一种未知环境下的快速路径规划方法[J].计算机应用研究,2009,26(7):2623-2626.

[4]梁毓明,徐立鸿.移动机器人多传感器测距系统研究与设计[J].计算机应用,2008,6(28):340-343.

[5]刘保龙,何波,王永清,等.移动机器人未知环境地图构建仿真平台[J].系统仿真学报,2007,19(13):2940-2943.

[6]吴晓莉,林哲辉.Matlab辅助模糊系统设计[M].西安:西安电子科技大学出版社,2002.

猜你喜欢

驱动轮移动机器人测距
移动机器人自主动态避障方法
基于正交试验的整车驱动轮滚动阻力因素分析
电驱动轮轮毂设计及有限元分析
一种新型掘进机行走驱动轮设计方案
类星体的精准测距
基于Twincat的移动机器人制孔系统
浅谈超声波测距
移动平台及包含移动平台的行李箱
基于PSOC超声测距系统设计
相对差分单项测距△DOR