基于视觉传感技术的工业机器人轮廓曲线角点识别系统设计

2021-12-23 12:25唐建林
微型电脑应用 2021年12期
关键词:角点轮廓边缘

唐建林

(南昌职业大学 工程技术学院,江西 南昌 330500)

0 引言

伴随机器人快速发展的同时也产生了维护困难等问题,因此准确地掌握机器人的实时运行状态,获取机器人故障信息,能够有效地避免因其操作失败而导致的经济损失。而作为机器人形态确定的一种手段,机器人轮廓曲线角点识别逐渐成为了热门研究问题。角点是一种具有高曲率的点,相比图像的整体像素,角点数量较小,但是所包含的信息却极为重要,也就是说角点能够有效降低待处理信息量,并且不会减少物体的关键特征信息。角点识别在图像视觉处理方面具有基础性意义,例如物体形状分析、运动估计、图像匹配、视觉定位等方面。目前,基于角点识别的研究较多,董立红等[1]提出了一种基于Sobel边缘检测的圆周Harris角点检测算法。该方法通过Sobel边缘检测对图像中角点进行筛选,提高检测效率。使用圆周窗口模板对所得角点做非极大值抑制处理。为避免角点簇的情况发生,使用临近点剔除法,并将剔除后所保留的非极值最大点作为角点,该方法具有一定的可行性,但是计算效率较低,且仍然存在较少伪角点。李云红等[2]提出了一种利用点弦距离递归的图像角点检测算法。该方法采用Canny边缘检测器完成轮廓线的提取,随后采用3种不同尺度高斯核对图像边缘进行平滑处理,使平滑后的边缘线首尾连接组成一条弦。计算出轮廓上每个边缘像素点与弦之间的距离,采用多尺度技术判决候选点,获得最终角点。实验结果表明,该方法受噪声影响较小,但是算法结构复杂,实际应用性较低。

基于此,本文结合工业机器人轮廓特征,提出了一种基于视觉传感技术的工业机器人轮廓曲线角点识别系统设计。

1 系统软件设计

构建恰当的数学模型来描述机器人的动态情况,能够有效提高识别算法的功能性实现程度和算法精度。在相机坐标系中,由于对机器人角点识别是需要将三维物体投影至二维平面中,当机器人在tk时刻运动到tk+1时,其坐标位置从p(X,Y)变换至p′(x′,y′),通过Similarity模型获得坐标计算方程如式(1)。

(1)

式中,θ表示旋转因子;s表示缩放因子;d1、d2分别表示p′相对于p的位置偏移量,对式(1)进行求解即可获得机器人的运动参数。

首先采用视觉传感技术获得机器人的空间坐标。若摄像机的成像模型满足小孔成像,则该模型目标空间上各点均以直线的形式投影到图像平面上[3]。设相机的坐标系原点为F,且该点也为相机焦点。平面X、Y与图像平面平行,Z轴垂直于图像平面,具体结构如图1所示。则此时相机的焦点坐标可以表示为(0,0,0)。

图1 成像模型

(2)

(3)

(4)

(5)

即可获得空间内P1、P2、P3在相机坐标系中的坐标如式(6)。

(6)

通过式(6)即可求出机器人图像边缘像素点的空间坐标。根据空间坐标,实现其轮廓曲线角点识别。将相机获得的机器人边缘放大图像,在小模板窗口中,发现边缘像素点的排列呈单方向性[6-8],分别为0°、45°、90°和135°4个方向。角点出现后,像素点两边出现2个方向角度,针对角点附近的边缘点位置信息对角点进行识别。为减少工作量,首先通过3×3小窗口模板进行角点粗定位,随后采用尺度由小到大的方式逐步剔除伪角点,实现精定位。

2 系统的硬件设计

采用模块化设计方式,借助ISE(Integrated Software Environment, 集成软件环境)、EDK(Embedded Development Kit, 嵌入式开发套件)开发工具完成系统设计。

该模块应用FIFO(First Input First Output)存储器结构[9-10],在先入先出信号和像素时钟的协同控制下进行数据缓存。

角点信息被提取后,还需要对机器人的运动矢量[11]进行估计和计算。本文采用Virtex5 Fx100T中的Power PC处理器完成系统软硬件协同运行,首先通过PLB总线对角点信息进行访问,计算出帧间机器人全局运动矢量[12]。随后进行运动补偿处理,补偿对象主要针对储存在DDR SDRAM中的待补偿图像。以专用开发工具EDK为平台,采用MPMC(Multi Port Memory Controller, 多端口存储器控制器)IP核完成系统内存读写管理。调用此IP核可以将DDR SDRAM划分为8个具有独立性质的端口,各端口的操作方式与BRAM相似,使用者可以通过其中的任意端口进行内存的访问。

在通过MPMC核进行运动补偿的过程中,因为其写入机制是先缓存写入数据,再进行写入内存操作,而在内存数据读取方面则是直接进行的,因此为了避免两者之间产生冲突,系统的判定信号要首先确定缓存是否在“空”的状态,当该判定信号为空时,才发出执行读取命令,避免读写冲突而导致数据丢失。

3 仿真实验

为证明本文方法的有效性,分别识别2种状态下的工业机器人的轮廓曲线角点,并将实验结果与文献[1]、文献[2]方法进行对比。2种状态下的待识别机器人的原始图像如图2所示。

(a)状态1待识别图像

图2中,图2(a)的状态2识别图像是缓存在“空”的状态,图2(b)的状态1识别图像是缓存不在“空”的状态,随后分别采用3种方法对原始图像的轮廓曲线角点进行识别,不同识别方法所获得识别结果如图3—图5所示。

(a)状态1识别效果

(a)状态1识别效果

(a)状态1识别效果

从图3—图5中可以看出,文献[1]方法存在伪角点并且存在漏判的情况,文献[2]方法存在的伪角点多于文献[1],且存在角点缺失的情况。而本文方法能够完整地获得机器人机械臂的曲线轮廓角点,且角点定位较为准确,没有明显偏移情况,这是由于本文方法识别的过程中采用小窗口模板对角点进行粗定位后,又采用了大窗口模板进行精定位,进一步提高了识别的准确率。

随后对系统的运行效率进行验证,3种不同方法识别耗时如表1所示。

表1 不同系统识别耗时比较

从表1中可以看出,本文方法在2种状态下,所用识别时间均短于其他两种方法,且平均耗时为1.57 s,进一步证明本文方法在能够在识别效率较快的条件下,保持较高的识别准确率,充分满足工业机器人轮廓曲线角点识别要求。

4 总结

本文针对工业机器人的轮廓特点,提出了一种基于视觉传感技术的工业机器人轮廓曲线角点识别系统设计。设计系统整体框架后,分别给出了系统软件和硬件的组成和相关算法。仿真实验表明,与传统方法相比,所提方法的角点漏判和误判率较低,且识别效率更高,具有一定的实际应用价值。但是在抗噪性方面,所提方法还没有深入研究,需在下一步的工作中进行完善,进一步提高系统的应用功能性。

猜你喜欢
角点轮廓边缘
一种改进的Shi-Tomasi角点检测方法
OPENCV轮廓识别研究与实践
基于实时轮廓误差估算的数控系统轮廓控制
基于FAST角点检测算法上对Y型与X型角点的检测
高速公路主动发光轮廓标应用方案设计探讨
一张图看懂边缘计算
基于圆环模板的改进Harris角点检测算法
一种无人机影像分块的亚像素角点快速检测算法
创造早秋新轮廓
在边缘寻找自我