我是靠谱客的博主 愤怒灯泡,最近开发中收集的这篇文章主要介绍基于蒙特卡洛方法的机器人工作空间MATLAB仿真,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文机器人采用KUKA KR360型机器人,其具体参数可在库卡官网找到。
本文的代码部分基于matlab的robotic toolbox工具箱。

%---------------------------------以下为robotbox函数---------------------------%
%        theta    d           a        alpha    
ML1=Link([0       1.045        0           0             ],'modified'); 
ML2=Link([0       0        0.500         pi/2            ],'modified');
ML3=Link([0       0           1.300       0              ],'modified');
ML4=Link([0       1.025       0.055      pi/2            ],'modified');
ML5=Link([0       0           0          -pi/2           ],'modified');
ML6=Link([0       1.290       0          pi/2            ],'modified');
modrobot=SerialLink([ML1 ML2 ML3 ML4 ML5 ML6],'name','KUKA360-2');
modrobot.plot([0 pi/2  0 0 0 -pi ]);
hold on;
N=30000;                                              %随机次数
theta1=-185/180*pi+(185/180*pi+185/180*pi)*rand(N,1); %关节1限制
theta2=-20/180*pi+(130/180*pi+20/180*pi)*rand(N,1);   %关节2限制
theta3=-60/180*pi+(184/180*pi+60/180*pi)*rand(N,1);  %关节3限制
theta4=-350/180*pi+(350/180*pi+350/180*pi)*rand(N,1); %关节4限制
theta5=-118/180*pi+(118/180*pi+118/180*pi)*rand(N,1); %关节5限制
theta6=-170/180*pi+(530/180*pi+170/180*pi)*rand(N,1); %关节6限制
modmyt06 = {1,N};
for n=1:1:N
    modmyt06{n}=modrobot.fkine([theta1(n),theta2(n),theta3(n),theta4(n),theta5(n),theta6(n)]);
    plot3(modmyt06{n}(1,4),modmyt06{n}(2,4),modmyt06{n}(3,4),'b.','MarkerSize',0.5);
end
maxx=2;maxy=2;maxz=2;
for i=1:1:N
    if( maxx < modmyt06{i}(1,4))
        maxx = modmyt06{i}(1,4);
    end
    if( maxy < modmyt06{i}(2,4))
        maxy = modmyt06{i}(2,4);
    end
    if( maxz < modmyt06{i}(3,4))
        maxz = modmyt06{i}(3,4);
    end
end

最后

以上就是愤怒灯泡为你收集整理的基于蒙特卡洛方法的机器人工作空间MATLAB仿真的全部内容,希望文章能够帮你解决基于蒙特卡洛方法的机器人工作空间MATLAB仿真所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部