Matlab机器人工具箱绘制机器人SerialLink.plot函数“此类型的变量不支持使用花括号进行索引”错误尝试解决方法
模型说明
笔者使用结构体的方式保存了机器人关节角度,机器人SerialLink模型,在使用 SerialLink.plot() 函数时,出现了“此类型的变量不支持使用花括号进行索引”的错误。
Matlab部分代码
设置机器人连杆参数
% 连杆参数
L1 = Link('d',0.100,'alpha',pi/2,'offset',-pi/2);
L2 = Link('d',0.000,'alpha',pi/2,'offset',pi/2);
L3 = Link('d',0.330,'alpha',-pi/2);
L4 = Link('d',0.000,'a',0.105,'offset',-pi/2);
% 生成机器人
sup4.bot = SerialLink([L1 L2 L3 L4]);
% 基坐标系
sup4.bot.base = [0 0 1 0; 1 0 0 0.2; 0 1 0 0; 0 0 0 1];
% 机器人名
sup4.bot.name = 'BotSup4';
绘制动态机器人
view([1,1,1]);
D = 1e-5;
sup4.bot.plot(sup4.cst.cst_traj_q_cal', 'trail', 'b-', 'workspace', sup4.cst.cst_ws, 'delay',D);
其中,在上述的“绘制动态机器人”代码部分中,
变量sup4.cst.cst_traj_q_cal
保存了轨迹规划得到的关节角度值,变量sup4.cst.cst_ws
保存了机器人的工作空间配置向量。
运行上述程序,具有以下的错误:
此类型的变量不支持使用花括号进行索引。
出错 SerialLink/plot>create_robot (line 488)
h.trail = plot(0, 0, opt.trail{:});
出错 SerialLink/plot (line 252)
handle = create_robot(robot, opt);
将绘制机器人代码部分最后一行更改为如下的代码,去掉了部分的options,能够继续运行程序,但是丢失了trail等绘制效果。
sup4.bot.plot(sup4.cst.cst_traj_q_cal','workspace', sup4.cst.cst_ws);
存疑与讨论
初步考虑Matlab在函数配置option时,可能将其保存为类似于cell的格式,并使用花括号进行索引。可能由于该问题导致了上述错误。
由于笔者没有系统的学习过Matlab,暂时无法完美解决这个问题。
希望对有类似错误的同学有所帮助~ 欢迎有见解的大佬们在评论区指教ヾ(•ω•`)o