简介:这份PDF文档面向工业机器人视觉工程师与自动化集成人员,系统讲解KUKA机器人定位抓取中In-Sight视觉系统的完整设置流程,帮助读者解决相机接入、图像调整、标定转换与数据通信等实际问题。资源包内仅含1个PDF文件,大小约2.77MB,内容以图文步骤形式呈现,便于对照现场设备逐项操作。文档从相机连接与网络配置讲起,依次覆盖光圈焦距调节、棋盘格标定与校准结果关联、抓取基准模型设置、Patmax图案训练与查找,并延伸至PROFINET协议下偏移量输出与程序保存运行,形成从视觉采集到机器人抓取的闭环说明。目前已有1357人学习下载,适合需要快速上手KUKA视觉抓取配置、排查标定精度与通信异常的技术人员参考,也可作为现场调试时的步骤清单使用。
1. 从像素到毫米:KUKA 定位抓取视觉链路到底在做什么
产线上机械臂抓不准,十有八九不是机器人本体的问题,而是视觉这一环没把「像素」翻译成「毫米」。KUKA 机器人定位抓取视觉设置说明.pdf 这份文档,讲的正是这条翻译链路怎么搭起来:用 In-Sight 相机采图,做棋盘格标定,把像素坐标转成实际物理坐标,再用 PatMax 图案匹配算出偏移量,最后通过 PROFINET 把三个偏移量(行、列、角度)发给机器人控制器。整份手册围绕一台康耐视 In-Sight 智能相机和一台 KUKA 机器人展开,覆盖从相机联网、调焦、标定、模型训练到通信输出的完整流程。
它适合两类人:一类是刚接手视觉引导抓取项目、手上只有相机和机器人却不知道从哪下手的现场工程师;另一类是做过九点标定、但对 In-Sight 电子表格这套工具链不熟、想搞清楚 CalibrateGrid 和 CalibrateImage 到底怎么串起来的人。文档本身是操作手册性质,步骤给得细,但原理讲得少,所以下面我会把每一步「为什么这么做」补上,让你不只是照着点,而是知道点错了会出什么事。
2. 相机联网与图像调整:把第一张能用的图拿到手
2.1 网段、IP 与 In-Sight 网络发现逻辑
In-Sight 相机和 PC 的通信走的是标准以太网,能不能在软件里「看到」相机,取决于两者是否在同一网段。判断规则很朴素:IP 地址前三段相同、最后一段不同,就算同网段。比如 PC 是 192.168.3.11,相机是 192.168.3.9,前三段 192.168.3 一致,就能直接发现。如果相机是出厂默认 IP 或者被别人改过,前三段对不上,In-Sight 网络里就找不到它。
这时候要走手动添加流程。右键「In-Sight 传感器」,选「添加传感器/设备」,在左侧点中相机,右侧选「使用下列网络设置」,把相机 IP 前三段和子网掩码改成和 PC 一致。注意子网掩码也要一致,很多人只改 IP 忘了掩码,右侧照样出红色叹号。改完点「应用」,会弹确认框,确定后相机就出现在网络列表里了。
提示:改相机 IP 前先记下原值。现场多台相机时,IP 冲突比找不到相机更难排查。
连接相机就是双击列表里的相机。连上后看右下角状态灯,如果是联机状态,点工具栏的「联机/脱机」图标切到脱机,再点「实时」图标进入实时取图。这一步的顺序不能反——联机状态下很多参数是锁死的,必须先脱机才能改。
2.2 视野、光圈、焦距:三个物理量的取舍
相机高度决定视野范围。文档里给的例子是 18.5×13.875,单位应该是毫米。视野要覆盖产品可能出现的所有位置,还要留一点余量,但也不能太大——视野越大,同样分辨率下每个像素代表的实际尺寸越大,精度越差。这是个直接的取舍:视野和精度成反比。
调图像分两步。第一步调光圈控制亮度。文档明确说没上光源,所以只调光圈;如果用了光源,要先开光源,再同时调光源亮度和光圈。这里有个常见误区:有人觉得光圈越大越亮越好,但光圈太大会导致景深变浅,产品稍微不平就模糊。第二步调焦距,让检测平面最清晰。调完把镜头上的螺丝锁紧,光圈和焦距都不能再动。锁紧这个动作看着小,但不锁的话,产线振动跑几天,焦距漂了,标定全白做。
# 相机网络连通性快速验证(PC 端) ping 192.168.3.9 # 替换为相机实际 IP # 通则说明物理链路和网段没问题,不通先查网线、网段、防火墙这段命令不是文档里的,是我自己每次到现场先跑的。ping 不通就别急着开 In-Sight,先解决网络层,能省很多来回。
3. 标定与坐标关联:像素转毫米的核心两步
3.1 CalibrateGrid:为什么标定板必须和检测面同高
相机输出的坐标是像素值,机器人要的是毫米值,中间需要一个转换关系,这个关系就是标定。标定的本质是建立像素平面和物理平面之间的映射。文档用的是方格图案(带基准)、网格间距 10mm 的棋盘格标定板,平面检测(2D)姿势数选 1,镜头型号选径向。
标定板必须放在和检测面相同的高度,这是整个标定里最容易翻车的地方。因为相机有透视,不同高度对应的像素-毫米比例不一样。如果标定板放在台面上,实际产品比台面高 5mm,那标定出来的比例就是错的,产品越靠视野边缘偏差越大。文档也提到,如果有多种不同高度的产品,每种高度都要单独标定一次。
操作上,In-Sight 切到「电子表格」,在右侧「选择板」里找「坐标变换」—「校准」—「CalibrateGrid」,拖到空单元格。弹出的界面里按标定板和镜头实际情况选参数。然后点左侧「姿势」,点右侧「实况视频」,根据机器人原点及坐标轴方向摆放标定板。在实时图像上单击,软件自动找特征点。右上角显示找到的特征点数大于 30 才能点「校准」。结果分四档:优、良好、合格、差。优和良好直接用;合格在精度要求不高时也能用;差就必须调光源、镜头,重新标。
注意:特征点数不到 30 不要硬标。常见原因是标定板反光、部分遮挡、或者焦距没调好导致边缘模糊。
3.2 CalibrateImage:把标定结果挂到图像上
标定做完只是算出了转换关系,还没跟实际图像关联。这一步用「坐标变换」—「校准」—「CalibrateImage」,拖到空单元格。双击「校准」,选之前放 CalibrateGrid 的那个单元格,确定。做完这一步,图像上所有像素坐标就都能转成实际毫米坐标了。
这两步的关系可以这样理解:CalibrateGrid 是造了一把尺子,CalibrateImage 是把尺子贴到当前这张图上。少了第二步,后面的图案匹配拿到的还是像素值,发给机器人就是错的。
| 标定结果等级 | 处理建议 | 适用场景 |
|---|---|---|
| 优 / 良好 | 直接确定 | 高精度抓取 |
| 合格 | 可确定 | 精度要求不高的定位 |
| 差 | 必须重标 | 任何场景都不建议用 |
4. 图案训练与查找:偏移量是怎么算出来的
4.1 TrainPatmaxPattern:原点拖到哪,机器人就抓哪
标定板取走,相机切实时,把检测物放到抓取标准位置——或者放到视野中心,让机器人试教到这个位置抓一次。在图像上单击拍图,这个位置就是抓取基准位置。之后相机发给机器人的,都是相对于这个基准点的偏移量。
在「选择板」里找「视觉工具」—「图案匹配」—「TrainPatmaxPattern」,拖到空单元格。双击「图像」选之前转换后的图像(文档里是 E2 单元格),双击「图案区域」按产品形状画区域,形状可以调。画完双击返回。然后双击「图案原点」,把原点拖到机器人的抓取点。如果机器人有多个抓取点,原点拖到产品中心。双击返回,点确定,训练完成。
图案原点这个动作是整份文档里最需要想清楚的一步。原点代表机器人 TCP 要去的目标点,你拖到产品中心,机器人就抓中心;拖到某个角,机器人就抓那个角。拖错了,后面偏移量算得再准,抓的位置也是偏的。
4.2 FindPatmaxPatterns:查找数量与接受阈值的设定
查找工具用「视觉工具」—「图案匹配」—「FindPatmaxPatterns」,拖到空单元格。双击「图像」选 E2,双击「查找区域」调整到包含产品可能出现的所有位置,双击「图案」选之前训练的图案(C5)。「查找数量」按每次可能出现的产品数量设,「接受」阈值按不同产品的相似程度和检测要求设,「显示」选「仅结果图形」。确定完成。
查找结果要手动记录一次:双击空单元格,手动输入行、列、角度值。然后把检测得到的数据和手动记录的数据相减,得到偏移量。第一次设置时偏移量是 0,0,0,因为基准就是当前位。
# 偏移量计算逻辑(示意,实际在 In-Sight 电子表格内完成) # 假设基准位置为 (base_row, base_col, base_angle) # 当前查找结果为 (cur_row, cur_col, cur_angle) offset_row = cur_row - base_row # 行方向偏移,单位 mm offset_col = cur_col - base_col # 列方向偏移,单位 mm offset_angle = cur_angle - base_angle # 角度偏移,单位度 # 这三个值就是最终要发给 KUKA 机器人的数据这段逻辑说明的是偏移量的来源。实际在 In-Sight 里是用电子表格公式算的,不是 Python,但计算关系一样。参数含义:行和列对应标定后的实际坐标轴方向,角度是产品在平面内的旋转量。三个值缺一不可,少发一个机器人就可能抓歪。
5. PROFINET 输出与避坑排查
5.1 FormatOutputBuffer 与 WriteProfinetBuffer 的配置顺序
数据要发给 PLC,走 PROFINET 协议。先在工具栏「传感器」—「网络设置」里,把「实时以太网协议」选成 PROFINET,点后面「设置」改相机名称。没接外接设备时以太网协议部分是灰的,这是正常的。
然后在「选择板」里找「输入/输出」—「FormatOutputBuffer」,拖到空单元格。弹窗里点「添加」,把 3 个偏移量加进输出缓冲区,确定。再找「输入/输出」—网络—「WriteProfinetBuffer」,拖到空单元格。双击「缓冲区」,选刚才设好的输出缓冲区(D14),确定。
没接 PROFINET 设备时,「确定」旁边会有红色叹号,电子表格里显示「ERR」。这是预期行为,不是配置错了。接上设备后,原来显示 ERR 的位置会显示输出缓冲区里的数据数量,加了 3 个数据就显示 3。
5.2 现场排查:五条血泪经验
现象一:In-Sight 网络里死活找不到相机。原因:网段不一致,或者子网掩码没改对,也可能是网线接错口。 解决:先 ping 相机 IP,不通就查物理链路和网段;通但软件不显示,检查子网掩码是否和 PC 一致,改完必须点「应用」而不是直接关窗口。
现象二:标定结果总是「差」,重标好几次都一样。原因:标定板没和检测面同高,或者标定板反光导致特征点识别不稳,或者镜头焦距没锁死已经漂了。 解决:拿卡尺量标定板高度和产品高度,确认一致;标定板表面做哑光处理或调整光源角度避开反光;重新调焦并锁紧螺丝后再标。
现象三:标定显示「优」,但机器人抓取位置整体偏一个固定值。原因:图案原点拖的位置和机器人实际 TCP 抓取点不一致。 解决:重新进 TrainPatmaxPattern,把原点精确拖到机器人试教时的抓取点,多个抓取点时拖到产品中心。
现象四:PROFINET 配置完,电子表格一直显示 ERR。原因:没接 PROFINET 设备,或者相机名称和 PLC 组态里的名称对不上。 解决:确认物理连接;核对相机名称,PROFINET 设备名必须和 PLC 硬件组态里完全一致,大小写都算。
现象五:跑了一段时间后精度逐渐变差。原因:镜头光圈或焦距螺丝没锁紧,产线振动导致缓慢漂移;或者光源老化亮度变了。 解决:锁紧镜头所有螺丝;定期用标定板复检,把复检纳入保养计划。
6. 触发模式与程序保存:让相机自己跑起来
最后一步是把相机触发模式设成「网络」,这样 PLC 或机器人发触发信号时相机才采图。双击 A0 单元格,在弹窗里把「触发器」选为网络触发。设完点左上角「保存」,输入程序名存到相机里。到这一步,整套视觉程序才算真正能脱机运行。
我自己的习惯是:每次保存前先把当前电子表格截图存档,程序名带上日期和版本号,比如KUKA_Grab_20240612_v3。因为 In-Sight 的程序一旦覆盖就没法回退,现场调参数调乱了想找回上一版,没有存档就只能重做。另外触发模式改完一定要实际发一次触发信号验证,光看配置界面显示「网络」不算数,我见过配置对了但 PLC 侧信号地址写错、相机根本不采图的情况。
复检标定我一般放在换型或者保养时做,不等到精度出问题才查。拿标定板放回原高度,重新跑一次 CalibrateGrid,看结果等级有没有掉。掉了就说明光路或机械有变化,趁还没批量抓歪先处理。这套流程走顺之后,KUKA 抓取的位置一致性基本能稳在标定精度的量级上。希望帮到你。
本文还有配套的精品资源,点击获取