Cognex康耐视相机操作使用说明书

  • 格式:docx
  • 大小:46.63 KB
  • 文档页数:10

下载文档原格式

  / 10
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、相机标定
要实现将相机采集的数据转换为机器人坐标系下的位姿数据,必须建立相机坐标系与机器人坐标系的对应转换关系,该过程通过相机标定来实现。
相机也分平面相机和三维相机,前者只支持平面数据采集,后者则可以获取xyz空间值。以三维相机为例,要详细建立相机三维空间的位置与机器人坐标系的对应关系,必须通过严格的手眼标定来实现。不同相机有手眼标定算法,通过示教多个点来建立手眼转换关系。这里不详述。
2.1相机校准7
2.2绝对坐标实现9
2.3相对坐标实现10
三、示教器示例程序11
3.1绝对坐标实现范例11
3.2相对坐标实现范例11
四、Codesys逻辑开发13
4.1Socket通信开发13
4.2外部点数据处理14
五、细节说明17
一、康耐视相机具体设置
1.1软件安装
双击康耐视相机软件Cognex_In-Sight_Software_4.8.1,按照步骤一步步安装即可。
5.单击“结果”,可以查看校准情况,如图2.4所示。
图2.2
图2.3
图2.4
6.建立检测模型。单击“定位部件”,出现如图2.5所示界面,单击“位置工具”中“图案”,然后单击“添加”,单击“OK”,接着单击界面右下角“模型”,拖动绿色模型矩形框,使被检测模型处于绿色矩形框中,最后单击界面右下角“训练”,此时检测模型已经建立。
bool0:=BOOLEXTRead(boolenableget);//读取抓取标志位,为TRUE则能抓取
BOOLEXTSet(boolphoto,FALSE);//关闭该端口,保证下次为高电平触发
IF(bool0=0)THEN//为true则可抓取,否则重新发送拍照命令
WaitTime(uint1);
设置工具单击“设置工具”中“定位部件”按钮,对检测模型进行定位,作为识别的模型进行对比;单击“设置工具”中“检测部件”按钮,对模型进行编辑操作。
在“定位部件”的设置对话框中,如下图1.5所示,合格阀值:每次拍照之后的得分如果大于阀值,则拍照成功,否则失败;旋转公差:检测部件能够旋转的角度范围,如果在范围之类则会拍照成功,否则会失败
单击“格式化输出字符串”,进行输出操作,如下图1.8所示。勾选“使用分隔符”,表示在输出之间用逗号分隔符进行隔开,方便进行数据处理操作;单击“添加”按钮,可以输出很多数据,这里只需要输出4个数据,“失败”、“定位器.X”、“定位器.Y”、“定位器.角度”;
输出数据说明:均为7个字节宽度,除图案.失败是整形外,其它数据均为浮点型,小数点位数为2位。
e)在下载工程成功时,查看通讯是否连接正常。当client_congnex任务中的step_cognex:=2和server_cognex中的step_server:=2时,此时通讯成功,否则通讯不正常,需要查看设备是否连接好和In-Sight软件是否处于联机状态。
f)详细指令及其他形式的通信可参考文档《通信设定sdnb-cn5-714d_fh_fz5》。
图2.1
2.打印校准网格纸张。在图2.2中,单击“打印网格”按钮,然后将打印的网格纸张放在相机视野正中间。
3.在“设置”界面中,“网格类型”为方格图案(带基准),其它值均为默认。
4.单击“姿势”,进入姿势设置界面,如图2.3所示,原点位置为默认,单击“触发器”按钮,相机会自动拍照,最后单击“校准”,校准工作就结束。
1.2流程编辑
1.设置电脑本地连接IPV4地址为(设置为39段即可)。
2.双击康耐视In-Sight浏览器软件进入相机设置界面,软件会自动搜索连接的相机设备,如下图1.1所示。
图1.1
3.双击相机设备(红色椭圆内设备图标),进入相机编辑界面,如下图1.2所示。
图1.2
4.在应用程序步骤中,开始、设置工具、配置结果、完成这4个步骤形成一个完整的相机操作流程;
1)第一位图案.失败:判定符,为0表示采集到特征,拍照成功;为1则拍照失败。
2)第二位图案.定位器.X:输出用户坐标系下的X方向绝对值。
3)第三位图案.定位器.Y:输出用户坐标系下的Y方向绝对值。
4)第四位图案.定位器.角度:输出用户坐标系下的相对角度。
图1.6
图1.7
图1.8
完成在“完成”中单击“保存作业”,则保存当前作业任务中的所有设置;在“完
成”中单击“运行作业”,则运行当前作业任务。
注意,以上参数设定必须在脱机模式下才能够设置,在联机状态下参数不能设置,与外界设备实时通讯必须在联机模式下;物体旋转一定角度拍照失败,看检测部件是否超过相机视野范围和旋转角度值设置是否合理。
1.3Codesys通信注意事项
a)说明:设定PC端的IP地址,IP地址必须,这里设定为2,用网线与相机控制器相连;
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码);
WaitTime(uint1);
GOTO(int0);
END_IF
Lin(rcpe1);//走到codesys里输出的绝对位置(外部点形式,该位置是机器人当前位置加上相对偏移,端口号1)
BOOLEXTSet(boolfinishget,TRUE);//发送抓取完成标志
WaitTime(uint2);
相对坐标的实现就比较简单,只需要将相机坐标转换为实际位置坐标即可。在工件上选取三个特征点,用带尖机器人示教出这三点在机器人基坐标系下的坐标值(主要是X和Y)。按照2.1中的校准流程制作出校准参数。这样,工件偏移后,相机可以直接计算出其新的坐标X、Y和theta。
需要注意的是,使用相对坐标运动时,相机输出数据必须是相对量,即测量坐标与基准坐标之差,而不是绝对测量坐标。具体信息见后续章节。
康耐视相机操作使用说明书
文件状态:
■草稿
□修改
□定稿
文档密级
□不保密■内部□机密
项目名称
版本号
1.0
描述
康耐视相机操作使用说明书
编写人
余国鹰
编写日期
2015/9/10
审核人
审核日期
一、康耐视相机具体设置3
1.1软件安装错误!未定义书签。
1.2流程编辑3
1.3Codesys通信注意事项6
二、相机标定7
最后,机器人实现绝对位置运动。在完成第二步后,工件每偏移一点,相机均可计算出其在用户坐标系下新的位置值X、Y和绕Z轴的theta角度值。这样,只需要在示教器程序中设置抓取运动点参考的坐标系为用户坐标系即可,即ቤተ መጻሕፍቲ ባይዱefSys语句下走绝对cpe点。该cpe点是codesys里直接读取的相机返回值。
1.6相对坐标实现
图1.5
配置结果单击“配置结果”中“通信”按钮,进行通讯设置操作,如下图1.6所示。新时达机器人视觉通信采用的TCP/IP通讯方式,单击“TCP/IP”,如下图1.7所示,在“TCP/IP设置”对话框中,“服务器主机名”设为(机器人控制器IP地址),“端口”设置与CodeSys中相同,本例中设为9876,“超时时间”设为15000,“结束符”设为字符串(CR13)。
三、示教器示例程序
1.7绝对坐标实现范例
Tool(tool0);//若带工具,则先加载好
PTP(ap0);//走到一个安全位置点
Lin(cp3);//走到标准抓取位置(工件处于标准位置时机器人的抓取位姿,提前示教好)
RefSys(ref1);//切到用户坐标系下
WaitTime(uint3);
BOOLEXTSet(boolbasepos,TRUE);//端口号为2,发送信号到codesys,读取当前位置作为标准抓取位置
开始单击“开始”中“已连接”,如下图1.3所示,可以进行连接设备、断开设备、刷新、添加等操作。
图1.3
单击“开始”中的“设置图像”,如下图1.4所示。
在“采集/加载图像”对话框中,“触发器”按钮是进行拍照,“实况视频”按钮是实时显示相机中的图像,“从PC加载图像”按钮是加载一张存在的图像。
图1.4
在“编辑采集设置”对话框中,设置一系列相机参数,根据具体需要进行调节
图2.5
7.查看模型建立是否成功。在界面右侧选择板中,可以查看建立图案的情况,绿色圆点表示模型建立成功,同时会输出检测模型的位置、角度、得分,如图2.6所示。
图2.6
通过以上7步即可完成相机的校准过程。
1.5绝对坐标实现
绝对坐标的实现必须借助机器人的用户坐标系,即机器人在用户坐标系下走绝对位置运动。具体实现由以下几个步骤组成。
GOTO(int0);
END_IF
RefSys(ref1);//切到用户坐标系下
Lin(rcpe0);//走到codesys里输出的绝对位置(外部点形式,端口号0)BOOLEXTSet(boolfinishget,TRUE);//发送抓取完成标志
WaitTime(uint2);
BOOLEXTSet(boolfinishget,FALSE);//关闭抓取完成标志
PTP(ap1);
GOTO(int1);//回到循环开始,等待下一个工件
1.8相对坐标实现范例
Tool(tool0);//若带工具,则先加载好
PTP(ap0);//走到一个安全位置点
Lin(cp3);//走到标准抓取位置(工件处于标准位置时机器人的抓取位姿,提前示教好)
WaitTime(uint3);
1.4相机校准
相机默认输出的坐标值是相机采集到的像素值,并非实际工件位置尺寸,因此需要将物理坐标与像素值进行映射标定。设定校准后,可使测量结果像素值转换为实际尺寸并输出,康耐视提供了校准参数的制作过程。
1.单击“设置图像“,界面右下角出现下图2.1所示界面。校准类型中有很多种,根据实际需要选择,这里选择“网格”,然后单击“校准”按钮,出现下图2.2所示界面。
WaitTime(uint4);
BOOLEXTSet(boolbasepos,FALSE);//关闭该端口
/////以上为获得标准抓取位置需要的步骤
RefSys(WORLD);
PTP(ap0);
LP:int0;
BOOLEXTSet(boolphoto,TRUE);//发送相机拍照命令,端口号0
WaitTime(uint0);//等待PLC处理时间,建议在300ms以上
BOOLEXTSet(boolbasepos,TRUE);//端口号为2,读取当前位置作为标准抓取位置
WaitTime(uint4);
BOOLEXTSet(boolbasepos,FALSE);//关闭该端口
/////以上为获得标准抓取位置需要的步骤
PTP(ap0);//回到安全点
LP:int0;
BOOLEXTSet(boolphoto,TRUE);//发送相机拍照命令,端口号0
WaitTime(uint0);//等待PLC处理时间,建议在300ms以上
bool0:=BOOLEXTRead(boolenableget);//读取抓取标志位,为TRUE则能抓取
BOOLEXTSet(boolphoto,FALSE);//关闭该端口,保证下次为高电平触发
IF(bool0=0)THEN//为true则可抓取,否则重新发送拍照命令
如果只做平面工件抓取,那只需要工件变化的坐标值x、y以及绕z轴的转动角度c,问题就简单的多,只需要进行平面的简单标定即可实现。以康耐视相机为例,格力等客户只需要实现流水线来料的抓取操作,标定平面坐标系即可,康耐视相机可以提供移动后的工件相对于移动前的偏移位置量,或者提供工件的绝对移动位置。这里,我们提供这两种工作方式的实现过程。
首先,用step机器人三点法示教出一个固定用户坐标系。用户坐标系的原点根据实际情况而定,一般选择流水线上一个固定位置参考点,该参考点要方便相机进行坐标转化标定。关于用户坐标系的标定,可参见新时达机器人操作使用说明书;
其次,进行相机坐标与实际位置坐标的标定转换。在完成第一步中的固定用户坐标系标定后,在该坐标系下选取工件上的三点,计算出这三点在用户坐标系的X、Y值(该步骤可通过机器人协助示教获得在用户坐标系下的位姿值)。在图像输入的“校准”模块中,按照2.1中的步骤完成相机坐标与实际位置坐标的校准参数制作转换;