当前位置:   article > 正文

标准DH坐标系,改进DH坐标系转换矩阵matlab函数代码2.0_标准dh方法所用转换坐标

标准dh方法所用转换坐标

1.标准DH坐标系(Standard DH)
在这里插入图片描述

// 标准DH坐标系转换矩阵
function T = DH_modified(d, theta, a, alpha, mf)
% d:    连杆偏移量
% theta:关节角度
% a:    连杆长度
% alpha:连杆扭转角
% mf:   修改因子
%
%   示例:
%       T01 = DH_modified(0.1, 90, 0.2, 90, 0.1);
% 将角度转化为弧度
alpha = deg2rad(alpha);
theta = deg2rad(theta);
% 计算变换矩阵
d = d - mf*a*sin(alpha);
a = a + mf*d*cos(theta);

% Compute the transformation matrix
T = [cos(theta), -sin(theta)*cos(alpha),  sin(theta)*sin(alpha), a*cos(theta);
     sin(theta),  cos(theta)*cos(alpha), -cos(theta)*sin(alpha), a*sin(theta);
              0,             sin(alpha),             cos(alpha),            d;
              0,                     0,                     0,            1];
end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

2.改进DH坐标(modified DH)
在这里插入图片描述

// 改进DH坐标转换矩阵
function T = DHTransform(a, alpha, d, theta)
% DHTransform - 计算DH参数对应的变换矩阵
%
% 输入参数:
%   - a: alpha的连杆长度
%   - alpha: x轴绕z轴旋转的角度
%   - d: z轴的平移量
%   - theta: z轴绕x轴旋转的角度
%
% 输出参数:
%   - T: 变换矩阵

% 将角度转化为弧度
alpha = deg2rad(alpha);
theta = deg2rad(theta);

% 计算变换矩阵
T = [cos(theta)              -sin(theta)             0              a;
     sin(theta)*cos(alpha)  cos(theta)*cos(alpha)   -sin(alpha)    -d*sin(alpha);
     sin(theta)*sin(alpha)  cos(theta)*sin(alpha)   cos(alpha)     d*cos(alpha);
     0                      0                       0              1];
end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/550834
推荐阅读
相关标签
  

闽ICP备14008679号