婚恋网站哪家做的最好,湘潭专业seo优化价格,网络营销服务工具,广告策划书模板word一、动力学方程 机器人的动力学公式描述如下#xff1a; 式中#xff0c; τ \boldsymbol{\tau} τ表示关节驱动力矩矢量#xff1b; q , q ˙ , q \boldsymbol{q} ,\; \dot{\boldsymbol { q }} ,\; \ddot{\boldsymbol { q }} q,q˙,q分别为广义的关节位置、速度和加速…一、动力学方程 机器人的动力学公式描述如下 式中 τ \boldsymbol{\tau} τ表示关节驱动力矩矢量 q , q ˙ , q ¨ \boldsymbol{q} ,\; \dot{\boldsymbol { q }} ,\; \ddot{\boldsymbol { q }} q,q˙,q¨分别为广义的关节位置、速度和加速度 M \boldsymbol{M} M为关节的空间惯量矩阵 C \boldsymbol{C} C为科氏力和离心力耦合矩阵 G \boldsymbol{G} G为重力 F f \boldsymbol{F}_f Ff为关节摩擦力。 机器人的动力学参数包括惯性参数和摩擦参数。 1惯性参数有连杆质量 m m m、相对于连杆坐标系的质心矢量 r \boldsymbol{r} r和转动惯量矩阵 I \boldsymbol{I} I。其中质心矢量 r \boldsymbol{r} r可以表示为 式中 r x r_x rx、 r y r_y ry和 r z r_z rz分别表示质心矢量 r \boldsymbol{r} r在连杆坐标系下三个坐标轴的分量。转动惯量矩阵 I \boldsymbol{I} I为包含六个独立元素的二维矩阵表示为 式中主对角元素为惯性矩非主对角元素为惯性积。 2机器人动力学建模中常用的摩擦模型为库伦-粘滞摩擦模型其表达式为 式中 f c f_c fc和 f v f_v fv分别表示库伦摩擦系数和粘滞摩擦系数 v v v表示关节速度。注意对于库伦摩擦系数的处理不同人有不同的处理有的地方认为库伦摩擦是对称的即当机器人关节正向旋转和反向旋转时库伦摩擦力大小相等方向相反也即 f c f c − f_c^ f_c^- fcfc−也有的地方认为库伦摩擦是非对称的即当机器人关节正向旋转和反向旋转时库伦摩擦力大小不相等。
二、机器人工具箱描述动力学方程
2.1 动力学参数赋值 在机器人工具箱中提供了如下动力学参数输入接口 1Link.m表示连杆的质量 2Link.r表示连杆的质心矢量 3Link.I表示连杆的惯量矩阵 4Link.Jm表示驱动电机的转动惯量 5Link.B表示粘滞摩擦系数 6Link.Tc表示库伦摩擦系数 7Link.G表示电机齿轮传动比默认为1 这里仍然以3-DOF平面机械臂为例
%% 动力学
% RRR机械臂
clear;
close all;
clc;% theta(z) d(z) a(x) alpha(x)
RRR_L(1) Link([ 0 0 1 0 ],standard);
RRR_L(2) Link([ 0 0 0.8 0 ],standard);
RRR_L(3) Link([ 0 0 0.6 0 ],standard);% 连杆1动力学参数
RRR_L(1).m 4.0;
RRR_L(1).r [0.12; 0.08; 0.31];
RRR_L(1).I [0.32 0.01 0.02;0.01 0.12 0.11;0.02 0.11 0.41];
RRR_L(1).Jm 0.0012;
RRR_L(1).B 0.00148;
RRR_L(1).Tc [0.395, -0.435];
RRR_L(1).G 1.2;% 连杆2动力学参数
RRR_L(2).m 15.2;
RRR_L(2).r [-0.475; 0.097; 0.06];
RRR_L(2).I [1.21 0.21 0.32;0.21 0.52 0.11;0.32 0.11 0.51];
RRR_L(2).Jm 0.0048;
RRR_L(2).B 0.00329;
RRR_L(2).Tc [0.462; -0.561];
RRR_L(2).G 1.4;% 连杆3动力学参数
RRR_L(3).m 0.6;
RRR_L(3).r [0.01; 0.097; 0.016];
RRR_L(3).I [0.021 0.03 0.382;0.03 0.152 0.11;0.382 0.11 0.651];
RRR_L(3).Jm 0.0061;
RRR_L(3).B 0.00429;
RRR_L(3).Tc [0.262; -0.661];
RRR_L(3).G 1.7;three_link SerialLink(RRR_L, name, 3-DOF);采用dyn( )函数可以查看动力学参数如图所示
2.2 动力学方程中的各项表示
1空间惯量矩阵 M ( q ) \boldsymbol{M}(\boldsymbol{q}) M(q) 机器人的空间惯量是机器人各关节的位姿的函数在不同机器人位形时具有不同的值。机器人工具箱中可以调用robot.inertia(q)函数获得空间惯量矩阵。 例如当3-DOF平面机械臂三个关节角度为30°、45°和60°时其空间惯量矩阵为
2科氏力和离心力耦合矩阵 C ( q , q ˙ ) \boldsymbol{C}(\boldsymbol{q},\dot{\boldsymbol{q}}) C(q,q˙) 科氏力和离心力耦合矩阵是关节位置和速度的函数。机器人工具箱中可以调用robot.coriolis(q, qd)函数获得该耦合矩阵。 例如当3-DOF平面机械臂三个关节角度为30°、45°和60°三个关节速度为10°/s、20°/s和30°/s时其科氏力和离心力耦合矩阵为
3重力矩阵 G ( q ) \boldsymbol{G}(\boldsymbol{q}) G(q) 重力矩阵与机器人的位形有关是对各关节所受重力的描述其值不受机器人的运动的影响。机器人工具箱中可以调用robot.gravload(q, grav)函数来获得重力矩阵其中grav自定义重力加速度向量。 例如当3-DOF平面机械臂三个关节角度为30°、45°和60°重力加速度向量为 y y y轴负向即grav [0; -9.8; 0]。重力矩阵为
4摩擦力矩阵 F f ( q ˙ ) \boldsymbol{F}_f(\dot{\boldsymbol{q}}) Ff(q˙) 摩擦力矩阵是由各关节的给定摩擦参数数值决定的大小与各关节的速度有关。机器人工具箱中可以调用robot.friction(qd)函数来获得重力矩阵。 例如当3-DOF平面机械臂三个关节速度为10°/s、20°/s和30°/s时其摩擦力矩阵为
三、逆动力学分析 机器人的逆动力学分析是在给定机器人关节位置、速度和加速度时计算得到机器人各关节所需要的力和力矩大小。机器人工具箱中可以调用robot.rne(q, qd, qdd, grav)函数来计算逆动力学。其中q, qd, qdd分别表示机器人关节位置、速度和加速度grav表示自定义的重力加速度矢量。除此之外还可以添加参数fext表示末端执行器受到的外力和力矩 [ F x , F y , F z , τ x , τ y , τ z ] [F_x,\: F_y,\: F_z,\: \tau_x,\: \tau_y,\: \tau_z] [Fx,Fy,Fz,τx,τy,τz] 例子让3-DOF平面机械臂按照下图所示的轨迹运动。
代码
%% 动力学
% RRR机械臂
clear;
close all;
clc;% theta(z) d(z) a(x) alpha(x)
RRR_L(1) Link([ 0 0 1 0 ],standard);
RRR_L(2) Link([ 0 0 0.8 0 ],standard);
RRR_L(3) Link([ 0 0 0.6 0 ],standard);% 连杆1动力学参数
RRR_L(1).m 4.0;
RRR_L(1).r [0.12; 0.08; 0.31];
RRR_L(1).I [0.32 0.01 0.02;0.01 0.12 0.11;0.02 0.11 0.41];
RRR_L(1).Jm 0.0012;
RRR_L(1).B 0.00148;
RRR_L(1).Tc [0.395, -0.435];
RRR_L(1).G 1.2;% 连杆2动力学参数
RRR_L(2).m 15.2;
RRR_L(2).r [-0.475; 0.097; 0.06];
RRR_L(2).I [1.21 0.21 0.32;0.21 0.52 0.11;0.32 0.11 0.51];
RRR_L(2).Jm 0.0048;
RRR_L(2).B 0.00329;
RRR_L(2).Tc [0.462; -0.561];
RRR_L(2).G 1.4;% 连杆3动力学参数
RRR_L(3).m 5.6;
RRR_L(3).r [0.01; 0.097; 0.016];
RRR_L(3).I [0.921 0.03 0.382;0.03 0.252 0.11;0.382 0.11 1.251];
RRR_L(3).Jm 0.0061;
RRR_L(3).B 0.00429;
RRR_L(3).Tc [0.262; -0.661];
RRR_L(3).G 1.7;three_link SerialLink(RRR_L, name, 3-DOF);delta_t 0.02;
t 0:delta_t:4;
m length(t);theta1 60*sin(4*pi*t/4);
theta2 60*sin(2*pi*t/4);
theta3 30*sin(2*pi*t/4);theta1_d 60*pi*cos(4*pi*t/4);
theta2_d 30*pi*cos(2*pi*t/4);
theta3_d 15*pi*cos(2*pi*t/4);theta1_dd -60*pi*pi*sin(4*pi*t/4);
theta2_dd -15*pi*pi*sin(2*pi*t/4);
theta3_dd -7.5*pi*pi*sin(2*pi*t/4);q [theta1;theta2;theta3]*pi/180;
qd [theta1_d;theta2_d;theta3_d]*pi/180;
qdd [theta1_dd;theta2_dd;theta3_dd]*pi/180;% 关节位置、速度、加速度绘图
figure(1)
subplot(3,1,1)
plot(t, q(:,1)*180/pi, b)
hold on
plot(t, q(:,2)*180/pi, r--)
hold on
plot(t, q(:,3)*180/pi, m)
xlabel(time (s), Interpreter, latex)
ylabel($\theta$ (deg), Interpreter, latex)
legend($\theta_1$,$\theta_2$,$\theta_3$, Interpreter, latex)
set(gca, FontName,Times New Roman)subplot(3,1,2)
plot(t, qd(:,1)*180/pi, b)
hold on
plot(t, qd(:,2)*180/pi, r--)
hold on
plot(t, qd(:,3)*180/pi, m)
xlabel(time (s), Interpreter, latex)
ylabel($\dot{\theta}$ (deg), Interpreter, latex)
legend($\dot{\theta_1}$,$\dot{\theta_2}$,$\dot{\theta_3}$, Interpreter, latex)
set(gca, FontName,Times New Roman)subplot(3,1,3)
plot(t, qdd(:,1)*180/pi, b)
hold on
plot(t, qdd(:,2)*180/pi, r--)
hold on
plot(t, qdd(:,3)*180/pi, m)
xlabel(time (s), Interpreter, latex)
ylabel($\ddot{\theta}$ (deg), Interpreter, latex)
legend($\ddot{\theta_1}$,$\ddot{\theta_2}$,$\ddot{\theta_3}$, Interpreter, latex)
set(gca, FontName,Times New Roman)set(gcf, color,[1 1 1]);% 运动示意
figure(2)
three_link.plot(q,trail,b);% 逆动力学
grav [0; -9.8; 0];
tau three_link.rne(q, qd, qdd, grav);% 关节驱动力矩
figure(3)
plot(t,tau(:,1), b)
hold on
plot(t, tau(:,2), r--)
hold on
plot(t, tau(:,3), m)
xlabel(time (s), Interpreter, latex)
ylabel($\tau$ (N/m), Interpreter, latex)
legend($\tau_1$,$\tau_2$,$\tau_3$, Interpreter, latex)
set(gca, FontName,Times New Roman)
set(gcf, color,[1 1 1]);运行结果
四、结语 机器人工具箱还有其他的一些应用譬如正动力学分析、视觉相关应用等不过笔者对这些没有接触过就不误导大家了。 我是木头人以上全是个人见解有问题请大家评论区指出大家共同进步