一种全地形机器人视觉导航控制方法

文档序号:24894422发布日期:2021-04-30 13:27阅读:127来源:国知局
一种全地形机器人视觉导航控制方法

本发明涉及一种视觉导航技术,具体为一种全地形机器人视觉导航控制方法。



背景技术:

随着科技发展,智能产业蓬勃兴起,机器人技术高速发展并广受欢迎,机器人智能化也成为了当今科技创新重要标志。机器人的分类非常广泛,智能全地形机器人小车就是机器人的典型代表之一。全地形机器人,是指可以在任何地形上行驶的机器人,能在普通车辆无法正常行驶的恶劣地形上行动自如。作为现代的新发明和发展方向,通过算法的设计,可实现特定环境中无人为干预的自主行驶。全地形机器人具有自动寻光、寻迹、避障功能,可实现远程控制行驶速度、准确定位停车、远程传输图像等功能,被广泛应用于科学勘探、危险排查等场合。

在对全地形机器人相关技术研究中,机器人的自主导航技术直接影响其行走精度。传统机器人在障碍场地上通过灰度传感器或者红外线传感器感应黑色引线来实现导航,例如专利号cn201921578105.x,这种导航方式成本低,易实现,但是实际应用中对场地上轨迹线的清晰度和光线的稳定性要求都较高。

近年来研究者们对视觉导航技术做出了重要贡献,对于直线道路模型,常用的两种拟合导航线的方法是统计学方法中的最小二乘法和图像处理方法中的霍夫变换算法,如专利号cn201910112978.x和cn201811565384.6;其中专利号cn201910112978.x利用最小二乘法快速获取最小的数据,即与实际数据之间误差的平方和,但对图像质量要求较高,受噪声影响较大;专利号cn201811565384.6拟合图像所有可能的直线,通过多层过滤提取导航线,准确率较高,但需要将所有边缘点变换到霍夫空间进行投票,再反算到直角坐标系中,该方法计算量较大。



技术实现要素:

本发明要解决的技术问题克服现有的缺陷,提供一种全地形机器人视觉导航控制方法,针对传统传感器感应路线的方式抗干扰能力较差精度不足等问题,可解决传统霍夫变换车道线检测算法运算量大的问题。

为了解决上述技术问题,本发明提供了如下的技术方案:一种全地形机器人视觉导航控制方法,包括以下步骤:

(1)图像采集模块采集图像:

获取机器人视野范围内的图像,采用分辨率为640×480的cmos摄像头采集图像,帧数范围为5fps至30fps;

(2)通信模块连接上位机与下位机:

采用路由器实现上位机与主控板之间的无线通信,将上位机识别的图像信号实时传送到下位机并进行模块调用;

(3)上位机对视频流中的图像进行逐帧处理,对传统霍夫直线检测进行改进,提出适用于全地形机器人的快速轨迹识别算法,具体步骤如下:

(3.1)对图像预处理,进行旋转、灰度化和高斯滤波;

(3.2)采用canny算子对图像边缘特征信息进行检测;

(3.3)提取roi区域中的边缘线;

根据机器人视觉模块的安装位置和角度设置roi区域,即机器人视野范围,对区域边缘线进行提取,定义一个数组,用以存放roi区域的四个角点坐标,设原始图像的最大横、纵坐标分别为x和y,则四个角点坐标的计算方式如下:

x1=0;y1=y

x4=x;y4=y

其中(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)分别为roi区域左下、左上、右上、右下四个角点的坐标;将四个角点坐标依次添加到定义的数组中,并绘制roi区域的轮廓线,进一步提取轮廓线中的所有边缘线;

(3.4)基于改进的霍夫变换绘制导航线;

(4)根据步骤3获取全地形机器人导航线,对下位机发送运动指令,具体步骤如下:

(4.1)设置运动轨迹偏移角度θ为(0°,180°),将其划分为5个范围,分别为(85°,95°),(95°,115°),(65°,85°),(115°,180°),(0°,65°),根据导航线偏移角度判断机器人当前状态,调用下位机的5个子程序模块以实时调整机器人的位姿,使机器人按预设轨迹运动;

(4.2)当机器人视野区域覆盖地图路口标志时,难以检测机器人运动轨迹,定义一个路口计数器times,若运动轨迹检测失败,则times加1,若连续2次检测运动轨迹失败,则判定机器人已进入路口,此时向下位机发送信号调用相应路口的子程序。

作为优选,在所述步骤3.1中,所述图像预处理具体包括:

(1)图像旋转:

将网络摄像头采集到的镜面图像还原,对图像进行水平翻转;

(2)灰度化:

为方便计算,将rgb三通道的原图转换到gray灰度图。其中r、g、b分别代表红、绿、蓝三个通道的颜色值,转换公式如下:

gray=0.1140*r+0.5870*g+0.2989*b

(3)图像滤波:

摄像头的分辨率为640×480,采用5×5高斯核可减少边缘检测器上明显的噪声影响,计算公式如下:

其中g(x,y)为二维高斯函数,(x,y)为点坐标,σ为标准差,a为归一化系数,使不同的权重之和为一。

作为优选,在所述步骤(3.2)中,所述canny边缘检测具体包括:

(1)通过sobel水平和垂直算子与输入图像卷积计算dx、dy:

dx=f(x,y)×sobelx(x,y)

dy=f(x,y)×sobely(x,y)

其中sobelx为sobel水平算子,sobely为sobel垂直算子,dx表示x方向上的梯度,dy表示y方向上的梯度;

(2)利用dx、dy计算图像梯度的幅值和角度:

其中m(x,y)为梯度的幅值,θm为角度;

(3)通过非极大值抑制,保留局部范围内的相同梯度方向上灰度变化最大的部分,使边界清晰化;非极大值抑制后设置双阈值minval和maxval,继续删选边缘线,图像灰度低于minval的抛弃,高于maxval的保留,介于两值之间的点则判断其是否与保留的边界相连,若相连则保留,否则滤除。

作为优选,在所述步骤(3.4)中,所述改进霍夫变换检测算法具体包括:

(1)遍历边缘线上像素点,将其变换到r-θ空间形成多条正弦曲线,变换公式如下:

rθ=x0·cosθ+y0·sinθ

其中x0,y0为平面坐标系中的边缘线上点的坐标,(rθ,θ)表示像素点在极坐标空间对应的正弦曲线,其中θ∈[-90,90];在遍历过程中设置距离rθ的步长设置为2个像素,角度θ的步长设置为2°;

(2)在参数空间中建立一个二维累加器,以存储每个正弦曲线的交点的累加值,更新累加器矩阵;

(3)对边缘线进行粗过滤,为累加器坐标中的交点个数设置阈值为30,如果累加矩阵中某个坐标点得到的累加值小于阈值,则滤除该点,反之则保留;

(4)对保留的坐标点进行计算,寻找连续线段;从最小角度-90°开始,沿当前角度方向前进,到达图像的边界或间隙大于阈值时视为直线到达终点,此时更新直线端点的位置;

(5)定义一个序列,把更新后的直线的两端点压入其中储存;将已确定端点直线上的点与其临近2个像素的点对应累加器的值清零。

(6)计算平面坐标系中的每一条直线的斜率,当直线斜率的绝对值小于t时滤除,设定阈值t为0.35以过滤接近水平方向的线段;

(7)对剩下的直线按长度权重进行拟合并计算最终导航线的斜率,计算公式如下:

按长度权值计算斜率slo、中心点cen(x,y):

其中slot为总斜率,lent为总长度,cent(xt,yt)为中心点坐标,i为直线的数量,yi2为终点的纵坐标,yi1为起点的纵坐标,xi2为终点的横坐标,xi1为起点的横坐标。

作为优选,所述minval值为100,所述maxval值为250。

作为优选,最大间隙值的阈值为30。

本发明有益效果:本发明的全地形机器人视觉导航控制方法通过机器人搭载的摄像头获取实时图像并传送给上位机,通过上位机的视觉导航算法对导航线进行识别,其视觉导航算法中,通过对图像进行旋转、灰度化、图像平滑、二值化和数学形态学操作等预处理操作后,路径的特征明确,提高了算法的准确性和机器人的抗干扰性。

结合机器人本体的机械结构,对机器人的监控图像提取合理的roi区域,大幅缩减了机器人运行过程中图像处理的计算量,提高了计算速度;引入改进的霍夫直线检测算法对roi区域进行直线提取,简化算法流程的同时保证了检测精度,提高了机器人的实时性。

最后对检测到的线段进行处理,得出导航线的斜率和位置信息,并通过导航线的斜率和位置信息判断机器人的偏向和路口信息,通过无线通信向下位机发送指令,调用相应模块,实现机器人的视觉导航,增强了全地形机器人导航控制方法的鲁棒性。

附图说明

图1是机器人机械结构图;

图2是越障程序判断图;

图3是算法流程图;

图4是预处理后的图像;

图5是翻转还原后的图像;

图6是检测出的边缘图像;

图7是roi区域的图像;

图8是通过roi区域提取出的边缘图像;

图9是改进霍夫变换绘制的直线图像;

图10是斜率过滤后绘制的直线图像;

图11是最终拟合出的导航线图像;

图12是路口标志图像;

图13是机器人越障地图及流程。

具体实施方式

以下对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明的全地形机器人视觉导航控制方法是基于机器视觉和无线通信的全地形机器人的导航控制方法:通过搭载在机器人上的摄像头采集图像,通过无线通信将视频流传输到上位机;对视频流中的图像进行逐帧处理拟合出最终的导航线;通过得到的导航线的斜率和位置信息判断机器人偏向和路口信息;通过无线通信将信息发送给下位机进行相应的模块调用,最后实现全地形机器人的视觉导航控制。

一种全地形机器人视觉导航系统设计,包括以下步骤:

1.一种全地形机器人视觉导航系统设计,其特征在于包括以下步骤:

(1)图像采集模块采集图像:

为清晰的获取机器人视野范围内的图像,采用分辨率为640×480的cmos摄像头,帧数范围为5fps至30fps,机器人的机械结构参照附图1;

(2)通信模块连接上位机与下位机:

为根据当前状态驱动机器人进行对应的动作,采用路由器实现上位机与主控板之间的无线通信,将上位机识别的图像信号实时传送到下位机并进行模块调用。

(3)上位机对视频流中的图像进行逐帧处理,对传统霍夫直线检测进行改进,提出一种适用于全地形机器人的快速轨迹识别算法,算法流程图见图3,具体步骤如下:

(3.1)对图像进行旋转、灰度化和高斯滤波等预处理,预处理后的图像见图4;

(3.2)采用canny算子对图像边缘特征信息进行检测,检测出的边缘见图6;

(3.3)提取roi区域中的边缘线,提取出的边缘线见图8。

根据机器人视觉模块的安装位置和角度设置roi区域,即机器人视野范围,为降低计算量,对区域边缘线进行提取,roi区域见图7。定义一个数组,用以存放roi区域的四个角点坐标,设原始图像的最大横、纵坐标分别为x和y,则四个角点坐标的计算方式如下:

x1=0;y1=y

x4=x;y4=y

其中(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)分别为roi区域左下、左上、右上、右下四个角点的坐标。将四个角点坐标依次添加到定义的数组中,并绘制roi区域的轮廓线,进一步提取轮廓线中的所有边缘线提取出的轮廓线如图8所示。

(3.4)基于改进的霍夫变换绘制导航线

针对传统霍夫直线检测算法存在运算量大,检测效率较低等问题,对传统霍夫直线检测算法进行改进,以降低计算量,提高检测效率;

(4)为控制机器人运动状态,实现视觉导航功能,根据步骤3获取全地形机器人导航线,对下位机发送运动指令,具体步骤如下:

(4.1)由于全地形地图中机器人需要在不平坦的地面上行走,获取到的图像受光照、阴影等因素影响较大,难以精确使用控制算法,稳定性较差。为提高运行稳定性,设置运动轨迹偏移角度θ为(0°,180°),将其划分为5个范围,根据导航线偏移角度判断机器人当前状态,调用下位机的5个子程序模块以实时调整机器人的位姿,使机器人按预设轨迹运动,其具体逻辑判断如表1所示。

表1

(4.2)当机器人视野区域覆盖地图路口标志时,路口标志如图12所示难以检测机器人运动轨迹,定义一个路口计数器times,若运动轨迹检测失败,则times加1。若连续2次检测运动轨迹失败,则判定机器人已进入路口,此时向下位机发送信号调用相应路口的子程序,机器人地图及越障流程见图13,具体逻辑判断见图2。

在所述步骤(3.1)中,所述图像预处理具体包括:

(1)图像旋转:

为将网络摄像头采集到的镜面图像还原,需要对图像进行水平翻转以便于后续的小车偏向和位置判断,旋转还原后的图像见图5。

(2)灰度化:

为方便计算,将rgb三通道的原图转换到gray灰度图。其中r、g、b分别代表红、绿、蓝三个通道的颜色值,转换公式如下:

gray=0.1140*r+0.5870*g+0.2989*b

(3)图像滤波:

为对图像邻域内像素进行平滑,对图像进行滤波,本发明中摄像头的分辨率为640×480,采用5×5高斯核可减少边缘检测器上明显的噪声影响,计算公式如下:

其中g(x,y)为二维高斯函数,(x,y)为点坐标,σ为标准差,a为归一化系数,使不同的权重之和为一。

在所述步骤(3.2)中,所述canny边缘检测具体包括:

(1)通过sobel水平和垂直算子与输入图像卷积计算dx、dy:

dx=f(x,y)×sobelx(x,y)

dy=f(x,y)×sobely(x,y)

其中sobelx为sobel水平算子,sobely为sobel垂直算子,dx表示x方向上的梯度,dy表示y方向上的梯度。

(2)利用dx、dy计算图像梯度的幅值和角度:

其中m(x,y)为梯度的幅值,θm为角度。

(3)通过非极大值抑制,保留局部范围内的相同梯度方向上灰度变化最大的部分,使边界清晰化。非极大值抑制后设置双阈值minval和maxval,继续删选边缘线,图像灰度低于minval的抛弃,高于maxval的保留,介于两值之间的点则判断其是否与保留的边界相连,若相连则保留,否则滤除。经过多次实验发现minval值为100,maxval值为250时边缘过滤总体效果较好,过滤出的边缘噪声较少且连续性较好。

4.如权利要求1所述的一种全地形机器人视觉导航系统设计,其特征在于,在所述步骤(3.4)中,所述改进霍夫变换检测算法具体包括:

(1)遍历边缘线上像素点,将其变换到r-θ空间形成多条正弦曲线,变换公式如下:

rθ=x0·cosθ+y0·sinθ

其中x0,y0为平面坐标系中的边缘线上点的坐标,(rθ,θ)表示像素点在极坐标空间对应的正弦曲线,其中θ∈[-90,90]。由于地图中存在较清晰的导航线,为减少计算量,在遍历过程中设置距离rθ的步长设置为2个像素,角度θ的步长设置为2°。

(2)在参数空间中建立一个二维累加器,以存储每个正弦曲线的交点的累加值,更新累加器矩阵。

(3)为减少计算量,此时对边缘线进行粗过滤,为累加器坐标中的交点个数设置阈值为30,此处的阈值为过滤边缘中短小干扰线的效果较好的值,如果累加矩阵中某个坐标点得到的累加值小于阈值,则滤除该点;反之则保留。

(4)对保留的坐标点进行计算,寻找连续线段。从最小角度-90°开始,沿当前角度方向前进,到达图像的边界或间隙大于阈值时视为直线到达终点,此时更新直线端点的位置,其中最大间隙值的阈值设为30,此处的阈值为多次实验提取效果较为理想的值。

(5)定义一个序列,把更新后的直线的两端点压入其中储存。为避免再次利用已储存直线的累加值产生大量计算,将已确定端点直线上的点与其临近2个像素的点对应累加器的值清零,绘制出序列中所存的直线如图9所示。

(6)计算平面坐标系中的每一条直线的斜率,当直线斜率的绝对值小于t时滤除,设定阈值t为0.35以过滤接近水平方向的线段;

(7)对剩下的直线按长度权重进行拟合并计算最终导航线的斜率,斜率过滤后绘制的直线如图10所示,最终的导航线如图11所示,计算公式如下:

按长度权值计算斜率slo、中心点cen(x,y):

其中slot为总斜率,lent为总长度,cent(xt,yt)为中心点坐标,i为直线的数量,yi2为终点的纵坐标,yi1为起点的纵坐标,xi2为终点的横坐标,xi1为起点的横坐标。

结合以上所述,本发明中的导航线拟合算法是实现全地形机器人视觉导航控制的关键,所以导航线拟合算法效果的好坏决定了本视觉导航控制方法的准确性和稳定性。因此本发明设计了实验来验证算法的性能。

实验1:定义2项检测指标来对上述一种全地形机器人视觉导航算法和传统基于霍夫变换的导航算法的检测效果进行实验比较,在机器人运行过程中,随机保存100帧图像进行实验比较,其中:

由下表可以看出传统霍夫变换导航算法和本发明的导航线算法都能较稳定地拟合出导航线。而本发明提出的导航线拟合算法,对原始图像进行roi区域的提取;对原霍夫直线算法进行了改进;结合线段斜率和长度权重对提取的线段进行过滤,最终在保证检测率的同时缩减了视觉程序的计算量,提升了程序运行速度。

表2

实验2:对传感器控制方法、传统霍夫变换导航控制方法和本发明的导航控制方法分别进行10次实验,实验环境为相同的全地形机器人赛道,统计各自单次通过障碍的数量并进行比较。比较结果如表3所示,

表3

通过对比实验分析,本发明的导航控制方法平均单次越障数量达到9.5个,方差为1.85,传统霍夫变换导航控制方法平均单次越障数量为8.2个,方差为2.16,而灰标传感器循迹控制方法平均单次越障数量仅为6.2个,方差为6.76。由此可以得出结论:本发明的导航控制方法从运行的稳定性和越障的成功率都明显优于另外两种方法。其主要原因在于灰度传感器受环境因素影响较大,对灯光和场地黑白对比度要求较高,且检测范围较小,经过不平坦地面后容易脱离轨道线;而传统霍夫变换导航控制方法虽然检测范围比传感器大且受环境影响较小但是运算量较大,程序不能较快响应。

本发明基于视觉导航的全地形机器人能快速准确地识别导航线和路口,有效地改善了全地形机器人的运行速度和稳定性。

以上结合附图对本发明的实施方式做出详细说明,但本发明不局限于所描述的实施方式。对本领域的技术人员而言,可以针对本发明公开的配置和细节做出许多修改,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1