MATLAB计算机器人工作空间【源码】


工作空间是机器人的一项重要性能指标,其表征了当机器人所有关节进行所有可能的运动时,其末端坐标系原点能够到达的位置集合和姿态集合。

一、计算机器人正运动学

求解工作空间的前提是正确计算机器人的正运动学,本文选取六自由度串联机器人,Stanford机器人,机器人坐标系与D-H参数表如下,这里不再赘述。建模过程可参考机器人学相关书籍。在这里插入图片描述在这里插入图片描述

二、求解工作空间

求解机器人工作空间的方法主要有图解法、解析法和数值法三种。
图解法是指根据机器人运动过程绘制机器人工作空间,该方法精确性较差且容易受到复杂结构的限制,主要在设计初期作方案对比时使用。解析法是根据机器人运动学约束关系,利用数学推导的方式得到机器人末端坐标系位姿关于各关节变量的数学解析表达式,这种方法虽然严谨,但是不具有直观性,并且对于关节数目较多的机器人求解过程较为繁琐。数值法是指按照特定的方法给定一定数目的关节变量值,运用运动学正解或逆解方程,求解这些关节变量对应的机器人末端坐标系位姿,典型的数值方法有网格法、Monte- Carlo法等。该方法虽然牺牲了一定的精度,但是计算效率高、易于图形化表达,是目前主要的工作空间求解方法。
本文选择Monte- Carlo法,其本质是随机遍历的方法。

求解工作空间时,需给定机器人的尺寸参数和各个关节的运动范围。
对于斯坦福机器人,给定初始参数为
d2=100
d6=80
d3=(10,30)
其余转动关节的角度范围均设定为-90度~+90度。
利用斯坦福机器人运动学正解求解工作空间,代码如下:

clear;
d2=100;
d6=80;
d3min=10;
d3max=30;
incr=0;
for Theta1=-pi:0.5:pi
   for Theta2=-pi:0.5:pi
        for d3=d3min:3:d3max
            for Theta4=-pi:0.5:pi
                for Theta5=-pi:0.5:0.8*pi
            incr=incr+1;
            PX(incr)=-sin(Theta1).*(d2+sin(Theta4).*sin(Theta5).*d6)+cos(Theta1).*(cos(Theta2).*cos(Theta4)*sin(Theta5)*d6+sin(Theta2)*(d3+cos(Theta5)*d6));
            PY(incr)=cos(Theta1).*(d2+sin(Theta4).*sin(Theta5).*d6)+sin(Theta1).*(cos(Theta2).*cos(Theta4)*sin(Theta5)*d6+sin(Theta2)*(d3+cos(Theta5)*d6));
            PZ(incr)=-cos(Theta4)*sin(Theta2)*sin(Theta5)*d6+cos(Theta2)*(d3+cos(Theta5)*d6);
                end
            end
        end
   end
end
plot3(PX,PY,PZ,'.b')

运行结果如下:

三维视图如下
三维视图

X-Y平面视图如下:
在这里插入图片描述
X-Z平面示意图如下:
在这里插入图片描述
Y-Z平面示意图如下:
在这里插入图片描述

总结

以上就是利用MATLAB求解串联机器人工作空间的源程序,如果有疑问欢迎在评论区讨论提问~

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学机械的鱼鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值