学习目标:
matlab机器人工具箱的使用(4)学习内容:
1、工作空间可视化学习记录:
思路:
随机生成一个关节变量-----fkine
------>变换矩阵------transl
--------->三维坐标
- rand函数
rand是在(0,1)内生成一个随机数
在[m,n]内随机生成一个数字:m+rand*(m-n)
随机关节空间变量:q=qmin+rand*(qmax-qmin)
- Link.qlim
限制关节角度的
本案例使用的《机器人控制技术》书中的机械臂模型,前面已经说明了它的DH参数。
%采用弧度制
L(1).qlim=[-180,180]/180*pi;
L(2).qlim=[-145,65]/180*pi;
L(3).qlim=[-65,220]/180*pi;
L(4).qlim=[-180,180]/180*pi;
L(5).qlim=[-135,135]/180*pi;
L(6).qlim=[-360,360]/180*pi;
可以验证一下设置的是否正确:
>> L(1).qlim
ans =
-3.1416 3.1416
绘制工作空间:
首先定义一个30000为迭代次数,P是一个[30000,3]的矩阵,事先声明一个这也的0矩阵可以加快运行速度。L(1).qlim(2)是最大限制,L(1).qlim(1)是最小限制,这就生成了关节随机变量,再组合成完整的关节随机变量,通过正运动学函数得到变换矩阵,在提取它的变换矩阵,赋值给P得到30000×3的位置矩阵。最后用plot函数绘制出点来。
num=30000;
P=zeros(num,3);
for i =1:num
q1=L(1).qlim(1)+rand*( L(1).qlim(2) - L(1).qlim(1) );
q2