2020-10-06 20:12:38
固定上相机的,先拍后取的方式是比较常见于拉带入料的设备。它的特点是:(1) 眼在手外(2) 通常都是上相机方式拍图(3) 它是一种先拍再取的方式(4) 它常用于物料取放,一般是用于定位取料位置(x,y,u),而放置的时候可以走一个固定求教点勇哥的实验环境如下图:(一)我们先来做工具坐标。使用epson的向导程序来创建工具坐标。第一个点位置如下,红色十字位置就是ncc模板的中心,绿色十字是我们记录下...
2020-09-30 22:40:20
接上篇 http://www.skcircle.com/?id=1436 上篇贴子谈了怎么样标定后,定位机器人运动到任意一个位置时,相机看到的特征点的位置。这一篇继续实验一个重要话题: 怎么计算机械人旋转中心到相机视野中心的距离。机械人旋转中心在tool 0状态就是U轴中心,或者说是法兰盘的中心, 如下图所示。(图1)另外,有时候我们也会求机器人抓子未端的标定特定点到相机视野中心的距离。以上两者的...
2020-09-30 14:21:26
原图:(图1)想求出它的黑色边界,用来判断NG的部分。如下图所示,蓝色线是勇哥想求的边界。红色箭头所指的是缺陷,它有两部分。颜色较浅的灰色带和颜色深的黑色带,它们是两种类型的NG特征,其判断阈值是不同的。(图2)勇哥想到的几个方法:(一) 通过边界xld拟合椭圆设想是通过图3的两根xld,拟合出图4的椭圆。(图3)(图4)dev_close_window()
read_image (Pic2...
2020-09-29 15:03:32
继续上篇《勇哥的视觉实验:眼在手上(eye in hand)的标定实验(二) 相机位于机器人第3轴时,并且定位特征在相机视野内不可见》在上篇中,勇哥让机器人走了四个位置:pt1, pt2, pt3, pt4由于相机镜头视野较小,在这个四个位置相机看到的视野范围是不同的。而我们标定时选择是在pt1时相机看到的视野内容进行标定的,当我们在这个视野内任选一个点时,转换出来的机械坐标都可以正确让笔尖戳到这...
2020-09-27 22:18:34
继续上篇《勇哥的视觉实验:眼在手上(eye in hand)的标定实验。相机挂在x,y平台上,全部九点标定特征在相机视野内可见》这次勇哥换用Epson四轴scara机器人来做实验。如下图所示,相机挂在第3轴上面,因此这种眼在手上的工作模式分为两种情况:(1) 相机移动,不旋转(2) 相机移动并且旋转本篇研究一下第(1)种情况。(图1)我们开始九点标定。请看上图,这里勇哥还是用笔尖做为标定特征点。要...
2020-09-24 07:23:39
这种错误见于GigE接口的相机,和IP配置有关。其现象如下:如果选择否,则看到“连接”页面中有感叹号。这个时候你可能无法“连接”成功相机,也不可能采集到图片。勇哥最早看到这种现象,是四个相机的机器,如果把其中的A相机和B相机交换网口,则halcon会报这种错误。相机是海康的,因此打开它的ip配置工具。看到它显示以太网IP是[169.254.243.62] ,这个和halcon报错的提示是一样的。然...
2020-09-11 14:51:48
这个问题的现象是下面这句话报错,说是参数有问题:HOperatorSet.SetFramegrabberParam(AcqHandle, "Gain", 2.0);而在halcon中,连接相机后查阅参数,其中增益参数就叫Gain,这个是绝对没有写错的。而这句话的设置时机放在了取得相机设备句柄之后。 HOperatorSet.OpenFramegrabber("HMV...
2020-09-08 21:42:52
时间已经到了2020年了,勇哥突然觉得在两台电脑间如果还用网线传输数据,已经是落后时代的操作了。其实到昨天之前我觉得用网线传输文件也没什么不方便。但是今天不同,因为我想在客厅用一台笔记本电脑连接到房间的台式机上去拷贝文件,最好是能远程桌面也可以。所以今天勇哥想好好研究一下怎么把这个古老的网线操作进化。(一)把房间的台式电脑变为wifi热点,并共享文件勇哥房间的台式电脑配了一个USB无线网卡,这个是...
2020-09-05 15:06:55
(一)注意下面的img不能放在线程外面写。而是要放在lamada写法的线程里面。 public string ccdTopWork()
{
HObject img = new HObject();
img.Dispose();
var time = stringHelper.GetHHmm...
2020-09-04 13:47:36
勇哥一次在pull下来的内容出现合并冲突。我们知道这种情况下就是处理一<<<<<和>>>>>之间的部分。<<<<<<< HEADnew new new new code=======old old old code>>>>>>> xxxxxxxxxxxxx...
2020-08-29 15:57:41
海康工业相机SDK Halcon接口是比较好用, 它使得我们可以利用halcon的语法利用SDK的功能.之前勇哥写了一篇用halcon代码演示使用方法的贴子. http://www.skcircle.com/?id=1427 现在写一个C#的应用类, 方便自己也方便了大家.勇哥写了个应用类, 如下:using HalconDotNet;
using MvCamCtrl.NET;
using...
2020-08-28 21:40:31
这个适配层的作用是作为SDK的Halcon插件。何在Halcon导出代码中实现连续采集、软触发采集、硬触发采集。有了这个东西,就可以用halcon的方式来调用SDK的功能。这个适配层的介绍你可以在SDK安装后,在其目录下找到。不过这个手册讲的是怎么在C++中调用的,勇哥在后面的介绍中用halcon的代码来演示的。注意:虽然SDK目录下只提供了halcon18的导入文件,如下图:但是其它这个halc...
2020-08-25 16:34:43
为啥勇哥对这个虚拟磁盘软件有兴趣呢?多相机的设备中,并发拍照保存图片操作是非常频繁的,对机械硬盘损耗很大。我是想用这个软件把内存虚拟几个G的磁盘出来,做为图片保存的缓存来使用,这要必定极大的减轻磁盘读写占用率,以及磁盘的硬件损耗。我知道有些人会因为这个目的为电脑加配一块SSD磁盘,其实感觉用内存虚拟盘也可以达到类似的效果。唯一不方便的我们的代码要考虑在适当的时机把内存盘的图片移动到机械硬盘上去,因...
2020-08-24 20:32:32
现象是下面代码在halcon窗口上显示字符串,遇到非汉字字符则显示不出来。下图中符号"[", "]", 还有数字都无法显示。代码如下: Window.SetColor("red");
Window.SetTposition(30, 30);
Window.WriteString(string.Format("[侧面齿上碰...
2020-08-22 11:46:14
opencv形态学运算opencv形态学运算形态学是生物学中研究动物和植物结构的一个学科分支。数学形态学是以形态为基础对图像进行分析的数学工具。基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的。形态学图像处理的数学基础是集合论。1964,Matheron指导下的Serra做岩相学分析。1966年命名Mathematical Morphology。1968年...
2020-08-19 22:45:07
勇哥手上有几个案子用到了海康工业相机,为了方便自己,简单写了一个操作类。目前初步出了一个v1.0,功能围绕项目需要,因此十分简单,暂支持下面的内容:连续触发和外部信号触发外部触发时的软件触发模式枚举设备列表可以看到连断线重连都没做。先放上来吧,以后会持续完善它,并收录到netMarketing类库。对于怎么接外部触发信号,请参考下面的贴子:http://www.skcircle.com/?id=1...
2020-08-19 10:00:52
这个是海康相机官方的文档,勇哥放上来是为了方便查阅。【摘要】 本文档主要介绍了使用工业相机 SDK(Software Development Kit)开发 C#程序方法及过 程。在SDK开发包目录下,提供了21个C#示例程序,其中Form程序6个,分别为BasicDemo、 ReconnectDemo、SetIODemo、ForceIpDemo、MultipleDemo、 BasedOnGenTL...
2020-08-13 21:25:45
频闪控制器和爆闪光源控制器都是控制光源与相机拍照同步。其效果就像是带闪光的相机一样,闪一下光然后同步拍照。爆闪和频闪不同的是增强了光源的亮度,达到超亮的效果。光源如果想达到超亮的效果,只能通过爆闪的方式实现,如果长亮,其寿命会大降或者烧毁。下面一款爆闪光源控制器,其接口如下图:其中左边的CH1-CH4是用来接光源的。数码显示的部分可以用来调节光源的脉宽或者光源的亮度。接线端子如上图,1234com...
2020-08-11 21:46:37
在机器视觉中表示两个坐标系的映射关系一般用矩阵表示 。下面的知识则是使用三角函数推导两者的关系。(一)坐标系原点旋转的情况如下图所示,有两个坐标系,绿色的XOY, 红色的X'OY'。点P(x,y)在坐标系XOY中是(300,350),现在我们想求点P在红色坐标系X'OY'中的位置?我们按推算公式一计算一下,则:x'=OD+DF=x*cos(20)+y*sin...
2020-08-11 20:46:03
线性代数——坐标系空间转换二维坐标系转换二维坐标系的变换分为旋转变换和平移变换。旋转变换假设已知基坐标系XOY中的一点P(x,y),坐标原点为O,绕点O旋转θ,可以求得点P在新坐标系X'OY'中坐标值(x',y'),如下图所示:求解x'和y'的关键是坚持用已知的边做斜边来求解,结合上图利用三角函数可以求得:x'=x·cos(θ)+y·sin(...
2020-08-10 20:56:03
数学模型已知两个坐标系在各方向上尺度缩放比例一致,两个坐标系的转换关系可以用7个参数来表示,3个旋转参数,3个平移参数,1个比例参数。已知三点在A、B两个坐标系中的坐标,那么这7个参数可以唯一确定。坐标转换的数学模型为:其中,λ是比例参数,R是旋转矩阵,Δ是平移向量,A、B分别是两个坐标系中的坐标。比例参数λ最容易计算旋转矩阵R是一个3x3的正交矩阵,有3个自由度。可利用反对称矩阵S来构造旋转矩阵...
2020-08-10 09:24:51
包含平移和旋转变换:#include <iostream>
#include <GTEngine/Mathematics/GteConvertCoordinates.h>
using namespace gte;
// #define Vector4<double> Vector<4, double>
int main(int argc,...
2020-08-10 09:22:16
本例子只有旋转,没有平移#include <iostream>
#include <GTEngine/Mathematics/GteConvertCoordinates.h>
using namespace gte;
// #define Vector4<double> Vector<4, double>
int main(int arg...
2020-08-10 09:16:18
我们知道autocad中的ucs指令可以变换坐标系,然后可以查询同一个点在不同坐标系下的位置。勇哥想实现这个功能,因此先收集一些资料。1.坐标系变换 在图形学中,经常需要从一个坐标系变换到另一个坐标系。如下图,两个坐标系xoy和 。 在xoy坐标系中的坐标分别为 。 P在xoy坐标系中的坐标分别为 (x, y)。 为了将P点从xoy坐标系转换到 中...
2020-08-10 09:01:34
我们知道autocad中的ucs指令可以变换坐标系,然后可以查询同一个点在不同坐标系下的位置。勇哥想实现这个功能,因此先收集一些资料。1 围绕原点的旋转如下图, 在2维坐标上,有一点p(x, y) , 直线opの长度为r, 直线op和x轴的正向的夹角为a。 直线op围绕原点做逆时针方向b度的旋转,到达p’ (s,t)s = r cos(a + b) = r cos(a)cos(b) – r sin...
2020-08-07 14:43:24
偶尔在网在看到这个众为兴机器人的培训视频。是一个众为兴机器人控制系统的原研发工程师讲解的,重要的是,还是个美女。这让勇哥感觉很舒适,分享给各位吧。课程链接www.aiimooc.com前往【睿慕课】官网 or 公众号这个网站注册免费,当前这个视频也是免费的。提示:这个网站防止外链跳入,各位还是进入www.aiimooc.com首页,搜索“众为兴SCARA机器人培训”,再进行观看才可以。直接点下面列...
2020-07-28 07:13:54
这次改造是为xyz平台增加U轴。原来的x,y,z平台是下图这样的。装笔的这个位置只是Z轴,缺少旋转轴U,这样做实验时候能做的事情有限。下图是加工零件后增加的U轴。零件加工是在3dsmax中制作的造型。右边那个零件制作后用STL检查工具,发现有十几个错误。左边那个零件为0错误。两个零件在3D打印时,都会在打印完底部后暂停,提示“等待用户确认继续“。初步怀疑这个提示是因为3D打印机认为零件上下两部分打...
2020-07-25 08:55:05
如下图所示:bundleRuntime.GetFirstOrDefaultService<>为空,因此程序直接退出。不用怀疑IMainForm有问题。勇哥2020/8/8注:这篇水贴烂尾了,因为勇哥至今仍然不知道这是为什么,只知道是跟类库引用后的冲突有关系。人家封装的东西,出问题了真不好找原因。投降了……未完待续…………--------------------- 作者:hackpig来...
2020-07-23 09:04:28
概要上一讲我们在机器人的坐标系-安逸的机器人学 这篇文章里介绍了笛卡尔直角坐标系。在一个机器人系统里面,坐标系有很多个, 所以这一讲以机械臂系统为例,带大家认识一下机械臂系统里都有哪些坐标系。特邀嘉宾本期的特邀嘉宾是Panda,它的全名叫做 franka-emika-panda, 是一款由Franka Emika公司生产的七自由度协作机械臂。 用过ROS MoveIt的同学应该对他不会感到陌生,...
2020-07-20 13:55:00
勇哥注:想搞清楚halcon的手眼标定,3d位姿的知识是基本功。本篇文章是其入门扫盲贴。程序运行后,有四个坐标系:相机坐标系(Camera coordinate system)世界坐标系(World coordinate system)对象坐标系(Object coordinate system)机器人基坐标系(Robot base coordinate system)你可以用鼠标指向四个坐标系的...