当前位置:   article > 正文

MATLAB机器人仿真:利用plot3d显示真实三维仿真模型_matlab仿 真 软件 得 到机 器 人 正 运 动 学三 维 仿 真演 示模 型

matlab仿 真 软件 得 到机 器 人 正 运 动 学三 维 仿 真演 示模 型

如下图所示,最简单的MATLAB机器人仿真时候的样子。光杆杆的总感觉缺那么点意思,所以,plot3d的必要性还是有的。而plot3d的重点不仅是在MATLAB中,还有重要前提就是模型的前处理(1、在装配体草图中建立各个坐标系;2、固定命名导出各轴的STL文件)

一、效果对比图

1、常见的一般仿真图
(是不是有点看厌了,哈哈哈哈)
在这里插入图片描述
2、真实模型图
在这里插入图片描述
在这里插入图片描述
确实比只有杆杆好看多了

MATLAB代码:

close all;
clear;
clc;
%% DH参数建立(重点)
L(1)=Link('revolute','d',0.04197,'a',0.0414,'alpha',pi/2,'offset',0);
L(2)=Link('revolute','d',0,'a',0.13608,'alpha',0,'offset',1.24773);
L(3)=Link('revolute','d',0,'a',0,'alpha',pi/2,'offset',0.32106);1.24773
L(4)=Link('revolute','d',0.12010,'a',0,'alpha',-pi/2,'offset',0);


MaRob = SerialLink(L,'name','MaRob四轴机械臂');
MaRob.base = transl(0,0,0);

q0 = [0,0,0,0,0];
v = [165 20];
w = [-0.1 0.2 -0.2 0.2 0 0.2];

MaRob.plot3d(q0,'tilesize',0.1,'workspace',w,'path','D:\桌面文件\6轴机械臂设计零件\机械臂STL','nowrist','view',v);

light('Position',[1 1 1],'color','w');

theta1 = [30 45 20 0]*pi/180;
p_1=MaRob.fkine(theta1);
disp(p_1);
q1 = [0,0,0,0];
q2 = [pi/4,pi/3,pi/5 0];%随便建立两个运动点
qt2 = jtraj(q1,q2,20);

% for i=1:size(qt2,1)
%     
%     T=MaRob.fkine(qt2(i,:));
%     P=transl(T);
%     %plot_sphere(P,0.038,'r')
%     %patch('Vertices',vertice,'Faces',face,'FaceColor',[0.82 0.71 0.55]);
%     MaRob.plot3d(qt2(i,:),'view',v,'nowrist','delay',0,'fps',30,'trail',{'r','LineWidth',3},'tilesize',0.1);
%     pause(0)
% end

figure;
MaRob.plot3d([qt2],'view',v,'nowrist','delay',0,'fps',30,'trail',{'r','LineWidth',3},'tilesize',0.1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

二、SW中模型处理(很大程度决定了能否成功)

**(见B站UP主:https://space.bilibili.com/261126593,日期为20220115作品,点赞!!!也是突然看到去年好像没解决的,今天重新弄了一下好了)**但有些注意事项里面没讲,容易出问题(我是这样的,太菜了)。

注意事项一:

1、记住是在装配体模式下建立草图,建立WorldFrame、link0、link1……
2、注意建立坐标系的时候要和你的DH(正确建立很重要)一样的,如果你发现你的做出来是旋转了一般就是调一下坐标系再输出【做这个就是卡在这一点,后面看着看着发现的,所以当你发现不对,翻转了 ,就可以想象一下坐标怎么转一下就可以;如果发现偏移了就是d和a的值需要修改一下】
在这里插入图片描述

在这里插入图片描述

注意事项二

输出时勾选①不要转换STL…和②在单一文件中…
在这里插入图片描述
学习机器人,DH建模确实应该反复多看,多动手推导(可以参考:https://blog.csdn.net/qq_40969179/article/details/116235554;或者学习其他博主写的文章)
(今天突然看到的,心血来潮,解决了年前没解决的问题。好久没弄MATLAB相关仿真的东西了,记录自用)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/314756?site
推荐阅读
相关标签
  

闽ICP备14008679号