详细介绍如何使用MATLAB机器人工具箱进行机械臂的正逆运动学求解以及轨迹规划
--------------------------------------------------------------------------------------注:本文转载于古月居,原文链接如下:详细介绍如何使用MATLAB机器人工具箱进行机械臂的正逆运动学求解以及轨迹规划 - 古月居详细介绍如何使用MATLAB机器人工具箱进行机械臂的正逆运动学求解以及轨迹规划https://www.
--------------------------------------------------------------------------------------
注:本文转载于古月居,原文链接如下:详细介绍如何使用MATLAB机器人工具箱进行机械臂的正逆运动学求解以及轨迹规划 - 古月居详细介绍如何使用MATLAB机器人工具箱进行机械臂的正逆运动学求解以及轨迹规划https://www.guyuehome.com/27983 详细介绍如何使用MATLAB机器人工具箱进行机械臂的正逆运动学求解以及轨迹规划 - 古月居
本篇文章我首发在古月居,因版权原因,在CSDN不能放全文,只能放一小部分,欢迎大家前往古月居查看完整文章!!!,链接如上↑↑↑
---------------------------------------------------------------------------------------------------------------------------------
本篇文章主要介绍详细介绍如何使用MATLAB机器人工具箱进行机械臂的正逆运动学求解以及轨迹规划,全文附完整的MATLAB程序,本文主要分以下六个部分进行介绍(在CSDN仅可看第一部分,完整文章请前往古月居阅读)
一、使用改进型DH法建立机械臂模型,
二、正运动学求解,
三、逆运动学求解,
四、轨迹规划,
五、将轨迹生成视频,
六、完整的程序
一、使用改进型DH法建立机械臂模型
本篇文章以如下的GLUON-6L3型机械臂为例进行介绍 各轴的工作范围如下所示:
根据上面给出的带尺寸标注的所示姿态利用课本中所介绍的方法建立坐标系,
如下所示:
根据上面建立的坐标系写出DH表,并在matlab中使用Link函数和Serial Link函数构建机械臂模型,程序、模型及DH表如下:
L(1)=Link([0,101.5,0,0],'modified');
L(2)=Link([-pi/2,0,0,-pi/2],'modified');
L(3)=Link([0,0,173,0],'modified');
L(4)=Link([pi/2,79.2,173,0],'modified');
L(5)=Link([0,79.2,0,pi/2],'modified');
L(6)=Link([0,41.7,0,-pi/2],'modified');
myrobot= SerialLink(L, 'name', 'sixlink');
myrobot.teach
myrobot.display
我们发现其构造与我们想要的差距较大,因此我们不得不放弃课本中所介绍的那种为了让更多的参数为0,所采用的坐标系原点选取规则
于是经过几次尝试,对坐标轴原点的位置进行了移动,重新建立了如下的坐标系:
根据上面建立的坐标系写出DH表,并在matlab中使用Link函数和Serial Link函数构建机械臂模型,程序、模型及DH表如下:
% DH建模部分 设定各轴参数,参数顺序为theta、d、a、alpha
L(1)=Link([0,101.5,0,0],'modified');
L(2)=Link([-pi/2,79.2,0,-pi/2],'modified');
L(3)=Link([0,-79.2,173,0],'modified');
L(4)=Link([pi/2,79.2,173,0],'modified');
L(5)=Link([0,79.2,0,pi/2],'modified');
L(6)=Link([0,41.7,0,-pi/2],'modified');
%建立机械臂模型
myrobot= SerialLink(L, 'name', 'sixlink');
%显示建立的机器人模型
%myrobot.plot([0 0 0 0 0 0])
myrobot.teach
%打印出机器人模型的信息
myrobot.display
我们可以发现重新建立了坐标系后,所建立的机械臂模型的构造与我们所期望的较为相似,但是我们发现其初始姿态和视野与我们期望的有所不同,而且机器臂模型下面拖着一个长杆 下面我们依次来解决上面的三个问题
首先我们对Link函数里面的offset参数进行设定,对L(2)和L(4)进行设定关节变量偏移量的设定,来使模型的初始姿态与我们设想的一样
程序如下:
%定关节变量偏移量
L(2).offset=-pi/2;
L(4).offset=pi/2;
经过此步设定后的模型如下:
下面我们对视野以及坐标轴的范围进行设定,来获取我们期望的视野,并将模型下的长杆去掉,程序如下:
%调整坐标轴及视野
set(gca,'XLim',[-400,400]); %将X轴范围设定为[-400,400]
set(gca,'YLim',[-500,500]); %将X轴范围设定为[-500,500]
set(gca,'ZLim',[0,600]); %将Z轴范围设定为[0,600],最小值设定为0,可以消除模型下面的长杆
set(gca,'XDir','reverse'); %将x轴方向设置为反向
set(gca,'YDir','reverse'); %将Y轴方向设置为反向
set(gca,'View',[-85,10]); %设定视野方向角和俯仰角
经过上面的设定后,我们得到的机械臂模型如下,已经跟我们所期望的模型几乎一样了
已经基本达到了我们的预期目标,在任务要求里对各关节变量的范围进行了限定,接下来对其进行设定,程序如下:
%设定关节变量范围
L(1).qlim=[deg2rad(-140) deg2rad(140)];
L(2).qlim=[deg2rad(-90) deg2rad(90)];
L(3).qlim=[deg2rad(-140) deg2rad(140)];
L(4).qlim=[deg2rad(-140) deg2rad(140)];
L(5).qlim=[deg2rad(-140) deg2rad(140)];
L(6).qlim=[deg2rad(-360) deg2rad(360)];
至此,机械臂建模部分就算是完成了
本篇文章的第二到第六部分请前往古月居查看
--------------------------------------------------------------------------------------
注:本文转载于古月居,原文链接如下:详细介绍如何使用MATLAB机器人工具箱进行机械臂的正逆运动学求解以及轨迹规划 - 古月居详细介绍如何使用MATLAB机器人工具箱进行机械臂的正逆运动学求解以及轨迹规划https://www.guyuehome.com/27983 详细介绍如何使用MATLAB机器人工具箱进行机械臂的正逆运动学求解以及轨迹规划 - 古月居
本篇文章我首发在古月居,因版权原因,在CSDN不能放全文,只能放一小部分,欢迎大家前往古月居查看完整文章!!!,链接如上↑↑↑
---------------------------------------------------------------------------------------------------------------------------------
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)