一直以来,对于手眼标定所涉及到的坐标系及坐标系之间的转换关系都没能有一个很好的理解,最近找了halcon手眼标定的实例在研究,发现对于相机的两种安装方式(眼在手和眼在手外),其坐标转换关系是类似的,这样说好像太抽象了,下面具体说说。我觉得标定最基本的是要将坐标系理清楚,这里涉及到的坐标系有四个:机器人基坐标系base、法兰上的工具坐标系tool、相机坐标系camera和标定板坐标系cal;此外,涉及到了四个关键的4x4齐次转换矩阵,对于眼在手和眼在手外分别进行说明,下面是两种配置方式的坐标转换过
*该例程说明了怎样给SCARA机器人做手眼标定。这种情况下,相机相对与机械臂而言是固定安装的,所以能探测到机械臂的整个工作控件范围。用于标定的标定板是固定安装在机械臂的末端工具上。最后,标定结果和用于确定要被抓取的物体的位置的数据都保存到了本地文件中。在例程pick_and_place_scara_stationary_cam.hdev程序中有被使用到。*提供校准板的描述文件和先前校准过的摄像机的摄像机参数*首先是要提供标定板的描述文件和相机的内参,这两个步骤需要事先进行操作完成CalibObj
这篇贴子是看了一套网上的手眼标定的培训视频后的记录。大凡是培训视频,都存在废话很多的问题,关于这一点,其实也是跟你自己的知识储备多少有关,比如对于小白来讲,也许每一句话都不是废话。本贴就是勇哥记录下来的认为其精华部分内容。评心而论,老师讲得不错,很有经验,虽然经常在中间插播自己的培训室广告。^-^----------------------------------------大家都知道,手眼标定就是确定手和眼的坐标关系。手指的就是机械手,眼就是CCD。(一)机械手的分类常见的四类: 左
对于标定来说,一般常见的有用于测量的线性与非线性标定,另一类就是和运动相关的标定,手眼标定。勇哥写过许多epson机器人的手眼标定,也有halcon仿制这种方式的实现方法。但是halcon有自己的手眼标定。CalibObjDescr := 'calibrate_hand_eye_scara_setup_01_calplate.cpd'
CalibrationPlateThickness := 0.003
gen_cam_par_area
勇哥曾经很向往有一台机器人,好在家里搞些视觉实验。可惜这东西值一台四轮车的钱,估计真买了的话,会被老婆按在地上摩擦。其实仔细想想,视觉对位的应用,难点在于标定、还有标定后的对位过程,而不在于怎么找线找点(当然有些时候这个也是难点,但是跟物料关系密切,也就是变成了解决工艺上的问题,不存在原理都不懂的的懵逼)标定的过程主要难点在机器人吸盘的中心和法兰盘的中心不共心,还有些应用中涉及到多相机协调,如果B相机不方便标定,你还得把A相机的标定结果映射过去……标定后的对位也是困难的地方,这个涉及到参考模板与
都说“纸上得来终觉浅,绝知此事要躬行”,可惜咱没这条件呀,没项目咱也不能干坐着呀,那咱发挥主观能动性,咱不是学机械的么,还好还记得一点CAD的知识,今天小杨说事,咱就“纸上谈兵”,用CAD结合公司的视觉算法平台VisionMaster来说说相机映射和对位贴合的事,如果有错误的地方,还请各位自动化前辈多多指教,毕竟网上的关于这个知识太少了。实际的生产过程中,我们常常会碰到这样的情况,机械手从工位一吸着对象到工位二进行贴合,但是工位二我们不方便执行标定,通常的做法是在工位一执行一次标定流程,然后使用
博主在博客园的第一篇博客,以著名的张大牛标定法开始吧!具体标定原理就不详细说了,资料数不胜数,重点看张正友的原著《A Flexible New Technique for Camera Calibration》,搞明白这篇文章就足够了。好了,现在主要说一下标定过程,并附上博主自己调用Opencv接口编写的代码。1.拍摄棋盘格图片,8幅左右合适,文献里说n=8时,最小二乘法计算内参有稳定解。所以我就拍了9幅。2. 读取棋盘格图像,提取角点(注意:都是内角点)。为了提高角点提取精度,进一步进行亚像素
勇哥继续讨论Epson机器人手眼标定的过程和一些经验。(一)九点标定时的高度与实际电池取放高度相差几毫米可以吗?依据最近勇哥现场做的实验来看,如果标定高度不等于电池取放高度,影响很大。定位的时候差别按mm来算,不是差一点半点。而且这种偏差呈放射状的变化,有点像CCD的成像方式。勇哥画了个示意,在下图中,电池1的偏差可能是向左,而电池6的偏差可能是向右。如果这个时候把电池面升高到原来标定的高度,你会发现机器人走位又非常准确了。(二)一定要九点标定吗,不可以四点吗?九点标定一定需要九宫格子吗?这个要
这一篇勇哥来谈一谈验证视觉取放料准不准如何来判定的问题。机器在客户工厂试产阶段,会暴露出整机定位精度不准的问题,这时候机构会甩锅给视觉这边,如何反驳呢?首先,我们视觉这边必须要有数据证明视觉取放精度是满足要求的.这一点之前的贴子中勇哥讲了许多.主要方法有两种:一是在标定完成后,在视野的最大范围内确定一批像素点, 转为机械人坐标后走过去戳下去, 看准不准.二是取实际的物料, 然后放置回视野内的一个固定位置, 变化量是每次取的物料位置与角度都会不同. 做几十组数据观察放置的位置偏差有多少
旋转中心标定方式的说明在下面的图例中,红色为相机视野(FOV),黄色为工件,五星为Mark点。(训练的标准位置)(工件发生平移)(工件发生旋转与平移)(图4)旋转中心方法用于所有机器人与视觉配合场景方法 :计算工件实际发生的偏移量 和旋转,结合机器人的旋转中心进行二次补偿后 ,把补偿量 发送给机器人 ,然后机器人把补偿量进行抓取或放置即可。计算 某个点绕另外一旋转定角度后的坐 标,如图 :A(x,y)绕 B(rx0 ,ry0) 旋转a度后的位置为 C(x0,y0 ),则有如 下关系式:x0= c