一种基于行走机器人的分布式视觉定位系统及方法技术领域
本发明涉及一种机器人导航技术领域,尤其是涉及一种基于行走
机器人的分布式视觉定位系统及方法。
背景技术
近年来,随着科技的发展,行走机器人在服务、探测、物流等领
域得到越来越广泛的应用。而要对行走机器人快速定位和导航成为实
现智能化的关键。
目前行走机器人很多只靠自身的安装的传感器或摄像头对环境
进行检测和建立,而没有涉及到机器人与外部视觉设备协同定位的技
术,这大大限制了机器人的工作职能,降低了工作效率。特别在室内
如办公室环境中存在多种大物体,当行走机器人在移动时,需要获得
精确定位和室内环境信息,分布式视觉定位系统就能解决这方面的问
题。
发明内容
本发明主要是解决现有技术行走机器人定位不准确,工作效率低
的问题,提供了一种协同定位、定位准确的基于行走机器人的分布式
视觉定位系统。本发明还提供了一种基于行走机器人的分布式视觉定
位方法。
本发明的上述技术问题主要是通过下述技术方案得以解决的:一
种基于行走机器人的分布式视觉定位系统,包括设置在室内环境中的
视觉节点、行走机器人和控制服务器,所述视觉节点包括多个摄像头
单元,所述控制服务器包括图像处理单元、定位单元和地图单元,摄
像头单元分别与图像处理单元连接,图像处理单元和地图单元分别与
定位单元相连,定位单元与行走机器人相连接,在行走机器人上设置
有特征标示。本发明能准确定位行走机器人在室内的位置,大大提高
了行走机器人的工作职能,提高了工作效率。多个摄像头单元分布在
室内环境中,形成多视觉节点协同定位。摄像头单元将拍摄到的图像
传送给图像处理单元处理,图像处理单元对图像进行特征点提取,判
断行走机器人是否进入图像。定位单元根据处理后的图像对行走机器
人进行位置定位,同时根据地图单元储存的环境地图在地图上定位并
显示行走机器人。特征标示设置在行走机器人表面上,用于识别机器
人以及定位用。各单元之间通过IPC进行通信。
作为一种优选方案,所述图像处理单元包括依次连接的图像增强
模块和轮廓提取模块,图像增强模块分别与摄像头单元连接,轮廓提
取模块与定位单元连接。通过图像增强模块和轮廓提取模块的处理,
将图像中行走机器人上的特征标示提取出来,作为后续定位计算。图
像增强模块对图像进行灰度化、二值化处理。轮廓提取模块采用改进
的Canny算子算法提取主体识别点和距离识别点的边缘。
作为一种优选方案,所述处理单元上设置有显示单元。显示单元
能显示当前环境地图,并能将定位后的行走机器人显示在环境地图中,
使得操作者直观看到行走机器人当前位置。
作为一种优选方案,所述摄像头单元之间通过网络互相连接。摄
像头之间通过IPC(Inter-ProcessCommunication)进行通信。摄像头
单元之间能进行同步操作,将同一时刻的图像发送给控制服务器进行
处理。
作为一种优选方案,所述特征标示包括设置在行走机器人表面正
中的主体识别点,对称设置在识别点两侧的两个距离识别点,主体识
别点和两个距离识别点为圆形且处于同一直线上,两个距离识别点之
间形成标示长度。主体识别点在图像上用于识别行走机器人,在图像
处理单元中提取到主体识别点,检测到行走机器人进入拍摄该图像的
摄像头单元范围内。而距离识别点根据它们之间的距离用来推算出行
走机器人到拍摄的摄像头单元之间的距离。
一种基于行走机器人的分布式视觉定位方法,包括以下步骤:
S1.分别对各摄像机单元设定不同距离进行标定,获取图像坐标
系内标示长度和全局坐标系内标示长度之比与距离的关系表;即在各
不同距离进行标定时,记录标示长度在图像坐标系内长度与标示长度
在全局坐标系内长度的比值,这样就可以根据图像中检查到的标示长
度推导出距离。每隔一个距离进行一次标定,标定采用Halcan标定
算法进行操作,获取摄像机单元内外参数,得到图像坐标到全局坐标
的转换。
S2.摄像头单元开始工作,每隔一时段将同时采集的图像发送给
图像处理单元分别进行处理,图像处理单元对图像中特征标示进行轮
廓提取,根据轮廓计算出特征标示中主体识别点和距离识别点圆心像
素数据,根据这些像素数据确定标示长度像素数据;
S3.以图像中心为中心将图像划分若干区域,确定行走机器人在
图像中的区域位置,根据区域优先级,选取行走机器人位于优先级更
高区域的图像进行后续处理;对多张图像进行处理,最后选取其中行
走机器人位于区域优先级最高的图像进行处理。
S4.计算图像坐标系内标示长度和全局坐标系内标示长度之比,
选取标定中与其最接近的比值,获得行走机器人到摄像单元的距离值,
根据距离值在环境地图上对行走机器人进行定位。
作为一种优选方案,步骤S1中对摄像机标定过程为:采用标定
板进行标定,将标定板在摄像机单元工作距离设定范围内,每隔固定
间距进行一次标定,获得每个距离的摄像机内外参数。一般设定在
800~1500cm距离内,每隔50cm进行一次标定。本方案采用Halcan
标定算法进行操作。
作为一种优选方案,步骤S2中标示长度像素数据获取具体包括
以下步骤:
S21.对图像进行灰度化、二值化处理;该处理方法为已公开的技
术,具体内容可以参见文献:刘广起,郑晓势,张晓波。基于图像纹
理特征提取的车牌定位算法[J]。中国图象图形学报,2005,10(11):
1419-1422。
S22.采用改进的Canny算子算法提取主体识别点和距离识别点
的轮廓;经过处理提取得到的主体识别点和距离识别点是许多点构成
的这样一个图像。该改进的Canny算子算法为已知公开的技术,具体
内容可以参见文献:李庆利,张少军,李忠富等。一种基于多项式插
值改进的亚像素细分算法[J]。北京科技大学学报,2003,25(3):280-283。
对主体识别点和距离识别点提取边缘时,由于主体识别点和距离识别
点是圆形,重要特征点分布在各个方向,只有对梯度方向进行细分后,
求出(45°,135°,180°,235°,270°,315°)等8个梯度方向,才能
提取连通性较好的单像素边缘,因此采用8个模板方向进行边缘检测。
采用的8个方向的模板。
S23.对提取的轮廓图像进行Hough变换,
提取图像中像素值为1的所有像素点,并统计出总的像素个数;
根据图像中主体识别点位置设定半径的范围(rmin,rmax)、圆半径r
步长、角度步长和阈值;
根据公式
计算圆心横坐标a,式中b为
纵坐标,取遍整个y值,从而确定有效的a、b值;
根据有效的a、b值,确定Hough数字的索引值;
根据求出的索引值,通过计算累计、构建出层数为r=rmax-rmin
的Hough数组;
求得半径层的所有a、b值,其平均值即为主体识别点圆心坐标
(a0,b0);
如此计算获得两距离识别点的圆心坐标;
S24.若两距离识别点处于同一直线上,将两距离识别点圆心列坐
标进行相减获得标示长度值,若两距离识别点不处于同一直线上,将
两距离识别点圆心列坐标进行相减获得直边长度值,将两距离识别点
圆心横坐标进行相减获得横边长度值,然后计算出标示长度值。
作为一种优选方案,步骤S3中选取要进行后续处理的图像的具
体步骤包括:
S31.以图像中心为中心向外将图像依次划分为最佳区域、可信
区域和偏离区域,且设定各区域的优先级依次降低;
S32.根据主体识别点的圆心坐标,检测主体识别点位于哪个区域,
即获得活动行走机器人位于哪个区域;
S33.比较多张图像,选取行走机器人位于区域优先级最高的图像
进行后续处理。若所在区域相同,则选取圆心坐标更靠近中心的图像。
因此,本发明的优点是:准确定位行走机器人在室内的位置,大
大提高了行走机器人的工作职能,提高了工作效率。多个摄像头单元
分布在室内环境中,形成多视觉节点协同定位。
附图说明
附图1是本发明的一种结构框示图;
附图2是本发明的一种方法流程示意图。
1-视觉节点2-控制服务器3-行走机器人4-摄像头单元
5-图像处理单元6-定位单元7-地图单元8-显示单元9-图像
增强模块10-轮廓提取模块
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具
体的说明。
实施例:
本实施例一种基于行走机器人的分布式视觉定位系统,如图1所
示,包括设置在室内环境中的视觉节点1、行走机器人3和控制服务
器2。视觉节点包括多个摄像头单元4,摄像头单元之间通过IPC相
连接。控制服务器包括图像处理单元5、定位单元6、地图单元7和
显示单元8,其中图像处理单元又包括图像增强模块9和轮廓提取模
块10。摄像头单元分别与图像处理单元的图像增强模块连接,图像
增强模块与轮廓提取模块相连,轮廓提取模块与定位单元相连。地图
单元和显示单元分别与定位单元相连,定位单元与行走机器人相连接,
在行走机器人上设置有特征标示。特征标示包括设置在行走机器人表
面正中的主体识别点,对称设置在识别点两侧的两个距离识别点,主
体识别点和两个距离识别点为圆形且处于同一直线上,两个距离识别
点之间形成标示长度。
一种基于行走机器人的分布式视觉定位方法,如图2所示,包括
以下步骤:
S1.分别对各摄像机单元设定不同距离进行标定,获取图像坐标
系内标示长度和全局坐标系内标示长度之比与距离的关系表;
S2.摄像头单元开始工作,每隔一时段将同时采集的图像发送给
图像处理单元分别进行处理,图像处理单元对图像中特征标示进行轮
廓提取,根据边缘计算出特征标示中主体识别点和距离识别点圆心像
素数据,根据这些像素数据确定标示长度像素数据;这些摄像机单元
每隔3秒钟同时采集一张图像发送给图像处理单元。
S3.以图像中心为中心将图像划分若干区域,确定行走机器人在
图像中的区域位置,根据区域优先级,选取行走机器人位于优先级更
高区域的图像进行后续处理;
S4.计算图像坐标系内标示长度和全局坐标系内标示长度之比,
选取标定中与其最接近的比值,获得行走机器人到摄像单元的距离值,
根据距离值在环境地图上对行走机器人进行定位。
其中步骤S1中对摄像机标定过程为:采用标定板进行标定,将
标定板在摄像机单元工作距离设定范围内,每隔固定间距进行一次标
定,获得每个距离的摄像机内外参数。一般设定在800~1500cm距离
内,每隔50cm进行一次标定。本方案采用Halcan标定算法进行操作。
步骤S2中标示长度像素数据获取具体包括以下步骤:
S21.对图像进行灰度化、二值化处理;将特征标示在图像上凸显
出来,便于进行后续的采集。
S22.采用改进的Canny算子算法提取主体识别点和距离识别点
的轮廓;
S23.对提取的轮廓图像进行Hough变换,
提取图像中像素值为1的所有像素点,并统计出总的像素个数;
根据图像中主体识别点位置设定半径的范围(rmin,rmax)、圆半径r
步长、角度步长和阈值;
根据公式
计算圆心横坐标a,式中b为
纵坐标,取遍整个y值,从而确定有效的a、b值;
根据有效的a、b值,确定Hough数字的索引值;
根据求出的索引值,通过计算累计、构建出层数为r=rmax-rmin
的Hough数组;
求得半径层的所有a、b值,其平均值即为主体识别点圆心坐标
(a0,b0);
如此计算获得两距离识别点的圆心坐标;
S24.若两距离识别点处于同一直线上,将两距离识别点圆心列坐
标进行相减获得标示长度值,若两距离识别点不处于同一直线上,将
两距离识别点圆心列坐标进行相减获得直边长度值,将两距离识别点
圆心横坐标进行相减获得横边长度值,然后计算出标示长度值。
特征标示包括设置在行走机器人表面正中的主体识别点,对称设
置在识别点两侧的两个距离识别点,主体识别点和两个距离识别点为
圆形且处于同一直线上,两个距离识别点之间形成标示长度。
步骤S3中选取要进行后续处理的图像的具体步骤包括:
S31.以图像中心为中心向外将图像依次划分为最佳区域、可信
区域和偏离区域,且设定各区域的优先级依次降低;
S32.根据主体识别点的圆心坐标,检测主体识别点位于哪个区域,
即获得活动行走机器人位于哪个区域;
S33.比较多张图像,选取行走机器人位于区域优先级最高的图像
进行后续处理。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本
发明所属技术领域的技术人员可以对所描述的具体实施例做各种各
样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神
或者超越所附权利要求书所定义的范围。
尽管本文较多地使用了视觉节点、控制服务器、行走机器人、摄
像头单元、图像处理单元等术语,但并不排除使用其它术语的可能性。
使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们
解释成任何一种附加的限制都是与本发明精神相违背的。