
康耐视相机操作手册.pdf
17页上海新时达机器人有限公司上海新时达机器人有限公司 康耐视康耐视相机操作使用说明书相机操作使用说明书 文件状态: ■草稿 □修改 □定稿 文档密级 □不保密■内部□机密 项目名称 版本号 1.0 描述 康耐视相机操作使用说明书 编写人 余国鹰 编写日期 2015/9/10 审核人 审核日期 上海新时达机器人有限公司上海新时达机器人有限公司 目录目录 一、一、 康耐视康耐视相机具体设置相机具体设置 3 1.1 软件安装 . 错误错误!未定义书签未定义书签 1.2 流程编辑 3 1.3 CODESYS通信注意事项 . 6 二、二、 相机标定相机标定 7 2.1 相机校准 7 2.2 绝对坐标实现 9 2.3 相对坐标实现 10 三、三、 示教器示例程序示教器示例程序 11 3.1 绝对坐标实现范例 11 3.2 相对坐标实现范例 11 四、四、 CODESYS 逻辑开发逻辑开发 13 4.1 SOCKET通信开发 . 13 4.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 所示 图 1.1 3. 双击相机设备(红色椭圆内设备图标) ,进入相机编辑界面,如下图 1.2 所示 图 1.2 上海新时达机器人有限公司上海新时达机器人有限公司 4. 在应用程序步骤中,开始、设置工具、配置结果、完成这 4 个步骤形成一个完整的相机操 作流程; 开始 单击“开始”中“已连接” ,如下图 1.3 所示,可以进行连接设备、断开设备、刷 新、添加等操作 图 1.3 单击“开始”中的“设置图像” ,如下图 1.4 所示 在“采集/加载图像”对话框中, “触发器”按钮是进行拍照, “实况视频”按钮是实时显示相 机中的图像, “从 PC 加载图像”按钮是加载一张存在的图像 图 1.4 在“编辑采集设置”对话框中,设置一系列相机参数,根据具体需要进行调节 设置工具 单击“设置工具”中“定位部件”按钮,对检测模型进行定位,作为识别的 模型进行对比;单击“设置工具”中“检测部件”按钮,对模型进行编辑操作。
在“定位部件”的设置对话框中,如下图 1.5 所示,合格阀值:每次拍照之后的得分如果 大于阀值,则拍照成功,否则失败;旋转公差:检测部件能够旋转的角度范围,如果在 范围之类则会拍照成功,否则会失败 康耐视相机操作康耐视相机操作使用说明书使用说明书 图 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 上海新时达机器人有限公司上海新时达机器人有限公司 图 1.7 图 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.1 2.打印校准网格纸张在图 2.2 中,单击“打印网格”按钮,然后将打印的网格纸张放在 相机视野正中间 3.在“设置”界面中, “网格类型”为方格图案(带基准) ,其它值均为默认 4.单击“姿势” ,进入姿势设置界面,如图 2.3 所示,原点位置为默认,单击“触发器” 按钮, 相机会自动拍照,最后单击“校准” ,校准工作就结束 5.单击“结果” ,可以查看校准情况,如图 2.4 所示 上海新时达机器人有限公司上海新时达机器人有限公司 图 2.2 图 2.3 康耐视相机操作康耐视相机操作使用说明书使用说明书 图 2.4 6.建立检测模型单击“定位部件” ,出现如图 2.5 所示界面,单击“位置工具”中“图 案” ,然后单击“添加” ,单击“OK” ,接着单击界面右下角“模型” ,拖动绿色模型矩形框, 使被检测模型处于绿色矩形框中,最后单击界面右下角“训练” ,此时检测模型已经建立。
图 2.5 7.查看模型建立是否成功在界面右侧选择板中,可以查看建立图案的情况,绿色圆点表 示模型建立成功,同时会输出检测模型的位置、角度、得分,如图 2.6 所示 图 2.6 通过以上7步即可完成相机的校准过程 2.2 绝对坐标实现 绝对坐标的实现必须借助机器人的用户坐标系,即机器人在用户坐标系下走绝对位置运 动具体实现由以下几个步骤组成 首先,用step机器人三点法示教出一个固定用户坐标系用户坐标系的原点根据实际情 况而定,一般选择流水线上一个固定位置参考点,该参考点要方便相机进行坐标转化标定 关于用户坐标系的标定,可参见新时达机器人操作使用说明书; 其次,进行相机坐标与实际位置坐标的标定转换在完成第一步中的固定用户坐标系标 定后,在该坐标系下选取工件上的三点,计算出这三点在用户坐标系的X、Y值(该步骤可通 过机器人协助示教获得在用户坐标系下的位姿值)在图像输入的“校准”模块中,按照2.1 中的步骤完成相机坐标与实际位置坐标的校准参数制作转换; 最后,机器人实现绝对位置运动在完成第二步后,工件每偏移一点,相机均可计算出 其在用户坐标系下新的位置值X、Y和绕Z轴的theta角度值。
这样,只需要在示教器程序中设 上海新时达机器人有限公司上海新时达机器人有限公司 置抓取运动点参考的坐标系为用户坐标系即可,即RefSys语句下走绝对cpe点该cpe点是 codesys里直接读取的相机返回值 2.3 相对坐标实现 相对坐标的实现就比较简单,只需要将相机坐标转换为实际位置坐标即可在工件上选 取三个特征点,用带尖机器人示教出这三点在机器人基坐标系下的坐标值(主要是X和Y) 按照2.1中的校准流程制作出校准参数这样,工件偏移后,相机可以直接计算出其新的坐标 X、Y和theta 需要注意的是,使用相对坐标运动时,相机输出数据必须是相对量,即测量坐标与基准 坐标之差,而不是绝对测量坐标具体信息见后续章节 康耐视相机操作康耐视相机操作使用说明书使用说明书 三、三、 示教器示例程序示教器示例程序 3.1 绝对坐标实现范例 Tool(tool0);//若带工具,则先加载好 PTP(ap0); //走到一个安全位置点 Lin(cp3);//走到标准抓取位置(工件处于标准位置时机器人的抓取位姿,提前示教好) RefSys(ref1);//切到用户坐标系下 WaitTime(uint3); BOOLEXTSet(boolbasepos,TRUE);//端口号为2,发送信号到codesys,读取当前位置作为标准 抓取位置 WaitTime(uint4); BOOLEXTSet(boolbasepos,FALSE);//关闭该端口 /////以上为获得标准抓取位置需要的步骤 RefSys(WORLD); PTP(ap0); LP:int0; BOOLEXTSet(boolphoto,TRUE); //发送相机拍照命令,端口号0 WaitTime(uint0); //等待PLC处理时间,建议在300ms以上 bool0:=BOOLEXTRead(boolenableget); //读取抓取标志位,为TRUE则能抓取 BOOLEXTSet(boolphoto,FALSE); //关闭该端口,保证下次为高电平触发 IF(bool0=0)THEN //为true则可抓取,否则重新发送拍照命令 WaitTi。
