欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MATLAB Robotics Toolbox机器人工作空间显示

程序员文章站 2022-05-21 09:34:09
...

今天想用matlab绘制机器人的工作空间,找了半天没找到对应的函数,只能用plot()一步一步画了
这个是机器人原型
MATLAB Robotics Toolbox机器人工作空间显示
下面是matlab代码

T(1) = Link([0 0 10 0]);
T(2) = Link([0 0 5 0]);
T(3) = Link([0 0 0 0]);%原本是两轴机器人,但是为了显示末端,在加一个轴
T(1).qlim = [0 pi];
T(2).qlim = [-pi/2 pi];
ws = SerialLink(T,'name','ws');
n=1;
for i = 0:0.1:pi
    for j = -pi/2:0.1:pi	%遍历所有可能的角度
    	%同一个机器人的多个图像不能同时显示,这里需要克隆多个名字不同的机器人
        clone = SerialLink(T,'name',strcat('clone',num2str(n)));	
        %在同一个窗口,绘制多个机器人
        clone.plot([i j 0],'workspace',[-16 16 -16 16 0 2],'view','top','noname','noshading','nowrist','noshadow','jointdiam',2,'linkcolor','g');
        n = n+1;
        hold on
    end
end

其中
‘workspace’,[xmn xmx ymn ymx zmn zmx] 矩形环境空间,根据实际情况选择参数
‘view’,‘top’ 初始观察方向,
‘noname’ 不显示机器人名字
‘noshading’ 不用光源,节约资源
‘nowrist’ 不显示坐标系
‘noshadow’ 不显示阴影
‘jointdiam’,2 关节高度
‘linkcolor’,‘g’ 关节轴颜色,绿色
结果展示
MATLAB Robotics Toolbox机器人工作空间显示
与答案对比
MATLAB Robotics Toolbox机器人工作空间显示
最后总结
这种方法只适用于简单的机器人,对于多关节的机器人工作空间的绘制会十分缓慢,建议使用robodk
而且我的代码克隆了很多机器人,导致后面越画越慢(不过之后我使用delete(clone)好像也没啥用)

相关标签: 机器人学导论