matlab - 機械臂 ,環境搭建及簡單應用

 

matlab安裝成功後,有自帶的robotics工具箱,不過還是要另外安裝工具箱(參考:https://shaynerain.com/機械臂(1)-機器人工具箱的獲取安裝/)(如果沒安裝的運行網上很多matlab代碼,都提示類似找不到 ~~~~~`link********)

1.可直接到官網下載http://www.petercorke.com/Robotics_Toolbox.html,可安裝9.10版本

2.解壓至matlab中的toolbox目錄下,然後再添加該工具箱(通過matlab主頁/設置路徑 /添加要包含的工具包)

不要按照上面的方式安裝,不要下載Zip文件,因爲使用它感覺缺失很多函數, 1.下載.mltbx文件,(網址:http://petercorke.com/wordpress/toolboxes/robotics-toolbox,   download RTB-10.3.1 mltbx format (23.2 MB) in MATLAB toolbox format (.mltbx)); 2.  把matlab當前目錄切換到要安裝mltbx文件所在目錄; 3.  雙擊安裝 ; 4.  然後在home/add-ons/ manger add-ons   可查看到已安裝的工具箱

參考:https://blog.csdn.net/dujiahei/article/details/80502972  

   http://www.manongjc.com/detail/7-dhnofadfkynbwtf.html

如果之前把下載的zip文件放到了toolbox目錄下,那請把它刪除,並在HOME/set  path/  中移除。

 

 

3.在命令輸入窗口鍵入: ver , 發現已經有了robotics toolbox

****命令窗口輸入: rtbdemo  即可查看該工具箱的所有demo

 

4. 安裝完成後,就可以簡單的運行下面這幾行代碼了。

下面是一個簡單的應用程序:

L1 = Link('d', 0, 'a', 160, 'alpha', -pi/2);
L2 = Link('d', 0, 'a', 580, 'alpha', 0,'offset',-pi/2);
L3 = Link('d', 0, 'a', 200, 'alpha', -pi/2);
L4 = Link('d', 640, 'a', 0, 'alpha', pi/2);
L5 = Link('d', 228, 'a', 0, 'alpha', -pi/2);
L6 = Link('d', 0, 'a', 0, 'alpha', 0);
robot=SerialLink([L1,L2,L3,L4,L5,L6]);   %SerialLink 類函數
robot.display();  %Link 類函數
theta=[0 0 0 0 0 0];
robot.plot(theta);   %SerialLink 類函數

 

 

 

 

L1 = Link([0 12.4 0 pi/2 0 -pi/2]);
L2 = Link([0 0 0 -pi/2 0 0]);
L3 = Link([0 15.43 0 pi/2 0 0]);
L4 = Link([0 0 0 -pi/2 0 0]);
L5 = Link([0 15.925 0 pi/2 0 0]);
L6 = Link([0 0 0 -pi/2 0 0]);
%L7 = Link([0 15.0 0 0 0 pi/2]);
% L8 = Link([0 13 0 0 0 0]);

ZJ = SerialLink([L1 L2 L3 L4 L5 L6 ],'name','6自由度機器人');
ZJ.teach(); %可以自由拖動的關節角度

% q0=[0 0 0 0 0 0 0];
% q1 = [3*pi .1745 pi/3 pi/2 .5236 pi/1.5 0];
% ZJ.plot(q0, 'floorlevel',-10);


n = 100000; %點的個數
x=zeros(n,1);
y=zeros(n,1);
z=zeros(n,1);

for i=1:n
q = get_num(-pi,pi,6); %function num = get_num(a,b,n)
 %num = a + (b-a)*rand(n,1);
 T = fkine(ZJ, q);  %獲得T陣
x(i) = T(1,4);
 y(i) = T(2,4);
 z(i) = T(3,4);
end

plot3(x,y,z,'ro','MarkerSize',5) %
xlabel('x')
ylabel('y')
zlabel('z')
grid on

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章