其中,v是AGV移动速度,β是重叠区域重叠系数,LONG是CCD摄像头窗口拍摄矩形长度大小,COLUMN是CCD摄像头分辨率列数,FPS是帧率。
1.4 拍摄条件
1)消除拖影。运动物体如果速度过快,在每一帧的图像中会有拖影出现,所以在选择CCD摄像头时,最好选择120 FPS的CCD摄像头,快门速度>=1/50 s,小车行驶越快,需要快门速度越快。这样可以有效消除拖影对算法的影响。
2)消除曝光瑕疵。照射地面的光线可能由于外在原因,导致不同帧的图像的不同位置的光强度有变化对算法的结果有一定影响。所以需要在AGV底部增加主动光源,如图4所示。
图4 光源与CCD摄像头位置示意图
试验选择日常的瓷砖地面,瓷砖地面普遍比较光滑,颜色趋于一致。但是如果近距离用摄像头拍摄,会发现瓷砖表面会有大小不一的孔洞,有光源照射时,与瓷砖背景形成鲜明对比,如图5 ~ 图6所示,CCD摄像头镜头角度为30.4°,距离地面距离100mm。
图5 光源以30°角照射地面
图6 光源垂直照射地面
根据地面状况不同,光源入射角度也不同,此试验选择光源垂直照射地面,使得特征孔洞与地面整体有更大的对比反差。
2 转弯行驶图像匹配
试验使用的AGV是由2个无刷电机带主动轮和一个万向轮被动轮构成的样车即小车,如图7所示。
图7 小车示意图
CCD摄像头安装在小车下方,2个主动轮中心位置,向右转弯时,小车右轮不动,左轮转动,向左转弯时,小车左轮不动,右轮转动。
2.1 转弯块匹配算法
小车转弯的过程也是CCD摄像头绕固定轮旋转的过程,以向左转弯为例,示意图如8所示。
图8 相邻2帧的位置
模板的大小和坐标定义如下:前一帧的坐标系是ρ - θ,每一像素点的灰度值为f(ρ,θ),后一帧的坐标系是r - φ,每一像素点的灰度值为g(r,φ),坐标系变换是φ = θ + Δθ,r = ρ + Δρ。在此采用极坐标系。
重叠区域S的比对采用差值法,重叠区域相似性度量计算公式如下:
板扫描策略从β ~ 1,每次扫描都会有一个B值,取所有B值中的最小值:min(B1,B2,B3,…)
此时的Δρ值是小车在2帧时间转动瞬心的偏移,直角坐标系内的值是(Δρ × cosθ,Δρ × sinθ),Δθ是小车行转弯时的瞬时转角。在时间t内转弯的偏移量为(∑Δρ × cosθ,∑Δρ × sinθ)和转弯角度为∑Δθ。
3 试验验证和结果分析
3.1 其中2帧对比的计算结果
试验用CCD摄像头设定为320 x 240像素,β系数设定为0.9,用Matlab仿真,图9为其中2帧扫描结果。
图9 4个方向Matlab计算结果
分析从4个方向计算结果,在右上方有最小值,所以判断第2帧图像在第1帧图像的右上方,将4个方向的计算结果合成在一个坐标系下,结果如图10所示。
图10 4个方向坐标系合成Matlab计算结果
由坐标系换算得到,第2帧图像在第1帧图像右上方,横坐标偏离21个像素点,纵坐标偏离23个像素点。
3.2 小车直线行驶计算结果
试验用CCD摄像头设定为320 x 240像素,β系数设定为0.9,帧率120 FPS。小车直线向前行驶距离,其中约1 s的数据如图11所示。
图11 小车约1 s内行驶前方和侧方每帧像素个数
2022-11-09 10:45
2022-10-24 18:13
2022-10-21 16:35
2022-05-26 15:59
2022-05-26 15:54
2022-04-27 10:30
2022-04-27 10:29
2022-04-06 10:51
2022-01-24 15:27
2022-01-12 09:47