2019-07-31 18:59:56
在尺寸测量设备的验收条件中有两条MSA的条款:(1)GRR≤10%(2)线性和偏倚≤3%勇哥下面引用一些资料对于编倚做一下扫盲说明:==============================================分析偏倚首先要看数据呈正态分布,其次要看偏倚值是否落在95%的置信区间范围内。线性%分析结果可以视公司内部界定的特性重要等级来看,目前我们定义的是:a. 对测量重要特性的测量系...
2019-07-31 08:40:06
下面是勇哥实操机器人时接触到的一些零碎知识点,记录下来以备查。通电联机的方式新机器人上电后,连接好网线,需要自己设置机器人的连接IP,然后点击连接。这个面板,不会自动搜索已经连接好网线的机器人。控制机器人的四种方式在配置参数中的四个选项:pc:指的是执行机器人内写的程序,可以远程I/O:指的是用机器人的IO端触发机器人内定的程序远程以太网:指的是用网络远程指令的方式控制机器人。远程RS232同上面...
2019-07-27 07:52:17
在win7 64位系统下安装vs2013有时候会被要求先安装ie10及以上版本,这个让人比较痛苦。各位可以创建一个扩展名为.bat的文件(即操作系统的批处理文件),写入下面的内容,最后运行这个批处理文件即可。@ECHO OFF
:IE10HACK
REG ADD "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer&q...
2019-07-26 21:08:25
这款尺寸机配置如下,配置的是远心镜头,远心平行光源,相机是2500万。再调试中,遇到了一系列的问题,下面勇哥记录分析解决的过程。(1) 过渡像素太多的问题、过渡像素越少越好。如果过渡像素多,则CCD在反复拍照时会出现测量结果变化较大的问题。如下图所示,本机CCD的图像过滤像素是2个,属于比较好的效果。这得益于本机的灯光与相机的配置较高的原因。由于本机的镜头是定焦镜头,所以没有调节焦距的旋扭可以调节...
2019-07-25 15:56:36
基恩士H028,H025是红色点激光,使用两个头配合可以实现测量被测物的厚度。一般情况下,我们是把上头与下头值分别用outo1,outo2两个通道输出,然后在上位机上面读取并进行处理。但是如果想把上头值直接加上下头值,再输出是如何做到的呢?首先,创建一个out3,然后把outo2, outo3分别设置为传感头为: 传感头01,传感头02然后再设置outo1,选择“out之间的计算”,这时候,你发现...
2019-07-25 13:24:58
1. 仿射变换类型 仿射变换有:平移、旋转、缩放、斜切(就是将斜体字导正)。2. 求稳定的特征点 要进行仿射变换,必须先获取变换矩阵。要获取变换矩阵,必须先获取特征点坐标、角度等信息,几何匹配和bolb是获取特征点的高效方法,除此之外还有其它方法,只要能稳定的求出特征点即可。 3.仿射变换流程 (1.)获取特征点坐标、角度 (2.)计算仿射变换矩阵 (3.)对图像、区域...
2019-07-25 11:08:17
以前在使用算子OpenFramegrabbe连接相机时,一般是这样的:open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', 'default', 0, -1, Acq...
2019-07-24 22:02:43
形态模板的定义与查找是工业视觉里最基本的常用操作。下面勇哥提供一个例子。下图是定义形态模板,并且显示模板轮廓。换一张不同姿式的图片,查找模板,并显示模板轮廓、ROI、中心点。dev_set_draw ('margin')
dev_set_color('green')
dev_close_window()
dev_open_window(0, 0, 512, 3...
2019-07-23 22:38:05
angle_lx( : : Row1, Column1, Row2, Column2 : Angle) 函数作用:计算线与水平轴间的夹角逆时针旋转向量到水平轴的角度即为结果值,该结果取决于两个点的顺序,用弧度表示,范围为[-pi, pi]上一段代码:ange_lx(Row_1, Col_1, Row_2, Col_2, Angle)
****************************...
2019-07-23 20:10:40
写在前面由于涉及到公司的一些内容,本文仅做方法和思路记录,请见谅。用途9点法标定是工业上使用广泛的二维手眼标定,所谓二维,即工作平面限制在一个平面上,常用于从固定平面抓取对象进行装配等操作,这种应用场景可以满足大多数的工业应用场景。使用过程和一般的手眼标定一样的是,9点法标定也分eye_in_hand和eye_to_hand两种,标定的结果分别是相机坐标系与工具坐标系的转换矩阵(4*4),以及相机...
2019-07-23 20:01:58
最近在学习手眼标定,做下笔记,和大家分享下学习经历:一 手眼标定的两种情形首先讲一下在工业应用中,手和眼(摄像机)的两种位置关系,第一种是将摄像机(眼)固定在机械手(手)上面,眼随手移动;第二种是摄像机(眼)和机械手(手)分离,眼的位置相对于手是固定的,下面用网上的两张图来说明下:第一种情况:相机移动第二种情况:相机固定从上面两副示意图可以看出,第一种情况中我们要求的是相机坐标系和机械手坐标系的转...
2019-07-23 19:54:12
手眼标定涉及的坐标系有:工件坐标系工具坐标系相机坐标系(相机坐标系里又有图像坐标系和像素坐标系,这其实就是前面讲的单目标定的内容)基坐标系手眼标定一般有两种形式:1、相机固定(eye-to-hand)我们需要的最终结果,即得到base 与 cam 的空间位置关系,即一个4*4的变换矩阵。这个可以通过移动tool带着标定板移动到相机下方不同位置角度,由相机多次拍摄标定板来计算得到。有些相机虽然固定在...
2019-07-23 19:50:02
关于机器人视觉的手眼标定的原理,勇哥先放上一些教程资源:工业现场相机坐标系和机械手坐标系的标定halcon之手眼标定基本原理手眼标定的两种方式手眼标定之9点法众所周知,目前机器视觉项目,很大一部分都是引导机器人去取料 放料等工作。 这个里面就有个非常重要的工作要做。就是将相机的坐标系 映射到机器人坐标系里面,这样才可以实现视觉配合机器人动作。 通常这种标定使用有多点标定法(俗称九宫格标定法)可以...
2019-07-22 22:04:39
单例模式主要处理两个问题: 全局访问与实例化控制单例模式采用private构造函数,让该类不能外部new, 并且提供static方法 GetInstance()方法返回唯一实例.采用lock机制可以避免在多线程环境下可能产品多个实例.下面是勇哥编写的一个例子:工具箱1Form和代码using System;
using System.Collections.Generic;
using Sys...
2019-07-20 15:09:23
(一)先拍再抓和先抓再拍的区别先拍再抓要简单得多,拍照后,视觉给机器人纠偏位置,然后下去吸,这样能保证每次取料位置一致。放料的时候不用管,只用走一个固定的示教点即可。先抓再拍则因为每次吸起电芯时,吸嘴在电池上的位置不同,电池相对吸嘴的角度也不同,因此在放料那边需要做一些复杂运算才可以保证放料位置保证一致。(二)先拍再抓的流程流程分为3个部分:(1)首先取得模板电芯的特征点信息,示教载盘上放料位置点...
2019-07-19 13:13:54
SPC即统计过程控制(Statistical Process Control)。SPC主要是指应用编译分析技术对生产过程进行实时监控,科学的区分出生产过程中产品质量的随机波动与异常波动,从而对生产过程的异常趋势提出预警,以便生产管理人员及时采取措施,消除异常,恢复过程的稳定,从而达到提高和控制质量的目的。在测量设备的软件中,经常客户的品质部门会要求设备增加SPC的相关监控工具。 计算公式举例:过程...
2019-07-18 21:42:31
通过本例程巩固了对剖面灰度值的描述,并进行测量,算子使用同“halcon例程学习笔记(2)”。此例程进一步学习了halcon中的基本函数的使用方法:subset 求取一个数组的子集find 查找相应条件的值的位置索引数组的错位减法的使用。其它基本图像处理基本算子,可以查阅halcon使用手册,详细了解。例程代码如下:dev_update_off ()
dev_close_window (...
2019-07-18 21:38:36
本例程来做halcon10.0版本中的一维函数中check_smd_tilt.hdev例程,通过此例程可以学习到如何使用halcon中算子measure_projection通过投影图像上垂直于剖面线方向的灰度值来提取1D灰度剖面,如下是对此算子的详细理解:更多关于测量的算子理解,可以参考北京大恒宣讲的PPT halcon测量技术。下面例程是检测SMDS是否与近水平或者相对相机是否倾斜。分析图像...
2019-07-18 21:29:33
其为分析液体中的成分,得出区域中的平均灰度和面积;在液体二值图像中有几个亮斑,需要提前去除;液体成分中灰度变化不明显,直接采用全局阈值处理效果不佳;读取鼠标按键数值,并选择区域。threshold (Image, Large, 110, 255)
* Dilate regions with a circular structuring element
dilation_circle (Larg...
2019-07-18 11:45:52
“机器人管理器”为灰色,如下图:其原因是你要先打开一个工程,才可以使用“机器人管理器”。这个是该软件一个莫妙其妙的地方。因为这个问题有时候会忘记,在这里留个记录吧。--------------------- 作者:hackpig来源:www.skcircle.com版权声明:本文为博主原创文章,转载请附上博文链接!...
2019-07-17 17:16:17
这个例程的目的是使用算子来找出结构不规则的原则,其中涉及到一些算子:crop_rectangle1:从图像中截取矩形图像
gauss_filter:高斯滤波
watersheds:图像分水岭算法
smallest_rectangle1:平行于坐标轴的最小外接矩形Part Ⅰ 初始化程序dev_update_off ()
dev_close_window ()
dev_set_draw...
2019-07-17 17:11:30
1、一维条码一维条码:由一组规则排列的条、空以及对应的字符组成的标记,“条”指对光线反射率较低的部分,“空”指对光线反射率较高的部分,这些条和空组成的数据表达一定的信息,并能够用特定的设备识读,转换成与计算机兼容的二进制和十进制信息。 一维条码的码制: EAN码、39码、交叉25码、UPC码、128码、93码,ISBN码,及Codabar(库德巴码)等。 EAN 码:是国际通用的符号体系,是...
2019-07-17 16:55:23
要检查电芯表面是否有条码,可以知道电芯是否放反面了,起到视觉防呆的作用。勇哥能想到的思路是:一维,二维码识别,能识别则为有码面。框选区域,算子intensity计算区域灰度值的平均值或者方差,以此来判断是否为有码面。下面的程序两种方法都用到,把代码做个记录,供大家参考。其结果可以看到,完美的情况下,两种方法都可以。但其实还是有问题的,比如如果电池表面贴了膜,那么因为反光的原因,两种方法都有可能会误...
2019-07-17 15:11:28
带团队很简单,迈过3道坎,走到第7关,你就成功了一半。我做10几年的团队管理,带了不少于30位新晋管理者,发现从「执行思维」到「管理思维」的转变是新晋管理者必须攻克的关卡。文章比较长,根据10几年经验的积累和实战总结,一个字一个字敲打上去的。为了便于大家阅读,我放了个思维导图,每个部分都可以写成一篇长文,加入具体执行建议,后续会继续写,希望大家支持。可以关注 @韩大叔 ,看后续的高质量内容。在这...
2019-07-16 20:36:25
这个问题是这样的,勇哥希望把另一个程序的一个form或者自定义控件复制到现有的工程中去。最笨的方法是创建空白form,然后把要复制的form上的内容粘贴过来,然后把相应代码也粘贴过来。最蠢的人都知道直接把这个form的三个文件复制过来就可以了,三个文件即是Designer.cs /.cs /.resx下图所示是: Form1.cs, Form1.Designer.cs, Form1.resx但是...
2019-07-16 09:59:09
勇哥的公司现在大量采用三菱FX5U的PLC。据说这款产品在8轴的产品里价格有竞争力,而且还内带一个以太网口。三菱PLC的内存读写可以采用前辈写的HSL模块,但是需要在PLC端做一些设置,否则连接不上。设置如下图所示,其中分配了两个端口号,4999,6000。也就是说这款产品可以指定多个网络端口号,以供外部设备与其网络通讯。在上位机这边,我们以tcp client来访问即可,即PLC是一个tcp s...
2019-07-16 08:09:02
什么是电芯的直流内阻?下面两篇文章各位可以参考一下:关于电池的内阻知道这几点就够了?IT8511+表测试电芯的直流内阻下面是IT8511表的测试指令,也可以使用字节流指令。MEAS:CURR?
SYST:REM 远程模式
MODE CURR 设置定电流模式
CURR 10 设置放电电流
MEAS:VOLT:DC? 读取电压值
INP 1 打开电子负...
2019-07-15 21:53:25
命名空间:netMarketing.automation.baseClass.MonitorMemory功能:监视内存、自动释放内存功能详细说明:这个类是勇哥的同事用到的一个类,用于内在超出一定范围后自动启动内存清理。其它内部是调用GC.Collect();因此它只会对托管代码有效,对于非托管的代码如果产生内存占用或者内存泄露是无法回收的,这种情况一般是见于程序中调用了第三方dll的情况下,常见的...
2019-07-15 21:32:45
<<<<<<<head 是指你本地的分支的<<<<<<< HEADb789=======b45678910>>>>>>> 6853e5ff961e684d3a6c02d4d06183b5ff330dcchead 到 =======里面的b789是您的commit的内容===...
2019-07-13 15:06:17
命名空间:netMarketing.database.mdbFun功能:Access数据库处理类,只适用于扩展名为.mdb的数据库,不适合新版的Access数据库功能详细说明:2007版本以前的access文件扩展名是mdb,2007版本以后的access文件扩展名是accdb。这个类只能处理扩展名为.mdb的老版本Access数据库,勇哥把它保留在netMarketing中只是为了兼容一些老旧的...