机器人DH符号运算——matlab

针对PRP型机器人,见机器人导论55页,可编写matlab程序进行运动学正解:

clear;
clc;
syms theta1 alpha0 a0 d1 theta2 alpha1 a1 d2 theta3 alpha2 a2 d3 L2 ;
A1 = [cos(theta1),-sin(theta1),0,a0;sin(theta1)*cos(alpha0),cos(theta1)*cos(alpha0),-sin(alpha0),-sin(alpha0)*d1;
    sin(theta1)*sin(alpha0),cos(theta1)*sin(alpha0),cos(alpha0),cos(alpha0)*d1;0,0,0,1];
A2 =[cos(theta2),-sin(theta2),0,a1;sin(theta2)*cos(alpha1),cos(theta2)*cos(alpha1),-sin(alpha1),-sin(alpha1)*d2;
    sin(theta2)*sin(alpha1),cos(theta2)*sin(alpha1),cos(alpha1),cos(alpha1)*d2;0,0,0,1];
A3 =[cos(theta3),-sin(theta3),0,a2;sin(theta3)*cos(alpha2),cos(theta3)*cos(alpha2),-sin(alpha2),-sin(alpha2)*d3;
    sin(theta3)*sin(alpha2),cos(theta3)*sin(alpha2),cos(alpha2),cos(alpha2)*d3;0,0,0,1];
% alpha0 = 0;a0= 0;d1 = 0;theta1 =theta1;
% alpha1 = 90;a1= 0;d2 = 0;theta2 =theta2;
% alpha2 = 0;a2= 0;d3 = L2;theta3 =theta3;
alpha0 = sym(0);a0 =sym(0);theta1=sym(theta1);d1 = sym(0);
alpha1 =sym(pi/2);a1= sym(0);d2 = d2;theta2 =sym(theta2);
alpha2 = sym(0);a2= sym(0);d3 = L2;theta3 =sym(theta3);
T1 = simplify(eval(A1))
T=simplify(eval(A1*A2*A3))

结果见下:

A1 =
 
[ cos(theta1), -sin(theta1), 0, 0]
[ sin(theta1),  cos(theta1), 0, 0]
[           0,            0, 1, 0]
[           0,            0, 0, 1]
 
 
A2 =
 
[ cos(theta2), -sin(theta2),  0,   0]
[           0,            0, -1, -d2]
[ sin(theta2),  cos(theta2),  0,   0]
[           0,            0,  0,   1]
 
 
A3 =
 
[ cos(theta3), -sin(theta3), 0,  0]
[ sin(theta3),  cos(theta3), 0,  0]
[           0,            0, 1, L2]
[           0,            0, 0,  1]
 
 
T =
 
[ cos(theta2 + theta3)*cos(theta1), -sin(theta2 + theta3)*cos(theta1),  sin(theta1),  sin(theta1)*(L2 + d2)]
[ cos(theta2 + theta3)*sin(theta1), -sin(theta2 + theta3)*sin(theta1), -cos(theta1), -cos(theta1)*(L2 + d2)]
[             sin(theta2 + theta3),              cos(theta2 + theta3),            0,                      0]
[                                0,                                 0,            0,                      1]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值