关于MATLAB中使用Link函数和SerialLink建模

关于MATLAB中使用Link函数和SerialLink建模

Link函数默认使用的是标准D-H法建立模型,如果想用改进D-H法建立模型,则应在参数后添加’modified’。如下所示:

%建立机器人模型
%       theta    d        a        alpha     offset
L1=Link([0       0        0        0         0     ],'modified'); %改进D-H参数
L2=Link([0       0        3        0         0     ],'modified');
robot=SerialLink([L1 L2],'name','two_arm'); %连接连杆,机器人取名two_arm
robot.plot([0 0],'tilesize',2)%机械臂图

在这里插入图片描述

%建立机器人模型
%       theta    d        a        alpha     offset
L1=Link([0       0        3        0         0     ]); %标准D-H参数
L2=Link([0       0        1.5      0         0     ]);
robot=SerialLink([L1 L2],'name','two_arm'); %连接连杆,机器人取名manman
robot.plot([0 0],'tilesize',2)%机械臂图

在这里插入图片描述

比较上述两幅图可以发现,标准D-H参数法定义的模型比改进D-H法定义的模型多出一个连杆,这是由于两种方法的D-H参数定义的差异造成的。对于一个两连杆模型来说,标准D-H参数法使用了连杆长度参数 a 1 a_1 a1 a 2 a_2 a2,而改进D-H参数法使用了连杆长度参数 a 0 a_0 a0 a 1 a_1 a1

仅比较这两幅图,可能会感觉两种参数法建立的模型会不太一样,这是由最后一个连杆长度不为零导致的。但这仅是一个两连杆模型。对于大部分模型而言,比如六轴机械臂,最后三个连杆长度都是0,因此实际上的建模是一样的。这部分可以参考机器人学回炉重造(1):正运动学、标准D-H法与改进D-H法的区别与应用(附ABB机械臂运动学建模matlab代码)这篇博客,写的很详细了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值