当前位置 博文首页 > 苏州程序大白的博客:手眼标定中RT矩阵的欧拉角和Halcon中pose的

    苏州程序大白的博客:手眼标定中RT矩阵的欧拉角和Halcon中pose的

    作者:[db:作者] 时间:2021-08-12 08:53

    手眼标定中RT矩阵的欧拉角和Halcon中pose的类型之间的关系

    1、Halcon做3D相关的应用:

    使用到halcon的CreatePose算子,生成不同的Pose,并且可以将pose通过算子pose_to_hom_mat3d转换成4*4的RT矩阵。每个pose的生成,都包括TX,TY,TZ,RX,RY,RZ和一个旋转顺序type决定。Halcon的描述中,type可以定义位’gba’,'abg’等常用模式,但是我们实际于机械手配合做项目时,不同厂家的机械手所对应的RX,RY,RZ或A,B,C的值都不一样,并且和halcon的描述类型也无法直接对应,那如何解决这个问题呢

    RT矩阵,是包含了平移和旋转两个方面,其中3*3的R矩阵,就是旋转矩阵,也就是欧拉角RX,RY,RZ或A,B,C展开成矩阵形式的数值,这些数值都是由角度的sin或cos相乘相加得到的。

    欧拉角就是空间三维旋转的角度,一般会有很多种表达方式,如XYZ,ZYZ,ZYX,XYX,XZY等,这些字母表示绕着该轴旋转某个角度,然后按照字母的顺序,把三次的二位旋转矩阵相乘,最后得到一个三维的旋转矩阵。理论上这些不同的type之间的角度都是可以转换的,从欧拉角到旋转矩阵R的转换无非就是把针对每个旋转轴进行旋转的角度和顺序不一致而已。如图所示,按照不同的字母顺序,将这些矩阵分别相乘,即可得到对应的旋转矩阵。这样我们就得到了旋转矩阵跟具体旋转角度之间的关系。

    Halcon的算子pose_to_hom_mat3d也是同样的原理,将pose的RX,RY,RZ通过不同的顺序相乘,得到矩阵。那么最重要的如何确认项目中的机械手坐标值和halcon的pose类型之间的

    cs