基于激光传感器的多移动机器人位姿测量系统
基于激光传感器的多移动机器人位姿测量系统
作者:何琼;何永义;冯肖维
导航是对移动机器人所要求的最具有挑战性的能力之一。导航的成功需要导航4个模块的成功:感知,定位,认知,运动控制。其中,定位是移动机器人导航最基本的环节,也是完成导航任务首先必须解决的间题。对多机器人系统来说,定位问题是核心问题也是必须首先解决的问题。实时、精确的定位是提高多机器人协调性、相互合作性能的关键。但是,单独依靠机器人自身的传感器来推算机器人的位置是很难实现多机器人的高度协调性,必须依靠外部传感器来进行精确定位。激光测距仪由于在距离范围和方向上具有较高的精确度,与其他距离传感器相比,能够同时考虑精度要求和速度要求,而且不受光照的影响,所以在移动机器人的导航定位中得到了广泛的应用。本文设计了一种基千激光传感器的测量系统,能迅速、准确地识别确定多个机器人位置和姿态,分别给机器人提供位姿信息,实现多移动机器人轨迹跟踪和精确定位。
1 系统设计
1.1 系统组成
整个测量系统由激光传感器、数据采集计算机、无线通信网络和软件系统4个部分组成。在该系统中,移动机器人的底盘被围成矩形,用矩形来标识机器人。为了能在最大范围内扫描到两台机器人,因此把激光传感器固定在一 边中间。首先巾数据采集计算机通过串口采集激光传感器扫描得到的数据,并进行处理和计算,得到机器人在全局坐标系下的位置,然后通过无线网络将机器人的位置发送给机器人的控制器,为机器人定位提供准确及时的位姿信息,为机器人精确定位提供了保障。
1. 2 激光传感器
本系统所采用的激光传感器为德国SICK公司的LMS200 型激光传感器。其基本的工作原理是,基千对激光束飞行时间的测量,即根据从发送激光束到接收反射光的时间间隔与激光传感器到被测量物体间的距离成正比的关系。脉冲红外激光束发射出去后如遇到物体则被反射回来,并被测距仪的接收器记录。脉冲激光束被测距仪内部的一 个旋转光镜所偏转,以便对周围环境形成一个扇面扫描区域。目标物体的轮廓线根据所接收到的一 系列脉冲序列来确定。通过高速串行接口可实时地将测量数据传送给数据采集计算机,进行下一 步的数据处理。在本系统中,根据实际需要选择扫描范围为 180°,测量角度分辨率为0.5°,扫描时间为26 ms。这样,扫描一 周可以得到 361 个数据点。
2、机器人特征提取和位姿计算
2.1 数据处理
激光传感器扫描得到的都是离散的数据点。每一个点都以极坐标(r, a) 形式表示,其中r表示距离,a用来表示扫描角。坐标的原点在激光传感器的中心,坐标的正方向是激光传感器右侧的零角度位置。所以,为了数据处理方便首先要将数据从极坐标转换为直角坐标,这里以激光传感器为局部直角坐标系,坐标原点与激光传感器的极坐标原点重合,X轴正方向与极坐标的零角度线重合。
2.2 特征识别
由于目前对直线特征的提取算法的研究比较多,所以这里我们以矩形为研究对象。这样就可以用一 条线段或几条线段来描述机器人。这是计算机器人位姿即定位的重要依据。下面是特征提取的步骤。
1)数据点聚类
根据扫描数据的空间关联度,可将 361 个扫描数据合并成若干个不相连的类别集合。也就是说,利用扫描数据的空间近邻的思想进行聚类。聚类时,只要相邻两个数据点之间的距离在一 定的范围p 内,就认为它们属千同一类,并对属千同一 类的数据点的个数进行限制,必须大千一 定的阙值c,这样可以删掉一些离散的点。
2)数据点分割
激光传感器扫描矩形时,可能扫描到一 条边或两条边。对千一 条边,可以直接提取线段特征点进行线性拟合,而对于扫描到两条边的首先必须进行分割。假设一 个类有 n 个点,过第一 个点po和最后一 个点尺 做一 条直线,求出类内其余的点到这条直线的距离 d ,并求出距离的最大值 dmax。给定一 个值 T , 若dmax大千 T ,那么还保留原来类的分布;若 dmax大千T,那么以取得最大值的点为分界点,将该类分为两类,同时对这两类再进行前面的分割,直到所有类中的dmax都小千 T。在每次分割之后,都将类中数据点的个数少千3的类删除。对千矩形几何特征,只需进行一次分割。
3) 线段线性拟合
经过聚类、分割后的每一 个类的数据点,都可以看成线性关系,但是这些数据点并不是绝对的在一 条线上,而是分散在一 条线的两侧附近。
4) 特征线段的分配
在计算机器人的位胃之前,必须找到属千每一台机器人的线段。在实验中有两台机器人,所以有3种情形。
(a)是激光传感器扫描两台机器人,两台机器人都扫到两条边;
(b)是一台机器人扫到一 条边 ,另一 台扫到两台边 ;
(c)是两台都扫到 一 条边。所以为了把扫描到的特征线段正确地分配给两台机器人,就必须先把属千同 一 台机器人的线段合在一起组成角板。符合下面3个条件就认为这两条特征线段属于同一机器人。
(1)两条特征线段组成的角度在90 °左右;
(2)一条线段的起点和另 一 条线段的终点的距离小于一 定的范围;
(3)两条线段的交点到激光扫描仪的距离必须小千一 条线段的起点和另一 条的终点的连线的中点到激光扫描仪的距离,这是满足凸边形的条件。
下面就把提取到的角板或单板正确地分配给机器人。首先,分别给定两台机器人的初始位置,在初始位置的一定范围内的单板或角板就分配给特定的机器人。机器人在运动时,根据每台机器人与自己前一 个位置的距离最近的原则,进行特征线段的分配,这样就可以对两台机器人进行实时的跟踪。但是,这里有一个问题,当 一 台机器人被另一 台机器人遮挡,而造成扫描盲区,便无法跟踪。而对千再次扫描到两台机器人如何重新跟踪这个问题,除了考虑在每台机器人与自己前一 个位置的距离最近的原则的前提下,还要考虑分配顺序。就是说,同时计算距离,距离最小的先分配,这样剩下的属千另 一 台机器人。这种方法对千机器人在运动时都通用,只要保证激光传感器最少扫描到一 台机器人。
2.3 位置计算
根据提取的特征线段就可以计算机器人的位置,这里分两种情况:
1) 激光传感器扫到机器人的一 条边 ,就是一条特征线段。首先,计算特征线段的中点,之后沿特征线段垂直的方向移动半个机器人的长度,就得到了机器人的中心位置。
2)激光传感器扫到机器人的两条边,就是组成直角板的两条特征线段。首先计算两条线段的交点,之后各沿两条特征线段的方向移动一个机器人的长度,最后计算这两个点的中点,也就得到了机器人的中心位置。
2.4 角度计算
在机器人运动时,激光传感器扫描到的特征线段的线性拟合后的倾斜角a与机器人的姿态成一 定的角度关系。所以,可以用特征线段的线性拟合后的倾斜角a推算出机器人的姿态,并与机器人预先给定的初始姿态或机器人前一 时刻的姿态进行比较,只要在一定的范围内,就用特征线段的线性拟合后的倾斜角a推出的机器人的姿态来更新机器人的姿态。如果一 个机器人在激光传感器扫描的盲区内,就无法计算机器人的姿态,所以这里先定点给定机器人的姿态,或者用电子罗盘来实时测量机器人的姿态,再用激光传感器来精确计算。
3实验
为了验证系统的性能,以两台移动机器人设定其活动区域为宽 4.8 m、长 6.4 m进行试验,及对实验结果进行详细分析(为了确定测量精度,首先进行静态精度分析。在机器人静止状态时,手动将机器人置千若干容易确定位姿的位置,通过比较手动确定位姿和使用系统确定位姿的结果确定静态精度。测量数据如表 2。由表 2可知,位置的最大误差为 5 cm, 角度最大误差为 20 ,达到了设计目标要求。之后进行重复精度分析,将机器人置于任意位置,连续进行 100 次位姿测量,得到测量结果的最大值和最小值。两者的差即可表现系统重复定位性能。机器人位置横坐标的最大跳动为 10 mm, 纵坐标的最大跳动为 10 mm, 机器人姿态角的最大跳动为10 。最后进行动态精度分析。在机器人运动时直接精确获得机器人位置和运行角度信息比较困难,我们使用下列方法衡量测量精度,使机器人做直线运动,使用定位系统实时计算机器人位置和姿态。使用位置数据拟合出一 条直线作为标准,使用测屋的位置到该直线的垂直距离衡量位置测量精度,通过比较测量的姿态角与拟合直线的角,来衡恨姿态测量精度。
4结语
本文设计了一 种基千激光传感器的多移动机器人测量系统。通过激光传感器对机器人底盘的测倡,根据直线特征提取算法,计算出机器人的中心,可以实时跟踪、精确测量。经实验,该系统能够在测量范围内实现厘米级精度,可以满足移动机器人定位需要,同时对环境要求比较低,是实现多移动机器人导航控制高性能的测量系统。通过实验分析,使用单台激光传感器,测量两台机器人存在扫描盲区等问题,同时还有测量范围小、测量精度随着距离增加而降低的缺点。如采用多方位布置多台激光传感器进行融合测量和数据处理,系统的测量范围和定位精度可以得到进一步提高。
本文章转自爱学术(aixueshu.com),如有侵权,请联系删除