机器人工具箱在matlab2019上使用报错——解决小记

前言:机器人工具箱在matlab2018中使用的时候没错误,同样的代码在安装有机器人工具箱的matlab2019版本中却出现错误。

代码:

%        theta  d        a        alpha    offset
L1 = Link([0     0           0        -pi/2    0],'standard');
L2 = Link([0     0.19        0.650    0        0],'standard');
L3 = Link([0     0           0        pi/2     0],'standard');
L4 = Link([0     0.600       0        -pi/2    0],'standard');
L5 = Link([0     0           0        pi/2     0],'standard');
L6 = Link([0     0           0        0        0],'standard');
robot=SerialLink([L1 L2 L3 L4 L5 L6],'name','PUMA 762');
% theta=[-pi/2 -pi/2 pi/2 0 0 0];
% view(3)
% robot.plot(theta);
teach(robot);

错误如下:

机器人工具箱在matlab2019上使用报错——解决小记_第1张图片机器人工具箱在matlab2019上使用报错——解决小记_第2张图片

这是因为matlab2019版本的figure图框在可视化模型的时候应该是以三维的方式显示。所以在figure之前或teach()之前都应加上view(3).如下将上面的注释代码行取消后:

%        theta  d        a        alpha    offset
L1 = Link([0     0           0        -pi/2    0],'standard');
L2 = Link([0     0.19        0.650    0        0],'standard');
L3 = Link([0     0           0        pi/2     0],'standard');
L4 = Link([0     0.600       0        -pi/2    0],'standard');
L5 = Link([0     0           0        pi/2     0],'standard');
L6 = Link([0     0           0        0        0],'standard');
robot=SerialLink([L1 L2 L3 L4 L5 L6],'name','PUMA 762');
theta=[-pi/2 -pi/2 pi/2 0 0 0];
view(3)
robot.plot(theta);
teach(robot);

不报错,显示结果正常。

机器人工具箱在matlab2019上使用报错——解决小记_第3张图片

另外。在附加功能中下载的PUMA_Simulation在运行时也会因为figure图框的原因出错(在matlab2018中不会出错)

报错的时候显示的是:

看报错提示,知道是由于在MATLAB2019中figure图框,即fig_1不为其他控件所共用。所以我在初始化程序中添加了对figure的初始化,使其对其他控件共享。

机器人工具箱在matlab2019上使用报错——解决小记_第4张图片

运行正常:

机器人工具箱在matlab2019上使用报错——解决小记_第5张图片

你可能感兴趣的:(MATLAB和机器人)