UR5e机器人运动学与动力学模型与参数,机器人动力学参数辨识

UR5e机器人运动学与动力学模型与参数 %% UR5e_RTB clear; close all; clc;
target = \’matlab\’;
%%
if strcmp(target,\’xml\’)
alpha = [pi/2 0 0 p

%%UR5e_RTB

清除一切。

目标=\’MATLAB\’;

%%

if strcmp(目标,\’xml\’)

阿尔法=[pi/2 0 0 pi/2 -pi/2 0];

d=[0.163, 0, 0, 0.134, 0.1, 0.0771];% d 在z 方向上给出。

a=[0, -0.425, -0.392, 0, 0, 0]; % a 在x 方向上给出。

m=[3.7, 8.393, 2.275, 1.219, 1.219, 0.1889];

p_c1=[0, 0, 0];

p_c2=[0.2125, 0, 0.138];

p_c3=[0.196, 0, 0.007];

p_c4=[0, 0, 0];

p_c5=[0, 0, 0];

p_c6=[0, 0, 0];

In_1=diag([0.010267, 0.010267, 0.00660]);

In_2=diag([0.015107, 0.13389, 0.13389]);

In_3=diag([0.004095, 0.031178, 0.031178]);

In_4=diag([0.0025599, 0.0021942, 0.0025599]);

In_5=diag([0.0025599, 0.0025599, 0.0021942]);

In_6=diag([0.00009804, 0.00009804, 0.00013210]);

结尾

%% 来自RoboSuite XML 文件

% In_1=diag([0.010267, 0.010267, 0.00660]);

% In_2=diag([0.015107, 0.13389, 0.13389]);

% In_3=diag([0.004095, 0.031178, 0.031178]);

% In_4=diag([0.0025599, 0.0021942, 0.0025599]);

% In_5=diag([0.0025599, 0.0025599, 0.0021942]);

% In_6=诊断([0.00009804, 0.00009804, 0.00013210]);

%% 来自matlab UR5 转动惯量文件

if strcmp(目标,\’matlab\’)

阿尔法=[pi/2 0 0 pi/2 -pi/2 0];

d=[0.163, 0, 0, 0.134, 0.1, 0.0771];% d 在z 方向上给出。

a=[0, -0.425, -0.39225, 0, 0, 0]; % a 在x 方向上给出。

m=[3.7, 8.393, 2.33, 1.219, 1.219, 0.1889];

p_c1=[0, -0.02561, 0.00193];

p_c2=[0.2125, 0, 0.11336];

p_c3=[0.196, 0, 0.0265];

p_c4=[0, -0.0018, 0.01634];

p_c5=[0, -0.0018, 0.01634];

p_c6=[0, 0, -0.001159];

In_1=[0.010267, 0.00660, 0.010267];

In_2=[0.0151, 0.8849, 0.8849];

In_3=[0.004095, 0.1916, 0.1916];

In_4=[0.1112, 0.2194, 0.1112];

In_5=[0.1112, 0.2194, 0.1112];

In_6=[0.0171, 0.0171, 0.0338];

结尾

%%

L(1)=旋转(\’d\’, d(1),

\’a\’, a(1),

\’阿尔法\’, 阿尔法(1),

\’我\’, [In_1(1), In_1(2), In_1(3), 0, 0, 0],

\’r\’,p_c1,

\’m\’, m(1));

L(2)=旋转(\’d\’, d(2),

\’a\’, a(2),

\’阿尔法\’, 阿尔法(2),

\’我\’, [In_2(1), In_2(2), In_2(3), 0, 0, 0],

\’r\’,p_c2,

\’m\’, m(2));

L(3)=旋转(\’d\’, d(3),

\’a\’, a(3),

\’阿尔法\’, 阿尔法(3),

\’我\’, [In_3(1), In_3(2), In_3(3), 0, 0, 0],

\’r\’,p_c1,

\’m\’, m(1));

L(4)=旋转(\’d\’, d(4),

\’a\’, a(4),

\’阿尔法\’, 阿尔法(4),

\’我\’, [In_4(1), In_4(2), In_4(3), 0, 0, 0],

\’r\’,p_c4,

\’m\’, m(4));

L(5)=旋转(\’d\’, d(5),

\’a\’, a(5),

\’阿尔法\’, 阿尔法(5),

\’我\’, [In_5(1), In_5(2), In_5(3), 0, 0, 0],

\’r\’,p_c5,

\’m\’, m(5));

L(6)=旋转(\’d\’, d(6),

\’a\’, a(6),

“阿尔法”,阿尔法(6),

\’我\’, [In_6(1), In_6(2), In_6(3), 0, 0, 0],

\’r\’,p_c6,

\’m\’, m(6));

UR5e=SerialLink(L, \’名称\’, \’UR5e\’);

UR5e.sym()

%%

短信q1 q2 q3 q4 q5 q6 实数

模拟dq1 dq2 dq3 dq4 dq5 dq6 真实

q=[q1, q2, q3, q4, q5, q6];

dq=[dq1, dq2, dq3, dq4, dq5, dq6];

抽动症

M=UR5e.Inertia(q);

Jb=UR5e.jacobe(q);

C=UR5e.科里奥利(q,dq);

G=UR5e.gravload(q);

g_st_=UR5e.fkine(q);

Je=UR5e.jacob0(q);

目录

M=简化(M);

C=简化(C);

G=化简(G);

Jb=简化(Jb);

Je=化简(Je);

g_st=简化([g_st_.R, g_st_.t;

零(1,3),1]);

N=长度(q);

Jb_dot=零(6,N);

Je_dot=零(6,N);

对于k=1 : N

Jb_dot=Jb_dot + diff(Jb,q(k))*dq(k);

Je_dot=Je_dot + diff(Je,q(k))*dq(k);

结尾

Jb_dot=简化(Jb_dot);

Je_dot=简化(Je_dot);

%%

抽动症

matlabFunction(M,\’文件\’,\’sub_direct/M_fun\’,

\’变量\’,[q1, q2, q3, q4, q5, q6],\’输出\’,{\’M_mat\’});

目录

抽动症

matlabFunction(Jb,\’文件\’,\’sub_direct/Jb_fun\’,

\’变量\’,[q1, q2, q3, q4, q5, q6],\’输出\’,{\’J_mat\’});

目录

抽动症

matlabFunction(Jb_dot,\’文件\’,\’sub_direct/Jb_dot_fun\’,

\’变量\’,[q1, q2, q3, q4, q5, q6, dq1, dq2, dq3, dq4, dq5, dq6],\’输出\’,{\’dJ_mat\’});

目录

抽动症

matlabFunction(Je,\’文件\’,\’sub_direct/Je\’,

\’变量\’,[q1, q2, q3, q4, q5, q6],\’输出\’,{\’Je_mat\’});

目录

抽动症

matlabFunction(Je_dot,\’文件\’,\’sub_direct/Je_dot_fun\’,

\’变量\’,[q1, q2, q3, q4, q5, q6, dq1, dq2, dq3, dq4, dq5, dq6],\’输出\’,{\’dJe_mat\’});

目录

抽动症

matlabFunction(C,\’文件\’,\’sub_direct/C_fun\’,

\’变量\’,[q1, q2, q3, q4, q5, q6, dq1, dq2, dq3, dq4, dq5, dq6],\’输出\’,{\’C_mat\’});

目录

抽动症

matlabFunction(G,\’文件\’,\’sub_direct/G_fun\’,

\’变量\’,[q1, q2, q3, q4, q5, q6],\’输出\’,{\’G_torq\’});

目录

抽动症

matlabFunction(g_st,\’文件\’,\’sub_direct/g_st_fun\’,

\’变量\’,[q1, q2, q3, q4, q5, q6],\’输出\’,{\’g_st_mat\’});

目录

机器人惯量矩阵

函数M_mat=M_fun(q1,q2,q3,q4,q5,q6)

%M_fun

% M_mat=M_fun(Q1,Q2,Q3,Q4,Q5,Q6)

% 该函数由Symbolic Math Toolbox 9.0 版生成。

% 2023 年9 月7 日11:43:14

t2=cos(q3);

t3=cos(q4);

t4=cos(q5);

t5=sin(q2);

t6=sin(q3);

t7=sin(q4);

t8=sin(q5);

t9=q2+q5;

t10=q3+q4;

t11=q2.*2.0;

t12=q3.*2.0;

t13=q4.*2.0;

t14=q5.*2.0;

t20=-q5;

t40=atan(3.818188629788691e-2);

t42=atan(7.656026541520085e+2);

t44=9.934139466657452e+7;

t47=1.077033123737933e+9;

t15=t4.^2;

t16=q2+t10;

t17=q3+t9;

t18=sin(t9);

t19=sin(t10);

t21=-t14;

t23=t9+t10;

t27=q2+t20;

t37=t4.*3.38e-2;

t41=t6.*4.0271725e-2;

t45=-t42;

t46=t5.*3.53883322e-1;

t48=t2.*1.054733773125;

t50=t2.*t7.*6.92336305e-2;

t51=t3.*t6.*6.92336305e-2;

t55=t7.*1.2779713677e-1;

t56=t7.*6.3898568385e-2;

t60=t7.*7.747599173958887e+27;

t64=t6.*t7.*t8.*1.45620788325e-2;

t65=t4.*3.462224718e-3;

t66=t2.*t3.*t8.*1.45620788325e-2;

t71=t3.*t8.*1.3439942169525e-2;

t72=t3.*t8.*2.687988433905e-2;

t22=cos(t16);

t24=sin(t16);

t25=sin(t17);

t26=cos(t23);

t28=q3+t27;

t29=正弦(t27);

t30=q5+t23;

t31=t16+t20;

t32=t16+t21;

t43=-t41;

t49=q2+q3+t45;

t52=-t50;

t53=-t51;

t57=-t55;

t58=-t56;

t61=t19.*8.394466918884709e+27;

t62=t18.*7.28103941625e-3;

t67=-t64;

t68=-t65;

t70=t60-1.995836665581788e+27;

t86=t15.*1.52851393612391e-2;

t33=正弦(t28);

t34=cos(t30);

t35=cos(t31);

t36=cos(t32);

t38=t8.*t24.*3.38e-2;

t54=cos(t49);

t59=t22.*2.1793103212e-2;

t63=-t62;

t69=t29.*7.28103941625e-3;

t73=t25.*6.7199710847625e-3;

t75=t26.*4.0267812573e-3;

t76=t26.*5.645565393e-4;

t84=t61+t70-1.995836665581788e+27;

t85=(t4.*t70)./5.764607523034235e+29;

t87=t22.*2.379148606387609e-1;

t93=t58+t71+t86+3.639621178351609e-1;

t97=t43+t48+t52+t53+t57+t66+t67+t72+t86+1.531446074036411;

t39=-t38;

t74=-t73;

t77=t47.*t54.*1.3e-10;

t78=t33.*6.7199710847625e-3;

t79=-t75;

t80=-t76;

t81=t35.*4.0267812573e-3;

t82=t35.*5.645565393e-4;

t88=-t87;

t89=t34.*3.821284840309775e-3;

t90=t36.*3.821284840309775e-3;

t92=(t4.*t84)./5.764607523034235e+29;

t95=t52+t53+t66+t67+t93;

t83=-t82;

t91=-t90;

t94=t59+t80+t81+t89+t91;

t96=t63+t69+t74+t78+t79+t83+t88;

t98=t73+t77+t78+t94;

t99=t46+t62+t69+t98;

et1=t4.*9.1826755932e-3-t19.*6.92336305e-2+t58+cos(t10.*2.0+t11).*4.285508656149022e-2;

et2=sin(q3+t10+t11).*(-6.3898568385e-2)-sin(t10+t11+t20).*7.28103941625e-3+cos(t23.*2.0).*1.910642420154888e-3;

et3=cos(t10.*2.0+t11+t20).*(-1.731112359e-3)+cos(t10.*2.0+t11+t21).*1.910642420154888e-3;

et4=sin(q3+t10+t11+t20).*(-6.7199710847625e-3)+cos(t16+t23).*1.731112359e-3+sin(q4+q5).*6.7199710847625e-3;

et5=sin(q5+t10).*7.28103941625e-3-sin(q4+t20).*6.7199710847625e-3-sin(t10+t11).*6.92336305e-2;

et6=sin(t9+t16).*7.28103941625e-3-sin(t10+t20).*7.28103941625e-3+sin(t16+t17).*6.7199710847625e-3+cos(t11).*1.195796359375;

et7=cos(t14).*(-3.821284840309775e-3);

et8=(3.267693522137215e+25.*cos(t11+t12+atan(6.416451315410032e-2)))./5.62949953421312e+25+t44.*cos(q3+t40).*1.0625e-8+t44.* cos(q3+t11+t40).*1.0625e-8;

et9=2.264011855385696;

et10=t2.*2.10946754625-t6.*8.054345e-2+t57+t72+t86-t2.*t7.*1.38467261e-1-t3.*t6.*1.38467261e-1+t2.*t3.*t8 .*2.9124157665e-2;

et11=t6.*t7.*t8.*(-2.9124157665e-2)+3.938138792786411;

mt1=[et1+et2+et3+et4+et5+et6+et7+et8+et9,t99,t98,t94,t96,t39,t99,et10+et11,t97,t95,t92,t37,t98,t97,t57 +t72+t86+1.531446074036411,t93,t85,t37,t94,t95,t93];

mt2=[t8.^2.*(-1.52851393612391e-2)+3.792472571964e-1,t68,t37,t96,t92,t85,t68];

mt3=[2.379148606387609e-1,0.0,t39,t37,t37,t37,0.0,3.38e-2];

M_mat=重塑([mt1,mt2,mt3],6,6);

离心力与科氏力矩阵

函数C_mat=C_fun(q1,q2,q3,q4,q5,q6,dq1,dq2,dq3,dq4,dq5,dq6)

%C_fun

% C_mat=C_fun(Q1,Q2,Q3,Q4,Q5,Q6,DQ1,DQ2,DQ3,DQ4,DQ5,DQ6)

% 该函数由Symbolic Math Toolbox 9.0 版生成。

% 2023年9月7日11:43:18

t2=cos(q3);

t3=cos(q4);

t4=cos(q5);

t5=sin(q3);

t6=sin(q4);

t7=sin(q5);

t8=q2+q3;

t9=q2+q5;

t10=q3+q4;

t11=q4 + q5;

t12=q2.*2.0;

t13=q3.*2.0;

t14=q4.*2.0;

t15=q5.*2.0;

t26=-q5;

t16=sin(t12);

t17=sin(t15);

t18=cos(t8);

t19=cos(t9);

t20=cos(t10);

t21=cos(t11);

t22=q4+t8;

t23=q5+t8;

t24=q5+t10;

t25=sin(t8);

t27=-t15;

t31=t8+t11;

t33=q2+t8;

t38=q2+t26;

t39=q4+t26;

t40=t8.*2.0;

t43=t8+t26;

t44=t10+t26;

t73=dq2.*t7.*1.69e-2;

t74=dq3.*t7.*1.69e-2;

t75=dq4.*t7.*1.69e-2;

t76=dq5.*t7.*

以上#UR5e机器人运动学和力学模型及参数相关内容摘自网络,仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92594.html

(0)
CSDN's avatarCSDN
上一篇 2024年6月27日 下午5:36
下一篇 2024年6月27日 下午5:36

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注