本实施例中导出,并通过使用MATLAB®和符号数学工具箱™适用逆运动学到一个双连杆机器人臂。 的例子定义的关节参数和端部执行器的位置象征性地,计算和可视化的正向和反向运动解决方案,并发现该系统的雅可比行列式,这是用于模拟机器人臂的运动是有用的。金宝搏官方网站
定义的链路长度,关节角度和机器人作为符号变量的端部执行器的位置。 用于机器人的链路长度指定值。 限定端部执行器的X和Y坐标作为关节角度的函数 转换的符号表达式到MATLAB的功能。 正向运动学变换的关节角度成端部执行器的位置: 指定的关节角度作为输入值 从度转换的角度单位弧度。 使用MATLAB函数计算X和Y坐标 使用可视化辅助功能的X和Y坐标 逆运动学变换末端执行器的位置分成关节角度: 定义正向运动学方程。 求解 结构
显示了对解决方案金宝搏官方网站
第1步:定义几何参数
SYMS
L1 = 1;L2 = 0.5;
步骤2:定义末端执行器的X和Y坐标
XE_RHS = L_1 * COS(theta_1)+ L_2 * COS(+ theta_1 theta_2)
XE_RHS =
YE_RHS = L_1 * SIN(theta_1)+ L_2 * SIN(+ theta_1 theta_2)
YE_RHS =
XE_MLF = matlabFunction(XE_RHS,
第3步:计算和可视化正向运动学
t1_degs_row = linspace(0,90,100);t2_degs_row = linspace(-180,180,100);[tt1_degs,tt2_degs] = meshgrid(t1_degs_row,t2_degs_row);
tt1_rads = deg2rad(tt1_degs);tt2_rads = deg2rad(tt2_degs);
X_mat = XE_MLF(L1,L2,tt1_rads,tt2_rads);Y_mat = YE_MLF(L1,L2,tt1_rads,tt2_rads);
plot_XY_given_theta_2dof(tt1_degs,tt2_degs,X_mat,Y_mat,(L1 + L2))
第4步:
XE_EQ = XE == XE_RHS;YE_EQ = YE == YE_RHS;
S =解决([XE_EQ YE_EQ],[theta_1 theta_2])
S =
简化(S.theta_1)
ANS =
简化(S.theta_2)
ANS =
转换解决方案集成到MAT金宝搏官方网站LAB的功能,你可以在以后使用。功能 使用逆运动学计算 定义X和Y坐标的网格点。 计算角度 从弧度到度转换的角度单位。 一些输入坐标,例如(X,Y)=(1.5,1.5)的,超出了端部执行器的可到达工作区。反向运动学解决方案,可以产生需要纠正一些虚2θ金宝搏官方网站值。纠正虚2θ值。 可视角度 该系统的雅可比是这样定义的:
TH1_MLF {1} = matlabFunction(S.theta_1(1),
步骤5:计算和可视化逆运动学
[xmat,ymat] = meshgrid(0:0.01:1.5,0:0.01:1.5);
tmp_th1_mat = TH1_MLF {1}(L1,L2,xmat,ymat);tmp_th2_mat = TH2_MLF {1}(L1,L2,xmat,ymat);
tmp_th1_mat = rad2deg(tmp_th1_mat);tmp_th2_mat = rad2deg(tmp_th2_mat);
th1_mat = NaN的(大小(tmp_th1_mat));th2_mat = NaN的(大小(tmp_th2_mat));tf_mat = IMAG(tmp_th1_mat)== 0;th1_mat(tf_mat)=实际(tmp_th1_mat(tf_mat));tf_mat = IMAG(tmp_th2_mat)== 0;th2_mat(tf_mat)=实际(tmp_th2_mat(tf_mat));
plot_theta_given_XY_2dof(xmat,ymat,th1_mat,th2_mat)
第6步:计算系统的雅可比
the_J =雅可比([XE_RHS YE_RHS],[theta_1 theta_2])
the_J =
您可以围绕涉及关节速度与末端执行器的速度,以及其他方式,通过使用该系统的雅可比:
您还可以在雅可比的象征性表达转换为MATLAB功能块。通过定义多个航点作为输入到Simulink模型模拟一个轨迹机器人的末端执行器的位置。金宝app仿真模型金宝app可以计算基于所述关节角的值的运动轮廓以到达所述轨迹的每个路点。有关详细信息,请参阅辅助函数
功能