康耐视相机操作使用说明书文档密级□不保密■内部□机密文件状态:项目名称版本号1.0■草稿□修改□定稿描述康耐视相机操作使用说明书编写人余国鹰编写日期2015/9/10审核人审核日期目录一、 康耐视相机具体设置 31.1 软件安装 错误!未定义书签1.2 流程编辑 31.3 CODESYS 通信注意事项 6二、 相机标定 72.1 相机校准 72.2 绝对坐标实现 92.3 相对坐标实现 10三、 示教器示例程序 113.1 绝对坐标实现范例 113.2 相对坐标实现范例 11四、 CODESYS逻辑开发 134.1 SOCKET 通信开发 134.2 外部点数据处理 14五、 细节说明 17一、康耐视相机具体设置1.1 软件安装双击康耐视相机软件Cognex_In-Sight_Software_4.8.1,按照步骤一步步安装即可1.2 流程编辑1. 设置电脑本地连接IPV4地址为192.168.39.12 (设置为39段即可)2. 双击康耐视 In-Sight 浏览器软件进入相机设置界面,软件会自动搜索连接的相机设备,如 下图 1.1 所示。
l:n-Sight 浏览器-sdmin文件⑥骗辑⑥背看皿系绩①窗口址)帮助⑪L寻 Lil* 电 ISxIn-Sieht 冋貉曰-豐In-S i 儘感器.J JLHN-FCi…”P lotos图1.13. 双击相机设备(红色椭圆内设备图标),进入相机编辑界面,如下图1 . 2所示图1.24. 在应用程序步骤中,开始、设置工具、配置结果、完成这4 个步骤形成一个完整的相机操作流程;> 开始 单击“开始”中“已连接”如下图1.3所示,可以进行连接设备、断开设备、刷新、添加等操作图 1.3单击“开始”中的“设置图像”,如下图 1.4 所示在“采集/加载图像”对话框中,“触发器”按钮是进行拍照,“实况视频”按钮是实时显示相机中的图像,“从PC加载图像”按钮是加载一张存在的图像最长幌齐时诃 目标蔑度 开始行行埶光媳控制模式 光源控制相机 +唯50. 000 :曝光区域40. 000 :9T. 000 :0 :1200 :Expo sure Con审Hone 仃焦点反域触岌器触岌器延时(毫秒)触岌器间隔(毫秒)自动逞光图 1.4在“编辑采集设置”对话框中,设置一系列相机参数,根据具体需要进行调节> 设置工具 单击“设置工具”中“定位部件”按钮,对检测模型进行定位,作为识别的 模型进行对比;单击“设置工具”中“检测部件”按钮,对模型进行编辑操作。
在“定位部件”的设置对话框中,如下图1.5所示,合格阀值:每次拍照之后的得分如果 大于阀值,则拍照成功,否则失败;旋转公差:检测部件能够旋转的角度范围,如果在 范围之类则会拍照成功,否则会失败卜榕國值施转公差180 :缩锁处差水平偏移Q.00Q ;垂直偏移0.ooo :模型类型边欖型 +超时5000 :结果(-27. 0; -45. B) -54. 1?得分图 1.5配置结果 单击“配置结果”中“通信”按钮,进行通讯设置操作,如下图1.6 所示 新时达机器人视觉通信采用的TCP/IP通讯方式,单击“TCP/IP”,如下图1.7所示,在“TCP/IP设置”对话框中,“服务器主机名”设为192.168.39.220(机器人控制器IP地址), “端口”设置与CodeSys中相同,本例中设为9876, “超时时间”设为15000, “结束符” 设为字符串(CR13)单击“格式化输出字符串”,进行输出操作,如下图1.8所示勾选“使用分隔符”,表示 在输出之间用逗号分隔符进行隔开,方便进行数据处理操作;单击“添加”按钮,可以 输出很多数据,这里只需要输出4个数据,“失败”、“定位器.X”、“定位器.Y”、“定位器. 角度”;输出数据说明:均为7个字节宽度,除图案.失败是整形外,其它数据均为浮点型,小数 点位数为 2 位。
1) 第一位图案.失败:判定符,为0表示采集到特征,拍照成功;为1 则拍照失败2) 第二位图案•定位器.X:输出用户坐标系下的X方向绝对值3) 第三位图案•定位器.Y:输出用户坐标系下的Y方向绝对值4) 第四位图案.定位器.角度:输出用户坐标系下的相对角度图 1.6上海新时达机器人有限公司电 i-fyu - FomifitString图 1.7开头文志匚E1也U持签V1 固走 JS.HS小Si血■n.-L:=N'I.^-I::图 1.8完成 在“完成”中单击“保存作业”,则保存当前作业任务中的所有设置;在“完 成”中单击“运行作业”,则运行当前作业任务 注意,以上参数设定必须在脱机模式下才能够设置,在联机状态下参数不能设置,与外 界设备实时通讯必须在联机模式下;物体旋转一定角度拍照失败,看检测部件是否超过相机 视野范围和旋转角度值设置是否合理1.3 Codesys 通信注意事项a) 说明:设定PC端的IP地址,IP地址必须192.168.39.XXX,这里设定为192.168.39.12, 用网线与相机控制器相连;b) 通信流程包括:建立TCPIP的服务器端并连接,给相机发送指令,从相机接收数据;c) 图1.7中如果把“字段分隔符”改为“停止”,则两个数据之间就是无分隔符的直接 连接;如果选择其他,则有相应的分隔符号;d) 例:采用“消零”为“有”“字段分隔符”为“停止”的方式时,相机发送数据“-001.00” 和“1010.02”时,实际上发送了“45 48 48 49 46 48 48 49 48 49 48 46 48 50 13” (13 是回车符的 ASIIC 码);e) 在下载工程成功时,查看通讯是否连接正常。
当 client_congnex 任务中的 step_cognex:=2 和 server_cognex 中的 step_server: =2 时,此时通讯成功,否则通讯 不正常,需要查看设备是否连接好和In-Sight软件是否处于联机状态f) 详细指令及其他形式的通信可参考文档《通信设定sdnb-cn5-714d_fh_fz5》二、相机标定要实现将相机采集的数据转换为机器人坐标系下的位姿数据,必须建立相机坐标系与机 器人坐标系的对应转换关系,该过程通过相机标定来实现相机也分平面相机和三维相机,前者只支持平面数据采集,后者则可以获取xyz空间值 以三维相机为例,要详细建立相机三维空间的位置与机器人坐标系的对应关系,必须通过严 格的手眼标定来实现不同相机有手眼标定算法,通过示教多个点来建立手眼转换关系这 里不详述如果只做平面工件抓取,那只需要工件变化的坐标值x、y以及绕z轴的转动角度c,问 题就简单的多,只需要进行平面的简单标定即可实现以康耐视相机为例,格力等客户只需 要实现流水线来料的抓取操作,标定平面坐标系即可,康耐视相机可以提供移动后的工件相 对于移动前的偏移位置量,或者提供工件的绝对移动位置。
这里,我们提供这两种工作方式 的实现过程2.1 相机校准相机默认输出的坐标值是相机采集到的像素值,并非实际工件位置尺寸,因此需要将物 理坐标与像素值进行映射标定设定校准后,可使测量结果像素值转换为实际尺寸并输出, 康耐视提供了校准参数的制作过程1.单击“设置图像“,界面右下角出现下图2.1 所示界面校准类型中有很多种,根据实际需要选择,这里选择“网格”,然后单击“校准”按钮,出现下图2.2 所示界面图 2.12. 打印校准网格纸张在图2.2 中,单击“打印网格”按钮,然后将打印的网格纸张放在 相机视野正中间3. 在“设置”界面中,“网格类型”为方格图案(带基准),其它值均为默认4. 单击“姿势”,进入姿势设置界面,如图 2.3 所示,原点位置为默认,单击“触发器” 按钮, 相机会自动拍照,最后单击“校准”,校准工作就结束5. 单击“结果”,可以查看校准情况,如图2.4 所示图 2.2£ rtyu • Calihrizrbe
单击“定位部件”,出现如图 2.5 所示界面,单击“位置工具”中“图 案”,然后单击“添加”,单击“OK”接着单击界面右下角“模型”,拖动绿色模型矩形框, 使被检测模型处于绿色矩形框中,最后单击界面右下角“训练”,此时检测模型已经建立图 2.57.查看模型建立是否成功在界面右侧选择板中,可以查看建立图案的情况,绿色圆点表示模型建立成功,同时会输出检测模型的位置、角度、得分,如图2.6所示图 2.6通过以上7步即可完成相机的校准过程2.2 绝对坐标实现绝对坐标的实现必须借助机器人的用户坐标系,即机器人在用户坐标系下走绝对位置运 动具体实现由以下几个步骤组成首先,用st ep机器人三点法示教出一个固定用户坐标系用户坐标系的原点根据实际情 况而定,一般选择流水线上一个固定位置参考点,该参考点要方便相机进行坐标转化标定 关于用户坐标系的标定,可参见新时达机器人操作使用说明书;其次,进行相机坐标与实际位置坐标的标定转换在完成第一步中的固定用户坐标系标 定后,在该坐标系下选取工件上的三点,计算出这三点在用户坐标系的X、Y值(该步骤可通 过机器人协助示教获得在用户坐标系下的位姿值)在图像输入的“校准”模块中,按照2.1 中的步骤完成相机坐标与实际位置坐标的校准参数制作转换;最后,机器人实现绝对位置运动。
在完成第二步后,工件每偏移一点,相机均可计算出 其在用户坐标系下新的位置值X、Y和绕Z轴的theta角度值这样,只需要在示教器程序中设置抓取运动点参考的坐标系为用户坐标系即可,即RefSys语句下走绝对cpe点该cpe点是codesys里直接读取的相机返回值2.3 相对坐标实现相对坐标的实现就比较简单,只需要将相机坐标转换为实际位置坐标即可在工件上选 取三个特征点,用带尖机器人示教出这三点在机器人基坐标系下的坐标值(主要是X和Y) 按照2.1中的校准流程制作出校准参数这样,工件偏移后,相机可以直接计算出其新的坐标 X、 Y和theta需要注意的是,使用相对坐标运动时,相机输出数据必须是相对量,即测量坐标与基准 坐标之差,而不是绝对测量坐标具体信息见后续章节三、示教器示例程序3.1 绝对坐标实现范例Tool( toolO);//若带。