MATLAB用来做机械臂的一些计算,找来一些demo还是跑不起来,就只能自己研究下怎么用
首先你需要这个玩意Robotics_Toolbox
下载地址:http://www.petercorke.com/Robotics_Toolbox.html 找个最新版本的下载就可以了
它是一个功能强大的机器人工具箱,包含了机器人正、逆向运动学,正、逆向动力学,轨迹规划,可视化仿真等等。
简化学习过程,快速学习机器人,学会跑demo
安装:
1.将Matlab_Robotic_Toolbox_v9.10.rar解压后,放在matlab的安装目录下,最好是放在toolbox文件夹里,
2.利用matlab的工具栏的setpath,将文件夹Matlab_Robotic_Toolbox_v9.10\rvctools设置为matlab的搜索目录,注意要包含所有的子文件夹,也就是子路径。就是path里应该完整的标注了所有的文件路径才对
3.在command window输入“startup_rvc”,安装工具箱。
4.在command window输入“ver”,command window会列出所有的工具箱,其中Robotics Toolbox已经包含在里面。
demo1,由D-H表画出机械臂的可达空间(reachable space)
%建立机器人模型
% theta d a alpha offset
L1=Link([0 0 2 pi/4 0 ]); %定义连杆的D-H参数,注意参数的顺序
L2=Link([0 0 1.8 pi/4 0 ]);
L3=Link([0 0 1 pi/2 0 ]);
% L4=Link([0 0 1 0 0 ]);
% L5=Link([0 0 2 0 0 ]);
% L6=Link([0 0 2 0 0 ]);
robot=SerialLink([L1 L2 L3 ],'name','manman'); %连接连杆,机器人取名manman
A=unifrnd(-pi,pi,[1,30000]);%第一关节变量限位
B=unifrnd(-pi,pi,[1,30000]);%第二关节变量限位
C=unifrnd(-pi,pi,[1,30000]);%第三关节变量限位
D=unifrnd(-pi,pi,[1,30000]);%第三关节变量限位
G= cell(30000, 3);%建立元胞数组
for n = 1:30000 %for循环的执行次数直接决定了程序要跑多久
G{n} =[A(n) B(n) C(n) ];
end %产生3000组随机点
H1=cell2mat(G); %将元胞数组转化为矩阵
T=double(robot.fkine(H1)); %机械臂正解
figure(1)
scatter3(squeeze(T(1,4,:)),squeeze(T(2,4,:)),squeeze(T(3,4,:)))%随机点图
robot.plot([pi/2 pi/4 0],'workspace',[-5 5 -5 5 -5 5 ],'tilesize',2)%机械臂图
后续参考文章来自csdn
Matlab机器人工具箱机械手建模详解(同知乎)
https://blog.csdn.net/u011661537/article/details/80397628
六轴机器人建模方法、正逆解、轨迹规划实例与Matalb Robotic Toolbox 的实现
https://blog.csdn.net/jldemanman/article/details/79229312
专栏
https://me.csdn.net/jldemanman
工作空间
https://blog.csdn.net/jldemanman/article/details/80911704
IK
https://blog.csdn.net/jldemanman/article/details/80785075
原版DH与改进DH
https://blog.csdn.net/jldemanman/article/details/80508683