EPSON四轴机械手视觉校准方法_第1页
EPSON四轴机械手视觉校准方法_第2页
EPSON四轴机械手视觉校准方法_第3页
EPSON四轴机械手视觉校准方法_第4页
EPSON四轴机械手视觉校准方法_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EPSON四轴机械手视觉校准方法视觉校准步骤(视觉校准视觉点位时要选择默认模式)向上相机视觉校准步骤1)向上相机TOOL设定①将MARK贴到吸嘴上,调整机械手姿态,使相机与拍照面垂直(尽量让机械手抬高一点,MARK尽量贴到吸嘴中间),固定好相机、光源及镜头,调整相机焦距及光源镜头使图像尽可能清晰,将光源,镜头及相机光圈锁死,记下当前机械手高度,正常工作时要让机械手在此高度下拍照。②单击“工具”→“机器人管理器”→工具或单击工具栏“”图标后,选择“工具”页面。如下图示③在“工具”画面,单击“工具向导”,进入工具向导画面,选择工具编号选择对应工具编号,如下图所示:④单击“下一个”进入下图画面⑤单击“示教”进入下图画面,移动X、Y使MARK出现在视野中央,在屏幕上标记当前MARK位置,确保U=0,Z保持不变⑥对准MARK后单击“示教”,进入如下画面⑦单击“示教”进入如下画面,使U=180,Z保持不变,然后移动X、Y,使MARK点再次回到之前标记的位置⑧对准MARK点后单击示教,进入如下画面,单击“完成”。2)TOOL测试1、打开机器人管理界面,如下图所示,设置为刚刚示教的工具编号,在屏幕上标记MARK点所在位置,旋转U,看MARK位置是否移动,如果MARK移动较大说明tool示教失败需要重新示教设置为刚刚示教的工具编号模式选着为默认模式设置为刚刚示教的工具编号模式选着为默认模式3)九宫格九点示教①、单击“工具”→“机器人管理器”→“步进示教”或单击工具栏图标后,选择“步进示教”页面。设置如下图所示:设置为刚刚设定的向上相机tool点文件选择,选择向上相机校准点文件设置为刚刚设定的向上相机tool点文件选择,选择向上相机校准点文件显示方式选择世界坐标模式选着为默认模式②移动机械手到焦距高度,然后移动机械手,使MARK依次出现在视野的左上,中上,右上,右中,中间,左中,左下,中下,右下。如下图所示:③将机器人的九个点依次存到向上校准点文件的P11到P19,并记下各点对应的像素值,然后将像素值依次填到点文件cal_up_camera.pts的P1到P9(注意机器人点位要按顺序依次保存,机器人坐标跟像素坐标要一一对应,单击保存,如下图所示:④先将控制器模式切换到“PC模式”,单击“运行”,再单击“运行窗口”或在工具栏单击“”图标,打开运行窗口,选择向上相机校准函数,单击“开始”。如下图所示,如果校准成功将显示校准结果4)测试向上相机校准是否成功①移动机械手,移动到固定向上相机焦距高度,移动X、Y使MARK移到视野中间,用固定向上相机获取一个MARK中心坐标,并在屏幕上做好标记,然后打开向上相机测试函数,然后将像素坐标填到表达式“ ②打开“运行窗口”,选择向上相机测试函数函数,单击“开始”。③然后回到“步进示教画面”,设置tool为向上相机计算得到的tool,然后旋转U轴,看MARK中心是否移动,如果中心偏差很大,说明校准失败,需要重新示教“九宫格”九点,然后再重复上续步骤。移动向下相机视觉校准步骤1)向下相机针尖tool设定①将针尖固定好,MARK贴到要示教的平面上固定好相机、光源及镜头,调整相机焦距及光源镜头使图像尽可能清晰,将光源,镜头及相机光圈锁死,记下当前机械手高度,正常工作时要让机械手在此高度下拍照。②单击“工具”→“机器人管理器”→工具或单击工具栏“”图标后,选择“工具”页面。如下图示③在“工具”画面单击“工具向导”,进入工具向导画面,选择移动向下工具编号,如下图所示:④单击“下一个”进入下图画面⑤单击“示教”进入下图画面,移动X、Y使针尖对准MARK,确保U=0,Z保持不变⑥对准MARK后单击示教,进入如下画面⑦单击“示教”进入如下画面,使U=180,Z保持不变,然后移动X、Y,使针尖再次对准MARK⑧对准MARK点后单击示教,进入如下画面,单击“完成”。2)移动向下相机TOOL测试打开步进示教画面,如下图所示,设置为移动向下相机tool(与之前示教的针尖tool保持一致),先将针尖对准MARK点所在位置,旋转U,看针尖是否偏离MARK位置,如果针尖偏移很大说明tool示教失败需要重新示教。设置为移动向下相机tool设置为移动向下相机tool模式选着为默认模式模式选着为默认模式3)九宫格九点示教①、单击“工具”→“机器人管理器”→“步进示教”或单击工具栏图标后,选择“步进示教”页面。设置如下图所示:点文件选择,选择移动相机视觉校准点文件显示方式选择世界坐标模式选择为默认模式设置为点文件选择,选择移动相机视觉校准点文件显示方式选择世界坐标模式选择为默认模式设置为移动向下相机tool②示教参考点,将针尖对准MARK,然后将该点保持到P0点(一定要在之前示教的针尖TOOL下保存P0参考点)③将TOOL切回TOOL0,然后再示教九宫格九点(移动向下相机九宫格九点一定要在TOOL0下示教)如下图所示点文件选择,选择移动向下相机点文件显示方式选择世界坐标模式选着为默认模式点文件选择,选择移动向下相机点文件显示方式选择世界坐标模式选着为默认模式设置为TOOL0③移动机械手到焦距高度,然后移动机械手,使MARK依次出现在视野的左上,中上,右上,右中,中间,左中,左下,中下,右下。如下图所示:④将机器人的九个点依次存到移动向下相机点文件的P11到P19,并记下各点对应的像素值,然后将像素值依次填到移动向下相机点文件的P1到P9(注意机器人点位要依次按顺序保存,机器人坐标跟像素坐标要一一对应,单击保存,如下图所示:⑤先将控制器模式切换到“PC模式”,单击“运行”,再单击“运行窗口”或在工具栏单击“”图标,打开运行窗口,选择移动向下相机视觉校准函数函数,然后单击“开始”。如果校准成功将显示校准结果4)测试移动向下相机校准是否成功①调整机械手姿势,使机械手高度调到焦距高度,移动机械手使MARK移动到视野中间,用移动向下相机获取MARK中心像素坐标,然后打开移动向下相机测试函数,然后将像素坐标填到相应表达式,将TOOL改为我们设定的针尖的TOOL如下图所示:②打开“运行窗口”,选择打开移动向下相机测试函数,设置功率为低功率(功率一定要设为低功率),然后将速度比例调低一点,单击“开始”,运行窗口将显示计算得到的中心坐标,确保中心坐标无误后,单击“继续”(注意看机械手动作,如有异常即按下急停开关”),如下图所示:选择移动向下相机测试选择移动向下相机测试函数设置功率为低功率设置功率为低功率(测试时一定要选择低功率)将速度比例调低一点将速度比例调低一点③打开步进“示教画面”,将Z轴慢慢往下移动,看针尖是否与MARK中心重合,如果重合说明校准成功,如果不重合说明校准失败,重新示教参考点及九宫格9点固定向下相机校准步骤1)按照移动向下相机校准步骤的第一步示教工具坐标2)按照移动向下相机校准步骤的第二步测试工具坐标3)九宫格九点示教①、单击“工具”→“机器人管理器”→“步进示教”或单击工具栏图标后,选择“步进示教”页面。设置如下图所示:点文件选择,选择固定向下相机视觉校准点文件显示方式选择世界坐标模式选择为默认模式设置为点文件选择,选择固定向下相机视觉校准点文件显示方式选择世界坐标模式选择为默认模式设置为固定向下相机tool②将TOOL设置为固定向下相机TOOL,然后再示教九宫格九点(移动向下相机九宫格九点一定要在固定向下相机TOOL下示教)如下图所示设置为固定向下相机TOOL点文件选择,选择固定向下相机点文件设置为固定向下相机TOOL点文件选择,选择固定向下相机点文件显示方式选择世界坐标模式选着为默认模式③移动机械手到焦距高度,然后移动机械手,使MARK依次出现在视野的左上,中上,右上,右中,中间,左中,左下,中下,右下。如下图所示:④将机器人的九个点依次存到固定向下相机点文件的P11到P19,并记下各点对应的像素值,然后将像素值依次填到固定向下相机点文件的P1到P9(注意机器人点位要依次按顺序保存,机器人坐标跟像素坐标要一一对应,单击保存,如下图所示:⑤先将控制器模式切换到“PC模式”,单击“运行”,再单击“运行窗口”或在工具栏单击“”图标,打开运行窗口,选择固定向下相机视觉校准函数函数,然后单击“开始”。如果校准成功将显示校准结果4)测试固定向下相机校准是否成功①调整机械手姿势,使机械手高度调到焦距高度,移动机械手使MARK移动到视野中间,用移动向下相机获取MARK中心像素坐标,然后打开固定向下相机测试函数,然后将像素坐标填到相应表达式,将TOOL改为我们设定的针尖的TOOL如下图所示:②打开“运行窗口”,选择打开固定向下相机测试函数,设置功率为低功率(功率一定要设为低功率),然后将速度比例调低一点,单击“开始”,运行窗口将显示计算得到的中心坐标,确保中心坐标无误后,单击“继续”(注意看机械手动作,如有异常即按下急停开关”),如下图所示:选择固定向下相机测试选择固定向下相机测试函数设置功率为低功率设置功率为低功率(测试时一定要选择低功率)将速度比例调低一点将速度比例调低一点③打开步进“示教画面”,将Z轴慢慢往下移动,看针尖是否与MARK中心重合,如果重合说明校准成功,如果不重合说明校准失败,重新示教参考点及九宫格9点4、将相机校准好后,生成一个校准文件固定向上相机、移动向下相机及固定向下相机校准完成并测试OK后,打开“运行窗口”,选择视觉校准函数,单击“开始”即将多个相机生成一个校准文件,如下图所示:相机校准函数示例固定向上相机校准函数示例Functioncal_camera_up Stringtoks$(10),data$ Integeri,CCD_NGOK Realu0 Reset MotorOn PowerLow Speed10 Accel20,20 SpeedS100 AccelS1000,1000 LimZ-15 'xiangshangxiangjijiaozhundianwenjian LoadPoints"cal_camera_up.pts" Print"cammeracalistart" OpenNet#201AsClient WaitNet#201 'Pause Print"collectok" Tool1 Fori=1To9 JumpP(i+10)+U(u0)/RLimZ-5 u0=u0+5 Wait1 Print#201,"B" Wait0.5 Input#201,data$ Printdata$ ParseStrdata$,toks$(),";" CCD_NGOK=Val(toks$(5)) IfCCD_NGOK=1Then P(i)=XY(Val(toks$(1)),Val(toks$(2)),0,0) Print"P(",10+i,")",P(i) Else Print"cameraerror" Pause EndIf Next SavePoints"cal_camera_up.pts" VxCalib1,3,P(1:9),P(11:19) IfVxCalInfo(1,1)=TrueThen Print"UPcameracalibOk" Print" Xaverageoffset[mm]:",VxCalInfo(1,2) Print" Xmaxoffset[mm]:",VxCalInfo(1,3) Print" Xmeixiangsuduiyingduoshaomm(mm):",VxCalInfo(1,4) Print" Xqingxieanger(deg):",VxCalInfo(1,5) Print" Yaverageoffset[mm]:",VxCalInfo(1,6) Print" Ymaxoffset[mm]:",VxCalInfo(1,7) Print" Ymeixiangsuduiyingduoshaomm(mm):",VxCalInfo(1,8) Print" Yqingxieanger(deg):",VxCalInfo(1,9) Else Print"UPcameracalibNG!" EndIf IfVxCalInfo(1,1)=TrueThenVxCalSave"cal_camera.caa"Fend移动向下相机校准函数示例Functioncal_camera_down1 Stringtoks$(10),data$ Integeri,CCD_NGOK Reset MotorOn PowerLow Speed10 Accel20,20 SpeedS100 AccelS1000,1000 LimZ-15 'yidongxiangxiaxiangji1jiaozhundianwenjian LoadPoints"cal_camera_down1.pts" Print"cammeracalistart" OpenNet#201AsClient WaitNet#201 Print"collectok" Tool0 Fori=1To9 JumpP(i+10)/RLimZ-15 Wait1 Print#201,"A" Print"sendok" Wait0.5 Input#201,data$ ParseStrdata$,toks$(),";" CCD_NGOK=Val(toks$(5)) IfCCD_NGOK=1Then P(i)=XY(Val(toks$(1)),Val(toks$(2)),0,0) Print"P(",i,")",P(i) Else Print"cameraerror" Pause EndIf Next SavePoints"cal_camera_down1.pts" VxCalib2,4,P(1:9),P(11:19),P0 IfVxCalInfo(2,1)=TrueThen Print"yidongxiangxiaxiangji1cameracalibOk" Print" Xaverageoffset[mm]:",VxCalInfo(2,2) Print" Xmaxoffset[mm]:",VxCalInfo(2,3) Print" Xmeixiangsuduiyingduoshaomm(mm):",VxCalInfo(2,4) Print" Xqingxieanger(deg):",VxCalInfo(2,5) Print" Yaverageoffset[mm]:",VxCalInfo(2,6) Print" Ymaxoffset[mm]:",VxCalInfo(2,7) Print" Ymeixiangsuduiyingduoshaomm(mm):",VxCalInfo(2,8) Print" Yqingxieanger(deg):",VxCalInfo(2,9) Else Print"yidongxiangxiaxiangji1cameracalibNG!" EndIf IfVxCalInfo(2,1)=TrueThenVxCalSave"cal_camera.caa"Fend固定向下相机校准函数示例Functioncal_camera_down5 Stringtoks$(10),data$ Integeri,CCD_NGOK Reset MotorOn PowerLow Speed10 Accel20,20 SpeedS100 AccelS1000,1000 LimZ-15 'gudingxiangxiaxiangjijiaozhundianwenjian LoadPoints"cal_camera_down5.pts" Print"cammeracalistart" OpenNet#201AsClient WaitNet#201 Print"collectok" Tool3 Fori=1To9 'JumpP(i+10)/LLimZ-15 Wait1 Print#201,"A" Wait0.5 Input#201,data$ ParseStrdata$,toks$(),";" CCD_NGOK=Val(toks$(5)) IfCCD_NGOK=1Then P(i)=XY(Val(toks$(1)),Val(toks$(2)),0,0)/R Print"P(",i,")",P(i) Else Print"cameraerror" Pause EndIf Next SavePoints"cal_camera_down5.pts" VxCalib6,2,P(1:9),P(11:19) IfVxCalInfo(6,1)=TrueThen Print"gudingxiangxiacameracalibOk" Print" Xaverageoffset[mm]:",VxCalInfo(6,2) Print" Xmaxoffset[mm]:",VxCalInfo(6,3) Print" Xmeixiangsuduiyingduoshaomm(mm):",VxCalInfo(6,4) Print" Xqingxieanger(deg):",VxCalInfo(6,5) Print" Yaverageoffset[mm]:",VxCalInfo(6,6) Print" Ymaxoffset[mm]:",VxCalInfo(6,7) Print" Ymeixiangsuduiyingduoshaomm(mm):",VxCalInfo(6,8) Print" Yqingxieanger(deg):",VxCalInfo(6,9) Else Print"gudingxiangxiacameracalibNG!" EndIf IfVxCalInfo(6,1)=TrueThen VxCalSave"cal_camera.caa" Print"saveok" Else Pause EndIfFend将多个相机校准生成一个校准文件示例Functioncal_camera'shangzaixiangshangxiangjijiaozhundianwenjian'Callcal_camera_down1'Callcal_camera_down2'Callcal_camera_down3'Callcal_camera_down4'Callcal_camera_down5'Callcal_camera_up 'yidongxiangxiaxiangji1jiaozhundianwenjian LoadPoints"cal_camera_down1.pts" VxCalib2,4,P(1:9),P(11:19),P0 IfVxCalInfo(2,1)=TrueThen Print"yidongxiangxiaxiangji1cameracalibOk" Print" Xaverageoffset[mm]:",VxCalInfo(2,2) Print" Xmaxoffset[mm]:",VxCalInfo(2,3) Print" Xmeixiangsuduiyingduoshaomm(mm):",VxCalInfo(2,4) Print" Xqingxieanger(deg):",VxCalInfo(2,5) Print" Yaverageoffset[mm]:",VxCalInfo(2,6) Print" Ymaxoffset[mm]:",VxCalInfo(2,7) Print" Ymeixiangsuduiyingduoshaomm(mm):",VxCalInfo(2,8) Print" Yqingxieanger(deg):",VxCalInfo(2,9) Else Print"yidongxiangxiaxiangji1cameracalibNG!" EndIf 'yidongxiangxiaxiangji2jiaozhundianwenjian LoadPoints"cal_camera_down2.pts" VxCalib3,4,P(1:9),P(11:19),P0 IfVxCalInfo(3,1)=TrueThen Print"yidongxiangxiaxiangji2cameracalibOk" Print" Xaverageoffset[mm]:",VxCalInfo(3,2) Print" Xmaxoffset[mm]:",VxCalInfo(3,3) Print" Xmeixiangsuduiyingduoshaomm(mm):",VxCalInfo(3,4) Print" Xqingxieanger(deg):",VxCalInfo(3,5) Print" Yaverageoffset[mm]:",VxCalInfo(3,6) Print" Ymaxoffset[mm]:",VxCalInfo(3,7) Print" Ymeixiangsuduiyingduoshaomm(mm):",VxCalInfo(3,8) Print" Yqingxieanger(deg):",VxCalInfo(3,9) Else Print"yidongxiangxiaxiangji2cameracalibNG!" EndIf 'yidongxiangji3jiaozhundianwenjian LoadPoints"cal_camera_down3.pts" VxCalib4,4,P(1:9),P(11:19),P0 IfVxCalInfo(4,1)=TrueThen Print"yidongxiangxiaxiangji3cameracalibOk" Print" Xaverageoffset[mm]:",VxCalInfo(4,2) Print" Xmaxoffset[mm]:",VxCalInfo(4,3) Print" Xmeixiangsuduiyingduoshaomm(mm):",VxCalInfo(4,4) Print" Xqingxieanger(deg):",VxCalInfo(4,5) Print" Yaverageoffset[mm]:",VxCalInfo(4,6) Print" Ymaxoffset[mm]:",VxCalInfo(4,7) Print" Ymeixiangsuduiyingduoshaomm(mm):",VxCalInfo(4,8) Print" Yqingxieanger(deg):",VxCalInfo(4,9) Else Print"yidongxiangxiaxiangji3cameracalibNG!" EndIf 'yidongxiangxiaxiangji4jiaozhundianwenjian LoadPoints"cal_camera_down4.pts" VxCalib5,4,P(1:9),P(11:19),P0 IfVxCalInfo(5,1)=TrueThen Print"yidongxiangxiaxiangji4cameracalibOk" Print" Xaverageoffset[mm]:",VxCalInfo(5,2) Print" Xmaxoffset[mm]:",VxCalInfo(5,3) Print" Xmeixiangsuduiyingduoshaomm(mm):",VxCalInfo(5,4) Print" Xqingxieanger(deg):",VxCalInfo(5,5) Print" Yaverageoffset[mm]:",VxCalInfo(5,6) Print" Ymaxoffset[mm]:",VxCalInfo(5,7) Print" Ymeixiangsuduiyingduoshaomm(mm):",VxCalInfo(5,8) Print" Yqingxieanger(deg):",VxCalInfo(5,9) Else Print"yidongxiangxiaxiangji4cameracalibNG!" EndIf 'gudingxiangxiaxiangjijiaozhundianwenjian LoadPoints"cal_camera_down5.pts" VxCalib6,2,P(1:9),P(11:19) IfVxCalInfo(6,1)=TrueThen Print"gudingxiangxiacameracalibOk" Print" Xaverageoffset[mm]:",VxCalInfo(6,2) Print" Xmaxoffset[mm]:",Vx

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论