一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种巡线导航机器人及导航控制方法

2022-11-13 09:28:58 来源:中国专利 TAG:


1.本发明属于自动化定位导航技术领域,具体涉及一种基于室内双颜色地面所成直线与自动补偿光源的视觉巡线导航方法。


背景技术:

2.随着自动化定位导航技术的发展,相比于室外gps(全球定位系统)车辆导航技术,室内移动机器人小车导航技术也越来越成熟,市场机制趋于良好,应用前景越发广泛。例如在工业环境下的自动化生产车间、商业环境下的餐饮走廊或医疗机构的物流运送通道等环境都渐渐需要可以在规划好的固定路线下,自动往返行驶的智能机器人,以此来代替人工,节省人力成本,提高生产或运输效率。因此发明一种适合在室内应用的、成本较低、方法简单且易于实现的巡线导航方法是非常必要的。
3.针对上述需求,目前,国内外也有很多相关的解决方案。
4.目前主流的巡线机器人主要有两种:
5.一种是基于agv磁条的导航机器人,其具有路径规划灵活、导航位置相对准确的优点。但是传统的agv磁条导航机器人需要事先在导航地面铺设磁条,然后粘贴保护性胶带。磁条本身相对于地面来说耐磨性较差,适宜安装在干燥、干净的环境,因此在整洁的自动化工业生产车间得到较好的应用。当应用场景中人流或其他移动载具较多,环境地面容易产生磨损时,磁条导航方案适应性较差。
6.另一种是基于视觉的巡线机器人,导航位置同样较为准确。但是在室内环境光源较为复杂或者室内光源较暗时,因视觉图像质量变差,会影响导航的效果。


技术实现要素:

7.本发明为了解决上述缺陷,提出了一种巡线导航机器人及导航控制方法,该机器人成本相对较低,受环境光影响较小,且在室内地面易产生磨损的环境适应性较好。为实现上述目的,本发明采用以下具体技术方案:
8.一种巡线导航机器人,包括:使机器人小车沿双色地面形成的对比直线行进的视觉导航模块以及向地面照明的环状补偿光源;
9.视觉导航模块包括直线检测模块,直线检测模块用于获取机器人小车世界坐标系下检测直线的偏移量s和偏转角度θ。
10.优选地,视觉导航模块包括对对比直线进行采集的摄像采集模块,以及对采集到的对比直线进行处理的图像处理模块,得到检测直线。
11.优选地,还包括主控制模块以及驱动模块;
12.主控制模块用于将获得的机器人小车的线速度和角速度数据发送给驱动模块,驱动模块使机器人小车巡线运动。
13.优选地,摄像采集模块的摄像头通过固定支架固定在机器人小车前端中间部位,环状补偿光源中心上方,摄像头的镜头垂直面向地面。
14.优选地,双色地面的颜色为任意两个对比度高的颜色;
15.对比直线为双色地板、或双色宽胶带形成的直线。
16.一种巡线导航机器人控制方法,包括以下步骤:
17.s1、将双色地面形成的对比直线处理得到检测直线,并获取在新像素坐标系下检测直线的斜率k和偏移量b;
18.s2、建立机器人小车世界坐标系,利用式(1)计算在机器人小车世界坐标系下的检测直线的偏移量s和偏转角度θ:
[0019][0020]
其中,k为单位像素代表的实际距离;
[0021]
s为在新像素坐标系下检测直线在y1轴方向上的截距;
[0022]
s3、利用运动控制模型,计算调整偏航的角速度w0和线速度v0,实现对机器人小车的巡线导航控制。
[0023]
优选地,步骤s1包括:
[0024]
s101、在传统像素坐标系下,剪裁对比直线图像,将rgb图像转化为hsv图像并进行掩膜处理,对掩膜后图像中的边缘直线进行优化,得到检测直线;
[0025]
s102、筛除斜率超过阈值的检测直线,得到进一步优化后的检测直线两端点的集合opti_lines,
[0026]
其中,检测直线个数为n,检测直线两端点坐标集合为lines=(x
i1
,y
i1
,x
i2
,y
i2
)
i=1,2,...,n

[0027]
s103、利用式(2)获取新像素坐标系下opti_lines各点坐标:
[0028][0029]
其中,x=(x
i1
,x
i2
)
i=1,2,...,n

[0030]
y=(y
i1
,y
i2
)
i=1,2,...,n

[0031]
width
×
height为摄像头默认分辨率;
[0032]
s104、以opti_lines点集作为检测直线的拟合数据点,调用直线拟合函数,得到新像素坐标系下检测直线的斜率k和偏移量b。
[0033]
优选地,步骤s3分为四种情况:
[0034]
s31、θ>0,t<0时,机器人小车直行并左转,此时有角速度旋转半径r通过下式获得:
[0035][0036]
其中,t为检测直线在机器人小车世界坐标系x轴上的截距;
[0037]
l为机器人小车世界坐标系y轴方向上机器人小车的主动轮中心o到摄像头光心a的距离;
[0038]
v0为已知的机器人小车的线速度;
[0039]
s32、θ<0,t>0时,机器人小车直行并右转,角速度w0计算方法同s31;
[0040]
s33、θ>0,t>0时,机器人小车需要先直行左转,已知角速度w1,控制转弯时间t1,使得w1t1=π-2|θ|,左转后进入s32情况;
[0041]
s34、θ<0,t<0时,机器人小车需要先直行右转,已知角速度w2,控制转弯时间t2,使得w2t2=π-2|θ|,右转后进入s31情况。
[0042]
优选地,步骤s101中转化为hsv图像后,还包括步骤s11:
[0043]
当hsv图像目标颜色的明度分量的均值不在设定的明度阈值区间内时,环状补偿光源以亮度步长为10调节,直到明度分量的均值在设定的明度阈值区间内。
[0044]
优选地,步骤s11包括以下步骤:
[0045]
s111、提取并将实时获取的hsv图像中色调分量值符合[h1,h2]区间的所有像素点的饱和度分量值从大到小排序,保留中间70%的像素点;
[0046]
s112、计算70%的像素点的饱和度分量值的平均值s

average
,并以亮度步长为10调节环状补偿光源,使s

average
位于明度阈值区间。
[0047]
本发明能够取得以下技术效果:
[0048]
1、本发明基于双颜色地面所成的对比直线进行视觉巡线,由于地面比agv磁条更耐受磨损,在人流和其他移动载具较多的室内环境中适应性相对较好。
[0049]
2、摄像机镜头离地面较近且采用面向地面的拍摄方式,使得采集的图像内环境杂光相对较少,进而使得视觉导航受杂光影响相对较小。
[0050]
3、摄像机镜头旁安装有亮度可自适应调节的环状补偿光源,较好的维持图像画面亮度,增强了图像质量,进而增强了视觉巡线的稳定性。
[0051]
4、本发明不需要采用价格高昂的硬件或传感器,如激光雷达等,使得机器人小车成本相对较低。
[0052]
5、本发明不需要铺设磁条及粘贴保护性磁条胶带,使得安装和维护成本相对较低。
附图说明
[0053]
图1是本发明一个实施例的一种巡线导航机器人及导航修正方法的系统框架图;
[0054]
图2是本发明一个实施例的摄像头视觉成像模型;
[0055]
图3是本发明一个实施例的图像处理流程图;
[0056]
图4是本发明一个实施例的新像素坐标系内检测直线示意图;
[0057]
图5是本发明一个实施例的世界坐标系下直线检测θ>0,t<0时的机器人小车世
界坐标系运动控制模型;
[0058]
图6是本发明一个实施例的直线检测θ《0,t》0时的机器人小车世界坐标系运动控制模型;
[0059]
图7是本发明一个实施例的直线检测θ>0,t》0时的机器人小车世界坐标系运动控制模型;
[0060]
图8是本发明一个实施例的直线检测θ《0,t《0时的机器人小车世界坐标系运动控制模型;
[0061]
图9是本发明一个实施例的环状补偿光源结构框架图;
[0062]
图10是本发明一个实施例的巡航控制流程图。
[0063]
附图标记:
[0064]
检测直线1、摄像头2、机器人小车3、环状补偿光源4。
具体实施方式
[0065]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,而不构成对本发明的限制。
[0066]
本发明的目的是提供一种巡线导航机器人及导航修正方法,通过得到的检测直线信息,基于构建的运动控制模型实现对机器人小车的运动控制,同时利用处理后的hsv图像数据,基于自补偿亮度控制模型,改变摄像头旁边环状补偿光源的亮度,改善图像画面质量。下面将对本发明提供的一种巡线导航机器人及导航修正方法,通过具体实施例来进行详细说明。
[0067]
参照图1示出的系统框架,摄像采集模块采集双色地面形成的对比直线,经图像处理模块处理后形成检测直线1,直线检测模块通过识别检测直线1获取机器人小车世界坐标系下检测直线1的偏移量s和偏转角度θ,并在主控制模块的控制下,控制驱动模块,指导机器人小车3行进。同时利用环状补偿光源4调节亮度,改善图像画面质量,增强视觉巡线的稳定性。
[0068]
在本发明一个优选实施例中,摄像采集模块的摄像头2通过固定支架固定在机器人小车3的前端中间,环状补偿光源4的中心上方位置处;摄像头2的镜头垂直面向地面,能够采集到双色地面形成的对比直线。
[0069]
在本发明的另一个实施例中,双色地面的颜色为任意两个对比度高的颜色,也可以为双色地板、或双色宽胶带。
[0070]
如图10示出的巡线控制流程图,机器人小车3直线行驶产生累计误差导致偏航,此时进入航向修正模式,通过摄像头2获取的双色地面形成的对比直线的图像,处理得到检测直线1的斜率k和偏移量b;并以此获取在机器人小车世界坐标系下检测直线1的偏移量s和偏转角度θ;建立四种情况的运动控制模型,通过计算调整偏航的角速度w0和已知的线速度v0,实现对机器人小车3的巡线导航控制。
[0071]
在本发明的一个优选实施例中,步骤s1中,图像处理模块的硬件采用树莓派4b,并通过硬件上python软件平台以及安装的对应版本opencv库包处理图像。
[0072]
步骤s101中摄像头2拍摄采集的图像为双颜色地面及其所形成的对比直线,地面
的两种颜色可选用任意两种对比度较为明显的颜色记为color1和color2。基于opencv库,对拍摄到视频图像进行处理,参照图3所示的图像处理的流程图获取检测直线1边缘:
[0073]
首先,对图像进行剪裁:在传统像素坐标系下,截取直线y=height/4到直线y=3height/4之间的图像,即将width
×
height的视频图像裁剪为width
×
height/2。获取图像关注区间,使得在不损失截后图像清晰度的前提下,减轻图像处理负担,提高摄像帧速。
[0074]
其次,将rgb图像转化为hsv图像:利用opencv库中cv2.cvtcolor(frame,cv2.color_bgr2gray)函数,将r(红色)、g(绿色)、b(蓝色)三色通道模式表示的截取后图像转化为h(色调)、s(饱和度)、v(明度)模式表示的图像。
[0075]
再次,进行掩膜制作:掩膜时所选被掩颜色为color1。color1的hsv取值范围为h:h
1-h2;s:s
1-s2;v:v
1-v2。在color1的取值范围内,调整设置颜色上下阈值:lower=[h1

,s1

,v1

];upper=[h2

,s2

,v2

],进一步调用库中函数cv2.inrange(hsv,lower,upper),将转化后的hsv图像掩膜出其中的color1颜色区域。
[0076]
最后经过形态学开运算变换、双边滤波消除噪声以及canny算子检测图像边缘等步骤,获取掩膜后color1颜色区域边缘。
[0077]
在本发明的另一个实施例中,进行形态学开运算时,调用cv2.morphologyex()函数,对掩膜后的图像先进行腐蚀操作,再进行膨胀操作,初步去除图像中噪声,提高图像质量;调用cv2.bilateralfilter()函数,对形态学变换后的图像进一步进行滤波,实现双边滤波消除噪声;调用cv2.canny()函数,基于canny算子对滤波后的图像提取边缘。
[0078]
步骤s102中,首先基于hough直线检测方法,调用cv2.houghlinesp()函数,获取canny边缘检测后图像中的检测直线1。调用时设置函数重要参数,令检测直线1满足以下三个条件:
[0079]
a.检测的直线所需的霍夫空间交点最少为100个曲线相交的交点;
[0080]
b.组成一条直线的点数最少为60个,点数不足的直线将被抛弃;
[0081]
c.在一条直线上的点的最大距离为10,大于这个距离会被认为是两条直线;
[0082]
函数输出结果为视线范围内多条检测直线1两端点坐标的集合。
[0083]
对检测的直线作进一步优化,筛除斜率过大的直线:
[0084]
设检测直线1的个数为n,检测直线1两端点坐标集合为lines=(x
i1
,y
i1
,x
i2
,y
i2
)
i=1,2,...,n

[0085]
当x
i1
=x
i2
时,即检测的多条直线不为垂直直线时,将lines代入(4)式,得到各个直线斜率离差的集合dev_slope1,
[0086][0087]
当x
i1
=x
i2
时,即检测的多条直线为垂直直线时,将lines代入(5)式,得到各个直线离差的集合dev_slope2,
[0088][0089]
再将各个直线的离差与设定好的阈值dev_treshold=0.1做比较,去除超过阈值的直线,得到优化后的检测直线1两端点坐标的集合opti_lines。
[0090]
步骤s103中,为了便于表示检测直线1垂直时的情况(避免斜率k为无穷),相对于
传统像素坐标系,建立如图4所示的新像素坐标系:
[0091]
以原始图像中心为新像素坐标系原点o1,以过o1水平向右的直线为y1轴,y1轴方向向右,以o1垂直向下的直线为x1轴,x1轴方向向下,
[0092]
将opti_lines各点坐标按式(2)进行变换,形成新像素坐标系下的坐标:
[0093][0094]
以新点集作为目标直线的拟合数据点,调用直线拟合函数optimize.curve.fit,得到新像素坐标系下检测直线1的斜率k和偏移量b。
[0095]
在本发明的另一个实施例中,摄像采集模块在采集图像前,还需要先标定图像中单个像素代表的实际距离,建立如图2所示的摄像头2的视觉成像模型,采用高清的无畸变usb红外摄像头(忽略较小畸变),设默认分辨率为width
×
height,摄像头2焦距为f1,摄像头2距地面高度为f2,在视场范围内的实际地面直线长度为w2,成像直线长度为w1,根据小孔成像模型可得(6)式。
[0096][0097]
因摄像头2距地面高度f2为固定值,摄像头2的镜头面向地面拍摄已知长度为l0的水平直线,然后通过截图软件获取图像中直线的像素长度pl,最后利用公式(6)的原理可以计算单位像素代表的实际距离k:
[0098][0099]
在本发明的一个优选实施例中,步骤s2中机器人小车3基于视觉的运动控制方法需要用到后端系统控制模块中的主控制模块和驱动模块,其中主控制模块硬件采用stm32f407开发板,驱动模块采用轮毂伺服电机驱动器。
[0100]
首先,stm32f407通过网口通信获取树莓派4b发送来的检测直线1斜率k与偏移量b数据;
[0101]
其次,建立如图5、图6、图7、图8所示的机器人小车世界坐标系运动模型,以机器人小车3主动轮的连线中心为原点o,以机器人小车3前进方向为y轴正方向,以过o点并与y轴垂直的直线为x轴,且机器人小车3向左为x轴的正方向。
[0102]
另外,世界坐标系下,以x轴顺时针方向为偏转角θ的正方向,逆时针为负,
[0103]
继续参照图4,设新像素坐标系下,检测直线1与y1轴交点距离原点o1的距离为s。通过公式(1),利用新像素坐标系下的检测直线1的斜率k和偏移量b,计算机器人小车世界坐标系下的检测直线1的偏移量s和偏转角度θ。
[0104][0105]
假设机器人小车3线速度为v0,当小车行驶偏航时,需要根据检测直线1与运动控制模型计算此时的角速度从而修正航向。
[0106]
在本发明的一个优选实施例中,步骤s3分为四种情况:
[0107]
如图5所示,当θ>0,t<0时,忽略线速度方向对x轴方向运动分量的影响,机器人小车3主动轮o1和o2的连线中心o经过角速度w0运动后到达o

点位置,即主动轮中心位于检测直线1上且机器人小车世界坐标系x轴与检测直线1互相垂直。
[0108]
设点o到o

的旋转半径为r,点o到机器人小车3前端摄像头2的光心a的距离为l,点o到检测直线1与机器人小车世界坐标系x轴交点b的距离为t,通过下式计算获得r与t的值,
[0109][0110]
根据线速度与角速度关系将r代入即可得角速度w0,此时机器人小车3直行并且左转。
[0111]
当θ<0,t>0时,如图6所示,与图5同理可计算得到角速度w0,此时机器人小车3直行并且右转。
[0112]
当θ>0,t>0时,如图7所示,机器人小车3需要先直行左转,即两个车轮o1和o2到达o
′1和o'2,已知角速度w1,控制转弯时间t1,使得w1t1=π-2|θ|,左转后θ<0,t>0,即进入图6的情况,需要再直行右转,角速度w0计算方法与图6同理。
[0113]
当θ<0,t<0时,如图8所示,机器人小车3需要先直行右转,即两个车轮o1和o2到达o
′1和o'2,已知角速度w2,控制转弯时间t2,使得w2t2=π-2|θ|,右转后θ>0,t<0,即进入图5的情况,需要再直行左转,角速度w0计算方法与图5同理。
[0114]
当t=0或θ=0时,由于机器人小车3运动总会存在误差,保持运动行驶状态一段时间后必然会进入到图5至图8中四种运动情况中的一种,再按照上述方法计算线速度与角速度即可。
[0115]
最后stm32f407将线速度v0与角速度w0通过串口发送给机器人小车3驱动控制器,控制机器人小车3巡线运动。
[0116]
在本发明的一个优选实施例中,巡线导航机器人还包括可自适应调节的环状补偿光源4用于实时对摄像头2模块进行补光,能够较好的维持图像画面亮度,增强图像质量,进而增强了视觉巡线的稳定性。
[0117]
参照图9示出的环状补偿光源结构框架图,环状补偿光源4距地面一定高度向地面照明。摄像头2固定于环状补偿光源4中心上方,将拍摄的color1和color2双色地面图像传输给树莓派4b控制模块。
[0118]
通过树莓派4b控制环状补偿光源4的亮度,使摄像头2拍摄的color1和color2双色地面形成的对比直线可以被视觉导航模块清晰的检测识别,设此时亮度为d0。
[0119]
在步骤s101中将转化为hsv模式的图像进行另外存储。并以color1作为基准,提取hsv图像中h(色调)分量值符合[h1,h2]区间的所有像素点。以这些像素点的饱和度分量值从大到小排序,去除前15%和后15%,仅保留中间70%的像素点。
[0120]
接着计算70%像素点的饱和度分量值的平均值s
average
。并以[s
average-50,s
average
50]作为明度阈值区间。其中若s
average-50<0,则令阈值区间下界为0,若s
average
50》255,则令明度阈值区间上界为255。
[0121]
最后,设环状补偿光源4的亮度可调区间为[1,100](d0∈[1,100]),机器人小车3运动时树莓派4b根据采集图像实时计算s

average
(与s
average
同理的实时值)。若s

average
小于明度区间下界,则以10为步长,通过树莓派4b发送亮度增大信号给环状补偿光源4,直到s

average
位于明度区间内。若s

average
大于明度区间上界,同理设置步长为10,通过树莓派4b发送亮度减小信号给环状补偿光源4,使s

average
位于明度区间内。由此令摄像采集模块采集的图像亮度始终保持在较好的范围内,提高图像质量。
[0122]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0123]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
[0124]
以上本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所作出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献