RRPR机械臂simulink建模及仿真

                                  RRPR机械臂建模及仿真

(1)机器人建模

在solidworks中绘制机械臂的简单模型,将零件文件导入simulink中,完成坐标系变换的设置,完成机械臂的搭建。

 

                                                                     Simulink机械臂搭建图

 

完成搭建后使用改进DH方法建立连杆坐标系,完成DH参数表,并求解工具坐标系到基坐标系的变换矩阵。

                           

                                                                       DH模型图

DH参数表为:

通过程序fk_test求得工具坐标系到基坐标系的变换矩阵为:

最后设置机械臂材料的密度为2.7g/cm3 ,完成建模。

 

                                        

                                                                 Simulink 仿真结果图

(2)反解模块

function [theta1,theta2,d,theta3] = my_ik(x,y,z,fi)

%输入x,y,z以及抓手的旋转角度

%输出关节空间的位置

p=sqrt(x^2+y^2);

u0=sqrt(1-((p^2+49/400-1/16)/((7/10)*p))^2); %也可取负值

u1=(p^2+49/400-1/16)/(7/10*p);

theta1=atan2(u0,u1)+atan2(y,x);

theta2=atan2(4*(cos(theta1)*y-sin(theta1)*x),4*(cos(theta1)*x+sin(theta1)*y-7/20));

d=1/8-z;

theta3=theta1+theta2-atan2(sin(fi),cos(fi));

end

(3)轨迹规划模块

采用关节空间的规划方法,根据教材上介绍的具有中间点的路径的三次多项式方法,当中间点速度已知时,可以得到

function [sdd,sd,s] = my_traj(Q,tf,t)

%输入关节经过的位置Q,Q为各个位置构成的向量,tf为位置点间的间隔时间,t为自然时间(仿真时间)

%输出轨迹,轨迹速度,轨迹加速度

n=length(Q)-1;

qd=[0];

 

for i=1:n-1

    qd=[qd my_vmid(Q(i),Q(i+1),Q(i+2),tf)]; %求中间点速度

end

qd0=qd;

qdf=[qd(2:end) 0];

if(t==0)   %跳过对0时间点的运算,否则仿真不成功

    i=1;

else

    i=ceil(t/tf); %向上取整

end

    X = [0 0 0 1;

        tf^3 tf^2 tf 1;

        0 0 1 0;

        3*tf^2 2*tf 1 0

    ];

    coeffs = (X \ [Q(i) Q(i+1) qd0(i) qdf(i)]')';

 

    coeffs_d = coeffs(1:3) .* (3:-1:1);

    coeffs_dd = coeffs_d(1:2) .* (2:-1:1);

 

    p = polyval(coeffs, t-(i-1)*tf);

    pd = polyval(coeffs_d, t-(i-1)*tf);

    pdd = polyval(coeffs_dd, t-(i-1)*tf);

   

    s=p;

    sd=pd;

    sdd=pdd;

end

   

    function v=my_vmid(x1,x2,x3,tf)

        v1=(x2-x1)/tf;

        v2=(x3-x2)/tf;

        if(v1*v2>=0)

            v=(v1+v2)/2;

        else

            v=0;

        end

end 

(4)单关节控制器

f为输出的力矩,q为位置反馈,w为速度反馈;qdd_in,qd_in,q_in分别为轨迹规划模块产生的期望的加速度,速度,位置的值。

通过仿真调节PID参数,得到

关节1控制器的Kp=74500,Kv=332,Ki=230000;位置误差曲线为

 

关节2控制器的Kp=89000,Kv=75,Ki=500000;位置误差曲线为

 

关节3控制器的Kp=365000,Kv=490,Ki=490000;位置误差曲线为

 

关节4控制器的Kp=99000,Kv=130,Ki=350000;位置误差曲线为

综上,四个控制器的误差总体控制在1%左右。

 

机械臂simulink仿真模型图

这是笔者完成的一个课程大作业,源文件已上传,于(2020.6.12)

链接:https://download.csdn.net/download/weixin_42075625/12518458

 

 

  • 16
    点赞
  • 194
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
要在Simulink中进行机械臂建模,可以按照以下步骤进行操作: 1. 在SolidWorks中绘制机械臂的简单模型,并将其保存为零件文件。确保模型中的零件组成符合机械臂的结构和运动方式。 2. 在Simulink中创建一个新的模型,并使用SimMechanics库来进行机械系统建模。 3. 导入SolidWorks中保存的零件文件到Simulink中。可以使用SimMechanics的插件来实现零件文件的导入。确保导入的零件文件与实际机械臂模型相匹配。 4. 设置机械臂的坐标系变换。根据机械臂的结构和运动方式,确定各个零件之间的坐标系关系,并在Simulink中进行相应的设置。这样可以确保机械臂的运动模拟符合实际情况。 5. 进行机械臂的搭建。根据机械臂的结构和运动方式,在Simulink中使用SimMechanics库中的刚体、约束和力元件等来搭建机械臂的模型。按照机械臂实际运动的方式,设置各个刚体之间的约束和连接关系。这样可以实现机械臂的运动仿真。 6. 进行仿真分析。使用Simulink仿真功能,根据机械臂的模型和运动规律,进行各种场景下的仿真分析。可以通过添加输入信号或者其他仿真参数来观察机械臂在不同条件下的运动情况和响应。 7. 分析仿真结果。通过Simulink仿真结果图,包括反解模块,可以对机械臂的运动进行分析。可以观察机械臂的关节角度、位移、速度等参数,评估机械臂的性能并进行改进。 综上所述,使用Simulink进行机械臂建模可以通过绘制模型、导入零件文件、设置坐标系变换和搭建机械臂模型等步骤来完成。然后可以进行仿真分析并分析仿真结果,以评估机械臂的性能和改进设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值