分享

ABB 欧拉角与四元素转换功能块

 钺YUE 2022-02-24



图片
图片

ABB机器人如果需要补偿旋转角,通常需要获取当前姿态数据,将四元素转换为欧拉角,然后将其进行加减处理,处理完成后需要将欧拉角转换回四元素赋值到新的点位坐标中进行使用。

图片

以下文章给大家分享一个简单的功能块程序,可以设置转换前的坐标点,RZ需要补偿的旋转角度,输出一个新的姿态数据。小伙伴们可以结合思路,自己编写一个可以随意补偿RX,RY,RZ角度的功能块程序。

PROC TransPose(\PERS robtarget A\PERS num Angle_RZ)!定义转换前的点位A,以及需要补偿RZ的角度值    VAR num OldRZ;    !声明转换前的RZ值    VAR num OldRX;    !声明转换前的RX值    VAR num OldRY;    !声明转换前的RY值    VAR num NewRZ;    !声明转换前的RZ值    VAR Pose B;       !声明新姿态数据B    OldRX:= EulerZYX(\X, A.rot);   !提取转换前A点姿态数据RX值    OldRY:= EulerZYX(\Y, A.rot);   !提取转换前A点姿态数据RY值    OldRZ:= EulerZYX(\Z, A.rot);   !提取转换前A点姿态数据RZ值    NewRZ:=Angle_RZ+OldRZ;         !将转换前的RZ值+希望补偿的值Angle_Z    B.rot:=OrientZYX(NewRZ,OldRY,OldRX);    !将新的欧拉角数值合成新的姿态数据B     TransRZ.rot:=B.rot;            !将更新的姿态数据B赋值给变量TransRZ.rotENDPROC

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多