基于无线定位与激光传感器信息融合的叉车机器人智能跟随算法研究

2021-05-18 01:40
起重运输机械 2021年8期
关键词:测距行人聚类

宁波如意股份有限公司 宁波 315600

0 引言

自动跟随是高端移动式产品的功能之一,目前部分技术已成功应用到行李箱、平衡车[1]、机器人[2]以及跟随叉车机器人[3]等产品上。现有的智能跟随方案[4]大多数针对机器人开展的,主要包括了基于视觉的跟随方案[5-7],基于激光传感器数据[8]的方法以及基于超声波[9,10]、红外[11]等信号实现的自主跟随方案。而在研究过程中发现,基于视觉的跟随方案跟现场的光线有很大关系,很难适用于工厂环境;基于激光、红外、超声波等通过测量距离来实现的自动跟随方案,其主要原理均利用测距和定位的方式来实现。而上述测量距离的方法均是基于二维平面,只能检测到某一平面的信息,通常很难找到被跟踪人员的位置。特别是当环境中存在多人的情况下,这个问题变得更为复杂,甚至现有较好的商业机器人产品(如Adept)也无法实现准确跟踪,此外,采用红外及超声波的方法还存在较大的盲区,容易导致误动作。采用无线定位方法,可以不受环境的干扰,随着UWB/RFID等采用检测无线信号强度来实现测距的方法的发展[12,13],目前测量精度可以达到10~20 cm左右,但如果仅采用无线信号,仍会受到测距精度不够的影响,导致跟随不准。特别是通常无线信号均采用相位检测的方式来测量角度,其角度误差比距离误差更大,通常误差可达10°以上,且容易受到环境、振动等因素的影响,导致机器人很难实现稳定的人员跟踪。

因此,本文提出了采用激光传感器信息与无线UWB信号方法相结合的方法来实现叉车机器人的人体跟随。该方案采用无线UWB信号的定位装置,通常分为两部分,一是信号发射装置,安装于移动设备的固定位置,二是信号接收装置,通过检测人员所在位置信号的强度计算距离和角度信号,计算完成后通过无线传输回信号发射装置完成测距。信号接收装置由被跟踪人员携带,具有唯一的ID,故能保证信号的唯一性。而激光传感器具有较高的精度,通过激光传感器所获得的距离和角度信息与无线信息相融合,便可获得被跟踪人员的高精度位置信息。由于只需实现人体跟随,故可采用近距离激光传感器以降低成本,此外激光传感器还可用于机器人的实时避障。

1 软件算法

1.1 无线(UWB)传感器数据

采用的无线测距传感器模块如图1所示,包含1块无线信号发射器和1块信号接收器,信号接收器将发射器发送来的数据通过RS232串口传输数据传输给工控机,传输数据的波特率为115 200 bps,数据协议基于自定义的串口协议,采用CRC校验方式进行数据校验,协议格式如表1所示。

表1 无线测距传感器通信协议

图1 无线信号接收装置

1.2 激光传感器数据

激光传感器扫描的是某单一平面,为了更好地检测周围物体,激光传感器安装在离地面20~30 cm,通常扫描到的是人体双腿的位置。激光传感器可扫描0~4 m范围内的所有障碍物,需读取环境的障碍物信息。激光传感器数据分为512个点,每个点代表障碍物到当前机器人的位置,平均分布于0°~270°的位置。

1.3 基于无线和激光传感器数据融合的自动跟踪算法

由于无线UWB传感器的测距精度较差,故首先需对无线传感器的数据进行滑动中值滤波[14,15]。

式中:n为需要滤波的点的个数,j=1,2,…,n;i为无线传感器读到的数据点。

1.4 基于动态K-means聚类的激光无线数据融合方法

在K-means[16,17]聚类分析的基础上,提出了一种可实施增减聚类个数的动态聚类分析方法。聚类数目实时可变,从聚类中找出与无线测距传感器相匹配的结果用于行人跟随。

传统的K-means聚类是随机选取个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。

基于动态K-means聚类的激光无线数据融合方法思想为:先选取聚类K值,然后利用无线传感器计算行人离移动机器人的距离,如果传感器的接收器存在行人,在其附近一定会扫描到行人的双腿,相关数据会以障碍物的形式反映到激光数据中,如图2所示。由于激光的定位精度通常小于2 cm,故系统找到的被跟随行人的精度大大提高。该方法的主要步骤:

图2 激光数据点示意图

1)以车体为中心,建立极坐标系,分别利用激光传感器和无线UWB传感器进行数据测量,其中无线传感器获得的机器人离行人的距离与角度数据为

式中:rw为机器人中心到行人的距离值,ρw为行人偏离机器人中心的角度值。

而激光读取的数据为环境中0°~270°的所有障碍物的数据,可表示为

式中:R为数组,保存着0°~270°范围内障碍物到机器人中心的距离值;ρ为数组,保存着0°~270°范围内障碍物到机器人中心的距离值。

2)将无线传感器找到距离值的一定范围内的激光传感器数据进行聚类分析,并找到离无线传感器数据最小的行人聚类特征,定义最小寻找半径为h,例如h=20 cm。

每个聚类的总长度LK和聚类首尾连线的直线长度DK

若满足Sc>δc,且Lmin<Lk<Lmax,则把CK中数据存入Ccen[tn]中,其中Lmax需要根据人腿部的数据的特点设计,尽量减少漏检测,降低误检测。

计算Ccent[n]中所有腿部数据的中心点Pcent(xc,yc)

图3 人体腿部激光点数据

3)选择Ccent[n]中离无线传感器所测得的距离最近的点作为需要跟随的行人的位置。具体的流程如图4所示。

图4 无线与激光数据融合算法流程图

2 实验结果分析

2.1 无线测距传感器数据特征分析

实验用的软件在机器人操作系统(ROS)平台上进行分析。首先对无线测距传感器分析,通过232协议的解码,工控机直接接收到的数据中,包含了采用极坐标形式的距离和角度数据。实验过程中,分别将发射器在不同位置进行静止放置和人为晃动,并将原始数据与滤波后的数据进行比较,得到实验结果如图5所示。发射器处于静止状态时,角度和距离信号质量均比较稳定,当出现人为晃动时,其角度和距离误差信息均波动较大。经过滤波后,信号质量均得到了改善,当出现晃动时,无论距离误差还是角度误差均较大,距离误差可到20~30 cm,角度误差可到20°~30°,故如果单独采用此种传感器,将很难实现稳定和精确的人体跟踪。

图5 无线测距传感器滤波前后结果对比

2.2 激光传感器数据特征分析

激光传感器数据通过USB传送数据,通过ROS的hokuyo node便可以直接读取到传感器的数据,采用ROS的Rviz可实时显示激光传感器的数据,显示情况如图6所示,从图6a中可知,激光传感器读取的点云数据中两个连续的弧形数据即是人腿的位置,图6b中可以看出,当双人存在于环境中时,两个人的腿部特征基本上一致,很难利用激光数据特征来辨别需要跟随的行人,当环境中存在多人时,情况更为复杂,导致机器人无法实现正常的跟随,故需要进行数据融合,利用基于无线信号定位的有源特征,利用激光传感器来提高跟随精度。

图6 激光传感器显示人腿的位置点云数据

2.3 人体跟随算法与实验验证

利用无线传感器获得的距离和角度值,在激光传感器数据中寻找聚类的中心离无线距离传感器最近的聚类,作为需要跟随的目标。在实验过程中假设人体是动态的,且离人腿较近的地方不存在与人腿特征相似的障碍物,去除不符合人腿特征的聚类前后的激光点云数据如图7所示。

图7 数据聚类并处理前后对比图

为了验证该方法的可行性,搭建了移动机器人实验装置,将无线传感器及激光传感器分别安装于机器人上,如图8所示,通过坐标转换将二者所得到的距离和角度坐标转换至同一坐标系。先利用无线传感器获得行人的大致位置信息,后利用激光传感器与无线距离传感器获得的信息作为比较,提取来自激光传感器的数据作为智能跟随使用。

图8 叉车机器人传感器安装位置图

经过处理后的激光数据和无线距离与角度信息如图9所示。由图可知,利用此方法找到的激光传感器信息是较为稳定的,它不受其他行人的影响,且当无线传感器输出误差较大信息时,仍能利用激光传感器实现准确跟踪,实验显示当算法切换到激光跟踪时,跟踪精度在±5 cm以内。

图9 输出的激光传感器及无线传感器信号对比

3 结语

提出了一种新型的基于动态K-means聚类的激光无线数据融合方法,实现了叉车机器人的智能跟踪,该方法避免了传统的采用单一传感器实现跟踪的不足,能够使叉车机器人在复杂环境下较好地跟踪唯一的行人。本文通过实验验证了其可行性,实验结果显示与单独采用无线(UWB)传感器相比,采用无线和激光传感器融合方法可提升跟踪精度至±5 cm以内,精度提高了一倍左右。下一步需研究的主要问题是如何改进聚类算法,使得系统能够更加准确地区别与人腿特征类似的环境,更加准确地从环境中提取人腿的信息。

猜你喜欢
测距行人聚类
基于RSSI测距的最大似然估计的节点定位算法
毒舌出没,行人避让
基于STM32的多通道超声波测距系统设计
路不为寻找者而设
面向WSN的聚类头选举与维护协议的研究综述
改进K均值聚类算法
我是行人
浅谈超声波测距
曝光闯红灯行人值得借鉴
基于Spark平台的K-means聚类算法改进及并行化实现