热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

工业机器人编程与调试论文(scara机器人是什么意思)

摘要现有生产线工业机器人抓取点固定,工件只能以固定的姿态提前摆放在固定的位置,这种装配模式很难满足复杂的工业生产要求且效率低下。设计了基于视觉引导的机器人装配系统改进原有系统。设计




摘要


传统生产线工业机器人的抓地力是固定的,工件只能以固定的姿势放置在预先固定的位置,这种组装模式难以满足复杂的工业生产要求,效率低下。 设计了基于视觉引导的机器人装配系统,改进了现有系统。 设计了机器视觉系统,实现了对工件的快速识别、定位和姿态确定功能; 设计了夹持释放系统,实现了工件的正确夹持和安装功能; 采用Visual Studio的MFC开发实现了图像处理算法,利用套接字通信将坐标和姿态数据发送给机器人。 实验验证了本系统具有良好的稳定性和快速性,能够满足生产的要求,大大提高生产效率。


狭义的家具:是为了美化室内空间而从美化的观点考虑的;


广义家具:包括室内空间的改造、装修; 今天我们说的家装多为广义的家装,是装修和装饰的综合。


中文引用格式:党宏公司,年轻土豆,强华,等.基于视觉引导的SCARA机器人自动组装系统[J] .电子技术应用,2017,43 (5(21-24。


英文引用格式:党洪社,后金联,中华航空,东方航空. Scaraautomaticassemblysystembase Donvisionguided [ j ] .应用程序联盟


0引言


工业机器人是机电一体化高度集成的产物,是《中国制造2025》重点发展的十大领域之一,是工业自动化水平和工业4.0的重要标志[1]。 工业机器人具有重复精度高、可靠性好、适用性高等优点,广泛应用于汽车、机械、电子、物流等行业,被证明是目前最高效的生产工具,需求量不断提高[2]。 世纪60年代初以来,工业机器人经历了三个阶段的发展[3] 第一代是示教再现型工业机器人,只能将操作者所教的轨迹、顺序、要求等作为知识进行存储,根据再现指令读取其知识,执行规定的任务。 第二代工业机器人是感知型工业机器人,通过在工业机器人上安装相关传感器进行感知,可以反馈外部信息。 第三代工业机器人是智能工业机器人,可以先判断周围的环境、工作条件等,然后再执行任务。 一般以机器视觉为反馈,通过图像处理信息引导工业机器人执行任务。


机器视觉是工业机器人的重要研究领域[4],但是在现在的生产线上,很多工业机器人通过事先示教或离线编程来控制机器人的规定指令动作,但是当工作环境和对象发生变化时,机器人就会发生这些变化


1组装系统的构成


本文设计和实现了基于机器视觉的机器人装配系统,可以在线进行不同型号和任意配置工件的装配工作。 系统主要由机器视觉系统和机器人装配系统组成。 机器视觉系统包括图像采集、摄像机标定、模板匹配,可以识别、定位不同的工件,确定旋转角度。 机器人装配系统包括工件的夹持和安装,在视觉导向下完成工件的装配。 PC利用插座通信将坐标和姿态的数据发送给机器人,机器人根据位置数据抓取工件,放置在组装位置。


2视觉系统的设计


2.1图像获取


采用韩国IMI tech Amazon2系列工业相机[5],它是一种数字顺序扫描相机,采用千兆以太网千兆位协议标准,采用索尼顺序扫描CCD芯片,具有非常高的图像质量。 可以通过以太网与PC连接,调整收集频率。 首先安装IMI摄像机的驱动软件,获取摄像机的c接口,然后将接口函数移植到Visual Studio2015中进行二次开发。 如果包含摄像机类库,则通过实例化摄像机手柄类来读取摄像机的数据。 通过OneFrameGrab获取相机的1帧图像,将数据保存在固定的位置,实现实时读取IMI相机的功能。


2.2摄像机标定


在机器视觉应用中,摄像机参数的标定是一个非常重要的环节,其标定结果的精度和算法的稳定性直接影响摄像机工作结果的准确性[6]。 由于机器人把持的工件在同一平面上,所以只要收集一次标定板的图像就可以得到摄像机的外参。 得到摄像机的外部参数后,可以得到图像坐标上各像素在世界坐标系下的对应实际距离。 然后,根据坐标系的变换式可以得到图像坐标系和机器人世界坐标系的变换关系。


2.3标准模板的创建


在进行模板匹配之前,需要制作不同工件的标准形状模板。 将标准工件放置在摄像机的视野下,获取图像,对图像提取ROI区域,进行轮廓提取,得到模板的标准轮廓。 首先取得标准工件图像,使用矩形切出函数切出矩形的ROI区域; 然后强调图像; 最后用模板制作函数制作模板,得到模板二值化后的标准轮廓。 制作模板的算法思路如下。


)1)寻找ROI区域的图像的灰度梯度,用Sobel算子处理图像后,可以返回到x方向的像素灰度值(Gx )和t方向的像素灰度值) Gy )。 使用以下公式计算当前像素点的灰度值和梯度方向。




(2)利用非极大值抑制算法(NMS )搜索梯度方向的局部极大值

,抑制非极大值元素,可以细化边缘。非最大抑制算法跟踪边缘方向的左右像素,如果当前像素的灰度值小于左、右像素灰度值,则抑制当前像素灰度。

(3)采用双阈值算法提取和连接边缘。非极大值抑制算法处理后可能会有少量的非边缘像素被包含到结果中,所以要通过选取阈值进行取舍。双阈值选择与边缘连接方法通过假设两个阈值其中一个为高阈值TH,另外一个为低阈值TL,则有:对于任意边缘像素低于TL的,则丢弃;对于任意边缘像素高于TH的,则保留;任意边缘像素值在TL与TH之间的,如果能通过边缘连接到一个像素大于TH而且边缘所有像素大于最小阈值TL的,则保留,否则丢弃。最终对边缘图像进行保存,图1是工件A的模板创建过程。

2.4 模板匹配

对相机采集的工作区域实时图像搜索模板图像,得到工件的像素坐标和旋转角度。模板匹配的流程如图2所示。

其中相似性度量用到了归一化处理,图像中包含与模板越相似的图像输出的数值越接近1,公式如下:

其中代表模板图像X和Y方向的梯度,代表待匹配图像的X和Y方向的梯度。归一化相似性度量会得到当前图像与模板的相似度Score,Score的阈值MinScore设定为0.75。可以设定图像的最大匹配个数,如果匹配时的质量系数大于MinScore的目标个数多于最大匹配个数,仅仅返回质量系数最好的目标位置。如果找的匹配目标不够,那么就只返回已找到的目标。输出的匹配角度Angle为弧度值0~2π,对应模板图像逆时针旋转0~360°。最终根据相机标定的结果将工件图像坐标转化为机器人的世界坐标。经过多次匹配实验得出匹配的准确率为98%,匹配的最大绝对误差为5个像素,匹配平均时间为60 ms。

3 机器人装配系统设计

SCARA(Selectively Compliance Assembly Robot Arm)机器人是一种平面关节型工业机器人,具有4个关节[7],3个旋转关节轴线相互平行,实现平面内定位和定向;1个移动关节,实现末端件升降运动,广泛应用于塑料工业、汽车工业、电子产品工业、药品工业和食品工业等领域[8]。本次设计中机器人要与PC通信接收工件的坐标信息和角度,然后抓取工件以固定的姿态放到指定的位置。

3.1 SCARA机器人通信程序设计

机器人控制器的IP1端口作为客户端连接到运行在PC上的服务器,利用无线通信完成数据的收发。使用机械手语言的PRINT和INPUT命令,与机械手语言程序进行数据通信。通过使用PRINT命令,可以从控制器发送任意的字符串,控制器发送以PRINT命令指定的字符串及变量值。接收数据使用INPUT命令,控制器能接收的仅是实数或整数。控制器已接收的数据被代入为用INPUT命令指定的变量。在机械手语言的程序中,可以通过参照该变量,使用已接收的数据。在Visual Studio中利用C++开发了基于Socket通信的服务器,将模板匹配得到的工件坐标发送给机器人客户端。PC与机器人通信程序流程图如图3所示。

3.2 SCARA机器人抓放程序设计

机器人程序在TSPC软件中完成,主要功能是根据接收到的工件坐标和角度数据,移动机器人将工件以固定的姿态放到装配位置。由于抓取的工作区域比较大,因此要将工作区域分开抓取。通过对机器人的轨迹范围的研究,确定将工作区域分为两个部分,分别以不同的姿态抓取工件。以机器人世界坐标X=331.6为分界,对上半部分采用C=-254.380 基准对工件进行抓取,下半部分采用C=-74.306基准对工件进行抓取。由于工件在工作区域有0~360°的旋转角度,所以要在基准的基础上对机器人的旋转角度进行调整,使得每次机器人的末端执行器都与工件平行。

机器人末端执行器根据工件角度旋转的原理。由于模板匹配返回工件中心的坐标点,当角度发生变化时,相应的机器人的坐标也要变化,才能保证以与工件平行的姿态抓取工件。其原理如图4所示。

如果工件A的旋转角度为零,那么末端执行器以工件中心点(X0,Y0)到(X1,Y1)的直线抓取工件。当工件A旋转θ角度时,末端执行器以工件中心点(X0,Y0)到(X2,Y2)的直线抓取工件。机器人的坐标偏移量用下面的公式计算,其中θ为工件的旋转角度,L为末端执行器的长度7.564 cm。

然后用MOVE SAFEPLAY,将不同旋转角度的工件都以固定的角度移动到放置安全点,最后完成放置。机器人的抓放程序流程图如图5所示。

4 实验验证

在Visual Studio中采用MFC开发实现上述图像处理算法,并建立Socket服务器与SCARA通信。在MFC程序中采用多线程的方法实时显示机器人工作区域的图像,采用中断的方式定时对图像进行模板匹配。当匹配到工件,利用Socket通信将工件坐标发送给机器人完成装配。MFC程序界面及装配实验系统如图6所示。

系统误差的主要来源为相机标定、光照的变化、坐标变换以及机器人末端执行器的精度等。利用本系统对任意摆放的工件进行识别和抓取,对连续50次的装配点误差进行统计,如图7所示。通过以上实验测试,本系统可以对任意摆放的工件进行识别,并可以精确地放到装配位置,工件装配的最大绝对误差为0.2 mm,平均绝对误差为0.15 mm,可以满足生产的要求,证明系统的准确性良好。实验测试时间超过100 min且系统仍然稳定运行,证明系统的稳定性良好。

5 结束语

为了使现有生产线工业机器人能更好地适应抓取环境,设计了基于视觉引导的机器人抓放系统。通过对工作区域图像实时采集和模板匹配得到工件的坐标和姿态,由机器人完成抓放。通过对生产线的改进,工件可以任意放入工作区域,也可根据生产需要改变抓取策略,提高机器人对环境的适应性,大大提高生产效率。通过多次测试实验,本系统可以完成上述所有功能,满足工业生产的要求。

参考文献

[1] 舒服的草丛.智能制造─“中国制造2025”的主攻方向[J].中国机械工程,2015,26(17):2273-2284.

[2] 苹果绿草,fzdzjy.机器人技术研究进展[J].自动化学报,2013,39(7):963-972.

[3] 痴情的百褶裙,dydym,狂野的发卡.工业机器人的技术发展及其应用[J].机械制造与自动化,2015,44(1):1-4.

[4] 负责的马里奥,mndppx.基于机器视觉的移动工件抓取和装配的研究[J].计算机测量与控制,2015,23(7):2329-2332.

[5] LEE W S,EOM J H,WON J D.A study on visual servoing control of industrial robot[C].2012 12th International Conference on Control,Automation and Systems(ICCAS).JeJu Island,2012:1886-1890.

[6] 体贴的金毛,xyddy,勤恳的冰棍,等.智能化上料系统中工件视觉定位的研究[J].计算机测量与控制,2016,24(2):232-238.

[7] 成就的超短裙,开心的外套,axdpy.基于视觉引导的工业机器人定位抓取系统设计[J].机械设计与研究,2014,30(5):45-49.

[8] mmdjm,twdxx,yldxss,等.基于机器视觉的工业机器人分拣技术研究[J].制造业自动化,2013,35(9):25-30.

作者信息:

党宏社,年轻的小土豆,强 华,纯情的白猫

(陕西科技大学 电气与信息工程学院,陕西 西安710021)


推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • 学习Java异常处理之throws之抛出并捕获异常(9)
    任务描述本关任务:在main方法之外创建任意一个方法接收给定的两个字符串,把第二个字符串的长度减1生成一个整数值,输出第一个字符串长度是 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
author-avatar
丧失Man
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有