1、引言
Epson调试软件带有视觉处理功能选件“Vision Guide”,其分为PV1及CV2两种。可通过VRun指令来运行一个视觉序列,VGet指令来获取所运行视觉序列的结果或属性。
Epson机器人也可通过标配的以太网接口,依照Socket(TCP/IP)通讯,配合除“Vision Guide”以外的第三方视觉完成视觉引导装配、检测或者其它与视觉相关的动作。此时,机器人通常做为客户端运行,上位机(第三方视觉、工控机或者PLC)则做为服务器。两者的区别如下图:
Epson机器人编程支持无协议通讯,用户可以自由规定所通讯数据的格式和内容。与上位机通讯时,需事先商议好通讯数据的格式。机器人程序按照设定好的分隔符来拆分接收到的字符串,获取所需的通讯数据,即为如下形式:
2、关键指令说明
以下为第三方视觉应用中所能使用的指令简单说明,详细说明请参阅“SPEL+ 语言参考”。
1)VxCalib
用于在Vision Guide以外的第三方视觉应用中,生成校准数据。
固定向下:
VxCalib 1, 2,P(11:19), P(1:9)
固定向上:
VxCalib 1, 3,P(11:19), P(1:9)
第2轴移动相机:
VxCalib 1, 4,P(11:19), P(1:9), P0
第4轴移动相机:
VxCalib 1, 5,P(11:19), P(1:9), P0
第5轴移动相机:
VxCalib 1, 6,P(11:19), P(1:9), P0
第6轴移动相机:
VxCalib 1,7,P(11:19), P(1:9), P0
2)VxCalLoad
用于加载生成的校准数据。
VxCalLoad "MobileJ2.caa"
3)VxCalSave
用于保存生成的校准数据。
VxCalSave "MobileJ2.caa"
4)VxCalDelete
用于删除生成的校准数据。
VxCaldelet "MobileJ2.caa"
5)VxCalInfo
用于返回生成校准数据的结果。
6)VxTrans
用于转换接收到的第三方视觉的坐标,生成机器人实际运动坐标。
3、标定(校准)由第三方视觉完成的情况
通常为了避免调试时不确定性,建议Epson机器人配合使用第三方视觉时,标定由第三方视觉完成。
1)使用方法
机器人接收实际的坐标数值,完成相应的引导动作。此种情况下机器人侧的程序相对比较简单,只需要做一些数据的拆分处理即可。
2)参考程序
4、标定(校准)由机器人完成
当所用第三方视觉只能给出像素坐标,或者不能完成机器人标定工作。标定的工作只能由机器人来完成,该种情况通常在使用一些视觉传感器、低端系列的智能相机或者第三方视觉的标定算法误差较大时发生。
1)使用方法
Epson机器人自带第三方视觉标定算法,使用时相对较为复杂,程序的编写也具有一定的难度。所以在第三方视觉可以完成标定算法的前提下,是不推荐在Epson机器人这侧做标定的。
2)准备工作
①在软件命令运行窗口使用Motor On及Pulse指令,或者再机器人管理器→控制面板→电机“MOTOR ON”→回起始位,确认机器人的原点位置是否正确。如不正确,请重新调整原点,或检查机器人与控制器的序列号是否配套。
②按照事先预估的相机视野范围大小,打印如下样式的九宫格标定纸。其不一定要是等距离的九宫格,但是方向一定要是“上左→上中→上右→中右→中中→中左→下左→下中→下右”。
通常相机像素的长宽比为4:3,所以再绘制标定纸时边界大小可按照4:3的比例绘制。标定纸的大小应当尽量撑满整个相机视野范围,并且保证在机器人的运动范围内。打印时尽量选用打印较为清晰的打印机,打印的纸张需较为平整。
③将上一步打印出来的标定纸,尽量与实际工作面放在一个垂直高度上。检查相机安装是否稳固,调整相机镜头的光圈与焦距,光源的亮度,使得标定纸上的内容在相机视野内清晰可见,特征点明显,图像无噪点。
④制作机器人工具坐标校准工具,其一般为在机器人的末端工具上安装一个尖针,以便于对准标定纸上的特征点位置。如下图为参考样式:
3)相机的安装方式
①独立相机:相机的坐标与机器人无关,由于机器人不需要动作,故以下不对该安装方式做说明。
②固定安装:分为固定向下和固定向上两种方式,该安装方式相机无法移动,拍摄范围相对较小。通常视觉拍照处理与机器人运动可以并行运行,故此安装方式的节拍时间相对较小。
③移动安装:分为J2、J4、J5、J6四种,相机跟随机器人运动,可以获得一个相对较大的拍摄范围。相机拍照前,机器人一般需要一定的静止时间来停稳不晃动,以此来使得相机的图像清晰不模糊。故此安装方式相对节拍时间较长,精度也相对较差(因为机器人本身具有定位精度,移动相机的整体精度叠加了机器人的定位精度)。
4)标定步骤
相机安装方式的不同,标定的步骤及方式也不同,具体如下:
4.1)固定向下相机
①准备九宫格标定纸,并在机器人末端安装校准工具。
②以末端工具来示教工具坐标Tool n。
③按照九宫图的顺序,在Tooln下,使得机器人末端工具依次对准9个位置,并保存点位置(如保持到P1-P9)中。
④移开机器人,相机拍照识别九宫图上的9个点的像素坐标,同样按照九宫图顺序,将其像素坐标的X、Y依次保存到点位置(如P11-P19)中。
⑤使用如下指令生成校准文件,并保存该校准文件。
VxCalib 1,2,P(11:19),P(1:9)
4.2)固定向上相机
①机器人可以在相机视野中移动,不需要九宫图标定纸。
②在机器人末端工具上找一个相机容易识别的、***的特征点,建议是圆形、圆孔,或者机器人末端工具抓取需要识别的工件,在工件上找特征。
③使用机器人管理器中的工具向导,根据提示,在相机视野中,示教工具坐标Tool 。
④按照九宫格的顺序,依次将特征点移动到相机视野中相应的位置,共移动9次,并在Tool n下保存机器人位置到P1-P9。同时视觉依次抓取9个特征点的中心像素值,记录为P11-P19
⑤使用如下指令生成校准文件,并保存该校准文件。
VxCalib 1,3,P(11:19),P(1:9)
4.3)移动相机
①在机器人末端安装校准工具,并在相机视野内,找一个视觉容易识别且***的特征点。
②以末端工具来示教工具坐标Tool n。
③将治具末端对准特征点,在Tool n下保存该位置为P0
④在Tool 0下,将相机移动到特征点上方,让特征点按照九宫图顺序运动,并记录每个位置的机器人坐标为P1-P9。
⑤以上每走一个位置时,相机抓取该特征点的中心像素值,依次记录到P11-P19。
⑥使用如下指令生成校准文件,并保存该校准文件。
VxCalib 1,4,P(11:19),P(1:9),P0 ------J2安装相机
VxCalib 1,5,P(11:19),P(1:9),P0 ------J4安装相机
VxCalib 1,6,P(11:19),P(1:9),P0 ------J5安装相机
VxCalib 1,7,P(11:19),P(1:9),P0 ------J6安装相机
5)参考程序
①校准程序
②运行程序
5、结论
1)关于校准结果
使用VxCalInfo返回校准结果时,请务必保持下图中数值尽可能小的,其越小代表校准出来的精度越高。
当某一个或者多个数值过高时,请重复标定流程。一般造成造成误差过大***可能的原因为,像素坐标输入错误,或者校准工具未对好特征点中心。
2)关于标定程序
标定程序通常该程序,只需要运行一遍。在机器人正常运行时,只要机器人的安装位置,相机的安装位置、镜头和光源,或者与之相关的结构件未做改动时,无需再次运行。
3)关于服务器和客户端
机器人与上位机在做通讯时,尽量不要使得机器人做服务器,这样做会相当占用机器人内部运行的资源。
当机器人作为服务器,上位机作为客户端时。重启机器人程序,上位机对应的通讯程序通常也
需要重新启动。若是机器人程序正常运行,上位机程序重启,则机器人程序并不需要重新启动。
当机器人作为客户端,上位机作为服务器时。重启机器人程序,上位机对应的通讯程序不需要重亲启动。若是机器人程序正常运行,上位机程序重启,则机器人可以写程序自动重新连接。
4)使用交换机或者路由器
当使用具有交换机功能的网络设备时,工控机、PLC、机器人或者相机等设备需要插在交换机的普通接口上,不可插在级联接口上。
当使用具有路由器功能的网络设备时,路由器未特殊配置成交换机模式。当遇到机器人做客户端,工控机或者PLC做服务器无法建立通讯连接,但是单独与TCP调试助手测试可以连接时,可尝试将工控机或者PLC的网线插到路由器的WAN口,机器人、相机等接口LAN口。
更多资讯:爱普生机器人
爱普生机器人新闻