xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 10KB
    文件類型: .7z
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-21
  • 語言: Matlab
  • 標簽:

資源簡介

這是一個利用MATLAB符號函數功能,通過手動輸入DH參數符號矩陣 or Excel文件導入DH參數表從而獲得DH矩陣的函數代碼。通過該代碼獲得的DH矩陣不僅能夠再次利用matlab計算所需變化矩陣,甚至還能將具體數值帶入求得的轉換矩陣中求得DH矩陣具體值。

資源截圖

代碼片段和文件信息

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%?????????????????????符號矩陣計算DH轉換矩陣公式
%?1、函數功能:[DofA]?=?m_SigalMesu(DH_table_or_excelnamesheetnamerange)
%????利用符號矩陣?or?excel文件導入?D-H參數表,自動獲得轉換矩陣
%????DH_table_or_excelname?——?DH參數符號矩陣?or?具有DH參數便表的excel文件名
%????sheetname?——?只有在excel導入時候才有作用,它表示導入數據在excel文件的sheetname?sheet中
%????range?——?只有在excel導入時候才有作用,它表示DH參數表范圍
%????Dof?——?轉換矩陣個數
%????A???——?轉換矩陣,三維數據。A(::i)為求得的第i個DH字符矩陣
%
%?2、D-H參數輸入格式:
%????[連桿1長度a1?連桿1扭角aerf1?關節1偏移量d1?關節1角度theta1;
%?????連桿2長度a2?連桿2扭角aerf2?關節2偏移量d2?關節2角度theta2;
%????????????????????????????....????????????????????????????]???
%????符號矩陣直接創建方法:
%????1)M?=?sym(‘[a2*b;3*a0]‘);
%????2)?M?=?str2sym(‘[a2*b;3*a0]‘);
%??注:sym函數可能不再適用
%
%?3、從excel導入輸入格式:
%????[DofA]?=?m_SigalMesu(‘excelname‘‘sheetname‘‘range‘)
%??如:[DofA]?=?m_SigalMesu(‘dh_test.xlsx‘‘sheet1‘‘B2:E8‘)
%
%
%
%??注:該函數如果輸入一個參數,則表示輸入為DH參數符號矩陣;
%??????如果需要從excel導入,則需要根據自己建立的參數表輸入:
%??????excel文件名、sheet名、甚至對應DH參數范圍
%
%?2019年5月15日
%?csdn博客名:BinHeon
%???????????https://blog.csdn.net/BinHeon/article/details/90245890
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function?[DofA]?=?m_SigalMesu(DH_table_or_excelnamesheetnamerange)

%%%%?%%%%?%%%%?輸入參數處理
if?nargin?==?1???????%%%%?輸入一個參數則默認該參數為DH參數字符矩陣
????DH_table?=?DH_table_or_excelname;
end
if?nargin?==?3???????%%%%?輸入三個參數則默認第一參數為excel名、第二為sheet名、第三為表范圍
%?讀取excel文件中的數據方法:
%?方法1:[datatext]?=?xlsread(FileName?SheetName?Range);
%?data保存的是數據單元格的值,?text保存的是字符串單元格的內容
%?方法2:[~~dh_table]?=?xlsread(FileName?SheetName?Range);
????[~~dh_table]?=?xlsread(DH_table_or_excelnamesheetnamerange);?%?導入excel中參數表
????DH_table?=?sym(dh_table);?%?將導入參數表字符化
end

%%%%?%%%%?%%%%?獲得D-H參數表中?轉換矩陣數目
[mn]?=?size(DH_table);?%?m為數目
Dof?=?m;
%%%%?%%%%?%%%%?計算每個轉換矩陣
%%%%?定義符號變量
%?syms?c_theta?s_theta?c_aerf?s_aerf?a?d;?%?定義符號變量
%?%%%%?定義d-h轉換矩陣公式?
%?dh_A?=?[c_theta??-s_theta*c_aerf??s_theta*s_aerf??a*c_theta?;
%?????????s_theta???c_theta*c_aerf??-c_theta*s_aerf?a*s_theta?;
%?????????0????????????s_aerf???????????c_aerf??????????d?????;
%?????????0??????????????0?????????????????0????????????1??????];%?D-H計算公式

syms?a?aerf?d?theta;?%?定義符號變量:a連桿長度?aerf連桿扭角?d關節偏移?theta關節轉角
%%%%?定義d-h轉換矩陣公式?
dh_A?=?[cos(theta)??-sin(theta)*cos(aerf)??sin(theta)*sin(aerf)??a*cos(theta)?;
????????sin(theta)???cos(theta)*cos(aerf)??-cos(theta)*sin(aerf)?a*sin(theta)?;
???????????0??????????????sin(aerf)??????????????cos(aerf)?????????????d??????;
???????????0???????????????????0??????????????????????0????????????????1??????];%?D-H計算公式

%%%%?計算每個轉換矩陣?Ai?并將?Ai?組成三維矩陣?A?保存;從而方便函數返回
for?i=1:m?%?總共有?m?個?轉換矩陣

????%?根據D-H參數表初始化對應D-H參數
????t_a?=?DH_table(i1);????%?獲得D-H參數表中第i個d-h參數的?連桿長度
????t_aerf?=?DH_table(i2);?%?獲得D-H參數表中第i個d-h參數的?連桿扭角
????t_d?=?DH_table(i3);????%?獲得D-H參數表中第i個d-h參數的?關節偏移
????t_theta?=?DH_table(i4);%?獲得D-H參數表中第i個d-h參數的?關節偏角
????%?獲得帶入參數后的符號矩

評論

共有 條評論

相關資源