前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >5_机械臂工具位姿计算理论及代码实现验证

5_机械臂工具位姿计算理论及代码实现验证

作者头像
用户5908113
发布2024-06-17 16:08:02
970
发布2024-06-17 16:08:02
举报
文章被收录于专栏:Pou光明Pou光明

1、机械臂工具位姿计算理论

机器人的首要功能之一是能够计算它所持的夹具(或未夹持夹具)相对于规范坐标系的位姿,也就是说需要计算工具坐标系{T}相对于工作台坐标系{S}的变换矩阵。只要通过运动学方程计算出

,就可以应用第二章所述的笛卡尔变换计算{T}相对于{S}的变换矩阵。求解一个简单的变换方程,得出:

方程3-18在某些机器人系统中称为WHERE函数,用它可计算手臂的位置。对于图3-28的情况,WHERE的输出是轴销相对于工作台顶角处的位姿。

方程3-18是广义运动学方程。根据连杆的几何形状,由基座(可看成一个固定连杆)的广义变换矩阵(

)和另一端的执行器坐标变换矩阵(

)可以计算运动学方程。这些附加的变换可以包括工具的偏距和转角,且适用于任意固定坐标系。

2、AUBOPE I5机械臂仅添加工具位置数据

I5机械臂正解计算结果:

3、只有工具位置的计算

以mm为单位。

根据笔记《3_机械臂位姿变换计算过程代码》,如果已知工具点相对于腕部坐标系{W}(法兰中心)的位姿,通过pos_trans可直接计算出工具点相对于基坐标系{B}的位姿,本次不使用该方法。而是根据正解的计算结果和工具点相对于腕部坐标系{W}(法兰中心)的位姿去计算。

以之前i5机械臂正解计算为基础,新添加代码如下:

代码语言:javascript
复制
double j[6] = {-4.670867*DEG_TO_ARC, 33.841753*DEG_TO_ARC, 146.829943*DEG_TO_ARC, 25.152904*DEG_TO_ARC, 90.289842*DEG_TO_ARC, -48.170107*DEG_TO_ARC};  
Eigen::Vector3d euler_angle(10*DEG_TO_ARC, 20*DEG_TO_ARC, 30*DEG_TO_ARC);  
// 使用Eigen库将欧拉角转换为旋转矩阵  
    Eigen::Matrix3d R;  
    R = Eigen::AngleAxisd(euler_angle[2], Eigen::Vector3d::UnitZ()) *  
        Eigen::AngleAxisd(euler_angle[1], Eigen::Vector3d::UnitY()) *    
        Eigen::AngleAxisd(euler_angle[0], Eigen::Vector3d::UnitX());  

    cout << "R is :\n" << R << std::endl;  

    Eigen::MatrixXd tool_pos(3,1);  
    tool_pos(0,0)= 10;  
    tool_pos(1,0)= 20;  
    tool_pos(2,0)= 30;  

    Eigen::MatrixXd homogeneous(1,4);  
    homogeneous(0,0)=0;  
    homogeneous(0,1)=0;  
    homogeneous(0,2)=0;  
    homogeneous(0,3)=1;  
    Eigen::Matrix     <double,            </double,3, 4> m3x4;    
    Eigen::Matrix     <double,            </double,4, 4> m4x4;    
    m3x4 << R, tool_pos;  
    cout << "m3x4 is :\n" << m3x4 << std::endl;  
    m4x4 << m3x4, homogeneous;  
    cout << "m4x4 is: \n" << m4x4 << std::endl;  

Eigen::Matrix4d tool_pose;  
    tool_pose = T06*m4x4;  
    cout << "tool_pose is: \n" << tool_pose << std::endl;

计算结果如下:

4、工具有位置和姿态变换的计算

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Pou光明 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 根据笔记《3_机械臂位姿变换计算过程代码》,如果已知工具点相对于腕部坐标系{W}(法兰中心)的位姿,通过pos_trans可直接计算出工具点相对于基坐标系{B}的位姿,本次不使用该方法。而是根据正解的计算结果和工具点相对于腕部坐标系{W}(法兰中心)的位姿去计算。
  • 以之前i5机械臂正解计算为基础,新添加代码如下:
  • 计算结果如下:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档