APP下载

基于超声雷达的室内清洁机器人自主行走控制方法研究

2013-08-26罗福源焦晓进

机械与电子 2013年10期
关键词:移动机器人障碍物基准

张 琪,罗福源,肖 洒,焦晓进

(1.南京航空航天大学机电学院,江苏 南京 210016;2.南京航空航天大学金城学院,江苏 南京 211156)

0 引言

随着社会的发展和生活水平的提高,人们迫切需要从繁重的清洁工作中解放出来。在传统的吸尘器越来越无法满足快节奏现代生活需要的时候,全自动室内清洁机器人应运而生。全自动清洁器人装载有探测传感器,可以在前方遇到障碍物的时候自动改变方向。但是,目前市场上现有的清洁机器人的智能水平与清洁效率还较低,原因在于无法自主定位与导航。机器人在室内移动过程中,实际上是在沿墙模式、折线式、绕柱模式、自由模式、左螺旋和右螺旋等几种行走模式中随机切换,并通过大量路径的累积效应达到遍历清洁整个室内地面的目的。在自主移动机器人的行走中,实现机器人自身的准确定位是一个基本而又非常重要的功能,也是移动机器人具有自主性的先决条件之一。作为移动机器人的研究热点,现阶段国内外研究主要集中在同时定位与地图构建(SLAM)方面[1]。地图的构建与存储方式是SLAM的核心问题。为此,提出了一种基于直线行程地图的表示和存储方法,在此基础上进行清洁机器人的路径规划。

1 清洁机器人建模

1.1 机器人运动控制建模

清洁机器人简化模型如图1所示,由2个驱动轮和1个万向轮组成。驱动轮上装有左右2个编码器测量速度,车身上载有电子罗盘测量机器人的位姿。

在全局坐标系XOY中,设t时刻的机器人位姿为(Xt,Yt,θt)T,速度为vt,角速度为ωt。所以经过时间t1后清洁机器人的位姿为:

图1 机器人模型

通过式(1),理论上可以计算出任意t+t1时刻机器人的位姿。在实际运动过程中,可能遇到车轮打滑、电子罗盘受干扰、速度估计不准和位置计算累积误差等问题。需要用程序算法进一步修正。

1.2 超声雷达的构建

超声波传感器因其低廉的价格而广泛运用于移动机器人中,但是超声波传感器存在扫描速度慢、感应信息具有不确定性等问题[2-3]。系统用4个超声波传感器按照十字形排列方式固定在一块底板上,并在底板下方安装一个舵机驱动其转动,从而构建出一个能够对室内环境进行实现旋转扫描探测的超声雷达。如图2所示。

图2 超声波传感器模型

4个超声波传感器成正交分布,这样可以相互不产生干扰,提高测量准确性。使用多个超声波传感器可以提高扫描探测效率。舵机每旋转1°后暂停,这时4个超声传感器分别进行1次超声探测。这样,只要舵机旋转90°,就可以测出清洁机器人周围360°的障碍物信息。

2 室内环境探测及路径规划

2.1 墙面检测

通常墙壁是较为平整且长度较长的障碍物,因此将其作为机器人行走的基准是比较合适的。

为了便于说明和分析问题,搭建了3m×2m的矩形房间模型。

机器人利用舵机旋转超声波传感器依次探测,依照如图3所示的程序流程进行探测。

图3 墙面探测流程

图4为仿真环境中超声波传感器探测到的一组数据。可见,在4个墙角的地方数据发生了明显的失真。这是超声波本身的特性决定的:超声波在墙角处会发生偏折现象,导致了测得的墙壁通常是较为平整且长度较长的障碍物,因此将其作为机器人行走的基准是比较合适的。

图4 超声波探测结果

数据跳跃性失真,表现在数据出现非线性和不连续增大。针对这个问题,提出了一种基于最小二乘法的直线拟合算法。

依据式(2)把以机器人为中心的极坐标转化为笛卡尔坐标系。

(xi,yi)为第i个点的坐标;i=0,1,2,…,359,代表角度;ρ为机器人到障碍物的距离。

在直角坐标系中,为了剔除“墙角”的失真点,先把数据分段。算法如下:

b.设置一个阈值ε,如果Di<ε,判断为连续的点,则i=i+1,转到步骤a。如果Di>ε,说明此处为断点,则把i以前的连续点加入一个连续点集的集合Cj。

c.判断点集Cj中点的个数,如果少于一定值,判断为噪点,将其去除。转到步骤a。

通过上述的算法,将数据划分成几段连续的数据点。如图5所示,四周的失真点已经被剔除,剩下的点被划分成了四段数据点集。

图5 噪点去除后的探测结果

最小二乘法进行直线拟合:最小二乘法可以这样理解,假定要将点集Cj中的n个点(X1,Y1),(X2,Y2),…,(Xn,Yn)拟合一条直线,拟合的直线是Y=aX+b。只要确定2个参数a和b即可[4],则有:

经过直线拟合的直线L1,L2,L3,L4如图6所示。为了方便观察,图上并没有将原来的点去除。

图6 拟合后的探测结果

2.2 行走方式及路径规划

与巡线机器人不同,清洁机器人在运动的过程中,要求尽量覆盖每一块无障碍区域,同时,尽可能不重复覆盖同一块区域,减少能耗。

为了完全覆盖,现有2种比较好的行走方式,直线式和内螺旋式。经过比较研究,内螺旋式的行走方式算法复杂转角更多,且需要建立栅格地图与之配合。所以采用来回直线式行走方式,同时“由线及面”表示地图。

机器人根据以上所述的基准前进,如图7所示。利用机器人的右侧超声波探测与基准的距离为dj。需要让机器人保持与基准特定的距离沿直线前进,利用以下算法实现:

a.机器人从起始点出发,平行基准墙壁前进。

b.机器人与基准的理论距离为Dj,测量的实际距离为dj,设置一个阈值εj。判断若|dj-Dj|<εr,转到步骤a。否则进行下一步。

c.若dj-Dj>εr,说明距离偏大,机器人向右旋转αr=arctan,L为右侧超声波到车尾的距离。若dj-Dj<-εr,说明距离偏小,机器人向左旋转αl= arctan。

d.沿平行基准墙壁的方向前进,返回步骤b。

图7 直线行走模型

2.3 障碍物的探测及绕行

机器人沿直线运动的时候,远离基准的那一个超声波传感器进行障碍物的探测工作。通过超声波传感器记录下障碍物的起始位置s1和终止位置s2。机器人就探测到了和障碍物的距离。机器人接近障碍物,前置超声波传感器探测障碍物距离小于εd时,停止前进,启动探测程序。

当探测到的数据有一个明显的跃迁的时候,判定为障碍物的边角。判断完障碍物的边角,就可以用紧贴基准墙行走的程序完成绕障。

2.4 基于直线行程的地图建立

在SLAM中,地图的表示方法现阶段主要有栅格地图、拓扑地图和特征地图[5]。这3种方式的特点如表1所示[6]。

表1 地图表示方式特点比较

从表1可以看出,特征地图和拓扑地图算法难度较大,惟一比较符合要求的栅格法需要大量的存储空间,所以不适合创建信息量大的地图[7]。

基于直线行走方式,提出了一种直线行程地图。类似于栅格地图的“点阵”,直线行程地图是利用“线阵”来组成一个平面的。实验仿真了一个室内的简易环境如图8a所示。类似于栅格地图,把这个空间分化成图8b所示的矩形条状,其条宽一般是取机器人本身的宽度。宽度取的越小,地图的精度相应的就越高。

在程序中设置一个动态数组Map[m][n]记录下这个机器人探测过的地图数据。其中,m=1,2,3,…,代表第m个机器人走过的行程编号,n代表每个行程中被障碍物打断的直线号。如图8c按照其行走方式走完一个直线后,发现没有遇到障碍物,此时,在Map[1][1]中记录下直线两端的坐标。如图8d和图8e所示,当遇到障碍物时,线被切割成几段。此时分别在 Map[3][1],Map[3][2]和 Map[4][1],Map[4][2],Map[4][3]中记录下始末的坐标。以此类推,机器人扫完这个空间,就完成了地图建立。如图8f所示。

图8 直线行程地图的表示

2.5 机器人清扫算法流程

清洁机器人在运动的过程中不断建立直线行程地图,同时也很好地覆盖了所有没有障碍物的区域。其实现流程如图9所示。

图9 清扫算法流程

在图9中,有:

a.机器人旋转90°,4个超声波传感器测出360°的信息,将测出的这些点拟合成直线。所有直线中最长的一条默认为墙壁。

b.障碍物可能是墙壁或室内其他物体,由上一个循环的超声波探测得出。

c.进入绕障子程序。

3 机器人运动实例

为了验证提出的行走控制方法,在实验环境中搭建了一个简单的室内模拟环境如图10所示。超声波传感器探测周围360°环境。通过算法程序处理后如图11所示。通过算法将点拟合成了6条直线。根据算法,取最长的3号直线为基准墙壁。

图10 简单实验环境

图11 障碍物情况下的控测

基准确定以后,进入直线往复清扫,实验环境尺寸为3m×2m,测得机器人宽度为0.2m,作为直线行程的宽度。机器人在行走的过程中记录下行程数据,存储数组Map[m][n],并绘制地图。最后的地图如图12所示。

图12 简单环境下的直线行程地图

机器人的速度设定为50mm/s,完成清扫所用时间为659s。利用随机遍历的方式清扫,每次的用时都不确定,但是最少也要1000s。利用这种方法可以有效地提高机器人的清洁效率。

4 结束语

在墙壁基准探测方面,提出了一种基于超声雷达的探测方法和数据拟合算法,并通过实验验证了可行性。对清洁机器人的地图建立与路径规划进行了研究,提出了一种路径规划方法。这种表示方法具有栅格地图的所有优点,但其需要的存储空间大大减小,是一种比较理想的地图表示方法。实验证明,新的地图表示及路径规划方法减少了遍历时间,提高了清洁效率。

[1]孙红新,叶小岭,胡 凯.基于超声波的移动机器人的同时定位和地图构建[J].计算机测量与控制,2011,19(11):2769-2771.

[2]王卫华,陈卫东,席裕庚.移动机器人地图创建中的不确定传感信息处理[J].自动化学报,2003,29(2):267-274.

[3]Tardos J D,Neira J,Newman P M,et al.Robust mapping and localization in indoor environments using sonar[J].International Journal of Robotics Research,2002,21(4):311-330.

[4]黄明登,肖晓明,蔡自兴,等.机器人局部环境特征提取方法的研究[J].计算机测量与控制,2007,15(2):241-244.

[5]王卫华,陈卫东,席裕庚.基于不确定信息的移动机器人地图创建研究进展[J].机器人,2001,23(6):563-568.

[6]赵一路.移动机器人SLAM问题研究[D].上海:复旦大学,2010.

[7]鲍菁丹.室内未知环境下几何地图构建及机器人定位方法研究[D].天津:天津大学,2007.

猜你喜欢

移动机器人障碍物基准
移动机器人自主动态避障方法
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
基于Twincat的移动机器人制孔系统
明基准讲方法保看齐
滑落还是攀爬
极坐标系下移动机器人的点镇定
基于引导角的非完整移动机器人轨迹跟踪控制
巧用基准变换实现装配检测
Imagination率先展示全新Futuremark 3DMark OpenGL ES3.0基准测试