- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
建立TCPIP通信,从视觉系统获取可使用的像素坐标字符串,一般机器人控制器作为客户端client,而视觉系统作为server。
涉及指令【OpenNet WaitNet LineInput Print # Parsestr Val】
Function TCPIP
OpenNet #201 As Client
WaitNet #201
LineInput #201……
Parsestr…………..
FEND
确定相机的安装位置,此处以相机安装在#4 joint为例子,此时吸嘴也不在原来的Tool0中心,所以此时需要确立新的两个坐标系,此中最必要的是确立吸嘴的工具坐标系Tool1,在机器人控制中的工具坐标系向导进行示教保存,这是前期必要的准备工作。
有了以上步骤作为辅助后,根据Epson视觉标定的需求,具体见VxClib函数,需要9个机器人坐标系下的点,总而言之就是,在新建的Tool1下示教9个点,且获取这九个点下的像素坐标,这样的就可以生成具体的视觉标定caa文件了
涉及指令【VxClib LoadPoints SavePoints VxCalSav VxCalInfo】
利用上面生成的标定caa文件就可以进行之后的操作了,标定文件是之后坐标转换的基准,也就是说,像素坐标对应的机器人坐标均由此产生。
涉及指令【VxCalLoad VxTrans XY CX CY CZ CU CV CW】
5、基于以上步骤,要注意实际运行时工具的选用,以免造成工具坐标系的不匹配而位置错误
6、关机触发拍照,最好使用视觉系统触发,这样的话配合内部存储IO指令MemOn.MemOff指令即可形成循环的逻辑判断,知道相机的进程,以及对拍照失败等情况做出反应
7、其他需要注意的地方是程序的容错性,不能中途进行不下去就一直等待或者没有别的相应操作,全局变量和局部变量的使用
该项目中相机固定在机器人的4#轴上,为移动相机,利用相机拍照识别托盘中的工件
放在一固定的模具内,每次放置为角度位置确保一致
Global String pixel_string$;
Global String rec_string$(10);
Global Real data_x, data_y, data_u;
Integer camara_id;
Function main
Call intialization
Call TCPIP
Call creat_calib_data
Call point_trans
Call working
Fend
初始化
Function intialization
If Motor = Off Then
Motor On
EndIf
SpeedS 500; AccelS 1000, 1000
Home; Reset;
Power High; Speed 60; Accel 60, 60
SpeedS 500; AccelS 1000, 1000
Fend
[点位的对应关系,计算出来的是否足够准确]
创建标定数据caa0.caa,准备好标定需要的像素坐标,机械坐标各9个点,[参考点的使用与否]
Function creat_calib_data
Integer i, j, k;
Real info(10);
LoadPoints robot1.pts
Pallet 1, robot_cal1, robot_cal3, robot_cal7, robot_cal9, 3, 3
生成9个机器人坐标点P20-P28,4.6换顺序
For i = 1 To 9
P(i + 19) = Pallet(1, i)
Next i
P13 = Pallet(1, 6)
P15 = Pallet(1, 4)
SavePoints robot1.pts
基于刚才生成的9个机器人坐标点,拍照9次,获取对应点的像素坐标P10-P18
For j = 20 To 28
Go P(j)
On light1, 0.4; On camara1, 0.2 执行拍照
Call parsestr_str 拍完照后进行解析
P(j - 10) = XY(data_x, data_y, 0, data_u)
Print P(j-10), P(j - 10)
Next j
SavePoints robot1.pts
开始生成标定数据
vxcalib 0[1-15标定数据ID号],5[安装方式:mobile on joint#4],P[指定的像素坐标xy only],P[指定的机器人坐标],P[参考点,也不一定要]
VxCalib 0, 5, P(10
文档评论(0)