0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于视觉伺服的工业机器人系统研究

jf_AHleW45b 来源:旺材伺服与运动控制 2023-02-06 15:24 次阅读

常见的机器人视觉伺服中要实现像素坐标与实际坐标的转换,首先就要进行标定,对于实现视觉伺服控制,这里的标定不仅包括摄像机标定,也包括机器人系统的手眼标定。 以常见的焊接机器人系统为例,有两种构型,如下:

pYYBAGPgqzuASJjpAAA2zO46UFE251.jpg

即:摄像机固定于机器手和摄像机固定于外部场景;

本文针对前一种构型:摄像机固定于机器手。

1、摄像机标定技术

(1)理论部分:

以张正友的棋盘标定法为摄像机标定方式,由于摄像机标定结果要用到后面的手眼标定中,所以此处进行不同方位的棋盘图片拍摄时需要遵守:标定板固定位置不动,手眼组合体变换姿态拍摄图片。

摄像机标定的目的:得到两组坐标系的两两转化矩阵:T1和T2;

1)得到图片像素坐标系P与摄像机坐标系C之间的转换矩阵T1,准确说应该是摄像机坐标系转化为图片像素坐标系的转换矩阵。 可表示为:

P=T1*C;

解释:T1在摄像机标定结果中就是内参矩阵3x3;

2)得到摄像相机坐标系C与棋盘上建立的世界坐标系G之间的转换矩阵T2,准确说应该是坐标系G转化为摄像机坐标系的转换矩阵。 可表示为:

C=T2*G;

解释:T2在摄像机标定结果中就是外参矩阵4x4,由旋转矩阵r和平移向量t构成[ t r; 0 0 0 1];

(2)方法:

摄像机标定方法有两种可选:openCV或者Matlab标定工具箱;

建议选择MATLAB应用程序——图像处理与计算机视觉——Camera Calibrator,直接导入拍摄好的图片即可。 但是要注意,使用matlab标定工具箱所得到的内参矩阵、外参旋转矩阵、外参平移向量都要经过转置才是正确的结果。

如下图,MATLAB标定得到的红框中依次是外参平移向量、内参矩阵、外参旋转矩阵,它们都需要做转置后才能应用于本文的公式计算:

poYBAGPgqzyAPbDIAACcZ7P7vnk502.jpg

2、手眼标定技术

(1)理论部分:

手眼标定目的:得到摄像机坐标系C与机器手(或工具)坐标系H之间的转换矩阵T3,准确说应该是机器手坐标系转化为摄像机坐标系的转化矩阵。 可表示为:

C=T3*H;

解释:T3需要根据公式CX=XD得到; 实际中,分别知道C、D求出来的X有无穷多个解。 所以为了实现唯一解,我们至少需要两组C和D,即至少需要3个位置的摄像机标定结果。

其中C的求法如下:

C是两个摄像机坐标系之间的变换矩阵。 可以根据上述任一两张标定图片所得的两个摄像机标定外参A、B按公式C=A*inv(B)计算得到的。 假设上述摄像机标定中有3张标定图片的外参标定结果分别是T21、T22、T23,那么可以得到两个C矩阵:

C1=T21*inv(T22);

C2=T22*inv(T23);

D的求法如下:

D是两个机器手坐标系之间的变换矩阵。 假设上述摄像机标定中的3张标定图片所一一对应的机器手坐标系在基坐标系(也可以是工件坐标系或者其他固定的参考坐标系)中的描述矩阵结果分别是H1、H2、H3(H需要从机器人控制器或示教器中读取),那么可以得到两个D矩阵:

D1=inv(H1)*H2;

D2=inv(H2)*H3;

由以上两组C和D,代入CX=XD就可以得到唯一解X,从而T3=X;

注:上述H1、H2、H3是每张标定图片对应的机器手坐标系描述矩阵,正好说明了摄像机标定中所谓的“标定板固定,手眼运动”的正确性。 如果手眼不动,改变标定板姿态进行拍摄,那么H的值都是一样的。

(2)方法:

1)根据摄像机标定已知摄像机外参矩阵T21、T22、T23,还要从机器人控制器中读取T21、T22、T23分别对应的机器手(或工具)坐标系H1、H2、H3。 控制器中的坐标系描述矩阵不是直接读取的,它是以平移向量和欧拉角(或四元数)模式存在的,如下:

平移向量+欧拉角模式:

poYBAGPgqzuAXKVjAADWsbEQzqg008.jpg

平移向量+四元数模式:

pYYBAGPgqzyARD5YAAC7fh8YxpM935.jpg

选取其中任一模式即可,然后将其转化为描述矩阵。

上述工作完成后,就已经获取了3个外参矩阵(再次提醒,摄像机标定使用MATLAB标定工具箱的话,所得到的外参旋转矩阵和平移向量先要转置,即R=r',T=t',然后外参矩阵EX=[R T; 0 0 0 1])和 3个机械手坐标系矩阵,因此可以分别将3个二维矩阵合为一个三维矩阵,matlab命令如下:

C_ext=cat(3, C_ext1, C_ext2, C_ext3);

H=cat(3, H1, H2 ,H3)

最后将C_ext和H作为参数代入到如下MATLAB函数中:

function Tch = GetCamera2HandMatrix(C_ext,H)% 以下变量:% C_ext是3个位置的摄像机外参矩阵:3x4x4% H1、H2、H3分别是3个位置的机械手坐标系的姿态矩阵:3x4x4% Tcg--机器手坐标系(或工具坐标系)在摄像机坐标系中的姿态和位置变换矩阵% C1、D1、C2、D2、R、w、q、kc1、kc2、kc3、kd1、kd2、kd3、a、b、c、d、h、y均为临时变量 C1=C_ext(:,:,1)*inv(C_ext(:,:,2)) C2=C_ext(:,:,2)*inv(C_ext(:,:,3)) D1=inv(H(:,:,1))*H(:,:,2) D2=inv(H(:,:,2))*H(:,:,3) R=C1(1:3,1:3); q=acos((trace(R)-1)/2); w(1,1)=q/(2*sin(q))*(R(3,2)-R(2,3)); w(2,1)=q/(2*sin(q))*(R(1,3)-R(3,1)); w(3,1)=q/(2*sin(q))*(R(2,1)-R(1,2)); kc1=w; R=C2(1:3,1:3); q=acos((trace(R)-1)/2); w(1,1)=q/(2*sin(q))*(R(3,2)-R(2,3)); w(2,1)=q/(2*sin(q))*(R(1,3)-R(3,1)); w(3,1)=q/(2*sin(q))*(R(2,1)-R(1,2)); kc2=w; R=D1(1:3,1:3); q=acos((trace(R)-1)/2); w(1,1)=q/(2*sin(q))*(R(3,2)-R(2,3)); w(2,1)=q/(2*sin(q))*(R(1,3)-R(3,1)); w(3,1)=q/(2*sin(q))*(R(2,1)-R(1,2)); kd1=w; R=D2(1:3,1:3); q=acos((trace(R)-1)/2); w(1,1)=q/(2*sin(q))*(R(3,2)-R(2,3)); w(2,1)=q/(2*sin(q))*(R(1,3)-R(3,1)); w(3,1)=q/(2*sin(q))*(R(2,1)-R(1,2)); kd2=w; kc3=cross(kc1,kc2); kd3=cross(kd1,kd2); a=[kc1 kc2 kc3]; b=[kd1 kd2 kd3]; R=a*inv(b); %得到旋转关系矩阵 tc1=C1(1:3,4); tc2=C2(1:3,4); td1=D1(1:3,4); td2=D2(1:3,4); c=R*td1-tc1; d=R*td2-tc2; a=C1(1:3,1:3)-[1 0 0;0 1 0;0 0 1]; b=C2(1:3,1:3)-[1 0 0;0 1 0;0 0 1]; h=[a;b]; y=[c;d]; t=inv(h'*h)*h'*y; %得到平移关系矩阵 Tch=[R t;0 0 0 1]; %得到最终结果end

3、根据标定结果对固定高度目标实现单目定位

(1)理论部分:

由上述1、2两个标定已经得到:

摄像机坐标系C->像素坐标系P的转换矩阵Tpc(即内参矩阵,MATLAB标定得到的要转置);

机械手(或工具)坐标系H->摄像机坐标系C的转化矩阵Tch;

从控制器读取的机械手(或工具)坐标系H->基坐标系B(这个根据情况自己在控制器设定是基坐标还是工件坐标系,本文用基坐标系)的转化矩阵Tbh;

已知目标高度固定,为z;

那么基坐标系转化为像素坐标系的变换矩阵就是:Gpb=TpcTchinv(Tbh);

根据Gpb和z可以得到如下图所示的变换过程,分解后可根据像素坐标(u,v)求得实际坐标(x,y,z):

pYYBAGPgqzyASz13AAAok7DvyTg400.jpg

其中,Tpc需要注意,应在内参矩阵最后添加一个全零列,变为3x4矩阵,如下:

poYBAGPgqzyAYyEZAAAwSGKyQHg416.jpg

(2)代码实现:

function P= GetObjectLocation( u,v,Gtb)% 参数(u,v)为目标在图片中的像素坐标% 参数Gtb是工具在机器人基坐标中的描述矩阵(也就是工具坐标系->基坐标系的变换矩阵) %内参矩阵 Kl=[ 1851 9.7 550.5 0; 0 1844.4 299.7 0; 0 0 1.0 0]; %摄像机与工具关系矩阵 Gctl= [-0.9620 -0.2974 0.0156 -2.6405; 0.3266 -0.9552 0.0056 59.7141; 0.0130 0.0003 1.0161 145.3381; 0 0 0 1.0000]; G=inv(Gtb); z=10; %指定物体的高度 M=Kl*Gctl*G; Ml=[u*M(3,1)-M(1,1) u*M(3,2)-M(1,2) ; v*M(3,1)-M(2,1) v*M(3,2)-M(2,2)]; Mr=[M(1,4)-u*M(3,4)-(u*M(3,3)-M(1,3))*z; M(2,4)-v*M(3,4)-(v*M(3,3)-M(2,3))*z]; P=inv(Ml)*Mr; %得到物体的位置。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    182

    文章

    2963

    浏览量

    230131
  • 机器人
    +关注

    关注

    210

    文章

    28180

    浏览量

    206386
  • 摄像机
    +关注

    关注

    3

    文章

    1582

    浏览量

    59940
  • 工业机器人
    +关注

    关注

    91

    文章

    3351

    浏览量

    92553
  • 视觉伺服
    +关注

    关注

    0

    文章

    11

    浏览量

    7838

原文标题:基于视觉伺服的工业机器人系统研究

文章出处:【微信号:旺材伺服与运动控制,微信公众号:旺材伺服与运动控制】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LabVIEW的六轴工业机器人运动控制系统

    系统研究与算法开发:首先,项目围绕机器人的数学模型,特别是空间位姿描述和D-H模型展开研究。在此基础上,开发了机器人的运动学正反解算法,使用了雅克比-迭代法等先进技术。此外,还涉及
    发表于 12-21 20:03

    一种小型移动机器人的控制系统研究

    一种小型移动机器人的控制系统研究
    发表于 08-20 15:53

    什么是工业机器人

    机器人在美国诞生,开创了机器人发展的新纪元。戴沃尔提出的工业机器人有以下特点:将数控机床的伺服轴与遥控操纵器的连杆机构联接在一起,预先设定的
    发表于 01-19 10:58

    工业机器人的产业链

    工业机器人的产业链分为上游核心零部件,中游本体和传感器等生产,以及下游的系统集成等。核心零部件是减速机、伺服系统、控制系统三部分,分别对应执
    发表于 08-23 15:10

    LabVIEW 的Tripod 机器人视觉处理和定位研究

    针对传统的物流分拣过程效率低、成本高的现状以及利用机器视觉进行分拣快速、可靠的优点对机器视觉、图像处理和Tiropd机器人进行了
    发表于 06-01 06:00

    基于图像的机器人视觉伺服系统该怎么设计?

      制造出像一样具有智能的能替代人类劳动的机器人,一直是人类的梦想,人类获取的信息80%以上是通过视觉。因此,在智能机器人研究中,具有
    发表于 09-27 08:07

    服务机器人视觉系统怎么设计?

    跟踪等领域。不同种类的机器人由于工作的重点不一样,它的视觉系统在软件或硬件上都有着细微的差别。本文研究基于服务机器人的单目视觉系统。它处理的
    发表于 04-07 07:27

    四元数数控:工业机器人使用机器视觉系统的原因

    和提高工作效率,就必须引入机器视觉技术来实现对目标的识别和定位。目前,装备了机器视觉系统工业机器人
    发表于 04-29 09:42

    工业机器人视觉实训平台介绍

    、抓取、装配、入库等训练,2、工业机器人视觉实训平台包含六自由度工业机器人、智能视觉检测
    发表于 07-01 06:38

    工业机器人与智能视觉系统应用实训平台介绍

    ZNAI-1工业机器人与智能视觉系统应用实训平台一、产品概述工业机器人与智能视觉系统应用实训平台
    发表于 07-01 11:48

    工业机器人视觉装配实训平台实验

    ZNH-JR05Z型 工业机器人视觉装配实训平台一、概述ZNH-JR05Z型 工业机器人视觉装配
    发表于 07-01 12:05

    机器人视觉系统研究

    视觉系统成为研究的新课题。1965年, Stanford建立机器人实验室开始研究机器人机器人
    发表于 09-07 08:37

    机器人视觉伺服系统的标定

    机器人视觉伺服系统机器人领域一项重要的研究方向,它的研究对于开发手眼协调的
    发表于 05-30 11:34 27次下载

    工业机器人视觉检测系统研究

    机器人视觉检测系统在计算机端对智能相机采集到的工作区域的图像进行预处理,快速地识别并定位图像中的目标工件,根据相机标定参数,结合目标工件的像素坐标计算出六自由度工业
    的头像 发表于 09-24 10:28 3182次阅读

    机器人视觉伺服控制系统的应用类型及发展趋势分析

    本文对机器人视觉伺服技术进行了综述,介绍了机器人视觉伺服系统的概念及发展历程和分类,重点介绍了基
    的头像 发表于 04-08 09:11 1.2w次阅读
    <b class='flag-5'>机器人</b><b class='flag-5'>视觉</b><b class='flag-5'>伺服</b>控制<b class='flag-5'>系统</b>的应用类型及发展趋势分析