机械臂动力学建模(4)- Lagrangian拉格朗日算法

Lagrangian算法

参考

哈密顿原理和拉格朗日的推导: 第六章拉格朗日动力学.

书籍:
机械工业出版社的《机器人学导论》145页开始
《Rigid Body Dynamics Algorithms》
《MODERN ROBOTICS MECHANICS, PLANNING, AND CONTROL》

文献: A New Lagrangian Formulation of Dynamics for Robot Manipulators.

思路

其实在ppt中和书中,会推导出一个叫拉格朗日函数的标量,由系统的动能和势能的差组成:在这里插入图片描述
并得到动力学方程:
在这里插入图片描述
进一步展开得到
lagrangian dynamics
但是式子中第一项直接求系统动能再对时间求导计算量巨大,所以使用了文献: A New Lagrangian Formulation of Dynamics for Robot Manipulators.的方法:
在这里插入图片描述
对动力学方程中的D、C、G分别计算。

实现

文献中式子 31、32、38、39、42、43

        delta{i} = T{i-1}(1:3, 3);
        lambda{i} = cross(T{i-1}(1:3, 4),  delta{i});
        w{i} = w{i-1} + delta{i} * qd(i);
        u{i} = u{i-1} + lambda{i} * qd(i);
        wd{i} = wd{i-1} + cross(w{i-1}, delta{i} * qd(i));
        ud{i} = ud{i-1} + cross(w{i-1}, lambda{i} * qd(i)) + cross(u{i-1}, delta{i} * qd(i));

文献中式子47、48、50、66、64

        K{i} = K{i+1} + I{i} + m(i) * skew(r{i}) * skew(r{i})';
        H{i} = H{i+1} + m(i) * r{i};
        M(i) = M(i+1) + m(i);
        N{i} = N{i+1} + I{i} * wd{i} + cross(w{i}, I{i} * w{i}) + cross(m(i) * r{i}, ud{i} + cross(wd{i}, r{i}) + cross(w{i}, u{i} + cross(w{i}, r{i})));
        D{i} = D{i+1}  + m(i) * (ud{i} + cross(wd{i}, r{i}) + cross(w{i}, u{i} + cross(w{i}, r{i})));

文献中式子58、59、60、65

    X{i} = K{i} * delta{i} + cross(H{i} ,  lambda{i});
    Y{i} = cross(delta{i}, H{i}) + M(i) * lambda{i};
    DD(i, j) = delta{i}' * X{j} +  lambda{i}' * Y{j};

4.带入动力学方程求解:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值