欢迎大家来到IT世界,在知识的湖畔探索吧!
机器人是如何标定的呢?与人一样,机器人的标定方式离不开手眼系统的助力——通俗的说,就是当眼睛看到一个东西需要让手去抓取或者做其他动作,这个时候大脑必须知道手与眼睛的坐标关系。
如果把大脑比作B,把眼睛比作A,把手比作C,如果A和B的关系知道,B和C的关系知道,那么C和A的关系就知道了,也就是手和眼的坐标关系也就知道了。
相机知道的是像素坐标,机械手是空间坐标系,所以手眼标定就是得到像素坐标系和空间机械手坐标系的坐标转化关系。
在实际控制中,相机检测到目标在图像中的像素位置后,通过标定好的坐标转换矩阵将相机的像素坐标变换到机械手的空间坐标系中,然后根据机械手坐标系计算出各个电机该如何运动,从而控制机械手到达指定位置。这个过程中涉及到了图像标定,图像处理,运动学正逆解,手眼标定等。
常用的标定方法有:九点标定
九点标定:
九点标定直接建立相机和机械手之间的坐标变换关系。
让机械手的末端去走这就9个点得到在机器人坐标系中的坐标,同时还要用相机识别9个点得到像素坐标。这样就得到了9组对应的坐标。
由下面的式子可知至少需要3个点才能求出标定的矩阵。
(1)、标定,Halcon中进行9点标定的算子
C#
%前面求出图像坐标
area_center(SortedRegions,Area,Row,Column) %
Column_robot := [275,225,170,280,230,180,295,240,190]
%机器人末端运动到9点的列坐标
Row_robot := [55,50,45,5,0,-5,-50,-50,-50]
%机器人末端运动到9点的行坐标
vector_to_hom_mat2d(Row,Column,Row_robot,Column_robot,HomMat2D)
%求解变换矩阵,HomMat2D是图像坐标和机械手坐标之间的关系
(2)、求解
C#
affine_trans_point_2d(HomMat2D,Row2,Column2,Qx,Qy)
%由像素坐标和标定矩阵求出机器人基础坐标系中的坐标
一些特殊情况的解释:
有些情况中我们看到相机固定在一个地方,然后拍照找到目标,控制机械手去抓取,这种就很好理解。我们也叫做eye-to-hand
还有一种情况是相机固定在机械手上面,这种情况的标定过程实际上和相机和机械手分离的标定方法是一样的,因为相机拍照时,机械手会运动到相机标定的时候的位置,然后相机拍照,得到目标的坐标,再控制机械手,所以简单的相机固定在末端的手眼系统很多都是采用这种方法,标定的过程和手眼分离系统的标定是可以相同对待的。我们也叫做eye-in-hand
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/77554.html