-
大小: 4KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-11
- 語言: Matlab
- 標(biāo)簽:
資源簡介
將并聯(lián)機(jī)器人的目的坐標(biāo)變成電機(jī)的旋轉(zhuǎn)角度,采用MATLAB軟件寫成的算法,可以在LABVIEW和其他軟件聯(lián)合編程調(diào)用。

代碼片段和文件信息
function?solution=inverfun(PxxPyyPzzRRrrL11L22)
%Delta并聯(lián)機(jī)器人運(yùn)動學(xué)逆解
%??Px????X軸位移量(mm)
%??Py????Y軸位移量(mm)
%??Pz????Z軸位移量(mm)
%??R?????基座電機(jī)分布圓半徑(mm)
%??r?????動平臺鉸接點分布圓半徑(mm)
%??L1????驅(qū)動臂長度(mm)
%??L2????從動臂長度(mm)
Px=Pxx;Py=Pyy;Pz=Pzz;R=RR;?r=rr;?L1=L11;?L2=L22;
function?L2=s1fun(s1)?%計算1號電動機(jī)轉(zhuǎn)角
?L2?=abs((Py?-?R?+?r?-?L1*cos((pi*s1)/180))*(conj(Py)?-?conj(R)?+?conj(r)?-?conj(L1)*cos((pi*conj(s1))/180))?+?(conj(Pz)?-?conj(L1)*sin((pi*conj(s1))/180))*(Pz?-?L1*sin((pi*s1)/180))??+?(Px?-?(4967757600021511*R)/81129638414606681695789005144064?+?(4967757600021511*r)/81129638414606681695789005144064)*(conj(Px)?-?(4967757600021511*conj(R))/81129638414606681695789005144064?+?(4967757600021511*conj(r))/81129638414606681695789005144064))^(1/2);
end
x0=[0];?????????????????????????????%設(shè)定迭代初值
options=optimset(‘TolFun‘1e-64);???%設(shè)置fsolve函數(shù)優(yōu)化選項
s1=fsolve(@s1funx0options);???????%求解函數(shù)
function?L2=s2fun(s2)?%計算2號電動機(jī)轉(zhuǎn)角
?L2?=abs((conj(Py)?+?conj(R)/2?-?conj(r)/2?+?(conj(L1)*cos((pi*conj(s2))/180))/2)*(Py?+?R/2?-?r/2?+?(L1*cos((pi*s2)/180))/2)?+?(conj(Px)?+?(3^(1/2)*conj(R))/2?-?(3^(1/2)*conj(r))/2??+?(3^(1/2)*conj(L1)*cos((pi*conj(s2))/180))/2)*(Px?+?(3^(1/2)*R)/2?-?(3^(1/2)*r)/2?+?(3^(1/2)*L1*cos((pi*s2)/180))/2)?+?(conj(Pz)?-?conj(L1)*sin((pi*conj(s2))/180))*(Pz??-?L1*sin((pi*s2)/180)))^(1/2);
end
x0=[0];?????????????????????????????%設(shè)定迭代初值
options=optimset(‘TolFun‘1e-64);???%設(shè)置fsolve函數(shù)優(yōu)化選項
s2=fsolve(@s2funx0options);???????%求解函數(shù)lxxfun
function?L2=s3fun(s3)?%計算3號電動機(jī)轉(zhuǎn)角
?L2?=abs((conj(Py)?+?conj(R)/2?-?conj(r)/2?+?(conj(L1)*cos((pi*conj(s3))/180))/2)*(Py?+?R/2?-?r/2?+?(L1*cos((pi*s3)/180))/2)?+?(conj(Px)?-?(3^(1/2)*conj(R))/2??+?(3^(1/2)*conj(r))/2?-?(3^(1/2)*conj(L1)*cos((pi*conj(s3))/180))/2)*(Px?-??(3^(1/2)*R)/2?+?(3^(1/2)*r)/2?-?(3^(1/2)*L1*cos((pi*s3)/180))/2)?+?(conj(Pz)?-?conj(L1)*sin((pi*conj(s3))/180))*(Pz?-?L1*sin((pi*s3)/180)))^(1/2);
end
x0=[0];?????????????????????????????%設(shè)定迭代初值
options=optimset(‘TolFun‘1e-64);???%設(shè)置fsolve函數(shù)優(yōu)化選項
s3=fsolve(@s3funx0options);???????%求解函數(shù)lxxfun
solution=[s1;s2;s3]
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2198??2015-08-10?02:41??delta反解\inverfun.asv
?????文件???????2198??2015-08-07?11:22??delta反解\inverfun.m
?????文件???????2825??2015-08-07?10:55??delta反解\RSS_parallel.asv
?????文件???????2747??2015-08-07?10:56??delta反解\RSS_parallel.m
?????文件????????127??2015-08-07?11:08??delta反解\Unti
?????目錄??????????0??2015-08-11?11:25??delta反解
-----------?---------??----------?-----??----
????????????????10095????????????????????6
評論
共有 條評論