基于HALCON的机械手视觉定位的软件设计
2016-08-29广东工业大学自动化学院陆啸天王钦若
广东工业大学自动化学院 陆啸天 王钦若
基于HALCON的机械手视觉定位的软件设计
广东工业大学自动化学院陆啸天王钦若
本文设计一个利用HALCON软件提供的算子进行边缘提取并能定位工件的软件,同时该软件能够调节视觉识别的参数,具有通信功能,把处理识别后工件的坐标等信息发送给其他系统。利用VC++完成软件人机界面的设计,经调试可完成实时在线检测,可达到生产要求精度。
HALCON;视觉定位
1.引言
机器视觉技术给传统工业带来深刻变革,装备视觉设备的机器人系统,广泛应用于食品加工等领域,使识别定位物体的过程更加自然,简化系统,这对于降低成本,简化设计生产流程都有莫大的好处。
2.软件整体框架
框架如图1所示,视觉定位处理线程是由图像处理软件HALCON导出的C++代码,使用线程较灵活方便识别多个物体。PC机的GUI是为此线程服务的,利用TCP/IP协议的Socket套接字与其他系统通讯。
图1
3.软件各模块设计
本软件基于VC++、MFC和HALCON,MFC封装了各种API函数,HALCON跨平台支持C/C++,故VC++结合MFC和HALCON开发此软件,软件中定义的类如下:CVisionControllerDlg类为主界面类,包含:ParamDLg类是摄像头参数设置类,有阈值、区域提取面积、模板放缩比等;ConnSetDlg类负责摄像头设置,包含摄像头名称、匹配方式;ResultDlg类显示识别数据,有帧率,帧时长,物体坐标,匹配度等;SockSever类负责与PC机通讯;HalconCamera_setdata类,负责存放处理参数;HalconCamera_outdata类,负责输出结果。
图2
图3
图4
3.1主界面设置模块
如图2所示,可选择一个或两个摄像头。匹配方式有:导入现有模板,从程序中加载在HALCON中调节好参数的模板;现场创建模板,画好识别区域再匹配。网络设置:采用TCP/IP协议,Socket编程,设置IP端口后,可以向其他系统发送输出界面模块中的数据。
3.2 摄像头参数设置模块
如图3所示,根据选择的相机,调节二值化参数,可以让图像显示更多细节;改变区域提取面积可以识别不同面积的物体;模板放缩比可调节目标的尺寸;改变匹配分数可提高目标匹配度。
3.3数据输出界面模块
如图4所示,输出摄像头处理结果:帧率、帧时长、识别物体的中心坐标、匹配度、缩放比、与模板偏移的角度。
3.4视觉处理模块
待上述设置完成后,打开摄像头,进入视觉处理模块,由HALCON程序导出的C++代码编写,一个摄像头对应一个视觉处理线程,避免数据干扰。视觉识别定位流程如图5所示:
图5
其中:
(1)图像处理(边缘提取)代码如下,得到图像Edgezoom,
read_image(Image1,path)//读取图像
zoom_image_size(Image,Zoom,width,height,'constant')//设置图像宽与高
rgb1_to_gray(Zoom,GrayImage)//转成灰度图
highpass_image(GrayImage,Highpass,Width,Height)//高通滤波
sobel_amp(Highpass,Edge,'sum_abs',5)//边缘提取
region_to_bin(Edgezoom,BinImage,255,0,Width,Height)//转为黑白图像,便于识别
(2)识别定位
根据主界面中的匹配方式实现定位操作,使用HALCON函数:get_shape_model_contours:获取模板轮廓,find_scaled_shape_models:查找匹配轮廓,模板匹配过程:
4.结论
本文利用HALCON机器视觉软件包研究了图像识别定位物体的
技术,并利用该技术为基于HALCON机械手视觉识别定位设计开发了软件,具有人性化操作界面,经调试可完成实时在线检测,可达到精度要求。
[1]王彦,傅卫平,袁国文,等.工件自动视觉定位识别系统研究[J].计算机工程与应用,2009(8):80-83.
[2]王红涛,傅卫平,康业娜.工件图像识别的边缘匹配方法研究[J].仪器仪表学报,2008(5):986-991.
[3]潘武,张莉彦,徐俊成.基于机器视觉的工件的在线检测[J].组合机床与自动化加工技术,2012(7):75-78.
陆啸天(1992—),男,江苏启东人,硕士研究生,现就读于广东工业大学,主要研究方向:现代自动化装备与控制技术。
王钦若(1958—),男,海南儋县人,硕士,教授,博士生导师,主要研究方向:机电一体化,现代自动化装备与控制技术。