• 大小: 4KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-11
  • 语言: Matlab
  • 标签:

资源简介

将并联机器人的目的坐标变成电机的旋转角度,采用MATLAB软件写成的算法,可以在LABVIEW和其他软件联合编程调用。

资源截图

代码片段和文件信息

function solution=inverfun(PxxPyyPzzRRrrL11L22)
%Delta并联机器人运动学逆解
%  Px    X轴位移量(mm)
%  Py    Y轴位移量(mm)
%  Pz    Z轴位移量(mm)
%  R     基座电机分布圆半径(mm)
%  r     动平台铰接点分布圆半径(mm)
%  L1    驱动臂长度(mm)
%  L2    从动臂长度(mm)
Px=Pxx;Py=Pyy;Pz=Pzz;R=RR; r=rr; L1=L11; L2=L22;
function L2=s1fun(s1) %计算1号电动机转角
 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];                             %设定迭代初值
options=optimset(‘TolFun‘1e-64);   %设置fsolve函数优化选项
s1=fsolve(@s1funx0options);       %求解函数

function L2=s2fun(s2) %计算2号电动机转角
 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];                             %设定迭代初值
options=optimset(‘TolFun‘1e-64);   %设置fsolve函数优化选项
s2=fsolve(@s2funx0options);       %求解函数lxxfun

function L2=s3fun(s3) %计算3号电动机转角
 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];                             %设定迭代初值
options=optimset(‘TolFun‘1e-64);   %设置fsolve函数优化选项
s3=fsolve(@s3funx0options);       %求解函数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反解\Untitled2.m

     目录          0  2015-08-11 11:25  delta反解

----------- ---------  ---------- -----  ----

                10095                    6


评论

共有 条评论