• Matlab 机器人工具箱 动力学



    #

    官网:Robotics Toolbox - Peter Corke

    R.dyn

    查看动力学参数

    mdl_puma560;
    p560.dyn;%查看puma560机械臂所有连杆的动力学参数
    p560.dyn(2);%查看puma560机械臂第二连杆的动力学参数
    p560.links(2).dyn;%查看puma560机械臂第二连杆的动力学参数
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    R.fdyn

    正动力学函数,根据力矩求解关节值。

    [Tsim, q, qd] = R.fdyn(T, torqfun)
    
    • 1

    输入:T表示整个时间间隔,torqfun表示力矩函数
    输出:Tsim表示每个采样时间点,q、qd表示各关节角度、角速度

    [T, q, qd] = R.fdyn(T, torqfun, q0, dq0, ARG1, ARG2, ...)
    % PD控制例子
    [t, q] = R.fdyn(10, @mytorqfun, qstar, P, D);
    function tau = mytorqfun(t, q, qd, qstar, P, D)
    tau = P*(qstar-q) + D*qd;
    
    • 1
    • 2
    • 3
    • 4
    • 5

    设定关节角度、角速度的初值,并确定力矩函数中所含的参数。

    R.accel

    计算角加速度。

    qdd = R.accel(q,qd,torqfun); %输入位置、速度、力矩,求解角加速度
    
    • 1
    % torqfun = [0,30,6,0,0,0];%设定一组关节力
    bot_nf=bot.nofriction();
    [T,q,qd] = bot_nf.fdyn(1, torqfun)
    for i=1:65,
    	qdd = bot_nf.accel(q(i,:),qd(i,:),torqfun)
    end
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    R.rne

    根据关节值求解所需力矩。

    % 根据关节角度、角速度、角加速度等信息,求解各关节所需力矩
    tau = R.rne(q, qd, qdd)
    % 根据关节角度、角速度、角加速度、机器人末端作用力fext,求解各关节所需力矩
    tau = R.rne(q, qd, qdd, grav, fext)
    % 其中grav是重力加速度
    % 其中fext=[Fx Fy Fz Mx My Mz]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    R.gravload

    求解重力载荷

    >> mdl_puma560;
    >> p560.gravload([1 2 3 4 5 6])%给定关节角度,求解出重力载荷
    ans =
        0.0000   -7.9683    8.4581   -0.0197    0.0027         0
    
    • 1
    • 2
    • 3
    • 4

    R.inertia

    求解关节空间惯性矩阵

    >> mdl_puma560;
    >> p560.inertia([1 2 3 4 5 6])%给定关节角度,求解出关节空间惯性矩阵
    ans =
        2.6152   -0.6550   -0.0363    0.0001    0.0010    0.0000
       -0.6550    4.3038    0.2953   -0.0008   -0.0017    0.0000
       -0.0363    0.2953    0.9366   -0.0009   -0.0006    0.0000
        0.0001   -0.0008   -0.0009    0.1926    0.0000    0.0000
        0.0010   -0.0017   -0.0006    0.0000    0.1713    0.0000
        0.0000    0.0000    0.0000    0.0000    0.0000    0.1941
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    R.coriolis

    求解科氏力和向心力的耦合矩阵

    >> mdl_puma560;
    >> qd = [0.1 0.1 0.1 0.1 0.1 0.1];%给定关节速度
    >> C = p560.coriolis(qn,qd)%给定关节角度、关节速度,计算科式力和向心力的耦合矩阵
    C =
       -0.0267   -0.1291    0.0170   -0.0000   -0.0003    0.0000
        0.0627    0.0386    0.0771   -0.0002   -0.0000   -0.0000
       -0.0361   -0.0387   -0.0001   -0.0001   -0.0003   -0.0000
        0.0000    0.0001   -0.0000    0.0000    0.0000   -0.0000
       -0.0000    0.0001    0.0002   -0.0000   -0.0000   -0.0000
        0.0000    0.0000    0.0000    0.0000    0.0000         0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    R.payload

    求解有效载荷

    >> mdl_puma560;
    >> p560.inertia([1 2 3 4 5 6])%没有施加有效载荷时的惯性矩阵
    ans =
        2.6152   -0.6550   -0.0363    0.0001    0.0010    0.0000
       -0.6550    4.3038    0.2953   -0.0008   -0.0017    0.0000
       -0.0363    0.2953    0.9366   -0.0009   -0.0006    0.0000
        0.0001   -0.0008   -0.0009    0.1926    0.0000    0.0000
        0.0010   -0.0017   -0.0006    0.0000    0.1713    0.0000
        0.0000    0.0000    0.0000    0.0000    0.0000    0.1941
    >> p560.payload(1,[0,0.1,0.2])%施加有效载荷
    >> p560.inertia([1 2 3 4 5 6])%施加有效载荷后的惯性矩阵
    ans =
        2.8033   -0.8506   -0.0951    0.0079    0.0778    0.0368
       -0.8506    4.6513    0.4828   -0.0858   -0.1011   -0.0584
       -0.0951    0.4828    1.1338   -0.0988   -0.0169   -0.0214
        0.0079   -0.0858   -0.0988    0.2416    0.0029    0.0082
        0.0778   -0.1011   -0.0169    0.0029    0.2120    0.0192
        0.0368   -0.0584   -0.0214    0.0082    0.0192    0.2041
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    参考链接

    MATLAB机器人工具箱【3】—— 动力学相关函数及用法

  • 相关阅读:
    Mysql
    原来大厂都是这样监控Tomcat性能的,废话不多说,直接开干
    基于vue3和element-plus的省市区级联组件
    Abbkine TraKine Pro 活细胞微管染色试剂盒重要特色
    深入剖析SpringIOC和AOP的原理,收藏夹中的不二之选!!!
    何时以及如何使用try、catch和throw关键字
    Ubuntu 上卸载并重新安装 MySQL
    VB机动车租赁管理系统设计与实现
    【Hadoop】MapReduce详解
    制作一个简单HTML旅游网站(HTML+CSS+JS)无锡旅游网页设计与实现8个页面
  • 原文地址:https://blog.csdn.net/zjh2883/article/details/136425141